/* Directe Democratie v6.4: kleurtokens licht/donker. Donker: prefers-color-scheme (tenzij data-thema=licht) of data-thema=donker.
   Oranje (--or) alleen als vlak, nooit als tekst op wit; tekst op oranje = --on-or (navy). */
:root{--page:#F6F3EE;--paper:#FFFFFF;--paper2:#FBF9F5;--line:#C9C1B4;--line2:#EBE6DE;--ink:#0B1F39;--ink2:#173152;--muted:#5C6B79;
--or:#FD6B25;--on-or:#0B1F39;--voor:#1F7A45;--tegen:#B3261E;--voor-bg:#E7F4EC;--tegen-bg:#FBE9E7;
--on-ink:#FFFFFF;--on-ink-muted:#C9D4DF;--chip:#E9EEF5;--demo-bg:#FFF4DC;--demo-ink:#7A4F00;--demo-line:#B07A10;
--topbar:rgba(246,243,238,.92);--topbar-blur:rgba(246,243,238,.75);--tabbar:rgba(255,255,255,.96);--tabbar-blur:rgba(255,255,255,.8);
--hover:rgba(11,31,57,.06);--hover2:rgba(11,31,57,.12);--backdrop:rgba(11,31,57,.5);
--r:16px;--r2:12px;--rk:12px;--schaduw:0 1px 2px rgba(11,31,57,.05),0 4px 16px rgba(11,31,57,.06);--serif:Georgia,"Times New Roman",Times,serif;
--bg:var(--page);--navy:var(--ink);--grey:var(--muted);color-scheme:light dark}
:root[data-thema=licht]{color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-thema=licht]){--page:#0A1424;--paper:#13213A;--paper2:#1A2B47;--line:#2C3E5C;--line2:#1F3050;--ink:#EEF2F7;--ink2:#D5DDE8;--muted:#9AA8B8;
--voor:#5BC98A;--tegen:#F28B82;--voor-bg:#163A2A;--tegen-bg:#3D1F22;--on-ink:#0A1424;--on-ink-muted:#3B4D68;--chip:#22344F;--demo-bg:#3A2E12;--demo-ink:#F3D58C;--demo-line:#8A6A2A;
--topbar:var(--paper);--topbar-blur:var(--paper);--tabbar:var(--paper);--tabbar-blur:var(--paper);--hover:rgba(238,242,247,.08);--hover2:rgba(238,242,247,.14);--backdrop:rgba(0,0,0,.6);--schaduw:none;color-scheme:dark}}
:root[data-thema=donker]{--page:#0A1424;--paper:#13213A;--paper2:#1A2B47;--line:#2C3E5C;--line2:#1F3050;--ink:#EEF2F7;--ink2:#D5DDE8;--muted:#9AA8B8;
--voor:#5BC98A;--tegen:#F28B82;--voor-bg:#163A2A;--tegen-bg:#3D1F22;--on-ink:#0A1424;--on-ink-muted:#3B4D68;--chip:#22344F;--demo-bg:#3A2E12;--demo-ink:#F3D58C;--demo-line:#8A6A2A;
--topbar:var(--paper);--topbar-blur:var(--paper);--tabbar:var(--paper);--tabbar-blur:var(--paper);--hover:rgba(238,242,247,.08);--hover2:rgba(238,242,247,.14);--backdrop:rgba(0,0,0,.6);--schaduw:none;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font:1rem/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.w{max-width:46rem;margin:0 auto;padding:0 1.25rem}
.sans,.lbl,.logo,footer,nav,.knop,.tekstknop,.navknop,table,label,input,.melding,.code,summary{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
h1{font-weight:400;font-size:clamp(2.2rem,7vw,3.4rem);line-height:1.1;margin:2.5rem 0 1.25rem;letter-spacing:-.01em}
h1 span{display:block}
h1.klein{font-size:clamp(1.8rem,5vw,2.4rem);margin-top:2rem}
.lead{font-size:clamp(1.1rem,2.6vw,1.3rem);color:var(--ink2);margin:0 0 2rem;max-width:36rem}
.lbl{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .6rem}
.grijs{color:var(--muted)}
.klein{font-size:.875rem}
.kopje{margin-top:.5rem}
.hero{background:var(--ink);color:var(--on-ink);border-radius:14px;padding:1.75rem;margin:0 0 1.5rem}
.hero .lbl{color:var(--on-ink-muted)}
.hero p{margin:0 0 .6rem;max-width:34rem}
.hero a{color:var(--on-ink)}
.groot{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:800;color:var(--or);font-size:clamp(2.6rem,9vw,4.2rem);line-height:1;margin:.1rem 0 .9rem!important;letter-spacing:-.02em}
.hero-voet{color:var(--on-ink-muted);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.8125rem;margin-top:1rem!important}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:0 0 1.5rem}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.4rem 1.2rem}
.card p{margin:0 0 .8rem}
.card p:last-child{margin-bottom:0}
.ruimte{margin:0 0 1.5rem}
.kaartlink{display:block;text-decoration:none;font-weight:400}
.kaartlink:hover .kaarttitel{text-decoration:underline;text-decoration-color:var(--or);text-decoration-thickness:2px}
.kaarttitel{display:block;font-size:1.1rem;line-height:1.35}
.kaartlink .lbl{display:block}
a{color:var(--ink);font-weight:700;text-underline-offset:.18em;text-decoration-color:var(--or);text-decoration-thickness:2px}
a:hover{color:var(--ink2)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:3px}
.lijst{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:1rem}
.stellingkaart{margin:1.5rem 0}
.stelling{font-size:1.4rem;line-height:1.3;margin:.2rem 0 1.1rem;font-weight:400}
.onderwerp{font-size:1.1rem}
.vlakken{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0}
.vlak{background:var(--page);border-radius:10px;padding:1rem;min-height:9rem}
.vlak ul{margin:0;padding-left:1.1rem}
.placeholder{color:var(--muted);font-style:italic;font-size:.9375rem}
.bronnen{margin:.4rem 0 1.2rem!important}
.stemvak{border-top:1px solid var(--line);padding-top:1.1rem;margin:0}
.voorspel{border:0;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;align-items:center}
.voorspel legend{padding:0;margin-bottom:.4rem;width:100%}
.voorspel label{font-size:.9375rem;display:inline-flex;gap:.4rem;align-items:center}
.knoppen{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.knop{appearance:none;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:999px;padding:.7rem 1.9rem;font-size:1rem;font-weight:700;cursor:pointer;min-width:8rem}
.knop.gekozen{background:var(--ink);color:var(--on-ink)}
.knop:hover{background:var(--page)}
.knop.gekozen:hover{background:var(--ink2)}
.tekstknop{appearance:none;border:0;background:none;color:var(--muted);font-size:1rem;font-weight:600;padding:.7rem .6rem;cursor:pointer;text-decoration:underline;text-underline-offset:.2em}
.tekstknop.gekozen{color:var(--ink);text-decoration-color:var(--or);text-decoration-thickness:2px}
.melding{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--or);border-radius:8px;padding:.7rem 1rem;margin:1rem 0;font-size:.9375rem}
.cijfer{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:800;font-size:1.8rem;line-height:1.1}
.balk{display:block;width:100%;height:.5rem;margin:.2rem 0 .8rem}
.tabelwrap{overflow-x:auto;margin:0 0 .8rem}
table{border-collapse:collapse;width:100%;font-size:.875rem}
th,td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.getal{text-align:right;white-space:nowrap}
tr.gekozen td:first-child{box-shadow:inset 3px 0 0 var(--or)}
details summary{cursor:pointer;font-weight:600;font-size:.9375rem;margin:.4rem 0}
details[open] summary{margin-bottom:.8rem}
.redenen{margin:0 0 .8rem;padding-left:1.1rem}
.log{list-style:none;margin:1rem 0 1.5rem;padding:0;display:grid;gap:.8rem}
.logobject{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem}
pre{background:var(--page);border-radius:8px;padding:.8rem;overflow-x:auto;font-size:.8125rem;white-space:pre-wrap;word-break:break-word}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;word-break:break-word}
.hash{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}
.code{font-weight:700;font-size:1.05rem;word-break:break-all;background:var(--paper);color:var(--ink);border-radius:8px;padding:.7rem .9rem;user-select:all}
.formulier label{display:block;font-weight:600;font-size:.875rem;margin-bottom:.35rem}
.formulier input{width:100%;font-size:1rem;padding:.65rem .8rem;border:1.5px solid var(--ink);border-radius:10px;margin-bottom:1rem;background:var(--paper);color:var(--ink)}
footer{color:var(--muted);font-size:.8125rem;padding:1.5rem 0 2.5rem}
footer p{margin:.2rem 0}
footer a{color:var(--muted)}
@media (max-width:40rem){.grid{grid-template-columns:1fr}h1{margin-top:2rem}.hero{padding:1.4rem 1.25rem 1.5rem}.card{padding:1.15rem}.vlakken{gap:.6rem}.vlak{padding:.8rem}.knop{min-width:0;flex:1 1 40%;padding:.7rem 1rem}.tekstknop{flex-basis:100%;text-align:left;padding-left:0}}
/* v2: letterlijke tekst, soortlabel, indieners, demo */
.stuktekst{margin:0 0 1.1rem}
.citaat{margin:0 0 .8rem;padding:.2rem 0 .2rem 1rem;border-left:4px solid var(--or);font-size:clamp(1.05rem,2.4vw,1.2rem);line-height:1.5}
.citaat p{margin:0 0 .5rem}
.citaat p:last-child{margin-bottom:0}
.volledig{border:1px solid var(--line);border-radius:10px;padding:.6rem .9rem;background:var(--page)}
.volledig summary{cursor:pointer;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:.875rem}
.volledig-tekst{margin:.7rem 0;font-size:.9375rem}
.volledig-tekst p{margin:0 0 .5rem}
.chips{margin:0 0 .6rem!important;display:flex;flex-wrap:wrap;gap:.4rem}
.chip{display:inline-block;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:none;line-height:1.2;padding:.28rem .6rem;border-radius:999px;background:var(--ink);color:var(--on-ink);vertical-align:.08em}
.chip.licht{background:var(--chip);color:var(--ink)}
.chip.demo{background:var(--paper)4dc;color:var(--demo-ink);border:1px solid var(--demo-line)}
.indieners{margin:0 0 .5rem!important;font-size:.9375rem}
.persoon{font-weight:700;white-space:nowrap}
.fractie{font-weight:400;color:var(--muted)}
.stellinglbl{margin-top:1.2rem!important;border-top:1px solid var(--line);padding-top:1rem}
.demolabel{display:inline-block;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.03em;padding:.25rem .6rem;border-radius:6px;background:var(--paper)4dc;color:var(--demo-ink);border:1px dashed var(--demo-line)}
.demokaart{border:2px dashed var(--demo-line);background:var(--paper)af0}
.demokaart .demolabel{margin-bottom:.7rem}
.demohero{margin:0 0 1rem}
.demohero .groot{color:var(--demo-ink)}
.democel{background:var(--paper)af0}
.kaartregel{display:block;margin-top:.45rem}
/* hulp: eenvoudiger Nederlands */
.hulp{margin-top:.8rem;border:2px solid var(--ink);border-radius:10px;padding:.6rem .9rem;background:var(--paper)}
.hulp summary{cursor:pointer;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:.9375rem}
.hulp[open] summary{margin-bottom:.6rem}
.hulplabel{display:inline-block;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.8125rem;font-weight:700;background:var(--chip);color:var(--ink);border-radius:6px;padding:.25rem .6rem}
.hulpkop{margin-top:.9rem!important}
.hulplijst{margin:0 0 .8rem;padding-left:1.2rem;font-size:1.0625rem;line-height:1.6}
.hulplijst li{margin-bottom:.35rem}
.meldform{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;border-top:1px solid var(--line);padding-top:.7rem;margin-top:.4rem}
.meldform label{flex-basis:100%}
.meldform select{font:inherit;font-size:.9375rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink)}
.prompt{white-space:pre-wrap;word-break:break-word;font:.8125rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:.7rem .8rem;margin:0 0 .6rem}
/* v4: poll-voorkant */
.wegtekst{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.feedkop{font-size:clamp(1.5rem,4.2vw,2rem);line-height:1.2;margin:1.6rem 0 .35rem}
.feedlead{color:var(--ink2);margin:0 0 1.25rem;font-size:1.0625rem}
.feed{display:grid;gap:1rem;margin:0 0 1.25rem}
.poll{padding:1.35rem 1.4rem 1.2rem;scroll-margin-top:1rem}
.pollmeta{margin:0 0 .45rem!important}
.b1tag{color:var(--ink);text-transform:none;letter-spacing:.02em}
.pollkop{font-weight:400;font-size:clamp(1.3rem,3.4vw,1.6rem);line-height:1.25;margin:0 0 .45rem;letter-spacing:-.005em}
h1.pollkop{font-size:clamp(1.5rem,4.4vw,2.1rem);margin:0 0 .5rem}
.pollkop a{font-weight:400;text-decoration:none;color:var(--ink)}
.pollkop a:hover{text-decoration:underline;text-decoration-color:var(--or);text-decoration-thickness:2px}
.pollvraag{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--muted);font-size:.9375rem;margin:0 0 .9rem!important}
.pollform{margin:0 0 1rem}
.pollknoppen{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.pollknop{flex:1 1 0;min-width:0;max-width:12rem;padding:.85rem 1rem;font-size:1.0625rem}
.pollknoppen .tekstknop{padding:.6rem .5rem;font-size:.9375rem}
.pollnoot{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.875rem;margin:.7rem 0 0!important}
.pollnoot .demolabel{vertical-align:.05em}
.voorspelopt{margin:0 0 .7rem}
.voorspelopt summary{font-size:.875rem;color:var(--muted);margin:0}
.voorspelopt[open] summary{margin-bottom:.5rem}
.voorspelopt .voorspel{margin:0}
.pollbalken{display:grid;gap:.85rem;border-top:1px solid var(--line);padding-top:.95rem}
.pollrij p{margin:0!important}
.pollrijkop{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.pollrijkop .lbl{margin:0;color:var(--ink)}
.pollaantal{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.8125rem;color:var(--muted)}
.pollaantal strong{color:var(--ink)}
.pollcijfers{display:flex;justify-content:space-between;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.9375rem;margin:.25rem 0 .3rem!important;font-variant-numeric:tabular-nums}
.pollcijfers strong{font-weight:700}
.pollcijfers span:last-child{color:var(--muted)}
.pollbalk{display:block;width:100%;height:.7rem;border-radius:999px;overflow:hidden;margin-top:.3rem}
.polldemo{border:1px dashed var(--demo-line);background:var(--paper)af0;border-radius:10px;padding:.55rem .7rem .7rem}
.polldemo .demolabel{margin:0 0 .45rem}
.polldemo .pollrijkop .lbl{color:var(--demo-ink)}
.pollmeer{margin:.9rem 0 0!important;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.9375rem}
.pollmeer a::after{content:" →"}
.terugnav{margin:1.25rem 0 .75rem}
.terugnav a{font-weight:600}
.meer{margin:1rem 0 1.5rem}
.meer>summary{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:1rem;font-weight:700;margin:0;list-style-position:inside}
.meer[open]>summary{margin-bottom:.4rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}
.meerdeel{padding:1rem 0 .4rem;border-bottom:1px solid var(--line)}
.meerdeel:last-child{border-bottom:0;padding-bottom:0}
.meerdeel>.lbl{color:var(--muted)}
.meerdeel .vlakken{margin:.4rem 0 .8rem}
.meerdeel .vlak h3{margin:0 0 .5rem}
.meer .hero{margin:.8rem 0 1rem}
.meer .demohero{margin:.8rem 0}
.kortuitleg{margin-top:.8rem!important}
.bladeren{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.5rem;font-size:.9375rem}
.footnav a{font-weight:600}
@media (max-width:40rem){.poll{padding:1.1rem 1.05rem 1rem}.pollknop{max-width:none;padding:.9rem .5rem}.pollknoppen .tekstknop{flex:0 0 auto}.feedkop{margin-top:1.2rem}.kop{padding-top:1rem}}
.polldemo .pollrijkop .demolabel{margin:0;letter-spacing:.03em;text-transform:none}
/* v4.1: dynamiek na het stemmen, snel-modus */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.gestemdtekst{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:1.0625rem;margin:0 0 .4rem!important}
.vink{display:inline-block;width:1.5rem;height:1.5rem;line-height:1.5rem;text-align:center;border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:.9rem;margin-right:.35rem}
.wijzig{margin:0 0 .2rem}
.wijzig>summary{font-size:.875rem;color:var(--muted);margin:0}
.wijzig[open]>summary{margin-bottom:.6rem}
.netgestemd .pollform{margin-bottom:.8rem}
.volgendevak{margin:1.1rem 0 0}
.volgendeknop{display:block;width:100%;text-align:center;text-decoration:none;font-size:1.125rem;padding:.95rem 1rem}
.volgendeknop:hover{color:var(--on-ink)}
.pollform.bezig .pollknoppen{opacity:.55;pointer-events:none}
.snelstart{margin:0 0 1.1rem}
.snelknop{display:inline-block;text-decoration:none;font-size:.9375rem;padding:.6rem 1.2rem;min-width:0}
.snelkop{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:1.25rem 0 .75rem;font-size:.9375rem}
.snelkop a{font-weight:600}
.overslaan{margin-left:1rem;color:var(--muted)}
.pollmeer .overslaan::after{content:" →"}
@media (max-width:30rem){.snelstart .snelknop{display:block;text-align:center}}
/* v5: tijdlijn-feed */
.feedlead .snellink{white-space:nowrap;margin-left:.35rem}
.item{padding:1.1rem 1.25rem 1rem}
.itemtop{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;margin:0 0 .45rem!important;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.8125rem;color:var(--muted);line-height:1.4}
.itemtop .soort{font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
.itemtop .sep{color:var(--muted)}
.itemtop .status{font-weight:700;color:var(--ink);white-space:nowrap}
.itemtop .status-komt{border-bottom:2px solid var(--or)}
.itemtop .status-volgt,.itemtop .status-anders{font-weight:600;color:var(--muted)}
.itemtop .b1tag{margin-left:auto;font-size:.6875rem;font-weight:700;letter-spacing:.04em;color:var(--ink);background:var(--chip);border-radius:6px;padding:.05rem .4rem;white-space:nowrap}
.item .pollkop{font-size:clamp(1.15rem,3vw,1.4rem);line-height:1.3;margin:0 0 .85rem}
.item h1.pollkop{font-size:clamp(1.4rem,4.2vw,1.9rem)}
.item .pollform{margin:0 0 .8rem}
.stemrij{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}
.stemknop{appearance:none;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:1rem;font-weight:700;color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:999px;padding:.6rem .4rem;cursor:pointer;min-width:0;line-height:1.2}
.stemknop:hover{background:var(--page)}
.stemknop.weetniet{border-color:var(--line);color:var(--muted);font-weight:600}
.stemknop.weetniet:hover{border-color:var(--muted)}
.stemknop.gekozen,.stemknop.weetniet.gekozen{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.stemknop.gekozen:hover{background:var(--ink2)}
.pollform.bezig .stemrij{opacity:.55;pointer-events:none}
.item .pollnoot{margin:.55rem 0 0!important;color:var(--muted)}
.item .pollnoot strong{color:var(--ink)}
.item .vink{width:1.25rem;height:1.25rem;line-height:1.25rem;font-size:.75rem;margin-right:.35rem}
.item .pollbalken{gap:.7rem;padding-top:.8rem;margin-bottom:.2rem}
.pollaantal{white-space:nowrap;margin-left:auto}
.pollrijkop .lbl{white-space:nowrap}
.pollkloof{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.875rem;margin:.1rem 0 0!important;padding-top:.6rem;border-top:1px dashed var(--line)}
.pollkloof .lbl{display:inline;margin:0 .3rem 0 0;color:var(--ink)}
.itemvoet{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem 1rem;margin:.85rem 0 0!important;padding-top:.7rem;border-top:1px solid var(--line);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:.875rem}
.itemvoet>a:first-child::after{content:" →"}
.itemvoet .stemmers{color:var(--muted);margin-left:auto}
.itemvoet .overslaan{margin-left:0}
.feed{gap:.85rem}
.meerladen{text-align:center;margin:.4rem 0 0}
.meerladen .knop{display:inline-block;text-decoration:none;min-width:12rem}
.meerladen .knop[aria-disabled=true]{opacity:.6}
.feedeind{text-align:center;font-size:.875rem;margin:.4rem 0 0}
.feedtelling{text-align:center;margin:.6rem 0 1.4rem}
.agenda{background:var(--ink);color:var(--on-ink);border-radius:14px;padding:1rem 1.25rem;margin:0 0 .9rem;border-left:6px solid var(--or)}
.agenda .lbl{color:var(--on-ink-muted);margin-bottom:.3rem}
.agenda p{margin:0 0 .3rem}
.agenda .klein{color:var(--on-ink-muted);margin:0}
.agendawanneer{font-size:1.125rem}
@media (max-width:40rem){.item{padding:1rem 1rem .9rem}.stemknop{padding:.65rem .2rem}}

/* ================= v6: social-feedstijl ================= */
h1,.feedkop,.tekstpagina h1{font-family:var(--serif)}
h1{font-weight:400}
.w{max-width:40rem;padding:0 1rem}
.card{border-color:var(--line2);border-radius:var(--r);box-shadow:var(--schaduw)}
.smal{max-width:30rem;margin:1.5rem auto}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--on-ink);padding:.5rem 1rem;z-index:100;border-radius:0 0 10px 0}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--or);outline-offset:2px;border-radius:6px}
/* kopbalk */
.topbar{position:sticky;top:0;z-index:20;background:var(--topbar);border-bottom:1px solid var(--line2)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar{background:var(--topbar-blur);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px)}}
.topbar-in{max-width:62rem;margin:0 auto;padding:.55rem 1rem;display:flex;align-items:center;gap:1rem;min-height:3.4rem}
.logo{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);text-decoration:none;font-weight:700;font-size:1rem;letter-spacing:-.01em;white-space:nowrap}
.topnav{margin-left:1rem}
.topnav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem}
.topnav a{display:block;padding:.45rem .8rem;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9375rem;color:var(--ink)}
.topnav a:hover{background:var(--hover)}
.topnav a[aria-current=page]{background:var(--ink);color:var(--on-ink)}
.topacties{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.tekstlink{font-weight:600;text-decoration:none;font-size:.9375rem;padding:.4rem .3rem}
.tekstlink:hover{text-decoration:underline}
.inline{display:inline;margin:0}
/* pil-knoppen */
.pil{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;padding:.6rem 1.15rem;font:inherit;font-weight:700;font-size:.9375rem;line-height:1.2;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background-color .15s,transform .1s}
.pil:active{transform:scale(.97)}
.pil.navy{background:var(--ink);color:var(--on-ink)}
.pil.navy:hover{background:var(--ink2);color:var(--on-ink)}
.pil.licht{background:var(--paper);color:var(--ink);border-color:var(--line)}
.pil.licht:hover{border-color:var(--ink)}
.pil.oranje{background:var(--ink);color:var(--on-ink);box-shadow:inset 0 -3px 0 var(--or)}
.pil.oranje:hover{background:var(--ink2);color:var(--on-ink)}
.pil.oranje-navy{background:var(--ink);color:var(--on-ink);box-shadow:inset 0 -3px 0 var(--or)}
.pil.oranje-navy:hover{color:var(--on-ink);background:var(--ink2)}
.pil.breed{width:100%;padding:.85rem 1rem;font-size:1rem}
.pil.klein{padding:.35rem .8rem;font-size:.8125rem}
.mini-avatar{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:.75rem;font-weight:800}
/* onderbalk (mobiel) */
.tabbar{display:none}
@media (max-width:44rem){
 .topnav{display:none}
 .logo span{font-size:.9375rem}
 .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--tabbar);border-top:1px solid var(--line2);padding:.3rem .25rem calc(.3rem + env(safe-area-inset-bottom))}
 @supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.tabbar{background:var(--tabbar-blur);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}
 .tabbar a{display:flex;flex-direction:column;align-items:center;gap:.1rem;text-decoration:none;font-weight:600;font-size:.6875rem;color:var(--muted);padding:.3rem 0;border-radius:12px}
 .tabbar a[aria-current=page]{color:var(--ink)}
 .tabbar a[aria-current=page] .ico{stroke-width:2.4}
 body{padding-bottom:4.4rem}
}
@media (max-width:22rem){.logo span{display:none}}
.ico{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* feed */
.feedkop{font-weight:400;font-size:clamp(1.55rem,4.6vw,2.1rem);margin:1.4rem 0 .3rem;letter-spacing:-.01em}
.feedlead{margin:0 0 1rem;color:var(--muted);font-size:1rem}
.feed{gap:.9rem}
.item{padding:1rem 1.1rem .4rem;border-radius:var(--r)}
.itemkop{display:flex;align-items:center;gap:.65rem;margin:0 0 .55rem}
.soortavatar{flex:0 0 auto;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;font-weight:800;font-size:1rem;background:var(--ink);color:var(--on-ink);box-shadow:inset 0 -3px 0 var(--or)}
.soortavatar.soort-amendement{background:var(--ink2)}
.soortavatar.soort-wet{background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:none}
.itemtop{margin:0!important;font-size:.8125rem}
.itemtop .soort{text-transform:none;letter-spacing:0;font-size:.9375rem;font-weight:800}
.item .pollkop,.item h1.pollkop{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:500;font-size:clamp(1.0625rem,2.6vw,1.1875rem);line-height:1.42;margin:0 0 .9rem;letter-spacing:0}
.item h1.pollkop{font-size:clamp(1.2rem,3.4vw,1.4rem);font-weight:600}
.pollkop a{font-weight:inherit}
.stemrij{gap:.55rem}
.stemknop{font-size:1rem;padding:.78rem .4rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);transition:background-color .15s,border-color .15s,transform .1s}
.stemknop:hover{border-color:var(--ink);background:var(--paper)}
.stemknop:active{transform:scale(.96)}
.stemknop.weetniet{color:var(--muted)}
.stemknop.gekozen,.stemknop.weetniet.gekozen{background:var(--ink);border-color:var(--ink);color:var(--on-ink);box-shadow:inset 0 -3px 0 var(--or)}
.item .pollbalken{border-top:0;padding-top:.3rem;margin:.2rem 0 .3rem;background:var(--paper2);border-radius:var(--r2);padding:.8rem .9rem}
.pollbalk{height:.6rem}
.pollbalken.animeer .balk-voor{transform-box:fill-box;transform-origin:left center;animation:groei .7s cubic-bezier(.2,.8,.2,1) both}
.pollbalken.animeer .balk-tegen{transform-box:fill-box;transform-origin:right center;animation:groei .7s .08s cubic-bezier(.2,.8,.2,1) both}
.pollbalken.animeer .pollrij:nth-child(2) rect,.pollbalken.animeer .pollrij:nth-child(3) rect{animation-delay:.15s}
.pollbalken.animeer .pollkloof{animation:verschijn .4s .5s both}
@keyframes groei{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes verschijn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pollbalken.animeer rect,.pollbalken.animeer .pollkloof{animation:none}}
.pollkloof{border-top:1px dashed var(--line)}
.itemvoet{border-top:1px solid var(--line2);margin:.7rem -1.1rem 0!important;padding:.35rem .6rem;gap:0;align-items:center}
.itemvoet>a:first-child::after{content:none}
.actie{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .55rem;border-radius:999px;color:var(--muted);font-weight:600;font-size:.875rem;text-decoration:none;background:none;border:0;cursor:pointer;font-family:inherit;list-style:none}
.actie::-webkit-details-marker{display:none}
.actie:hover{background:var(--hover);color:var(--ink)}
.actie svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.itemvoet .stemmers{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;padding-right:.5rem;font-size:.8125rem}
.itemvoet .stemmers svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.meerladen .knop,.knop{border-radius:999px;font-family:inherit}
.agenda{border-radius:var(--r);border-left:0;box-shadow:inset 4px 0 0 var(--or)}
.melding{border-radius:var(--r2);border-color:var(--line2);font-size:.9375rem}
.melding.ok{border-left-color:var(--voor)}
.melding.fout{border-left-color:var(--tegen)}
.hero{border-radius:var(--r)}
.meer{border-radius:var(--r)}
/* voet + juridisch */
.voet{color:var(--muted);font-size:.8125rem;padding:2rem 0 2.5rem;border-top:1px solid var(--line2);margin-top:2rem}
.voet p{margin:.3rem 0}
.voet a{color:var(--muted);font-weight:600}
.juridisch{margin:0 0 .9rem}
.juridisch p{margin:.15rem 0}
.juridisch strong a{color:var(--ink)}
.juridisch-regels{display:flex;flex-wrap:wrap;gap:.1rem .9rem}
.juridisch.kort{font-size:.75rem;color:var(--muted);margin:.8rem 0 0;line-height:1.45;text-align:center}
.juridisch.kort .juridisch-regels{justify-content:center;gap:0 .7rem}
.juridisch.kort a{color:var(--muted)}
.ontbreekt{background:var(--paper)4dc;color:var(--demo-ink);border:1px dashed var(--demo-line);border-radius:6px;padding:0 .35rem;font-weight:700}
/* modal (meedoen) */
.modal{border:0;padding:0;width:min(34rem,100% - 1.5rem);max-height:calc(100dvh - 2rem);overflow:auto;border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 24px 64px rgba(11,31,57,.28)}
.modal::backdrop{background:rgba(11,31,57,.62)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.modal::backdrop{background:rgba(11,31,57,.38);-webkit-backdrop-filter:blur(8px) saturate(1.2);backdrop-filter:blur(8px) saturate(1.2)}}
.modal[open]{animation:omhoog .28s cubic-bezier(.2,.8,.2,1)}
@keyframes omhoog{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.modal[open]{animation:none}}
@media (max-width:36rem){.modal{width:100%;max-width:none;margin:auto 0 0;border-radius:24px 24px 0 0;max-height:92dvh}}
.modal-sluit{position:sticky;top:0;margin:0;height:0;display:flex;justify-content:flex-end;z-index:2}
.sluitknop{margin:.7rem .7rem 0 0;width:2.4rem;height:2.4rem;border-radius:50%;border:0;background:var(--hover);cursor:pointer;display:grid;place-items:center;color:var(--ink)}
.sluitknop svg{stroke:currentColor;stroke-width:2;stroke-linecap:round}
.sluitknop:hover{background:var(--hover2)}
.meedoen{padding:1.3rem 1.3rem 1.2rem}
.meedoenpagina{padding:0}
.modalkop{font-family:var(--serif);font-weight:400;font-size:1.6rem;line-height:1.2;margin:.2rem 2.4rem .5rem 0}
.modallead{color:var(--muted);font-size:.9375rem;margin:0 0 1rem}
.stappen{display:flex;gap:.35rem;margin:0 0 .8rem;padding:0;font-size:.75rem;font-weight:700;color:var(--muted)}
.stappen span{flex:1;padding-top:.45rem;border-top:3px solid var(--line2)}
.stappen .nu{color:var(--ink);border-top-color:var(--ink)}
.stappen .klaar{color:var(--ink);border-top-color:var(--or)}
.wachtstem{background:var(--page);border-radius:var(--r2);padding:.6rem .8rem;font-size:.9375rem;margin:0 0 .8rem}
.wachtstem .vink{width:1.25rem;height:1.25rem;line-height:1.25rem;font-size:.75rem}
.meedoenform fieldset{border:0;padding:0;margin:0 0 1.1rem;min-width:0}
.stapkop{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1rem;margin:0 0 .6rem;padding:0}
.stapnr{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:.75rem}
.pakketten{display:grid;gap:.55rem}
.pakketten>.klein{margin:.2rem 0 0}
.pakket{position:relative;display:block;cursor:pointer}
.pakket input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pakket-in{display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:var(--r2);background:var(--paper);transition:border-color .15s,box-shadow .15s}
.pakket:hover .pakket-in{border-color:var(--muted)}
.pakket input:checked+.pakket-in{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.pakket input:focus-visible+.pakket-in{outline:3px solid var(--or);outline-offset:2px}
.pakketnaam{font-weight:800}
.pakkettekst{grid-column:1;font-size:.875rem;color:var(--muted)}
.prijs{grid-column:2;grid-row:1/3;align-self:center;text-align:right;display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.prijs del{color:var(--muted);font-size:.8125rem}
.prijs strong{font-size:1.25rem;font-variant-numeric:tabular-nums}
.kortinglabel{margin-top:.2rem;font-size:.6875rem;font-weight:800;background:var(--ink);color:var(--on-ink);border-radius:999px;padding:.12rem .5rem;box-shadow:inset 0 -2px 0 var(--or);white-space:nowrap}
.tag{display:inline-block;font-size:.6875rem;font-weight:800;background:var(--chip);color:var(--ink);border-radius:999px;padding:.1rem .5rem;vertical-align:.1em}
.tag.ok{background:var(--voor-bg);color:var(--voor)}
.accountvelden label,.formulier label{display:block;font-weight:700;font-size:.875rem;margin:0 0 .3rem}
.hint{font-weight:500;color:var(--muted);font-size:.8125rem;margin-left:.3rem}
.accountvelden input[type=email],.accountvelden input[type=text],.accountvelden input[type=password],.formulier input,.formulier select{width:100%;font:inherit;font-size:1rem;padding:.72rem .9rem;border:1.5px solid var(--line);border-radius:12px;margin:0 0 .85rem;background:var(--paper);color:var(--ink)}
.accountvelden input:focus,.formulier input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px var(--hover2)}
[aria-invalid=true]{border-color:var(--tegen)!important}
.vinkje{display:flex!important;gap:.55rem;align-items:flex-start;font-weight:500!important;font-size:.875rem!important;margin:.1rem 0 .7rem!important}
.vinkje input{margin-top:.2rem;width:1.1rem;height:1.1rem;flex:0 0 auto;accent-color:var(--ink)}
.ingelogdals{background:var(--page);border-radius:var(--r2);padding:.6rem .8rem;margin:0 0 1rem}
.betaalvak{border-top:1px solid var(--line2);padding-top:1rem}
.betaalknop{appearance:none;width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;border:0;border-radius:999px;background:var(--ink);color:var(--on-ink);font:inherit;font-weight:800;font-size:1.0625rem;padding:.95rem 1rem;cursor:pointer;box-shadow:inset 0 -4px 0 var(--or),0 6px 18px rgba(11,31,57,.22);transition:transform .1s,background-color .15s}
.betaalknop:hover{background:var(--ink2)}
.betaalknop:active{transform:scale(.98)}
.betaalknop svg{fill:none;stroke:var(--on-ink);stroke-width:1.8}
.betaalvak .demolabel{margin:0 0 .6rem}
/* formulieren algemeen */
.formulier .pil{margin-top:.2rem}
.knoppenrij{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}
.knoppenrij form{margin:0}
.kaartkop{font-size:1.0625rem;font-weight:800;margin:0 0 .6rem}
.card.accent{box-shadow:var(--schaduw),inset 4px 0 0 var(--or)}
.gegevens{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0 0 .6rem;font-size:.9375rem}
.gegevens dt{color:var(--muted)}
.gegevens dd{margin:0}
.kaal{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;font-size:.9375rem}
.profielkop{display:flex;align-items:center;gap:1rem;margin:1.4rem 0 1rem}
.profielkop h1{margin:0;font-family:inherit;font-weight:800;font-size:1.5rem}
.profielkop p{margin:.1rem 0 0!important}
.sectiekop{font-size:1rem;margin:1.2rem 0 .6rem}
.mockbank{border:2px dashed var(--demo-line)}
.mockknoppen{display:flex;flex-wrap:wrap;gap:.5rem}
.tokenstap{margin-top:1rem}
.code{background:var(--paper);color:var(--ink)}
/* tekstpagina's */
.tekstpagina{margin:1.4rem 0;padding:1.5rem 1.4rem}
.tekstpagina h1{font-size:clamp(1.8rem,5vw,2.3rem);margin:.4rem 0 .3rem}
.tekstpagina h2{font-size:1.125rem;margin:1.5rem 0 .4rem}
.tekstpagina h3{font-size:1rem;margin:1rem 0 .3rem}
.tekstpagina ul{padding-left:1.2rem;margin:0 0 .8rem}
.tekstpagina li{margin-bottom:.3rem}
.conceptlabel{display:inline-block;background:var(--paper)4dc;color:var(--demo-ink);border:1px dashed var(--demo-line);border-radius:8px;padding:.3rem .7rem;font-weight:800;font-size:.8125rem;margin:0 0 .6rem!important}
/* gesprek */
.gesprek{margin:1rem 0 1.5rem;padding:1rem 0 .4rem}
.gesprekkop{display:flex;align-items:center;justify-content:space-between;padding:0 1.1rem .6rem;border-bottom:1px solid var(--line2)}
.gesprekkop .kaartkop{margin:0}
.gesprekkop .grijs{font-weight:600}
.sorteer{display:flex;gap:.2rem;background:var(--page);border-radius:999px;padding:.2rem}
.sorteer a{padding:.3rem .8rem;border-radius:999px;text-decoration:none;font-size:.8125rem;font-weight:700;color:var(--muted)}
.sorteer a[aria-current=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px var(--hover2)}
.gesprek .melding{margin:.7rem 1.1rem}
.gespreknoot{margin:.8rem 1.1rem!important;padding:.7rem .9rem;background:var(--page);border-radius:var(--r2);font-size:.9375rem}
.leeg{padding:0 1.1rem;font-size:.9375rem}
.gesprekregels{padding:.6rem 1.1rem 0;border-top:1px solid var(--line2);margin:.4rem 0 0!important}
.schrijfvak{display:flex;gap:.7rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--line2)}
.schrijfvak .reactieform{flex:1;min-width:0}
.avatar{flex:0 0 auto;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--chip);color:var(--ink);font-weight:800;text-decoration:none}
.avatar.groot{width:3.8rem;height:3.8rem;font-size:1.5rem;background:var(--ink);color:var(--on-ink);box-shadow:inset 0 -3px 0 var(--or)}
.reactieform{margin:0}
.reactieform textarea{width:100%;font:inherit;font-size:1rem;line-height:1.45;border:0;resize:vertical;min-height:3.2rem;padding:.4rem 0;color:var(--ink);background:transparent}
.reactieform textarea:focus{outline:none}
.reactieform-voet{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;border-top:1px solid var(--line2);padding-top:.5rem}
.kantkeuze{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .6rem;font-size:.8125rem;flex:1 1 14rem}
.kantkeuze legend{float:left;font-weight:700;margin-right:.3rem;padding:0}
.kantkeuze .hint{display:block;margin:0}
.kantkeuze label{display:inline-flex;gap:.25rem;align-items:center}
.kantkeuze input{accent-color:var(--ink)}
.teller{font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}
.teller.bijna{color:var(--tegen);font-weight:700}
.reactie{display:flex;gap:.7rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line2);scroll-margin-top:4.5rem}
.reactie:target{background:var(--paper)af0}
.draad>.reactie:last-child{border-bottom:0}
.reactie-in{flex:1;min-width:0}
.reactiekop{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .4rem;margin:0 0 .15rem!important;font-size:.875rem;color:var(--muted)}
.handle{font-weight:800;color:var(--ink);text-decoration:none}
.handle:hover{text-decoration:underline}
.kant{font-size:.6875rem;font-weight:800;border-radius:999px;padding:.08rem .5rem;border:1.5px solid var(--ink)}
.kant-voor{background:var(--ink);color:var(--on-ink)}
.kant-tegen{background:var(--paper);color:var(--ink)}
.reactietekst{margin:0 0 .25rem!important;font-size:.9875rem;line-height:1.5;overflow-wrap:anywhere;white-space:normal}
.reactieacties{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 .2rem;margin-left:-.55rem}
.reactieacties details{margin:0}
.reactieacties details summary{margin:0}
.reactieacties details[open]{flex-basis:100%;order:5}
.reactieacties details[open]>summary{margin-bottom:.3rem}
.like.aan{color:var(--tegen)}
.like.aan svg{fill:var(--tegen);stroke:var(--tegen)}
.like.puls svg{animation:puls .35s}
@keyframes puls{50%{transform:scale(1.3)}}
@media (prefers-reduced-motion:reduce){.like.puls svg{animation:none}}
.actie.stil{font-weight:500;font-size:.8125rem}
.antwoordvak .reactieform{padding-left:.55rem}
.meldvak .meldform{border-top:0;padding:0 0 0 .55rem;margin:0}
.antwoorden{margin:.4rem 0 0}
.antwoorden .reactie{padding:.6rem 0;border-bottom:0;border-top:1px solid var(--line2)}
.antwoorden .avatar{width:2rem;height:2rem;font-size:.8125rem}
.reactie.los{display:block;padding:1rem 1.1rem;margin:0 0 .6rem;border-bottom:1px solid var(--line2)}
.reactievoet{margin:0!important}
@media (max-width:40rem){.item{padding:.9rem .95rem .35rem}.itemvoet{margin:.6rem -.95rem 0!important}.stemknop{padding:.8rem .2rem}.reactie,.schrijfvak{padding-left:.9rem;padding-right:.9rem}.gesprekkop{padding:0 .9rem .6rem}.tekstpagina{padding:1.2rem 1rem}}
@media (max-width:30rem){.topacties .tekstlink{display:none}.topbar-in{gap:.5rem}.pil.oranje{padding:.5rem .95rem}}
.modal .stappen{margin-right:2.8rem}
@media (max-width:30rem){.pilnaam{display:none}.topacties .pil.licht{padding:.35rem}}
.gesprek,.poll{scroll-margin-top:4.4rem}
@media (max-width:30rem){.gegevens{grid-template-columns:1fr;gap:.1rem}.gegevens dd{margin-bottom:.5rem}}
.mockrekening{flex-direction:column;align-items:flex-start;margin:0 0 .6rem;font-size:.9375rem}
.upgraderegel{display:block;margin-top:.25rem;font-size:.875rem;font-weight:600;color:var(--ink)}
.melding.verlopen{border-left:4px solid var(--or)}
.lidtot{margin:.2rem 0 .3rem;font-size:.9375rem}.tag.verlopen{background:var(--tegen-bg);color:var(--tegen)}
.lidtot .tag{font-size:.8125rem;padding:.15rem .6rem}
.welkom h1{margin:0 0 .4rem}.welkom .lead{margin:0 0 .8rem;font-size:1.05rem}
.herstelextra summary{cursor:pointer;font-weight:700;padding:.2rem 0}.herstelextra[open] summary{margin-bottom:.6rem}
.herstelextra .code{font-size:.95rem;word-break:break-all}

