/* 2.9.4: quiet surfaces and shadows; geometry stays unchanged during async updates. */
:root{--section-background:var(--canvas);--panel-background:var(--paper);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-md)}

body{background:var(--section-background)}
.site-header,.hero,.search-page-head{background:var(--panel-background)}
.section:not(.section-soft){background:transparent}
/* Preserve the established spacing around content. */
.hero.wrap,.section.wrap{padding-inline:clamp(16px,2.5vw,32px)}
.section-soft,.site-footer,.candidate-space,.employer-space{background:var(--section-background)}
.job-card,.candidate-panel,.employer-panel,.stat-card,.directory-card,.category-card,.company-card,.employer-card,.discovery-card{box-shadow:var(--card-shadow);background:var(--panel-background)}
.job-card:hover,.job-card:focus-within,.directory-card:hover,.company-card:hover{box-shadow:var(--card-shadow-hover)}
.search-form .advanced-search,.search-form .advanced-panel{background:var(--section-background)}
.editorial-note{background:var(--section-background);border:1px solid var(--line);padding:1rem 1.25rem;margin:1rem 0}
.editorial-note p{line-height:1.65;max-width:85ch}.editorial-note h2{font-size:1.05rem;font-weight:700;margin-bottom:.5rem}
.language-form{display:flex;align-items:center;margin:0;flex:none}.language-form .language{font-family:inherit;font-weight:600;font-size:12px;line-height:1.4;min-width:52px;min-height:40px;max-width:65px;border:1px solid transparent;border-radius:7px;padding:6px 4px;background:var(--panel-background);color:var(--ink);cursor:pointer}.language-form .language:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.candidate-form,.employer-list,.candidate-table-wrap{min-width:0}.candidate-panel,.job-card{overflow-wrap:anywhere}
@media(max-width:700px){.language-form .language{min-width:48px;max-width:52px}.editorial-note{padding:1rem}.candidate-panel{max-width:100%}}
@media(prefers-reduced-motion:reduce){.job-card{transition:none}}

