/* Schoolit 2026. Waarden uit het ontwerp van Claude Design (seo-redesign/schoolit/ontwerp: LEESMIJ.md, tokens.css).
   Breedtes: gsm tot 767, tablet 768-1023, desktop 1024-1279, ontworpen op 1280 (inhoud max 1280 gecentreerd). */

@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 800; font-display: swap;
	src: url(../fonts/figtree-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 800; font-display: swap;
	src: url(../fonts/figtree-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--paars: #6A4072; --paars-donker: #4D2C54;
	--tekst: #1F1A21; --tekst-body: #3A333C; --tekst-zacht: #5A525C; --tekst-stil: #7A717C;
	--fout: #B3261E; --wit: #FFFFFF; --vlak: #F4F2F2; --lijn: #E9E4EA; --lijn-veld: #D9CFDB; --lijn-donker: #DCD4DD;
	--adv-rand: #BBB1BD; --geel: #FCD893; --groen: #A9EEC2; --roze: #F5D3D3;
	--font: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--rand-x: 40px; --breed: 1280px;
	--portret: repeating-linear-gradient(45deg, #DCD4DD 0 4px, #EDE8EE 4px 8px);
}
@media (max-width: 767px) { :root { --rand-x: 16px; } }

/* ---------- Basis ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 24px; }
body { margin: 0; background: var(--wit); color: var(--tekst); font-family: var(--font); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img, svg, video { max-width: 100%; }
img { height: auto; }
a { color: var(--paars); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--paars-donker); text-decoration-thickness: 2px; }
h1, h2, h3, h4 { margin: 0; font-weight: 800; text-wrap: pretty; }
p { margin: 0; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--paars); outline-offset: 2px; }
.knop--primair:focus-visible, .paginering__nr[aria-current]:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--geel); }
.visueel-verborgen { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.naar-inhoud { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--paars); color: var(--wit); padding: 10px 16px; border-radius: 8px; font-weight: 600; }
.naar-inhoud:focus { top: 12px; color: var(--wit); }
.icoon { display: block; flex: none; }
.beeld { display: block; object-fit: cover; background: var(--vlak); }
.beeld-leeg { display: block; background: var(--vlak); }

/* ---------- Knoppen, chips, badges ---------- */
.knop { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 18px; border-radius: 8px; font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap; border: 0; cursor: pointer; }
.knop--primair { background: var(--paars); color: var(--wit); }
.knop--primair:hover { background: var(--paars-donker); color: var(--wit); }
.knop--vol { display: flex; width: 100%; height: 52px; font-weight: 800; font-size: 16px; }
.knop--secundair { background: var(--wit); color: var(--paars); border: 1.5px solid var(--paars); }
.knop--secundair:hover { background: var(--paars); color: var(--wit); }
.chip { display: inline-flex; align-items: center; text-decoration: none; color: var(--tekst); background: var(--vlak); border-radius: 999px; padding: 7px 12px; font-size: 13px; font-weight: 600; transition: background .15s, color .15s; }
.chip:hover, .chip[aria-current] { background: var(--paars); color: var(--wit); }
.chip--groot { min-height: 44px; padding: 0 16px; font-size: 15px; }
.chip--tag { padding: 8px 14px; font-size: 14px; }
.badge { display: inline-block; background: var(--badge, var(--vlak)); color: var(--tekst); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; border-radius: 4px; text-decoration: none; line-height: 1.25; white-space: nowrap; }
a.badge:hover { color: var(--tekst); text-decoration: underline; text-decoration-thickness: 1px; }
.badge--groot { font-size: 13px; padding: 5px 10px; }
.badge--klein { font-size: 11px; padding: 4px 8px; }
.badge--rand { background: transparent; border: 1.5px solid var(--paars); color: var(--paars); font-size: 13px; padding: 3.5px 8.5px; }
.filterpil { display: inline-flex; align-items: center; text-decoration: none; color: var(--tekst); border: 1.5px solid var(--lijn-veld); border-radius: 999px; padding: 6px 11px; font-size: 13px; font-weight: 600; }
.filterpil:hover { border-color: var(--paars); color: var(--paars); }
.filterpil[aria-current], .filterpil[aria-pressed="true"] { background: var(--paars); border-color: var(--paars); color: var(--wit); }
.sectielabel { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); border-top: 3px solid var(--paars); padding-top: 14px; margin: 0 0 16px; }
.sectielabel a, .sectielabel .sectielabel__extra { font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; text-decoration: none; }
.sectielabel .sectielabel__extra { color: var(--tekst-zacht); }
.portret { display: block; border-radius: 50%; object-fit: cover; flex: none; }
.portret--leeg { background: var(--portret); }

/* ---------- Kop ---------- */
.kop { position: relative; z-index: 20; background: var(--wit); border-bottom: 1px solid var(--lijn); }
.kop__binnen { display: flex; align-items: center; gap: 28px; height: 84px; padding: 0 var(--rand-x); max-width: var(--breed); margin: 0 auto; }
.kop__logo { display: flex; flex: none; color: var(--paars); }
.kop__logo svg { display: block; width: 156px; height: 48px; }
.kop__nav { flex: 1; min-width: 0; }
.kop__lijst { display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; height: 44px; }
.kop__item { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: var(--tekst); font-weight: 600; font-size: 15px; text-transform: uppercase; letter-spacing: .04em; line-height: 44px; height: 44px; white-space: nowrap; background: none; border: 0; padding: 0; cursor: pointer; }
.kop__item:hover { color: var(--paars); box-shadow: inset 0 -3px 0 var(--geel); text-decoration: none; }
.kop__item[aria-current] { box-shadow: inset 0 -3px 0 var(--geel); color: var(--tekst); }
.kop__item--dossier { color: var(--paars); font-weight: 800; }
.kop__item--dossier:hover { box-shadow: inset 0 -3px 0 var(--paars); }
.kop__item--dossier[aria-current] { color: var(--paars); box-shadow: inset 0 -3px 0 var(--geel); }
.kop__bol { width: 8px; height: 8px; border-radius: 50%; background: var(--paars); flex: none; }
.kop__extra { position: relative; }
.kop__extraknop .icoon { transition: transform .15s; }
.kop__extraknop[aria-expanded="true"] .icoon { transform: rotate(180deg); }
.kop__extralijst { position: absolute; top: calc(100% + 8px); left: -16px; min-width: 200px; margin: 0; padding: 8px; list-style: none; background: var(--wit); border: 1px solid var(--lijn); border-radius: 8px; box-shadow: 0 8px 24px rgba(60,30,70,.15); }
.kop__extralijst a { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 6px; color: var(--tekst); font-weight: 600; font-size: 15px; text-decoration: none; }
.kop__extralijst a:hover { background: var(--vlak); color: var(--paars); }
.kop__vraag { flex: none; }
.kop__zoek { display: flex; align-items: center; gap: 8px; width: 150px; height: 44px; padding: 0 14px; margin: 0; background: var(--vlak); border-radius: 8px; color: var(--paars); flex: none; border: 1.5px solid transparent; }
.kop__zoek:focus-within { border-color: var(--paars); }
.kop__zoek input { width: 100%; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 15px; color: var(--tekst); padding: 0; outline: none; }
.kop__zoek input::placeholder { color: var(--tekst-zacht); opacity: 1; }
.kop__zoek input::-webkit-search-cancel-button { display: none; }
.kop__menuknop, .kop__zoekknop { display: none; }
@media (max-width: 1279px) { .kop__binnen { gap: 20px; } .kop__lijst { gap: 18px; } .kop__zoek { width: 44px; padding: 0; justify-content: center; } .kop__zoek input { position: absolute; opacity: 0; pointer-events: none; width: 1px; } .kop__zoek { display: none; } .kop__zoekknop { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 8px; background: var(--vlak); color: var(--paars); flex: none; } }
@media (max-width: 1100px) { .kop__lijst { gap: 14px; } .kop__item { font-size: 14px; letter-spacing: .03em; } }
@media (max-width: 1023px) {
	.kop__binnen { height: 60px; padding: 0 16px; justify-content: space-between; gap: 8px; }
	.kop__nav, .kop__vraag { display: none; }
	.kop__menuknop { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; margin-left: -8px; padding: 0 0 0 11px; background: none; border: 0; cursor: pointer; }
	.kop__streep { display: block; width: 22px; height: 2px; background: var(--tekst); transition: transform .15s, opacity .15s; }
	.kop__menuknop[aria-expanded="true"] .kop__streep:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.kop__menuknop[aria-expanded="true"] .kop__streep:nth-child(2) { opacity: 0; }
	.kop__menuknop[aria-expanded="true"] .kop__streep:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.kop__logo svg { width: 117px; height: 36px; }
	.kop__zoekknop { background: none; margin-right: -8px; }
}

/* Gsm-menu (ontwerp #menu-m) */
.gsm-menu { position: absolute; left: 0; right: 0; top: 100%; background: var(--wit); padding: 16px 16px 28px; display: flex; flex-direction: column; gap: 20px; border-bottom: 1px solid var(--lijn); box-shadow: 0 16px 24px rgba(60,30,70,.08); max-height: calc(100vh - 60px); overflow-y: auto; }
.gsm-menu[hidden] { display: none; }
.gsm-menu__zoek { display: flex; align-items: center; gap: 10px; background: var(--vlak); border-radius: 8px; height: 48px; padding: 0 14px; margin: 0; color: var(--paars); }
.gsm-menu__zoek input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 16px; color: var(--tekst); outline: none; }
.gsm-menu__zoek input::placeholder { color: var(--tekst-zacht); opacity: 1; }
.gsm-menu__lijst { list-style: none; margin: 0; padding: 0; }
.gsm-menu__item { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 4px; border-bottom: 1px solid var(--lijn); text-decoration: none; color: var(--tekst); font-weight: 600; font-size: 17px; text-transform: uppercase; letter-spacing: .04em; }
.gsm-menu__item:hover { color: var(--paars); text-decoration: none; }
.gsm-menu__item[aria-current] { font-weight: 800; }
.gsm-menu__item[aria-current] .gsm-menu__woord { box-shadow: inset 0 -3px 0 var(--geel); }
.gsm-menu__naam { display: inline-flex; align-items: center; gap: 8px; }
.gsm-menu__item--dossier { color: var(--paars); font-weight: 800; }
.gsm-menu__toevoeging { font-size: 12px; font-weight: 600; color: var(--tekst-zacht); text-transform: none; letter-spacing: 0; }
.gsm-menu__pijl { color: var(--paars); }
.gsm-menu__extra { display: flex; flex-direction: column; gap: 6px; }
.gsm-menu__label { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); padding: 0 4px; }
.gsm-menu__chips { display: flex; flex-wrap: wrap; gap: 8px; }
@media (min-width: 1024px) { .gsm-menu { display: none !important; } }

