/* Vakbrug — shared stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --teal:#0E4F5C;
  --teal-dark:#0A3A44;
  --amber:#D98E2B;
  --cream:#FAF8F4;
  --ink:#1B2A2E;
  --gray:#5B6A6E;
  --line:#E3E0D8;
  --radius:10px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Manrope', system-ui, sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
}
img{max-width:100%;display:block;}
.profile-self-report-note{font-size:14px;line-height:1.6;color:var(--teal);margin:12px 0;}
a{color:inherit;}
/* Reuse the existing, unmodified Vakbrug logo; there is no separate Exchange mark. */
[data-i18n="nav.exchange"]::before,
[data-i18n="employer.nav.exchange"]::before,
[data-i18n="exch.hero.title"]::before,
[data-i18n="equipment.eyebrow"]::before,
[data-i18n="public.biz.equipment.title"]::before,
[data-i18n="public.biz.equipment.link"]::before,
.vakbrug-exchange-name::before{
  content:"";
  display:inline-block;
  width:1.65em;height:1.65em;
  margin-right:.35em;vertical-align:middle;
  background:url("/assets/icon-color.png") center/180% no-repeat;
}
footer.site [data-i18n="nav.exchange"]::before{
  background-color:var(--cream);border-radius:.25em;
}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

/* ---------- Header / Nav ---------- */
header.site{
  background:var(--cream);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;max-width:1120px;margin:0 auto;flex-wrap:wrap;gap:12px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand svg{width:32px;height:32px;flex:none;}
.brand span{font-weight:800;font-size:20px;letter-spacing:0.5px;color:var(--teal);}
.navlinks{display:flex;gap:28px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.navlinks a{
  text-decoration:none;font-weight:600;font-size:15px;color:var(--ink);
  padding:6px 0;border-bottom:2px solid transparent;
}
.navlinks a:hover, .navlinks a.active{border-bottom-color:var(--amber);color:var(--teal);}

.lang-switch{display:flex;align-items:center;}
.lang-select{
  background:var(--cream);border:1px solid var(--line);color:var(--teal);
  font-weight:700;font-size:13px;padding:6px 28px 6px 12px;border-radius:6px;
  cursor:pointer;font-family:inherit;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%230E4F5C' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
}
.lang-select:hover, .lang-select:focus{border-color:var(--teal);outline:none;}

/* ---------- Hero ---------- */
.hero{
  background:var(--teal);
  color:var(--cream);
  padding:72px 24px 64px;
  text-align:center;
}
.hero .tag{
  display:inline-block;font-weight:700;letter-spacing:1px;font-size:13px;
  text-transform:uppercase;color:var(--amber);margin-bottom:18px;
}
.hero h1{font-size:40px;font-weight:800;margin:0 0 16px;line-height:1.15;}
.hero p.hero-slogan{font-size:22px;font-weight:600;font-style:normal;line-height:1.4;max-width:760px;margin:0 auto 16px;color:var(--cream);overflow-wrap:break-word;}
.hero p.lead{font-size:18px;max-width:680px;margin:0 auto 32px;color:#DDEAE8;}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

.btn{
  display:inline-block;padding:13px 26px;border-radius:6px;font-weight:700;
  text-decoration:none;font-size:15px;border:2px solid transparent;
}
.btn-amber{background:var(--amber);color:var(--ink);}
.btn-amber:hover{background:#C67F1F;}
.btn-outline{border-color:var(--cream);color:var(--cream);}
.btn-outline:hover{background:rgba(250,248,244,0.12);}

.page-hero{
  background:var(--teal);color:var(--cream);padding:56px 24px;text-align:center;
}
.page-hero h1{font-size:34px;font-weight:800;margin:0 0 12px;}
.page-hero p{max-width:640px;margin:0 auto;color:#DDEAE8;font-size:17px;}

/* ---------- Sections ---------- */
section{padding:64px 24px;}
section.alt{background:#F2EFE7;}
h2.section-title{
  font-size:28px;font-weight:800;color:var(--teal);margin:0 0 12px;text-align:center;
}
p.section-lead{
  text-align:center;max-width:720px;margin:0 auto 40px;color:var(--gray);font-size:16px;
}

/* Approved platform framework copy; use the existing Vakbrug/About theme. */
.policy-framework .framework-content{max-width:880px;margin:0 auto;}
.policy-framework .section-title{text-align:left;margin-bottom:24px;}
.policy-framework .framework-content p{color:var(--gray);line-height:1.8;margin:0;}
.policy-framework .framework-list{padding-left:24px;margin:24px 0 0;}
.policy-framework .framework-list li + li{margin-top:28px;}
.policy-framework .framework-list strong{color:var(--ink);}
.policy-framework .framework-list a{display:inline-block;margin-top:8px;overflow-wrap:anywhere;}
.policy-framework .page-hero h1{max-width:960px;margin:0 auto;text-wrap:balance;}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:800px){
  .grid-2, .grid-3{grid-template-columns:1fr;}
  .hero h1{font-size:30px;}
  .page-hero h1{font-size:26px;}
}

.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;
}
.card h3{color:var(--teal);font-size:19px;margin:0 0 10px;}
.card p{color:var(--gray);margin:0;font-size:15px;}
.card .icon{
  width:44px;height:44px;border-radius:8px;background:var(--teal);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  color:var(--amber);font-weight:800;font-size:18px;
}

.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:800px){.steps{grid-template-columns:1fr;}}
.step{position:relative;padding-left:52px;}
.step::before{
  counter-increment:step;content:counter(step);
  position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;
  background:var(--amber);color:var(--ink);font-weight:800;font-size:17px;
  display:flex;align-items:center;justify-content:center;
}
.step h3{margin:2px 0 8px;color:var(--teal);font-size:17px;}
.step p{margin:0;color:var(--gray);font-size:15px;}

.lane-example-inner{max-width:1120px;margin:0 auto;}
.lane-example-label{
  width:fit-content;margin:0 auto 18px;padding:7px 12px;border-radius:6px;
  background:#FFF4DF;color:#68400A;font-size:13px;line-height:1.5;
}
.lane-example-steps{margin:0 0 24px;}
.lane-example-source{margin:0 0 24px;color:var(--gray);font-size:14px;}
.lane-example-source a{color:var(--teal);text-decoration:underline;}

/* Tier / list blocks */
.tier{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 28px 22px;margin-bottom:22px;
}
.tier h3{color:var(--teal);font-size:20px;margin:0 0 6px;}
.tier .meta{color:var(--amber);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:14px;}
.tier ul{margin:0;padding-left:20px;color:var(--gray);}
.tier ul li{margin-bottom:6px;}

.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.pill{
  background:var(--teal);color:var(--cream);font-size:13px;font-weight:700;
  padding:6px 14px;border-radius:20px;
}

.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.stat{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 20px;text-align:center;min-width:0;
}
.stat .num{font-size:40px;font-weight:800;color:var(--teal);line-height:1;margin-bottom:10px;}
.stat .label{font-size:14px;color:var(--gray);font-weight:600;line-height:1.4;overflow-wrap:anywhere;}
@media (max-width:800px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

.institution{
  border-bottom:1px solid var(--line);padding:20px 0;
}
.institution:last-child{border-bottom:none;}
.institution h3{margin:0 0 6px;color:var(--teal);font-size:17px;}
.institution p{margin:0;color:var(--gray);font-size:15px;}
.institution .note{color:var(--amber);font-weight:600;font-size:13px;display:block;margin-top:6px;}

.principle{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px;}
.principle .dot{
  flex:none;width:10px;height:10px;border-radius:50%;background:var(--amber);margin-top:8px;
}
.principle p{margin:0;color:var(--gray);}
.principle strong{color:var(--ink);}

.callout{
  background:var(--teal);color:var(--cream);border-radius:var(--radius);
  padding:40px;text-align:center;
}
.callout h2{margin:0 0 12px;font-size:24px;}
.callout p{color:#DDEAE8;margin:0 0 24px;}

.notice{
  background:#FBF1DE;border:1px solid #EBD8AE;border-radius:8px;
  padding:16px 20px;color:#7A5A15;font-size:14px;margin:0 0 32px;
}

/* ---------- Exchange (live ticker) ---------- */
.exch-legend{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin:0 0 28px;font-size:14px;color:var(--gray);font-weight:600;}
.exch-legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle;}
.exch-legend .dot.supply{background:var(--teal);}
.exch-legend .dot.demand{background:var(--amber);}
.exch-updated{text-align:center;color:var(--gray);font-size:13px;margin:0 0 28px;}
.exch-updated .live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3CA55C;margin-right:6px;vertical-align:middle;animation:pulse 1.8s infinite;}
@keyframes pulse{0%{opacity:1;}50%{opacity:0.35;}100%{opacity:1;}}
.exch-table{max-width:900px;margin:0 auto;}
.exch-row{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin-bottom:14px;}
.exch-row .exch-row-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;flex-wrap:wrap;gap:6px;}
.exch-row .exch-trade-name{font-weight:800;color:var(--ink);font-size:16px;}
.exch-row .exch-counts{font-size:13px;color:var(--gray);font-weight:600;}
.exch-bars{display:flex;flex-direction:column;gap:6px;}
.exch-bar-track{background:#F0EDE5;border-radius:6px;height:14px;overflow:hidden;}
.exch-bar-fill{height:100%;border-radius:6px;transition:width 0.4s ease;}
.exch-bar-fill.supply{background:var(--teal);}
.exch-bar-fill.demand{background:var(--amber);}
.exch-empty{text-align:center;color:var(--gray);padding:32px 0;}
.exchange-applicants{max-width:800px;margin:54px auto 0;}
.exchange-applicants h2{color:var(--teal);}
.public-applicant{padding:16px 20px;border:1px solid var(--line);border-radius:8px;margin:10px 0;display:flex;justify-content:space-between;gap:14px;background:#fff;}
.public-applicant span{color:var(--gray);}
@media(max-width:560px){.public-applicant{flex-direction:column;}}

/* ---------- Forms ---------- */
.form-card{
  max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:36px;
}
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:6px;}
.form-field input, .form-field select{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;
  font-family:inherit;font-size:15px;color:var(--ink);background:var(--cream);
}
.form-field input:focus, .form-field select:focus{outline:none;border-color:var(--teal);}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:560px){.form-row-2{grid-template-columns:1fr;}}
.pathway-preview{
  margin:0 0 24px;padding:20px 22px;background:#F2F8F6;
  border:1px solid #B8D6CF;border-left:4px solid var(--teal);border-radius:8px;
}
.pathway-preview[hidden],.pathway-preview [hidden]{display:none;}
.pathway-preview-label{margin:0 0 8px;color:var(--teal);font-size:13px;font-weight:800;}
.pathway-preview h3{margin:0 0 10px;color:var(--ink);font-size:18px;}
.pathway-preview-note{margin:0 0 12px;color:var(--gray);font-size:13px;line-height:1.6;}
.pathway-preview ul{margin:0;padding-left:20px;color:var(--ink);font-size:14px;line-height:1.65;}
.pathway-preview li+li{margin-top:8px;}
.pathway-preview #trade-pathway-status{margin:0;color:var(--gray);font-size:14px;}
.pathway-preview #trade-pathway-english{margin:12px 0 0;}
.pathway-preview button{margin-top:12px;padding:8px 14px;border:1px solid var(--teal);border-radius:6px;background:#fff;color:var(--teal);font:inherit;cursor:pointer;}
.form-consent{font-size:13px;color:var(--gray);margin:0 0 20px;}
.form-submit{width:100%;padding:14px;border:none;border-radius:6px;background:var(--amber);color:var(--ink);font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;}
.form-submit:hover{background:#C67F1F;}
.form-submit:disabled{opacity:0.6;cursor:not-allowed;}
.form-msg{border-radius:8px;padding:14px 16px;font-size:14px;margin-top:18px;display:none;}
.form-msg.show{display:block;}
.form-msg.ok{background:#E6F4EA;color:#1E6B34;border:1px solid #B9DFC4;}
.form-msg.err{background:#FBE6E4;color:#8A2E22;border:1px solid #F0C4BE;}

/* ---------- Footer ---------- */
footer.site{
  background:var(--ink);color:#B9C3C5;padding:48px 24px 28px;
}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;max-width:1120px;margin:0 auto;}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:#fff;font-size:14px;margin:0 0 14px;letter-spacing:0.5px;text-transform:uppercase;}
.footer-grid ul{list-style:none;margin:0;padding:0;}
.footer-grid ul li{margin-bottom:8px;font-size:14px;}
.footer-grid ul li a{text-decoration:none;color:#B9C3C5;}
.footer-grid ul li a:hover{color:var(--amber);}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.footer-brand span{font-weight:800;color:#fff;font-size:18px;}
.footer-tag{font-size:14px;max-width:320px;color:#8DA0A3;}
.footer-accuracy-note{
  max-width:1120px;margin:32px auto 0;padding:24px 0 0;
  border-top:1px solid #2C3B3E;
}
.footer-accuracy-note h2{margin:0 0 14px;color:#fff;font-size:15px;line-height:1.4;}
.footer-accuracy-note p{max-width:880px;margin:0 0 12px;color:#B9C3C5;font-size:14px;line-height:1.65;}
footer.site.footer-note-standalone .footer-accuracy-note{margin-top:0;padding:0;border:0;}
.copyright{
  max-width:1120px;margin:32px auto 0;padding-top:20px;border-top:1px solid #2C3B3E;
  font-size:13px;color:#7C8C8F;text-align:center;
}
