/* ================================================================
   Job Board - jobs.css  v2
   ================================================================ */

/* function color palette */
:root {
  /* Function palette — see tokens.css for canonical definitions */
  --fn-fpa:          var(--brand);
  --fn-tax:          #d97706;
  --fn-risk:         #dc2626;
  --fn-controller:   #7c3aed;
  --fn-audit:        #059669;
  --fn-treasury:     #0891b2;
  --fn-cfo:          #111;
}

/* Badge system */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;white-space:nowrap}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.8}
.badge [data-lucide]{display:none}
.badge-brand{background:var(--brand-pale);color:var(--brand);border:1px solid var(--brand-mid)}
.badge-success{background:var(--success-pale);color:var(--success);border:1px solid var(--success-border)}
.badge-warning{background:var(--warning-pale);color:var(--warning);border:1px solid var(--warning-border)}
.badge-warning::before{display:none}
.badge-danger{background:var(--danger-pale);color:var(--danger);border:1px solid var(--danger-border)}
.badge-ink{background:var(--cream);color:var(--ink-soft);border:1px solid var(--border)}

/* Hero - dark */
.jb-hero{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.06);padding:40px 28px 36px;text-align:center;position:relative;overflow:hidden}


.jb-hero-inner{max-width:600px;margin:0 auto;position:relative;z-index:1}
.jb-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:100px;padding:4px 14px;font-size:11px;color:rgba(255,255,255,.45);margin-bottom:16px;letter-spacing:.02em}
.jb-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--brand);flex-shrink:0;display:inline-block}
.jb-eyebrow [data-lucide]{display:none}
.jb-title{font-size:clamp(24px,4vw,36px);font-weight:600;color:#fff;letter-spacing:-0.04em;line-height:1.15;margin-bottom:8px}
.jb-title em{font-style:italic;color:var(--brand);font-weight:300}
.jb-sub{font-size:13px;color:rgba(255,255,255,.35);margin-bottom:22px}

/* Hero search bar */
.jb-hero-search{display:flex;max-width:560px;margin:0 auto 22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;overflow:hidden;transition:border-color .15s}
.jb-hero-search:focus-within{border-color:var(--brand);background:rgba(255,255,255,.09)}
.jb-hero-search input{flex:1;padding:11px 16px;border:none;outline:none;font-family:inherit;font-size:13px;color:#fff;background:transparent}
.jb-hero-search input::placeholder{color:rgba(255,255,255,.3)}
.jb-hero-search-btn{padding:11px 20px;background:var(--brand);color:#fff;font-family:inherit;font-size:13px;font-weight:500;flex-shrink:0;cursor:pointer;border:none;transition:background .12s}
.jb-hero-search-btn:hover{background:var(--brand-hover)}

/* Hero stats row */
.jb-hero-stats{display:flex;align-items:center;justify-content:center;max-width:440px;margin:0 auto}
.jb-hero-stat{flex:1;text-align:center;padding:0 14px;border-right:1px solid rgba(255,255,255,.08)}
.jb-hero-stat:last-child{border-right:none}
.jb-hs-num{font-family:'Roboto Mono',monospace;font-size:17px;font-weight:500;color:#fff;letter-spacing:-0.02em;line-height:1;margin-bottom:3px}
.jb-hs-num span{color:var(--brand)}
.jb-hs-label{font-size:10px;color:rgba(255,255,255,.3);letter-spacing:.04em;text-transform:uppercase}

/* Layout */
.jb-layout{max-width:1280px;margin:0 auto;padding:20px 48px 80px;display:block}
.jb-filters{display:none}
.jb-main{min-width:0}

/* Results header */
.jb-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.jb-view-toggle{display:none}
.jb-results-count{font-size:13px;color:var(--ink-soft)}
.jb-results-count strong{color:var(--ink);font-weight:700}
.view-btn{display:none}
.jb-results-header .dropdown-toggle{font-size:12px;padding:5px 10px;border:1px solid #e4e4e4!important;border-radius:4px!important;background:#fff!important;color:#555!important;box-shadow:none!important;display:flex;align-items:center;gap:5px;transition:border-color .12s}
.jb-results-header .dropdown-toggle:hover,.jb-results-header .show>.dropdown-toggle{border-color:#999!important;color:#111!important}
.jb-results-header .dropdown-menu{min-width:130px;padding:4px;border:1px solid #e4e4e4;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.1);background:#fff;margin-top:4px!important}
.jb-results-header .dropdown-item{font-size:12px;color:#444;padding:6px 8px;border-radius:4px;transition:background .1s}
.jb-results-header .dropdown-item:hover{background:#f5f5f5;color:#111}
.jb-results-header .dropdown-item.active,.jb-results-header .dropdown-item:active{background:var(--brand);color:#fff}
ul.dropdown-menu{list-style:none;margin:0;padding:4px}
ul.dropdown-menu>li{list-style:none;padding:0}

/* Section label */
.jb-section-label{font-size:10px;font-weight:600;color:#bbb;text-transform:uppercase;letter-spacing:.1em;padding:0;margin-top:20px;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.jb-section-label:first-child{margin-top:0}
.jb-section-label::after{content:'';flex:1;height:1px;background:#e8e8e8}

/* Job list wrapper */
.jb-job-list{display:flex;flex-direction:column;gap:0}
.jb-jobs-block{background:transparent;border-radius:5;overflow:hidden;margin-bottom:24px}

/* Job row */
.jb-job-card{display:grid;grid-template-columns:3px 44px 1fr auto;gap:0 14px;align-items:center;padding:13px 16px 13px 0;cursor:pointer;transition:background .1s;border-bottom:1px solid #f3f3f3;text-decoration:none;color:inherit;position:relative;background:#fff; border-radius: 10px;}
.jb-job-card:last-child{border-bottom:none}
.jb-job-card:hover{background:#fafafa;text-decoration:none;color:inherit}
.jb-job-card:hover .jbc-title{color:var(--brand)}
.featured-card{background:#fff}

/* Stripe (3px left color bar) */
.jbc-stripe{align-self:stretch;flex-shrink:0;border-radius:0}

/* Avatar */
.jbc-left{flex-shrink:0;margin-left:14px}
.jbc-logo{width:36px;height:36px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;overflow:hidden;flex-shrink:0}
.jbc-logo img{width:100%;height:100%;object-fit:contain;border-radius:6px}

/* Body */
.jbc-body{min-width:0}
.jbc-title-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.jbc-title{font-size:14px;font-weight:500;color:#111;letter-spacing:-0.01em;transition:color .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Inline status badges */
.jb-badge-new{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;flex-shrink:0;letter-spacing:.02em;background:#eff6ff;color:var(--brand)}
.jb-badge-urgent{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;flex-shrink:0;letter-spacing:.02em;background:#fff7ed;color:#c2410c}
.jb-badge-gcc{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;flex-shrink:0;letter-spacing:.02em;background:#f0fdf4;color:#15803d}

/* Meta row */
.jbc-meta{font-size:12px;color:#999;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.jbc-company{font-weight:600;color:#222}
.jbc-sep{color:#e0e0e0}

/* Function pill */
.fn-pill{font-size:10px;font-weight:600;padding:1px 7px;border-radius:3px;letter-spacing:.02em;flex-shrink:0}
.fn-fpa{background:#eff6ff;color:var(--brand)}
.fn-tax{background:#fffbeb;color:#b45309}
.fn-risk{background:#fef2f2;color:#b91c1c}
.fn-controller{background:#f5f3ff;color:#6d28d9}
.fn-audit{background:#f0fdf4;color:#15803d}
.fn-treasury{background:#ecfeff;color:#0e7490}
.fn-cfo{background:#f8f8f8;color:#374151}
.fn-default{background:#f4f4f2;color:#555}

/* Right column */
.jbc-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;padding-right:4px}
.jbc-right-top{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.jb-apply-btn{font-size:11px;font-weight:600;color:var(--brand);background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:4px 12px;cursor:pointer;white-space:nowrap;transition:all .12s;letter-spacing:.01em}
.jb-apply-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.jb-apply-btn{font-size:11px;font-weight:600;color:var(--brand);background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:4px 12px;cursor:pointer;white-space:nowrap;transition:all .12s;letter-spacing:.01em}
.jb-apply-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.jbc-salary{font-family:'Roboto Mono',monospace;font-size:13px;font-weight:500;color:var(--brand);white-space:nowrap}
.jbc-salary--attractive{font-family:inherit;font-weight:400;color:#bbb;font-size:12px}
.jbc-posted{font-size:11px;color:#ccc}

/* Pagination */
.jb-botble-pagination{margin-top:20px}
.jb-botble-pagination .pager{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.jb-botble-pagination .pager li{list-style:none}
.jb-botble-pagination .pager-number,.jb-botble-pagination .pager-prev,.jb-botble-pagination .pager-next{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border-radius:4px;font-size:12px;font-weight:500;color:#666;border:1px solid #e4e4e4;background:#fff;transition:all .12s;text-decoration:none;cursor:pointer}
.jb-botble-pagination .pager-number.active{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600}
.jb-botble-pagination .pager-number:hover:not(.active):not(.disabled),.jb-botble-pagination .pager-prev:hover:not(.disabled),.jb-botble-pagination .pager-next:hover:not(.disabled){border-color:var(--brand);color:var(--brand);text-decoration:none}
.jb-botble-pagination .disabled{opacity:.4;cursor:default;pointer-events:none}
.jb-botble-pagination .paginations{display:flex;align-items:center;justify-content:center;gap:12px}
.jb-botble-pagination .paginations ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.jb-botble-pagination .paginations li a,.jb-botble-pagination .paginations li span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:4px;font-size:12px;font-weight:500;color:#666;border:1px solid #e4e4e4;background:#fff;transition:all .12s;text-decoration:none}
.jb-botble-pagination .paginations li a:hover{border-color:#111;color:#111}
.jb-botble-pagination .paginations li.active a,.jb-botble-pagination .paginations li.active span{background:#111;color:#fff;border-color:#111}

/* Empty state */
.jb-empty{text-align:center;padding:64px 24px;background:#fff;border:1px solid #e8e8e8;border-radius:8px}
.jb-empty h3{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:8px}
.jb-empty p{font-size:14px;color:var(--ink-muted);margin-bottom:20px}

/* Filter panel (hidden) */
.filter-panel{display:none}
.jb-mobile-filter-btn{display:none}

/* Skeleton loader */
@keyframes jb-shimmer{0%{background-position:-600px 0}100%{background-position:600px 0}}
.jb-skeleton{display:none;flex-direction:column;gap:0;background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}
.jb-skeleton.is-loading{display:flex}
.skel{border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:600px 100%;animation:jb-shimmer 1.4s infinite linear}
.jb-skel-card{display:grid;grid-template-columns:3px 44px 1fr 80px;gap:0 14px;align-items:center;padding:13px 16px 13px 0;border-bottom:1px solid #f3f3f3}
.jb-skel-card:last-child{border-bottom:none}
.jb-skel-stripe{width:3px;align-self:stretch}
.jb-skel-logo{width:36px;height:36px;flex-shrink:0;border-radius:7px;margin-left:14px}
.jb-skel-body{flex:1;display:flex;flex-direction:column;gap:8px}
.jb-skel-title{height:14px;width:55%;border-radius:3px}
.jb-skel-sub{height:12px;width:38%;border-radius:3px}
.jb-skel-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.jb-skel-salary{height:13px;width:60px;border-radius:3px}
.jb-skel-date{height:11px;width:40px;border-radius:3px}

/* Horizontal filter bar */
.jb-filterbar-wrap{background:#fff;border-bottom:1px solid #e8e8e8;position:sticky;top:0;z-index:200;box-shadow:0 1px 0 #e8e8e8}
.jb-filterbar{max-width:1280px;margin:0 auto;padding:0 48px}
.jb-filterbar-inner{display:flex;align-items:center;gap:6px;padding:10px 0;flex-wrap:wrap}

/* Filter chip button */
.jb-fd{position:relative}
.jb-fd-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:400;color:#555;background:#fafafa;border:1px solid #e4e4e4;border-radius:4px;cursor:pointer;transition:all .12s;white-space:nowrap;line-height:1.2}
.jb-fd-btn:hover{border-color:#bbb;color:#111;background:#fff}
.jb-fd-btn [data-lucide]{width:11px;height:11px;flex-shrink:0;opacity:.5}
.jb-fd-btn.dropdown-toggle::after{display:inline-block!important;content:'';width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;border-top:none;border-left:none;transform:rotate(45deg) translateY(-2px);margin-left:2px;vertical-align:middle;background:transparent}
.jb-fd-btn.dropdown-toggle[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(2px)}
.jb-fd-active>.jb-fd-btn{border-color:var(--brand)!important;color:var(--brand)!important;background:#fff!important;font-weight:500}
.jb-fd-active>.jb-fd-btn [data-lucide]{opacity:.7}
.jb-fd-active>.jb-fd-btn:hover{border-color:var(--brand)!important;color:var(--brand)!important}
.jb-fd-badge{background:var(--brand);color:#fff;border-radius:3px;font-size:10px;font-weight:700;padding:1px 5px;min-width:16px;text-align:center;display:inline-block;line-height:1.6}

/* Dropdown panel */
.jb-fd-panel{min-width:220px;max-height:min(360px,70vh);border:1px solid #e4e4e4;border-radius:6px;box-shadow:0 8px 32px rgba(0,0,0,.1);background:#fff;margin-top:6px!important;padding:0;overflow:hidden;z-index:201}
.jb-fd-panel.show{display:flex!important;flex-direction:column}
.jb-fd-options-list{overflow-y:auto;flex:1;padding:4px 8px}
.jb-fd-panel-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#bbb;padding:10px 12px 8px;flex-shrink:0;border-bottom:1px solid #f3f3f3}
.jb-fd-panel-footer{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid #f3f3f3;flex-shrink:0;background:#fff}
.jb-fd-clear-btn{flex:1;padding:6px 10px;font-size:12px;color:#888;background:#fff;border:1px solid #e4e4e4;border-radius:4px;cursor:pointer;transition:all .12s}
.jb-fd-clear-btn:hover{border-color:#999;color:#111}
.jb-fd-apply-btn{flex:2;padding:6px 12px;font-size:12px;font-weight:600;color:#fff;background:var(--brand);border:none;border-radius:4px;cursor:pointer;transition:background .12s}
.jb-fd-apply-btn:hover{background:var(--brand-hover)}

/* Bar-level actions */
.jb-fd-bar-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
.jb-fd-bar-clear{display:inline-flex;align-items:center;font-size:12px;color:#999;text-decoration:none;padding:6px 4px;transition:color .12s;background:none;border:none;cursor:pointer}
.jb-fd-bar-clear:hover{color:#111;text-decoration:none}
.jb-fd-bar-clear--hidden{visibility:hidden;pointer-events:none}
.jb-fd-bar-apply{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#fff;background:var(--brand);border:none;border-radius:4px;padding:6px 16px;cursor:pointer;transition:background .12s}
.jb-fd-bar-apply:hover{background:var(--brand-hover)}
.jb-fd-bar-apply [data-lucide]{width:11px;height:11px}

/* Option row */
.jb-fd-option{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:4px;cursor:pointer;transition:background .1s}
.jb-fd-option:hover{background:#f5f5f5}
.jb-fd-option input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer;appearance:none;-webkit-appearance:none;border:1.5px solid #aaa;border-radius:4px;background:#fff;position:relative;transition:border-color .12s,background .12s;margin:0}
.jb-fd-option input[type=checkbox]:hover{border-color:#555}
.jb-fd-option input[type=checkbox]:checked{background:var(--brand);border-color:var(--brand)}
.jb-fd-option input[type=checkbox]:checked::after{content:'';position:absolute;left:50%;top:45%;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:translate(-50%,-50%) rotate(45deg);display:block}
.jb-fd-label{flex:1;font-size:13px;color:#444}
.jb-fd-count{font-size:11px;color:#ccc}

/* Salary presets */
.jb-sal-option{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:4px;cursor:pointer;transition:background .1s}
.jb-sal-option:hover{background:#f5f5f5}
.jb-sal-option input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer;appearance:none;-webkit-appearance:none;border:1.5px solid #aaa;border-radius:50%;background:#fff;position:relative;transition:border-color .12s,background .12s;margin:0}
.jb-sal-option input[type=checkbox]:hover{border-color:#555}
.jb-sal-option input[type=checkbox]:checked{background:var(--brand);border-color:var(--brand)}
.jb-sal-option input[type=checkbox]:checked::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;background:#fff;border-radius:50%;display:block}
.jb-sal-option .jb-fd-label{font-size:13px;color:#444}

/* Clear all (inactive) */
.jb-fd-clear-all{display:none}

/* Active filter tag strip */
.jb-active-tags-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:2px;padding:8px 0 10px;border-top:1px solid #f0f0ee}
.jb-at-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#bbb;margin-right:2px}
.jb-active-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:100px;font-size:11px;font-weight:600;color:var(--brand);cursor:pointer;transition:all .12s}
.jb-active-tag:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.jb-at-x{font-size:13px;font-weight:400;opacity:.6;margin-left:2px;line-height:1}
.jb-at-clear-all{display:inline-flex;align-items:center;font-size:11px;color:#999;text-decoration:none;padding:3px 10px;border:1px solid #e4e4e4;border-radius:100px;background:transparent;transition:all .12s;margin-left:2px}
.jb-at-clear-all:hover{color:var(--brand);border-color:var(--brand);text-decoration:none}

/* Backdrop */
.jb-filter-backdrop{display:none;position:fixed;inset:0;z-index:199;background:transparent;cursor:default}
.jb-filter-backdrop.active{display:block}
.jb-filterbar-wrap .dropdown-menu{z-index:201}

/* Responsive */
@media(max-width:960px){
  .jb-filterbar{padding:0 24px}
  .jb-filterbar-inner{gap:5px;overflow-x:auto;flex-wrap:nowrap}
  .jb-layout{padding:16px 24px 60px}
  .jb-hero{padding:32px 20px 28px}
}
@media(max-width:640px){
  .jb-filterbar{padding:0 16px}
  .jb-layout{padding:12px 16px 48px}
  .jb-hero{padding:28px 16px 28px}
  .jb-hero-stats{display:none}
  .jb-job-card{grid-template-columns:3px 36px 1fr}
  .jbc-right{display:none}
}
.jb-job-card{margin-bottom:10px}

/* ════════════════════════════════════════════════════

.jb-job-card{margin-bottom:10px}

/* ════════════════════════════════════════════════════
   JOB DETAIL PAGE  (redesigned — TFS design system)
════════════════════════════════════════════════════ */

/* ── Breadcrumb ───────────────────────────────────── */
.jd-bc-bar{
    background:var(--white);border-bottom:1px solid var(--border);
    padding:10px 28px;display:flex;align-items:center;
    gap:6px;font-size:12px;color:var(--ink-muted);
}
.jd-bc-bar a{color:var(--ink-muted);text-decoration:none}
.jd-bc-bar a:hover{color:var(--ink)}
.jd-bc-sep{color:var(--border)}
.jd-bc-cur{color:var(--ink-soft);font-weight:500}

/* ── Page wrapper ─────────────────────────────────── */
.jd-page{max-width:1160px;margin:0 auto;padding:28px 28px 60px}
.jd-page-grid{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
.jd-sidebar{position:sticky;top:20px;display:flex;flex-direction:column;gap:12px}

/* ── Base card ────────────────────────────────────── */
.jd-card{
    background:var(--white);border:1px solid var(--border);
    border-radius:var(--r-lg);padding:24px;margin-top:16px;
}

/* ── Section title (Playfair + icon block) ────────── */
.jd-section-title{
    font-family:'Playfair Display',serif;
    font-size:17px;font-weight:700;color:var(--ink);
    margin-bottom:16px;display:flex;align-items:center;gap:10px;
}
.jd-si{
    width:28px;height:28px;border-radius:7px;
    background:var(--brand-pale);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.jd-si i[data-lucide],.jd-si svg{width:13px;height:13px;color:var(--brand)}

/* ── Header card ──────────────────────────────────── */
.jd-header{
    background:var(--white);border:1px solid var(--border);
    border-radius:var(--r-lg);padding:24px;margin-bottom:0;
}
.jd-top{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}
.jd-logo{
    width:60px;height:60px;border-radius:14px;
    border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;
    font-family:'Playfair Display',serif;font-size:22px;font-weight:700;
    color:var(--brand);flex-shrink:0;overflow:hidden;
}
.jd-logo img{width:100%;height:100%;object-fit:contain}
.jd-info{flex:1;min-width:0}
.jd-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.jd-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:3px}
.jd-b-new{background:#eff6ff;color:var(--brand)}
.jd-b-urgent{background:#fef2f2;color:#b91c1c}
.fn-fpa{background:#eff6ff;color:var(--brand)}
.fn-tax{background:#fffbeb;color:#b45309}
.fn-risk{background:#fef2f2;color:#b91c1c}
.fn-controller{background:#f5f3ff;color:#6d28d9}
.fn-audit{background:#f0fdf4;color:#15803d}
.fn-treasury{background:#ecfeff;color:#0e7490}
.fn-cfo{background:#f8f8f8;color:#374151}
.jd-title{
    font-family:'Playfair Display',serif;
    font-size:24px;font-weight:700;color:var(--ink);
    line-height:1.2;margin-bottom:5px;letter-spacing:-.02em;
}
.jd-company{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:var(--brand);margin-bottom:3px}
.jd-company a{color:var(--brand);text-decoration:none}
.jd-company a:hover{text-decoration:underline}
.jd-company i[data-lucide],.jd-company svg{width:13px;height:13px}
.jd-company-sub{font-size:13px;color:var(--ink-muted)}
.jd-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}
.jd-posted{font-size:11px;color:var(--ink-muted)}

/* ── Meta grid (icon + 3 levels) ──────────────────── */
.jd-meta-grid{
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:12px;padding:18px 0;
    border-top:1px solid var(--border-soft);
    border-bottom:1px solid var(--border-soft);
    margin-bottom:18px;
}
.jd-mi{display:flex;align-items:flex-start;gap:9px}
.jd-mi-icon{
    width:32px;height:32px;border-radius:8px;
    background:var(--brand-pale);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.jd-mi-icon i[data-lucide],.jd-mi-icon svg{width:14px;height:14px;color:var(--brand)}
.jd-mi-lbl{font-size:10px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.jd-mi-val{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}
.jd-mi-sub{font-size:11px;color:var(--ink-muted)}

/* ── Tags row (skills inside header) ──────────────── */
.tags-row{display:flex;flex-wrap:wrap;gap:6px}
.tag{
    font-size:12px;padding:4px 10px;border:1px solid var(--border);
    border-radius:4px;color:var(--ink-soft);background:var(--white);
    text-decoration:none;transition:all .12s;
}
.tag:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-pale)}

/* ── Prose (CKEditor / rich content) ──────────────── */
.jd-prose{font-size:14px;color:var(--ink-soft);line-height:1.8}
.jd-prose p{margin-bottom:12px}
.jd-prose p:last-child{margin-bottom:0}
.jd-prose h1,.jd-prose h2,.jd-prose h3{font-size:15px;font-weight:600;color:var(--ink);margin:18px 0 8px;letter-spacing:-.01em}
.jd-prose ul{list-style:disc!important;padding-left:20px;margin:6px 0}
.jd-prose ol{list-style:decimal!important;padding-left:20px;margin:6px 0}
.jd-prose li{margin-bottom:4px}
.jd-prose strong{color:var(--ink)}

/* ── Bullet list ──────────────────────────────────── */
.jd-bullet-list{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}
.jd-bullet-list li{
    display:flex;align-items:flex-start;gap:10px;
    font-size:14px;color:var(--ink-soft);line-height:1.6;
}
.jd-bullet-list li::before{
    content:'';width:7px;height:7px;
    border-radius:50%;background:var(--brand);
    flex-shrink:0;margin-top:7px;
}
.jd-bullet-list.muted li::before{background:var(--ink-muted)}

/* ── Requirements grouping ────────────────────────── */
.jd-req-group{margin-bottom:0}
.jd-req-group + .jd-req-group{margin-top:18px}
.jd-req-heading{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px}

/* ── Perks & Benefits ─────────────────────────────── */
.jd-perks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.jd-perk{
    background:var(--paper);border:1px solid var(--border);
    border-radius:10px;padding:13px;text-align:center;
}
.jd-perk-icon{
    width:34px;height:34px;border-radius:8px;background:var(--brand-pale);
    display:flex;align-items:center;justify-content:center;margin:0 auto 8px;
}
.jd-perk-icon i[data-lucide],.jd-perk-icon svg{width:15px;height:15px;color:var(--brand)}
.jd-perk-title{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:2px}
.jd-perk-sub{font-size:11px;color:var(--ink-muted);line-height:1.4}

/* ── Interview Timeline ───────────────────────────── */
.timeline{display:flex;flex-direction:column}
.tl-item{
    display:flex;gap:13px;padding-bottom:18px;
    position:relative;
}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
    content:'';position:absolute;
    left:11px;top:26px;bottom:0;
    width:1px;background:var(--border-soft);
}
.tl-item:last-child::before{display:none}
.tl-dot{
    width:24px;height:24px;border-radius:50%;
    border:2px solid var(--border);background:var(--white);
    display:flex;align-items:center;justify-content:center;
    font-size:10px;font-weight:600;color:var(--ink-muted);
    flex-shrink:0;z-index:1;
}
.tl-active{border-color:var(--brand);background:var(--brand);color:#fff}
.tl-done{border-color:var(--success);background:var(--success-pale);color:var(--success)}
.tl-pending{border-color:var(--border);background:var(--white);color:var(--ink-muted)}
.tl-body-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px;padding-top:2px}
.tl-body-sub{font-size:12px;color:var(--ink-muted);line-height:1.5}

/* ── Bottom apply bar ─────────────────────────────── */
.jd-apply-bar{
    background:var(--white);border:1px solid var(--border);
    border-radius:var(--r-lg);padding:16px 24px;margin-top:16px;
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}

/* ── Related jobs grid (main column) ──────────────── */
.jd-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.jd-rel-card{
    background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);
    padding:18px;text-decoration:none;color:inherit;
    display:flex;flex-direction:column;transition:all .2s;
}
.jd-rel-card:hover{border-color:var(--brand-mid);box-shadow:0 4px 18px rgba(1,115,242,.09);transform:translateY(-2px)}
.jd-rel-logo{
    width:38px;height:38px;border-radius:9px;
    background:linear-gradient(135deg,var(--brand-pale),#c2dffb);
    display:flex;align-items:center;justify-content:center;
    font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:var(--brand);
    margin-bottom:10px;overflow:hidden;flex-shrink:0;
}
.jd-rel-logo img{width:100%;height:100%;object-fit:contain}
.jd-rel-title{font-family:'Playfair Display',serif;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:3px;line-height:1.3}
.jd-rel-co{font-size:12px;font-weight:500;color:var(--brand);margin-bottom:8px}
.jd-rel-meta{display:flex;flex-wrap:wrap;gap:8px}
.jd-rel-meta span{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--ink-muted)}
.jd-rel-meta i[data-lucide],.jd-rel-meta svg{width:10px;height:10px}

/* ═══ SIDEBAR ═══════════════════════════════════════ */

/* Sidebar card */
.jd-s-card{
    background:var(--white);border:1px solid var(--border);
    border-radius:var(--r-lg);padding:20px;
}

/* ── Apply card (glow variant) ────────────────────── */
.jd-apply-card{overflow:hidden;position:relative}
.jd-apply-glow{
    position:absolute;top:-50px;right:-50px;
    width:140px;height:140px;border-radius:50%;
    background:var(--brand-pale);opacity:.6;pointer-events:none;
}
.jd-apply-title{
    font-family:'Playfair Display',serif;font-size:19px;font-weight:700;
    color:var(--ink);margin-bottom:4px;position:relative;
}
.jd-apply-sub{font-size:13px;color:var(--ink-muted);margin-bottom:18px;line-height:1.5;position:relative}

/* Apply button */
.jd-s-apply-wrap{display:block;margin-bottom:8px;position:relative}
.jd-s-btn-apply{
    width:100%;display:flex;align-items:center;justify-content:center;gap:6px;
    padding:12px;background:var(--brand);color:#fff !important;
    font-size:14px;font-weight:600;border-radius:8px;
    border:none;cursor:pointer;text-decoration:none !important;
    transition:background .15s,transform .1s;font-family:inherit;
    position:relative;
}
.jd-s-btn-apply:hover{background:var(--brand-hover);color:#fff !important;transform:translateY(-1px)}
.jd-s-btn-apply.btn-danger{background:#dc2626}
.jd-s-btn-apply:disabled,.jd-s-btn-apply.disabled{background:#e8e8e8;color:#aaa !important;cursor:not-allowed;transform:none}
.jd-s-btn-apply i[data-lucide],.jd-s-btn-apply svg{width:14px;height:14px}

/* Save button */
.jd-s-btn-save{
    width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;
    font-size:13px;font-weight:500;color:var(--ink-soft);background:var(--white);display:flex;
    align-items:center;justify-content:center;gap:6px;
    transition:all .15s;margin-bottom:14px;text-decoration:none;position:relative;
    cursor:pointer;
}
.jd-s-btn-save:hover{border-color:var(--ink);color:var(--ink)}
.jd-s-btn-save.active{border-color:var(--brand);color:var(--brand);background:rgba(1,115,242,.06)}
.jd-s-btn-save.active svg{fill:var(--brand)}
.jd-s-btn-save svg{width:14px;height:14px;flex-shrink:0}
.jd-s-btn-save.loading{opacity:.5;pointer-events:none}

/* Header icon-btn (save) */
.icon-btn{
    width:36px;height:36px;border-radius:8px;border:1px solid var(--border);display:flex;
    align-items:center;justify-content:center;color:var(--ink-soft);background:var(--white);
    text-decoration:none;transition:all .15s;cursor:pointer;flex-shrink:0;
}
.icon-btn:hover{border-color:var(--ink);color:var(--ink)}
.icon-btn.active{border-color:var(--brand);color:var(--brand);background:rgba(1,115,242,.06)}
.icon-btn.active svg{fill:var(--brand)}
.icon-btn svg{width:16px;height:16px}
.icon-btn.loading{opacity:.5;pointer-events:none}

/* Deadline */
.jd-deadline{
    display:flex;align-items:center;gap:7px;
    padding:9px 11px;
    background:var(--warning-pale);border:1px solid var(--warning-border);
    border-radius:8px;font-size:12px;color:var(--warning);font-weight:500;
    position:relative;
}
.jd-deadline i[data-lucide],.jd-deadline svg{width:13px;height:13px;flex-shrink:0}
.jd-deadline-closed{background:var(--danger-pale);border-color:var(--danger-border);color:var(--danger)}

/* Key-value rows */
.jd-s-divider{height:1px;background:var(--border-soft);margin:14px 0 12px}
.jd-s-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--border-soft)}
.jd-s-row:last-child{border-bottom:none}
.jd-s-key{font-size:11px;color:var(--ink-muted)}
.jd-s-val{font-size:12px;color:var(--ink);font-weight:500;text-align:right;max-width:60%}

/* ── Company card ─────────────────────────────────── */
.jd-co-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-soft)}
.jd-co-logo{
    width:40px;height:40px;border-radius:10px;
    background:linear-gradient(135deg,var(--brand-pale),#c2dffb);
    display:flex;align-items:center;justify-content:center;
    font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:var(--brand);flex-shrink:0;
    overflow:hidden;
}
.jd-co-logo img{width:100%;height:100%;object-fit:contain}
.jd-co-name{font-size:14px;font-weight:700;color:var(--ink)}
.jd-co-name a{color:var(--ink);text-decoration:none}
.jd-co-name a:hover{color:var(--brand)}
.jd-co-type{font-size:12px;color:var(--ink-muted);margin-top:1px}
.jd-co-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.jd-co-stat{background:var(--paper);border-radius:8px;padding:8px;text-align:center}
.jd-co-stat-val{font-family:'Playfair Display',serif;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:1px}
.jd-co-stat-lbl{font-size:10px;color:var(--ink-muted)}
.jd-co-view-all{display:block;font-size:12px;color:var(--brand);text-align:center;padding-top:10px;border-top:1px solid var(--border-soft);text-decoration:none}
.jd-co-view-all:hover{text-decoration:underline}

/* ── Mini jobs (sidebar) ──────────────────────────── */
.jd-mini-jobs{display:flex;flex-direction:column}
.jd-mini-job{
    display:flex;align-items:flex-start;gap:9px;
    padding:9px 0;border-bottom:1px solid var(--border-soft);
    text-decoration:none;color:inherit;transition:background .15s;
}
.jd-mini-job:last-child{border-bottom:none;padding-bottom:0}
.jd-mini-job:hover .jd-mj-title{color:var(--brand)}
.jd-mj-icon{
    width:28px;height:28px;border-radius:7px;background:var(--brand-pale);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.jd-mj-icon i[data-lucide],.jd-mj-icon svg{width:13px;height:13px;color:var(--brand)}
.jd-mj-title{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:2px;transition:color .18s}
.jd-mj-meta{font-size:11px;color:var(--ink-muted)}

/* Sidebar card title (mini) */
.jd-s-card-title{
    font-size:13px;font-weight:700;color:var(--ink);
    margin-bottom:12px;display:flex;align-items:center;gap:6px;
}
.jd-s-card-title i[data-lucide],.jd-s-card-title svg{width:14px;height:14px;color:var(--brand)}

/* ── Responsive ───────────────────────────────────── */
@media(max-width:1040px){
    .jd-meta-grid{grid-template-columns:repeat(2,1fr)}
    .jd-perks-grid{grid-template-columns:repeat(2,1fr)}
    .jd-related-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
    .jd-page{padding:20px 24px 48px}
    .jd-page-grid{grid-template-columns:1fr}
    .jd-sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:10px}
    .jd-s-card{flex:1 1 280px}
}
@media(max-width:640px){
    .jd-page{padding:0 0 32px}
    .jd-bc-bar{padding:10px 16px}
    .jd-header,.jd-card{padding:16px}
    .jd-meta-grid{grid-template-columns:1fr 1fr}
    .jd-top{flex-wrap:wrap}
    .jd-actions{flex-direction:row}
    .jd-sidebar{flex-direction:column}
    .jd-s-card{flex:unset}
    .jd-related-grid{grid-template-columns:1fr}
    .jd-perks-grid{grid-template-columns:1fr 1fr}
}

/* ================================================================
   Apply Now Modal  (am-*)
   ================================================================ */
.am-modal .modal-content{border:0;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px rgba(5,38,78,.22)}
.am-header{background:linear-gradient(135deg,#3c65f5 0%,#1e46d8 100%);padding:22px 24px;display:flex;align-items:center;gap:14px}
.am-header-icon{width:46px;height:46px;background:rgba(255,255,255,.18);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.am-header-text{flex:1;min-width:0}
.am-pretitle{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.72);margin-bottom:3px}
.am-job-title{font-size:16px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;min-height:21px}
.am-close{background:rgba(255,255,255,.15);border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;cursor:pointer;transition:background .2s;padding:0;line-height:1}
.am-close:hover{background:rgba(255,255,255,.3)}
.am-body{padding:28px 28px 24px}
.am-body .form-group{margin-bottom:18px}
.am-body label{font-size:13px;font-weight:600;color:#253d4e;margin-bottom:6px;display:block}
.am-body .form-control{border:1.5px solid #dde4f0;border-radius:10px;height:46px;font-size:14px;padding:0 14px;color:#253d4e;transition:border-color .2s,box-shadow .2s;background:#fff;box-shadow:none}
.am-body .form-control:focus{border-color:#3c65f5;box-shadow:0 0 0 3px rgba(60,101,245,.12);outline:none}
.am-body textarea.form-control{height:auto;padding:12px 14px;resize:vertical;min-height:100px}
.am-body input[type="file"].form-control{height:auto;padding:10px 14px;background:#f5f8ff;cursor:pointer;font-size:13px}
.am-body input[type="file"].form-control::-webkit-file-upload-button{background:#3c65f5;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;margin-right:12px;transition:background .2s}
.am-body input[type="file"].form-control::file-selector-button{background:#3c65f5;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;margin-right:12px;transition:background .2s}
.am-body input[type="file"].form-control::-webkit-file-upload-button:hover,.am-body input[type="file"].form-control::file-selector-button:hover{background:#2650e0}
.am-body .btn-primary,.am-body button[type=submit]{background:#3c65f5!important;border:none!important;border-radius:10px!important;height:48px;font-size:15px!important;font-weight:600!important;letter-spacing:.02em;transition:background .2s,transform .1s!important;width:100%;color:#fff!important}
.am-body .btn-primary:hover,.am-body button[type=submit]:hover{background:#2650e0!important;transform:translateY(-1px)}
.am-body .btn-primary:active,.am-body button[type=submit]:active{transform:translateY(0)}
.am-body .job-apply-resume-info{font-size:12px;color:#6b7280;background:#f8faff;border:1px solid #e4ecfb;border-radius:8px;padding:10px 14px;margin:0}
.am-body .job-apply-resume-info a{color:#3c65f5;text-decoration:none;font-weight:600}
.am-body .row{margin-left:-8px;margin-right:-8px}
.am-body .row>[class^=col]{padding-left:8px;padding-right:8px}
.am-body .g-recaptcha{margin-bottom:16px}
/* Inline field validation errors */
.am-field-error{display:flex;align-items:flex-start;gap:5px;font-size:12px;font-weight:500;color:#dc2626;margin-top:6px;line-height:1.4}
.am-field-error svg{flex-shrink:0;margin-top:1px}
.am-field-invalid{border-color:#dc2626!important;background:#fff8f8!important}
.am-field-invalid:focus{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important}
/* Required asterisk on labels */
.am-body .form-group:has([required]) label::after{content:" *";color:#dc2626;font-weight:700}
/* Shake animation on first error focus */
@keyframes am-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
.am-field-invalid{animation:am-shake .35s ease}


/* =============================================================================
   Companies page – co-* (mirrors Jobs jb-* design language)
   ============================================================================= */

/* ── Hero (reuses same dark jb-hero tokens) ─────────────────────────────────── */
.co-hero{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.06);padding:40px 28px 36px;text-align:center}
.co-hero-inner{max-width:600px;margin:0 auto}

/* ── A-Z filter (beneath hero) ──────────────────────────────────────────────── */
.co-az-section{background:var(--navy);padding:0 28px 28px;text-align:center}
.co-az-wrap{display:inline-block}
.co-az-wrap ul{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;list-style:none!important;padding:0;margin:0}
.co-az-wrap li{list-style:none!important}
.co-az-wrap .filter-by-word{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:7px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.5);font-weight:600;font-size:.78rem;border:1px solid rgba(255,255,255,.1);text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.co-az-wrap .filter-by-word:hover{background:rgba(255,255,255,.14);color:#fff}
.co-az-wrap .filter-by-word.active{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ── Toolbar ─────────────────────────────────────────────────────────────────── */
.co-count-bar{font-size:13px;color:#999;padding:0 0 12px;font-weight:500}
.co-count-bar strong{color:#111;font-weight:600}

/* ── Two-column card grid ────────────────────────────────────────────────────── */
.co-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
@media(max-width:540px){.co-cards-grid{grid-template-columns:1fr}}

/* ── Company card (mirrors jb-job-card) ──────────────────────────────────────── */
.co-company-card{display:grid;grid-template-columns:44px 1fr auto;gap:0 14px;align-items:center;padding:14px 16px;cursor:pointer;transition:background .1s;border-bottom:1px solid #f3f3f3;text-decoration:none;color:inherit;position:relative;background:#fff}
.co-company-card:hover{background:#fafafa;text-decoration:none;color:inherit}
.co-company-card:hover .co-cc-name{color:var(--brand)}
/* left column / right column border for 2-col layout */
.co-cards-grid .co-company-card:nth-child(odd){border-right:1px solid #f3f3f3}
.co-cards-grid .co-company-card:last-child{border-bottom:none}
.co-cards-grid .co-company-card:nth-last-child(2):nth-child(odd){border-bottom:none}
/* Odd last card spans both columns so no empty half-cell shows */
.co-cards-grid .co-company-card:last-child:nth-child(odd){grid-column:1/-1;border-right:none}
.co-pagination-wrap{margin-top:20px}

/* Logo */
.co-cc-logo{width:44px;height:44px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;overflow:hidden;flex-shrink:0;border:1.5px solid #f0f0f0;background:#f8fafd}
.co-cc-logo img{width:100%;height:100%;object-fit:contain;border-radius:7px}

/* Body */
.co-cc-body{min-width:0}
.co-cc-name{font-size:14px;font-weight:600;color:#111;letter-spacing:-0.01em;transition:color .12s;display:block;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-cc-location{font-size:12px;color:#999;display:flex;align-items:center;gap:4px;margin-bottom:5px}
.co-cc-tags{display:flex;flex-wrap:wrap;gap:4px}
.co-cc-tag{font-size:11px;background:#f3f4f6;color:#555;border-radius:4px;padding:2px 7px;font-weight:500}

/* Right */
.co-cc-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;padding-right:2px}
.co-cc-jobs-btn{font-size:12px;font-weight:600;color:var(--brand);background:#e8f1ff;border-radius:6px;padding:5px 12px;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.co-cc-jobs-btn:hover{background:var(--brand);color:#fff}
.co-cc-no-jobs{font-size:12px;color:#bbb;font-weight:500;white-space:nowrap}

/* ── Responsive ─────────────────────────────────────────────────────────────── */
@media(max-width:640px){
  .co-hero{padding:32px 16px 28px}
  .co-az-section{padding:0 16px 22px}
  .co-company-card{grid-template-columns:36px 1fr}
  .co-cc-right{display:none}
}

/* ── Company detail (cd-*) ──────────────────────────────────────────────────── */

.cd-hero{padding:40px 16px 36px;text-align:center}
.cd-hero-inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:12px}
.cd-hero-logo{width:80px;height:80px;border-radius:16px;background:#fff;border:2px solid rgba(255,255,255,.15);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:var(--brand);flex-shrink:0}
.cd-hero-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.cd-hero-name{font-size:26px;font-weight:700;color:#fff;margin:0;line-height:1.2}
.cd-hero-location{font-size:13px;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:5px}
.cd-hero-stats{justify-content:center;flex-wrap:wrap;gap:20px 32px;display:flex!important}
.cd-hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}
.jb-hero-stat{text-align:center}
.cd-btn-primary{display:inline-flex;align-items:center;gap:6px;background:var(--brand);color:#fff;font-size:13px;font-weight:600;padding:9px 20px;border-radius:8px;text-decoration:none;transition:background .15s}
.cd-btn-primary:hover{background:#0160d0;color:#fff}
.cd-btn-ghost{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.85);font-size:13px;font-weight:500;padding:9px 18px;border-radius:8px;text-decoration:none;transition:background .15s}
.cd-btn-ghost:hover{background:rgba(255,255,255,.16);color:#fff}
.cd-body{display:grid;grid-template-columns:1fr 320px;gap:28px;padding-top:32px;padding-bottom:48px;align-items:start}
.cd-main-col{display:flex;flex-direction:column;gap:0}
.cd-side-col{display:flex;flex-direction:column;gap:18px}
.cd-section{background:#fff;border:1px solid #eaecef;border-radius:12px;padding:24px;margin-bottom:18px}
.cd-section-title{font-size:15px;font-weight:700;color:#111;margin:0 0 14px}
.cd-description{font-size:14px;color:#555;line-height:1.65;margin:0 0 10px}
.cd-content{font-size:14px;color:#444;line-height:1.7}
.cd-jobs-heading{font-size:15px;font-weight:700;color:#111;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.cd-jobs-count{display:inline-flex;align-items:center;justify-content:center;background:#e8f1ff;color:var(--brand);font-size:11px;font-weight:700;border-radius:20px;padding:1px 9px}
.cd-jobs-list{display:flex;flex-direction:column;gap:0}
.cd-no-jobs{text-align:center;padding:36px 16px;background:#fff;border:1px solid #eaecef;border-radius:12px;margin-bottom:18px}
.cd-no-jobs p{font-size:14px;color:#888;margin:0 0 14px}
.cd-info-card{background:#fff;border:1px solid #eaecef;border-radius:12px;padding:20px}
.cd-info-rows{display:flex;flex-direction:column;gap:0}
.cd-info-row{display:grid;grid-template-columns:18px 90px 1fr;gap:0 10px;align-items:start;padding:10px 0;border-bottom:1px solid #f3f4f6;font-size:13px}
.cd-info-row:last-child{border-bottom:none}
.cd-info-row svg{color:#aaa;margin-top:1px;flex-shrink:0}
.cd-info-label{color:#888;font-size:12px;font-weight:500;padding-top:1px}
.cd-info-val{color:#222;font-weight:500;word-break:break-word;line-height:1.4}
.cd-info-link{color:var(--brand);text-decoration:none}
.cd-info-link:hover{text-decoration:underline}
.cd-socials{display:flex;gap:8px;padding:14px 0 0;flex-wrap:wrap}
.cd-social-btn{width:32px;height:32px;border-radius:8px;background:#f4f5f7;color:#555;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .15s}
.cd-social-btn:hover{background:#e8f1ff;color:var(--brand)}
.cd-info-cta{padding-top:14px}
@media(max-width:900px){
  .cd-body{grid-template-columns:1fr;gap:18px}
  .cd-side-col{order:-1}
}
@media(max-width:600px){
  .cd-hero-name{font-size:20px}
  .cd-hero-logo{width:64px;height:64px;font-size:22px}
  .cd-hero-actions{flex-direction:column;align-items:stretch}
  .cd-btn-primary,.cd-btn-ghost{justify-content:center}
}