/* ---------- Pagina, raster ---------- */
.pagina { max-width: var(--breed); margin: 0 auto; padding: 24px var(--rand-x) 56px; }
@media (max-width: 767px) { .pagina { padding: 16px 16px 40px; } }

/* ---------- Advertenties (vaste maat, ontwerp §5.4) ---------- */
.adv { display: flex; justify-content: center; }
.adv .lead { width: var(--b); height: var(--h); max-width: 100%; overflow: hidden; }
.adv--d728x90 { --b: 728px; --h: 90px; }
.adv--d300x250 { --b: 300px; --h: 250px; }
@media (max-width: 767px) {
	.adv--m320x100 { --b: 320px; --h: 100px; }
	.adv--m300x250 { --b: 300px; --h: 250px; }
}
@media (min-width: 768px) and (max-width: 1023px) { .adv--d728x90 .lead { width: 728px; } }
.adv--boven { margin: 0 0 28px; }
@media (max-width: 767px) { .adv--boven { margin: 0 0 20px; } }
.adv--tekst { margin: 8px 0 22px; }
.adv--alleen-gsm { display: none; }
@media (max-width: 767px) { .adv--alleen-gsm { display: flex; } .adv--alleen-desktop { display: none; } }
@media (max-width: 1023px) { .zijbalk .adv--alleen-desktop { display: none; } }
/* Een lege plaats (geen campagne) klapt dicht, behalve bovenaan: daar zou de tekst verspringen. */
.adv:not(.adv--boven):has(.lead[data-leeg]) { display: none; }
.voet-banner { display: flex; justify-content: center; padding: 0 var(--rand-x) 40px; background: var(--wit); }
@media (max-width: 767px) { .voet-banner { padding: 0 16px 32px; } }

/* ---------- Voet ---------- */
.voet { background: var(--vlak); }
.voet__binnen { max-width: var(--breed); margin: 0 auto; padding: 28px var(--rand-x) 24px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: var(--tekst-body); }
.voet__links { display: flex; flex-wrap: wrap; gap: 18px; list-style: none; margin: 0; padding: 0; }
.voet__links a { color: var(--paars); }
@media (max-width: 767px) {
	.voet__binnen { flex-direction: column-reverse; align-items: flex-start; padding: 24px 16px; gap: 16px; font-size: 13px; }
	.voet__links { gap: 12px 16px; }
}

/* ---------- Kruimelpad ---------- */
.kruimelpad ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--tekst-zacht); }
.kruimelpad li { display: inline-flex; gap: 8px; }
.kruimelpad li + li::before { content: "›"; }
.kruimelpad a { color: var(--tekst-zacht); text-decoration: none; }
.kruimelpad a:hover { color: var(--paars); text-decoration: underline; }
.kruimelpad__huidig { color: var(--tekst); min-width: 0; }
@media (min-width: 768px) {
	.kruimelpad ol { flex-wrap: nowrap; }
	.kruimelpad li { flex: none; }
	.kruimelpad li.kruimelpad__huidig { flex: 0 1 auto; overflow: hidden; }
	.kruimelpad__huidig span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 767px) {
	.kruimelpad ol { font-size: 13px; gap: 6px; }
	.kruimelpad li { gap: 6px; }
	.kruimelpad--kort .kruimelpad__huidig { display: none; }
}

/* ---------- Tegels ---------- */
.tegel { text-decoration: none; color: var(--tekst); }
.tegel:hover, .tegel:hover .tegel__zin, .tegel:hover .tegel__titel { color: var(--paars); text-decoration: none; }
.tegel__titel { font-weight: 800; text-wrap: pretty; }
.tegel__beeld { width: 100%; border-radius: 6px; }
.tegel__meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.tegel__type { font-size: 12px; color: var(--tekst-zacht); font-weight: 600; }
.tegel__zin { font-size: 14px; line-height: 1.45; color: var(--tekst-body); }
.tegel__tekst { display: flex; flex-direction: column; min-width: 0; }
.tegel--groot { display: flex; flex-direction: column; gap: 10px; }
.tegel--groot .tegel__beeld { height: 176px; }
.tegel--groot .tegel__titel { font-size: 19px; line-height: 1.28; }
.tegel--uit { display: flex; flex-direction: column; gap: 10px; }
.tegel--uit .tegel__beeld { height: 170px; }
.tegel--uit .tegel__type { font-size: 13px; }
.tegel--uit .tegel__titel { font-size: 18px; line-height: 1.3; }
.tegel--kaart { display: flex; flex-direction: column; gap: 8px; }
.tegel--kaart .tegel__beeld { height: 152px; }
.tegel--kaart .tegel__soort { color: var(--paars); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tegel--kaart .tegel__titel { font-size: 17px; line-height: 1.3; }
.tegel--lijst { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--lijn); }
.tegel--lijst .tegel__beeld { width: 150px; height: 100px; }
.tegel--lijst .tegel__tekst { gap: 6px; }
.tegel--lijst .tegel__type { font-size: 13px; }
.tegel--lijst .tegel__titel { font-size: 20px; line-height: 1.28; }
.tegel--lijst .tegel__zin { font-size: 15px; }
.tegel--meer { display: grid; grid-template-columns: 120px 1fr; gap: 14px; align-items: center; }
.tegel--meer .tegel__beeld { width: 120px; height: 80px; }
.tegel--meer .tegel__tekst { gap: 4px; }
.tegel--meer .tegel__titel { font-size: 15px; line-height: 1.3; }
.tegel__datum { font-size: 13px; color: var(--tekst-zacht); }
.tegel--kijker { display: grid; grid-template-columns: 84px 1fr; gap: 12px; align-items: center; }
.tegel--kijker .tegel__beeld { width: 84px; height: 56px; }
.tegel--kijker .tegel__tekst { gap: 3px; }
.tegel__cat { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--paars); }
.tegel--kijker .tegel__titel { font-size: 14px; font-weight: 600; line-height: 1.3; }
.tegel--auteur { display: grid; grid-template-columns: 180px 1fr; gap: 22px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--lijn); }
.tegel--auteur .tegel__beeld { width: 180px; height: 112px; }
.tegel--auteur .tegel__tekst { gap: 6px; }
.tegel--auteur .tegel__type { font-size: 13px; }
.tegel--auteur .tegel__titel { font-size: 21px; line-height: 1.28; }
.tegel--auteur .tegel__zin { font-size: 15px; }
.tegels--kijker { display: flex; flex-direction: column; gap: 12px; }
.tegels--meer { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px 24px; }
@media (max-width: 767px) {
	.tegels--meer { grid-template-columns: 1fr; gap: 14px; }
	.tegel--meer { grid-template-columns: 104px 1fr; gap: 12px; }
	.tegel--meer .tegel__beeld { width: 104px; height: 70px; }
	.tegel--lijst, .tegel--auteur { grid-template-columns: 104px 1fr; gap: 12px; padding: 14px 0; align-items: start; }
	.tegel--lijst .tegel__beeld, .tegel--auteur .tegel__beeld { width: 104px; height: 70px; }
	.tegel--lijst .tegel__titel, .tegel--auteur .tegel__titel { font-size: 16px; line-height: 1.3; }
	.tegel--lijst .tegel__zin, .tegel--auteur .tegel__zin { display: none; }
	.tegel--lijst .tegel__type, .tegel--auteur .tegel__type { font-size: 12px; }
	.tegel--auteur .badge--klein { font-size: 10px; }
}

/* ---------- Paginering ---------- */
.paginering { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 36px; flex-wrap: wrap; }
.paginering__nummers { display: inline-flex; gap: 6px; align-items: center; }
.paginering__knop { height: 44px; padding: 0 16px; border-radius: 8px; border: 1.5px solid var(--paars); color: var(--paars); display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 15px; text-decoration: none; }
.paginering__vorige { margin-right: 8px; } .paginering__volgende { margin-left: 8px; }
a.paginering__knop:hover { background: var(--paars); color: var(--wit); text-decoration: none; }
.paginering__knop[aria-disabled] { border-color: var(--lijn); color: var(--adv-rand); }
.paginering__nr { width: 44px; height: 44px; border-radius: 8px; border: 1.5px solid var(--lijn-veld); color: var(--tekst); display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: 15px; text-decoration: none; }
a.paginering__nr:hover { border-color: var(--paars); color: var(--paars); text-decoration: none; }
.paginering__nr[aria-current] { background: var(--paars); border-color: var(--paars); color: var(--wit); font-weight: 800; }
.paginering__puntjes { color: var(--tekst-zacht); padding: 0 4px; }
.paginering__van { display: none; font-size: 15px; color: var(--tekst-zacht); font-weight: 600; }
@media (max-width: 767px) {
	.paginering { justify-content: space-between; gap: 8px; }
	.paginering__nummers { display: none; }
	.paginering__van { display: inline; }
	.paginering__vorige, .paginering__volgende { margin: 0; }
}

