/* ══════════════════════════════════════════════════════════════
   HIRE.CSS — Employer "Post a Job" flow
   Extends style.css design tokens (--primary, --ink, --muted, etc.)
   ══════════════════════════════════════════════════════════════ */

.hire-wrap{background:var(--page-tint);min-height:100vh;padding:96px 20px 80px}

/* ─── STEPPER ────────────────────────────────────────────────── */
.stepper{max-width:920px;margin:0 auto 34px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;padding:0 10px}
.stepper::before{content:'';position:absolute;top:12px;left:40px;right:40px;height:2px;background:var(--border);z-index:0}
.step-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}
.step-dot{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--muted-2);transition:all .25s}
.step-item.active .step-dot{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 0 0 5px var(--primary-light)}
.step-item.done .step-dot{border-color:var(--success);background:var(--success);color:#fff}
.step-item.done .step-dot::before{content:'✓'}
.step-item.done .step-dot span{display:none}
.step-label{font-size:12.5px;font-weight:600;color:var(--muted-2);text-align:center;max-width:120px}
.step-item.active .step-label{color:var(--primary);font-weight:700}
.step-item.done .step-label{color:var(--success)}

/* ─── SHARED PANEL SHELL ─────────────────────────────────────── */
.hire-panel{max-width:920px;margin:0 auto;animation:fadeUp .4s ease both}
.hire-panel[hidden]{display:none}
.hire-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:34px}
.hire-card-head{margin-bottom:22px}
.hire-card-head h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:24px;letter-spacing:-.5px;color:var(--ink);margin-bottom:6px}
.hire-card-head p{font-size:13.5px;color:var(--muted)}

/* ─── CHOOSER SCREEN ─────────────────────────────────────────── */
.chooser-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:640px;margin:0 auto}
.chooser-card{position:relative;border-radius:16px;overflow:hidden;height:220px;cursor:pointer;border:none;padding:0;text-align:left;background:var(--primary);box-shadow:var(--shadow-md);transition:transform .25s,box-shadow .25s}
.chooser-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.chooser-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;mix-blend-mode:luminosity}
.chooser-card .cc-overlay{position:absolute;inset:0;background:linear-gradient(115deg,rgba(75,60,250,.92) 30%,rgba(139,92,246,.35) 100%)}
.chooser-card .cc-text{position:absolute;left:22px;bottom:22px;color:#fff;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:19px;line-height:1.3;z-index:2}
.chooser-hint{text-align:center;margin-top:36px}
.hire-title-wrap{text-align:center;margin-bottom:36px}
.hire-title-wrap h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:30px;letter-spacing:-.8px;color:var(--ink)}

