/* Basis Vaardig — huisstijl geïnspireerd op de Nederlandse overheid (lintblauw, hemelblauw, gele focus) */
:root{
  --lint:#154273;        /* donkerblauw lint */
  --lint-2:#0f3259;
  --hemel:#007BC7;       /* hemelblauw accent */
  --tint:#E5F0F9;        /* lichte blauwe tint */
  --tint-2:#CCE2F3;
  --bg:#F3F5F8;
  --surface:#FFFFFF;
  --ink:#1B2533;
  --muted:#4F5B69;
  --line:#CAD3DD;
  --ok:#39870C; --okbg:#E7F3DF;
  --err:#C0281C; --errbg:#FBE8E6;
  --warn:#B85C00; --warnbg:#FFF1DF;
  --focus:#FFB612;       /* rijks-geel focus */
  --radius:6px;
  --shadow:0 1px 2px rgba(21,66,115,.08),0 2px 8px rgba(21,66,115,.06);
  --font:"Noto Sans","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --font-ar:"Noto Sans Arabic","Noto Sans","Segoe UI",Tahoma,Arial,sans-serif;
  color-scheme:light;
}
html{font-size:106.25%;}
html.ts-1{font-size:118.75%;}
html.ts-2{font-size:131.25%;}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased;}
html[lang="ar"] body{font-family:var(--font-ar);line-height:1.75;}
h1,h2,h3{line-height:1.25;text-wrap:balance;margin:0;color:var(--lint);}
h1{font-size:1.9rem;font-weight:700;}
h2{font-size:1.4rem;font-weight:700;}
h3{font-size:1.1rem;font-weight:700;}
p{margin:0;}
a{color:var(--hemel);text-underline-offset:2px;}
a:hover{color:var(--lint);}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px var(--lint);}
button{font:inherit;cursor:pointer;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;inset-inline-start:8px;top:-60px;background:var(--focus);color:#000;padding:8px 14px;z-index:50;font-weight:700;}
.skip:focus{top:8px;}

/* ---------- Header ---------- */
.site-head{background:var(--surface);}
.brand-row{max-width:1080px;margin:0 auto;padding-inline:16px;display:flex;align-items:flex-start;gap:16px;min-height:92px;}
.brand{display:flex;align-items:flex-start;gap:14px;text-decoration:none;color:var(--ink);margin-inline:auto;}
.ribbon{width:46px;height:84px;background:var(--lint);display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;flex:none;}
.ribbon svg{width:26px;height:26px;}
.wordmark{padding-top:22px;}
.wordmark b{display:block;font-size:1.3rem;letter-spacing:.01em;color:var(--ink);font-weight:700;line-height:1.1;}
.wordmark span{display:block;font-size:.85rem;color:var(--muted);}
.nav-bar{background:var(--lint);color:#fff;}
.nav-inner{max-width:1080px;margin:0 auto;padding-inline:16px;display:flex;align-items:stretch;gap:4px;flex-wrap:wrap;}
.nav-links{display:flex;flex-wrap:wrap;gap:0;flex:1 1 auto;}
.nav-links button{background:none;border:0;color:#fff;padding:14px 14px;font-weight:600;font-size:.95rem;border-bottom:4px solid transparent;display:flex;align-items:center;gap:8px;}
.nav-links button:hover{background:var(--lint-2);}
.nav-links button[aria-current="page"]{border-bottom-color:#fff;}
.nav-links svg{width:18px;height:18px;}
.tools{display:flex;align-items:center;gap:6px;padding-block:8px;}
.tool{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius);padding:6px 10px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:6px;min-height:38px;}
.tool:hover{background:rgba(255,255,255,.18);}
.tool[aria-pressed="true"]{background:#fff;color:var(--lint);}
.tool svg{width:18px;height:18px;}
select.tool{appearance:none;padding-inline:10px 28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='white' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;}
html[dir="rtl"] select.tool{background-position:left 10px center;padding-inline:28px 10px;}
select.tool option{color:#000;}

/* ---------- Layout ---------- */
main{max-width:1080px;margin:0 auto;padding-inline:16px;padding-block:28px 56px;}
main:focus{outline:none;}
.crumb{font-size:.85rem;color:var(--muted);margin-bottom:6px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;}
.lede{font-size:1.1rem;color:var(--muted);max-width:62ch;margin-top:8px;}
.stack{display:flex;flex-direction:column;gap:16px;}
.grid-2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start;}
@media (max-width:820px){.grid-2{grid-template-columns:1fr;}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);}
.panel h2{margin-bottom:10px;}
.section-gap{margin-top:28px;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 22px;border-radius:var(--radius);font-weight:700;font-size:1rem;border:2px solid var(--lint);background:var(--lint);color:#fff;text-decoration:none;}
.btn:hover{background:var(--lint-2);border-color:var(--lint-2);}
.btn.secondary{background:var(--surface);color:var(--lint);}
.btn.secondary:hover{background:var(--tint);}
.btn.ghost{background:none;border-color:transparent;color:var(--hemel);text-decoration:underline;padding-inline:8px;}
.btn.ghost:hover{color:var(--lint);}
.btn.danger{background:var(--err);border-color:var(--err);}
.btn svg{width:20px;height:20px;}
html[dir="rtl"] .flip{transform:scaleX(-1);}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.listen{display:inline-flex;align-items:center;gap:6px;background:var(--tint);color:var(--lint);border:1px solid var(--tint-2);border-radius:999px;padding:5px 14px 5px 10px;font-weight:600;font-size:.9rem;min-height:36px;}
html[dir="rtl"] .listen{padding:5px 10px 5px 14px;}
.listen:hover{background:var(--tint-2);}
.listen svg{width:18px;height:18px;}
.listen.speaking{background:var(--lint);color:#fff;}

/* ---------- Welcome ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center;}
@media (max-width:820px){.hero{grid-template-columns:1fr;}}
.hero h1{font-size:2.2rem;}
.kicker{display:inline-block;background:var(--tint);color:var(--lint);font-weight:700;font-size:.85rem;padding:4px 10px;border-radius:4px;margin-bottom:12px;}
.checks{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:8px;}
.checks li{display:flex;gap:10px;align-items:flex-start;}
.checks svg{width:22px;height:22px;color:var(--ok);flex:none;margin-top:2px;}
.lang-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;}
.lang-btn{display:flex;flex-direction:column;align-items:flex-start;gap:0;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:10px 14px;text-align:start;min-height:58px;}
.lang-btn b{font-size:1.05rem;color:var(--ink);}
.lang-btn span{font-size:.8rem;color:var(--muted);}
.lang-btn:hover{border-color:var(--hemel);}
.lang-btn[aria-pressed="true"]{border-color:var(--lint);background:var(--tint);box-shadow:inset 0 0 0 1px var(--lint);}
.lang-btn[lang="ar"] b{font-family:var(--font-ar);}
.steps-visual{display:flex;align-items:flex-end;gap:6px;height:74px;margin-top:22px;}
.steps-visual i{display:block;width:34px;background:var(--tint-2);border-radius:3px 3px 0 0;}
.steps-visual i:nth-child(1){height:25%}.steps-visual i:nth-child(2){height:45%}.steps-visual i:nth-child(3){height:65%;background:var(--hemel)}.steps-visual i:nth-child(4){height:85%;background:var(--lint)}.steps-visual i:nth-child(5){height:100%;background:var(--lint)}

/* ---------- Forms / choices ---------- */
.field{display:flex;flex-direction:column;gap:6px;}
.field label,.field .label{font-weight:700;}
.input{font:inherit;padding:10px 12px;border:2px solid var(--muted);border-radius:var(--radius);min-height:48px;max-width:420px;background:var(--surface);color:var(--ink);}
.choice-row{display:flex;flex-wrap:wrap;gap:10px;}
.choice{flex:1 1 150px;display:flex;align-items:center;gap:10px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-weight:600;min-height:56px;text-align:start;color:var(--ink);}
.choice:hover{border-color:var(--hemel);}
.choice[aria-pressed="true"]{border-color:var(--lint);background:var(--tint);}
.choice svg{width:30px;height:30px;flex:none;}
.hint{font-size:.9rem;color:var(--muted);}

/* ---------- Progress ---------- */
.progress{height:10px;background:var(--tint);border-radius:999px;overflow:hidden;}
.progress > i{display:block;height:100%;background:var(--hemel);border-radius:999px;transition:width .3s;}
.progress-label{display:flex;justify-content:space-between;font-size:.9rem;color:var(--muted);margin-bottom:6px;font-weight:600;}

/* ---------- Question ---------- */
.q-card{max-width:760px;}
.q-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.track-chip{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;color:var(--lint);background:var(--tint);padding:4px 10px;border-radius:4px;}
.track-chip svg{width:16px;height:16px;}
.q-text{font-size:1.3rem;font-weight:700;color:var(--ink);margin:10px 0 16px;}
.options{display:flex;flex-direction:column;gap:10px;}
.opt{display:flex;align-items:center;gap:14px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:12px 16px;text-align:start;font-size:1.05rem;color:var(--ink);min-height:58px;width:100%;}
.opt:hover:not(:disabled){border-color:var(--hemel);background:#FAFCFE;}
.opt .letter{width:32px;height:32px;border-radius:50%;border:2px solid var(--lint);color:var(--lint);display:grid;place-items:center;font-weight:700;flex:none;font-size:.95rem;}
.opt.is-correct{border-color:var(--ok);background:var(--okbg);}
.opt.is-correct .letter{background:var(--ok);border-color:var(--ok);color:#fff;}
.opt.is-wrong{border-color:var(--err);background:var(--errbg);}
.opt.is-wrong .letter{background:var(--err);border-color:var(--err);color:#fff;}
.opt:disabled{cursor:default;}
.opt.dim{opacity:.65;}
.feedback{margin-top:16px;border-radius:var(--radius);padding:14px 16px;border-inline-start:6px solid;}
.feedback.ok{background:var(--okbg);border-color:var(--ok);}
.feedback.no{background:var(--errbg);border-color:var(--err);}
.feedback b{display:block;margin-bottom:2px;}

/* ---------- Mock examples ---------- */
.mock{margin:4px 0 18px;max-width:520px;}
.mock-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;}
.mock-sms{background:#E9EDF2;border-radius:18px;padding:14px;}
.mock-sms .who{font-size:.85rem;font-weight:700;color:var(--muted);text-align:center;margin-bottom:8px;}
.mock-sms .bubble{background:#fff;border-radius:16px 16px 16px 4px;padding:10px 14px;max-width:88%;box-shadow:var(--shadow);overflow-wrap:anywhere;}
html[dir="rtl"] .mock-sms .bubble{border-radius:16px 16px 4px 16px;}
.mock-email{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.mock-email .top{background:var(--tint);padding:8px 14px;font-size:.9rem;border-bottom:1px solid var(--line);}
.mock-email .body{padding:12px 14px;display:flex;flex-direction:column;gap:6px;}
.mock-letter{background:#fff;border:1px solid var(--line);padding:20px 22px;box-shadow:0 2px 0 var(--line),0 4px 0 #e3e8ee;display:flex;flex-direction:column;gap:8px;font-size:.98rem;}
.mock-letter .sender{font-weight:700;color:var(--lint);text-align:end;border-bottom:2px solid var(--lint);padding-bottom:6px;margin-bottom:4px;}
.mock-label-card{background:#fff;border:3px solid var(--ok);border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;gap:2px;}
.mock-label-card .sender{font-size:.8rem;font-weight:700;color:var(--ok);text-transform:uppercase;letter-spacing:.05em;}
.mock-label-card p:nth-of-type(2){font-weight:700;font-size:1.1rem;}
.mock-receipt{background:#fff;border:1px dashed var(--muted);padding:14px 18px;font-family:"Noto Sans Mono",ui-monospace,Consolas,monospace;font-size:.92rem;max-width:320px;}
.mock-receipt .sender{text-align:center;font-weight:700;margin-bottom:8px;}
.mock-receipt .row{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums;}
.mock-receipt .row.b{font-weight:700;border-top:1px dashed var(--muted);margin-top:6px;padding-top:6px;}
.mock-ad{background:#fff;border:1px solid var(--line);border-top:5px solid var(--hemel);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:6px;}
.mock-ad .sender{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;}
.mock-ad p:nth-of-type(2){font-weight:700;font-size:1.15rem;color:var(--lint);}

/* ---------- Tracks ---------- */
.track-list{display:flex;flex-direction:column;gap:16px;}
.track{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
.track-head{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);}
.t-icon{width:48px;height:48px;border-radius:8px;background:var(--tint);color:var(--lint);display:grid;place-items:center;flex:none;}
.t-icon svg{width:28px;height:28px;}
.track-head h3{font-size:1.15rem;}
.track-head p{font-size:.9rem;color:var(--muted);}
.track-head .pips{margin-inline-start:auto;display:flex;gap:4px;}
.pip{width:14px;height:14px;border-radius:3px;background:var(--tint-2);}
.pip.on{background:var(--ok);}
.pip.known{background:var(--hemel);}
.lesson-rows{list-style:none;margin:0;padding:0;}
.lesson-rows li + li{border-top:1px solid #E6EBF0;}
.lesson-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;width:100%;background:none;border:0;padding:12px 18px;text-align:start;color:var(--ink);min-height:60px;}
.lesson-row:hover{background:#F7FAFD;}
.lv{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;width:74px;}
.lesson-row .title{font-weight:600;}
.status{font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;}
.status svg{width:14px;height:14px;}
.status.done{background:var(--okbg);color:var(--ok);}
.status.known{background:var(--tint);color:var(--lint);}
.status.next{background:var(--lint);color:#fff;}
.status.todo{background:#EEF1F4;color:var(--muted);}
@media (max-width:520px){.lesson-row{grid-template-columns:1fr auto;}.lv{grid-column:1 / -1;width:auto;}}

/* ---------- Home ---------- */
.continue{background:var(--lint);color:#fff;border-radius:var(--radius);padding:24px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.continue h2{color:#fff;font-size:1.5rem;}
.continue .crumb{color:#BFD5EA;}
.continue p{color:#DCE8F4;}
.continue .t-icon{background:rgba(255,255,255,.12);color:#fff;width:64px;height:64px;}
.continue .t-icon svg{width:36px;height:36px;}
.continue .grow{flex:1 1 260px;}
.continue .btn{background:#fff;color:var(--lint);border-color:#fff;}
.continue .btn:hover{background:var(--tint);}
.stat-big{font-size:2.2rem;font-weight:700;color:var(--lint);line-height:1;font-variant-numeric:tabular-nums;}
.growth{width:100%;border-collapse:collapse;font-size:.92rem;}
.growth th,.growth td{padding:8px 4px;border-bottom:1px solid #E6EBF0;text-align:start;}
.growth th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}
.lvl-chip{display:inline-block;min-width:26px;text-align:center;font-weight:700;border-radius:4px;padding:1px 6px;background:var(--tint);color:var(--lint);font-variant-numeric:tabular-nums;}
.lvl-chip.up{background:var(--okbg);color:var(--ok);}
.milestone{display:flex;gap:12px;align-items:flex-start;padding:12px 0;}
.milestone + .milestone{border-top:1px solid #E6EBF0;}
.medal{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#EEF1F4;color:#98A3AF;flex:none;}
.medal svg{width:24px;height:24px;}
.milestone.got .medal{background:var(--focus);color:var(--lint);}
.milestone small{display:block;font-weight:700;font-size:.78rem;color:var(--muted);}
.milestone.got small{color:var(--ok);}

/* ---------- Lesson ---------- */
.stepper{display:flex;gap:6px;margin:14px 0 22px;flex-wrap:wrap;}
.stepper i{height:8px;flex:1 1 30px;background:var(--tint-2);border-radius:999px;}
.stepper i.on{background:var(--lint);}
.stepper i.cur{background:var(--hemel);}
.lesson-card{max-width:760px;}
.step-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;}
.step-num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--lint);color:#fff;font-weight:700;font-size:1.1rem;margin-bottom:12px;}
.step-card h2{font-size:1.6rem;margin-bottom:12px;}
.step-card .body{font-size:1.18rem;line-height:1.7;max-width:60ch;}
.tip{margin-top:18px;background:var(--warnbg);border-inline-start:6px solid var(--focus);padding:14px 16px;border-radius:var(--radius);}
.tip b{color:var(--warn);display:block;}
.outline{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:8px;counter-reset:s;}
.outline li{display:flex;gap:12px;align-items:center;font-weight:600;}
.outline li::before{counter-increment:s;content:counter(s);width:30px;height:30px;border-radius:50%;background:var(--tint);color:var(--lint);display:grid;place-items:center;font-weight:700;flex:none;}
.lesson-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap;}
.result{text-align:center;padding:36px 22px;}
.result .big{font-size:3rem;font-weight:700;color:var(--lint);font-variant-numeric:tabular-nums;}
.stars{display:flex;justify-content:center;gap:8px;margin:10px 0;}
.stars svg{width:40px;height:40px;}
.result .btn-row{justify-content:center;margin-top:20px;}

/* ---------- Results (placement) ---------- */
.place-list{display:flex;flex-direction:column;gap:10px;}
.place{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;}
.place .desc{font-size:.88rem;color:var(--muted);}
.adjust{display:flex;align-items:center;gap:6px;}
.adjust button{width:40px;height:40px;border-radius:var(--radius);border:2px solid var(--lint);background:var(--surface);color:var(--lint);font-weight:700;font-size:1.2rem;display:grid;place-items:center;}
.adjust button:disabled{opacity:.3;cursor:default;}
.adjust .lvl{min-width:78px;text-align:center;font-weight:700;color:var(--lint);font-size:.95rem;}
@media (max-width:560px){.place{grid-template-columns:auto 1fr;}.adjust{grid-column:1 / -1;justify-content:flex-end;}}

/* ---------- Help / About ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px;}
.card .t-icon{width:42px;height:42px;}
.muni{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.muni span{background:var(--tint);color:var(--lint);font-weight:700;padding:6px 12px;border-radius:4px;font-size:.92rem;}
.links{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 20px;}
.links li{padding:8px 0;border-bottom:1px solid #E6EBF0;}
.links a{font-weight:700;}
.links span{display:block;font-size:.88rem;color:var(--muted);}
.bullets{margin:10px 0 0;padding-inline-start:1.2em;display:flex;flex-direction:column;gap:6px;}
.quote{border-inline-start:5px solid var(--hemel);padding:6px 16px;font-style:italic;color:var(--ink);background:var(--tint);border-radius:0 var(--radius) var(--radius) 0;}
html[dir="rtl"] .quote{border-radius:var(--radius) 0 0 var(--radius);}
.notice{background:#EEF1F4;border-radius:var(--radius);padding:12px 16px;font-size:.9rem;color:var(--muted);}
.confirm{background:var(--errbg);border:1px solid var(--err);border-radius:var(--radius);padding:14px 16px;margin-top:12px;}

/* ---------- Certificate ---------- */
.cert{background:#fff;border:10px solid var(--lint);outline:2px solid var(--lint);outline-offset:-18px;padding:48px 36px;text-align:center;max-width:760px;margin:0 auto;position:relative;}
.cert .ribbon{margin:-48px auto 18px;}
.cert h1{font-size:2rem;}
.cert .name{font-size:1.6rem;font-weight:700;color:var(--ink);margin:14px 0;}
.cert table{margin:18px auto;border-collapse:collapse;}
.cert td{padding:6px 14px;border-bottom:1px solid #E6EBF0;text-align:start;}
.cert .date{color:var(--muted);margin-top:14px;}

/* ---------- Footer ---------- */
footer{background:var(--lint);color:#DCE8F4;}
.foot{max-width:1080px;margin:0 auto;padding-inline:16px;padding-block:26px;display:flex;flex-direction:column;gap:8px;font-size:.9rem;}
.foot b{color:#fff;}
.foot button{background:none;border:0;color:#fff;text-decoration:underline;padding:0;font-size:.9rem;}

@media (max-width:640px){
  h1{font-size:1.55rem}.hero h1{font-size:1.75rem}
  .brand{margin-inline:0}
  .brand-row{min-height:76px}.ribbon{height:70px;width:40px}.wordmark{padding-top:16px}
  .step-card{padding:20px}.step-card .body{font-size:1.08rem}
  .cert{padding:40px 18px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
@media print{
  .site-head,.nav-bar,footer,.no-print{display:none!important}
  body{background:#fff}
  main{padding:0}
}

/* ---------- Kleur per onderwerp ---------- */
:root{--tc:var(--hemel);--tc-ink:var(--lint);--tc-tint:var(--tint);
  --rainbow:linear-gradient(90deg,#CA005D 0 14.28%,#00867A 14.28% 28.57%,#E17000 28.57% 42.85%,#42145F 42.85% 57.14%,#39870C 57.14% 71.42%,#B38A0B 71.42% 85.71%,#007BC7 85.71% 100%);}
footer{border-top:6px solid transparent;border-image:var(--rainbow) 1;}
.t-icon{background:var(--tc-tint);color:var(--tc-ink);}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--tc);margin-inline-end:8px;vertical-align:1px;}

.topic-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.topic-chip{display:inline-flex;align-items:center;gap:6px;background:var(--tc-tint);color:var(--tc-ink);border:1px solid var(--tc);border-radius:999px;padding:4px 12px 4px 8px;font-weight:700;font-size:.85rem;}
html[dir="rtl"] .topic-chip{padding:4px 8px 4px 12px;}
.topic-chip svg{width:16px;height:16px;}
.steps-visual i{background:var(--tc)!important;width:30px;}
.steps-visual i:nth-child(1){height:22%}.steps-visual i:nth-child(2){height:38%}.steps-visual i:nth-child(3){height:54%}.steps-visual i:nth-child(4){height:70%}.steps-visual i:nth-child(5){height:85%}.steps-visual i:nth-child(6){height:100%}

.track{border-top:6px solid var(--tc);}
.track-head{background:var(--tc-tint);}
.track-head h3{color:var(--tc-ink);}
.track-head .t-icon{background:var(--surface);}
.pip.on{background:var(--tc);}
.pip.known{background:var(--tc);opacity:.4;}
.lv{color:var(--tc-ink);}
.lesson-row:hover{background:var(--tc-tint);}
.status.next{background:var(--tc-ink);}

.track-chip{background:var(--tc-tint);color:var(--tc-ink);border:1px solid var(--tc);}
.progress > i{background:var(--tc);}
.opt .letter{border-color:var(--tc-ink);color:var(--tc-ink);}
.opt:hover:not(:disabled){border-color:var(--tc);background:var(--tc-tint);}
.q-card .panel{border-top:6px solid var(--tc);}
.q-card .q-text{color:var(--tc-ink);}

.lesson-card .step-card{border-top:6px solid var(--tc);}
.lesson-card h1{color:var(--tc-ink);}
.lesson-card .step-num{background:var(--tc-ink);}
.lesson-card .stepper i.on{background:var(--tc-ink);}
.lesson-card .stepper i.cur{background:var(--tc);}
.lesson-card .outline li::before{background:var(--tc-tint);color:var(--tc-ink);}
.lesson-card .listen{background:var(--tc-tint);color:var(--tc-ink);border-color:var(--tc);}
.lesson-card .listen.speaking{background:var(--tc-ink);color:#fff;}
.lesson-card .btn:not(.secondary):not(.ghost){background:var(--tc-ink);border-color:var(--tc-ink);}
.lesson-card .btn.secondary{color:var(--tc-ink);border-color:var(--tc-ink);}
.lesson-card .result .big{color:var(--tc-ink);}
.lesson-card .crumb{color:var(--tc-ink);}

.continue{background:var(--tc-ink);}
.continue .crumb{color:rgba(255,255,255,.8);}
.continue .t-icon{background:rgba(255,255,255,.16);color:#fff;}
.continue .btn{color:var(--tc-ink);}

.place{border-inline-start:6px solid var(--tc);}
.place h3{color:var(--tc-ink);}
.adjust button{border-color:var(--tc-ink);color:var(--tc-ink);}
.adjust .lvl{color:var(--tc-ink);}

.card{border-top:5px solid var(--tc);}
.card h3{color:var(--tc-ink);}
.milestone.got:nth-child(2) .medal{background:var(--hemel);color:#fff;}
.lede{color:var(--muted);}
.pip{background:color-mix(in srgb,var(--tc) 22%,#fff);}
.lesson-card .stepper i{background:color-mix(in srgb,var(--tc) 22%,#fff);}
@media (min-width:641px){
  .nav-inner{flex-wrap:nowrap;}
  .nav-links{flex-wrap:nowrap;}
  .nav-links button{padding:14px 10px;font-size:.9rem;white-space:nowrap;}
  .tools .tool{font-size:.8rem;padding:6px 8px;white-space:nowrap;}
}
@media (min-width:641px) and (max-width:1000px){
  .nav-inner{flex-wrap:wrap;}
}
@media (min-width:641px){ .tools select.tool{padding-inline:8px 28px;} html[dir="rtl"] .tools select.tool{padding-inline:28px 8px;} }
.lesson-row .mins{display:block;font-weight:400;font-size:.8rem;color:var(--muted);}

/* ---------- Chat-voorbeeld (Internet en AI) ---------- */
.mock-chat{background:#EEF1F4;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;}
.mock-chat .msg{max-width:88%;padding:8px 12px;border-radius:14px;box-shadow:var(--shadow);}
.mock-chat .msg p{margin:0;overflow-wrap:anywhere;}
.mock-chat .msg .who{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin-bottom:2px;}
.mock-chat .msg.me{align-self:flex-end;background:var(--tc-ink);color:#fff;border-end-end-radius:4px;}
.mock-chat .msg.ai{align-self:flex-start;background:#fff;color:var(--ink);border-end-start-radius:4px;}

/* ---------- Taalkeuze, sluitknop, 'meer hieronder' ---------- */
.tools-top{display:none;}
.lang-tool .lcode{font-size:.72rem;font-weight:700;background:#fff;color:var(--lint);border-radius:3px;padding:0 4px;line-height:1.5;font-family:var(--font);}
.lang-dlg{border:0;padding:0;border-radius:10px;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-shadow:0 10px 40px rgba(0,0,0,.3);}
.lang-dlg::backdrop{background:rgba(15,50,89,.55);}
.dlg-in{padding:18px;}
.dlg-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:6px;}
.dlg-head > svg{width:28px;height:28px;color:var(--lint);flex:none;margin-top:2px;}
.dlg-head h2{font-size:1rem;font-weight:700;flex:1;font-family:var(--font);}
.dlg-head h2 span{font-family:var(--font-ar);}
.dlg-x{width:44px;height:44px;flex:none;border:2px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--lint);display:grid;place-items:center;margin:-6px -6px 0 0;}
html[dir="rtl"] .dlg-x{margin:-6px 0 0 -6px;}
.dlg-x svg{width:22px;height:22px;}
.lang-dlg .lang-btn{min-height:60px;}
.x-btn{margin-inline-start:auto;width:44px;height:44px;flex:none;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);display:grid;place-items:center;}
.x-btn:hover{border-color:var(--tc);color:var(--tc-ink);}
.x-btn svg{width:22px;height:22px;}
.btn:disabled{opacity:.45;cursor:default;}
.lesson-card .q-head{margin-bottom:0;}
.more-hint{position:fixed;left:50%;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:6px;background:var(--lint);color:#fff;border:2px solid #fff;border-radius:999px;padding:6px 14px 6px 10px;font-weight:700;font-size:.82rem;white-space:nowrap;opacity:.94;box-shadow:0 4px 14px rgba(0,0,0,.25);animation:nudge 1.6s ease-in-out infinite;}
.more-hint[hidden]{display:none;}
.more-hint svg{width:18px;height:18px;}
@keyframes nudge{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,5px)}}
.feedback{scroll-margin-bottom:110px;}

/* ---------- Mobiel ---------- */
@media (max-width:640px){
  .site-head{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--line);}
  .brand-row{min-height:0;align-items:center;gap:8px;padding-block:0;}
  .brand{gap:10px;align-items:center;flex:1 1 auto;min-width:0;}
  .ribbon{width:32px;height:52px;padding-bottom:8px;}
  .ribbon svg{width:20px;height:20px;}
  .wordmark{padding-top:0;min-width:0;}
  .wordmark b{font-size:1.02rem;}
  .wordmark span{display:none;}
  .tools-top{display:flex;gap:6px;padding-block:6px;flex:none;}
  .tools-nav{display:none;}
  .tools-top .tool{background:#fff;color:var(--lint);border:2px solid var(--lint);min-height:42px;min-width:42px;padding:4px 7px;justify-content:center;}
  .tools-top .tool[aria-pressed="true"]{background:var(--lint);color:#fff;}
  .tools-top .tool svg{width:20px;height:20px;}
  .tools-top .tlbl,.tools-top .lname{display:none;}
  .tools-top .lang-tool{border-color:var(--lint);}
  .tools-top .lang-tool .lcode{background:var(--lint);color:#fff;font-size:.78rem;}
  /* navigatie als balk onderin */
  .nav-bar{position:fixed;left:0;right:0;bottom:0;z-index:25;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 10px rgba(0,0,0,.15);}
  .nav-inner{padding-inline:0;}
  .nav-links{display:flex;flex:1 1 100%;}
  .nav-links button{flex:1 1 0;flex-direction:column;gap:2px;padding:8px 2px 6px;font-size:.72rem;line-height:1.15;text-align:center;border-bottom:0;border-top:4px solid transparent;min-height:58px;justify-content:center;}
  .nav-links button[aria-current="page"]{border-top-color:#fff;background:var(--lint-2);}
  .nav-links svg{width:22px;height:22px;}
  main{padding-block:16px calc(96px + env(safe-area-inset-bottom));}
  footer{padding-bottom:calc(64px + env(safe-area-inset-bottom));}
  /* tijdens les / toets: geen menu, wel vaste knoppenbalk */
  body.in-task .nav-bar{display:none;}
  body.in-task footer{padding-bottom:calc(76px + env(safe-area-inset-bottom));}
  body.in-task .lesson-nav{position:fixed;left:0;right:0;bottom:0;z-index:25;margin:0;background:var(--surface);padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px rgba(0,0,0,.14);flex-wrap:nowrap;gap:10px;}
  body.in-task .lesson-nav .btn{min-height:52px;padding-inline:14px;}
  body.in-task .lesson-nav .btn:last-child{flex:1 1 auto;}
  body.in-task .lesson-nav .btn.secondary:first-child:not(:last-child){flex:0 0 auto;}
  body.in-task .lesson-nav > span:empty{display:none;}
  .stepper{margin:10px 0 14px;gap:4px;}
  .step-card{padding:16px;}
  .q-text{font-size:1.18rem;margin:6px 0 12px;}
  .opt{padding:10px 12px;gap:12px;min-height:56px;font-size:1rem;}
  .mock{margin-bottom:12px;}
  .lang-dlg .lang-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .lang-dlg .lang-btn{padding:8px 10px;}
}

/* ---------- Gemeente kiezen + lokale hulp ---------- */
.muni-pick{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.muni-btn{background:var(--surface);color:var(--lint);border:2px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:700;min-height:44px;}
.muni-btn:hover{border-color:var(--hemel);}
.muni-btn[aria-pressed="true"]{background:var(--lint);border-color:var(--lint);color:#fff;}
.muni-btn[aria-pressed="true"]::before{content:"✓ ";}
.muni-panel{border-top:6px solid var(--lint);}
.muni-panel h2{display:flex;align-items:center;gap:8px;}
.muni-panel h2 svg{width:24px;height:24px;flex:none;}
.town-hall{margin-top:16px;padding-top:14px;border-top:1px solid #E6EBF0;}
.town-hall h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;}
.help-where{margin-top:8px;}
.contact{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:10px;border-top:1px solid #E6EBF0;}
.card .contact{margin-top:6px;}
.contact b{color:var(--ink);font-size:.95rem;}
.c-row{display:flex;align-items:flex-start;gap:8px;font-size:.92rem;font-weight:600;color:var(--tc-ink,var(--lint));text-decoration:none;padding:4px 0;min-height:32px;overflow-wrap:anywhere;}
.c-row:hover span{text-decoration:underline;}
.c-row svg{width:18px;height:18px;flex:none;margin-top:3px;}
html[dir="rtl"] .c-row span{text-align:right;}
.links .muni-link a{color:var(--lint);}
.links .muni-link{background:var(--tint);border-radius:var(--radius);padding:8px 10px;border-bottom:0;}

/* ---------- Buurtpunt (Huis van Alles e.d.) ---------- */
.buurt{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--tc);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;}
.buurt-head{display:flex;gap:14px;align-items:flex-start;}
.buurt-head h3{color:var(--tc-ink);font-size:1.25rem;}
.buurt-head p{color:var(--muted);margin-top:2px;}
.buurt .contact{margin-top:12px;}
.buurt h4{margin:14px 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}
.locs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 20px;}
.locs li{padding:8px 0;border-bottom:1px solid #E6EBF0;}
.locs .loc-name{font-weight:700;color:var(--ink);display:block;}

/* ---------- Les: Leren vs Oefenen ---------- */
.phases{display:flex;gap:10px;margin:14px 0 18px;}
.ph{flex:1 1 0;min-width:0;border-radius:8px;padding:8px 10px;border:2px solid var(--line);background:#fff;}
.ph-lbl{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;}
.ph-lbl svg{width:16px;height:16px;flex:none;}
.ph .stepper{margin:0;gap:4px;}
.ph.learn.act{background:var(--tc-tint);border-color:var(--tc);}
.ph.learn.act .ph-lbl{color:var(--tc-ink);}
.ph.prac.act{background:var(--tc-ink);border-color:var(--tc-ink);}
.ph.prac.act .ph-lbl{color:#fff;}
.lesson-card .ph.prac.act .stepper i{background:rgba(255,255,255,.3);}
.lesson-card .ph.prac.act .stepper i.on{background:#fff;}
.lesson-card .ph.prac.act .stepper i.cur{background:var(--focus);}
.ph.done .ph-lbl{color:var(--ok);}
.phase-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-26px -26px 18px;padding:10px 26px;font-size:.9rem;border-radius:var(--radius) var(--radius) 0 0;}
.phase-banner svg{width:20px;height:20px;flex:none;}
.phase-banner b{text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;}
.phase-banner span{margin-inline-start:auto;font-weight:600;}
.phase-banner.learn{background:var(--tc-tint);color:var(--tc-ink);}
.phase-banner.prac{background:var(--tc-ink);color:#fff;}
.lesson-card .learn-card{border-top:2px solid var(--tc);}
.lesson-card .prac-card{border:2px solid var(--tc-ink);background:#FCFCFD;}
.lesson-card .prac-card .q-text{margin-top:4px;}
.lesson-card .pintro{text-align:center;padding-block:34px;border-top:6px solid var(--tc-ink);}
.pintro-icon{width:72px;height:72px;border-radius:50%;background:var(--tc-ink);color:#fff;display:grid;place-items:center;margin:0 auto 14px;}
.pintro-icon svg{width:36px;height:36px;}
.pintro .body{margin:10px auto 0;}
@media (max-width:640px){
  .phases{gap:6px;margin:10px 0 12px;}
  .ph{padding:6px 8px;}
  .phase-banner{margin:-16px -16px 14px;padding:8px 16px;}
}
.ph .stepper{flex-wrap:nowrap;}.ph .stepper i{flex:1 1 0;min-width:0;}

/* ---------- Certificaat ---------- */
.cert-panel{display:flex;gap:14px;align-items:flex-start;border-top:6px solid var(--focus);}
.cert-panel .btn{margin-top:12px;}
.cert-mini{width:48px;height:48px;border-radius:50%;background:#EEF1F4;color:#98A3AF;display:grid;place-items:center;flex:none;}
.cert-mini svg{width:26px;height:26px;}
.cert-panel.ready .cert-mini{background:var(--focus);color:var(--lint);}
.cert .muni-line{font-weight:700;color:var(--muted);margin-top:-6px;}
.cert .cert-text{font-size:1.1rem;max-width:52ch;margin:10px auto 14px;}
.cert-topics{list-style:none;padding:0;margin:10px auto 6px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;max-width:600px;}
.cert-topics li{font-weight:700;display:flex;align-items:center;}
.cert-wrap{position:relative;}
.cert.is-preview{min-height:900px;}
.cert.is-preview{filter:grayscale(1);opacity:.35;pointer-events:none;user-select:none;}
.cert-lock{position:absolute;top:230px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 24px));box-shadow:0 12px 40px rgba(21,66,115,.22);border-top:6px solid var(--focus);}
.lock-head{display:flex;gap:18px;align-items:center;margin-bottom:14px;}
.lock-head h1{font-size:1.6rem;}
.ring{--p:0;width:104px;height:104px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--lint) calc(var(--p)*1%),var(--tint-2) 0);}
.ring b{width:80px;height:80px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:1.5rem;color:var(--lint);font-variant-numeric:tabular-nums;}
.mod-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px;}
.mod-list li{display:flex;gap:12px;align-items:center;}
.mod-list .t-icon{width:38px;height:38px;}
.mod-list .t-icon svg{width:22px;height:22px;}
.mod-list .grow{flex:1;min-width:0;}
.mod-top{display:flex;justify-content:space-between;gap:10px;font-size:.92rem;margin-bottom:4px;}
.mod-top span{color:var(--muted);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;}
.mod-ok{color:var(--ok);}
.mod-ok svg{width:24px;height:24px;}
.cert-img{display:block;max-width:100%;margin:0 auto;border:1px solid var(--line);box-shadow:var(--shadow);}
.topic-list{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:8px;}
.topic-list li{display:flex;gap:12px;align-items:center;border-inline-start:5px solid var(--tc);background:var(--tc-tint);border-radius:var(--radius);padding:8px 12px;}
.topic-list .t-icon{width:38px;height:38px;background:#fff;}
.topic-list .t-icon svg{width:22px;height:22px;}
.topic-list b{display:block;color:var(--tc-ink);}
.topic-list div span{font-size:.88rem;color:var(--muted);}
.topic-list em{margin-inline-start:auto;font-style:normal;font-weight:700;color:var(--tc-ink);white-space:nowrap;font-size:.9rem;}
.cert-steps{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:16px;font-weight:700;color:var(--lint);flex-wrap:wrap;}
.cert-steps span{display:inline-flex;align-items:center;gap:6px;background:var(--tint);padding:6px 12px;border-radius:999px;}
.cert-steps span:last-child{background:var(--focus);}
.cert-steps svg{width:20px;height:20px;}
@media (max-width:640px){
  .cert-wrap{min-height:0;}
  .cert.is-preview{max-height:330px;min-height:0;overflow:hidden;}
  .cert-lock{position:relative;top:0;left:0;transform:none;width:auto;margin-top:-150px;}
  .mod-top{flex-direction:column;gap:0;}
  .lock-head{flex-direction:column;text-align:center;}
  .topic-list li{flex-wrap:wrap;}
}

/* ---------- Verplichte naam ---------- */
.req{color:var(--err);}
.input.name-in{max-width:520px;width:100%;}
.input.invalid{border-color:var(--err);background:var(--errbg);}
.field-err{color:var(--err);font-weight:700;font-size:.92rem;}

/* ---------- Herhaling ---------- */
.status.wait{background:var(--warnbg);color:var(--warn);}
.status.review{background:var(--focus);color:var(--lint);}
.pip.wait{background:var(--focus)!important;opacity:1;}
.review-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;padding:12px 18px;background:#FFF7E0;border-top:2px solid var(--focus);}
.review-row span{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--warn);}
.review-row svg{width:18px;height:18px;}
.again{display:inline-flex;align-items:center;gap:6px;background:var(--focus);color:var(--lint);font-weight:700;font-size:.8rem;padding:3px 10px;border-radius:999px;margin-bottom:6px;}
.again svg{width:14px;height:14px;}

/* ---------- Onboarding: waarom + check ---------- */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:700px){.why-grid{grid-template-columns:1fr;}}
.why-card{display:flex;gap:14px;align-items:flex-start;border-radius:var(--radius);padding:18px;border:1px solid var(--line);background:var(--surface);}
.why-card h2{font-size:1.15rem;margin-bottom:4px;}
.why-card.ok{border-top:6px solid var(--ok);}
.why-card.gold{border-top:6px solid var(--focus);}
.why-ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:none;}
.why-ic svg{width:28px;height:28px;}
.why-card.ok .why-ic{background:var(--okbg);color:var(--ok);}
.why-card.gold .why-ic{background:#FFF1CC;color:var(--warn);}
.check-intro h2{display:flex;align-items:center;gap:8px;}
.check-intro h2 svg{width:22px;height:22px;}
.skill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.skill-chip{display:inline-block;font-weight:700;font-size:.85rem;padding:4px 12px;border-radius:999px;}
.s-read{background:#FBE6EF;color:#A90061;}
.s-write{background:#E0F2EF;color:#006B61;}
.s-think{background:#FDEEDD;color:#A34F00;}
.chk .panel{border-top:6px solid var(--lint);}
.copy-word{font-size:2rem;font-weight:700;color:var(--lint);background:var(--tint);border-radius:var(--radius);padding:10px 18px;display:inline-block;margin:0 0 14px;letter-spacing:.02em;}
.chk-in{font-size:1.3rem;max-width:360px;width:100%;}
.chk-result{text-align:center;padding-block:30px;}
.chk-result.ready{border-top:6px solid var(--ok);}
.chk-result.ready .pintro-icon{background:var(--ok);}
.chk-result.help{border-top:6px solid var(--focus);}
.chk-result.help .pintro-icon{background:var(--warn);}
.chk-result .body{max-width:56ch;margin:10px auto 0;}
.stat-line{font-weight:700;color:var(--muted);margin-top:6px;}
