/* Mediawijsheid · Het Pixelbureau — webversie van de boekjesopmaak (zelfde ontwerptaal als de PDF's) */
@font-face{font-family:'Baloo 2';font-weight:400 800;font-display:swap;src:url('fonts/wXKrE3kTposypRyd51jcAA.woff2') format('woff2')}
@font-face{font-family:'Nunito';font-weight:300 900;font-display:swap;src:url('fonts/XRXV3I6Li01BKofINeaB.woff2') format('woff2')}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{position:relative;overflow-x:clip;margin:0;font-family:'Nunito',sans-serif;color:#232847;font-size:17px;line-height:1.6;-webkit-text-size-adjust:100%;
  background:radial-gradient(70% 32% at 0% 0%,var(--bg) 0%,transparent 72%),radial-gradient(70% 32% at 100% 100%,var(--bg) 0%,transparent 72%),#fdfcff;background-attachment:fixed}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.38;
  background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--acc) 55%,transparent) 0 1.4px,transparent 2px);background-size:24px 24px}
b,strong{font-weight:800}
h1,h2,h3{font-family:'Baloo 2';font-weight:800;line-height:1.08;margin:0}
img{max-width:100%;height:auto}
a{color:var(--accd)}
:focus-visible{outline:3px solid #e9a900;outline-offset:3px}
[hidden]{display:none!important}

.wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 20px 40px}
.deco{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0;pointer-events:none;overflow:hidden}
.vaag{position:absolute;opacity:.14;mix-blend-mode:multiply;border-radius:32px}
.lay,.hero{position:relative;z-index:1}
.verhaal .tekst.geendrop>p:first-child::first-letter{font:inherit;float:none;color:inherit;margin:0}

