/*
 * Cookiemelding (inc/toestemming.php), uit de kit. Weigeren en accepteren zijn
 * even sterk: allebei een vol vlak, gelijk formaat. Kleur alleen via de tokens.
 */
.footer-toestemming { color: inherit; text-decoration: underline; text-underline-offset: 0.2em; }
.toestemming { width: min(580px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: var(--radius-xl); background: var(--surface); color: var(--text); box-shadow: var(--shadow-lg); }
.toestemming::backdrop { background: color-mix(in srgb, var(--indigo-night) 55%, transparent); }
.toestemming-binnen { display: grid; gap: 18px; padding: clamp(22px, 4vw, 32px); }
.toestemming-titel { font-size: 1.5rem; margin: 0; }
/* De titel krijgt focus bij openen zodat een schermlezer begint bij het begin; geen ring. */
.toestemming-titel:focus { outline: none; box-shadow: none; }
.toestemming-tekst { margin: 0; color: var(--text-soft); }
.toestemming-tekst a { color: var(--accent); font-weight: 600; white-space: nowrap; }
.toestemming-voorkeuren { display: grid; gap: 10px; }
.toestemming-voorkeuren[hidden] { display: none; }
.toestemming-categorie { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 16px; background: var(--surface-alt); border-radius: var(--radius); }
.toestemming-naam { display: block; margin: 0; font-weight: 600; }
.toestemming-uitleg { margin: 2px 0 0; font-size: var(--t-small); color: var(--text-soft); }
.toestemming-vast { font-size: var(--t-small); color: var(--text-soft); white-space: nowrap; }
.toestemming-knoppen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.toestemming-knop { width: 100%; justify-content: center; padding: 0.9em 0.6em; white-space: nowrap; }
.toestemming-knop [hidden] { display: none; }
.toestemming-knop.is-weigeren, .toestemming-knop.is-accepteren { background: var(--brand); color: #FFFFFF; }
.toestemming-knop.is-weigeren:hover, .toestemming-knop.is-accepteren:hover { background: var(--brand-deep); color: #FFFFFF; }
.schakelaar { appearance: none; flex: none; width: 46px; height: 26px; border-radius: var(--radius-pill); background: var(--line-strong); position: relative; cursor: pointer; transition: background-color 180ms var(--ease); }
.schakelaar::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--surface); transition: transform 180ms var(--ease); }
.schakelaar:checked { background: var(--accent); }
.schakelaar:checked::after { transform: translateX(20px); }
.schakelaar:focus-visible, .toestemming-knop:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (max-width: 580px) { .toestemming-knoppen { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .schakelaar, .schakelaar::after { transition: none; } }
/*
 * Tijdelijk (Kas, 2 november 2026): NEXTIM zette ook Cookiebot in GTM, waardoor er
 * twee meldingen stonden. Onze melding blijft; tot Cookiebot uit GTM is, verbergen we die.
 */
#CybotCookiebotDialog, #CybotCookiebotDialogBodyUnderlay { display: none !important; }
body:has(#CybotCookiebotDialog) { overflow: visible !important; }
