@font-face{font-family:"Geist";src:url("/static/fonts/geist.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("/static/fonts/geist-mono.woff2") format("woff2");font-weight:100 900;font-display:swap}

/* ---------- tokens: licht is standaard, donker alleen als de bezoeker het kiest ---------- */
:root{
  --bg:#F6F7F8; --bg-2:#FBFBFC; --vlak:#FFFFFF; --vlak-2:#F9FAFB; --vlak-3:#F1F3F5;
  --rand:#E6E8EB; --rand-2:#D6DADF; --glans:transparent;
  --tekst:#0E1116; --tekst-2:#4C5461; --tekst-3:#667080;
  --accent:#C77A0A; --accent-tekst:#9A5B00; --accent-zacht:#FCF1DF;
  --z0:#E9EBEE; --z1:#F7DEB1; --z2:#EDB65C; --z3:#D68A1C; --z4:#9C5900; --z-rand:#FFFFFF;
  --schaduw:0 1px 2px rgba(16,24,40,.05), 0 4px 16px rgba(16,24,40,.05);
  --schaduw-pop:0 12px 32px rgba(16,24,40,.14), 0 0 0 1px rgba(16,24,40,.06);
  --foto-bg:#E8EAED; --waarschuwing:#B42318; --waarschuwing-zacht:#FEF3F2;
  --r:12px; --r-s:8px;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0A0B0D; --bg-2:#0F1113; --vlak:#131518; --vlak-2:#181B1F; --vlak-3:#1F2328;
  --rand:rgba(255,255,255,.075); --rand-2:rgba(255,255,255,.12); --glans:rgba(255,255,255,.045);
  --tekst:#EDEEF0; --tekst-2:#A4A9B1; --tekst-3:#80868F;
  --accent:#F2B04A; --accent-tekst:#F5BE63; --accent-zacht:rgba(242,176,74,.12);
  --z0:#22262C; --z1:#5B4724; --z2:#8E6828; --z3:#C78E31; --z4:#F6BC52; --z-rand:#0A0B0D;
  --schaduw:0 1px 0 rgba(255,255,255,.04) inset, 0 8px 24px rgba(0,0,0,.35);
  --schaduw-pop:0 12px 32px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.08);
  --waarschuwing:#F97066; --waarschuwing-zacht:rgba(249,112,102,.12);
  color-scheme:dark;
}

/* ---------- basis ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--tekst);font-family:"Geist",system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
::selection{background:var(--accent);color:#16110A}
a{color:inherit;text-decoration:none}
.mono,.num{font-family:"Geist Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:0}
button{font:inherit;color:inherit;cursor:pointer}
[hidden]{display:none !important}
.js .zonder-js{display:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}

.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.app.vast{height:100vh;min-height:900px}
.app.met-paneel{grid-template-columns:248px minmax(0,1fr) 384px}
.overslaan{position:absolute;left:12px;top:-60px;z-index:50;padding:8px 12px;border-radius:8px;background:var(--tekst);color:var(--bg);font-weight:500}
.overslaan:focus{top:12px}

/* ---------- zijbalk ---------- */
.zij{background:var(--bg-2);border-right:1px solid var(--rand);display:flex;flex-direction:column;padding:14px 12px;gap:18px;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:thin}
.fracties{display:flex;flex-direction:column;gap:1px}
.fracties a{display:flex;align-items:center;gap:8px;height:28px;padding:0 10px;border-radius:7px;color:var(--tekst-2);font-size:13px}
.fracties a:hover{background:var(--vlak-2);color:var(--tekst)}
.fracties a.aan{background:var(--vlak-3);color:var(--tekst);font-weight:500}
.fracties a span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fracties .num{margin-left:auto;font-size:11.5px;color:var(--tekst-3)}
.zij-voet a:hover{color:var(--tekst)}
.merk{display:flex;align-items:center;gap:10px;padding:6px 8px;font-weight:600;font-size:15px;letter-spacing:-.02em}
.merk .logo{width:24px;height:24px;border-radius:7px;background:var(--tekst);display:grid;place-items:center}
.merk .logo svg{width:16px;height:16px}
.merk .logo path{stroke:var(--bg)}
.merk .logo circle{fill:var(--accent)}
.zoekknop{display:flex;align-items:center;gap:9px;height:34px;padding:0 10px;border-radius:var(--r-s);background:var(--vlak);border:1px solid var(--rand);color:var(--tekst-3);box-shadow:0 1px 0 var(--glans) inset}
.zoekknop svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
.zoekknop kbd{margin-left:auto;font-family:"Geist Mono";font-size:11px;padding:1px 6px;border-radius:5px;border:1px solid var(--rand-2);color:var(--tekst-3)}
.nav{display:flex;flex-direction:column;gap:1px}
.nav a{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:7px;color:var(--tekst-2);font-weight:500}
.nav a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;flex:none}
.nav a:hover{background:var(--vlak-2);color:var(--tekst)}
.nav a.aan{background:var(--vlak-3);color:var(--tekst)}
.nav a .tel{margin-left:auto;font-family:"Geist Mono";font-size:11.5px;color:var(--tekst-3)}
.zij-kop{font-size:12px;font-weight:500;color:var(--tekst-3);padding:0 10px 4px;display:flex;justify-content:space-between}
.volg a{display:flex;align-items:center;gap:9px;height:32px;padding:0 10px;border-radius:7px;color:var(--tekst-2);font-weight:500}
.volg a:hover{background:var(--vlak-2)}
.volg img{width:20px;height:20px;border-radius:50%;object-fit:cover;object-position:50% 15%;background:var(--foto-bg)}
.volg .dot{width:20px;height:20px;border-radius:6px;background:var(--accent-zacht);display:grid;place-items:center;color:var(--accent-tekst);font-size:11px;font-weight:600}
.volg .nieuw{margin-left:auto;font-family:"Geist Mono";font-size:11px;color:var(--accent-tekst)}
.zij-voet{margin-top:auto;display:flex;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--rand);font-size:12px;color:var(--tekst-3)}
.zij-voet .live{width:7px;height:7px;border-radius:50%;background:#3FB97A;box-shadow:0 0 0 3px rgba(63,185,122,.15)}

/* ---------- hoofdvlak ---------- */
.hoofd{display:flex;flex-direction:column;min-width:0}
.balk{height:48px;flex:none;display:flex;align-items:center;gap:8px;padding:0 24px;border-bottom:1px solid var(--rand);color:var(--tekst-3);font-size:13px}
.balk b{color:var(--tekst);font-weight:500}
.balk .rechts{margin-left:auto;display:flex;gap:8px}
.knop{height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:7px;border:1px solid var(--rand-2);background:var(--vlak);color:var(--tekst);font-weight:500;font-size:13px;box-shadow:0 1px 0 var(--glans) inset}
.knop svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.knop.primair{background:var(--tekst);color:var(--bg);border-color:transparent}
.inhoud{padding:24px 28px 20px;display:flex;flex-direction:column;gap:16px;min-height:0;flex:1}

.onderwerp{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.veld{display:flex;align-items:center;gap:12px}
.veld svg{width:22px;height:22px;stroke:var(--tekst-3);fill:none;stroke-width:1.8}
.veld .invoer{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.1}
.veld .caret{display:inline-block;width:2px;height:30px;background:var(--accent);vertical-align:-5px;margin-left:3px;animation:knipper 1.1s steps(1) infinite}
@keyframes knipper{50%{opacity:0}}
.uitleg{color:var(--tekst-2);margin-top:6px;font-size:13.5px}
.uitleg .num{color:var(--tekst)}
.segment{display:inline-flex;padding:3px;background:var(--vlak);border:1px solid var(--rand);border-radius:9px;gap:2px}
.segment span{height:26px;padding:0 11px;display:grid;place-items:center;border-radius:6px;color:var(--tekst-2);font-weight:500;font-size:12.5px;white-space:nowrap}
.segment span.aan{background:var(--vlak-3);color:var(--tekst);box-shadow:0 1px 2px rgba(0,0,0,.2), 0 0 0 1px var(--rand-2)}

.kaart{background:var(--vlak);border:1px solid var(--rand);border-radius:var(--r);box-shadow:var(--schaduw)}
.kaart-kop{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 0}
.kaart-kop h2{font-size:14px;font-weight:600;letter-spacing:-.01em}
.schaal{display:flex;align-items:center;gap:6px;color:var(--tekst-3);font-size:12px}
.schaal i{width:10px;height:10px;border-radius:50%;display:inline-block}
.zaal{flex:1;min-height:0;display:flex;flex-direction:column}
.zaal svg{display:block;width:100%;flex:1;min-height:0}

.rij2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lijst{padding:6px 18px 12px}
.ag{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--rand)}
.ag:first-child{border-top:0}
.datum{display:flex;flex-direction:column;align-items:flex-start}
.datum .d{font-weight:600;font-size:14px}
.datum .t{font-family:"Geist Mono";font-size:11.5px;color:var(--tekst-3)}
.ag .w{font-weight:500}
.ag .w small{display:block;color:var(--tekst-3);font-size:12px;font-weight:400}
.label{font-size:11.5px;font-weight:500;padding:2px 7px;border-radius:5px;background:var(--vlak-3);color:var(--tekst-2);white-space:nowrap}
.label.warm{background:var(--accent-zacht);color:var(--accent-tekst)}
.gz{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--rand)}
.gz:first-child{border-top:0}
.gz img{width:28px;height:28px;border-radius:50%;object-fit:cover;object-position:50% 15%;background:var(--foto-bg)}
.gz q{display:block;color:var(--tekst);font-size:13.5px;line-height:1.5}
.gz .bron{color:var(--tekst-3);font-size:12px;margin-top:3px}
mark{background:var(--accent-zacht);color:var(--accent-tekst);border-radius:3px;padding:0 2px}