/* ---------- Formulieren (fl-formulieren, ontwerp §7) ---------- */
.fl-formulier { --veld-h: 46px; }
.fl-formulier .gform_heading { display: none; }
.fl-formulier .gform_fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; margin: 0; padding: 0; list-style: none; }
.fl-formulier .gfield { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 0; border: 0; }
.fl-formulier .gfield--width-half { grid-column: auto; }
.fl-formulier .gfield_label, .fl-formulier legend.gfield_label { display: block; font-size: 13px; font-weight: 600; color: var(--tekst-body); margin: 0 0 5px; padding: 0; }
.fl-formulier .hidden_label > .gfield_label, .fl-formulier .hidden_label > legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.fl-formulier .gfield_required { color: var(--paars); margin-left: 2px; }
.fl-formulier .gfield--type-consent .gfield_required, .fl-formulier .gfield--type-choice .gfield_required { display: none; }
.fl-formulier input[type=text], .fl-formulier input[type=email], .fl-formulier input[type=tel], .fl-formulier textarea { display: block; width: 100%; height: var(--veld-h); padding: 0 12px; background: var(--wit); border: 1px solid var(--lijn-veld); border-radius: 6px; font: inherit; font-size: 15px; color: var(--tekst); }
.fl-formulier textarea { height: 140px; padding: 12px; resize: vertical; line-height: 1.5; }
.fl-formulier input::placeholder, .fl-formulier textarea::placeholder { color: var(--tekst-stil); opacity: 1; }
.fl-formulier input[type=text]:focus, .fl-formulier input[type=email]:focus, .fl-formulier input[type=tel]:focus, .fl-formulier textarea:focus { outline: none; border: 2px solid var(--paars); padding: 0 11px; }
.fl-formulier textarea:focus { padding: 11px; }
/* Keuzes als pillen (onderwijsniveau, schooltype) */
.fl-formulier .gfield--type-choice .gfield_checkbox, .fl-formulier .gfield--type-choice .gfield_radio { display: flex; flex-wrap: wrap; gap: 6px; }
.fl-formulier .gchoice { position: relative; display: block; margin: 0; }
.fl-formulier .gchoice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fl-formulier .gchoice label { display: inline-flex; align-items: center; min-height: 34px; border: 1.5px solid var(--paars); color: var(--paars); background: var(--wit); border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 800; cursor: pointer; user-select: none; }
.fl-formulier .gchoice input:checked + label { background: var(--paars); color: var(--wit); }
.fl-formulier .gchoice input:focus-visible + label { box-shadow: 0 0 0 3px var(--geel); }
.fl-formulier .gchoice label:hover { background: #F7F2F8; }
.fl-formulier .gchoice input:checked + label:hover { background: var(--paars-donker); }
/* Akkoordvinkje */
.fl-formulier .ginput_container_consent { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--tekst-body); line-height: 1.45; }
.fl-formulier .gfield_consent_checkbox { appearance: none; -webkit-appearance: none; width: 16px; height: 16px; margin: 1px 0 0; flex: none; border: 1.5px solid var(--paars); border-radius: 3px; background: var(--wit); cursor: pointer; display: grid; place-content: center; }
.fl-formulier .gfield_consent_checkbox:checked { background: var(--paars) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.fl-formulier .gfield_consent_checkbox:focus-visible { outline: 2px solid var(--paars); outline-offset: 2px; }
.fl-formulier .fl-uitleg { font-size: 13px; color: var(--tekst-zacht); line-height: 1.45; }
.fl-formulier .gform_footer { margin-top: 14px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.fl-formulier .gform_button { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 24px; background: var(--paars); color: var(--wit); border: 0; border-radius: 6px; font: inherit; font-weight: 800; font-size: 15px; cursor: pointer; }
.fl-formulier .gform_button:hover { background: var(--paars-donker); }
.fl-formulier .gform_button:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--geel); }
.fl-formulier .gform_button[disabled] { opacity: .5; cursor: default; }
.fl-formulier .gfield_error .gfield_label, .fl-formulier .gfield_error legend { color: var(--fout); }
.fl-formulier .gfield_error input[type=text], .fl-formulier .gfield_error input[type=email], .fl-formulier .gfield_error textarea { border: 2px solid var(--fout); padding: 0 11px; }
.fl-formulier .validation_message { color: var(--fout); font-size: 13px; font-weight: 600; margin-top: 5px; }
.fl-formulier .fl-melding.gform_validation_errors { grid-column: 1 / -1; color: var(--fout); font-weight: 600; font-size: 14px; margin-top: 12px; }
.fl-formulier .fl-melding p { margin: 0; }
.fl-formulier .fl-noscript { font-size: 13px; color: var(--tekst-zacht); margin-top: 8px; }
.gform_confirmation_message, .fl-bevestiging { display: flex; gap: 12px; align-items: flex-start; background: var(--groen); border-radius: 8px; padding: 16px 20px; font-size: 15px; line-height: 1.5; color: var(--tekst); }
.fl-bevestiging::before { content: ""; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--tekst) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.6 2.5L12 5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.fl-bevestiging a { font-weight: 800; color: var(--tekst); }
@media (max-width: 767px) {
	.fl-formulier .gform_fields { grid-template-columns: 1fr; }
	.fl-formulier .gfield--width-half { grid-column: 1 / -1; }
	.fl-formulier .gform_button { width: 100%; height: 52px; }
	.fl-formulier .gchoice label { min-height: 44px; padding: 10px 14px; font-size: 13px; }
	.fl-formulier .gfield_consent_checkbox { width: 18px; height: 18px; }
	.fl-formulier input[type=text], .fl-formulier input[type=email], .fl-formulier input[type=tel] { font-size: 16px; }
}

/* Nieuwsbriefblok (ontwerp §7) */
.nieuwsbrief { background: var(--vlak); border-radius: 8px; padding: 20px; }
.nieuwsbrief h2 { font-size: 18px; font-weight: 800; margin: 0 0 6px; }
.nieuwsbrief > p { margin: 0 0 12px; font-size: 14px; color: var(--tekst-body); line-height: 1.45; }
.nieuwsbrief .fl-formulier { --veld-h: 44px; }
.nieuwsbrief .gform_fields { grid-template-columns: 1fr; gap: 10px; }
.nieuwsbrief input[type=email] { font-size: 14px; }
.nieuwsbrief .gform_footer { margin-top: 10px; }
.nieuwsbrief .gform_button { width: 100%; height: 44px; font-size: 14px; }
.nieuwsbrief .gchoice label { padding: 7px 12px; min-height: 0; }
@media (max-width: 767px) { .nieuwsbrief .fl-formulier { --veld-h: 46px; } .nieuwsbrief .gform_button { height: 48px; font-size: 15px; } .nieuwsbrief .gchoice label { padding: 10px 14px; } }

