/* Authority.Coffee Careers — loads after style.css + tools.css */

.careers-hero {
  background: var(--espresso);
  padding: 120px 64px 72px;
  position: relative; overflow: hidden;
}
.careers-hero::after {
  content: 'CAREERS';
  position: absolute; right: -20px; bottom: -24px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 10rem; font-weight: 300;
  color: rgba(255,255,255,.012);
  letter-spacing: .08em;
  pointer-events: none; user-select: none; white-space: nowrap;
}
.careers-hero-inner { max-width: 1200px; margin: 0 auto; }
.careers-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  font-weight: 300; line-height: 1.15;
  color: var(--warm-cream); margin-bottom: 14px;
}
.careers-hero h1 em { font-style: italic; color: var(--gold-light); }
.careers-hero-desc {
  font-size: .93rem; font-weight: 300; line-height: 1.85;
  color: rgba(245,239,230,.42); max-width: 640px;
}

/* ── FORM SECTIONS (login, register, reset) ── */
.careers-form-section{background:var(--light-cream);padding:64px;}
.careers-form-container{max-width:560px;margin:0 auto;}
.careers-form-container--narrow{max-width:420px;margin:0 auto;}
.careers-form-container h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--espresso);margin-bottom:24px;}
.form-row{display:flex;gap:12px;}
.form-row .form-group{flex:1;}
.form-group{margin-bottom:18px;}
.form-error{display:block;font-size:.72rem;color:#A63D2F;margin-top:4px;min-height:16px;}
.form-actions{display:flex;justify-content:flex-end;margin-bottom:16px;}
.form-link-sm{font-size:.74rem;color:var(--gold);text-decoration:none;transition:color .2s;}
.form-link-sm:hover{color:var(--gold-light);}
.btn-full{width:100%;text-align:center;display:block;padding:15px;font-family:'Barlow',sans-serif;font-size:.68rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;border:none;transition:all .3s;}
.form-footer-link{text-align:center;margin-top:24px;font-size:.84rem;color:var(--text-muted);}
.form-footer-link a{color:var(--gold);text-decoration:none;}
.form-message{padding:14px 18px;margin-bottom:18px;font-size:.84rem;line-height:1.6;border-left:3px solid var(--gold);background:var(--warm-cream);}
.form-message.error{border-left-color:#A63D2F;background:rgba(166,61,47,.06);color:#A63D2F;}
.form-message.success{border-left-color:#3A7D44;background:rgba(58,125,68,.06);color:#3A7D44;}
.form-toggle{display:flex;gap:2px;margin-bottom:28px;}
.form-toggle .form-toggle-btn{flex:1;padding:12px 18px;text-align:center;font-family:'Barlow',sans-serif;font-size:.76rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:#fff;border:1px solid var(--gold-dim);cursor:pointer;transition:all .25s;}
.form-toggle .form-toggle-btn.active{background:var(--espresso);color:var(--warm-cream);border-color:var(--espresso);}
.pw-toggle-wrap{position:relative;}
.pw-toggle-wrap .form-input{padding-right:42px;}
.pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted,#6B4F3A);opacity:.5;transition:opacity .2s;line-height:0;}
.pw-toggle:hover{opacity:.9;}
.pw-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
/* Toast notifications */
.careers-toast{padding:14px 24px;font-family:'Barlow',sans-serif;font-size:.88rem;font-weight:400;line-height:1.4;color:#fff;pointer-events:auto;opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s;box-shadow:0 6px 24px rgba(0,0,0,.2);max-width:380px;}
.careers-toast--success{background:#2d6a3e;}
.careers-toast--error{background:#8b2e21;}
.careers-toast--info{background:var(--espresso,#180D08);border:1px solid var(--gold,#B8942A);}

/* Saved / Applied job indicators on cards */
.job-card-saved{display:inline-block;background:var(--gold,#B8942A);color:var(--espresso,#180D08);font-family:'Barlow',sans-serif;font-size:.58rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;margin-right:8px;margin-bottom:16px;vertical-align:middle;}
.job-card-applied{display:inline-block;background:#2e7d32;color:#fff;font-family:'Barlow',sans-serif;font-size:.58rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;margin-right:8px;margin-bottom:16px;vertical-align:middle;}

/* Auth nav buttons — hidden until session check, then shown/hidden by JS */
[data-auth-show]{display:none;}
.nav-auth{display:flex;align-items:center;gap:12px;margin-left:auto;margin-right:16px;}
.nav-auth-link{font-family:'Barlow',sans-serif;font-size:.64rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:9px 20px;transition:all .25s;}
.nav-auth-link[data-auth-show="logged-out"]{color:var(--gold,#B8942A);border:1px solid var(--gold,#B8942A);}
.nav-auth-link[data-auth-show="logged-out"]:hover{background:var(--gold,#B8942A);color:var(--espresso,#180D08);}
.nav-auth-link[data-auth-show="logged-in"]{background:var(--gold,#B8942A);color:var(--espresso,#180D08);border:1px solid var(--gold,#B8942A);}
.nav-auth-link[data-auth-show="logged-in"]:hover{background:var(--gold-light,#D4AF5A);}
@media(max-width:1100px){.nav-auth{display:none;}}
/* Profile dropdown */
.nav-auth-dropdown{position:relative;display:inline-block;}
.nav-auth-trigger{background:var(--gold,#B8942A);color:var(--espresso,#180D08);border:1px solid var(--gold,#B8942A);padding:9px 22px;font-family:'Barlow',sans-serif;font-size:.66rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:all .25s;line-height:normal;box-sizing:border-box;display:inline-block;vertical-align:middle;height:auto;-webkit-appearance:none;appearance:none;}
.nav-auth-trigger:hover{background:var(--gold-light,#D4AF5A);}
.nav-auth-caret{font-size:.95rem;line-height:1;margin-left:7px;position:relative;top:1px;}
.nav-auth-menu{display:none;position:absolute;top:100%;right:0;min-width:180px;background:var(--espresso,#180D08);border:1px solid var(--gold-dim,rgba(184,148,42,.18));box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:200;margin-top:4px;}
.nav-auth-menu.open{display:block;}
.nav-auth-menu a{display:block;padding:12px 20px;font-family:'Barlow',sans-serif;font-size:.72rem;font-weight:300;letter-spacing:.08em;text-transform:uppercase;color:var(--warm-cream,#F5EFE6);text-decoration:none;transition:background .2s;border-bottom:1px solid rgba(245,239,230,.04);}
.nav-auth-menu a:last-child{border-bottom:none;}
.nav-auth-menu a:hover{background:rgba(184,148,42,.1);}
.nav-auth-menu a.disabled{opacity:.4;pointer-events:none;}
.coming-soon{font-size:.55rem;background:rgba(184,148,42,.15);color:var(--gold,#B8942A);padding:2px 6px;margin-left:6px;vertical-align:middle;letter-spacing:.06em;}

.careers-hero-ctas{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;}
.footer-social{display:flex;gap:16px;align-items:center;}
.footer-social a{color:var(--text-muted,rgba(245,239,230,.35));transition:color .2s;}
.footer-social a:hover svg{fill:#0A66C2;}
.footer-social a:nth-child(2):hover svg{fill:#E1306C;}
.careers-subnav{display:flex;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid rgba(184,148,42,.15);flex-wrap:wrap;}
.careers-subnav a{font-family:'Barlow',sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,239,230,.85);text-decoration:none;transition:all .2s;padding:9px 20px;border:1px solid rgba(184,148,42,.4);background:rgba(184,148,42,.06);}
.careers-subnav a:hover,.careers-subnav a.active{color:var(--gold);border-color:var(--gold);background:rgba(184,148,42,.08);}
.job-card-link{display:block;text-decoration:none;color:inherit;}
.job-card{cursor:pointer;border-left:3px solid var(--gold,#B8942A);}
@media(max-width:640px){.careers-form-section{padding:40px 20px;}}

.careers-search-bar {
  background: #fff; border-bottom: 1px solid var(--gold-dim);
  padding: 18px 64px;
  position: sticky; top: 68px; z-index: 90;
  transition: box-shadow .3s;
}
.careers-search-bar.scrolled {
  box-shadow: 0 2px 16px rgba(24,13,8,.06);
}
.careers-search-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; gap: 14px; align-items: center; flex-wrap: wrap;
}
.careers-search-inner .form-input,
.careers-search-inner .form-select { flex: 1; min-width: 160px; }
.careers-search-inner .form-input { flex: 2; }

/* Filter-bar controls all land on the same 40px height. The base .form-select
   rule has padding:13px + font:.9rem which overflows 40px and clips text — override
   with slimmer padding + matching line-height so "Recently Updated" fits cleanly. */
.careers-search-inner .form-input,
.careers-search-inner .form-select,
.careers-search-inner button {
  height: 40px;
  box-sizing: border-box;
  line-height: 1.1;
}
.careers-search-inner .form-select {
  padding: 0 40px 0 14px;
  font-size: .84rem;
}
.careers-search-inner .form-input {
  padding: 0 14px;
  font-size: .86rem;
}
.filter-toggle-group {
  display: flex; gap: 2px;
}
.filter-toggle-btn {
  padding: 10px 16px; text-align: center;
  font-family: 'Barlow', sans-serif;
  font-size: .72rem; font-weight: 400; letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-muted);
  background: #fff; border: 1px solid var(--gold-dim);
  cursor: pointer; transition: all .25s;
}
.filter-toggle-btn.active {
  background: var(--espresso); color: var(--warm-cream);
  border-color: var(--espresso);
}
.careers-search-btn {
  padding: 12px 28px; background: var(--gold);
  font-family: 'Barlow', sans-serif;
  font-size: .72rem; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; color: #fff;
  border: none; cursor: pointer; transition: background .3s;
}
.careers-search-btn:hover { background: var(--gold-light); }

.careers-body { background: var(--light-cream); padding: 48px 64px 72px; }
.careers-body-inner { max-width: 1200px; margin: 0 auto; }
.job-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.job-card {
  background: #fff; border: 1px solid var(--gold-dim);
  padding: 28px 30px; position: relative;
  transition: box-shadow .3s, border-color .3s;
}
.job-card:hover {
  box-shadow: 0 4px 20px rgba(24,13,8,.06);
  border-color: var(--gold);
}
.job-card.featured { border-left: 3px solid var(--gold); }
.job-card-head {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 14px; margin-bottom: 4px;
}
.job-card-head .job-card-title { margin-bottom: 0; flex: 1; min-width: 0; }
.job-card-head .job-card-date { flex-shrink: 0; white-space: nowrap; }
.job-card-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem; font-weight: 400; line-height: 1.25;
  color: var(--espresso); margin-bottom: 4px;
}
.job-card-title a {
  color: inherit; text-decoration: none;
  transition: color .3s;
}
.job-card-title a:hover { color: var(--gold); }
.job-card-company {
  font-size: .82rem; font-weight: 300; color: var(--text-muted);
  margin-bottom: 12px;
}
.job-card-meta {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-bottom: 14px;
}
.job-card-tag {
  font-size: .65rem; font-weight: 400; letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-muted);
  background: var(--light-cream); padding: 4px 10px;
}
.job-card-salary {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; font-weight: 400; color: var(--espresso);
  margin-bottom: 12px;
}
.job-card-salary .currency { font-size: .78rem; color: var(--text-muted); }
.job-card-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.job-card-date {
  font-size: .7rem; color: var(--text-muted);
  font-weight: 300;
}

.badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: .62rem; font-weight: 500; letter-spacing: .06em;
  text-transform: uppercase; padding: 4px 10px;
  border: 1px solid var(--gold-dim); color: var(--text-muted);
}
.badge-visa { background: rgba(184,148,42,.08); color: var(--gold); border-color: var(--gold); }
.badge-accommodation { background: rgba(42,24,16,.06); color: var(--mid-brown); }
.badge-transport { background: rgba(42,24,16,.06); color: var(--mid-brown); }
.badge-emiratisation { background: rgba(0,100,0,.06); color: #2d6a2d; border-color: rgba(0,100,0,.2); }
.badge-featured {
  background: var(--gold); color: #fff; border-color: var(--gold);
  font-weight: 600;
}
.badge-full_time { background: rgba(184,148,42,.08); }
.badge-part_time { background: rgba(42,24,16,.04); }
.badge-contract { background: rgba(42,80,140,.06); color: #2a507d; border-color: rgba(42,80,140,.15); }
.badge-freelance { background: rgba(120,60,140,.06); color: #6a3a7d; border-color: rgba(120,60,140,.15); }
.badge-category { background: var(--light-cream); }

.job-detail { padding: 100px 64px 72px; background: var(--light-cream); }
.job-detail-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 340px; gap: 48px;
  align-items: start;
}
.job-detail-main h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem; font-weight: 400; color: var(--espresso);
  margin: 32px 0 14px;
}
.job-detail-main h2:first-child { margin-top: 0; }
.job-detail-main p,
.job-detail-main li {
  font-size: .9rem; font-weight: 300; line-height: 1.8;
  color: var(--text-main);
}
.job-detail-main ul { padding-left: 20px; margin: 10px 0; }
.job-detail-main li { margin-bottom: 6px; }
.job-detail-main li::marker { color: var(--gold); }
.job-detail-benefits {
  display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0;
}
.job-detail-sidebar {
  background: #fff; border: 1px solid var(--gold-dim);
  padding: 28px; position: sticky; top: 100px;
}
.job-detail-sidebar h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem; font-weight: 400; color: var(--espresso);
  margin-bottom: 18px;
}
.sidebar-info { margin-bottom: 16px; }
.sidebar-info-label {
  font-size: .65rem; font-weight: 500; letter-spacing: .12em;
  text-transform: uppercase; color: var(--text-muted); margin-bottom: 2px;
}
.sidebar-info-value { font-size: .9rem; color: var(--text-main); }
.btn-apply {
  display: block; width: 100%; padding: 14px;
  background: var(--gold); color: #fff; text-align: center;
  font-family: 'Barlow', sans-serif;
  font-size: .76rem; font-weight: 500; letter-spacing: .16em;
  text-transform: uppercase; border: none;
  cursor: pointer; transition: background .3s; margin-bottom: 10px;
  text-decoration: none;
}
.btn-apply:hover { background: var(--gold-light); }
.btn-save {
  display: block; width: 100%; padding: 12px;
  background: transparent; color: var(--text-muted);
  text-align: center; font-family: 'Barlow', sans-serif;
  font-size: .72rem; font-weight: 400; letter-spacing: .12em;
  text-transform: uppercase;
  border: 1px solid var(--gold-dim); cursor: pointer;
  transition: all .3s; text-decoration: none;
}
.btn-save:hover { border-color: var(--gold); color: var(--gold); }

.careers-form-wrap {
  max-width: 520px; margin: 48px auto;
  background: #fff; border: 1px solid var(--gold-dim);
  padding: 40px;
}
.careers-form-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem; font-weight: 400; color: var(--espresso);
  text-align: center; margin-bottom: 8px;
}
.careers-form-subtitle {
  font-size: .85rem; font-weight: 300; color: var(--text-muted);
  text-align: center; margin-bottom: 28px;
}
.careers-form .form-group { margin-bottom: 18px; }
.careers-form .form-input,
.careers-form .form-select { width: 100%; }
.auth-toggle {
  display: flex; margin-bottom: 28px; border: 1px solid var(--gold-dim);
}
.auth-toggle-btn {
  flex: 1; padding: 12px; text-align: center;
  font-family: 'Barlow', sans-serif;
  font-size: .74rem; font-weight: 400; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-muted);
  background: transparent; border: none; cursor: pointer;
  transition: all .25s;
}
.auth-toggle-btn.active {
  background: var(--espresso); color: var(--warm-cream);
}
.auth-panel { display: none; }
.auth-panel.active { display: block; }
.form-submit {
  width: 100%; padding: 14px; margin-top: 8px;
  background: var(--gold); color: #fff;
  font-family: 'Barlow', sans-serif;
  font-size: .76rem; font-weight: 500; letter-spacing: .16em;
  text-transform: uppercase; border: none;
  cursor: pointer; transition: background .3s;
}
.form-submit:hover { background: var(--gold-light); }
.form-link {
  display: block; text-align: center; margin-top: 18px;
  font-size: .82rem; font-weight: 300; color: var(--gold);
  text-decoration: none; transition: color .3s;
}
.form-link:hover { color: var(--gold-light); }
.form-error {
  font-size: .78rem; color: #b33; margin-top: 4px;
}

.upload-zone {
  border: 2px dashed var(--gold-dim);
  padding: 40px 24px; text-align: center;
  cursor: pointer; transition: border-color .3s, background .3s;
}
.upload-zone:hover,
.upload-zone.drag-over {
  border-color: var(--gold); background: rgba(184,148,42,.03);
}
.upload-zone-icon {
  font-size: 2rem; color: var(--gold-dim); margin-bottom: 10px;
}
.upload-zone-text {
  font-size: .85rem; font-weight: 300; color: var(--text-muted);
}
.upload-zone-text strong { font-weight: 500; color: var(--gold); }
.upload-zone-hint {
  font-size: .7rem; color: var(--text-muted); opacity: .6;
  margin-top: 6px;
}
.upload-progress {
  margin-top: 14px; display: none;
}
.upload-progress.active { display: block; }
.upload-progress-bar {
  width: 100%; height: 4px; background: var(--gold-dim);
  overflow: hidden;
}
.upload-progress-fill {
  height: 100%; background: var(--gold);
  width: 0; transition: width .3s;
}
.upload-file-info {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 10px; font-size: .78rem; color: var(--text-muted);
}
.upload-file-name { font-weight: 400; }
.upload-file-remove {
  color: #b33; cursor: pointer; font-size: .72rem;
  background: none; border: none;
}

.toast-container {
  position: fixed; bottom: 24px; right: 24px;
  z-index: 9999; display: flex; flex-direction: column; gap: 10px;
}
.toast {
  padding: 14px 22px; min-width: 280px;
  font-size: .82rem; font-weight: 400; color: #fff;
  box-shadow: 0 4px 18px rgba(0,0,0,.15);
  transform: translateX(120%); opacity: 0;
  transition: transform .4s ease, opacity .4s ease;
}
.toast.show { transform: translateX(0); opacity: 1; }
.toast-success { background: #2d6a2d; }
.toast-error { background: #a33; }
.toast-info { background: var(--gold); color: var(--espresso); }

.pagination, #job-pagination, #talent-pagination {
  display: flex; justify-content: center; align-items: center;
  gap: 8px; margin-top: 40px; padding: 20px 0;
}
.pagination a, .pagination span,
#job-pagination a, #job-pagination span,
#talent-pagination a, #talent-pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 14px;
  font-family: 'Barlow', sans-serif;
  font-size: .78rem; font-weight: 400; letter-spacing: .04em;
  color: var(--espresso); text-decoration: none;
  border: 1px solid var(--gold-dim); background: #fff;
  transition: all .25s; cursor: pointer;
}
.pagination a:hover, #job-pagination a:hover, #talent-pagination a:hover {
  border-color: var(--gold); color: var(--gold); background: rgba(184,148,42,.04);
}
.pagination .active, #job-pagination .active, #talent-pagination .active {
  background: var(--gold); color: #fff; border-color: var(--gold); font-weight: 500;
}
.pagination .disabled, #job-pagination .disabled, #talent-pagination .disabled {
  opacity: .3; pointer-events: none; cursor: default;
}

.dash-wrap {
  display: grid; grid-template-columns: 240px 1fr;
  min-height: calc(100vh - 68px); margin-top: 68px;
}
.dash-sidebar {
  background: var(--espresso); padding: 32px 0;
  border-right: 1px solid rgba(245,239,230,.06);
}
.dash-sidebar-nav { list-style: none; }
.dash-sidebar-nav a {
  display: block; padding: 12px 28px;
  font-size: .76rem; font-weight: 400; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(245,239,230,.4);
  text-decoration: none; transition: all .25s;
  border-left: 3px solid transparent;
}
.dash-sidebar-nav a:hover { color: var(--warm-cream); background: rgba(255,255,255,.03); }
.dash-sidebar-nav a.active {
  color: var(--gold-light); border-left-color: var(--gold);
  background: rgba(184,148,42,.06);
}
/* min-width:0 is required on grid-1fr children so wide content (e.g. the Saved
   Candidates table) doesn't blow the 1fr track past the viewport. Without it, grid
   items default to min-width:auto (= their content width). */
.dash-main { padding: 36px 48px; background: var(--light-cream); min-width: 0; overflow-x: hidden; }
.dash-main h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem; font-weight: 400; color: var(--espresso);
  margin-bottom: 28px;
}
.dash-tabs {
  display: flex; gap: 2px; margin-bottom: 28px;
  border-bottom: 1px solid var(--gold-dim);
}
.dash-tab {
  padding: 10px 22px; background: none; border: none;
  font-family: 'Barlow', sans-serif;
  font-size: .74rem; font-weight: 400; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-muted);
  cursor: pointer; transition: all .25s;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.dash-tab:hover { color: var(--espresso); }
.dash-tab.active { color: var(--gold); border-bottom-color: var(--gold); }

.profile-completeness { margin-bottom: 28px; }
.profile-completeness-label {
  display: flex; justify-content: space-between; margin-bottom: 6px;
}
.profile-completeness-label span {
  font-size: .72rem; font-weight: 400; letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-muted);
}
.profile-completeness-label strong {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; font-weight: 400; color: var(--gold);
}
.profile-bar { height: 6px; background: var(--gold-dim); width: 100%; }
.profile-bar-fill {
  height: 100%; background: var(--gold);
  transition: width .5s ease;
}

.app-pipeline {
  display: flex; align-items: center; gap: 0;
  margin: 18px 0; overflow-x: auto;
}
.app-pipeline-step {
  display: flex; align-items: center; gap: 0;
}
.app-pipeline-dot {
  width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid var(--gold-dim);
  background: #fff; flex-shrink: 0;
  position: relative;
}
.app-pipeline-dot.done { background: var(--gold); border-color: var(--gold); }
.app-pipeline-dot.current {
  background: #fff; border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(184,148,42,.2);
}
.app-pipeline-line {
  width: 32px; height: 2px; background: var(--gold-dim); flex-shrink: 0;
}
.app-pipeline-line.done { background: var(--gold); }
.app-pipeline-label {
  position: absolute; top: 20px; left: 50%; transform: translateX(-50%);
  font-size: .58rem; letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-muted); white-space: nowrap;
}
.app-pipeline-label.done { color: var(--gold); }

.modal-overlay {
  position: fixed; inset: 0; z-index: 9990;
  background: rgba(24,13,8,.55); backdrop-filter: blur(4px);
  display: none; align-items: center; justify-content: center;
}
.modal-overlay.open { display: flex; }
.modal {
  background: #fff; max-width: 500px; width: 90%;
  padding: 36px; position: relative;
  border: 1px solid var(--gold-dim);
}
.modal-close {
  position: absolute; top: 14px; right: 18px;
  background: none; border: none; font-size: 1.2rem;
  color: var(--text-muted); cursor: pointer;
}
.modal h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem; font-weight: 400; color: var(--espresso);
  margin-bottom: 14px;
}
.modal p { font-size: .88rem; font-weight: 300; line-height: 1.7; margin-bottom: 22px; }
.modal-actions { display: flex; gap: 12px; justify-content: flex-end; }
.modal-btn {
  padding: 10px 24px; font-family: 'Barlow', sans-serif;
  font-size: .74rem; font-weight: 400; letter-spacing: .1em;
  text-transform: uppercase; border: none; cursor: pointer;
  transition: all .25s;
}
.modal-btn-primary { background: var(--gold); color: #fff; }
.modal-btn-primary:hover { background: var(--gold-light); }
.modal-btn-secondary {
  background: transparent; color: var(--text-muted);
  border: 1px solid var(--gold-dim);
}
.modal-btn-secondary:hover { border-color: var(--gold); color: var(--gold); }

.salary-range {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem; font-weight: 400; color: var(--espresso);
}
.salary-currency {
  font-family: 'Barlow', sans-serif;
  font-size: .72rem; font-weight: 500; letter-spacing: .06em;
  color: var(--text-muted); margin-right: 2px;
}
.salary-period {
  font-family: 'Barlow', sans-serif;
  font-size: .7rem; font-weight: 300; color: var(--text-muted);
}

/* ── RESPONSIVE: 1100px ── */
@media (max-width: 1100px) {
  .careers-hero { padding: 100px 36px 56px; }
  .careers-search-bar { padding: 16px 36px; }
  .careers-body { padding: 36px 36px 56px; }
  .job-grid { grid-template-columns: 1fr; }
  .job-detail { padding: 88px 36px 36px; }
  .job-detail-inner { grid-template-columns: 1fr; }
  .job-detail-sidebar { position: static; }
  .dash-wrap { grid-template-columns: 1fr; }
  .dash-sidebar {
    position: fixed; left: -260px; top: 68px; bottom: 0;
    width: 240px; z-index: 80; transition: left .3s;
  }
  .dash-sidebar.open { left: 0; }
  .dash-main { padding: 28px; }
}

/* ── RESPONSIVE: 640px ── */
@media (max-width: 640px) {
  .careers-hero { padding: 90px 20px 40px; }
  .careers-hero h1 { font-size: 1.7rem; }
  .careers-hero-stats { gap: 24px; flex-wrap: wrap; }
  .careers-search-bar { padding: 14px 20px; top: 56px; }
  .careers-search-inner { flex-direction: column; }
  .careers-search-inner .form-input,
  .careers-search-inner .form-select { min-width: 100%; }
  .careers-body { padding: 24px 20px 48px; }
  .job-card { padding: 20px; }
  .job-card-date { font-size: .62rem; }
  .job-card-head { flex-wrap: wrap; gap: 4px; }
  .job-detail { padding: 80px 20px 24px; }
  .job-detail-main h2 { font-size: 1.25rem; }
  .careers-form-wrap { padding: 24px; margin: 24px 16px; }
  .auth-toggle { flex-direction: column; }
  .dash-main { padding: 20px 16px; }
  .dash-main h1 { font-size: 1.4rem; }
  .app-pipeline { gap: 0; padding-bottom: 28px; }
  .modal { padding: 24px; }
  .modal-actions { flex-direction: column; }
  .toast-container { left: 16px; right: 16px; bottom: 16px; }
  .toast { min-width: auto; }
  .pagination a, .pagination span { min-width: 32px; height: 32px; font-size: .74rem; }
}

@media print {
  nav,.careers-search-bar,.btn-apply,.btn-save,.toast-container,
  .modal-overlay,.dash-sidebar,.pagination,.form-submit,.upload-zone { display:none !important; }
  .careers-hero { background:#fff; padding:20px 0; }
  .careers-hero h1 { color:#000; }
  .careers-hero-desc { color:#333; }
  .job-card { break-inside:avoid; border:1px solid #ccc; }
  .job-detail-inner { grid-template-columns:1fr; }
  .job-detail-sidebar { display:none; }
}

/* ═══ ONBOARDING FLOW ═══ */
.onb-wrap{max-width:640px;margin:0 auto;padding:32px 24px;}
.onb-progress{height:4px;background:var(--gold-dim,rgba(184,148,42,.15));margin-bottom:8px;}
.onb-progress-fill{height:100%;background:var(--gold);transition:width .4s ease;}
.onb-step-count{font-size:.68rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:32px;}
.onb-question{margin-bottom:28px;}
.onb-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:400;color:var(--espresso);margin-bottom:8px;}
.onb-subtitle{font-size:.88rem;font-weight:300;color:var(--text-muted);line-height:1.6;}
.onb-answers{margin-bottom:32px;display:flex;flex-wrap:wrap;gap:8px;}
.onb-chip,.onb-option{padding:10px 18px;font-family:'Barlow',sans-serif;font-size:.84rem;font-weight:300;color:var(--espresso);background:#fff;border:1px solid var(--gold-dim,rgba(184,148,42,.22));cursor:pointer;transition:all .2s;text-align:left;}
.onb-chip:hover,.onb-option:hover{border-color:var(--gold);background:rgba(184,148,42,.04);}
.onb-chip.selected,.onb-option.selected{background:var(--espresso);color:var(--warm-cream);border-color:var(--espresso);}
.onb-option{display:block;width:100%;}
.onb-select{width:100%;padding:12px 14px;font-family:'Barlow',sans-serif;font-size:.88rem;font-weight:300;border:1px solid var(--gold-dim);background:#fff;color:var(--espresso);cursor:pointer;}
.onb-text-input,.onb-textarea{width:100%;padding:14px 16px;font-family:'Barlow',sans-serif;font-size:.92rem;font-weight:300;border:1px solid var(--gold-dim);background:#fff;color:var(--espresso);outline:none;transition:border-color .2s;}
.onb-text-input:focus,.onb-textarea:focus{border-color:var(--gold);}
.onb-textarea{resize:vertical;min-height:100px;line-height:1.6;}
.onb-tag-wrap{display:flex;flex-wrap:wrap;gap:6px;padding:10px;border:1px solid var(--gold-dim);background:#fff;min-height:48px;cursor:text;width:100%;}
.onb-tag{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:var(--espresso);color:var(--warm-cream);font-size:.82rem;}
.onb-tag-x{background:none;border:none;color:rgba(245,239,230,.5);cursor:pointer;font-size:.9rem;padding:0 2px;}
.onb-tag-x:hover{color:#fff;}
.onb-tag-input{border:none;outline:none;font-family:'Barlow',sans-serif;font-size:.88rem;flex:1;min-width:160px;}
.onb-nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.onb-btn-next{padding:14px 32px;font-family:'Barlow',sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;background:var(--gold);color:var(--espresso);border:none;cursor:pointer;transition:background .2s;}
.onb-btn-next:hover{background:var(--gold-light,#D4AF5A);}
.onb-btn-back{padding:14px 24px;font-family:'Barlow',sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;background:none;color:var(--text-muted);border:1px solid var(--gold-dim);cursor:pointer;transition:all .2s;}
.onb-btn-back:hover{border-color:var(--gold);color:var(--espresso);}
.onb-btn-skip{padding:14px 20px;font-family:'Barlow',sans-serif;font-size:.72rem;font-weight:300;color:var(--text-muted);background:none;border:none;cursor:pointer;text-decoration:underline;}
.onb-complete-icon{text-align:center;margin-bottom:20px;}
.onb-complete-stats{display:flex;flex-direction:column;gap:8px;width:100%;}
.onb-stat{font-size:.88rem;font-weight:300;color:var(--text-muted);padding:12px 16px;background:rgba(184,148,42,.04);border-left:3px solid var(--gold);}
.onb-stat strong{color:var(--espresso);font-weight:500;}
/* Dual-handle salary slider */
.onb-range-slider{width:100%;}
.onb-range-label{text-align:center;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--espresso);margin-bottom:8px;}
.onb-range-track{position:relative;height:44px;margin:16px 0;}
.onb-range-track input[type="range"]{position:absolute;width:100%;top:0;height:44px;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;}
.onb-range-track input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--gold);border:2px solid var(--espresso);cursor:pointer;pointer-events:all;position:relative;z-index:2;}
.onb-range-track input[type="range"]::-webkit-slider-runnable-track{height:4px;background:var(--gold-dim);border-radius:2px;}
.onb-range-track input[type="range"]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--gold);border:2px solid var(--espresso);cursor:pointer;}

@media(max-width:640px){.onb-wrap{padding:24px 16px;}.onb-chip,.onb-option{font-size:.8rem;padding:8px 14px;}}

/* ═══ TALENT MARKETPLACE ═══ */
.talent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;}
.talent-card{background:#fff;border:1px solid var(--gold-dim,rgba(184,148,42,.15));padding:24px;position:relative;transition:box-shadow .2s,border-color .2s;}
.talent-card:hover{box-shadow:0 4px 20px rgba(24,13,8,.06);border-color:rgba(184,148,42,.3);}
.talent-card-hdr{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.talent-card-id{font-size:.68rem;font-weight:500;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;}
.talent-card-headline{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--espresso);margin-bottom:10px;line-height:1.4;}
.talent-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.talent-card-meta span{font-size:.74rem;font-weight:300;color:var(--text-muted);padding:3px 10px;background:var(--light-cream,#FAF7F2);border:1px solid rgba(184,148,42,.08);}
.talent-card-skills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;}
.talent-card-certs{margin-bottom:10px;}
.talent-cert{display:inline-block;font-size:.72rem;font-weight:400;color:var(--gold);padding:2px 0;margin-right:8px;}
.talent-cert::before{content:'\2713 ';font-size:.68rem;}
.talent-card-langs{font-size:.76rem;font-weight:300;color:var(--text-muted);margin-bottom:12px;}
.talent-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid rgba(184,148,42,.08);}
.talent-card-salary{font-size:.88rem;font-weight:400;color:var(--espresso);}
.talent-card-connect{padding:8px 20px;font-family:'Barlow',sans-serif;font-size:.68rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;background:var(--gold);color:var(--espresso);border:none;cursor:pointer;transition:background .2s;}
.talent-card-connect:hover{background:var(--gold-light,#D4AF5A);}
.talent-card-bar{height:3px;background:var(--gold-dim,rgba(184,148,42,.1));margin-top:14px;}
.talent-card-bar-fill{height:100%;background:var(--gold);transition:width .3s;}
@media(max-width:640px){.talent-grid{grid-template-columns:1fr;}}

/* ═══ PRICING ═══ */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pricing-card{background:#fff;border:1px solid var(--gold-dim,rgba(184,148,42,.15));padding:36px 28px;position:relative;display:flex;flex-direction:column;}
.pricing-card--featured{border-color:var(--gold);box-shadow:0 8px 32px rgba(184,148,42,.12);}
.pricing-card-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--espresso);font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:5px 16px;white-space:nowrap;}
.pricing-card-name{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--espresso);margin-bottom:8px;}
.pricing-card-price{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:600;color:var(--espresso);margin-bottom:4px;}
.pricing-card-price span{font-size:.88rem;font-weight:300;color:var(--text-muted);}
.pricing-card-period{font-size:.76rem;font-weight:300;color:var(--text-muted);margin-bottom:24px;}
.pricing-features{list-style:none;padding:0;margin:0 0 24px;flex:1;}
.pricing-features li{font-size:.84rem;font-weight:300;color:var(--text-muted);padding:6px 0;padding-left:22px;position:relative;border-bottom:1px solid rgba(184,148,42,.06);}
.pricing-features li.yes::before{content:'\2713';position:absolute;left:0;color:var(--gold);font-weight:500;}
.pricing-features li.no{color:rgba(107,79,58,.3);}
.pricing-features li.no::before{content:'\2014';position:absolute;left:0;color:rgba(107,79,58,.2);}
.pricing-card-addon{font-size:.76rem;font-weight:300;color:var(--text-muted);padding:12px 0;border-top:1px solid var(--gold-dim);margin-bottom:20px;}
.pricing-cta{display:block;text-align:center;padding:14px;font-family:'Barlow',sans-serif;font-size:.68rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;background:var(--gold);color:var(--espresso);border:1px solid var(--gold);transition:all .2s;cursor:pointer;}
.pricing-cta:hover{background:var(--gold-light,#D4AF5A);}
.pricing-cta--outline{background:transparent;color:var(--espresso);border:1px solid var(--gold-dim);}
.pricing-cta--outline:hover{border-color:var(--gold);background:rgba(184,148,42,.04);}
.pricing-toggle{display:inline-flex;border:1px solid var(--gold-dim,rgba(184,148,42,.22));background:#fff;}
.pricing-toggle-btn{padding:12px 28px;font-family:'Barlow',sans-serif;font-size:.78rem;font-weight:400;letter-spacing:.08em;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .2s;}
.pricing-toggle-btn.active{background:var(--espresso,#180D08);color:var(--warm-cream,#F5EFE6);}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}
@media(max-width:640px){.pricing-card{padding:28px 20px;}}

/* ── Uniform chevron on every form-input <select> ───────────────── */
select.form-input, select.form-select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 20 20' fill='%235c4a3f'><path d='M5 7l5 6 5-6z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px;
  padding-right: 36px;
}
select.form-input:disabled, select.form-select:disabled { opacity: .65; }

/* ── Custom multi-select (checkbox-dropdown) ─────────────────────── */
.form-multi { position: relative; }
.form-multi-trigger {
  width: 100%;
  text-align: left;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 20 20' fill='%235c4a3f'><path d='M5 7l5 6 5-6z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px;
  padding-right: 36px;
}
.form-multi-label {
  display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: var(--espresso, #180D08);
}
.form-multi-trigger[data-empty="1"] .form-multi-label { color: #8e8578; }
.form-multi-menu {
  display: none;
  position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 80;
  background: #fff;
  border: 1px solid var(--gold-dim, rgba(184,148,42,.25));
  box-shadow: 0 12px 28px rgba(24,13,8,.12);
  max-height: 280px; overflow-y: auto;
  padding: 6px 0;
}
.form-multi-menu.open { display: block; }
.form-multi-menu label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 14px;
  font-size: .86rem; color: var(--espresso, #180D08);
  cursor: pointer;
  font-family: 'Barlow', sans-serif;
}
.form-multi-menu label:hover { background: var(--light-cream, #FAF7F2); }
.form-multi-menu label input[type="checkbox"] {
  width: 16px; height: 16px; accent-color: var(--gold, #B8942A);
  margin: 0; flex-shrink: 0;
}

/* ── Sponsored job card — permanent gold outline ────────────────── */
.job-card-sponsored {
  border: 2px solid var(--gold, #B8942A) !important;
  border-left: 3px solid var(--gold, #B8942A) !important;
  box-shadow: 0 2px 12px rgba(184,148,42,.12);
  background: linear-gradient(180deg, #fff 0%, rgba(184,148,42,.02) 100%);
}
.job-card-sponsored:hover {
  border-color: var(--gold, #B8942A) !important;
  box-shadow: 0 6px 24px rgba(184,148,42,.2) !important;
}