/* ---------- paneel Kamerlid ---------- */
.paneel{border-left:1px solid var(--rand);background:var(--bg-2);display:flex;flex-direction:column;overflow:hidden}
.paneel .balk{padding:0 16px;justify-content:space-between}
.paneel-inhoud{padding:16px;display:flex;flex-direction:column;gap:16px;overflow:hidden}
.portret{position:relative;height:292px;border-radius:var(--r);overflow:hidden;background:var(--foto-bg);box-shadow:var(--schaduw)}
.portret img{width:100%;height:100%;object-fit:cover;object-position:50% 14%}
.portret .zetel{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:7px;background:rgba(10,11,13,.78);backdrop-filter:blur(8px);color:#EDEEF0;font-size:12px;font-weight:500}
.portret .zetel i{width:8px;height:8px;border-radius:50%;background:var(--z4);box-shadow:0 0 0 2px rgba(246,188,82,.3)}
.wie h1{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.2}
.wie .sub{display:flex;align-items:center;gap:8px;color:var(--tekst-2);margin-top:4px;font-size:13px}
.wie .acties{display:flex;gap:8px;margin-top:12px}
.wie .acties .knop{flex:1;justify-content:center;height:32px}
.sectie h3{font-size:12.5px;font-weight:500;color:var(--tekst-3);margin-bottom:8px;display:flex;justify-content:space-between}
.balken{display:flex;flex-direction:column;gap:7px}
.balken div{display:grid;grid-template-columns:1fr 36px 50px;gap:10px;align-items:center;font-size:13px}
.balken .naam{position:relative;padding:3px 0 3px 8px;z-index:0}
.balken .naam::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--vlak-3);border-radius:5px;z-index:-1}
.balken .hl .naam::before{background:var(--accent-zacht)}
.balken .hl .naam{color:var(--accent-tekst);font-weight:500}
.balken .num{text-align:right;font-size:12px;color:var(--tekst-2)}
.citaat{padding:12px 14px;border-radius:10px;background:var(--vlak);border:1px solid var(--rand)}
.citaat q{display:block;font-size:13.5px;line-height:1.55}
.citaat .bron{margin-top:6px;font-size:12px;color:var(--tekst-3);display:flex;justify-content:space-between}
.citaat .bron a{color:var(--tekst-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.moties li{list-style:none;display:grid;grid-template-columns:50px 1fr;gap:8px;padding:5px 0;font-size:13px;border-top:1px solid var(--rand)}
.moties li:first-child{border-top:0}
.moties .num{font-size:12px;color:var(--tekst-3)}

/* ---------- smoelenboek ---------- */
.lijst-kop{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.lijst-kop h1{font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1.1}
.lijst-kop p{color:var(--tekst-2);margin-top:5px}
.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filter{height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border-radius:7px;border:1px dashed var(--rand-2);color:var(--tekst-2);font-weight:500;font-size:13px}
.filter.aan{border-style:solid;background:var(--vlak);color:var(--tekst);box-shadow:0 1px 0 var(--glans) inset}
.filter.aan b{color:var(--accent-tekst);font-weight:500}
.filter svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.filters .rechts{margin-left:auto;color:var(--tekst-3);font-size:13px}
.raster{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.lid{background:var(--vlak);border:1px solid var(--rand);border-radius:var(--r);overflow:hidden;box-shadow:var(--schaduw);display:flex;flex-direction:column}
.lid .f{position:relative;aspect-ratio:1/1.02;background:var(--foto-bg)}
.lid .f img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.lid .ster{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:8px;background:rgba(10,11,13,.62);backdrop-filter:blur(6px);display:grid;place-items:center}
.lid .ster svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:1.9}
.lid .ster.aan svg{fill:var(--z4);stroke:var(--z4)}
.lid .rang{position:absolute;left:8px;top:8px;height:24px;min-width:24px;padding:0 7px;border-radius:7px;background:rgba(10,11,13,.62);backdrop-filter:blur(6px);color:#fff;font-family:"Geist Mono";font-size:12px;display:grid;place-items:center}
.lid .t{padding:11px 12px 12px;display:flex;flex-direction:column;gap:3px}
.lid h2{font-size:14.5px;font-weight:600;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lid .fr{font-size:12.5px;color:var(--tekst-3)}
.lid .meter{display:flex;gap:3px;margin-top:8px}
.lid .meter i{flex:1;height:4px;border-radius:2px;background:var(--z0)}
.lid .meter i.v{background:var(--z4)}
.lid .regel{display:flex;justify-content:space-between;font-size:12px;color:var(--tekst-2);margin-top:5px}
.lid .regel .num{font-size:11.5px;color:var(--tekst-3)}
.lid .nu{font-size:12px;color:var(--tekst-3);margin-top:1px}
.lid .nu b{color:var(--tekst-2);font-weight:500}

.voetnoot{font-size:11px;color:var(--tekst-3)}

/* ---------- zaal ---------- */
.zetel{stroke:none;transition:fill .25s ease-out}
.z0{fill:var(--z0)} .z1{fill:var(--z1)} .z2{fill:var(--z2)} .z3{fill:var(--z3)} .z4{fill:var(--z4)}
a:focus-visible .zetel,a:hover .zetel{stroke:var(--tekst);stroke-width:1.5}
.zetel-ring{fill:none;stroke:var(--tekst);stroke-width:1.5}
.zaal-tekst{font-family:"Geist",system-ui,sans-serif;fill:var(--tekst-3)}
.zaal-getal{font-family:"Geist",system-ui,sans-serif;fill:var(--tekst);font-weight:600;letter-spacing:-.04em}

/* ---------- formulier en stappen ---------- */
.onderwerp>div{flex:1;min-width:0}
.veld{min-width:0}
.veld input{font:inherit;font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.1;background:none;border:0;color:var(--tekst);outline:none;width:100%;min-width:0;caret-color:var(--accent)}
.veld input::placeholder{color:var(--tekst-3)}
fieldset.segment{margin:0;min-width:0}
.segment input{position:absolute;opacity:0;pointer-events:none}
.segment label{height:26px;padding:0 11px;display:grid;place-items:center;border-radius:6px;color:var(--tekst-2);font-weight:500;font-size:12.5px;white-space:nowrap;cursor:pointer}
.segment input:checked+label{background:var(--vlak-3);color:var(--tekst);box-shadow:0 1px 2px rgba(0,0,0,.2),0 0 0 1px var(--rand-2)}
.segment input:focus-visible+label{outline:2px solid var(--accent);outline-offset:1px}
.stappen{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.stap{height:26px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:7px;border:1px solid var(--rand);color:var(--tekst-2);font-size:12.5px}
.stap .num{color:var(--tekst)}
.stap.aan{background:var(--accent-zacht);border-color:transparent;color:var(--accent-tekst)}
.stap.aan .num{color:var(--accent-tekst)}
.stap.leeg{opacity:.55;pointer-events:none}
.kabinet{padding:0 18px 14px;color:var(--tekst-2);font-size:13px}
.kabinet b{color:var(--tekst);font-weight:500}
.lijstje{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px;padding:0 18px 14px;font-size:13px}
.lijstje li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-top:1px solid var(--rand)}
.lijstje li a:hover{text-decoration:underline;text-underline-offset:3px}
.lijstje .num{color:var(--tekst-3);font-size:12px}
.leeg-staat{padding:28px 18px;color:var(--tekst-2)}
.leeg-staat h2{font-size:15px;color:var(--tekst);margin-bottom:6px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chip{height:30px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;background:var(--vlak);border:1px solid var(--rand);font-weight:500;font-size:13px}
.chip:hover{border-color:var(--rand-2)}
.chip .num{color:var(--tekst-3);font-size:11.5px}
.melding{display:flex;gap:8px;align-items:center;padding:8px 12px;border-radius:8px;background:var(--waarschuwing-zacht);color:var(--waarschuwing);font-size:12.5px;font-weight:500}
.visueel-verborgen{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- smalle schermen ---------- */
@media (max-width:1200px){
  /* Paneel onder de inhoud; de pagina groeit mee in plaats van een vaste hoogte. */
  .app,.app.met-paneel,.app.vast{height:auto;min-height:100vh}
  .app.met-paneel{grid-template-columns:248px minmax(0,1fr);grid-template-rows:auto auto}
  .app.met-paneel .zij{grid-row:1 / span 2}
  .app.met-paneel .paneel{grid-column:2;border-left:0;border-top:1px solid var(--rand);overflow:visible}
  .paneel .portret{max-width:420px}
}
@media (max-width:768px){
  .app,.app.met-paneel,.app.vast{display:block;height:auto}
  .zij{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;border-right:0;border-bottom:1px solid var(--rand);position:static;height:auto;overflow:visible}
  .zij .fracties,.zij .volg{display:none}
  .zij .nav{flex-direction:row;flex-wrap:wrap}
  .zij .zij-voet{margin-top:0;border-top:0}
  .veld input{font-size:24px;width:100%}
  .rij2,.lijstje{grid-template-columns:1fr}
  .onderwerp{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion: reduce){.zetel{transition:none}.veld .caret{animation:none}}

/* ---------- afwerking na inspectie ---------- */
.kaart,.rij2>*{min-width:0}
.kaart-kop{gap:12px}
.kaart-kop h2{white-space:nowrap}
.kaart-kop .label,.kaart-kop .schaal{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wie .sub{display:block}
.zij-voet{white-space:nowrap;font-size:12px}
.moties li span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ag .w small{overflow-wrap:anywhere}
@media (max-width:768px){
  .inhoud{padding:16px}
  .balk,.paneel .balk{padding:0 16px}
  .kaart-kop .schaal{display:none}
}
.meer{padding:0 18px 14px}
.meer summary{cursor:pointer;color:var(--tekst-2);font-size:13px;padding:4px 0 8px}
.meer .lijstje{padding:0}

.leeg-staat.groot{padding:48px 0;max-width:560px}
.leeg-staat.groot h1{font-size:24px;font-weight:600;letter-spacing:-.025em;margin-bottom:8px;color:var(--tekst)}

/* ---------- lijstpagina's (fase 4) ---------- */
.balk a:hover{color:var(--tekst)}
.inhoud.lang{max-width:1440px}
.lijst-kop{align-items:flex-start}
.lijst-kop p{max-width:720px}
.stap-uitleg{color:var(--tekst-3)}
.filters{row-gap:10px}
.filters.actief{margin-top:-4px}
.filters .wis{font-size:12.5px;color:var(--tekst-3);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.filters .wis:hover{color:var(--tekst)}
.zoekveld{height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border-radius:8px;background:var(--vlak);border:1px solid var(--rand-2);min-width:180px;box-shadow:0 1px 0 var(--glans) inset}
.zoekveld.breed{min-width:280px;flex:1;max-width:420px}
.zoekveld:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-zacht)}
.zoekveld svg{width:15px;height:15px;stroke:var(--tekst-3);fill:none;stroke-width:1.8;flex:none}
.zoekveld input{flex:1;min-width:0;border:0;background:none;outline:none;font:inherit;font-size:13.5px;color:var(--tekst)}
.zoekveld input::placeholder{color:var(--tekst-3)}
.keuze select{height:34px;padding:0 30px 0 10px;border-radius:8px;border:1px solid var(--rand-2);background:var(--vlak) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%23808690' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center/12px;color:var(--tekst);font:inherit;font-size:13px;font-weight:500;appearance:none;cursor:pointer;max-width:240px}
.keuze select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.filters .knop{height:34px}
[data-lijstfilter] .knop[type=submit]{background:var(--tekst);color:var(--bg);border-color:transparent}

.groep{display:flex;flex-direction:column;gap:12px;scroll-margin-top:16px}
.groep+.groep{margin-top:12px}
.groep-kop{display:flex;align-items:baseline;gap:10px;font-size:17px;font-weight:600;letter-spacing:-.02em;padding-bottom:8px;border-bottom:1px solid var(--rand)}
.groep-kop a:hover{color:var(--accent-tekst)}
.groep-kop .num{font-size:12px;font-weight:400;color:var(--tekst-3)}
.groep-kop .lang{font-size:13px;font-weight:400;color:var(--tekst-3);letter-spacing:0}

.lid{position:relative;transition:border-color .15s ease-out, box-shadow .15s ease-out, transform .15s ease-out}
.lid:hover{border-color:var(--rand-2);box-shadow:var(--schaduw-pop);transform:translateY(-1px)}
.lid:focus-within{border-color:var(--accent)}
.lid h2{white-space:normal;line-height:1.25}
.lid h2 a::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.lid h2 a:focus-visible{outline:none}
.lid .ster{z-index:2;border:0;cursor:pointer}
.lid .ster:hover svg{stroke:var(--z4)}
.lid .rang{z-index:1}
.lid .f img{transition:transform .4s ease-out}
.lid:hover .f img{transform:scale(1.02)}

.gezicht{border-radius:50%;object-fit:cover;object-position:50% 15%;background:var(--foto-bg);flex:none}
.gezicht.s{width:24px;height:24px}
.gezicht.m{width:32px;height:32px}
.gezicht.l{width:44px;height:44px}
.label.aan{background:var(--accent-zacht);color:var(--accent-tekst)}
.label.open{background:transparent;border:1px dashed var(--rand-2)}

@media (max-width:1400px){.raster{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1100px){.raster{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:768px){
  .raster{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .zoekveld,.zoekveld.breed{min-width:0;flex:1 1 100%;max-width:none}
  .keuze{flex:1 1 45%}.keuze select{width:100%;max-width:none}
  .filters .rechts{margin-left:0}
  .lijst-kop{flex-direction:column;align-items:flex-start;gap:12px}
  .lid .t{padding:9px 10px 10px}
}
@media (prefers-reduced-motion: reduce){.lid,.lid .f img{transition:none}.lid:hover{transform:none}.lid:hover .f img{transform:none}}

/* ---------- profiel ---------- */
.profiel-kop{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.profiel-kop .portret{height:264px}
.profiel-kop .wie{display:flex;flex-direction:column;gap:6px;padding-top:4px;align-items:flex-start}
.profiel-kop h1{font-size:32px;font-weight:600;letter-spacing:-.035em;line-height:1.1}
.profiel-kop .sub{font-size:14px;color:var(--tekst-2)}
.profiel-kop .sub a{color:var(--tekst);font-weight:500}
.profiel-kop .sub a:hover{color:var(--accent-tekst)}
.kerncijfers{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.kerncijfers>div{background:var(--vlak);border:1px solid var(--rand);border-radius:10px;padding:10px 14px;min-width:150px;box-shadow:var(--schaduw)}
.kerncijfers dt{font-size:12px;color:var(--tekst-3)}
.kerncijfers dd{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--tekst);margin:2px 0 0}
.kerncijfers span{font-size:12px;color:var(--tekst-3)}
.commissies-lijst{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.commissies-lijst .chip{height:28px;font-size:12.5px;gap:6px}
.commissies-lijst .label{font-size:11px;padding:1px 6px}
.knop.volg{width:auto;height:30px;border-radius:7px}
.knop.volg svg{width:14px;height:14px;stroke:currentColor;fill:none}
.knop.volg[aria-pressed="true"] svg{fill:var(--accent);stroke:var(--accent)}
.knop.volg::after{content:"Volgen"}
.knop.volg[aria-pressed="true"]::after{content:"Gevolgd"}
.profiel-zoek{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.profiel-zoek .zoekveld.breed{max-width:520px}
.over-onderwerp .lijst{display:flex;flex-direction:column;gap:12px;padding-top:10px}
.samenvatting{font-size:14px;color:var(--tekst-2)}
.samenvatting b{color:var(--tekst);font-size:15px}
.samenvatting a,.meer-link,.wis{font-size:12.5px;color:var(--tekst-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.samenvatting a:hover,.meer-link:hover,.wis:hover{color:var(--tekst)}
.stemgedrag{font-size:13px;color:var(--tekst-2);padding-top:10px;border-top:1px solid var(--rand)}
.stemgedrag b{color:var(--tekst)}
.profiel-rij{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}
.kolom{display:flex;flex-direction:column;gap:16px;min-width:0}
.kaart .lijst{padding:10px 18px 14px}
.stil{color:var(--tekst-3);font-size:13px;padding:4px 0}
.uitspraak-rij{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--rand);font-size:13px}
.uitspraak-rij:first-child{border-top:0}
.uitspraak-rij b{display:block;font-weight:500;color:var(--tekst)}
.uitspraak-rij .frag{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--tekst-2);margin-top:2px}
.uitspraak-rij .num{font-size:12px;color:var(--tekst-3);padding-top:1px}
.uitspraak-rij:hover b{color:var(--accent-tekst)}
.zaak-rij{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:start;padding:9px 0;border-top:1px solid var(--rand);font-size:13px}
.zaak-rij:first-child{border-top:0}
.zaak-rij>.num{font-size:12px;color:var(--tekst-3);padding-top:1px}
.zaak-rij .soort{font-size:11.5px;color:var(--tekst-3);font-weight:500;margin-right:4px}
.zaak-rij .uit{display:flex;align-items:center;gap:8px;white-space:nowrap}
.zaak-rij .stemmen{font-size:11.5px;color:var(--tekst-3)}
.bronlink{font-family:"Geist Mono";font-size:11.5px;color:var(--tekst-3);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.bronlink:hover{color:var(--tekst)}
.cv{list-style:none;padding:8px 18px 14px;display:flex;flex-direction:column}
.cv li{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--rand);font-size:13px;color:var(--tekst-2)}
.cv li:first-child{border-top:0}
.cv b{color:var(--tekst);font-weight:500}
.cv .num{font-size:12px;color:var(--tekst-3)}
.kaart-kop .meer-link,.kaart-kop .wis{white-space:nowrap}
@media (max-width:1100px){.profiel-rij{grid-template-columns:1fr}}
@media (max-width:768px){
  .profiel-kop{grid-template-columns:1fr;gap:16px}
  .profiel-kop .portret{height:320px;max-width:280px}
  .profiel-kop h1{font-size:26px}
  .zaak-rij{grid-template-columns:48px minmax(0,1fr)}
  .zaak-rij .uit{grid-column:2}
}

/* ---------- commissies ---------- */
.commissie-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.commissie-kaart{display:flex;flex-direction:column;gap:12px;padding:16px 18px;transition:border-color .15s ease-out, box-shadow .15s ease-out}
.commissie-kaart:hover{border-color:var(--rand-2);box-shadow:var(--schaduw-pop)}
.ck-kop{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.ck-kop h2{font-size:15px;font-weight:600;letter-spacing:-.015em;line-height:1.3}
.ck-kop .num{font-size:12px;color:var(--tekst-3);white-space:nowrap}
.stapel{display:flex;align-items:center}
.stapel .gezicht{border:2px solid var(--vlak);margin-left:-8px}
.stapel .gezicht:first-child{margin-left:0}
.stapel .rest{margin-left:8px;font-family:"Geist Mono";font-size:12px;color:var(--tekst-3)}
.ck-regel{font-size:13px;color:var(--tekst-2)}
.ck-regel b{color:var(--tekst);font-weight:500}
.ck-regel span{color:var(--tekst-3)}
.ck-volgende{display:flex;gap:10px;align-items:flex-start;padding-top:12px;border-top:1px solid var(--rand);margin-top:auto}
.ck-volgende .wat{display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:0}
.ck-volgende .wat b{font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ck-volgende small{color:var(--tekst-3);font-size:12px}
.sectie-kop{font-size:19px;font-weight:600;letter-spacing:-.02em;margin-top:8px}
.raster.compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.raster.compact .lid h2{font-size:13.5px}
.lijst-kop p a{color:var(--tekst);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
@media (max-width:1400px){.raster.compact{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:1100px){.commissie-raster{grid-template-columns:repeat(2,minmax(0,1fr))}.raster.compact{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:768px){.commissie-raster{grid-template-columns:1fr}.raster.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ag.verplaatst .w,.ag.verplaatst .datum{opacity:.55}
.meer .ag:first-of-type{border-top:1px solid var(--rand)}
.lijst .meer{padding:0}

/* ---------- agenda ---------- */
.agenda-dag{display:flex;flex-direction:column;gap:8px}
.agenda-dag h2{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:-.01em}
.agenda-dag h2 span:first-child::first-letter{text-transform:uppercase}
.agenda-regel{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,260px);gap:14px;align-items:center;padding:11px 18px;border-top:1px solid var(--rand)}
.agenda-regel:first-child{border-top:0}
.agenda-regel .tijd{font-size:12.5px;color:var(--tekst-2)}
.agenda-regel .wat{display:flex;flex-direction:column;gap:2px;min-width:0}
.agenda-regel .wat b{font-weight:500}
.agenda-regel small{font-size:12px;color:var(--tekst-3)}
.agenda-regel .commissie{font-size:12.5px;color:var(--tekst-2);text-align:right;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.agenda-regel .commissie:hover{color:var(--tekst)}
.agenda-regel.verplaatst .wat b,.agenda-regel.verplaatst .tijd{opacity:.55}
@media (max-width:768px){.agenda-regel{grid-template-columns:48px minmax(0,1fr)}.agenda-regel .commissie{grid-column:2;text-align:left}}

/* ---------- onderwerpen ---------- */
.debat-lijst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:6px 18px 12px}
.debat{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--rand);font-size:13px}
.debat:nth-child(-n+2){border-top:0}
.debat b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.debat>span{color:var(--tekst-3);font-size:12px;white-space:nowrap}
.debat:hover b{color:var(--accent-tekst)}
.onderwerp-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.onderwerp-kaart{display:flex;flex-direction:column;gap:10px;padding:16px 18px;transition:border-color .15s ease-out, box-shadow .15s ease-out}
.onderwerp-kaart:hover{border-color:var(--rand-2);box-shadow:var(--schaduw-pop)}
.ok-kop h2{font-size:15px;font-weight:600;letter-spacing:-.015em}
.ok-cijfers{display:flex;gap:16px;font-size:12.5px;color:var(--tekst-3)}
.ok-cijfers b{color:var(--tekst);font-size:14px;font-weight:600}
.spark{width:100%;height:36px;overflow:visible}
.spark polyline{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.spark.groot{height:56px;max-width:360px}
.ok-voet{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tekst-3);padding-top:10px;border-top:1px solid var(--rand)}
.ok-voet .stapel .gezicht{border-color:var(--vlak)}
.onderwerp-kop{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.onderwerp-kop h1{font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1.1}
.onderwerp-kop p{color:var(--tekst-2);margin-top:5px}
.onderwerp-kop b{color:var(--tekst)}
.stil-kop{font-size:13px;font-weight:400;color:var(--tekst-3);letter-spacing:0;margin-left:6px}
.uitspraak-rij.met-gezicht{grid-template-columns:32px minmax(0,1fr)}
.wie-sub{font-weight:400;color:var(--tekst-3);font-size:12px}
.wie-sub a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.uitspraak-rij.met-gezicht b{display:inline}
.uitspraak-rij.met-gezicht .frag{margin-top:3px}
.gezicht.leeg{display:inline-block;background:var(--vlak-3)}
@media (max-width:1100px){.onderwerp-raster{grid-template-columns:repeat(2,minmax(0,1fr))}.debat-lijst{grid-template-columns:1fr}.debat:nth-child(2){border-top:1px solid var(--rand)}}
@media (max-width:768px){.onderwerp-raster{grid-template-columns:1fr}.onderwerp-kop{flex-direction:column;align-items:flex-start}}

/* ---------- uitspraken ---------- */
.keuze.dag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--tekst-3);white-space:nowrap}
.keuze.dag input{height:34px;padding:0 8px;border-radius:8px;border:1px solid var(--rand-2);background:var(--vlak);color:var(--tekst);font:inherit;font-size:13px;color-scheme:inherit}
.teller{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--tekst-2)}
.teller b{color:var(--tekst)}
.teller a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.resultaten{padding:4px 18px}
.treffer{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid var(--rand)}
.treffer:first-child{border-top:0}
.r-kop{display:flex;align-items:baseline;gap:8px;font-size:13.5px}
.r-kop a:hover b{color:var(--accent-tekst)}
.r-datum{margin-left:auto;font-size:12px;color:var(--tekst-3)}
.r-frag{display:block;margin-top:4px;font-size:14px;line-height:1.6;color:var(--tekst)}
.r-frag q{quotes:"„" "”"}
.r-frag:hover q{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.r-debat{margin-top:4px;font-size:12px;color:var(--tekst-3)}
.gezicht.xl{width:64px;height:64px}
.paginering{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--tekst-3);font-size:12.5px}
.filter .gezicht{margin-left:-4px}
.uitspraak-vol{background:var(--vlak);border:1px solid var(--rand);border-radius:var(--r);box-shadow:var(--schaduw);padding:28px 32px;max-width:860px}
.u-kop{display:flex;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--rand)}
.u-debat{font-size:12.5px;color:var(--tekst-3)}
.u-debat::first-letter{text-transform:uppercase}
.u-kop h1{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.25;margin:3px 0 4px}
.u-wie{font-size:14px}
.u-wie a:hover b{color:var(--accent-tekst)}
.u-tekst{white-space:pre-line;font-size:16px;line-height:1.75;padding:20px 0;max-width:70ch}
.u-bron{font-size:12.5px;color:var(--tekst-3);border-top:1px solid var(--rand);padding-top:14px}
.u-bron a{color:var(--tekst-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
@media (max-width:768px){.uitspraak-vol{padding:18px}.u-tekst{font-size:15px}.treffer{grid-template-columns:32px minmax(0,1fr)}.treffer .gezicht.l{width:32px;height:32px}}
.u-treffers{margin-top:14px;font-size:12.5px}
.u-treffers a{color:var(--accent-tekst);text-decoration:underline;text-underline-offset:3px}
#treffer{scroll-margin:120px}
@media (max-width:768px){
  .balk{height:auto;min-height:48px;flex-wrap:wrap;row-gap:6px;padding-top:8px;padding-bottom:8px}
  .balk .rechts{margin-left:auto;flex-wrap:wrap}
}

/* ---------- verwante begrippen ---------- */
.verwant{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;min-height:28px}
.verwant:not([aria-busy]):not(:has(a)){display:none}
.verwant[aria-busy="true"]::before{content:"";width:240px;height:22px;border-radius:7px;background:linear-gradient(90deg,var(--vlak-3),var(--vlak-2),var(--vlak-3));background-size:200% 100%;animation:laden 1.2s ease-in-out infinite}
@keyframes laden{0%{background-position:100% 0}100%{background-position:-100% 0}}
.v-kop{font-size:12px;font-weight:500;color:var(--tekst-3);margin-right:2px}
.v-kop:not(:first-child){margin-left:10px}
.v-kop .stil{font-weight:400}
.v-chip,.v-debat{height:26px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border-radius:7px;border:1px solid var(--rand);background:var(--vlak);font-size:12.5px;font-weight:500;color:var(--tekst)}
.v-chip:hover,.v-debat:hover{border-color:var(--accent);color:var(--accent-tekst)}
.v-chip .num,.v-debat .num{font-size:11px;color:var(--tekst-3);font-weight:400}
.v-debat{max-width:320px}
.v-debat{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline-block;line-height:24px}
.v-debat .num{margin-left:6px}
.nu-kamer{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.nu-kamer .chips{margin-top:2px}
.uitleg .bedoelde,.leeg-staat h2 a{color:var(--accent-tekst);text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion: reduce){.verwant[aria-busy="true"]::before{animation:none}}

/* ---------- volglijst ---------- */
.volg{display:flex;flex-direction:column;gap:1px}
.volg .zij-kop a{color:var(--tekst-3);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.volg a .naam{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.volg .dot{flex:none}
.knop.volg.klein{height:24px;padding:0 8px;font-size:12px;margin-left:8px;vertical-align:1px}
.knop.volg.klein svg{width:12px;height:12px}
.volgpagina{padding:6px 18px}
.volg-lijst{list-style:none}
.volg-lijst li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--rand)}
.volg-lijst li:first-child{border-top:0}
.volg-item{display:flex;align-items:center;gap:10px}
.volg-item b{display:block;font-weight:500}
.volg-item small{font-size:12px;color:var(--tekst-3)}
.volg-item .dot{width:24px;height:24px;border-radius:6px;background:var(--accent-zacht);display:grid;place-items:center;color:var(--accent-tekst);font-size:12px;font-weight:600}
.volg-lijst .num{font-size:12px;color:var(--tekst-3)}
.volg-acties{display:flex;gap:8px;align-items:center}
.volg-acties label.knop{cursor:pointer}
.volg-acties label.knop:focus-within{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- gesprekskaart (A4) ---------- */
.kaart-pagina{background:var(--bg);padding:24px 16px 48px}
.kaart-acties{max-width:794px;margin:0 auto 16px;display:flex;justify-content:space-between;gap:8px}
.a4{max-width:794px;margin:0 auto;background:#fff;color:#0E1116;border-radius:6px;box-shadow:var(--schaduw-pop);padding:44px 52px;display:flex;flex-direction:column;gap:20px;font-size:12.5px;line-height:1.5}
.a4-kop{display:grid;grid-template-columns:104px minmax(0,1fr);gap:20px;align-items:start}
.a4-foto{width:104px;height:128px;object-fit:cover;object-position:50% 15%;border-radius:8px;background:#E8EAED}
.a4-merk{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#667080;text-transform:uppercase;letter-spacing:.06em}
.a4-merk .logo{width:18px;height:18px;border-radius:5px;background:#0E1116;display:grid;place-items:center}
.a4-merk .logo svg{width:12px;height:12px}.a4-merk .logo path{stroke:#fff}.a4-merk .logo circle{fill:#C77A0A}
.a4 h1{font-size:26px;font-weight:600;letter-spacing:-.03em;margin:4px 0 2px}
.a4-sub{color:#4C5461;font-size:12px}
.a4-blok h2{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#0E1116;padding-bottom:6px;margin-bottom:6px;border-bottom:1.5px solid #0E1116;display:flex;justify-content:space-between}
.a4-blok h2 span{font-weight:400;text-transform:none;letter-spacing:0;color:#667080}
.a4-blok>p{margin-bottom:8px}
.a4 blockquote{margin:6px 0 0;padding:6px 0 6px 12px;border-left:2px solid #C77A0A}
.a4 blockquote cite{display:block;font-style:normal;font-size:12px;color:#667080;margin-top:2px}
.a4 mark{background:#FCF1DF;color:#9A5B00}
.a4-rij{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.a4-lijst{list-style:none}
.a4-lijst li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid #E6E8EB}
.a4-lijst li:last-child{border-bottom:0}
.a4-lijst small{color:#667080;font-family:"Geist Mono";font-size:12px}
.a4-lijst .num{color:#4C5461;font-size:12px;white-space:nowrap}
.a4-lijst .uit{white-space:nowrap}
.a4-voet{font-size:12px;color:#667080;border-top:1px solid #E6E8EB;padding-top:10px;margin-top:auto}
@media print{
  @page{size:A4;margin:14mm}
  .kaart-pagina{background:#fff;padding:0}
  .kaart-acties{display:none}
  .a4{box-shadow:none;border-radius:0;padding:0;max-width:none}
}
@media (max-width:768px){.a4{padding:24px 18px}.a4-rij{grid-template-columns:1fr}}

/* ---------- leestekst (methode) ---------- */
.leestekst{max-width:720px;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.7;color:var(--tekst-2);padding-bottom:40px}
.leestekst h1{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.15;color:var(--tekst)}
.leestekst .intro{font-size:17px;color:var(--tekst)}
.leestekst h2{font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--tekst);margin-top:18px}
.leestekst b{color:var(--tekst);font-weight:500}
.leestekst ul,.leestekst ol{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.leestekst a{color:var(--tekst);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.trefwoorden{display:flex;flex-direction:column;gap:10px;font-size:13px}
.trefwoorden dt{font-weight:500;color:var(--tekst)}
.trefwoorden dd{margin:0;color:var(--tekst-3)}

/* ---------- ⌘K-palet ---------- */
.palet{margin:12vh auto auto;width:min(640px,calc(100vw - 32px));max-height:min(560px,76vh);padding:0;border:1px solid var(--rand-2);border-radius:14px;background:var(--vlak);color:var(--tekst);box-shadow:var(--schaduw-pop);overflow:hidden;flex-direction:column}
.palet[open]{display:flex}
.palet::backdrop{background:rgba(10,11,13,.45);backdrop-filter:blur(2px)}
.palet-veld{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--rand)}
.palet-icoon{font-size:20px;color:var(--tekst-3)}
.palet-veld input{flex:1;height:54px;border:0;background:none;outline:none;font:inherit;font-size:16px;color:var(--tekst)}
.palet-veld input::-webkit-search-cancel-button{display:none}
.palet-lijst{list-style:none;overflow-y:auto;padding:6px;flex:1}
.palet-kop{font-size:11.5px;font-weight:500;color:var(--tekst-3);padding:10px 10px 4px}
.palet-lijst [role=option] a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px}
.palet-lijst [aria-selected=true] a{background:var(--vlak-3)}
.palet-teken{width:32px;height:32px;border-radius:8px;background:var(--vlak-2);border:1px solid var(--rand);display:grid;place-items:center;color:var(--tekst-3);font-size:14px;flex:none}
.palet-tekst{display:flex;flex-direction:column;min-width:0}
.palet-tekst b{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.palet-tekst small{font-size:12px;color:var(--tekst-3)}
.palet-voet{display:flex;gap:16px;padding:9px 16px;border-top:1px solid var(--rand);font-size:11.5px;color:var(--tekst-3)}
.palet-voet kbd{font-family:"Geist Mono";font-size:10.5px;padding:1px 5px;border:1px solid var(--rand-2);border-radius:4px;margin-right:2px}
@media (max-width:768px){.palet{margin-top:8px}.palet-voet{display:none}}

/* ---------- welkom in het paneel ---------- */
.welkom{gap:22px;overflow-y:auto}
.welkom h2{font-size:17px;font-weight:600;letter-spacing:-.02em;margin-bottom:12px}
.stappenplan{list-style:none;counter-reset:stap;display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.stappenplan li{counter-increment:stap;display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px 10px;font-size:13px;color:var(--tekst-2)}
.stappenplan li::before{content:counter(stap);grid-row:span 2;width:24px;height:24px;border-radius:7px;background:var(--accent-zacht);color:var(--accent-tekst);display:grid;place-items:center;font-family:"Geist Mono";font-size:12px;font-weight:600}
.stappenplan b{color:var(--tekst);font-weight:500}
.welkom .stil a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rand-2)}
.sectie-kop-klein{font-size:12.5px;font-weight:500;color:var(--tekst-3);margin-bottom:6px}
.lijst-compact{display:flex;flex-direction:column;margin-bottom:8px}
.ag-compact{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--rand);font-size:13px}
.ag-compact:first-child{border-top:0}
.ag-compact .num{font-size:11.5px;color:var(--tekst-3);padding-top:1px}
.ag-compact b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-compact small{font-size:12px;color:var(--tekst-3)}
.ag-compact:hover b{color:var(--accent-tekst)}

/* ---------- stemgedrag per fractie ---------- */
.stem-lijst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:8px 18px 4px}
.stem-rij{display:grid;grid-template-columns:120px minmax(0,1fr) 104px;gap:10px;align-items:center;padding:5px 0;border-top:1px solid var(--rand);font-size:13px}
.stem-rij:nth-child(-n+2){border-top:0}
.stem-rij a{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stem-rij a:hover{color:var(--accent-tekst)}
.stem-rij .num{font-size:11.5px;color:var(--tekst-3);text-align:right}
.stem-balk{height:8px;border-radius:4px;background:var(--z0);overflow:hidden;display:block}
.stem-balk i{display:block;height:100%;width:var(--v);background:var(--z3);border-radius:4px}
.stem-uitleg{font-size:11.5px;color:var(--tekst-3);padding:6px 18px 14px}
@media (max-width:1100px){.stem-lijst{grid-template-columns:1fr}.stem-rij:nth-child(2){border-top:1px solid var(--rand)}}
/* Halfrond: de pagina scrolt, het Kamerlidpaneel blijft in beeld. */
.app.met-paneel .paneel{position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:thin}
.app.met-paneel .paneel-inhoud{overflow:visible}
.zaal svg{flex:none;height:auto;max-height:440px}
@media (max-width:1200px){.app.met-paneel .paneel{position:static;height:auto}}
.stem-moties{border-top:1px solid var(--rand);padding-top:12px}
@media (max-width:768px){
  .ag{grid-template-columns:56px minmax(0,1fr)}
  .ag>.label{grid-column:2;justify-self:start}
}

/* Alleen met JavaScript zinvol: themaknoppen en afdrukknop. */
html:not(.js) [data-thema-wissel],html:not(.js) [data-print]{display:none}

/* ---------- themaschakelaar (rechtsboven op elke pagina) ---------- */
.thema-wissel{margin-left:8px;flex:none}
.balk .rechts+.thema-wissel{margin-left:0}
.balk>.thema-wissel:first-of-type{margin-left:auto}
.thema-wissel .donker-icoon,.thema-wissel .licht-icoon{display:none}
.thema-wissel[aria-pressed="false"] .donker-icoon,.thema-wissel[aria-pressed="true"] .licht-icoon{display:block}
