/* Balaji Highway Projects — Careers portal. Scoped to .bhc so it never touches the Divi pages. */
.bhc{
  --navy:#09162a; --blue:#00254f; --ink:#1b2433; --muted:#5d6878; --line:#e2e7ee; --soft:#f6f8fb;
  --amber:#f2a900; --amber-soft:#fff6dc; --ok:#1d7a46; --bad:#c0392b; --r:10px;
  color:var(--ink); font-family:'Mulish',Helvetica,Arial,sans-serif; font-size:16px; line-height:1.6;
}
.bhc *,.bhc *::before,.bhc *::after{box-sizing:border-box}
.bhc [hidden]{display:none!important}
.bhc h2,.bhc h3,.bhc h4,.bhc legend{font-family:'Rajdhani',Helvetica,Arial,sans-serif;color:var(--navy);line-height:1.15;padding:0;margin:0}
.bhc p{padding:0;margin:0 0 1em}
.bhc a{color:var(--blue)}
.entry-content .bhc ul,.entry-content .bhc ol,.bhc ul,.bhc ol{list-style:none;margin:0;padding:0}
.bhc-wrap{width:min(1080px,100% - 40px);margin-inline:auto}
.bhc-eyebrow{font-family:'Rajdhani',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-size:15px;margin:0 0 .35em!important}
.bhc-h2{font-size:clamp(28px,3.4vw,40px);font-weight:700;margin:0 0 .45em!important}
.bhc-lead{font-size:17px;color:var(--muted);max-width:62ch}
.bhc-small{font-size:14px;color:var(--muted)}

/* breadcrumbs */
.bhc-crumbs{padding:22px 0 0;font-size:14px}
.bhc-crumbs ol{display:flex;flex-wrap:wrap;gap:6px}
.bhc-crumbs li{color:var(--muted)}
.bhc-crumbs li+li::before{content:'/';margin-right:6px;color:#b4bcc8}
.bhc-crumbs a{color:var(--muted);text-decoration:none}
.bhc-crumbs a:hover{color:var(--blue);text-decoration:underline}

/* buttons */
.bhc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:8px;border:2px solid var(--navy);
  background:var(--navy);color:#fff!important;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:17px;letter-spacing:.02em;text-decoration:none!important;
  cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s;line-height:1.1;text-align:center}
.bhc-btn:hover{background:var(--blue);border-color:var(--blue)}
.bhc-btn:active{transform:translateY(1px)}
.bhc-btn:focus-visible,.bhc a:focus-visible,.bhc input:focus-visible,.bhc select:focus-visible,.bhc textarea:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.bhc-btn--line{background:#fff;color:var(--navy)!important}
.bhc-btn--line:hover{background:var(--soft);color:var(--navy)!important;border-color:var(--navy)}
.bhc-btn--ghost{background:transparent;border-color:rgba(255,255,255,.55)}
.bhc-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.bhc-btn--lg{min-height:52px;font-size:19px;padding:12px 28px}
.bhc-btn--block{display:flex;width:100%}
.bhc-btn.is-disabled,.bhc-btn:disabled{background:#c9d0da;border-color:#c9d0da;color:#fff!important;cursor:not-allowed}

/* ---------- listing intro ---------- */
.bhc-intro{padding-bottom:48px}
.bhc-intro-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start;margin-top:28px}
.bhc-steps{counter-reset:s;display:grid;gap:14px;margin-top:22px!important}
.bhc-steps li{counter-increment:s;display:grid;grid-template-columns:40px 1fr;column-gap:14px;align-items:start}
.bhc-steps li::before{content:counter(s);grid-row:span 2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--amber-soft);color:var(--navy);font-family:'Rajdhani',sans-serif;font-weight:700;font-size:20px}
.bhc-steps strong{font-family:'Rajdhani',sans-serif;font-size:19px;color:var(--navy);line-height:1.2;padding-top:2px}
.bhc-steps span{color:var(--muted);font-size:15px}
.bhc-stats{background:var(--navy);color:#fff;border-radius:14px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;position:relative;overflow:hidden}
.bhc-stats::after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--amber) 0 34px,transparent 34px 56px)}
.bhc-stat b{display:block;font-family:'Rajdhani',sans-serif;font-size:46px;line-height:1;font-weight:700}
.bhc-stat span{font-size:14px;opacity:.8}
.bhc-stat:first-child{grid-column:1/-1}
.bhc-stat:first-child b{font-size:64px;color:var(--amber)}
.bhc-stats-cta{grid-column:1/-1;margin-bottom:6px}