/* ─── JOB FORM GATE (blurred/inert until registration completes) ─── */
.job-gate-wrap{position:relative}
.job-gate-wrap.gated .hire-card{filter:blur(6px);pointer-events:none;user-select:none;transition:filter .3s}
.gate-catcher{position:absolute;inset:0;z-index:5;cursor:pointer;display:none;align-items:center;justify-content:center}
.job-gate-wrap.gated .gate-catcher{display:flex}
.gate-cta{display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px 30px;box-shadow:var(--shadow-lg);text-align:center;max-width:300px}
.gate-cta-icon{font-size:26px}
.gate-cta-text{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:15px;color:var(--ink);line-height:1.4}
.gate-cta-btn{background:var(--primary);color:#fff;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:13.5px;padding:10px 22px;border-radius:100px;margin-top:2px}

/* ─── FORM (reuses .form-field/.form-grid from style.css) ──── */
.hire-consent{background:var(--page-tint);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;font-size:12.5px;color:var(--muted);line-height:1.6;margin:24px 0}
.hire-consent label{display:flex;align-items:flex-start;gap:10px;margin-top:12px;font-size:13px;color:var(--ink);cursor:pointer}
.hire-consent a{color:var(--primary);font-weight:600;text-decoration:none}
.hire-warn{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--warn);margin-bottom:20px}
.hire-help{text-align:right;font-size:12.5px;color:var(--muted);margin-bottom:18px}
.hire-help a{color:var(--primary);font-weight:700;text-decoration:none}
.city-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ─── PLAN TOGGLE ────────────────────────────────────────────── */
.plan-toggle{display:inline-flex;background:#fff;border:1px solid var(--border);border-radius:100px;padding:4px;margin:0 auto 30px;box-shadow:var(--shadow-sm)}
.plan-toggle-wrap{text-align:center}
.plan-toggle button{border:none;background:transparent;padding:10px 22px;border-radius:100px;font-family:'Bricolage Grotesque',sans-serif;font-size:13.5px;font-weight:700;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}
.plan-toggle button.active{background:var(--primary);color:#fff}
.save-chip{background:var(--amber);color:#fff;font-size:10px;padding:2px 8px;border-radius:100px;font-weight:800}
.plan-toggle button:not(.active) .save-chip{background:var(--warn-bg);color:var(--warn)}

/* ─── PRICING CARDS ──────────────────────────────────────────── */
.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
#plans-resume{grid-template-columns:repeat(2,minmax(0,340px));justify-content:center}
.plan-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px 22px;transition:transform .2s,box-shadow .2s,border-color .2s}
.plan-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.plan-card.popular{border-color:var(--primary);box-shadow:var(--shadow-lg)}
.plan-badge{position:absolute;top:-1px;right:14px;background:var(--success-bg);color:var(--success);font-size:10.5px;font-weight:800;padding:5px 12px;border-radius:0 0 8px 8px;display:flex;align-items:center;gap:4px}
.plan-badge.limited{background:var(--warn-bg);color:var(--warn)}
.plan-icon{width:42px;height:42px;border-radius:11px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:14px}
.plan-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:16px;color:var(--ink);margin-bottom:8px}
.plan-price{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:26px;color:var(--ink);margin-bottom:2px}
.plan-price span{font-size:13px;font-weight:600;color:var(--muted)}
.plan-note{font-size:12px;color:var(--muted);margin-bottom:18px;min-height:32px;line-height:1.5}
.plan-buy{width:100%;padding:11px;border:none;border-radius:100px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:13.5px;cursor:pointer;transition:all .2s;background:var(--primary);color:#fff;margin-bottom:18px}
.plan-buy:hover{background:var(--primary-dark);transform:translateY(-1px)}
.plan-buy.outline{background:#fff;border:1.5px solid var(--primary);color:var(--primary)}
.plan-features{list-style:none;display:flex;flex-direction:column;gap:10px}
.plan-features li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--muted);line-height:1.5}
.plan-features li::before{content:'✓';color:var(--success);font-weight:800;flex-shrink:0}
.plan-features li b{color:var(--ink)}

/* ─── CHECKOUT ───────────────────────────────────────────────── */
.checkout-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.checkout-q{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.4px;color:var(--ink);margin-bottom:18px}
.radio-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}
.radio-card{border:1px solid var(--border);border-radius:14px;padding:18px;cursor:pointer;transition:all .2s;position:relative}
.radio-card.selected{border-color:var(--primary);background:var(--primary-light)}
.radio-card .rc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}
.radio-card .rc-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:14.5px;color:var(--ink)}
.radio-card .rc-title.accent{color:var(--primary)}
.radio-card .rc-sub{font-size:12px;color:var(--muted);line-height:1.5}
.rc-dot{width:18px;height:18px;border-radius:50%;border:1px solid var(--border);flex-shrink:0}
.radio-card.selected .rc-dot{border-color:var(--primary);background:radial-gradient(var(--primary) 0 40%,#fff 44%)}
.suggested-plan-box{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.sp-label{font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px}
.sp-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:17px;color:var(--primary);margin-bottom:4px}
.sp-desc{font-size:12.5px;color:var(--ink)}
.sp-desc b{color:var(--amber)}
.sp-price{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:20px;text-align:right;color:var(--ink)}
.sp-price small{display:block;font-size:11px;font-weight:600;color:var(--muted);text-align:right}
.gst-row{display:flex;justify-content:space-between;align-items:center;margin-top:22px}
.gst-row div span{display:block;font-size:12px;color:var(--muted)}
.gst-btn{background:#fff;border:1.5px solid var(--primary);color:var(--primary);font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:12.5px;padding:9px 16px;border-radius:100px;cursor:pointer}

/* summary sidebar */
.summary-box{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow-sm);position:sticky;top:96px}
.summary-box h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:16px;color:var(--ink);margin-bottom:16px}
.summary-line{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:10px}
.summary-line b{color:var(--ink);font-weight:600}
.timeline{border-left:2px dashed var(--border);margin:18px 0 18px 5px;padding-left:18px;display:flex;flex-direction:column;gap:18px;position:relative}
.timeline-dot{position:absolute;left:-24px;width:10px;height:10px;border-radius:50%;background:var(--border)}
.tl-item.due .timeline-dot{background:var(--success)}
.tl-box{border-radius:10px;padding:12px 14px}
.tl-item.due .tl-box{background:var(--success-bg)}
.tl-row{display:flex;justify-content:space-between;align-items:center}
.tl-title{font-size:13px;font-weight:700;color:var(--ink)}
.tl-amt{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:14px;color:var(--ink)}
.tl-next-link{font-size:11.5px;color:var(--primary);font-weight:700;text-decoration:none}
.summary-note{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted);margin-bottom:10px;line-height:1.5}
.summary-note .ico{width:26px;height:26px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.summary-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);margin-top:18px;padding-top:16px;margin-bottom:16px}
.summary-total b{font-family:'Bricolage Grotesque',sans-serif;font-size:20px;color:var(--ink)}
.summary-fine{font-size:11px;color:var(--muted-2);line-height:1.5;margin-top:14px}

