/* ==========================================================================
   MIC GLOBAL FINANCE LTD — CAREERS & TALENT PORTAL
   careers.css — additive stylesheet. Loaded ONLY on Careers pages.
   Reuses design tokens (--navy, --royal, --gold, --serif, --sans, etc.)
   defined in css/styles.css. Does not modify or override site-wide rules.
   ========================================================================== */

/* ---- Careers hero ---- */
.careers-hero{background:linear-gradient(135deg,var(--navy) 0%,#0d2a52 100%);color:#fff;padding:86px 0 70px;border-bottom:3px solid var(--gold);}
.careers-hero .eyebrow{color:#d6b85b;}
.careers-hero h1{color:#fff;font-size:48px;line-height:1.06;margin:10px 0 20px;}
.careers-hero .lead{color:#dbe3ef;font-size:18px;max-width:640px;}
.careers-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px;border-top:1px solid rgba(255,255,255,.16);padding-top:22px;max-width:520px;}
.careers-stats div{display:flex;flex-direction:column;gap:4px;}
.careers-stats strong{font-family:var(--serif);font-size:28px;color:#fff;}
.careers-stats span{font-family:var(--sans);font-size:11px;color:#aebbd0;letter-spacing:.3px;}

/* ---- Values row ---- */
.careers-values{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.careers-values div{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 16px;text-align:center;}
.careers-values div span{display:block;font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--navy);}
@media (max-width:900px){.careers-values{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.careers-values{grid-template-columns:repeat(2,1fr);}}

/* ---- Vacancy cards ---- */
.vacancy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media (max-width:820px){.vacancy-grid{grid-template-columns:1fr;}}
.vacancy-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 26px;display:flex;flex-direction:column;transition:all .22s var(--ease);}
.vacancy-card:hover{border-color:var(--gold);box-shadow:var(--shadow-card);transform:translateY(-2px);}
.vacancy-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;}
.vacancy-card h3{font-size:20px;line-height:1.2;margin:0;}
.vacancy-badge{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:5px 10px;border-radius:100px;white-space:nowrap;}
.vacancy-badge.open{background:#e8f5ec;color:#1e6b3a;}
.vacancy-badge.closing{background:#fff2dc;color:#8a5a00;}
.vacancy-badge.closed{background:#f1f2f4;color:#666;}
.vacancy-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-family:var(--sans);font-size:12.5px;color:var(--muted);margin-bottom:14px;}
.vacancy-meta span{display:inline-flex;align-items:center;gap:5px;}
.vacancy-ref{font-family:var(--sans);font-size:11px;color:var(--gold-soft);font-weight:600;letter-spacing:.5px;margin-bottom:8px;}
.vacancy-card p.vacancy-summary{font-size:14px;color:var(--body);line-height:1.6;margin-bottom:18px;flex-grow:1;}
.vacancy-card-actions{display:flex;gap:10px;flex-wrap:wrap;}
.vacancy-card-actions .btn{padding:10px 18px;font-size:13.5px;}
.vacancy-closed-note{font-family:var(--sans);font-size:12.5px;color:var(--muted);font-style:italic;}

/* ---- Vacancy detail page ---- */
.vacancy-detail-hero{background:linear-gradient(135deg,var(--navy) 0%,#0d2a52 100%);color:#fff;padding:56px 0 44px;border-bottom:3px solid var(--gold);}
.vacancy-detail-hero h1{color:#fff;font-size:36px;line-height:1.12;margin:8px 0 16px;}
.vacancy-detail-facts{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:20px;}
.vacancy-detail-facts div{display:flex;flex-direction:column;gap:3px;}
.vacancy-detail-facts .lbl{font-family:var(--sans);font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:#aebbd0;}
.vacancy-detail-facts .val{font-family:var(--sans);font-size:13.5px;color:#fff;font-weight:600;}
.vacancy-section{margin-bottom:36px;}
.vacancy-section h2{font-size:24px;margin-bottom:14px;}
.vacancy-section ul{list-style:none;padding:0;margin:0;}
.vacancy-section ul li{font-size:14.5px;color:var(--body);padding:8px 0 8px 22px;position:relative;border-bottom:1px solid var(--line-soft);line-height:1.55;}
.vacancy-section ul li:last-child{border-bottom:none;}
.vacancy-section ul li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;background:var(--gold);border-radius:2px;transform:rotate(45deg);}
.vacancy-notice{background:var(--gold-tint);border-left:3px solid var(--gold);padding:16px 20px;border-radius:0 var(--radius) var(--radius) 0;font-size:13.5px;color:var(--navy-deep);line-height:1.6;margin-bottom:30px;}
.vacancy-comp{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;font-size:14.5px;color:var(--body);line-height:1.6;}
.vacancy-apply-band{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 28px;text-align:center;margin-top:12px;}
.vacancy-apply-band h3{font-size:20px;margin-bottom:8px;}
.vacancy-apply-band p{font-size:14px;color:var(--muted);margin-bottom:18px;}
.vacancy-closed-band{background:#f1f2f4;border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;text-align:center;color:var(--muted);font-size:14px;}

/* ---- Recruitment process timeline (reuse .timeline-track pattern, 5 cols) ---- */
.careers-process{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;}
.careers-process::before{content:"";position:absolute;left:0;right:0;top:19px;height:2px;background:linear-gradient(90deg,var(--gold) 0%,var(--line) 100%);}
@media (max-width:900px){.careers-process{grid-template-columns:1fr 1fr;gap:32px 20px;}.careers-process::before{display:none;}}
@media (max-width:480px){.careers-process{grid-template-columns:1fr;}}

/* ---- Application wizard (mirrors .assessment-app layout) ---- */
.apply-hero{background:linear-gradient(135deg,var(--navy) 0%,#0d2a52 100%);color:#fff;padding:52px 0 40px;border-bottom:3px solid var(--gold);}
.apply-hero h1{color:#fff;font-size:32px;margin:8px 0 10px;}
.apply-hero p{color:#dbe3ef;font-size:15px;}
.apply-role-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:8px 16px;font-family:var(--sans);font-size:12.5px;color:#fff;margin-top:14px;}
.apply-app{padding:44px 0 80px;}
.apply-layout{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:start;}
@media (max-width:860px){.apply-layout{grid-template-columns:1fr;}}
.apply-rail{position:sticky;top:96px;display:flex;flex-direction:column;gap:0;}
@media (max-width:860px){.apply-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:8px;}}
.apply-rail-item{display:flex;align-items:center;gap:12px;padding:10px 0;font-family:var(--sans);font-size:13px;color:var(--muted);cursor:default;}
.apply-rail-item .num{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;flex-shrink:0;color:var(--muted);}
.apply-rail-item.active{color:var(--navy);font-weight:600;}
.apply-rail-item.active .num{background:var(--navy);border-color:var(--navy);color:#fff;}
.apply-rail-item.done .num{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.apply-stage{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-card);}
@media (max-width:620px){.apply-stage{padding:24px 20px;}}
.apply-progress{height:4px;background:var(--line);border-radius:2px;margin-bottom:28px;overflow:hidden;}
.apply-progress-bar{height:100%;background:var(--gold);border-radius:2px;transition:width .3s var(--ease);}
.apply-step-label{font-family:var(--sans);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin-bottom:6px;}
.apply-step-title{font-size:24px;margin-bottom:22px;}
.apply-field-group{margin-bottom:20px;}
.apply-field-group label{display:block;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px;}
.apply-field-group label .req{color:#c0392b;}
.apply-field-group input,.apply-field-group select,.apply-field-group textarea{width:100%;font-family:var(--sans);font-size:14.5px;color:var(--ink);padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:border-color .2s,box-shadow .2s;}
.apply-field-group input:focus,.apply-field-group select:focus,.apply-field-group textarea:focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 3px rgba(46,90,168,.12);}
.apply-field-group textarea{min-height:110px;resize:vertical;}
.apply-field-hint{font-size:12px;color:var(--muted);margin-top:5px;}
.apply-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:620px){.apply-row2{grid-template-columns:1fr;}}
.apply-check{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px;color:var(--body);line-height:1.55;}
.apply-check:last-child{border-bottom:none;}
.apply-check input{margin-top:3px;flex-shrink:0;}
.apply-upload{border:2px dashed var(--line);border-radius:var(--radius);padding:22px;text-align:center;background:var(--bg-soft);cursor:pointer;transition:border-color .2s,background .2s;}
.apply-upload:hover{border-color:var(--gold);background:var(--gold-tint);}
.apply-upload input[type=file]{display:none;}
.apply-upload .upload-label{font-family:var(--sans);font-size:13.5px;color:var(--navy);font-weight:600;}
.apply-upload .upload-hint{font-family:var(--sans);font-size:11.5px;color:var(--muted);margin-top:4px;}
.apply-file-chip{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:9px 14px;margin-top:10px;font-size:13px;font-family:var(--sans);color:var(--navy);}
.apply-file-chip button{background:none;border:none;color:#c0392b;cursor:pointer;font-size:12px;font-weight:600;}
.apply-nav{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);}
.apply-errbox{background:#fdecea;border:1px solid #f3c2bc;color:#a02f22;border-radius:var(--radius);padding:14px 18px;margin-bottom:22px;font-size:13.5px;}
.apply-errbox ul{margin:8px 0 0;padding-left:18px;list-style:disc;}
.apply-notice{background:var(--gold-tint);border-left:3px solid var(--gold);padding:12px 16px;font-size:12.5px;color:var(--navy-deep);border-radius:0 var(--radius) var(--radius) 0;margin-bottom:22px;}
.apply-confirmation{max-width:640px;margin:0 auto;text-align:center;padding:20px 10px;}
.apply-confirmation .seal{width:64px;height:64px;border-radius:50%;background:var(--navy);color:var(--gold-bright);font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
.apply-confirmation h2{font-size:28px;margin-bottom:14px;}
.apply-confirmation .ref{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--navy);background:var(--bg-soft);border:1px dashed var(--gold);border-radius:var(--radius);padding:14px 18px;display:inline-block;margin:14px 0;}
.apply-confirmation p{font-size:14.5px;color:var(--body);line-height:1.65;margin-bottom:10px;}
.apply-duplicate{background:#fff2dc;border:1px solid #e6c98f;color:#8a5a00;border-radius:var(--radius);padding:14px 18px;font-size:13.5px;margin-bottom:22px;}
.apply-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---- Talent network ---- */
.talent-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-card);max-width:720px;}
