/* Cookiepop-up (ontwerp 0.3.3). Accepteren groen, Afwijzen en Wijzigen gelijkwaardig wit; alle drie even groot.
   Witte balk over de volle breedte tegen de onderrand, zonder waas, inhoud maximaal 1000px gecentreerd (zoals de Bresser-banner);
   past hij niet, dan scrollt de laag in plaats van af te snijden. */
#kv-consent{--kvc-ink:#1d1d1b;--kvc-accent:#00807a;--kvc-groen:#7bd534;position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:28px 0 0;background:transparent;overflow-y:auto;color:var(--kvc-ink);font:15px/1.55 'Noto Sans','Helvetica Neue',Arial,sans-serif}
#kv-consent[hidden]{display:none}
html.kv-consent-open{overflow:hidden}
#kv-consent *{box-sizing:border-box}
#kv-consent [hidden]{display:none!important}
#kv-consent button,#kv-consent input{font:inherit;touch-action:manipulation}
#kv-consent :focus-visible{outline:3px solid var(--kvc-ink);outline-offset:4px}
#kv-consent .kvc{background:#fff;width:100%;max-width:none;margin:auto 0 0;padding:26px max(26px,calc((100% - 1000px) / 2)) calc(26px + env(safe-area-inset-bottom,0px));border-radius:15px 15px 0 0;border-top:4px solid var(--kvc-accent);box-shadow:0 -1px 2px rgba(20,47,36,.06),0 -14px 34px -14px rgba(20,47,36,.38)}
#kv-consent .kvc__intro{display:flex;align-items:center;gap:22px}
#kv-consent .kvc__foto{width:95px;height:120px;object-fit:contain;flex:none;align-self:center}
#kv-consent .kvc__kop{min-width:0;flex:1}
#kv-consent .kvc__logo{display:block;height:48px;width:auto;max-width:180px;object-fit:contain;object-position:left center;margin-bottom:12px}
#kv-consent h2{font:700 21px/1.3 'Poppins','Helvetica Neue',Arial,sans-serif;letter-spacing:-.35px;margin:0 0 10px;color:var(--kvc-ink)}
#kv-consent h2:focus{outline:none}
#kv-consent .kvc__tekst{margin:0;font-size:14px;line-height:1.65}
#kv-consent .kvc__links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;font-size:12px}
#kv-consent .kvc__links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
#kv-consent .kvc__acties{display:flex;gap:10px}
#kv-consent .kvc__acties button{flex:1;min-width:0;min-height:48px;border-radius:9px;border:2px solid var(--kvc-ink);background:#fff;color:var(--kvc-ink);padding:10px 8px;font-weight:700;font-size:14px;line-height:1.25;cursor:pointer}
#kv-consent .kvc__acties button:hover{background:#f1f4f2}
#kv-consent .kvc__acties .kvc__ja{background:var(--kvc-groen);border-color:#286314;color:#152c15}
#kv-consent .kvc__acties .kvc__ja:hover{background:#b2ec83}
#kv-consent .kvc__doelen{margin-top:12px}
#kv-consent .kvc__doel{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #e0e7e2;padding:16px 0}
#kv-consent .kvc__doel strong{font-size:14px}
#kv-consent .kvc__doel p{font-size:12px;margin:5px 0 0;line-height:1.55;color:#4a5756}
#kv-consent .kvc__schakel{position:relative;flex:0 0 46px;width:46px;height:28px}
#kv-consent .kvc__schakel input{appearance:none;-webkit-appearance:none;display:block;margin:0;width:46px;height:28px;background:#fff;border:2px solid #64726d;border-radius:20px;cursor:pointer}
#kv-consent .kvc__schakel span{pointer-events:none;position:absolute;top:5px;left:5px;width:18px;height:18px;border-radius:50%;background:#64726d;transition:transform .12s}
#kv-consent .kvc__schakel input:checked{background:var(--kvc-groen);border-color:#286314}
#kv-consent .kvc__schakel input:checked+span{background:#1f4b19;transform:translateX(18px)}
#kv-consent .kvc__schakel input:disabled{cursor:default;opacity:.65}
#kv-consent .kvc__schakel input:disabled+span{opacity:.65}
#kv-consent .kvc__meer{flex-shrink:0;min-height:44px;width:100%;border:0;border-top:1px solid #d4dfd8;background:#f3f6f3;color:var(--kvc-ink);font:600 12px/1.4 'Noto Sans','Helvetica Neue',Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px}
/* Laag Wijzigen: alleen de doelenlijst scrollt, Keuze opslaan en Afwijzen blijven in beeld. */
#kv-consent .kvc.is-keuze{display:flex;flex-direction:column;max-height:calc(100svh - 56px)}
#kv-consent .is-keuze .kvc__intro,#kv-consent .is-keuze .kvc__links,#kv-consent .is-keuze .kvc__acties{flex-shrink:0}
#kv-consent .is-keuze .kvc__doelen{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;flex:1 1 auto;padding-right:6px}
.footer__legal .kv-consent-settings{appearance:none;border:0;background:none;color:inherit;text-decoration:underline;font:inherit;padding:10px 0;cursor:pointer;min-height:44px}
.footer__legal .kv-consent-settings:focus-visible{outline:3px solid #FFD500;outline-offset:4px}
@media(max-width:520px){
#kv-consent{padding:16px 0 0}
#kv-consent .kvc{padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px))}
#kv-consent .kvc__intro{gap:12px;align-items:flex-start;position:relative}
#kv-consent .kvc__foto{width:60px;height:76px;position:absolute;right:0;top:0}
#kv-consent .kvc__logo{height:44px;max-width:155px;margin-bottom:16px}
#kv-consent .kvc__kop{padding-top:16px}
#kv-consent h2{font-size:19px}
#kv-consent .kvc__tekst{font-size:13px}
#kv-consent .kvc__acties{flex-direction:column;gap:8px}
#kv-consent .kvc__acties button{flex:none;width:100%;min-height:46px}
#kv-consent .kvc__links{font-size:11px;gap:8px;margin:16px 0}
#kv-consent .kvc__doel{padding:12px 0}
#kv-consent .kvc__doel strong{font-size:13px}
#kv-consent .kvc__doel p{font-size:11px}
#kv-consent .kvc.is-keuze{max-height:calc(100svh - 32px)}
#kv-consent .is-keuze .kvc__logo{height:36px;margin-bottom:8px}
#kv-consent .is-keuze .kvc__kop{padding-top:10px}
#kv-consent .is-keuze .kvc__foto{width:44px;height:56px}
#kv-consent .is-keuze h2{font-size:18px;margin-bottom:6px}
#kv-consent .is-keuze .kvc__tekst{font-size:12px;line-height:1.5}
#kv-consent .is-keuze .kvc__doel{padding:8px 0}
#kv-consent .kvc__acties[data-kv-laag="keuze"]{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){.kvc__schakel span{transition:none}}