/* ---------- filter ---------- */
.bhc-band{background:var(--soft);padding:44px 0 64px;border-top:1px solid var(--line)}
.bhc-filter{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:14px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 6px 22px rgba(9,22,42,.06)}
.bhc-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.bhc-field label{font-size:13.5px;font-weight:700;color:var(--navy);line-height:1.3}
.bhc-field label small{font-weight:400;color:var(--muted)}
.bhc input[type=text],.bhc input[type=search],.bhc input[type=email],.bhc input[type=tel],.bhc input[type=date],.bhc select,.bhc textarea{
  width:100%;min-height:46px;padding:10px 12px;border:1.5px solid #cfd6e0;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.35;
  appearance:none;-webkit-appearance:none;transition:border-color .15s,box-shadow .15s}
.bhc select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2309162a' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.bhc input:focus,.bhc select:focus,.bhc textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,37,79,.12);outline:none}
.bhc textarea{min-height:0;resize:vertical}
.bhc-filter-actions{display:flex;align-items:center;gap:14px;min-height:46px}
.bhc-reset{font-size:14px;font-weight:700;color:var(--muted)!important}
.bhc-js .bhc-js-hide{display:none}
.bhc-count{margin:18px 0 0!important;font-size:14px;color:var(--muted);min-height:1em}

