/* FSD Jobs v3: job-seeker UX overhaul (companies directory, vacancy page, contacts, Resume entrance).
   Loaded after jobs.css and jobs-v2.css. */

/* ── Companies directory: compact search + filter bar ── */
.jobs-dir-hero>div{flex:1 1 100%;min-width:0}
.jobs-dir-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:880px}
.jobs-dir-search input{width:100%;min-width:0}
.jobs-dir-search>.jobs-button{min-height:46px}
.jobs-dir-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}
.jobs-app .jobs-dir-filters select{width:auto;flex:1 1 170px;max-width:230px;min-height:42px}
.jobs-app .jobs-dir-filters .jobs-filter-check{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0 14px;min-height:42px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;font:650 13.5px Inter,sans-serif;cursor:pointer}
.jobs-app .jobs-dir-filters .jobs-filter-check input{width:17px!important;height:17px!important;min-height:0!important;min-width:0!important;margin:0;padding:0!important;flex:none;accent-color:#f6c1cd}
.jobs-app .jobs-dir-filters .jobs-muted{margin-left:auto;color:#ecd8de;font-size:13px}
@media(max-width:640px){.jobs-dir-search{grid-template-columns:1fr}.jobs-app .jobs-dir-filters select{max-width:none;flex:1 1 45%}.jobs-app .jobs-dir-filters .jobs-muted{margin-left:0;flex-basis:100%}}
.jobs-co-card-sub{display:block;margin-top:4px;font-size:12px;color:var(--j-muted)}
.jobs-company-card h3{font-size:16.5px}
.jobs-company-card .jobs-mini-facts{gap:6px}
.jobs-co-card-go{margin-left:auto;font-weight:700;color:var(--j-brand)}

/* ── Company header: cover credit inside the image (the logo used to cover it), cleaner overlap ── */
.jobs-co-head .jobs-employer-cover{position:relative;border:0}
.jobs-co-head .jobs-employer-cover>img{height:clamp(140px,17vw,200px)}
.jobs-co-head .jobs-employer-cover figcaption{position:absolute;right:10px;bottom:10px;padding:3px 9px;border-radius:999px;background:rgba(20,12,16,.55);color:#fff;font-size:10.5px;backdrop-filter:blur(4px)}
.jobs-co-head .jobs-employer-cover figcaption a{color:#fff}
.jobs-co-banner{height:clamp(110px,13vw,150px);overflow:hidden}
.jobs-co-id{align-items:center;gap:14px 18px;margin-top:-40px;padding-bottom:18px}
.jobs-co-id>div:nth-child(2){padding-top:44px;min-width:0}
.jobs-co-id .jobs-co-actions{padding-top:44px}
.jobs-co-id .jobs-logo,.jobs-co-id .jobs-monogram--xl{flex:none;background:#fff;border:4px solid #fff;border-radius:18px;box-shadow:0 10px 24px -12px rgba(0,0,0,.45)}
@media(max-width:760px){.jobs-co-id{margin-top:-34px}.jobs-co-id>div:nth-child(2),.jobs-co-id .jobs-co-actions{padding-top:0}.jobs-co-id>div:nth-child(2){flex-basis:100%}}
/* Overview leads with what a job seeker came for: open roles, then the hiring snapshot, then ratings. */
.jobs-co-layout>div:first-child{display:flex;flex-direction:column}
.jobs-co-layout [data-co="roles"]{order:-2}
.jobs-co-layout [data-co="snapshot"]{order:-1}
@media(min-width:1021px){.jobs-co-side{position:sticky;top:96px}}
.jobs-co-tabs{scrollbar-width:none}.jobs-co-tabs::-webkit-scrollbar{display:none}

/* ── Vacancy page: readable full-width text, contacts, insights ── */
.jobs-detail .jobs-preserve{max-width:none;font-size:14.5px;line-height:1.75;color:#2b2731}
.jobs-detail-heading>p:not(.jobs-employer):not(.jobs-meta){max-width:none;font-size:15px;line-height:1.7}
.jobs-detail>section{padding-top:22px;padding-bottom:22px}
.jobs-detail>section>h2{margin-bottom:10px}
.jobs-hl{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:7px;font-weight:700;text-decoration:none;white-space:nowrap;overflow-wrap:normal}
.jobs-hl--email{background:#eaf2ff;color:#1e4fc2;border:1px solid #cbdafc}
.jobs-hl--phone{background:#e5f6ec;color:#0b7a47;border:1px solid #bfe6cf}
.jobs-hl:hover{filter:brightness(.95);text-decoration:underline}
.jobs-contact-card{margin:18px 0 0;padding:16px 18px!important;border:1.5px solid #f0d6a6;border-radius:14px;background:#fffaf0}
.jobs-contact-card h2{display:flex;align-items:center;gap:8px;font-size:18px;margin:0 0 10px}
.jobs-contact-list{display:grid;gap:8px}
.jobs-contact-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.jobs-contact-item .jobs-hl{font-size:15px;padding:5px 12px}
.jobs-contact-kind{min-width:68px;font:800 11px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#92520b}
.jobs-contact-copy,.jobs-contact-wa{min-height:32px;padding:4px 12px;border-radius:8px;border:1px solid #e3dde1;background:#fff;font:700 12px Inter,sans-serif;color:#3a3440;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.jobs-contact-wa{border-color:#bfe6cf;color:#0b7a47}
.jobs-contact-card .jobs-muted{margin:10px 0 0;font-size:12.5px}
.jobs-insight .jobs-muted{margin:0 0 12px;font-size:13px}
.jobs-skill-key{display:inline-flex;align-items:center;gap:5px;margin-left:6px;font-weight:600}
.jobs-skill-key i{width:10px;height:10px;border-radius:3px;background:#0f766e}
.jobs-skill-chips{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0 0 12px;padding:0}
.jobs-skill-chips li{padding:5px 11px;border-radius:999px;background:#f4f2f4;border:1px solid #e8e3e6;font:600 12.5px Inter,sans-serif;color:#3a3440}
.jobs-skill-chips li.is-in{background:#e6f5f2;border-color:#9fd8cd;color:#0b5f56}
.jobs-skill-chips li.is-in:before{content:"✓ ";font-weight:800}
.jobs-pay-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:560px}
.jobs-pay-band div{padding:12px 14px;border-radius:12px;background:#f6f7f9;border:1px solid #e8eaee}
.jobs-pay-band div.is-mid{background:#e5f6ec;border-color:#bfe6cf}
.jobs-pay-band span{display:block;font:700 11px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#6b6875}
.jobs-pay-band strong{display:block;margin-top:3px;font:800 18px Inter,sans-serif;color:#20212a}
.jobs-pay-this{margin:10px 0 0;font-size:13.5px}
.jobs-qs{margin:0;padding-left:20px;display:grid;gap:8px;font-size:14px;line-height:1.55;color:#2b2731}
.jobs-check{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.jobs-check li{display:grid;grid-template-columns:22px 1fr;gap:2px 10px;font-size:13.5px;line-height:1.5}
.jobs-check li:before{content:"✓";grid-row:span 2;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e5f6ec;color:#0b7a47;font-weight:800;font-size:12px}
.jobs-check strong{color:#20212a}
.jobs-check span{color:#5d6470}
@media(min-width:1021px){.jobs-detail-aside{position:sticky;top:96px;align-self:start}}
@media(max-width:640px){.jobs-pay-band strong{font-size:15px}.jobs-contact-kind{min-width:0;flex-basis:100%}}
.jobs-badge--contact{background:#eaf2ff;color:#1e4fc2;border:1px solid #cbdafc}
/* Quick filters (For you, Tracker): one compact row instead of full-width stacked fields. */
.jobs-app .jobs-quickfilter input[type=search]{width:auto;flex:1 1 240px}
.jobs-app .jobs-quickfilter select{width:auto;flex:0 1 190px;margin:0}
@media(max-width:640px){.jobs-app .jobs-quickfilter select{flex:1 1 45%}.jobs-app .jobs-quickfilter output{flex-basis:100%;margin-left:0}}
/* Tracker: five lanes fit a laptop without sideways scrolling; empty lanes say what goes there. */
@media(min-width:1100px){.jobs-kanban{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:visible}}
.jobs-lane{min-height:200px}
.jobs-lane:not(:has(.jobs-track-card)) .jobs-lane-drop{display:flex;align-items:center;justify-content:center;text-align:center;flex:1;min-height:110px;margin:4px 0 0;border:1.5px dashed color-mix(in srgb,var(--lane) 35%,#d8d2d6);border-radius:12px;color:var(--j-muted);font-size:12px;opacity:1}
.jobs-lane:not(:has(.jobs-track-card)) .jobs-lane-drop:before{content:"Nothing here yet · ";margin-right:3px}
/* Rich notice fields */
.jobs-detail-list{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14.5px;line-height:1.6;color:#2b2731}
.jobs-walkin{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#eef6ff;border:1px solid #cbdafc;font-size:14px;line-height:1.55}
.jobs-walkin strong{display:block;margin-bottom:2px;font:800 11px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#1e4fc2}

/* ── One palette for the vacancy page: brand maroon accents on neutral surfaces ── */
.jobs-app{--v3-brand:#831d32;--v3-tint:#fbf1f3;--v3-line:#efd9df;--v3-surface:#faf8f9;--v3-edge:#ece6ea}
.jobs-detail .jobs-facts,.jobs-dialog .jobs-detail .jobs-facts{background:var(--v3-surface);border:1px solid var(--v3-edge)}
.jobs-detail .jobs-fact--pay{background:transparent;padding-inline:0}
.jobs-detail .jobs-fact--pay dd{color:#0b6b43}
.jobs-hl--email,.jobs-hl--phone{background:var(--v3-tint);color:var(--v3-brand);border:1px solid var(--v3-line)}
.jobs-contact-card,.jobs-walkin{background:#fff;border:1px solid var(--v3-edge);border-left:4px solid var(--v3-brand);border-radius:12px}
.jobs-contact-kind,.jobs-walkin strong{color:var(--v3-brand)}
.jobs-contact-wa{border-color:var(--v3-line);color:var(--v3-brand)}
.jobs-skill-key i{background:var(--v3-brand)}
.jobs-skill-chips li{background:var(--v3-surface);border-color:var(--v3-edge)}
.jobs-skill-chips li.is-in{background:var(--v3-tint);border-color:var(--v3-line);color:var(--v3-brand)}
.jobs-pay-band div{background:var(--v3-surface);border-color:var(--v3-edge)}
.jobs-pay-band div.is-mid{background:var(--v3-tint);border-color:var(--v3-line)}
.jobs-pay-band div.is-mid strong{color:var(--v3-brand)}
.jobs-check li:before{background:var(--v3-tint);color:var(--v3-brand)}
.jobs-badge--contact{background:var(--v3-tint);color:var(--v3-brand);border:1px solid var(--v3-line)}
.jobs-app .jobs-detail[data-job-category] .jobs-facts,.jobs-app .jobs-detail .jobs-facts{background:var(--v3-surface)!important;border:1px solid var(--v3-edge)}
.jobs-app .jobs-facts .jobs-fact--pay{background:transparent;padding-inline:0;border-radius:0}
.jobs-app .jobs-facts dt{color:#6b6470}
.jobs-app .jobs-detail[data-job-category] h2{border-left-color:var(--v3-brand)!important}
.jobs-app .jobs-contact-card h2{border-left:0;padding-left:0}
.jobs-app .jobs-detail[data-job-category] .jobs-contact-card h2{border-left:0!important;padding-left:0!important}
.jobs-app .jobs-match-panel{background:#fff!important;border-color:var(--v3-edge)!important}.jobs-app .jobs-match-panel h2,.jobs-app .jobs-match-panel svg,.jobs-app .jobs-match-panel li svg{color:var(--v3-brand)!important}