/* ── hero = de kaft ───────────────────────────────────────── */
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:center;padding:34px 0 26px}
.kaftboven{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.soort{background:var(--acc);color:#fff;border-radius:99px;padding:5px 18px;font:800 15px 'Baloo 2';letter-spacing:.3px}
.nummer{width:54px;height:54px;border-radius:50%;background:var(--accd);color:#fff;display:grid;place-items:center;font:800 28px 'Baloo 2';line-height:1;padding-top:4px;box-shadow:0 2px 8px #1e293b30}
.titel{line-height:.92;margin:6px 0 16px}
.t1,.t2{display:block;font-family:'Baloo 2';font-weight:800;-webkit-text-stroke:5px #fff;paint-order:stroke fill}
.t1{font-size:clamp(34px,5vw,58px);color:#3b3f6b}
.t2{font-size:clamp(46px,8vw,92px);color:var(--acc);text-shadow:4px 5px 0 var(--accd)}
.t2.lang{font-size:clamp(38px,6.4vw,70px)}
.wat{background:rgba(255,255,255,.95);border-radius:18px;padding:14px 18px;font-size:17px;box-shadow:0 2px 10px #1e293b18;max-width:560px}
.wat b{color:var(--accd)}
.logos{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px;font-weight:800;color:#6b7194}
.logos img{height:30px;width:auto}
.voortgang{display:flex;gap:6px;margin-top:16px}
.voortgang i{width:22px;height:7px;border-radius:4px;background:color-mix(in srgb,var(--acc) 28%,white)}
.voortgang i.nu{background:var(--acc);width:36px}
.hero-beeld img{display:block;margin:auto;max-height:400px;width:auto;max-width:100%;filter:drop-shadow(0 8px 14px #1e293b25)}

/* ── layout ───────────────────────────────────────────────── */
.lay{display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px;align-items:start}
.zij{position:sticky;top:92px;display:grid;gap:16px;max-height:calc(100vh - 110px);overflow:auto}
.toc{display:grid;gap:2px;background:rgba(255,255,255,.94);border:1px solid #e6e8f5;border-radius:18px;padding:12px;box-shadow:0 1px 6px #1e293b12}
.toc b{font:800 14px 'Baloo 2';color:var(--accd);padding:2px 10px 6px}
.toc a{text-decoration:none;font-size:14px;font-weight:700;padding:6px 10px;border-radius:99px;line-height:1.3;color:#3b4066}
.toc a:hover{background:var(--bg)}
.toc a.nu{background:var(--acc);color:#fff}
main{display:grid;gap:16px;min-width:0}
.dlmain{display:none}

/* ── kaarten ──────────────────────────────────────────────── */
.kaart{position:relative;background:rgba(255,255,255,.94);border-radius:20px;border:1px solid #e6e8f5;padding:22px 26px;box-shadow:0 2px 8px #1e293b12}
.kop{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:10px;scroll-margin-top:96px}
.kop h2{font-size:30px;color:var(--accd)}
.label{display:inline-block;border-radius:99px;background:var(--acc);color:#fff;font:800 13px 'Baloo 2';padding:1px 14px;letter-spacing:.3px}
.chip{flex:none;border-radius:99px;padding:3px 13px;font-size:11px;font-weight:900;color:#fff;background:var(--accd);text-transform:uppercase;letter-spacing:.4px}
.opdracht .kop,.keuze .kop{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}
.opdracht .kop h2,.keuze .kop h2{flex:1;min-width:0}
.kaart p{margin:0 0 .8em}.kaart p:last-child{margin-bottom:0}
.kaart ul,.kaart ol{margin:.5em 0 .5em 1.2em;padding:0}
.kaart li{margin:.3em 0}
.naast{display:flex;gap:26px;align-items:center}
.naast>.tekst-kol{flex:1;min-width:0}
.beeld-kol{flex:none;width:220px}
.naast.links{flex-direction:row-reverse}
.beeld-kol img,.banner img{display:block;margin:auto;max-height:290px;width:auto;max-width:100%}
.banner{text-align:center;margin:4px 0 14px}.banner img{max-height:320px}

/* verhaal */
.verhaal{border:2px solid color-mix(in srgb,var(--acc) 30%,white)}
.verhaal .tekst>p:first-child::first-letter{font:800 52px/.8 'Baloo 2';float:left;color:var(--acc);margin:6px 8px 0 0}
.verhaal p{font-size:18px;line-height:1.6}
.cliff{margin:16px 0 0;display:flex;gap:12px;align-items:center;font-weight:900;font-style:italic;color:var(--accd);font-size:17px}
.cliff::before{content:"\25B6";flex:none;width:30px;height:30px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-style:normal;font-size:12px;padding-left:2px}
.levelup{border-left:8px solid var(--acc)}

/* sectie */
.sectie{display:flex;align-items:center;gap:16px;padding:14px 0 2px;scroll-margin-top:96px}
.sectie img{height:84px;width:84px;object-fit:contain;border-radius:50%;background:#fff;padding:4px;box-shadow:0 2px 8px #1e293b20}
.sectie h2{font-size:36px;color:var(--accd)}
.sectie::after{content:"";flex:1;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--acc),transparent)}

/* dossierkaart */
.dossier{background:#fff8e6;border:2px solid #ecd9a8;border-radius:8px 20px 20px 20px;margin-top:26px;padding-top:24px}
.dossier .tab{position:absolute;left:-2px;top:-30px;height:30px;padding:0 20px;background:#fff8e6;border:2px solid #ecd9a8;border-bottom:0;border-radius:10px 10px 0 0;font:800 15px 'Baloo 2';color:#8a6a1e;display:flex;align-items:center}
.dossier .stempel{position:absolute;right:22px;top:16px;transform:rotate(-12deg);border:3px solid #d6455d;color:#d6455d;border-radius:8px;padding:2px 14px;font:800 20px 'Baloo 2';letter-spacing:2px;opacity:.85}
.dos-titel{font-size:32px;color:#8a6a1e;margin:0 130px 12px 0}
.dos{margin:0}
.dos .rij{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:8px 0;border-top:1px dashed #e0c98e}
.dos dt{font:800 18px 'Baloo 2';color:#8a6a1e}.dos dd{margin:0}

/* dialoog */
.dia{display:grid;gap:12px}
.dia .r{display:flex;gap:12px;align-items:flex-end;max-width:90%}
.dia .r:nth-child(even):not(.kiko){flex-direction:row-reverse;margin-left:auto}
.dia .av{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 24px 'Baloo 2';overflow:hidden;border:3px solid #fff;box-shadow:0 1px 6px #1e293b40;background:#fff}
.dia .av img{width:100%;height:100%;object-fit:cover;object-position:top}
.dia .av.init{background:var(--accd)}
.dia .b{background:#fff;border:1.5px solid #e0e3f2;border-radius:20px 20px 20px 5px;padding:9px 16px;font-size:17px}
.dia .r:nth-child(even):not(.kiko) .b{border-radius:20px 20px 5px 20px;background:color-mix(in srgb,var(--bg) 70%,white)}
.dia .r.kiko .b{background:#fff3e6;border-color:#f3cfa6}
.dia small{display:block;font-weight:900;font-size:12px;letter-spacing:.3px}

/* telefoon (nep-bericht) */
.telefoon{max-width:480px;margin:10px auto;border:6px solid #3b4066;border-radius:30px;background:#f4f5fb;overflow:hidden;padding-bottom:12px}
.telefoon .balk{background:#3b4066;color:#fff;font-weight:800;font-size:14px;padding:9px 18px;display:flex;gap:10px;align-items:center}
.telefoon .balk::before{content:"";width:22px;height:22px;border-radius:50%;background:#9aa1c9}
.telefoon .msg{margin:10px 14px 0;background:#fff;padding:8px 14px;border-radius:16px 16px 16px 4px;font-size:15.5px;line-height:1.4;max-width:88%;box-shadow:0 1px 4px #1e293b18}
.telefoon .msg small{display:block;font-weight:900;color:#7a81a8;font-size:12px}
.telefoon .msg u{color:#2350c8}

/* vakken */
.vak{display:grid;gap:2px;border-radius:16px;padding:14px 20px;font-size:16.5px}
.vak .t{font:800 19px 'Baloo 2'}
.vak.weetje{background:#fff7dc;color:#5d4500;border:1.5px solid #f3dd94}
.vak.letop{background:#fdecef;color:#7d1a2e;border:1.5px solid #f4c3cd}
.vak.goed{background:#e9f8ee;color:#1d5e33;border:1.5px solid #bfe6cb}

/* raster / stappen / crew / rollen / woorden */
.raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:6px}
.raster.drie{grid-template-columns:repeat(3,minmax(0,1fr))}
.cel,.rol,.woord{background:#fff;border:1.5px solid #e6e8f5;border-radius:14px;padding:12px 16px;font-size:16px;line-height:1.4}
.cel{border-top:5px solid var(--acc)}
.cel b,.rol b{display:block;font:800 19px 'Baloo 2';color:var(--accd)}
.cel p,.rol p{margin:2px 0 0!important}
.rol{padding:0;overflow:hidden;border-color:color-mix(in srgb,var(--acc) 40%,white)}
.rol b{background:color-mix(in srgb,var(--acc) 22%,white);padding:5px 16px}
.rol p{padding:8px 16px 12px}
.stappen{list-style:none;padding:0!important;margin:4px 0 0!important;display:grid;gap:14px}
.stappen li{display:flex;gap:14px;align-items:flex-start;margin:0}
.stappen .nm{flex:none;width:40px;height:40px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font:800 21px 'Baloo 2';padding-top:3px}
.stappen b{font:800 19px 'Baloo 2';display:block;line-height:1.1}
.stappen p{margin:2px 0 0!important}
.crew{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:6px}
.lid{background:#fff;border:1.5px solid #e6e8f5;border-radius:16px;padding:12px 10px;text-align:center;font-size:15px;line-height:1.3}
.lid img{height:120px;width:auto;margin:0 auto 4px;display:block}
.lid b{display:block;font:800 21px 'Baloo 2';color:var(--accd)}.lid p{margin:2px 0 0!important}
.rollen{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:6px}
.woorden{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 14px}
.woord b{display:block;font:800 19px 'Baloo 2';color:var(--accd)}

/* jij beslist */
.keuze{border:3px solid var(--acc)}
.opties{display:grid;gap:10px;margin:12px 0}
.optie{display:flex;gap:14px;align-items:center;text-align:left;font:inherit;font-weight:700;color:inherit;background:#fff;border:1.5px solid #e0e3f2;border-radius:14px;padding:10px 14px;cursor:pointer;transition:.15s}
.optie i{flex:none;width:34px;height:34px;border-radius:9px;background:var(--acc);color:#fff;display:grid;place-items:center;font:800 19px 'Baloo 2';font-style:normal;padding-top:3px}
.optie:hover{border-color:var(--acc);transform:translateX(3px)}
.optie.nu{background:var(--bg);border-color:var(--acc)}
.gevolg{background:#f3f4fa;border-radius:14px;padding:12px 18px;margin-top:10px;color:#3b4066;animation:in .25s}
.gevolg b{color:var(--accd)}
@keyframes in{from{opacity:0;transform:translateY(-4px)}}
.hint{font-size:13px;font-weight:900;color:#8a92b4;text-align:center}

/* opdrachten */
.opdracht{border-left:8px solid var(--acc)}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%}
.sort{border-collapse:separate;border-spacing:0;font-size:16px}
.sort th{font:800 15px 'Baloo 2';color:var(--accd);text-align:center;padding:0 6px 6px;line-height:1.1}
.sort th:first-child{text-align:left}
.sort td{border-top:1.5px solid #e6e8f5;padding:8px 6px;vertical-align:middle}
.sort td.v{text-align:center;width:120px}
.sort label{display:inline-grid;place-items:center;cursor:pointer;padding:3px}
.sort input{position:absolute;opacity:0}
.sort label span{width:24px;height:24px;border-radius:6px;border:2.5px solid var(--acc);display:block;background:#fff}
.sort input:checked+span{background:var(--acc);box-shadow:inset 0 0 0 4px #fff}
.sort input:focus-visible+span{outline:3px solid #e9a900}
.data th{background:var(--acc);color:#fff;font:800 15px 'Baloo 2';text-align:left;padding:6px 12px}
.data td{padding:8px 12px;border-bottom:1.5px solid #e6e8f5;font-size:16px}
.data tr:nth-child(odd) td{background:color-mix(in srgb,var(--bg) 45%,white)}
.leeg th{font:800 15px 'Baloo 2';color:var(--accd);text-align:left;padding:0 6px 6px}
.leeg td{border:1.5px solid #cfd4ea;padding:0}
.leeg input{border:0;border-radius:0;background:transparent;padding:10px 10px;height:44px}
.stel{padding:10px 0;border-top:1.5px solid #e6e8f5}.stel:first-of-type{border-top:0}
.stel .t{font-weight:700}
.keus{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.keus label{cursor:pointer}.keus input{position:absolute;opacity:0}
.keus span{display:block;padding:5px 16px;border-radius:99px;border:2.5px solid var(--acc);font-weight:800;font-size:14px;background:#fff}
.keus input:checked+span{background:var(--acc);color:#fff}
.keus input:focus-visible+span{outline:3px solid #e9a900}
textarea,input[type=text],select{width:100%;font:inherit;font-size:16px;padding:10px 14px;border:1.5px dashed #a9b0cf;border-radius:12px;background:rgba(255,255,255,.85);color:#232847}
textarea:focus,input[type=text]:focus,select:focus{border:1.5px solid var(--acc);outline:0;background:#fff}
.vraag{display:grid;gap:6px;margin:12px 0;font-weight:700}.vraag textarea{font-weight:400}
.vink{list-style:none;padding:0!important;margin:4px 0 0!important}
.vink label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:5px 0}
.vink input{width:22px;height:22px;accent-color:var(--accd);margin-top:3px;flex:none}
.vink input:checked+span{opacity:.6;text-decoration:line-through}
.kp{display:grid;grid-template-columns:1fr 230px;gap:14px;align-items:center;padding:7px 0;border-top:1.5px solid #e6e8f5}
.tekenvlak,.paneel{position:relative}
canvas{display:block;width:100%;background:rgba(255,255,255,.7);border:2px dashed #b3b9d6;border-radius:16px;touch-action:none;cursor:crosshair}
.wis{position:absolute;right:10px;top:10px;font:700 12px 'Nunito',sans-serif;border:0;border-radius:8px;padding:5px 10px;background:#3b4066;color:#fff;cursor:pointer;opacity:.8}
.storyboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.paneel input{margin-top:6px;font-size:14px}

/* eindbaas, mee, ouders */
.baas{background:#2b2f55;color:#fff;border:0}
.baas .kop h2{color:#ffd36e}.baas .label{background:#ff8aa0;color:#2b2f55}
.baas textarea{border-color:#7c82b6;background:#fff}
.mee{background:var(--acc);color:#fff;border:0}
.mee .kop h2{color:#fff}.mee .label{background:#fff;color:var(--accd)}
.mee ul{list-style:none;margin:6px 0 0!important}
.mee li{display:flex;gap:12px;margin:10px 0!important;font-weight:800;font-size:18px}
.mee li::before{content:"\2714";flex:none;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--accd);display:grid;place-items:center;font-size:13px;margin-top:2px}
.ouders{border:2px dashed color-mix(in srgb,var(--accd) 55%,white);background:rgba(255,255,255,.96)}
.ouders h2{font-size:24px;color:var(--accd);margin-bottom:10px;scroll-margin-top:96px}
.opl{margin-top:12px;border-top:1.5px solid #e6e8f5;padding-top:10px;font-size:15px;color:#454c78}
.opl summary{cursor:pointer;font-weight:900;color:var(--accd)}

/* download / nav */
.download{background:rgba(255,255,255,.94);border:1px solid #e6e8f5;border-radius:18px;padding:16px;display:grid;gap:10px;box-shadow:0 1px 6px #1e293b12}
.download b{font:800 18px 'Baloo 2';line-height:1.15;color:var(--accd)}
.download>div{display:grid;gap:8px}
.download a{display:block;text-align:center;text-decoration:none;font-weight:900;font-size:14px;padding:10px 12px;border-radius:99px;background:var(--acc);color:#fff}
.download a:hover{background:var(--accd)}
.download small{font-size:12.5px;line-height:1.4;color:#6b7194}
.pn{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px}
.pn .nav{flex:1 1 220px;text-decoration:none;font:800 18px 'Baloo 2';background:rgba(255,255,255,.94);border:3px solid var(--acc);border-radius:18px;padding:12px 18px;color:var(--accd)}
.pn .next{text-align:right}
.pn .nav:hover{background:var(--acc);color:#fff}
footer{font-size:13px;font-weight:700;color:#8a92b4;text-align:center;padding:10px}

@media(max-width:1020px){
 .lay{grid-template-columns:1fr}
 .zij{position:static;max-height:none}
 .zij .download{display:none}
 .dlmain{display:block}
 .toc{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding:8px;border-radius:99px}
 .toc b{display:none}
 .hero{grid-template-columns:1fr;padding-top:20px}
 .hero-beeld img{max-height:260px}
}
@media(max-width:640px){
 body{font-size:16px}
 .wrap{padding:0 12px 30px}
 .kaart{padding:18px 16px;border-radius:16px}
 .kop h2{font-size:25px}
 .naast,.naast.links{flex-direction:column;align-items:stretch}
 .beeld-kol{width:auto}.beeld-kol img{max-height:200px}
 .raster,.raster.drie{grid-template-columns:1fr}
 .dos .rij{grid-template-columns:1fr;gap:0}
 .dos-titel{margin-right:0;font-size:26px}
 .dossier .stempel{position:static;display:inline-block;margin-bottom:6px}
 .kp{grid-template-columns:1fr}
 .sectie h2{font-size:27px}.sectie img{height:60px;width:60px}
 .dia .r{max-width:100%}.dia .av{width:44px;height:44px}
 .sort td.v{width:auto}
 .verhaal p{font-size:17px}
}
@media print{.zij,.pn,.dlmain,.deco{display:none}.kaart{box-shadow:none;break-inside:avoid}}
.ill.gewoon{border-radius:20px;box-shadow:0 4px 14px #1e293b25}