/* ---------- Artikel (ontwerp §6.1) ---------- */
.artikelpagina { max-width: var(--breed); margin: 0 auto; padding: 24px var(--rand-x) 56px; }
.artikel-raster { display: grid; grid-template-columns: 190px 690px 290px; gap: 30px; align-items: start; justify-content: center; }
.toc--zij { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 12px; font-size: 14px; line-height: 1.4; border-top: 3px solid var(--paars); padding-top: 14px; }
.toc__label { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); }
.toc a { text-decoration: none; color: var(--tekst-body); }
.toc a:hover { color: var(--paars); text-decoration: underline; }
.toc--zij > a:first-of-type, .toc a.is-actief { color: var(--tekst); font-weight: 600; }
.toc--zij.heeft-actief > a:first-of-type:not(.is-actief) { color: var(--tekst-body); font-weight: 400; }
.toc--genummerd a { display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: start; }
.toc--genummerd > a:first-of-type { font-weight: 400; color: var(--tekst-body); }
.toc__nr { width: 24px; height: 24px; border-radius: 50%; background: var(--vlak); color: var(--paars); font-weight: 800; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
.toc--genummerd.toc--zij { gap: 10px; }
.toc--klap { display: none; border: 1.5px solid var(--paars); border-radius: 8px; padding: 0 16px; margin: 0 0 24px; }
.toc--klap summary { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); min-height: 44px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
.toc--klap summary::-webkit-details-marker { display: none; }
.toc--klap summary::after { content: ""; width: 10px; height: 6px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236A4072' stroke-width='1.8'/%3E%3C/svg%3E") center/10px 6px no-repeat; transition: transform .15s; }
.toc--klap[open] summary::after { transform: rotate(180deg); }
.toc__links { display: flex; flex-direction: column; gap: 10px; padding: 4px 0 16px; font-size: 15px; }
.toc__links a { color: var(--tekst); }

.artikel { min-width: 0; }
.artikel .kruimelpad { margin-bottom: 18px; }
.artikel__labels { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.artikel__type { font-size: 14px; color: var(--tekst-zacht); font-weight: 600; }
.artikel__titel { font-size: 42px; line-height: 1.12; letter-spacing: -.01em; margin: 0 0 18px; color: var(--tekst); }
.artikel__inleiding { font-size: 21px; line-height: 1.45; font-weight: 600; color: var(--tekst-body); margin: 0 0 20px; text-wrap: pretty; }
.auteursregel { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid var(--lijn); border-bottom: 1px solid var(--lijn); margin-bottom: 24px; }
.auteursregel__portret { width: 44px; height: 44px; }
.auteursregel__tekst { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.4; }
.auteursregel__naam { font-weight: 800; text-decoration: none; }
.auteursregel__rol { color: var(--tekst-zacht); }
.auteursregel__meta { color: var(--tekst-zacht); display: flex; gap: 0 10px; flex-wrap: wrap; }
.auteursregel__meta .kort { display: none; }
.auteursregel--wp { margin-bottom: 28px; }
.auteursregel__partner { display: inline-flex; align-items: center; gap: 8px; }
.auteursregel__logo { width: 72px; height: 24px; object-fit: contain; background: var(--vlak); border-radius: 4px; }
.artikel__beeld { margin: 0 0 28px; }
.artikel__hoofdbeeld { width: 690px; height: 390px; border-radius: 6px; }
.artikel__beeld figcaption { font-size: 14px; color: var(--tekst-zacht); line-height: 1.5; margin-top: 10px; }
.kernpunten { border-top: 3px solid var(--geel); padding: 16px 0 20px; margin: 0 0 28px; }
.kernpunten h2 { font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tekst); margin: 0 0 12px; }
.kernpunten ul { margin: 0; padding-left: 20px; font-size: 17px; line-height: 1.55; color: var(--tekst); display: flex; flex-direction: column; gap: 8px; }
.kernpunten--twee { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.kernpunten--twee h2 { margin-bottom: 10px; }
.kernpunten--twee ul { font-size: 16px; line-height: 1.5; gap: 6px; }

/* Tekst uit de blokeditor (ontwerp §7, laatste alinea) */
.tekst { font-size: 18px; line-height: 1.65; color: var(--tekst-body); overflow-wrap: break-word; }
.tekst > * { margin: 0 0 22px; }
.tekst > *:last-child { margin-bottom: 0; }
.tekst h2 { font-size: 27px; line-height: 1.25; font-weight: 800; color: var(--paars); margin: 38px 0 12px; }
.tekst h3 { font-size: 22px; line-height: 1.3; font-weight: 800; color: var(--tekst); margin: 30px 0 10px; }
.tekst h4 { font-size: 18px; font-weight: 800; color: var(--tekst); margin: 24px 0 8px; }
.tekst ul, .tekst ol { padding-left: 24px; }
.tekst li + li { margin-top: 8px; }
.tekst strong { color: var(--tekst); }
.tekst figure, .tekst .wp-block-image { margin: 28px 0; }
.tekst img { border-radius: 6px; height: auto; }
.tekst figcaption, .tekst .wp-element-caption { font-size: 14px; color: var(--tekst-zacht); line-height: 1.5; margin-top: 10px; text-align: left; }
.tekst blockquote, .tekst .wp-block-quote { margin: 30px 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--geel); font-size: 21px; font-weight: 600; line-height: 1.45; color: var(--tekst-body); }
.tekst blockquote p { margin: 0 0 10px; }
.tekst blockquote cite { display: block; font-size: 14px; font-style: normal; font-weight: 400; color: var(--tekst-zacht); }
.tekst table { width: 100%; border-collapse: collapse; font-size: 15px; }
.tekst caption { text-align: left; font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); padding: 0 0 10px; }
.tekst tr { border-top: 1px solid var(--lijn); }
.tekst th { text-align: left; font-weight: 600; padding: 10px 12px 10px 0; color: var(--tekst); vertical-align: top; }
.tekst td { padding: 10px 12px 10px 0; color: var(--tekst-body); vertical-align: top; }
.tekst .wp-block-table { overflow-x: auto; }
.tekst .wp-block-table td, .tekst .wp-block-table th { border: 0; }
.tekst .wp-block-button__link, .tekst .btn { display: inline-flex; align-items: center; height: 44px; padding: 0 20px; border-radius: 8px; background: var(--paars); color: var(--wit); font-weight: 600; font-size: 15px; text-decoration: none; }
.tekst .wp-block-button__link:hover { background: var(--paars-donker); color: var(--wit); }
.tekst .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.tekst .wp-block-embed, .tekst iframe { max-width: 100%; }
.tekst .wp-block-embed__wrapper iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; }
.tekst .sit-yt { border-radius: 6px; }
.tekst .has-background { padding: 20px 24px; border-radius: 8px; }
.tekst hr { border: 0; border-top: 1px solid var(--lijn); margin: 32px 0; }
.tekst .alignleft { float: left; margin: 4px 24px 12px 0; max-width: 50%; }
.tekst .alignright { float: right; margin: 4px 0 12px 24px; max-width: 50%; }
.tekst .aligncenter { margin-left: auto; margin-right: auto; }
.tekst::after { content: ""; display: table; clear: both; }

.leesook { display: flex; flex-direction: column; gap: 6px; border-left: 4px solid var(--geel); padding: 10px 20px; margin: 30px 0; text-decoration: none; border-radius: 0 8px 8px 0; transition: background .15s, border-color .15s; }
.leesook:hover { background: var(--geel); border-left-color: var(--paars); text-decoration: none; }
.leesook__label { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tekst-zacht); line-height: 1.4; }
.leesook__titel { font-size: 20px; font-weight: 800; line-height: 1.3; color: var(--tekst); }
.leesook__titel span { color: var(--paars); }

