/* =========================================================
   CAREERS — /{locale}/careers (pages/careers.blade.php)
   One-off adjustments on top of the shared `.ip-*` components.
   ========================================================= */

/* The fixed header would cover a section reached by an in-page link
   (the intro's buttons and every vacancy's apply link). */
#careers-openings,#careers-cv{scroll-margin-top:var(--hd-h);}

/* ---- Why join ---------------------------------------------------------------
   The auto-fit grid lands five cards 4 + 1 at common widths, a lone orphan.
   Threes (then twos) keep the rows balanced on wide screens. */
@media (min-width:1025px){
  #careers-why .ip-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:641px) and (max-width:1024px){
  #careers-why .ip-grid{grid-template-columns:repeat(2,1fr);}
}

/* ---- Openings -----------------------------------------------------------------
   One card per vacancy: title, the meta chips, the description, then the apply
   link pinned to the card's foot so a row of cards lines up. */
.careers-jobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(14px,1.6vw,22px);}
/* Same threes as the why-join cards, so both registers share one rhythm. */
@media (min-width:1025px){
  .careers-jobs{grid-template-columns:repeat(3,1fr);}
}
.careers-job{gap:14px;border-top:3px solid var(--brass);}
.careers-job__meta{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}
.careers-job__m{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;
  font-size:.86rem;line-height:1.4;color:var(--ink);background:var(--paper-sink);}
.careers-job__m::before{content:"";flex-shrink:0;width:15px;height:15px;background:var(--brass);
  -webkit-mask:var(--careers-ic) no-repeat center/contain;mask:var(--careers-ic) no-repeat center/contain;}
.careers-job__m--department{--careers-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h18v13H3zM8 7V4h8v3M3 13h18'/%3E%3C/svg%3E");}
.careers-job__m--location{--careers-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");}
.careers-job__m--experience{--careers-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");}
.careers-job .ip-card__x{flex-grow:1;}
.careers-job__apply{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:4px;
  font-size:.95rem;font-weight:600;color:var(--royal);transition:color .3s var(--ease);}
.careers-job__apply span{display:inline-block;width:18px;height:2px;background:currentColor;position:relative;transition:transform .35s var(--ease);}
.careers-job__apply span::after{content:"";position:absolute;inset-inline-end:0;top:50%;width:8px;height:8px;
  border-top:2px solid currentColor;border-inline-end:2px solid currentColor;transform:translateY(-50%) rotate(45deg);}
html[dir="rtl"] .careers-job__apply span::after{transform:translateY(-50%) rotate(-45deg);}
.careers-job__apply:hover{color:var(--cyan);}
html[dir="ltr"] .careers-job__apply:hover span{transform:translateX(4px);}
html[dir="rtl"] .careers-job__apply:hover span{transform:translateX(-4px);}

/* The openings section lands on void when the why-join cards are empty. */
.sec:is([data-ground="void"],[data-ground="graphite"]) .careers-job__m{color:var(--offwhite);background:rgba(234,241,251,.07);}
.sec:is([data-ground="void"],[data-ground="graphite"]) .careers-job__m::before{background:var(--glow);}
.sec:is([data-ground="void"],[data-ground="graphite"]) .careers-job__apply{color:var(--glow);}
.sec:is([data-ground="void"],[data-ground="graphite"]) .careers-job__apply:hover{color:var(--offwhite);}

.careers-empty{max-width:900px;}
.careers-empty .ip-actions{margin-top:16px;}

/* ---- Submit CV -----------------------------------------------------------------
   The form sits in a white panel on the paper ground (its inputs are the
   paper-sink fill); with the closing statement beside it, two columns. */
.careers-apply{max-width:980px;}
.careers-apply--aside{max-width:none;display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(20px,3vw,48px);align-items:start;}
.careers-apply__panel{padding:clamp(20px,2.6vw,38px);border-radius:16px;background:#fff;border:1px solid var(--line-paper);
  box-shadow:0 18px 40px rgba(7,18,58,.08);}
.careers-apply__panel .form{gap:14px;}
.careers-apply__panel .intro__note{margin-top:4px;font-size:.92rem;}
.careers-apply__panel .btn--full{margin-top:6px;}

@media (max-width:1024px){
  .careers-apply--aside{grid-template-columns:1fr;}
}
