/* GGPrepaid · juridische pagina's (voorwaarden, privacy, cookies). Bouwt verder op site.css (tokens, .wrap, header, footer). */
.legal-page{padding:140px 0 100px;background:var(--paper)}
.wrap.narrow{max-width:820px}
.legal-page h1,.legal-page h2,.legal-page h3{text-wrap:balance;color:var(--ink)}
.legal-page h1{font-size:clamp(36px,5vw,56px);font-weight:900;line-height:1.04;margin:0 0 36px}
.legal-page h2{font-size:24px;font-weight:800;line-height:1.25;letter-spacing:-.01em;margin:52px 0 14px}
.legal-page h3{font-size:19px;font-weight:700;line-height:1.3;letter-spacing:-.005em;margin:34px 0 10px}
.legal-page h1+h2{margin-top:0}
.legal-page h2+h3{margin-top:18px}
.legal-page p,.legal-page li{font-size:17px;line-height:1.7;color:var(--ink-2);text-wrap:pretty;overflow-wrap:anywhere}
.legal-page p{margin:0 0 14px}
.legal-page ul,.legal-page ol{margin:0 0 18px;padding-left:1.4em}
.legal-page li{margin:0 0 6px;padding-left:.2em}
.legal-page li::marker{color:var(--red)}
.legal-page strong{font-weight:700;color:var(--ink)}
.legal-page a{color:var(--red);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.legal-page a:hover{text-decoration-thickness:2px}
.legal-page a:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:2px}

/* cookievoorkeuren (enkel op /nl/cookies, logica in /cookies.js) */
.consent{margin:22px 0 30px;border:2px solid var(--ink);border-radius:var(--r,18px);padding:22px 24px 24px;background:#fff}
.legal-page .consent h3{margin:0 0 6px}
.consent-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.consent-txt{min-width:0;flex:1}
.consent-txt label{display:block;font-weight:700;font-size:17px;color:var(--ink);margin:0 0 4px;cursor:pointer}
.legal-page .consent-txt p{font-size:15px;line-height:1.55;color:var(--mut);margin:0}
.consent-ctl{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:2px}
.consent-state{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.switch{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:48px;height:28px;margin:0;border-radius:99px;background:var(--line);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);border:0;cursor:pointer;transition:background .2s}
.switch::before{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s var(--ease,ease)}
.switch:checked{background:var(--red)}
.switch:checked::before{transform:translateX(20px)}
.switch:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.switch:disabled{cursor:not-allowed;opacity:.55}
.consent-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding-top:20px}
.legal-page .consent-msg{margin:0;font-size:15px;font-weight:700;color:var(--ink)}
.consent .btn:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.switch,.switch::before{transition:none}}

@media (max-width:600px){
  .consent{padding:18px 16px 20px}
  .consent-row{gap:14px}
  .legal-page{padding:108px 0 72px}
  .legal-page .wrap.narrow{padding:0 16px}
  .legal-page h1{margin-bottom:28px}
  .legal-page h2{font-size:22px;margin-top:40px}
}