/* ─── CANDIDATE REQUIREMENTS (step 4) ───────────────────────── */
.chip-group{display:flex;flex-wrap:wrap;gap:10px}
.chip-opt{border:1px solid var(--border);background:#fff;padding:9px 16px;border-radius:100px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .2s}
.chip-opt.selected{border-color:var(--primary);background:var(--primary);color:#fff}

/* ─── SUCCESS SCREEN ─────────────────────────────────────────── */
.hire-success{text-align:center;padding:20px 10px}
.hire-success .success-icon{width:76px;height:76px;font-size:34px;margin-bottom:22px}
.hire-success h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:28px;letter-spacing:-.6px;color:var(--ink);margin-bottom:10px}
.hire-success p{font-size:14.5px;color:var(--muted);max-width:440px;margin:0 auto 28px;line-height:1.65}
.hire-success .btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.job-summary-chip{display:inline-flex;gap:18px;background:var(--page-tint);border:1px solid var(--border);border-radius:12px;padding:14px 22px;margin-bottom:28px;font-size:13px;color:var(--ink);flex-wrap:wrap;justify-content:center}
.job-summary-chip b{color:var(--primary)}

/* ─── OTP MODAL (extends .modal-overlay/.modal-box from style.css) ─── */
.otp-box{max-width:400px}
.otp-inputs{display:flex;gap:12px;justify-content:center;margin:22px 0}
.otp-inputs input{width:52px;height:58px;text-align:center;font-size:22px;font-weight:700;font-family:'Bricolage Grotesque',sans-serif;border:1px solid var(--border);border-radius:10px;background:var(--page-tint);color:var(--ink);outline:none;transition:border-color .2s}
.otp-inputs input:focus{border-color:var(--primary);background:#fff}
.otp-phone{text-align:center;font-size:13.5px;color:var(--muted);margin-bottom:4px}
.otp-phone b{color:var(--ink)}
.otp-resend{text-align:center;font-size:12.5px;color:var(--muted);margin-top:14px}
.otp-resend a{color:var(--primary);font-weight:700;text-decoration:none;cursor:pointer}
.reg-modal-side{padding:36px}
.reg-modal-side .form-field{margin-bottom:16px}

/* ─── GST STATE AUTOFILL HINT ────────────────────────────────── */
.gst-state-hint{font-size:12px;font-weight:600;margin-top:6px;padding:6px 10px;border-radius:6px;display:flex;align-items:center;gap:6px}
.gst-state-hint.gst-ok{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}
.gst-state-hint.gst-bad{background:var(--rose-bg);color:var(--rose);border:1.5px solid var(--rose)}

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:900px){
  .plans-grid{grid-template-columns:1fr 1fr}
  .checkout-grid{grid-template-columns:1fr}
  .chooser-grid{grid-template-columns:1fr}
  .summary-box{position:static}
}
@media(max-width:600px){
  .plans-grid{grid-template-columns:1fr}
  .stepper{padding:0}
  .step-label{font-size:10.5px;max-width:70px}
  .hire-card{padding:22px}
  .city-row,.radio-card-grid{grid-template-columns:1fr}
  .otp-inputs input{width:44px;height:50px;font-size:18px}
}

