/* De formulieren voor abonnees (src/Pagina/Aanmelden.php), bovenop stijl.css. Zonder script: de lijst
   onder "Alleen deze onderdelen" verdwijnt zolang "Alle onderdelen" gekozen is (:has), en de tabs E-mail
   en Sms zijn links naar twee adressen. De afstanden volgen een ritme van 8 pixels: 8 tussen een veld en
   zijn label, 16 binnen een groep, 24 tussen groepen (review Sem, 29 okt 2026). Velden, foutmeldingen en
   knoppen zijn even breed of passen op dezelfde lijn; tabs en knoppen zijn op een telefoon groot genoeg
   om op te tikken (48 pixels). */
.formulier .deel{padding:32px}
.formulier h1{font-size:28px;line-height:1.2;margin:0 0 8px}
.formulier h2{font-size:18px;line-height:1.3;margin:24px 0 4px}
.formulier .intro,.formulier .uitleg{color:var(--grijs);font-size:16px;margin:0}
.formulier .adres{font-size:16px;margin:0 0 4px;overflow-wrap:anywhere}
.formulier .uitleg{margin:0 0 24px}
.formulier form{margin:0}
.formulier h1+form,.bericht+form{margin-top:24px}
.tabs{display:flex;gap:28px;margin:24px 0;border-bottom:1px solid var(--lijn)}
.tabs a{padding:12px 0 11px;margin-bottom:-1px;border-bottom:3px solid transparent;font:600 16px/1.25 "Fira Sans",system-ui,sans-serif;color:var(--grijs);text-decoration:none}
.tabs a[aria-current=page]{color:var(--inkt);border-bottom-color:var(--inkt)}
.veld{display:block;font:600 15px/1.3 "Fira Sans",system-ui,sans-serif;margin:0 0 8px}
.formulier input[type=email],.formulier input[type=tel],.formulier input[name=code]{display:block;width:100%;max-width:420px;height:48px;padding:0 14px;border:1px solid #ADB5BD;border-radius:8px;font:inherit;font-size:17px;color:var(--inkt);background:#fff}
.formulier input[name=code]{max-width:200px;height:52px;font-size:22px;letter-spacing:.25em;font-variant-numeric:tabular-nums}
.formulier input:focus,.formulier select:focus{outline:3px solid var(--inkt);outline-offset:1px}
/* Het nummer met de landkiezer ervoor, samen even breed als de andere velden. Het pijltje is een verloop,
   geen plaatje: de CSP laat alleen plaatjes van de eigen site toe. */
.nummerveld{display:flex;gap:8px;max-width:420px}
.nummerveld input[type=tel]{flex:1;min-width:0}
.nummerveld select{flex:none;height:48px;padding:0 36px 0 14px;border:1px solid #ADB5BD;border-radius:8px;font:inherit;font-size:17px;color:var(--inkt);cursor:pointer;-webkit-appearance:none;appearance:none;background:linear-gradient(45deg,transparent 50%,var(--grijs) 50%) no-repeat calc(100% - 19px) 21px/5px 5px,linear-gradient(135deg,var(--grijs) 50%,transparent 50%) no-repeat calc(100% - 14px) 21px/5px 5px,#fff}
.formulier input[aria-invalid=true]{border-color:#B31B16}
.nummer{white-space:nowrap}
.kanalen{display:flex;gap:24px;margin:16px 0 0}
.keuze,.los{border:0;margin:24px 0 0;padding:0;min-width:0}
.keuze{padding-bottom:16px;border-bottom:1px solid var(--rij)}
.los{margin-top:16px}
.los legend{font:600 15px/1.3 "Fira Sans",system-ui,sans-serif;margin:0 0 8px;padding:0}
.optie,.vink{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:1.4;padding:6px 0;cursor:pointer}
.optie input,.vink input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#1D1A14}
.groepen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:8px 0 0 30px}
.keuze:has(input[value=alle]:checked) .groepen{display:none}
.groepnaam{font:600 14px/1.3 "Fira Sans",system-ui,sans-serif;color:var(--grijs);margin:0 0 4px}
.formulier .knop{height:48px;padding:0 24px;font-size:16px;border:0;cursor:pointer;margin-top:24px;font-family:"Fira Sans",system-ui,sans-serif;font-weight:600}
.link{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}
.bericht{border-radius:8px;padding:12px 16px;margin:16px 0 0;font-size:16px;line-height:1.45}
.formulier form .bericht{max-width:420px;margin:0 0 16px}
.bericht.goed{background:#E8F5EE;color:#0F5132}
.bericht.fout{background:#FDEEEE;color:#8A1612}
.bericht a{color:inherit}
.formulier .weg{margin:24px 0 0;font-size:16px}
.lok{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.onder{border-top:1px solid var(--rij);padding:20px 32px 24px;font-size:15px;color:var(--grijs)}
.onder p+p{margin-top:8px}
.onder a{color:var(--grijs)}
@media (max-width:600px){
.formulier .deel{padding:24px 20px 28px}
.formulier h1{font-size:24px}
.groepen{grid-template-columns:minmax(0,1fr);margin-left:30px}
.onder{padding:20px 20px 24px}
}
