/* Emplava 0.3.1. A single color system for both modes; no light-mode overrides
   are allowed to inherit dark WordPress palette values for text or note panels. */
html:root, .editor-styles-wrapper {
    color-scheme: dark;
    --em-canvas:#161d26; --em-surface:#1e2834; --em-surface-soft:#24313f;
    --em-ink:#f2f5fa; --em-muted:#b7c4d4; --em-line:#3a4a5d;
    --em-primary:#97c4ff; --em-success:#79dfbe; --em-note:#273b50; --em-note-ink:#e0edff;
    --em-button:#2262c6; --em-button-hover:#174fa6; --em-button-ink:#ffffff;
    --em-hero-a:rgba(63,133,218,.14); --em-hero-b:rgba(193,144,65,.10);
    --em-shadow:0 14px 40px rgba(0,0,0,.16); --em-radius:18px;
    --em-admin-offset:0px; --em-sticky-offset:88px;
    --wp--preset--color--ink:var(--em-ink); --wp--preset--color--muted:var(--em-muted);
    --wp--preset--color--surface:var(--em-surface); --wp--preset--color--canvas:var(--em-canvas);
    --wp--preset--color--line:var(--em-line); --wp--preset--color--primary:var(--em-primary);
    --wp--preset--color--primary-dark:var(--em-primary); --wp--preset--color--success:var(--em-success);
}
html[data-emplava-theme="light"] {
    color-scheme:light;
    --em-canvas:#f1f3f6; --em-surface:#fffdf9; --em-surface-soft:#f0f3f6;
    --em-ink:#182b42; --em-muted:#536477; --em-line:#d5dee8;
    --em-primary:#2459ad; --em-success:#086545; --em-note:#e9f0fa; --em-note-ink:#273e5c;
    --em-button:#225dc1; --em-button-hover:#174895; --em-button-ink:#ffffff;
    --em-hero-a:rgba(98,153,225,.10); --em-hero-b:rgba(236,187,96,.12);
    --em-shadow:0 14px 40px rgba(37,58,86,.07);
}
*, *::before, *::after {box-sizing:border-box;}
html {scroll-padding-top:108px;}
body {margin:0;background:var(--em-canvas);color:var(--em-ink);}
body.admin-bar {--em-admin-offset:32px;}
img,video {max-width:100%;height:auto;}
a {color:var(--em-primary);text-underline-offset:.18em;}
:where(a,button,input,textarea,select):focus-visible {outline:3px solid var(--em-primary);outline-offset:4px;}
:where(.em-vacancy-page,.em-aside,.em-job-card) {font-size:16px;line-height:1.55;}
:where(.em-vacancy-page,.em-aside,.em-job-card) p {margin:0 0 .65em;}
:where(.em-vacancy-page,.em-aside,.em-job-card) p:last-child {margin-bottom:0;}
.em-header-shell,.em-footer-shell {background:var(--em-surface);border-color:var(--em-line);color:var(--em-ink);}
.em-header-shell {border-bottom:1px solid var(--em-line);}
/* A sticky template-part wrapper, not a child trapped inside a one-row parent. */
.wp-site-blocks > header {position:sticky;top:var(--em-admin-offset);z-index:50;margin-block-start:0;}
.em-header-inner {min-height:68px;gap:16px;padding-block:10px;}
.em-brand-row {gap:10px;}
.em-brand-mark {display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:var(--em-button);color:#fff;font-weight:800;}
.em-header-shell .wp-block-site-title {margin:0;font-size:20px;font-weight:750;}
.em-header-shell .wp-block-site-title a {color:var(--em-ink);text-decoration:none;}
.em-header-shell .wp-block-group.is-layout-flex {gap:14px;}
.em-site-nav,.em-social-links {display:flex;align-items:center;flex-wrap:wrap;gap:16px;}
.em-site-nav a,.em-social-links a {font-size:14px;font-weight:650;color:var(--em-ink);text-decoration:none;}
.em-site-nav a:hover,.em-social-links a:hover {color:var(--em-primary);}
.em-theme-toggle {appearance:none;border:1px solid var(--em-line);width:44px;height:44px;flex:none;display:inline-grid;place-items:center;border-radius:12px;background:var(--em-surface-soft);color:var(--em-ink);font:inherit;font-size:21px;cursor:pointer;}
.em-theme-toggle:hover {border-color:var(--em-primary);}
.em-icon {display:inline-block;vertical-align:middle;flex:none;}
.em-main-shell {padding-block:28px 48px;}
.em-main-shell .alignwide {max-width:1280px;}
.em-vacancy-page > * {min-width:0;}
/* Hero + facts are a single composition. Avoid blockGap accumulating between them. */
.em-vacancy-intro {overflow:hidden;border:1px solid var(--em-line);border-radius:22px;background:var(--em-surface);box-shadow:var(--em-shadow);}
.em-vacancy-hero {padding:28px 32px;background:radial-gradient(ellipse at 96% 0%,var(--em-hero-b),transparent 53%),radial-gradient(ellipse at 0% 100%,var(--em-hero-a),transparent 56%),var(--em-surface);color:var(--em-ink);}
.em-vacancy-intro > .em-vacancy-hero {margin:0!important;border:0;border-radius:0;}
.em-hero-eyebrow {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:13px;}
.em-kicker {font-size:12px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--em-primary);font-weight:750;}
.em-work-mode {font-size:12px;line-height:1.4;color:var(--em-muted);padding-inline-start:12px;border-inline-start:1px solid var(--em-line);}
.em-title {margin:0!important;font-size:clamp(29px,3.3vw,46px);font-weight:780;line-height:1.12;letter-spacing:-.032em;max-width:1020px;text-wrap:balance;color:var(--em-ink);overflow-wrap:anywhere;}
.em-summary {max-width:90ch;margin:14px 0 0!important;font-size:16px;line-height:1.6;color:var(--em-muted);}
.em-facts {margin:0!important;}
.em-facts--band {border-top:1px solid var(--em-line);background:var(--em-surface-soft);}
.em-facts-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;}
.em-fact {padding:17px 22px;min-width:0;}
.em-fact + .em-fact {border-inline-start:1px solid var(--em-line);}
.em-fact-label {font-size:12px;line-height:1.4;color:var(--em-muted);margin-bottom:5px;}
.em-fact-value {margin:0;font-size:15px;line-height:1.4;font-weight:700;color:var(--em-ink);overflow-wrap:anywhere;}
.em-fact--salary .em-fact-value {color:var(--em-success);}
/* Stretch the right column to full row height. Sticky lives inside that column. */
.em-vacancy-columns.wp-block-columns {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(310px,344px);gap:20px;align-items:stretch!important;margin-top:20px!important;margin-bottom:0!important;}
.em-vacancy-columns > .wp-block-column {min-width:0;margin:0!important;}
.em-vacancy-columns > .wp-block-column:last-child {align-self:stretch!important;position:relative;overflow:visible;}
.em-vacancy-body {display:grid;gap:16px;}
.em-panel {border:1px solid var(--em-line);border-radius:var(--em-radius);background:var(--em-surface);overflow:hidden;color:var(--em-ink);}
.em-panel-heading {display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--em-line);background:var(--em-surface-soft);}
.em-panel-heading .em-icon {color:var(--em-primary);}
.em-panel-heading h2 {margin:0;font-size:19px;line-height:1.3;letter-spacing:-.015em;font-weight:740;color:var(--em-ink);}
.em-panel-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.em-section {min-width:0;padding:20px;border:0;border-radius:0;background:transparent;}
.em-section:nth-child(even):not(.em-section--wide) {border-inline-start:1px solid var(--em-line);}
.em-panel--terms .em-section {border-bottom:1px solid var(--em-line);}
.em-section--wide {grid-column:1 / -1;border-inline-start:0!important;}
.em-panel--terms .em-section:last-child {border-bottom:0;}
.em-section-heading {margin:0 0 10px!important;font-size:15px;font-weight:730;line-height:1.4;color:var(--em-ink);letter-spacing:0;}
.em-section-body {font-size:15px;line-height:1.6;color:var(--em-ink);overflow-wrap:anywhere;}
.em-section-body p {color:var(--em-ink);}
.em-section--additional .em-section-body {color:var(--em-muted);font-size:14px;}
.em-section--additional .em-section-body p {color:inherit;}
/* Real list semantics remain; markers are decorative, never claims that requirements are met. */
.em-section-body ul {list-style:none;margin:0;padding:0;}
.em-section-body ul li {position:relative;padding-inline-start:21px;margin:0;}
.em-section-body ul li + li {margin-top:8px;}
.em-section-body ul li::before {content:"";position:absolute;inset-inline-start:0;top:.68em;width:6px;height:6px;border:1px solid var(--em-primary);border-radius:2px;}
.em-list--dash ul li::before {top:.77em;width:9px;height:2px;border:0;border-radius:1px;background:var(--em-primary);}
.em-list--check ul li::before {top:.48em;inset-inline-start:2px;width:5px;height:9px;border:solid var(--em-success);border-width:0 2px 2px 0;border-radius:0;transform:rotate(45deg);}
.em-section-body ol {padding-inline-start:22px;margin:0;}
.em-section-body ol li + li {margin-top:8px;}
.em-section-body ul + p,.em-section-body p + ul {margin-top:10px;}
.em-aside {position:sticky;top:var(--em-sticky-offset,88px);display:grid;gap:10px;align-self:start;margin:0!important;}
.em-summary-card {padding:22px;border:1px solid var(--em-line);border-radius:var(--em-radius);background:var(--em-surface);box-shadow:var(--em-shadow);color:var(--em-ink);}
.em-summary-label {font-size:11px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--em-muted);margin-bottom:8px;font-weight:700;}
.em-salary-big {font-size:26px;font-weight:770;line-height:1.2;letter-spacing:-.025em;color:var(--em-success);margin-bottom:14px;overflow-wrap:anywhere;}
.em-detail-list {margin:0;}
.em-detail-row {display:grid;grid-template-columns:90px minmax(0,1fr);align-items:start;gap:10px;padding:11px 0;border-bottom:1px solid var(--em-line);}
.em-detail-row:last-child {border-bottom:0;}
.em-detail-row dt {font-size:12px;line-height:1.55;color:var(--em-muted);}
.em-detail-row dd {margin:0;text-align:right;font-size:14px;font-weight:650;line-height:1.55;color:var(--em-ink);overflow-wrap:anywhere;}
.em-schedule-link {display:block;margin-top:4px;font-size:12px;font-weight:500;color:var(--em-primary);text-decoration:none;}
.em-side-note {margin-top:16px;padding:13px 14px;border:1px solid var(--em-line);border-radius:12px;background:var(--em-note);color:var(--em-note-ink);font-size:13px;line-height:1.6;}
/* Explicit descendants are intentional: no inherited dark text in light mode. */
.em-side-note :where(p,li,span,strong,a),.em-side-note {color:var(--em-note-ink);opacity:1;}
.em-side-note p {margin:0;}
.em-side-note p + p {margin-top:8px;}
.em-note-label {color:var(--em-note-ink);font-size:12px;font-weight:750;margin-bottom:6px;}
.em-section--bonus .em-side-note {margin:0;}
.em-cta-wrap {display:grid;gap:8px;margin-top:16px;}
.em-cta {display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;padding:12px 14px;border:1px solid transparent;border-radius:11px;background:var(--em-button);color:var(--em-button-ink);text-decoration:none;font-size:14px;font-weight:720;line-height:1.35;text-align:center;}
.em-cta:hover {background:var(--em-button-hover);color:var(--em-button-ink);}
.em-cta--secondary {background:transparent;border-color:var(--em-line);color:var(--em-primary);}
.em-cta--secondary:hover {background:var(--em-surface-soft);color:var(--em-primary);}
.em-cta .em-icon {width:17px;height:17px;}
.em-retention-link {display:block;padding:8px 0 0;text-align:center;font-size:12px;font-weight:650;color:var(--em-primary);text-decoration:none;}
.em-mobile-actions {display:none;}
.emplava-language-switcher {display:flex;gap:6px;flex-wrap:wrap;}
.emplava-language-link {min-width:38px;min-height:38px;display:grid;place-items:center;border:1px solid var(--em-line);background:var(--em-surface-soft);border-radius:10px;color:var(--em-muted);font-size:12px;font-weight:700;text-decoration:none;}
.emplava-language-link.is-current {color:var(--em-primary);}
.em-aside .emplava-language-switcher {display:none;} /* Already available in the header. */
.em-footer-shell {margin-block-start:0;border-top:1px solid var(--em-line);}
.em-editorial-shell {padding:clamp(20px,4vw,36px);border:1px solid var(--em-line);border-radius:18px;background:var(--em-surface);color:var(--em-ink);}
.em-post-list .wp-block-post {padding-block:20px;border-bottom:1px solid var(--em-line);}
.em-archive-head {margin-bottom:20px;}
.em-archive-head h1 {font-size:36px;line-height:1.15;margin:0 0 8px;color:var(--em-ink);}
.em-archive-head p {color:var(--em-muted);margin:0;}
.em-jobs-query .wp-block-post-template {gap:16px;}
.em-job-card {height:100%;display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--em-line);border-radius:18px;background:var(--em-surface);color:var(--em-ink);}
.em-card-meta {display:flex;gap:8px;flex-wrap:wrap;}
.em-chip {border:1px solid var(--em-line);background:var(--em-surface-soft);padding:5px 9px;font-size:12px;line-height:1.5;color:var(--em-muted);border-radius:8px;}
.em-card-title {font-size:21px;line-height:1.3;margin:0;}
.em-card-title a {text-decoration:none;color:var(--em-ink);}
.em-job-card-summary {font-size:14px;color:var(--em-muted);margin:0;}
.em-card-bottom {display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:auto;padding-top:8px;}
.em-card-salary {font-size:15px;font-weight:750;color:var(--em-success);}
.em-card-link {font-size:13px;font-weight:650;color:var(--em-primary);text-decoration:none;}
/* Safe fallbacks when a saved Site Editor template still contains the previous classes. */
.em-content-card {border:1px solid var(--em-line);border-radius:18px;background:var(--em-surface);}
.em-content-card > .em-section {border-bottom:1px solid var(--em-line);}
.em-content-card > .em-section:last-child {border-bottom:0;}
@media (min-width:981px) { .em-vacancy-columns > .wp-block-column:first-child {container-type:inline-size;} }
@container (max-width:540px) {
    .em-panel-grid {grid-template-columns:1fr;}
    .em-section:nth-child(even):not(.em-section--wide) {border-inline-start:0;}
    .em-panel--work .em-section + .em-section {border-top:1px solid var(--em-line);}
}
@media (max-width:980px) {
    .em-vacancy-columns.wp-block-columns {grid-template-columns:1fr;}
    .em-aside {position:static;}
    .em-main-shell {padding-top:20px;}
}
@media (max-width:782px) {body.admin-bar {--em-admin-offset:46px;}}
@media (max-width:640px) {
    .em-header-inner {min-height:62px;gap:9px;padding-block:8px;}
    .em-header-shell .wp-block-group.is-layout-flex {gap:9px;}
    .em-header-shell .wp-block-site-title {font-size:18px;}
    .em-site-nav a {font-size:12px;}
    .em-theme-toggle {width:40px;height:40px;}
    .em-main-shell {padding-block:14px 30px;}
    .em-vacancy-intro {border-radius:17px;}
    .em-vacancy-hero {padding:21px 18px;}
    .em-hero-eyebrow {margin-bottom:10px;}
    .em-title {font-size:29px;line-height:1.14;letter-spacing:-.022em;text-wrap:initial;}
    .em-summary {font-size:14px;line-height:1.6;margin-top:12px!important;}
    .em-facts-list {grid-template-columns:repeat(2,minmax(0,1fr));}
    .em-fact {padding:13px 15px;}
    .em-fact + .em-fact {border-inline-start:0;}
    .em-fact:nth-child(even) {border-inline-start:1px solid var(--em-line);}
    .em-fact:nth-child(n+3) {border-top:1px solid var(--em-line);}
    .em-fact-value {font-size:14px;}
    .em-vacancy-columns.wp-block-columns {gap:15px;margin-top:15px!important;}
    .em-panel-grid {grid-template-columns:1fr;}
    .em-panel {border-radius:15px;}
    .em-panel-heading {padding:12px 16px;}
    .em-panel-heading h2 {font-size:18px;}
    .em-section {padding:16px;}
    .em-section:nth-child(even):not(.em-section--wide) {border-inline-start:0;}
    .em-panel--work .em-section + .em-section {border-top:1px solid var(--em-line);}
    .em-section-body {font-size:15px;line-height:1.6;}
    .em-summary-card {padding:20px;}
    .em-mobile-actions {display:flex;gap:8px;position:fixed;inset:auto 0 0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--em-surface);border-top:1px solid var(--em-line);}
    .em-mobile-actions .em-cta {flex:1;min-width:0;min-height:46px;}
    body:has(.em-mobile-actions) {padding-bottom:84px;}
    .em-card-bottom {flex-direction:column;}
}
@media (prefers-reduced-motion:no-preference) {
    .em-theme-toggle,.em-cta {transition:background-color .15s,border-color .15s;}
}