/* ---------- department blocks ---------- */
.bhc-dept{margin-top:40px}
.bhc-dept-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 16px;padding-bottom:14px;border-bottom:2px solid var(--navy);margin-bottom:16px}
.bhc-dept-head h3{font-size:27px;font-weight:700}
.bhc-dept-sub{font-weight:500;color:var(--muted);font-size:.7em}
.bhc-dept-head p{grid-column:1;margin:0!important;color:var(--muted);font-size:15px}
.bhc-pill{grid-column:2;grid-row:1/span 2;align-self:center;background:var(--navy);color:#fff;border-radius:99px;padding:6px 14px;font-weight:700;font-size:14px;white-space:nowrap}
.bhc-jobs{display:grid;gap:12px}
.bhc-job{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:var(--r);padding:20px 22px;transition:box-shadow .2s,transform .2s}
.bhc-job:hover{box-shadow:0 10px 26px rgba(9,22,42,.09)}
.bhc-job.is-closed{border-left-color:#c9d0da;opacity:.75}
.bhc-job h4{font-size:22px;font-weight:700;margin-bottom:6px!important}
.bhc-job h4 a{color:var(--navy);text-decoration:none}
.bhc-job h4 a:hover{color:var(--blue);text-decoration:underline}
.bhc-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--muted);margin-bottom:8px!important}
.bhc-meta li{display:inline-flex;align-items:center;gap:6px}
.bhc-meta--lg{font-size:15.5px;gap:8px 22px}
.bhc-job-q{font-size:14.5px;margin:0 0 2px!important;color:#3b4554}
.bhc-job-q strong{color:var(--navy)}
.bhc-job-side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.bhc-vac{background:var(--amber-soft);color:var(--navy);border-radius:8px;padding:6px 12px;font-size:14px;font-weight:700;white-space:nowrap}
.bhc-vac b{font-family:'Rajdhani',sans-serif;font-size:20px}
.bhc-job-btns{display:flex;gap:10px}
.bhc-job-btns .bhc-btn{min-height:42px;padding:8px 16px;font-size:16px}
.bhc-empty{background:#fff;border:1px dashed #b9c2cf;border-radius:12px;padding:36px;text-align:center;margin-top:30px}
.bhc-empty h3{font-size:24px;margin-bottom:8px!important}
.bhc-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:44px 0 64px}
.bhc-cta h3{font-size:28px;margin-bottom:4px!important}
.bhc-cta p{margin:0!important;color:var(--muted)}

/* icons (inline SVG masks, inherit colour) */
.bhc-ic{width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;opacity:.75}
.bhc-ic--pin{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E")}
.bhc-ic--bag{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6a2 2 0 0 1 2 2v2h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h3V5a2 2 0 0 1 2-2zm0 4h6V5H9v2z'/%3E%3C/svg%3E")}
.bhc-ic--cal{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V2zm12 8H5v10h14V10z'/%3E%3C/svg%3E")}
.bhc-ic--users{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm8 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM1 20c0-3.3 3.6-6 8-6s8 2.7 8 6v1H1v-1zm17 1v-1c0-1.6-.6-3-1.7-4.2 3.5.3 6.7 2 6.7 4.2v1h-5z'/%3E%3C/svg%3E")}
.bhc-ic--dept{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21V7l9-4 9 4v14h-7v-6h-4v6H3z'/%3E%3C/svg%3E")}

/* ---------- job detail ---------- */
.bhc-jobpage{padding-bottom:70px}
.bhc-jobhead{padding:26px 0 26px;border-bottom:1px solid var(--line)}
.bhc-jobgrid{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start;margin-top:34px}
.bhc-jobbody h3{font-size:25px;font-weight:700;margin:30px 0 12px!important}
.bhc-jobbody h3:first-child{margin-top:0!important}
.bhc-list li{position:relative;padding:0 0 8px 28px}
.bhc-list li::before{content:'';position:absolute;left:4px;top:.55em;width:10px;height:10px;border-radius:2px;background:var(--amber);transform:rotate(45deg)}
.bhc-tags{display:flex;flex-wrap:wrap;gap:8px}
.bhc-tags li{background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-size:14.5px;font-weight:600;color:var(--navy)}
.bhc-qe{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:0}
.bhc-qe dt,.bhc-qe dd{padding:12px 16px;margin:0;border-top:1px solid var(--line)}
.bhc-qe dt:first-of-type,.bhc-qe dt:first-of-type+dd{border-top:0}
.bhc-qe dt{background:var(--soft);font-weight:700;color:var(--navy);font-size:15px}
.bhc-howto{margin-top:34px;padding:22px 24px;background:var(--amber-soft);border-radius:var(--r)}
.bhc-howto h3{margin-top:0!important}
.bhc-howto p{margin:0!important}
.bhc-summary{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);border-radius:var(--r);padding:24px;box-shadow:0 10px 30px rgba(9,22,42,.07)}
.bhc-summary h3{font-size:23px;margin-bottom:12px!important}
.bhc-summary dl{margin:0 0 20px;font-size:14.5px}
.bhc-summary dt{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-top:12px}
.bhc-summary dd{margin:2px 0 0;color:var(--ink);font-weight:600}
.bhc-share{display:block;text-align:center;margin-top:14px;font-size:14px;font-weight:700;color:#128c4a!important}
.bhc-alert{background:#fdecea;color:#8a2016;border:1px solid #f5c6c0;border-radius:8px;padding:12px 16px;margin-top:16px!important}
.bhc-alert--big{margin:40px 0 70px;padding:30px}
.bhc-related{margin-top:56px}
.bhc-related h3{font-size:25px;margin-bottom:14px!important}
.bhc-related ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.bhc-related a{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;background:#fff;height:100%}
.bhc-related a:hover{border-color:var(--navy)}
.bhc-related span{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:19px;color:var(--navy)}
.bhc-related small{color:var(--muted);font-size:13.5px}
.bhc-back{margin-top:30px!important;font-weight:700}
.bhc-stickybar{display:none}

/* ---------- apply form ---------- */
.bhc-applypage{padding-bottom:70px}
.bhc-applyhead{padding:26px 0 8px}
.bhc-formwrap{max-width:860px}
.bhc-form fieldset{border:1px solid var(--line);border-radius:12px;padding:24px 24px 26px;margin:22px 0 0;background:#fff;min-width:0}
.bhc-form legend{font-size:23px;font-weight:700;padding:0 10px;margin-left:-10px;display:flex;align-items:center;gap:10px}
.bhc-form legend span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:16px}
.bhc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:6px}
.bhc-col-2{grid-column:1/-1}
.bhc-req{color:var(--bad);font-weight:700}
.bhc-hint{font-size:13px;color:var(--muted);margin:0!important}
.bhc-file input[type=file]{width:100%;padding:16px 14px;border:2px dashed #b9c2cf;border-radius:10px;background:var(--soft);font-size:15px;cursor:pointer;color:var(--muted)}
.bhc-file input[type=file]:hover{border-color:var(--navy)}
.bhc-file input[type=file]::file-selector-button{margin-right:12px;border:0;border-radius:6px;background:var(--navy);color:#fff;padding:8px 14px;font:700 15px 'Rajdhani',sans-serif;cursor:pointer}
.bhc-filelist{display:flex;flex-wrap:wrap;gap:6px}
.bhc-chip{background:#e8f4ec;color:var(--ok);border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600;word-break:break-all}
.bhc-chip.is-bad{background:#fdecea;color:var(--bad)}
.bhc-check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;margin:4px 0 16px;font-size:15px;cursor:pointer;line-height:1.5}
.bhc-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy)}
.bhc-captcha{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:6px;padding:14px 16px;background:var(--soft);border-radius:8px}
.bhc-captcha label{font-weight:700;color:var(--navy);font-size:15px}
.bhc-captcha b{font-size:18px;font-family:'Rajdhani',sans-serif}
.bhc .bhc-captcha input{width:90px;min-height:42px;text-align:center;font-weight:700}
.bhc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.bhc .has-error input,.bhc .has-error select,.bhc .has-error textarea,.bhc-file.has-error input[type=file]{border-color:var(--bad)!important;background-color:#fff8f7}
.bhc-check.has-error span{color:var(--bad)}
.bhc-errors{background:#fdecea;border:1px solid #f5c6c0;color:#8a2016;border-radius:10px;padding:16px 20px;margin-top:22px;font-size:15px}
.bhc-errors ul{margin-top:6px!important}
.bhc-errors li{list-style:disc!important;margin-left:20px}
.bhc-submit{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:26px}
.bhc-progress{flex:1;min-width:220px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.bhc-progress-bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden}
.bhc-progress-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--navy),var(--blue));transition:width .2s}
.bhc-success{max-width:720px;margin:36px auto 0;text-align:center;background:#fff;border:1px solid var(--line);border-top:6px solid var(--ok);border-radius:14px;padding:40px 30px;box-shadow:0 14px 40px rgba(9,22,42,.08)}
.bhc-success:focus{outline:none}
.bhc-success-ic{width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:#e8f4ec;position:relative}
.bhc-success-ic::after{content:'';position:absolute;left:24px;top:15px;width:16px;height:30px;border:solid var(--ok);border-width:0 5px 5px 0;transform:rotate(45deg)}
.bhc-ref{display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin:10px 0 18px;padding:16px 26px;border:2px dashed var(--navy);border-radius:12px;background:var(--soft)}
.bhc-ref span{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.bhc-ref b{font-family:'Rajdhani',sans-serif;font-size:32px;letter-spacing:.06em;color:var(--navy);line-height:1.1}
.bhc-copy{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer;font-size:14px;text-decoration:underline}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .bhc-intro-grid{grid-template-columns:1fr;gap:30px}
  .bhc-filter{grid-template-columns:1fr 1fr;position:static}
  .bhc-field--search{grid-column:1/-1}
  .bhc-jobgrid{grid-template-columns:1fr;gap:30px}
  .bhc-summary{position:static}
}
@media (max-width:640px){
  .bhc{font-size:15.5px}
  .bhc-wrap{width:calc(100% - 32px)}
  .bhc-filter{grid-template-columns:1fr;padding:14px}
  .bhc-filter-actions{min-height:0}
  .bhc-job{grid-template-columns:1fr;padding:18px 16px}
  .bhc-job-side{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .bhc-job-btns{width:100%}
  .bhc-job-btns .bhc-btn{flex:1}
  .bhc-dept-head h3{font-size:23px}
  .bhc-stats{padding:22px}
  .bhc-stat:first-child b{font-size:54px}
  .bhc-cta{flex-direction:column;align-items:stretch;text-align:center}
  .bhc-qe{grid-template-columns:1fr}
  .bhc-qe dd{border-top:0;padding-top:0}
  .bhc-grid{grid-template-columns:1fr}
  .bhc-form fieldset{padding:18px 14px 20px}
  .bhc-submit .bhc-btn{width:100%}
  .bhc-ref b{font-size:26px}
  .bhc-success{padding:30px 18px}
  .bhc-stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9999;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(9,22,42,.12);transform:translateY(110%);transition:transform .25s}
  .bhc-stickybar.is-on{transform:none}
  .bhc-stickybar div{display:flex;flex-direction:column;min-width:0}
  .bhc-stickybar strong{font-family:'Rajdhani',sans-serif;font-size:17px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bhc-stickybar small{font-size:12.5px;color:var(--muted)}
}
@media (prefers-reduced-motion:reduce){.bhc *{transition:none!important}}