/* Shared page heading; data and forms are rendered by their original views. */
.page-heading-band{padding:42px 0 44px;background:var(--paper);color:var(--ink)}
.page-heading-inner{min-width:0}
.page-heading-band .hero{padding:0;background:transparent}
.page-heading-band .directory-heading,.page-heading-band .company-profile-head,.page-heading-band .job-detail-head{padding:0;margin:0;border:0}
.page-heading-band .candidate-heading{margin:0;align-items:flex-start}
.page-heading-band .candidate-nav{margin-bottom:0;flex-wrap:wrap;overflow:visible}
.page-heading-band .company-profile-head>div,.page-heading-band .candidate-heading>div{min-width:0}
.page-heading-band .job-detail-head .detail-company-row{margin-bottom:18px}
.page-heading-band p{max-width:85ch;overflow-wrap:anywhere}
.page-body{padding-top:32px}
.page-body>.directory-grid:first-child,.page-body>.employer-grid:first-child{margin-top:0}
.page-heading-band+.numbers,.page-heading-band+[data-journey-resume]:empty+.numbers{padding-top:28px}
/* Public heading colors and geometry are owned by page-heading.css. */
@media print{
 :root[data-theme="dark"] :is(.search-page-head,.page-heading-band):where(:not(.home-heading)){background:#fff;color:#202532}
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band){background:#fff;color:#202532}
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) h1,
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) .breadcrumbs,
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) .breadcrumbs a,
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) .browse-sub,
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) .browse-sub a{color:#202532}
 :root:not([data-theme="dark"]) .page-heading-band :is(h2,p,small,a,span,button){color:#202532!important}
}

/* 2.9.9: primary action in the job-detail application card. */
.apply-card>.button.full{background:var(--accent-action);border-color:var(--accent-action);color:#fff}
.apply-card>.button.full:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}

/* Shared reading surface for jobs and institutional pages. */
.job-detail{background:var(--panel-background);box-shadow:var(--card-shadow)}

/* Muted, language-independent labels on all direct and sponsored job cards. */
:root .job-card .job-tags>span[data-job-tag]{background:var(--job-tag-bg,var(--surface));color:var(--job-tag-ink,var(--muted))}
.job-card [data-job-tag=full_time]{--job-tag-bg:#eef2ff;--job-tag-ink:#3b4b91}
.job-card [data-job-tag=part_time]{--job-tag-bg:#fff4e8;--job-tag-ink:#8a5420}
.job-card [data-job-tag=contract]{--job-tag-bg:#eaf7f7;--job-tag-ink:#246666}
.job-card [data-job-tag=temporary]{--job-tag-bg:#f7f3e8;--job-tag-ink:#75602a}
.job-card [data-job-tag=internship]{--job-tag-bg:#fceff6;--job-tag-ink:#8b4670}
.job-card [data-job-tag=apprenticeship]{--job-tag-bg:#f2edfb;--job-tag-ink:#65428c}
.job-card [data-job-tag=onsite]{--job-tag-bg:#edf4fb;--job-tag-ink:#365f82}
.job-card [data-job-tag=hybrid]{--job-tag-bg:#f4effb;--job-tag-ink:#6c4d8c}
.job-card [data-job-tag=remote]{--job-tag-bg:#eaf6ef;--job-tag-ink:#2e6748}
:root[data-theme=dark] .job-card [data-job-tag=full_time]{--job-tag-bg:#242d47;--job-tag-ink:#c1ccf2}
:root[data-theme=dark] .job-card [data-job-tag=part_time]{--job-tag-bg:#3b2e23;--job-tag-ink:#e9c5a2}
:root[data-theme=dark] .job-card [data-job-tag=contract]{--job-tag-bg:#203738;--job-tag-ink:#abd5d5}
:root[data-theme=dark] .job-card [data-job-tag=temporary]{--job-tag-bg:#383323;--job-tag-ink:#dbceaa}
:root[data-theme=dark] .job-card [data-job-tag=internship]{--job-tag-bg:#3b2835;--job-tag-ink:#e4bbd1}
:root[data-theme=dark] .job-card [data-job-tag=apprenticeship]{--job-tag-bg:#30263d;--job-tag-ink:#d4bce8}
:root[data-theme=dark] .job-card [data-job-tag=onsite]{--job-tag-bg:#233343;--job-tag-ink:#b6cfe4}
:root[data-theme=dark] .job-card [data-job-tag=hybrid]{--job-tag-bg:#322a40;--job-tag-ink:#d2c0e6}
:root[data-theme=dark] .job-card [data-job-tag=remote]{--job-tag-bg:#21372b;--job-tag-ink:#b4d8c1}

/* Listing criteria share the compact tags, without extra browser or per-card requests. */
:root body .job-card .job-place{color:#cd29c0}
:root[data-theme=dark] body .job-card .job-place{color:#f4a9e9}
:root body .job-card .job-place>.icon{color:inherit}
.job-card .job-tags>span{overflow-wrap:anywhere}
.job-card [data-job-tag^="filter-"]{--job-tag-bg:#edf4fb;--job-tag-ink:#365f82}
.job-card :is([data-job-tag=filter-level],[data-job-tag=filter-scope]){--job-tag-bg:#f4effb;--job-tag-ink:#6c4d8c}
.job-card :is([data-job-tag=filter-experience],[data-job-tag=filter-sponsorship]){--job-tag-bg:#eaf6ef;--job-tag-ink:#2e6748}
.job-card [data-job-tag=filter-skill]{--job-tag-bg:#eaf7f7;--job-tag-ink:#246666}
.job-card :is([data-job-tag=filter-salary_known],[data-job-tag=filter-period]){--job-tag-bg:#fff4e8;--job-tag-ink:#8a5420}
.job-card [data-job-tag=filter-industry]{--job-tag-bg:#fceff6;--job-tag-ink:#8b4670}
:root[data-theme=dark] .job-card [data-job-tag^="filter-"]{--job-tag-bg:#233343;--job-tag-ink:#b6cfe4}
:root[data-theme=dark] .job-card :is([data-job-tag=filter-level],[data-job-tag=filter-scope]){--job-tag-bg:#322a40;--job-tag-ink:#d2c0e6}
:root[data-theme=dark] .job-card :is([data-job-tag=filter-experience],[data-job-tag=filter-sponsorship]){--job-tag-bg:#21372b;--job-tag-ink:#b4d8c1}
:root[data-theme=dark] .job-card [data-job-tag=filter-skill]{--job-tag-bg:#203738;--job-tag-ink:#abd5d5}
:root[data-theme=dark] .job-card :is([data-job-tag=filter-salary_known],[data-job-tag=filter-period]){--job-tag-bg:#3b2e23;--job-tag-ink:#e9c5a2}
:root[data-theme=dark] .job-card [data-job-tag=filter-industry]{--job-tag-bg:#3b2835;--job-tag-ink:#e4bbd1}

/* 2.10.41: location + employer, compact tags, then summary + salary on every card. */
.job-card .job-card-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;min-width:0;margin:0}
.job-card .job-card-meta .job-place{min-width:0;max-width:100%;margin:0;flex:0 1 auto}
.job-card .job-card-meta .company-name{min-width:0;max-width:100%;margin:0;overflow-wrap:anywhere}
.job-card .job-meta-separator{display:inline-block;margin-inline-end:9px;color:var(--muted);font-weight:400}
.job-card>.job-salary{font-weight:700}.job-card>.job-salary>strong{font-weight:inherit}
/* Keep all five visible tags distinct, including criteria with the same usual color. */
.job-card [data-job-tag][data-tag-tone=blue]{--job-tag-bg:#eef2ff;--job-tag-ink:#3b4b91}
.job-card [data-job-tag][data-tag-tone=sky]{--job-tag-bg:#edf4fb;--job-tag-ink:#365f82}
.job-card [data-job-tag][data-tag-tone=purple]{--job-tag-bg:#f4effb;--job-tag-ink:#6c4d8c}
.job-card [data-job-tag][data-tag-tone=green]{--job-tag-bg:#eaf6ef;--job-tag-ink:#2e6748}
.job-card [data-job-tag][data-tag-tone=amber]{--job-tag-bg:#fff4e8;--job-tag-ink:#8a5420}
.job-card [data-job-tag][data-tag-tone=teal]{--job-tag-bg:#eaf7f7;--job-tag-ink:#246666}
.job-card [data-job-tag][data-tag-tone=pink]{--job-tag-bg:#fceff6;--job-tag-ink:#8b4670}
.job-card [data-job-tag][data-tag-tone=sand]{--job-tag-bg:#f7f3e8;--job-tag-ink:#75602a}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=blue]{--job-tag-bg:#242d47;--job-tag-ink:#c1ccf2}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=sky]{--job-tag-bg:#233343;--job-tag-ink:#b6cfe4}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=purple]{--job-tag-bg:#322a40;--job-tag-ink:#d2c0e6}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=green]{--job-tag-bg:#21372b;--job-tag-ink:#b4d8c1}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=amber]{--job-tag-bg:#3b2e23;--job-tag-ink:#e9c5a2}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=teal]{--job-tag-bg:#203738;--job-tag-ink:#abd5d5}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=pink]{--job-tag-bg:#3b2835;--job-tag-ink:#e4bbd1}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=sand]{--job-tag-bg:#383323;--job-tag-ink:#dbceaa}