/* ================= v6.4 ================= */
body{font-size:15px;background:var(--page);color:var(--ink)}
.card,.modal{background:var(--paper);color:var(--ink)}
.card{border-radius:var(--r);border-color:var(--line2)}
/* Georgia alleen voor h1 en .feedkop */
.modalkop,.tekstpagina h2{font-family:inherit}
h1.modalkop,h1,.feedkop{font-family:var(--serif)}
h2.modalkop,h3.modalkop{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:1.25rem}
/* focus: 2px ink, offset 2 */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r2)}
/* knoppen: radius 12, chips 999 */
.pil,.knop,.stemknop,.betaalknop,.meerladen .knop{border-radius:var(--rk)}
.pil{min-height:44px}
.pil.klein{min-height:36px}
.pil.oranje,.pil.oranje-navy{background:var(--or);color:var(--on-or);box-shadow:none}
.pil.oranje:hover,.pil.oranje-navy:hover{background:#FF8247;color:var(--on-or)}
.pil.licht{background:var(--paper);color:var(--ink);border-color:var(--line)}
.pil.rood{background:var(--tegen);color:var(--on-ink);border-color:var(--tegen)}
.pil.rood:hover{filter:brightness(1.08);color:var(--on-ink)}
.chip{border-radius:999px;background:var(--chip);color:var(--ink)}
.chip.licht{background:var(--chip);color:var(--ink)}
.chip.voor,.chip.aangenomen,.chip.actief{background:var(--voor-bg);color:var(--voor)}
.chip.tegen,.chip.verworpen,.chip.verlopen{background:var(--tegen-bg);color:var(--tegen)}
.chip.weetniet{background:var(--chip);color:var(--muted)}
.chip.waarschuw{background:var(--demo-bg);color:var(--demo-ink)}
.chip.openbaar{background:var(--ink);color:var(--on-ink)}
.chip.demo{background:var(--demo-bg);color:var(--demo-ink);border:1px solid var(--demo-line)}
.getalletje,.tegel dd,.balkcijfer,.teller,.lidtotgroot,.prijs strong,[data-vandaag]{font-variant-numeric:tabular-nums}
/* logo */
.logo-rond{fill:var(--ink)}.logo-wit{fill:var(--page)}.logo-or{fill:var(--or)}
/* kopbalk en onderbalk */
.topbar{background:var(--topbar)}
.topnav a[aria-current=page]{background:var(--ink);color:var(--on-ink)}
.topacties .pil.oranje{min-height:44px}
.tekstlink{min-height:44px;display:inline-flex;align-items:center}
main.w{padding-bottom:2rem}
@media (max-width:44rem){body{padding-bottom:0}main.w{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.tabbar a{min-height:44px;justify-content:center}}
/* tap targets min. 44px */
.actie,.snellink,.terugnav a,.sorteer a,.overslaan,.footnav a,.voet .juridisch a,summary{min-height:44px}
.actie,.snellink,.terugnav a,.overslaan,.sorteer a{display:inline-flex;align-items:center}
.sorteer a{padding:0 .9rem}
.footnav a,.voet .juridisch a{display:inline-flex;align-items:center}
details>summary{display:flex;align-items:center;gap:.4rem}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"›";display:inline-block;transition:transform .15s;font-weight:700}
details[open]>summary::before{transform:rotate(90deg)}
.actie.meer>summary::before,.reactieacties summary::before{content:none}
.vinkje{align-items:center!important;cursor:pointer}
.vinkje input{width:24px!important;height:24px!important;margin:0!important}
/* feed: kloofbanner, agenda, teller */
.feedkop{font-size:clamp(1.45rem,4.2vw,1.9rem);margin:1.2rem 0 .6rem}
.kloofbanner{margin:0 0 .7rem}
.kloofbanner a{display:flex;align-items:center;gap:.4rem;min-height:44px;padding:.55rem .9rem;border-radius:var(--r2);background:var(--paper);border:1px solid var(--line2);color:var(--ink);font-weight:500;font-size:.875rem;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kloofbanner a:hover{border-color:var(--line)}
.kloofbanner-lbl{font-weight:800;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.feedbalk{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin:0 0 .6rem}
.feedbalk .feedlead{margin:0;font-size:.9375rem;color:var(--muted)}
.feedbalk .snellink{margin:0;font-weight:700;text-decoration:none;white-space:nowrap}
.agenda{display:block;text-decoration:none;font-weight:500;color:var(--on-ink);background:var(--ink);border-radius:var(--r);padding:.7rem 1rem;margin:0 0 .8rem;min-height:44px;box-shadow:inset 4px 0 0 var(--or)}
.agenda:hover{color:var(--on-ink)}
.agenda .lbl{display:inline;color:var(--on-ink-muted);margin:0 .3rem 0 0}
.agenda-kort{display:none;font-weight:700}
@media (max-width:30rem){.agenda-kort{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-lang{display:none}}
.vandaag{margin:0 0 .6rem;font-size:.8125rem;color:var(--muted);font-weight:600}
.feeduitleg{margin:1.2rem 0 0;font-size:.8125rem}
.leegstaat{text-align:center;padding:1.6rem 1.2rem}
.leegkop{font-family:var(--serif);font-size:1.5rem;margin:0 0 .3rem!important}
/* feedkaart */
.item{padding:.9rem 1rem .25rem;border-radius:var(--r)}
.kaartin{min-height:0}
.itemkop{display:flex;align-items:center;gap:.6rem;margin:0 0 .5rem}
.soortavatar{width:32px;height:32px;font-size:.8125rem;background:var(--ink);color:var(--on-ink);box-shadow:none}
.soortavatar.soort-amendement{background:var(--ink2)}
.soortavatar.soort-wet{background:var(--paper);color:var(--ink);border:2px solid var(--ink)}
.itemtop{flex:1;min-width:0;font-size:13px!important;color:var(--muted)}
.itemtop .soort{font-size:13px;font-weight:600;color:var(--muted)}
.itemtop .sep{color:var(--muted)}
.itemtop .status{font-weight:600;color:var(--muted)}
.itemtop .status-komt{border-bottom:2px solid var(--or);color:var(--ink)}
.itemtop .b1tag{background:var(--chip);color:var(--ink)}
.meerknop{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;margin:-6px -8px -6px 0;border-radius:50%;color:var(--muted)}
.meerknop svg{fill:currentColor}
.meerknop:hover{background:var(--hover);color:var(--ink)}
.item .pollkop,.item h1.pollkop{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:24px;font-weight:600;margin:0 0 .8rem;letter-spacing:0}
.item h2.pollkop{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.item h1.pollkop{font-size:1.25rem;line-height:1.4}
.pollkop a{color:var(--ink);text-decoration:none}
.pollkop a:focus-visible{outline-offset:1px}
.stemrij{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.stemknop{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:.5rem .3rem;font-size:15px;font-weight:700;background:var(--paper);border:1.5px solid var(--line);color:var(--ink);transition:background-color .15s,border-color .15s,opacity .15s,transform .1s}
.stemknop .duim{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round;flex:0 0 auto}
.stemknop.voor{color:var(--voor);border-color:var(--voor)}
.stemknop.tegen{color:var(--tegen);border-color:var(--tegen)}
.stemknop.weetniet{color:var(--muted);border-color:var(--line);font-weight:600}
.stemknop.voor:hover{background:var(--voor-bg);border-color:var(--voor)}
.stemknop.tegen:hover{background:var(--tegen-bg);border-color:var(--tegen)}
.stemknop.weetniet:hover{background:var(--paper2);border-color:var(--muted)}
.stemknop:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.stemknop.gekozen{color:#fff;box-shadow:none}
.stemknop.voor.gekozen{background:var(--voor);border-color:var(--voor)}
.stemknop.tegen.gekozen{background:var(--tegen);border-color:var(--tegen)}
.stemknop.weetniet.gekozen{background:var(--muted);border-color:var(--muted)}
:root[data-thema=donker] .stemknop.gekozen{color:#0A1424}
@media (prefers-color-scheme:dark){:root:not([data-thema=licht]) .stemknop.gekozen{color:#0A1424}}
.stemknop.gekozen::before{content:"✓";font-weight:800}
.stemknop.gekozen .duim{display:none}
.stemknop.gedimd{opacity:.4}
.pollform.bezig .stemrij{opacity:1;pointer-events:none}
.pollform{margin:0 0 .6rem}
/* uitslagblok (na de stem) */
.uitslagblok{background:var(--paper2);border:1px solid var(--line2);border-radius:var(--r2);padding:.6rem .75rem;margin:0 0 .6rem;display:grid;gap:.3rem;font-size:13px}
.uitslagblok.net{animation:verschijn .2s both}
.jijstemde{margin:0!important;font-size:14px}
.jijstemde .vink{width:1.15rem;height:1.15rem;line-height:1.15rem;font-size:.7rem;background:var(--ink);color:var(--on-ink);margin-right:.35rem}
.balkrij{display:grid;grid-template-columns:3.4rem 1fr auto;align-items:center;gap:.6rem}
.balklbl{font-weight:700;color:var(--ink)}
.balk8{display:block;width:100%;height:8px;border-radius:999px;overflow:hidden}
.balk8 .voor{fill:var(--voor)}.balk8 .tegen{fill:var(--tegen-bg)}.balk8 .leeg{fill:var(--line2)}
.balkcijfer{min-width:5.6rem;text-align:right;color:var(--muted)}
.balkcijfer .chip{font-size:.6875rem;padding:.15rem .5rem}
.duiding{margin:0!important;color:var(--muted)}
.duiding:empty{display:none}
.duiding strong{color:var(--ink)}
.uitslagacties{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.15rem}
.uitslagacties .pil{min-height:40px}
.uitslagacties form{margin:0}
.ongedaanknop[hidden]{display:none}
/* inklappen na de stem (grid-rows 1fr -> 0fr + opacity, 280 ms) */
.poll.item{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s ease,opacity .28s ease,margin .28s ease,padding .28s ease}
.poll.item>.kaartin{overflow:hidden}
.poll.item.inklappen{grid-template-rows:0fr;opacity:0;padding-top:0;padding-bottom:0;border-width:0;margin-top:-.9rem}
@media (prefers-reduced-motion:reduce){.poll.item,.uitslagblok.net{transition:none;animation:none}}
.itemvoet{margin:.4rem -1rem 0!important;padding:0 .4rem;border-top:1px solid var(--line2);min-height:44px}
.itemvoet .stemmers{font-size:13px;color:var(--muted)}
.actie{min-height:44px;padding:0 .6rem;color:var(--muted)}
.actie:hover{background:var(--hover);color:var(--ink)}
/* toast */
.toast{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:.8rem;margin:0;max-width:calc(100% - 2rem);background:var(--ink);color:var(--on-ink);border-radius:var(--r2);padding:.55rem .6rem .55rem 1rem;font-size:.875rem;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.toast[hidden]{display:none}   /* v8.39: anders bleef elke toast staan */
.toast button{appearance:none;border:0;background:none;color:var(--on-ink);font:inherit;font-weight:800;text-decoration:underline;min-height:44px;padding:0 .5rem;cursor:pointer}
@media (max-width:44rem){.toast{bottom:calc(76px + env(safe-area-inset-bottom))}}
/* profiel */
.profielkop{display:flex;align-items:center;gap:1rem;margin:1.4rem 0 .9rem}
.avatar.groot{width:64px;height:64px;font-size:1.35rem;background:var(--ink);color:var(--on-ink);box-shadow:none}
.profielnaam{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;font-size:20px!important;font-weight:600!important;margin:0!important;line-height:1.3}
.profielkop p{margin:.15rem 0 0!important}
.tegels{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0 0 1rem}
.tegel{background:var(--paper);border:1px solid var(--line2);border-radius:var(--r2);padding:.6rem .75rem;box-shadow:var(--schaduw)}
.tegel dt{font-size:.75rem;color:var(--muted);font-weight:600}
.tegel dd{margin:0;font-size:1.35rem;font-weight:800}
.tabs{position:sticky;top:3.4rem;z-index:10;display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;background:var(--page);margin:0 -1rem .9rem;padding:.3rem 1rem;border-bottom:1px solid var(--line2)}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;border-radius:999px;font-weight:600;font-size:.9375rem;color:var(--muted);text-decoration:none}
.tabs a:hover{background:var(--hover);color:var(--ink)}
.tabs a[aria-current=page]{background:var(--ink);color:var(--on-ink)}
.paneel>.card{margin:0 0 .9rem}
.paneeluitleg{font-size:.875rem;color:var(--muted);margin:0 0 .7rem}
.statuschip{text-decoration:none;min-height:28px;display:inline-flex;align-items:center}
.filters{display:flex;gap:.35rem;flex-wrap:wrap;margin:0 0 .7rem}
.filter{display:inline-flex;align-items:center;min-height:44px;padding:0 .85rem;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-weight:600;font-size:.875rem;text-decoration:none}
.filter[aria-current=true]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.lijstkaart{padding:.2rem 1rem}
.verleden{list-style:none;margin:0;padding:0}
.verledenrij{display:flex;gap:.7rem;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--line2)}
.verledenrij:last-child{border-bottom:0}
.verledenrij>.chip{flex:0 0 5.2rem;text-align:center;margin-top:.1rem}
.verleden-in{min-width:0}
.verledentitel{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;color:var(--ink);text-decoration:none;line-height:1.4}
.verledentitel:hover{text-decoration:underline}
.verledenmeta{margin:.2rem 0 0!important;font-size:13px;color:var(--muted)}
.verledenmeta .gelijk{color:var(--voor);font-weight:800}
.verledenmeta .verschil{color:var(--tegen);font-weight:700}
.reactiestelling{margin:0 0 .3rem!important;font-size:.8125rem}
.reactiestelling a{color:var(--muted);font-weight:600}
.smalpaneel{max-width:480px}
.sectie{scroll-margin-top:7.5rem}
.sectie .kaartkop{margin-bottom:.5rem}
.teller{margin:-.6rem 0 .6rem!important;text-align:right}
.veldfout{color:var(--tegen);font-weight:600;font-size:.875rem;margin:-.4rem 0 .7rem!important}
.opgeslagen{color:var(--voor);font-weight:700;font-size:.875rem;margin:.6rem 0 0!important}
.opgeslagen-inline{color:var(--voor);font-weight:700}
.formulier input,.accountvelden input[type=email],.accountvelden input[type=text],.accountvelden input[type=password]{background:var(--paper);color:var(--ink);border-color:var(--line)}
.lidtotgroot{font-size:2rem;font-weight:800;line-height:1.15;margin:.1rem 0 .5rem!important}
.lidkaart .lbl{color:var(--muted)}
.upgrades .pakket{cursor:default}
.upgrades .pakket-in{grid-template-columns:1fr auto;align-items:center}
.upgrades .pil{grid-column:1/-1;justify-self:start;margin-top:.4rem}
.pakket-in{background:var(--paper);border-color:var(--line)}
/* privacy: schakelaar 44x28, segment, token */
.schakelrij{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.schakeltekst .kaartkop{margin:0 0 .15rem}
.schakeluitleg{display:flex;align-items:center;gap:.35rem;margin:0!important;color:var(--muted);font-size:.875rem}
.schakel{flex:0 0 auto;position:relative;display:inline-block;width:44px;height:28px;border-radius:999px;border:0;padding:0;background:var(--line);cursor:pointer;transition:background-color .15s}
.schakel::after{content:"";position:absolute;inset:-8px 0}
.schakelknop{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--paper);color:var(--muted);display:grid;place-items:center;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.schakelknop .ico{width:13px;height:13px;stroke-width:2.2}
.schakel[aria-checked=true]{background:var(--voor)}
.schakel[aria-checked=true] .schakelknop{transform:translateX(16px);color:var(--voor)}
@media (prefers-reduced-motion:reduce){.schakel,.schakelknop{transition:none}}
.segment{display:inline-flex;gap:2px;padding:3px;background:var(--line2);border-radius:var(--rk);margin:0 0 .6rem}
.segment button{appearance:none;border:0;background:none;color:var(--muted);font:inherit;font-weight:700;font-size:.875rem;min-height:44px;padding:0 1rem;border-radius:9px;cursor:pointer}
.segment button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:var(--schaduw)}
.tokenrij{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.tokentonen{flex-basis:100%}
.tokentonen summary{font-size:.875rem;margin:0}
.tokentonen .code{display:block;margin-top:.3rem}
.code{background:var(--paper2);color:var(--ink)}
.gevarenzone{border-color:var(--tegen)!important}
.gevarenzone .kaartkop{color:var(--tegen)}
.bevestig{width:min(30rem,100% - 1.5rem)}
.bevestig[open]:not(:modal){position:relative;margin:.8rem 0 0;width:100%;border:1px solid var(--line);box-shadow:none}
.bevestig-in{padding:1.2rem 1.2rem 1rem}
.bevestig-in ul{padding-left:1.1rem;margin:.4rem 0 .8rem}
.bevestig-in li{margin-bottom:.35rem}
.modal::backdrop{background:var(--backdrop)}
.eigenbalk{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1rem 0 0;padding:.5rem .9rem;min-height:44px;border-radius:var(--r2);background:var(--chip);color:var(--ink);font-size:.875rem;font-weight:600}
/* donker: kopbalk en agenda op --paper, geen schaduw */
:root[data-thema=donker] .agenda,:root[data-thema=donker] .hero{background:var(--paper);color:var(--ink);border:1px solid var(--line2)}
:root[data-thema=donker] .hero .lbl,:root[data-thema=donker] .hero-voet,:root[data-thema=donker] .agenda .lbl{color:var(--muted)}
:root[data-thema=donker] .hero a{color:var(--ink)}
:root[data-thema=donker] .topbar,:root[data-thema=donker] .tabbar{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}
:root[data-thema=donker] .card,:root[data-thema=donker] .tegel{box-shadow:none}
@media (prefers-color-scheme:dark){
:root:not([data-thema=licht]) .agenda,:root:not([data-thema=licht]) .hero{background:var(--paper);color:var(--ink);border:1px solid var(--line2)}
:root:not([data-thema=licht]) .hero .lbl,:root:not([data-thema=licht]) .hero-voet,:root:not([data-thema=licht]) .agenda .lbl{color:var(--muted)}
:root:not([data-thema=licht]) .hero a{color:var(--ink)}
:root:not([data-thema=licht]) .topbar,:root:not([data-thema=licht]) .tabbar{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}
:root:not([data-thema=licht]) .card,:root:not([data-thema=licht]) .tegel{box-shadow:none}}
.kloofbanner a>*{flex:0 0 auto}
@media (max-width:30rem){.kloofbanner-maand{display:none}}
:root[data-thema=donker] .agenda:hover{color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-thema=licht]) .agenda:hover{color:var(--ink)}}
/* ===== v6.4.1: tik-doelen 44 px, contrast bedieningsranden >= 3:1, focus in --ink, compact uitslagblok ===== */
:root{--line-ctl:#8A8072}
@media (prefers-color-scheme:dark){:root:not([data-thema=licht]){--line-ctl:#6F819B}}
:root[data-thema=donker]{--line-ctl:#6F819B}
/* focusring altijd in --ink (oranje ring was 2,6:1) */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible,.stemknop:focus-visible,.pakket input:focus-visible+.pakket-in{outline-color:var(--ink)}
/* randen van bedieningselementen >= 3:1 */
.stemknop,.stemknop.weetniet,.pil.licht,.filter,.meldform select,.accountvelden input[type=email],.accountvelden input[type=text],.accountvelden input[type=password],.formulier input,.formulier select{border-color:var(--line-ctl)}
.stemknop.voor{border-color:var(--voor)}.stemknop.tegen{border-color:var(--tegen)}
.stemknop.gekozen,.stemknop.weetniet.gekozen{border-color:var(--ink)}.stemknop.weetniet.gekozen{border-color:var(--muted)}
.filter[aria-current=true]{border-color:var(--ink)}
.pil.licht:hover,.filter:hover{border-color:var(--ink)}
.schakel{background:var(--line-ctl)}
.schakel[aria-checked=true]{background:var(--voor)}
[data-themaform] button{color:var(--ink)}
/* tik-doelen >= 44 px */
.uitslagacties .pil.klein,.uitslagacties .pil,.ongedaanknop,.pil.klein[data-kopieer]{min-height:44px}
a.actie,.actie{min-width:44px;justify-content:center}
.topacties a.pil.licht{min-width:44px;min-height:44px;justify-content:center}
.topnav a{display:inline-flex;align-items:center;min-height:44px}
.statuschip,.schakel,.eigenbalk a{position:relative}
.statuschip::before{content:"";position:absolute;inset:-8px 0}
.schakel[role=switch]::before{content:"";position:absolute;inset:-8px 0}
.eigenbalk a{display:inline-flex;align-items:center;min-height:44px;padding:0 .4rem;margin:-.5rem -.4rem}
.meldform select{min-height:44px}
/* uitslagblok ~120-130 px: één regel stem + duiding, twee balken, acties */
.uitslagblok{padding:.45rem .7rem .5rem;gap:.2rem;scroll-margin-top:4.5rem;scroll-margin-bottom:calc(64px + env(safe-area-inset-bottom) + 12px)}
.jijstemde{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45}
.jijstemde .duiding{display:block;color:var(--muted);font-size:13px}
.jijstemde .chip{font-size:.6875rem;padding:.1rem .45rem;vertical-align:1px}
.balkrij{min-height:20px}
.uitslagacties{gap:.4rem;margin-top:.1rem}
.uitslagacties .pil.klein{padding:0 .9rem}
@media (min-width:44.01rem){.uitslagblok{scroll-margin-bottom:12px}}
/* toast boven de tabbalk */
@media (max-width:44rem){.toast{bottom:calc(72px + env(safe-area-inset-bottom))}}
/* profieltabs: vervaagde rand als scroll-hint (JS zet meerlinks/meerrechts; zonder JS alleen rechts) */
@media (max-width:44rem){
 .tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
 .tabs.meerlinks.meerrechts{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
 .tabs.meerlinks:not(.meerrechts){-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
 .tabs:not(.meerlinks):not(.meerrechts).js{-webkit-mask-image:none;mask-image:none}
}
.uitslagacties{flex-wrap:nowrap}
.uitslagacties>*{min-width:0}
.uitslagacties .pil.klein{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .8rem;font-size:13px}
.uitslagacties form .pil.klein{max-width:100%}
.uitslagblok{padding:.4rem .65rem .45rem}
.balkrij{min-height:18px}
.jijstemde{line-height:1.3}
.balkcijfer .chip{line-height:1.25;padding:.05rem .45rem}
.uitslagacties form{flex:0 0 auto}
.uitslagacties form .pil.klein{overflow:visible}
.uitslagacties>a.pil.klein{flex:1 1 auto;min-width:0}
.jijstemde{position:relative}
/* ===== v6.4.2: ?-knoppen + uitlegvenster, uitslagregel weer meerregelig, voorspel-radio's ===== */
.uitlegknop{flex:0 0 auto;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--muted);text-decoration:none}
.uitlegknop svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.uitlegknop:hover{background:var(--hover);color:var(--ink)}
.uitlegknop[aria-busy=true]{opacity:.6}
.itemkop .uitlegknop{margin:-6px -8px -6px auto}
.itemkop .uitlegknop+.meerknop{margin-left:0}
.topuitleg{color:var(--ink)}
.verledenrij .uitlegknop{margin:-6px -6px -6px auto;align-self:center}
.sluitknop{width:44px;height:44px}
.uitlegmodal .uitleg-in{padding:1.3rem 1.3rem 1.2rem}
.uitlegmodal .modalkop{margin-right:3rem}
.uitlegmodal p{font-size:1rem;line-height:1.6;margin:0 0 .75rem}
.uitlegmodal .hulpkop{margin:1rem 0 .35rem!important}
.uitlegstelling{font-weight:700;color:var(--ink)}
.uitlegmodal .hulplabel{display:block;margin:.4rem 0 .9rem}
.uitlegacties{display:flex;flex-wrap:wrap;gap:.5rem}
.uitlegacties .pil.klein{min-height:44px;display:inline-flex;align-items:center}
.uitlegmodal #uitlegkop:focus{outline:none}
.uitlegmodal #uitlegkop:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* .jijstemde mag weer afbreken; duiding op een eigen regel */
.jijstemde{white-space:normal;overflow:visible;text-overflow:clip}
.jijstemde .duiding{display:block;margin-top:.05rem!important;font-size:13px;line-height:1.35}
/* voorspel-radio's: hele label klikbaar, 20 px, accent-color */
.voorspel label{min-height:44px;cursor:pointer;gap:.55rem}
.voorspel input[type=radio]{width:20px;height:20px;margin:0;accent-color:var(--ink);cursor:pointer;flex:0 0 auto}

/* v6.5: knoprij na betaling + partijmatch-tegel (neutraal: één stijl voor alle fracties, geen partijkleuren) */
.knoprij{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1.25rem 0 0}
.matchtegel .matchtop{list-style:none;margin:.5rem 0 1rem;padding:0;display:grid;gap:.6rem}
.matchtegel li{display:grid;grid-template-columns:minmax(6rem,11rem) 1fr 3.2rem 4.2rem;gap:.75rem;align-items:center}
.matchtegel .gedeeld{font-weight:400;font-size:.8125rem}
abbr[title]{text-decoration:underline dotted;text-underline-offset:2px;cursor:help}
.matchtegel .matchnaam{font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.matchtegel .matchpct{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}
.matchbalk{display:block;height:.5rem;border-radius:999px;background:var(--line2);overflow:hidden}
.matchvul{display:block;height:100%;border-radius:999px;background:var(--muted)}
.matchvul.m0{width:0%}.matchvul.m5{width:5%}.matchvul.m10{width:10%}.matchvul.m15{width:15%}.matchvul.m20{width:20%}.matchvul.m25{width:25%}.matchvul.m30{width:30%}.matchvul.m35{width:35%}.matchvul.m40{width:40%}.matchvul.m45{width:45%}.matchvul.m50{width:50%}.matchvul.m55{width:55%}.matchvul.m60{width:60%}.matchvul.m65{width:65%}.matchvul.m70{width:70%}.matchvul.m75{width:75%}.matchvul.m80{width:80%}.matchvul.m85{width:85%}.matchvul.m90{width:90%}.matchvul.m95{width:95%}.matchvul.m100{width:100%}
.matchalle{border-top:1px solid var(--line2);padding-top:.6rem}
.matchalle summary{cursor:pointer;font-weight:700;color:var(--ink);min-height:44px;display:flex;align-items:center}
.matchalle ul{list-style:none;margin:.25rem 0 .5rem;padding:0;display:grid;gap:.35rem}
.matchalle li{grid-template-columns:1fr 3.2rem 4.5rem}
.matchalle .matchnaam{font-weight:600}
.matchn{font-size:.8125rem;text-align:right;font-variant-numeric:tabular-nums}
.matchnodig{font-weight:600;color:var(--ink)}
.matchnoot{margin:.75rem 0 0}
@media (max-width:420px){.matchtegel li{grid-template-columns:minmax(5rem,7.5rem) 1fr 2.8rem 3.6rem;gap:.45rem}.matchtegel .matchalle li{grid-template-columns:1fr 3rem 4rem}}

/* v7: beheer (/beheer), onderhoudsbalk en banner. Zelfde huisstijl, licht en donker via de bestaande variabelen. */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.onderhoudbalk{background:var(--or);color:var(--on-or);font-size:.9375rem;padding:.55rem 0}
.onderhoudbalk a{color:var(--on-or);font-weight:700}
.sitebanner{background:var(--ink);color:var(--page);font-size:.9375rem;padding:.55rem 0}
.beheerkop{margin:1.25rem 0 .5rem}
.beheernav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;justify-content:space-between;border-bottom:1px solid var(--line2);padding-bottom:.6rem}
.beheernav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem}
.beheernav a{display:inline-flex;align-items:center;min-height:40px;padding:0 .75rem;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.9375rem}
.beheernav a:hover{background:var(--paper2)}
.beheernav a[aria-current=page]{background:var(--ink);color:var(--page)}
.tegels{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.75rem;margin:1rem 0 1.25rem}
.tegel{background:var(--paper);border:1px solid var(--line2);border-radius:var(--r,14px);padding:.9rem 1rem}
.tegel .lbl{margin:0 0 .2rem}
.tegel .getal{font-size:1.9rem;font-weight:800;line-height:1.1;margin:0 0 .25rem;font-variant-numeric:tabular-nums;color:var(--ink)}
.tegel p{margin:0}
.tegel.let{border-left:4px solid var(--or)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0 0 1rem}
.grid2>.card,.beheerform>.card,main>.card+.card{margin-bottom:1rem}
@media (max-width:48rem){.grid2{grid-template-columns:1fr}}
.tabelwrap{overflow-x:auto;margin:0 0 1rem;border:1px solid var(--line2);border-radius:var(--r,14px);background:var(--paper)}
.beheertabel{width:100%;border-collapse:collapse;font-size:.875rem}
.beheertabel th,.beheertabel td{text-align:left;vertical-align:top;padding:.5rem .65rem;border-bottom:1px solid var(--line2)}
.beheertabel thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--paper2)}
.beheertabel tr:last-child td,.beheertabel tr:last-child th{border-bottom:0}
.beheertabel.kv th{width:38%;font-weight:600;color:var(--muted)}
.beheertabel tr.gedimd td{opacity:.6}
.beheertabel a{color:var(--ink)}
.tag.fout{background:var(--tegen-bg);color:var(--tegen)}
.tag.let{background:var(--or);color:var(--on-or)}
.zoekrij{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 1rem}
.zoekrij input,.zoekrij select,.beheerform select,.formulier select,.formulier textarea,.mini input{font:inherit;font-size:.9375rem;padding:.55rem .7rem;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.zoekrij input[type=search]{flex:1 1 16rem}
.formulier textarea{width:100%;margin-bottom:1rem;resize:vertical}
.formulier select{margin-bottom:1rem;min-width:12rem}
.beheerform fieldset{border:1px solid var(--line2)}
.beheerform legend{padding:0 .4rem}
.schakel{display:flex;gap:.6rem;align-items:center;margin:0 0 .9rem}
.schakel input{width:22px;height:22px;margin:0;accent-color:var(--ink);flex:0 0 auto}
.schakel label{margin:0!important;font-weight:600}
.mini{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.25rem 0}
.mini input{padding:.35rem .5rem;font-size:.8125rem;border-radius:8px}
.mini label{font-size:.8125rem}
details.actie summary{cursor:pointer;font-weight:600;font-size:.8125rem;min-height:32px;display:flex;align-items:center}
.modrij{border-top:1px solid var(--line2);padding:.75rem 0}
.modrij:first-of-type{border-top:0}
.modrij blockquote{margin:.25rem 0 .6rem;padding:.5rem .8rem;border-left:3px solid var(--line);background:var(--paper2);border-radius:6px;overflow-wrap:anywhere}
.beheeralarm form{margin-top:.4rem}
form.inline button.tekstlink{background:none;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.beheerkop~section.card+section.card{margin-top:1rem}
/* v8: rustiger kaart (geen avatar/⋯), uitleg als tekstknop onderaan, delen na de stem */
.itemkop{margin:0 0 .4rem}
.itemvoet .uitlegactie{color:var(--ink)}
.itemvoet .uitlegactie svg{stroke-width:1.9}
.deelknop svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.stemmailkaart{margin-top:1.25rem}
.stemmailform{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.6rem 0 .2rem}
.stemmailform input[type=email]{flex:1 1 14rem;margin:0}
.pot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.feedlead .snellink{display:inline;min-height:0;padding:.65rem 0}
/* v8.2: titel wisselt naar eenvoudige taal */
.kopwissel{color:inherit;text-decoration:none;cursor:pointer}
/* v8.17: op de stellingpagina is de kop een h1; "h1 span{display:block}" (voorpagina) mocht de verborgen eenvoudige tekst niet tonen */
.pollkop span{display:inline}
.pollkop [hidden]{display:none}
.kopwissel:hover [data-kort]{text-decoration:underline dotted;text-underline-offset:.2em}
.eenvoudig .pollkop{font-weight:600}
.b1blok{margin:-.2rem 0 .8rem;font-size:.9375rem;color:var(--ink2)}
.b1blok .lbl{margin:.2rem 0 .3rem;color:var(--muted)}
.b1blok .hulplijst{margin:0 0 .5rem;padding-left:1.1rem}
.b1blok .hulplijst li{margin:.15rem 0}
.b1blok .hulplabel{font-size:.75rem;color:var(--muted);margin:0}
.item.eenvoudig h2.pollkop,.eenvoudig .pollkop,.eenvoudig .pollkop a{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
.b1blok .waarom{margin:0 0 .4rem}
.b1blok .waarom summary{min-height:44px;display:flex;align-items:center;font-weight:600;color:var(--ink);cursor:pointer}
.b1blok .hulplabel{background:none;border:0;padding:0;margin:.2rem 0 .3rem}
/* v8.3: maandkop in de feed */
.maandkop{font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--muted);margin:1.6rem 0 .6rem;letter-spacing:0}
.feed>.maandkop:first-child{margin-top:.25rem}
/* v8.4: tekstballon rechtsonder in elke kaart, naar de reacties */
.itemvoet .gesprekknop{margin-left:auto}
.itemvoet .stemmers~.gesprekknop{margin-left:0}
/* v8.5: deelvenster */
.deel-in{padding:1.3rem 1.3rem 1.2rem}
.deelmijn{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;margin:0 0 .6rem;cursor:pointer}
.deelmijn input{width:1.15rem;height:1.15rem;accent-color:var(--or)}
.deelvoorbeeld{margin:0 0 1rem;padding:.7rem .85rem;border-radius:var(--r2);background:var(--hover);color:var(--muted);font-size:.875rem;line-height:1.45;overflow-wrap:anywhere}
.deeltegels{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}
.deeltegel{display:flex;align-items:center;gap:.5rem;padding:.65rem .7rem;border:1px solid var(--line2);border-radius:14px;color:var(--ink);font-weight:600;font-size:.875rem;text-decoration:none;min-width:0}
.deeltegel:hover{background:var(--hover)}
.deelstip{flex:none;width:.7rem;height:.7rem;border-radius:50%;background:var(--muted)}
.deelstip.whatsapp{background:#25d366}.deelstip.telegram{background:#26a5e4}.deelstip.x{background:var(--ink)}
.deelstip.bluesky{background:#1185fe}.deelstip.threads{background:var(--ink)}.deelstip.facebook{background:#1877f2}
.deelstip.linkedin{background:#0a66c2}.deelstip.reddit{background:#ff4500}.deelstip.email{background:var(--or)}
.deelextra{display:flex;flex-wrap:wrap;gap:.45rem;margin:.9rem 0 0}
.deeltip{margin:.7rem 0 0;color:var(--muted);font-size:.8125rem}
@media (max-width:22rem){.deeltegels{grid-template-columns:repeat(2,1fr)}}
/* v8.6: jaarabonnement in het pakketkader; thema-schakelaar in de voet */
.pakketduur{grid-column:1/-1;justify-self:start;margin-top:.5rem;padding:.2rem .55rem;border-radius:999px;background:var(--hover);font-size:.8125rem;font-weight:700;color:var(--ink)}
.prijs .perjaar{font-size:.75rem;color:var(--muted)}
.voetthema{margin:.4rem 0 .8rem}
.voetthema button{min-height:36px;padding:0 .85rem;font-size:.8125rem}
/* v8.8: debatverzoeken */
.dvz{margin:0 0 .8rem;padding:1rem 1.1rem}
.dvz-kop{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .4rem;margin:0 0 .3rem;font-size:.875rem}
.dvz-kop .tag{margin-left:auto}
.dvz-wie{font-weight:800}
.dvz-onderwerp{font-size:1.0625rem;line-height:1.35;margin:0 0 .6rem;font-weight:700}
.dvz-steun{margin:0;display:grid;gap:.25rem;font-size:.875rem}
.dvz-steun>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.5rem}
.dvz-steun dt{font-weight:700}
.dvz-steun dd{margin:0}
.dvz-steun dd a{color:var(--ink);text-decoration:none;white-space:nowrap;margin-right:.35rem}
.dvz-steun dd a:hover{text-decoration:underline}
.dvz-steun .dvz-steun dt,.dvz-o.dvz-steun{color:var(--voor)}
.dvz-steun .dvz-geen_steun dt,.dvz-o.dvz-geen_steun{color:var(--tegen)}
.dvz-steun .dvz-verwijst dt,.dvz-o.dvz-verwijst{color:var(--or)}
.dvz-steun .dvz-onduidelijk dt,.dvz-o.dvz-onduidelijk{color:var(--muted)}
.dvz-o{font-weight:800;font-size:.8125rem}
.dvz-meer{margin-top:.6rem}
.dvz-meer summary{cursor:pointer;font-weight:600;font-size:.875rem}
.dvz-vraag{margin:.6rem 0;padding:.6rem .8rem;border-left:3px solid var(--line);background:var(--paper2);border-radius:6px;font-size:.9375rem}
.dvz-vraag p{margin:0 0 .3rem}
.dvz-vraag cite{font-style:normal;font-size:.8125rem;color:var(--muted)}
.dvz-reacties{list-style:none;margin:.4rem 0 0;padding:0;font-size:.875rem}
.dvz-reacties li{padding:.45rem 0;border-top:1px solid var(--line2)}
.dvz-reacties li:first-child{border-top:0}
.dvz-datum{font-size:1rem;margin:1.6rem 0 .6rem}
.dvz-datum a{color:var(--ink);text-decoration:none}
.dvz-tabel{width:100%;border-collapse:collapse;font-size:.875rem}
.dvz-tabel th,.dvz-tabel td{padding:.45rem .5rem;border-bottom:1px solid var(--line2);text-align:left;vertical-align:middle}
.dvz-tabel thead th{font-size:.75rem;color:var(--muted);font-weight:700}
.dvz-tabel .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.dvz-tabel th a{color:var(--ink)}
.balkje{display:inline-block;width:3.5rem;margin-left:.4rem;vertical-align:middle}
.balkje svg{display:block;width:100%;height:6px}
.balkje .leeg{fill:var(--line2)}
.balkje .vol{fill:var(--voor)}
.dvz-matrix{margin:1rem 0}
.dvz-matrix summary{cursor:pointer}
.dvz-tabel td.dvz-hoog{color:var(--voor);font-weight:700}
.dvz-tabel td.dvz-laag{color:var(--tegen);font-weight:700}
.dvz-lijst{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.35rem 1rem;font-size:.9375rem}
.dvz-filter{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .6rem}
.dvz-filter a{font-size:.8125rem;font-weight:600;color:var(--ink);text-decoration:none;padding:.3rem .7rem;border-radius:999px;background:var(--hover)}
.dvz-filter a[aria-current]{background:var(--ink);color:var(--page)}
.dvz-uitleg{margin-top:1.5rem}
.dvz-tegels{margin-top:0}
/* v8.15.2: wachtwoord tonen */
.wwveld{position:relative;display:block;margin:0 0 .85rem}
.wwveld input{padding-right:3rem!important;margin-bottom:0!important}
.wwoog{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer;padding:0}
.wwoog:hover{background:var(--hover);color:var(--ink)}
.wwoog:focus-visible{outline:3px solid var(--or);outline-offset:1px}
.wwoog svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wwoog[aria-pressed=true]{color:var(--ink)}
input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none}
/* v8.21: stemafbeelding bovenaan "Meer informatie" op de stellingpagina (klik = kopiëren, zie app.js data-kopieer-beeld) */
.stemkaartdeel .steming{display:block;width:100%;max-width:40rem;height:auto;border-radius:10px;border:1px solid var(--line);margin:.25rem 0 .5rem}
.stemkaartdeel .steming[data-kopieer-beeld]{cursor:copy;transition:opacity .15s}
.stemkaartdeel .steming[data-kopieer-beeld]:hover{outline:3px solid var(--or);outline-offset:2px}
.stemkaartdeel .steming.bezig{opacity:.6}
/* v8.23: minder gebruikte delen van "Meer informatie" ingeklapt; kop als tikvlak (44 px) met het bestaande pijltje */
details.inklap>summary.lbl{display:flex;align-items:center;gap:.45rem;min-height:44px;margin:0;cursor:pointer;color:var(--ink)}
details.inklap>summary.lbl::before{color:var(--muted)}
details.inklap[open]>summary.lbl{margin-bottom:.35rem}
details.inklap{padding:.35rem 0}
/* v8.24: "Meer informatie" zonder eigen kop; verborgen tot je op "Meer info" tikt */
.meer[hidden]{display:none}
.meer{scroll-margin-top:5.5rem}
.meer>.meerdeel:first-child{padding-top:.2rem}
/* v8.25: rustige voet in drie regels; zon/maan in plaats van drie themaknoppen */
.voetrij{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.voetrij .footnav{margin:0}
.voetthema{margin:0}
.themaknop{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--muted);cursor:pointer;padding:0}
.themaknop:hover{color:var(--ink);border-color:var(--muted)}
.themaknop svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.themaknop .zon{display:none}
:root[data-thema=donker] .themaknop .zon{display:block}
:root[data-thema=donker] .themaknop .maan{display:none}
@media (prefers-color-scheme:dark){:root:not([data-thema=licht]) .themaknop .zon{display:block}:root:not([data-thema=licht]) .themaknop .maan{display:none}}
.voetklein{font-size:.75rem;line-height:1.5;margin-top:.6rem!important}
.voetklein a{font-weight:600}
.voet .footnav a,.voetklein a{text-decoration:none}
.voet .footnav a:hover,.voetklein a:hover{text-decoration:underline;text-decoration-color:var(--or)}
.voet .footnav a{min-height:32px}
.voet .footnav{line-height:1.3}
.nowrap{white-space:nowrap}
/* v8.26: woordenlijst: moeilijke woorden met een stippellijn; tik = uitlegvenster */
a.woord{color:inherit;font-weight:600;text-decoration:underline dotted;text-decoration-color:var(--or);text-decoration-thickness:2px;text-underline-offset:.22em;cursor:help}
a.woord:hover{text-decoration-style:solid}
.woordrij{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .7rem;margin:-.2rem 0 .75rem;font-size:.875rem;color:var(--muted)}
.woordrij a.woord{display:inline-flex;align-items:center;min-height:32px}
.woordrij-lbl{font-weight:600}
.woorduitleg{font-size:1.0625rem;line-height:1.55}
.zoekuitleg{margin:.6rem 0 0}
.zoekuitleg .grijs{font-size:.8125rem}
/* v8.28: profielmenu onder de profielknop (details/summary: werkt ook zonder JS) */
.profielmenu{position:relative}
.profielmenu>summary{list-style:none;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;min-width:44px;justify-content:center;cursor:pointer}
.profielmenu>summary::-webkit-details-marker{display:none}
.profielmenu>summary::before{content:none}
.profielmenu .pijl{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.profielmenu[open] .pijl{transform:rotate(180deg)}
.profielmenu-paneel{position:absolute;right:0;top:calc(100% + .5rem);z-index:60;width:min(17rem,calc(100vw - 2rem));background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:.4rem;font-size:.9375rem}
.pm-wie{display:flex;flex-direction:column;gap:.1rem;margin:0;padding:.55rem .75rem .65rem;border-bottom:1px solid var(--line2)}
.pm-wie span{color:var(--muted);font-size:.8125rem}
.pm-wie .pm-naamrij{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--ink);font-size:inherit}   /* v8.41: link naar je publieke profiel */
.profielmenu-paneel .pm-bekijk{display:inline-flex;width:auto;min-height:32px;padding:0 .5rem;margin-right:-.5rem;font-size:.8125rem;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.profielmenu-paneel ul{list-style:none;margin:.3rem 0;padding:0}
.profielmenu-paneel a,.pm-uit button{display:flex;align-items:center;width:100%;min-height:44px;padding:0 .75rem;border-radius:9px;color:var(--ink);font-weight:600;text-decoration:none;background:none;border:0;font:inherit;font-weight:600;cursor:pointer;text-align:left}
.profielmenu-paneel a:hover,.pm-uit button:hover,.profielmenu-paneel a:focus-visible,.pm-uit button:focus-visible{background:var(--paper2)}
.profielmenu-paneel a[aria-current=page]{color:var(--or)}
.pm-scheiding{border-top:1px solid var(--line2);margin-top:.3rem;padding-top:.3rem}
.pm-uit{margin:0;border-top:1px solid var(--line2);padding-top:.3rem}
.pm-uit button{color:var(--muted)}
@media (prefers-reduced-motion:reduce){.profielmenu .pijl{transition:none}}
/* v8.29: profieladres en deelknop onder de profielkop */
.profieldelen{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .8rem;margin:-.4rem 0 1rem}
.profielurl{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;color:var(--muted);word-break:break-all}
/* v8.29: verborgen onderdelen van het deelvenster echt verbergen (de knop- en labelstijl zette display terug) */
.deelmodal [hidden]{display:none!important}
/* v8.30: profieltegels (Gestemd · Reacties · Eens met Kamer) altijd naast elkaar; de regel voor de beheertegels hierboven gold ook hier */
dl.tegels{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 1rem}
dl.tegels .tegel{padding:.6rem .7rem;min-width:0}
dl.tegels .tegel dt{font-size:.75rem;line-height:1.25}
dl.tegels .tegel dd{font-size:1.35rem;line-height:1.2;margin-top:.15rem}
dl.tegels .tegel{display:flex;flex-direction:column}
dl.tegels .tegel dd{margin-top:auto;padding-top:.15rem}
/* v8.33: vraagteken rechtsboven op de kaart: alle uitleg (eenvoudige taal of motietekst) en Google */
.itemtop{align-items:center}
.itemtop .kaartvraag{margin:-10px -12px -10px auto;width:40px;height:40px}
.itemtop .b1tag+.kaartvraag{margin-left:.1rem}
/* v8.35: uitslagblok nooit breder dan de kaart (smal scherm of grote tekst): knoppen mogen naar een tweede regel */
.uitslagblok{grid-template-columns:minmax(0,1fr)}
.uitslagblok>*{min-width:0}
.jijstemde,.jijstemde .duiding{overflow-wrap:break-word}
.balkrij{grid-template-columns:auto minmax(2.5rem,1fr) auto}
.balkcijfer{min-width:0;white-space:nowrap}
.uitslagacties{flex-wrap:wrap}
.uitslagacties>*,.uitslagacties .pil.klein{flex:0 0 auto;max-width:100%}
.uitslagacties>a.volgendeknop{flex:1 1 8rem}
.oefenmee{font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:.15em;white-space:nowrap}

/* v8.37: avatar-studio: kleur met initialen of foto, en een beetje speels */
.av-oranje{--avbg:#FD6B25;--avfg:#0B1F39}.av-koraal{--avbg:#F25F5C;--avfg:#fff}.av-roze{--avbg:#E5489A;--avfg:#fff}
.av-paars{--avbg:#7B4FD6;--avfg:#fff}.av-blauw{--avbg:#2F6FDE;--avfg:#fff}.av-turkoois{--avbg:#14A3A3;--avfg:#0B1F39}
.av-groen{--avbg:#2E9E5B;--avfg:#fff}.av-lime{--avbg:#A6D84A;--avfg:#0B1F39}.av-geel{--avbg:#FFC93C;--avfg:#0B1F39}.av-navy{--avbg:#0B1F39;--avfg:#fff}
.avatar[class*=" av-"]:not(.av-standaard),.mini-avatar[class*=" av-"]:not(.av-standaard){background:var(--avbg);color:var(--avfg)}
.avatar.heeft-foto,.mini-avatar.heeft-foto{background:var(--chip);overflow:hidden;padding:0}
.avatar img,.mini-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.avatarstudio .studio-voorbeeld{display:flex;align-items:center;gap:1rem;margin-bottom:.8rem}
.avatarstudio .studio-voorbeeld .avatar.groot{width:5rem;height:5rem;font-size:1.8rem;box-shadow:0 0 0 4px var(--paper),0 0 0 6px var(--line)}
.avatarstudio .studio-voorbeeld p{margin:0}
.keuzeveld{border:0;padding:0;margin:0 0 .9rem}
.keuzeveld legend{font-weight:700;margin-bottom:.4rem;padding:0}
.kleurkeuze{display:flex;flex-wrap:wrap;gap:.45rem}
.kleurstip,.formulier .kleurstip{position:relative;display:grid;margin:0;place-items:center;cursor:pointer;border-radius:50%;transition:transform .15s ease}
.kleurstip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.kleurstip{width:2.4rem;height:2.4rem;background:var(--avbg,var(--ink));box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.kleurstip.av-standaard{background:var(--chip);box-shadow:inset 0 0 0 2px var(--line)}
.kleurstip:hover{transform:scale(1.12)}
.kleurstip:has(input:checked){outline:3px solid var(--or);outline-offset:2px;transform:scale(1.08)}
.kleurstip:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:2px}
.avatarstudio .fotoform{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}
.avatarstudio .fotoform input[type=file]{max-width:100%}
.fotomeld{margin:.3rem 0 0}
@keyframes avpop{0%{transform:scale(1)}40%{transform:scale(1.18) rotate(-6deg)}70%{transform:scale(.95) rotate(3deg)}100%{transform:scale(1)}}
.avatar.pop{animation:avpop .45s ease}
@media (prefers-reduced-motion:reduce){.avatar.pop{animation:none}.kleurstip{transition:none}.kleurstip:hover{transform:none}}
.avbeheer{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.8rem}
.avbeheer li{display:flex;gap:.7rem;align-items:center;padding:.6rem;border:1px solid var(--line);border-radius:12px}
.avbeheer li.gemeld{border-color:var(--tegen);background:var(--tegen-bg)}
.avbeheer img{width:4rem;height:4rem;border-radius:50%;object-fit:cover}
.avbeheer p,.avbeheer form{margin:.15rem 0 0}

/* v8.51: pers en promotie */
.persraster{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:1rem;margin-top:.6rem}
.persraster.breed{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}
.perskaart{margin:0;display:flex;flex-direction:column;gap:.5rem}
.persvlak{display:grid;place-items:center;padding:1rem;border:1px solid var(--line2);border-radius:12px;background:#fff;min-height:7rem}
.persvlak.donker{background:#0B1F39;border-color:#0B1F39}
.persvlak.vierkant{aspect-ratio:1}
.persvlak img{display:block;max-width:100%;height:auto;max-height:10rem;object-fit:contain}
.perskaart figcaption{font-size:.875rem;line-height:1.45}
.persdown{display:block;margin-top:.15rem;font-size:.8125rem;color:var(--muted)}
.persdown a{font-weight:700}
.perskleuren{list-style:none;margin:.4rem 0 .8rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.6rem}
.perskleuren li{display:flex;align-items:center;gap:.6rem;font-size:.875rem}
.perskleur{flex:0 0 2.6rem;height:2.6rem;border-radius:10px;border:1px solid var(--line2)}
.perskleur.k-navy{background:#0B1F39}.perskleur.k-oranje{background:#FD6B25}.perskleur.k-licht{background:#EEF2F7}.perskleur.k-wit{background:#FFFFFF}
.persslogan{font-size:1.5rem;font-weight:800;color:#FD6B25;margin:.2rem 0 .6rem;line-height:1.2}
.perstekst{width:100%;font:inherit;font-size:.9375rem;line-height:1.5;padding:.6rem .7rem;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);resize:vertical}