/* Howto-stappen (ontwerp §6.3) */
.stappen { margin: 0 0 22px; }
.stap { display: grid; grid-template-columns: 56px 1fr; gap: 20px; margin: 36px 0 0; padding-top: 28px; border-top: 1px solid var(--lijn); }
.stap__nr { width: 56px; height: 56px; border-radius: 50%; background: var(--paars); color: var(--wit); font-weight: 800; font-size: 24px; display: flex; align-items: center; justify-content: center; }
.stap__inhoud { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.stap__inhoud h2 { margin: 4px 0 0; }
.stap__inhoud p { margin: 0; }
.stap__inhoud img { width: 100%; border-radius: 6px; }

/* Scorekaart (ontwerp §6.2) */
.scorekaart { border: 1.5px solid var(--paars); border-radius: 8px; padding: 24px 26px; margin: 0 0 32px; display: grid; grid-template-columns: 120px 1fr; gap: 26px; }
.scorekaart__score { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; background: var(--paars); color: var(--wit); border-radius: 8px; padding: 18px 0; align-self: start; }
.scorekaart__getal { font-size: 52px; font-weight: 800; line-height: 1; }
.scorekaart__op { font-size: 13px; font-weight: 600; opacity: .85; }
.scorekaart__inhoud { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.scorekaart__label { font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); margin: 0 0 6px; }
.scorekaart__oordeel { font-size: 18px; font-weight: 800; line-height: 1.35; }
.scorekaart__punten { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.scorekaart__punten h3 { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 8px; }
.punten { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 1.45; color: var(--tekst-body); }
.punten li { display: flex; gap: 8px; }
.punten span { color: var(--tekst); font-weight: 800; border-radius: 4px; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; flex: none; font-size: 13px; }
.punten--plus span { background: var(--groen); }
.punten--min span { background: var(--roze); }
.scorekaart__voet { font-size: 14px; color: var(--tekst-zacht); }

/* Whitepaper (ontwerp §6.4) */
.wp-kop { display: grid; grid-template-columns: 1fr 180px; gap: 28px; align-items: start; margin-bottom: 24px; }
.artikelpagina--whitepaper .artikel__titel { font-size: 38px; margin-bottom: 16px; }
.artikelpagina--whitepaper .artikel__inleiding { font-size: 19px; margin: 0; }
.wp-kop__cover { width: 180px; height: 245px; border-radius: 6px; box-shadow: 0 8px 24px rgba(60,30,70,.15); }
.downloadvak { background: var(--vlak); border-radius: 8px; padding: 28px; margin: 0 0 36px; }
.downloadvak__kop { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 14px; }
.downloadvak h2 { font-size: 24px; font-weight: 800; margin: 0 0 4px; }
.downloadvak__kop p { font-size: 15px; color: var(--tekst-body); }
.downloadvak__kop > span { font-size: 13px; color: var(--tekst-zacht); white-space: nowrap; }
.downloadvak .gfield--type-choice { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.downloadvak .gfield--type-choice legend { float: left; margin: 0 4px 0 0; }
.downloadvak .gchoice label { font-size: 13px; padding: 8px 14px; }
.downloadvak .ginput_container_consent { font-size: 14px; }

/* Onder het artikel */
.disclaimer { font-size: 15px; line-height: 1.5; color: var(--tekst-zacht); border-left: 3px solid var(--geel); padding: 4px 0 4px 14px; margin: 28px 0 0; }
.artikel-onderwerpen { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--lijn); }
.artikel-onderwerpen + .delen { margin-top: 16px; padding-top: 0; border-top: 0; }
.delen { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--lijn); }
.delen__label { font-size: 14px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--tekst-zacht); margin-right: 6px; }
.delen__knop { text-decoration: none; color: var(--paars); background: var(--wit); border: 1.5px solid var(--lijn-veld); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.delen__knop:hover { background: var(--paars); border-color: var(--paars); color: var(--wit); text-decoration: none; }
.auteursblok { display: grid; grid-template-columns: 88px 1fr; gap: 22px; margin: 36px 0 0; padding: 26px; background: var(--vlak); border-radius: 8px; }
.auteursblok__portret { width: 88px; height: 88px; }
.auteursblok__tekst { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.auteursblok__label { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); }
.auteursblok h2 { font-size: 22px; font-weight: 800; }
.auteursblok h2 span { font-weight: 400; font-size: 16px; color: var(--tekst-zacht); }
.auteursblok p { font-size: 16px; line-height: 1.55; color: var(--tekst-body); }
.auteursblok__links { display: flex; gap: 8px 18px; font-size: 15px; flex-wrap: wrap; }
.meer-in { margin: 44px 0 0; }
.meer-in h2 { font-size: 22px; font-weight: 800; margin: 0 0 16px; }

/* Zijbalk */
.zijbalk { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 28px; }
.sectielabel + .tegels--kijker { margin-top: -4px; }
.zijbalk .sectielabel { margin-bottom: 12px; }
.vragenlijst { list-style: none; margin: 0; padding: 0; }
.vragenlijst a { display: block; font-size: 15px; line-height: 1.35; font-weight: 600; color: var(--tekst); text-decoration: none; padding: 11px 0; border-bottom: 1px solid var(--lijn); }
.vragenlijst a:hover { color: var(--paars); }

@media (min-width: 1024px) and (max-width: 1279px) {
	.artikel-raster { grid-template-columns: 190px minmax(0, 650px) 250px; gap: 24px; }
	.artikel__hoofdbeeld { width: 100%; height: auto; aspect-ratio: 690 / 390; }
	.zijbalk .adv .lead { width: 250px; height: 208px; }
}
@media (max-width: 1023px) {
	.artikel-raster { grid-template-columns: minmax(0, 690px); justify-content: center; gap: 40px; }
	.toc--zij, .toc--leeg { display: none; }
	.toc--klap { display: block; }
	.artikel__hoofdbeeld { width: 100%; height: auto; aspect-ratio: 690 / 390; }
	.zijbalk { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
}
@media (max-width: 767px) {
	.artikelpagina { padding: 16px 16px 40px; }
	.artikel-raster { gap: 16px; }
	.artikel .kruimelpad { margin-bottom: 14px; }
	.artikel__labels { margin-bottom: 14px; }
	.badge--groot { font-size: 12px; }
	.badge--rand { font-size: 12px; }
	.artikel__type { font-size: 13px; }
	.artikel__titel { font-size: 28px; line-height: 1.18; margin-bottom: 14px; }
	.artikel__inleiding { font-size: 17px; margin-bottom: 14px; }
	.auteursregel { gap: 12px; padding: 12px 0; margin-bottom: 14px; }
	.auteursregel__portret { width: 40px; height: 40px; }
	.auteursregel__tekst { font-size: 14px; }
	.auteursregel__meta { gap: 0 5px; }
	.auteursregel__meta .lang { display: none; }
	.auteursregel__meta .kort { display: inline; }
	.auteursregel--wp .auteursregel__meta .lang, .auteursregel--wp .auteursregel__meta .kort { display: inline; }
	.auteursregel--wp .auteursregel__meta .kort:not(:only-child) { display: none; }
	.artikel__beeld { margin: 0 -16px 14px; }
	.artikel__hoofdbeeld { border-radius: 0; height: 230px; aspect-ratio: auto; }
	.artikel__beeld figcaption { font-size: 13px; margin: 8px 16px 0; }
	.kernpunten { padding: 14px 0 6px; margin-bottom: 14px; }
	.kernpunten h2 { font-size: 13px; margin-bottom: 10px; }
	.kernpunten ul { font-size: 16px; line-height: 1.5; padding-left: 18px; }
	.kernpunten--twee { grid-template-columns: 1fr; gap: 16px; }
	.toc--klap { margin-bottom: 14px; }
	.tekst { font-size: 17px; line-height: 1.6; }
	.tekst > * { margin-bottom: 14px; }
	.tekst h2 { font-size: 22px; margin: 30px 0 10px; }
	.tekst h3 { font-size: 19px; }
	.tekst .alignleft, .tekst .alignright { float: none; margin: 0 0 14px; max-width: 100%; }
	.leesook { padding: 10px 16px; margin: 22px 0; gap: 4px; }
	.leesook__label { font-size: 12px; }
	.leesook__titel { font-size: 17px; }
	.stap { grid-template-columns: 40px 1fr; gap: 12px; margin-top: 28px; padding-top: 20px; }
	.stap__nr { width: 40px; height: 40px; font-size: 18px; }
	.stap__inhoud h2 { font-size: 21px; margin-top: 6px; }
	.scorekaart { grid-template-columns: 84px 1fr; gap: 16px; padding: 18px; }
	.scorekaart__score { padding: 14px 0; }
	.scorekaart__getal { font-size: 40px; }
	.scorekaart__punten { grid-template-columns: 1fr; gap: 14px; }
	.wp-kop { grid-template-columns: 1fr 96px; gap: 16px; }
	.wp-kop__cover { width: 96px; height: 130px; }
	.artikelpagina--whitepaper .artikel__titel { font-size: 26px; }
	.artikelpagina--whitepaper .artikel__inleiding { font-size: 16px; }
	.downloadvak { padding: 20px; }
	.downloadvak__kop { flex-direction: column; align-items: flex-start; gap: 6px; }
	.downloadvak h2 { font-size: 21px; }
	.disclaimer { margin-top: 20px; }
	.delen { gap: 8px; padding-top: 16px; margin-top: 20px; }
	.artikel-onderwerpen { padding-top: 16px; margin-top: 20px; }
	.delen__label { font-size: 13px; width: 100%; }
	.delen__knop { padding: 0 14px; }
	.auteursblok { grid-template-columns: 56px 1fr; gap: 14px; padding: 20px; margin-top: 24px; }
	.auteursblok__portret { width: 56px; height: 56px; }
	.auteursblok h2 { font-size: 18px; }
	.auteursblok h2 > span { display: block; font-size: 14px; margin-top: 2px; }
	.auteursblok h2 .sep { display: none; }
	.auteursblok p { grid-column: 1 / -1; font-size: 15px; line-height: 1.5; }
	.auteursblok__links { font-size: 14px; gap: 8px 16px; }
	.meer-in { margin-top: 28px; }
	.meer-in h2 { font-size: 20px; margin-bottom: 14px; }
	.zijbalk { grid-template-columns: 1fr; gap: 24px; }
}

/* ---------- Startpagina (ontwerp §6.5) ---------- */
.startpagina { display: flex; flex-direction: column; gap: 40px; }
.start-kop { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.start-kop h1 { font-size: 22px; letter-spacing: -.01em; }
.start-kop__onderwerpen { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.start-kop__label { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--tekst-zacht); margin-right: 4px; }
.start-kop__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.start-kop__alle { font-size: 13px; font-weight: 600; text-decoration: none; padding: 7px 4px; }
.tegels--groot { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.start-raster { display: grid; grid-template-columns: minmax(0, 790px) 290px; gap: 40px; align-items: start; justify-content: space-between; }
.start-recent .sectielabel { margin-bottom: 4px; }
.start-recent .adv { margin-top: 28px; }
.citaten { display: flex; flex-direction: column; gap: 14px; }
.citaat-tegel { display: grid; grid-template-columns: 48px 1fr; gap: 12px; align-items: center; text-decoration: none; color: var(--tekst); }
.citaat-tegel__beeld { width: 48px; height: 48px; border-radius: 50%; }
.citaat-tegel__tekst { display: flex; flex-direction: column; gap: 2px; }
.citaat-tegel__citaat { font-size: 14px; font-weight: 800; line-height: 1.3; }
.citaat-tegel__wie { font-size: 12px; color: var(--tekst-zacht); }
.citaat-tegel:hover .citaat-tegel__citaat { color: var(--paars); }
.zijbalk__meer { display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 600; text-decoration: none; }
.start-categorieen__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.catblokken { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.catblok { border-top: 6px solid var(--cat); padding-top: 14px; display: flex; flex-direction: column; gap: 4px; }
.catblok h3 { margin: 0 0 8px; font-size: 16px; text-transform: uppercase; letter-spacing: .04em; }
.catblok h3 a { color: var(--tekst); text-decoration: none; }
.catblok h3 a:hover { color: var(--paars); }
.catblok__intro { margin: 0 0 8px; font-size: 14px; line-height: 1.45; color: var(--tekst-zacht); }
.catblok__titel { font-size: 15px; line-height: 1.35; font-weight: 600; color: var(--tekst); text-decoration: none; padding: 10px 0; border-top: 1px solid var(--lijn); }
.catblok__titel:hover { color: var(--paars); }
.catblok__alles { font-size: 14px; font-weight: 600; text-decoration: none; padding-top: 10px; border-top: 1px solid var(--lijn); }
.catrij { display: none; }
.start-rechthoeken { display: flex; gap: 40px; justify-content: center; }
.start-rechthoeken:not(:has(.adv)) { display: none; }
@media (min-width: 1024px) and (max-width: 1279px) { .start-raster { grid-template-columns: minmax(0, 1fr) 270px; } }
@media (max-width: 1023px) {
	.tegels--groot { grid-template-columns: repeat(2, 1fr); }
	.start-raster { grid-template-columns: 1fr; }
	.start-zijbalk { position: static; display: grid; grid-template-columns: 1fr 1fr; }
	.catblokken { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.startpagina { gap: 28px; padding: 16px 16px 32px; }
	.start-kop { flex-direction: column; align-items: stretch; gap: 10px; }
	.start-kop h1 { font-size: 20px; }
	.start-kop__label, .start-kop__alle { display: none; }
	.start-kop__chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
	.start-kop__chips .chip { min-height: 40px; padding: 0 14px; font-size: 14px; white-space: nowrap; flex: none; }
	.start-belangrijk .sectielabel { margin-bottom: 14px; }
	.tegels--groot { grid-template-columns: 1fr; gap: 0; }
	.tegels--groot .tegel--groot:first-child .tegel__beeld { height: 210px; }
	.tegels--groot .tegel--groot:first-child .tegel__titel { font-size: 24px; line-height: 1.2; }
	.tegels--groot .tegel--groot:first-child { margin-bottom: 8px; }
	.tegels--groot .tegel--groot:not(:first-child) { display: grid; grid-template-columns: 104px 1fr; grid-template-rows: auto 1fr; column-gap: 12px; row-gap: 4px; padding: 14px 0; border-top: 1px solid var(--lijn); align-items: start; }
	.tegels--groot .tegel--groot:not(:first-child) .tegel__beeld { grid-row: 1 / 3; width: 104px; height: 70px; }
	.tegels--groot .tegel--groot:not(:first-child) .tegel__zin, .tegels--groot .tegel--groot:not(:first-child) .tegel__type { display: none; }
	.tegels--groot .tegel--groot:not(:first-child) .badge { background: none; padding: 0; color: var(--paars); }
	.tegels--groot .tegel--groot:not(:first-child) .tegel__titel { font-size: 16px; line-height: 1.3; }
	.startpagina { display: flex; }
	.start-raster { display: contents; }
	.start-recent { order: 3; }
	.start-categorieen { order: 4; }
	.start-zijbalk { order: 5; display: flex; flex-direction: column; gap: 28px; }
	.start-rechthoeken { order: 6; }
	.start-recent .sectielabel { margin-bottom: 0; }
	.start-recent .tegel--lijst { display: flex; flex-direction: column; gap: 6px; padding: 16px 0; }
	.start-recent .tegel--lijst .tegel__beeld { display: none; }
	.start-recent .tegel--lijst .tegel__titel { font-size: 18px; }
	.start-recent .tegel--lijst:nth-child(n+7) { display: none; }
	.start-recent .adv { margin-top: 20px; }
	.start-categorieen__label { position: static; width: auto; height: auto; overflow: visible; clip: auto; margin-bottom: 4px; }
	.catblokken { grid-template-columns: 1fr; gap: 0; }
	.catblok { border: 0; padding: 0; }
	.catblok > :not(.catrij) { display: none; }
	.catrij { display: grid; grid-template-columns: 8px 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--lijn); text-decoration: none; color: var(--tekst); }
	.catrij__balk { width: 8px; height: 40px; border-radius: 4px; background: var(--cat); }
	.catrij__tekst { display: flex; flex-direction: column; gap: 2px; }
	.catrij__naam { font-size: 16px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
	.catrij__titel { font-size: 13px; color: var(--tekst-zacht); }
	.catrij__aantal { font-size: 13px; color: var(--tekst-zacht); }
}

/* ---------- Overzichten: categorie, type, alle artikels (ontwerp §6.6) ---------- */
.overzicht { display: flex; flex-direction: column; gap: 32px; }
.overzicht-raster { display: grid; grid-template-columns: minmax(0, 860px) 290px; gap: 50px; align-items: start; justify-content: space-between; }
.overzicht__hoofd { display: flex; flex-direction: column; gap: 36px; min-width: 0; }
.overzicht__kop { display: flex; flex-direction: column; gap: 14px; }
.overzicht__kop--kleur { border-left: 8px solid var(--cat); padding-left: 24px; }
.overzicht__kop h1 { font-size: 44px; line-height: 1.08; letter-spacing: -.015em; }
.overzicht__aantal { font-size: 18px; font-weight: 600; color: var(--tekst-zacht); letter-spacing: 0; white-space: nowrap; }
.overzicht__intro { font-size: 18px; line-height: 1.6; color: var(--tekst-body); max-width: 760px; }
.overzicht__intro p + p { margin-top: 12px; }
.tegels--uit { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tegels--kaart { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px 24px; }
.onderwerpchips, .filterchips { display: none; }
.filterblok { display: flex; flex-direction: column; gap: 14px; border-top: 3px solid var(--paars); padding-top: 14px; }
.filterblok__titel { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); margin: 0; }
.filterblok__groep { display: flex; flex-direction: column; gap: 8px; }
.filterblok__groep > span { font-size: 13px; font-weight: 600; color: var(--tekst-zacht); }
.filterblok__pillen { display: flex; gap: 6px; flex-wrap: wrap; }
.onderwerpen { display: flex; flex-direction: column; gap: 4px; border-top: 3px solid var(--paars); padding-top: 14px; }
.onderwerpen .filterblok__titel { margin-bottom: 8px; }
.onderwerpen__item { display: flex; justify-content: space-between; align-items: center; gap: 12px; text-decoration: none; color: var(--tekst); font-size: 15px; font-weight: 600; padding: 9px 0; border-bottom: 1px solid var(--lijn); }
.onderwerpen__item:hover, .onderwerpen__item[aria-current] { color: var(--paars); }
.onderwerpen__aantal { font-size: 13px; color: var(--tekst-zacht); font-weight: 400; }
.onderwerpen__alle { font-size: 14px; font-weight: 600; text-decoration: none; padding-top: 10px; }
.leeg { font-size: 16px; color: var(--tekst-body); }
@media (min-width: 1024px) and (max-width: 1279px) { .overzicht-raster { grid-template-columns: minmax(0, 1fr) 260px; gap: 32px; } }
@media (max-width: 1023px) {
	.overzicht-raster { grid-template-columns: 1fr; gap: 32px; }
	.overzicht__zijbalk { position: static; display: grid; grid-template-columns: 1fr 1fr; }
	.tegels--kaart { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.overzicht { gap: 20px; }
	.overzicht__hoofd { gap: 24px; }
	.overzicht__kop--kleur { border-left-width: 6px; padding-left: 16px; }
	.overzicht__kop h1 { font-size: 28px; }
	.overzicht__aantal { font-size: 14px; display: block; margin-top: 4px; }
	.overzicht__intro { font-size: 16px; line-height: 1.5; }
	.overzicht__intro p:not(:first-child) { display: none; }
	.onderwerpchips { display: flex; gap: 8px; overflow-x: auto; margin: -8px -16px 0; padding: 0 16px 4px; scrollbar-width: none; }
	.chip--teller { white-space: nowrap; flex: none; min-height: 40px; padding: 0 14px; font-size: 14px; gap: 6px; }
	.chip--teller span { font-size: 12px; opacity: .75; }
	.tegels--uit { grid-template-columns: 1fr; }
	.tegels--uit .tegel--uit:not(:first-child) { display: none; }
	.tegels--uit .tegel__beeld { height: 200px; }
	.filterchips { display: flex; gap: 6px; overflow-x: auto; margin: 0 -16px 8px; padding: 0 16px 4px; scrollbar-width: none; }
	.filterchips .filterpil { min-height: 38px; white-space: nowrap; flex: none; }
	.tegels--kaart { grid-template-columns: 1fr; gap: 0; }
	.tegels--kaart .tegel--kaart { display: grid; grid-template-columns: 104px 1fr; grid-template-rows: auto 1fr; column-gap: 12px; row-gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--lijn); align-items: start; }
	.tegels--kaart .tegel--kaart .tegel__beeld { grid-row: 1 / 3; width: 104px; height: 70px; }
	.tegels--kaart .tegel--kaart .tegel__titel { font-size: 16px; }
	.tegels--kaart .tegel--kaart .tegel__zin { display: none; }
	.overzicht__zijbalk { grid-template-columns: 1fr; }
	.overzicht__zijbalk .filterblok { display: none; }
}
.filterchips--altijd { display: flex; gap: 6px; flex-wrap: wrap; margin: 0; }

/* ---------- Zoeken (ontwerp §6.7) ---------- */
.zoeken { display: flex; flex-direction: column; gap: 28px; }
.zoekveld { display: flex; align-items: center; gap: 10px; background: var(--vlak); border-radius: 8px; height: 56px; padding: 0 8px 0 16px; color: var(--paars); max-width: 860px; border: 1.5px solid transparent; }
.zoekveld:focus-within { border-color: var(--paars); }
.zoekveld input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 17px; color: var(--tekst); outline: none; }
.zoekveld input::placeholder { color: var(--tekst-zacht); opacity: 1; }
.zoekveld__wis { font-size: 14px; font-weight: 600; text-decoration: none; padding: 0 8px; }
.zoekveld .knop { height: 44px; }
.zoek-raster { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 50px; align-items: start; }
.facetten { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 24px; }
.facetten__kop { display: none; }
.facet { border-top: 3px solid var(--paars); padding-top: 14px; }
.facet h2 { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); margin: 0 0 4px; }
.facet ul { list-style: none; margin: 0; padding: 0; }
.facet__optie { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--tekst); min-height: 32px; text-decoration: none; }
.facet__optie:hover { color: var(--paars); }
.facet__vak { width: 18px; height: 18px; border: 1.5px solid var(--paars); border-radius: 3px; flex: none; background: var(--wit); }
.facet__optie--rond .facet__vak { border-radius: 50%; }
.facet__optie[aria-current] .facet__vak { background: var(--paars) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.facet__label { flex: 1; }
.facet__aantal { font-size: 13px; color: var(--tekst-zacht); }
.facetten__wis { font-size: 14px; font-weight: 600; }
.zoek-resultaten { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.zoeken__kop { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--lijn); padding-bottom: 16px; flex-wrap: wrap; }
.zoeken__kop h1 { font-size: 32px; letter-spacing: -.01em; }
.zoeken__sorteer { font-size: 14px; color: var(--tekst-zacht); }
.zoeken__sorteer strong { color: var(--tekst); }
.zoeken__tip { font-size: 18px; color: var(--tekst-body); }
.chips-rij { display: flex; flex-wrap: wrap; gap: 8px; }
.hubverwijzing { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; border: 1.5px solid var(--paars); border-radius: 8px; padding: 16px 20px; text-decoration: none; color: var(--tekst); }
.hubverwijzing:hover { background: #FBF8FB; color: var(--tekst); }
.hubverwijzing__label { background: var(--geel); font-weight: 800; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; padding: 6px 10px; border-radius: 4px; }
.hubverwijzing__titel { font-size: 18px; font-weight: 800; }
.hubverwijzing__titel span { font-weight: 400; color: var(--tekst-zacht); font-size: 15px; }
.hubverwijzing__pijl { font-size: 22px; font-weight: 800; color: var(--paars); }
.resultaten { list-style: none; margin: 0; padding: 0; }
.resultaten li { border-bottom: 1px solid var(--lijn); }
.resultaat { display: grid; grid-template-columns: 200px 1fr; gap: 24px; align-items: center; padding: 20px 0; text-decoration: none; color: var(--tekst); }
.resultaat__beeld { width: 200px; height: 124px; border-radius: 6px; }
.resultaat__tekst { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.resultaat__meta { font-size: 13px; color: var(--tekst-zacht); font-weight: 600; }
.resultaat__type { color: var(--paars); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; font-size: 12px; }
.resultaat__titel { font-size: 21px; line-height: 1.25; font-weight: 800; text-wrap: pretty; }
.resultaat__snippet { font-size: 15px; line-height: 1.5; color: var(--tekst-body); }
.resultaat mark { background: var(--geel); color: inherit; padding: 0 2px; border-radius: 2px; }
.resultaat:hover .resultaat__titel { color: var(--paars); }
.zoek-resultaten .paginering { justify-content: flex-start; }
@media (max-width: 1023px) { .zoek-raster { grid-template-columns: 200px minmax(0, 1fr); gap: 32px; } }
@media (max-width: 767px) {
	.zoeken { gap: 18px; }
	.zoekveld { height: 52px; }
	.zoekveld .knop { display: none; }
	.zoek-raster { grid-template-columns: 1fr; gap: 18px; }
	.facetten { position: static; gap: 12px; }
	.facetten__kop { display: flex; justify-content: space-between; align-items: center; font-size: 14px; }
	.facetten__verfijn { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); }
	.facetten__wis { display: none; }
	.facet { border: 0; padding: 0; }
	.facet h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.facet ul { display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px; padding: 0 16px 2px; scrollbar-width: none; }
	.facet__optie { white-space: nowrap; background: var(--vlak); border-radius: 999px; padding: 0 14px; min-height: 40px; font-size: 14px; font-weight: 600; gap: 6px; }
	.facet__optie .facet__vak { display: none; }
	.facet__optie[aria-current] { background: var(--paars); color: var(--wit); }
	.facet__optie[aria-current] .facet__aantal { color: var(--wit); }
	.zoeken__kop { border: 0; padding: 0; }
	.zoeken__kop h1 { font-size: 20px; }
	.hubverwijzing { grid-template-columns: 1fr auto; gap: 8px 12px; padding: 14px 16px; }
	.hubverwijzing__label { justify-self: start; grid-column: 1 / -1; }
	.hubverwijzing__titel { font-size: 16px; }
	.resultaat { grid-template-columns: 1fr; padding: 16px 0; }
	.resultaat__beeld { display: none; }
	.resultaat__titel { font-size: 18px; }
	.resultaat__snippet { font-size: 14px; }
}

/* ---------- Auteur (ontwerp §6.8) ---------- */
.auteurspagina { display: flex; flex-direction: column; gap: 40px; }
.auteurspagina .kruimelpad { margin-bottom: -16px; }
.profiel { display: grid; grid-template-columns: 160px minmax(0, 1fr) 290px; gap: 40px; align-items: start; }
.profiel__portret { width: 160px; height: 160px; }
.profiel__tekst { display: flex; flex-direction: column; gap: 16px; }
.profiel__rol { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); }
.profiel h1 { font-size: 44px; line-height: 1.08; letter-spacing: -.015em; margin-top: 4px; }
.profiel__bio { font-size: 18px; line-height: 1.6; color: var(--tekst-body); }
.profiel__expertise { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.profiel__expertise > span { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--tekst-zacht); margin-right: 4px; }
.profiel__links { display: flex; gap: 8px 20px; flex-wrap: wrap; font-size: 15px; }
.profiel__cijfers { margin: 0; background: var(--vlak); border-radius: 8px; padding: 20px 22px; display: flex; flex-direction: column; gap: 16px; }
.profiel__cijfers dt { font-size: 13px; color: var(--tekst-zacht); font-weight: 600; }
.profiel__cijfers dd { margin: 2px 0 0; font-size: 24px; font-weight: 800; }
.auteur-artikels__kop { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border-top: 3px solid var(--paars); padding-top: 14px; }
.auteur-artikels__kop h2 { font-size: 22px; }
.collegas { background: var(--vlak); border-radius: 8px; padding: 24px 26px; }
.collegas h2 { font-size: 18px; margin-bottom: 16px; }
.collegas__lijst { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.collega { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; text-decoration: none; color: var(--tekst); }
.collega__portret { width: 56px; height: 56px; }
.collega > span { display: flex; flex-direction: column; gap: 2px; }
.collega__naam { font-size: 16px; font-weight: 800; }
.collega__rol { font-size: 13px; color: var(--tekst-zacht); }
.collega:hover .collega__naam { color: var(--paars); }
@media (max-width: 1023px) { .profiel { grid-template-columns: 120px 1fr; } .profiel__portret { width: 120px; height: 120px; } .profiel__cijfers { grid-column: 1 / -1; flex-direction: row; justify-content: space-around; text-align: center; } .collegas__lijst { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
	.auteurspagina { gap: 28px; }
	.profiel { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 20px; }
	.profiel__portret { width: 112px; height: 112px; }
	.profiel h1 { font-size: 30px; }
	.profiel__bio { font-size: 16px; }
	.profiel__expertise, .profiel__links { justify-content: center; }
	.profiel__cijfers { flex-direction: row; width: 100%; gap: 8px; padding: 16px 12px; }
	.profiel__cijfers > div { flex: 1; }
	.profiel__cijfers dd { font-size: 20px; }
	.profiel__cijfers dt { font-size: 12px; }
	.auteur-artikels__kop .filterchips--altijd { flex-wrap: nowrap; overflow-x: auto; width: calc(100% + 32px); margin: 0 -16px; padding: 0 16px; }
	.collegas { padding: 20px; }
	.collegas__lijst { grid-template-columns: 1fr; gap: 14px; }
}

/* ---------- Contact (ontwerp §6.10) ---------- */
.contactpagina { display: flex; flex-direction: column; align-items: center; gap: 36px; padding-top: 40px; }
.contactpagina__kop { text-align: center; display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.contactpagina__kop h1 { font-size: 44px; line-height: 1.08; letter-spacing: -.015em; }
.contactpagina__kop p { font-size: 19px; line-height: 1.5; color: var(--tekst-body); }
.keuzekaarten { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; width: 100%; max-width: 1200px; }
.keuzekaart { text-decoration: none; color: var(--tekst); background: var(--vlak); border: 2px solid var(--vlak); border-radius: 8px; padding: 24px; display: flex; flex-direction: column; gap: 8px; min-height: 150px; }
.keuzekaart:hover { border-color: var(--paars); color: var(--tekst); }
.keuzekaart[aria-current] { background: var(--geel); border-color: var(--paars); }
.keuzekaart__label { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); }
.keuzekaart__kop { font-size: 22px; font-weight: 800; line-height: 1.2; }
.keuzekaart__tekst { font-size: 15px; line-height: 1.45; color: var(--tekst-body); }
.keuzekaart[aria-current] .keuzekaart__tekst { color: var(--tekst); }
.contactvak { width: 100%; max-width: 690px; border-top: 3px solid var(--paars); padding-top: 24px; display: flex; flex-direction: column; gap: 18px; scroll-margin-top: 16px; }
.contactvak__titel { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); }
.contactvak .fl-formulier { --veld-h: 48px; }
.contactvak .gform_fields { gap: 16px; }
.contactvak .gfield_label, .contactvak legend.gfield_label { font-size: 14px; }
.contactvak input[type=text], .contactvak input[type=email], .contactvak textarea { font-size: 16px; padding: 0 14px; }
.contactvak textarea { padding: 12px 14px; }
.contactvak .gchoice label { font-size: 14px; padding: 9px 15px; }
.contactvak .gfield--type-choice { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.contactvak .gfield--type-choice legend { float: left; margin: 0 6px 0 0; }
.contactvak .ginput_container_consent { font-size: 14px; }
.contactvak .gfield_consent_checkbox { width: 18px; height: 18px; }
.contactvak .gform_button { height: 52px; padding: 0 28px; font-size: 16px; }
.contactvak__mail { font-size: 14px; color: var(--tekst-zacht); }
.salesvak { background: var(--vlak); border-radius: 8px; padding: 24px; display: flex; flex-direction: column; gap: 12px; font-size: 17px; line-height: 1.55; color: var(--tekst-body); }
.salesvak__knoppen { display: flex; flex-wrap: wrap; gap: 10px; }
.salesvak__adres { font-size: 14px; color: var(--tekst-zacht); margin: 0; }
@media (max-width: 767px) {
	.contactpagina { padding-top: 16px; gap: 24px; align-items: stretch; }
	.contactpagina__kop { text-align: left; }
	.contactpagina__kop h1 { font-size: 32px; }
	.contactpagina__kop p { font-size: 16px; }
	.keuzekaarten { grid-template-columns: 1fr; gap: 12px; }
	.keuzekaart { min-height: 0; padding: 16px; }
	.keuzekaart__kop { font-size: 18px; }
}

/* ---------- Gewone pagina, Over (ontwerp §6.9) ---------- */
.gewone-pagina__kolom { max-width: 690px; margin: 0 auto; }
.gewone-pagina .kruimelpad { margin-bottom: 18px; }
.onderwerpenpagina__groep { margin-top: 32px; }
.nieuwsbriefpagina .nieuwsbrief { margin-top: 28px; padding: 28px; }
.onderwerpenpagina__groep h2 { font-size: 20px; margin: 0 0 12px; }
.chip--teller { gap: 6px; }
.chip--teller span { font-size: 12px; opacity: .75; font-weight: 400; }
.overpagina { display: grid; grid-template-columns: 190px minmax(0, 820px); gap: 60px; justify-content: center; align-items: start; }
.overpagina__kolom { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.overpagina__kop { display: flex; flex-direction: column; gap: 14px; }
.overpagina__kop h1 { font-size: 48px; line-height: 1.08; letter-spacing: -.015em; }
.overpagina__intro { font-size: 22px; line-height: 1.45; font-weight: 600; color: var(--tekst-body); }
.overpagina__tekst h2 { margin-top: 44px; }
.catkaarten { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 8px; }
.catkaart { text-decoration: none; color: var(--tekst); background: var(--cat); border-radius: 8px; padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.catkaart:hover { color: var(--tekst); box-shadow: inset 0 0 0 2px var(--paars); }
.catkaart__titel { font-size: 16px; font-weight: 800; line-height: 1.25; }
.catkaart__intro { font-size: 13px; line-height: 1.4; }
.team { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px 28px; margin-top: 8px; }
.teamlid { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; text-decoration: none; color: var(--tekst); }
.teamlid__portret { width: 64px; height: 64px; }
.teamlid > span { display: flex; flex-direction: column; gap: 2px; }
.teamlid__naam { font-size: 17px; font-weight: 800; }
.teamlid__rol { font-size: 13px; color: var(--tekst-zacht); line-height: 1.35; }
.teamlid:hover .teamlid__naam { color: var(--paars); }
.tekst .werkwijze { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tekst .werkwijze > .wp-block-column { border-top: 3px solid var(--geel); padding-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.tekst .werkwijze h3 { font-size: 17px; margin: 0; }
.tekst .werkwijze p { margin: 0; font-size: 15px; line-height: 1.55; }
.tekst .contactblok { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.tekst .contactblok h2 { margin-top: 0; }
.tekst .contactblok p { font-size: 17px; line-height: 1.6; }
@media (max-width: 1023px) {
	.overpagina { grid-template-columns: minmax(0, 820px); }
	.overpagina .toc--zij { display: none; }
	.overpagina .toc--klap { display: block; }
	.catkaarten { grid-template-columns: repeat(2, 1fr); }
	.team { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.overpagina__kop h1 { font-size: 32px; }
	.overpagina__intro { font-size: 18px; }
	.overpagina__tekst h2 { font-size: 22px; margin-top: 32px; }
	.catkaarten, .team, .tekst .werkwijze, .tekst .contactblok { grid-template-columns: 1fr; }
	.teamlid { grid-template-columns: 48px 1fr; }
	.teamlid__portret { width: 48px; height: 48px; }
}
.wp-block-columns { display: flex; gap: 24px; }
@media (max-width: 767px) { .wp-block-columns { flex-direction: column; } }
.tekst .werkwijze, .tekst .contactblok { display: grid; }

/* ---------- 404 (ontwerp §6.11) ---------- */
.nietgevonden { display: grid; grid-template-columns: minmax(0, 640px) 1fr; gap: 100px; padding-top: 64px; padding-bottom: 72px; }
.nietgevonden__links { display: flex; flex-direction: column; gap: 28px; }
.nietgevonden header { display: flex; flex-direction: column; gap: 16px; }
.nietgevonden__code { font-size: 80px; font-weight: 800; color: var(--geel); letter-spacing: -.03em; line-height: 1; }
.nietgevonden h1 { font-size: 40px; line-height: 1.1; letter-spacing: -.015em; }
.nietgevonden header p { font-size: 18px; line-height: 1.55; color: var(--tekst-body); }
.zoekveld--groot { background: var(--wit); border: 1.5px solid var(--lijn-veld); }
.nietgevonden__nav { display: flex; gap: 10px 20px; flex-wrap: wrap; font-size: 16px; }
.nietgevonden__nav a { font-weight: 600; }
.nietgevonden__rechts { display: flex; flex-direction: column; gap: 32px; }
.tegels--klein { display: flex; flex-direction: column; gap: 12px; }
.tegel--klein { display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: center; }
.tegel--klein .tegel__beeld { width: 96px; height: 64px; }
.tegel--klein .tegel__titel { font-size: 15px; line-height: 1.3; }
@media (max-width: 1023px) { .nietgevonden { grid-template-columns: 1fr; gap: 40px; padding-top: 32px; } }
@media (max-width: 767px) {
	.nietgevonden { padding-top: 24px; padding-bottom: 40px; }
	.nietgevonden__code { font-size: 56px; }
	.nietgevonden h1 { font-size: 28px; }
	.nietgevonden header p { font-size: 16px; }
	.nietgevonden__nav { gap: 8px; }
	.nietgevonden__nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; background: var(--cat, var(--vlak)); color: var(--tekst); text-decoration: none; font-size: 14px; }
	.nietgevonden__nav .nietgevonden__start { background: var(--wit); border: 1.5px solid var(--paars); color: var(--paars); }
}

/* ---------- Ronde Tafel en themapagina (ontwerp §6.12) ---------- */
.rondetafel { display: flex; flex-direction: column; gap: 36px; padding-top: 28px; }
.rondetafel__kop { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 60px; align-items: end; }
.rondetafel__titel { display: flex; flex-direction: column; gap: 14px; }
.rondetafel__titel .artikel__labels { margin: 0; }
.rondetafel__titel h1 { font-size: 46px; line-height: 1.08; letter-spacing: -.015em; }
.rondetafel__intro { font-size: 20px; line-height: 1.45; font-weight: 600; color: var(--tekst-body); }
.rondetafel__intro.tekst { font-size: 18px; font-weight: 400; }
.partners { display: flex; flex-direction: column; gap: 10px; border-top: 3px solid var(--paars); padding-top: 14px; }
.partners__label { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paars); }
.partners__logos { display: flex; gap: 12px; }
.partners__vak { flex: 1; height: 72px; background: var(--vlak); border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 12px 16px; font-size: 14px; font-weight: 800; color: var(--tekst-zacht); text-decoration: none; }
a.partners__vak:hover { background: var(--lijn); }
.partners__logo { max-height: 48px; width: auto; max-width: 100%; object-fit: contain; }
.rt-video { position: relative; aspect-ratio: 2 / 1; border-radius: 8px; background: #2A1F2C center/cover no-repeat; overflow: hidden; margin: 0; }
.rt-video button { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(31,26,33,.2); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.rt-video__knop { width: 88px; height: 88px; border-radius: 50%; background: var(--paars); color: var(--wit); display: flex; align-items: center; justify-content: center; padding-left: 6px; }
.rt-video button:hover .rt-video__knop { background: var(--paars-donker); }
.rt-video__tekst { position: absolute; bottom: 20px; left: 24px; font-size: 14px; color: var(--wit); background: rgba(31,26,33,.6); padding: 4px 10px; border-radius: 4px; }
.rt-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rondetafel__raster { display: grid; grid-template-columns: minmax(0, 690px) minmax(0, 1fr); gap: 60px; align-items: start; }
.rondetafel__verslag { display: flex; flex-direction: column; gap: 22px; }
.rondetafel__h2 { font-size: 27px; color: var(--paars); }
.aantafel { display: flex; flex-direction: column; gap: 10px; border-top: 3px solid var(--paars); padding-top: 14px; }
.aantafel__persoon { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--lijn); }
.aantafel__persoon > span { display: flex; flex-direction: column; }
.aantafel__naam { font-size: 15px; font-weight: 800; }
.aantafel__rol { font-size: 13px; color: var(--tekst-zacht); }
.tegels--rt { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tegel--rt { display: flex; flex-direction: column; gap: 8px; }
.tegel--rt .tegel__beeld { height: 216px; }
.tegel--rt .tegel__type { font-size: 13px; }
.tegel--rt .tegel__titel { font-size: 19px; line-height: 1.3; }
@media (max-width: 1023px) { .rondetafel__kop, .rondetafel__raster { grid-template-columns: 1fr; gap: 24px; } .tegels--rt { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
	.rondetafel { gap: 24px; padding-top: 16px; }
	.rondetafel__titel .badge--rand { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
	.rondetafel__titel h1 { font-size: 28px; }
	.rondetafel__intro { font-size: 17px; }
	.partners__vak { height: 60px; }
	.rt-video { margin: 0 -16px; border-radius: 0; aspect-ratio: 390 / 220; }
	.rt-video__knop { width: 64px; height: 64px; }
	.rt-video__knop .icoon { width: 30px; height: 30px; }
	.tegels--rt { grid-template-columns: 1fr; gap: 0; }
	.tegel--rt { display: grid; grid-template-columns: 104px 1fr; grid-template-rows: auto 1fr; column-gap: 12px; row-gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--lijn); }
	.tegel--rt .tegel__beeld { grid-row: 1 / 3; width: 104px; height: 70px; }
	.tegel--rt .tegel__titel { font-size: 16px; }
	.tegel--rt .tegel__zin { display: none; }
}

/* ---------- Afdrukken ---------- */
@media print {
	.kop, .voet, .voet-banner, .adv, .zijbalk, .toc, .delen, .meer-in, .nieuwsbrief { display: none !important; }
	.artikel-raster { display: block; }
	body { font-size: 12pt; }
}
