/* Lidmaatschap opzeggen, nieuwe stijl (22 okt 2026). Zelfde opbouw als "Lidmaatschap overnemen"
   (overnemen.css): uitklapblokken, keuzerondjes, blauwe knop 19 px vet. Eigen formulier in plaats van Formester.
   Alles hangt onder .op, zodat de Webflow-stijl en de rest van de site niet geraakt worden. */
.op{
  --op-kaart:#131416;--op-lijn:#232323;--op-lijn2:#475467;--op-grijs:#98A2B3;--op-licht:#B7BECC;
  --op-blauw:#4E71FF;--op-blauw2:#6A88FF;
  display:block;background:#000;color:#fff;font-family:Poppins,system-ui,sans-serif;font-size:16px;line-height:1.55;
  overflow-x:clip;-webkit-font-smoothing:antialiased;
}
.op *,.op *::before,.op *::after{box-sizing:border-box}
.op h1,.op h2,.op h3{font-family:Montserrat,Poppins,sans-serif;font-weight:700;line-height:1.1;letter-spacing:-.01em;color:#fff;margin:0}
.op p{font-family:Poppins,system-ui,sans-serif;font-weight:400;line-height:1.55;margin:0}
.op ol,.op ul,.op dl,.op dd{margin:0;padding:0;list-style:none}
.op a{color:inherit}
.op :focus-visible{outline:2px solid var(--op-blauw);outline-offset:3px}
.op [hidden]{display:none!important}
.op [id]{scroll-margin-top:84px}
.op label{margin:0;font-weight:inherit}

.op-kolom{max-width:720px;margin:0 auto;padding:0 16px 48px}
.op-kopje{padding:24px 0 8px}
.op .op-label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--op-blauw)}
.op .op-h1{font-size:32px;margin:6px 0 10px}
.op .op-intro{color:var(--op-licht);font-size:15px}

/* opzegtermijn en bevestiging */
.op .op-feiten{display:grid;margin:22px 0 36px;border:1px solid var(--op-lijn2);border-radius:8px}
.op-feiten li{display:grid;gap:2px;padding:14px 16px}
.op-feiten li+li{border-top:1px solid var(--op-lijn)}
.op-feit-naam{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--op-grijs)}
.op-feit-tekst{font-size:16px;font-weight:600;color:#fff;line-height:1.4}

.op .op-formulier>h2{font-size:24px;margin-bottom:14px}

/* formulier als uitklapblokken */
.op-form{display:grid;gap:10px}
.op-blok{border:1px solid var(--op-lijn2);border-radius:8px;background:var(--op-kaart)}
.op-blok[open]{border-color:var(--op-blauw)}
.op-blok>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:16px}
.op-blok>summary::-webkit-details-marker{display:none}
.op-blokkop{display:block}
.op-blok>summary small{display:block;font-weight:400;font-size:13px;color:var(--op-grijs)}
.op-blok>summary .op-status{display:block;font-size:13px;font-weight:600;color:var(--op-blauw)}
.op-pijl{flex:none;width:10px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
.op-blok[open] .op-pijl{transform:rotate(-135deg) translate(-2px,-2px)}
.op-binnen{display:grid;gap:18px;padding:4px 16px 18px}
.op-verder{justify-self:start;min-height:46px;padding:0 18px;border:1px solid var(--op-lijn2);border-radius:6px;background:none;color:#fff;font:inherit;font-weight:600;cursor:pointer}
.op-verder:hover{border-color:#fff}
.op-veld{display:grid;gap:6px;border:0;margin:0;padding:0;min-width:0}
.op-veld>.op-naam,.op-veld>legend{font-size:14px;font-weight:600;padding:0;color:#fff}
.op-veld>legend{margin-bottom:6px}
.op-hint{font-size:13px;color:var(--op-grijs);font-weight:400}
.op-rij2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.op input[type=text],.op input[type=email],.op input[type=tel],.op input[type=date],.op textarea{
  display:block;width:100%;min-height:50px;margin:0;padding:0 14px;border:1px solid var(--op-lijn2);border-radius:6px;background:#000;color:#fff;font:inherit;font-size:16px;line-height:1.3;-webkit-appearance:none;appearance:none}
.op input[type=date]{color-scheme:dark;padding-top:12px;padding-bottom:12px}
.op textarea{padding:12px 14px;min-height:96px;resize:vertical}
.op input::placeholder,.op textarea::placeholder{color:#8C96A8;opacity:1}
.op input:focus,.op textarea:focus{outline:none;border-color:var(--op-blauw);box-shadow:0 0 0 1px var(--op-blauw)}
.op-keuzes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.op-keuzes-lijst{grid-template-columns:1fr}
.op-keuze{position:relative;display:block}
.op-keuze input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.op-keuze>span{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 14px;border:1px solid var(--op-lijn2);border-radius:6px;background:#000;cursor:pointer;font-weight:600;line-height:1.25}
/* keuzerondje rechts, zoals op de dagpas-pagina */
.op-keuze>span::after{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--op-lijn2);background:#000}
.op-keuze input:checked+span{border-color:var(--op-blauw);box-shadow:inset 0 0 0 1px var(--op-blauw)}
.op-keuze input:checked+span::after{border-color:var(--op-blauw);background:radial-gradient(circle,var(--op-blauw) 0 5px,#000 5.5px)}
.op-keuze input:focus-visible+span{outline:2px solid var(--op-blauw);outline-offset:2px}
.op-vink{position:relative;display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:14px;color:var(--op-licht);cursor:pointer;min-height:44px;padding:10px 0}
.op-vink input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--op-blauw);color-scheme:dark}

/* controle van de gegevens */
.op-check{border:1px solid var(--op-lijn);border-radius:6px;background:#000;padding:14px}
.op .op-check-kop{font-size:14px;font-weight:600;color:#fff;margin-bottom:8px}
.op-overzicht>div{display:grid;grid-template-columns:118px 1fr;gap:10px;padding:6px 0;font-size:14px;line-height:1.4}
.op-overzicht>div+div{border-top:1px solid var(--op-lijn)}
.op-overzicht dt{color:var(--op-grijs)}
.op-overzicht dd{color:#fff;font-weight:600;overflow-wrap:anywhere}
.op-overzicht [data-leeg]{color:var(--op-grijs);font-weight:400}
.op .op-termijn{font-size:14px;color:var(--op-licht);padding-left:12px;border-left:2px solid var(--op-blauw)}
.op .op-termijn strong{color:#fff;font-weight:600}

/* foutmeldingen */
.op-fout{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:600;color:#fff;line-height:1.4}
.op-fout::before{content:"";flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--op-blauw)}
.op .is-fout input[type=text],.op .is-fout input[type=email],.op .is-fout input[type=tel],.op .is-fout input[type=date],.op .is-fout textarea,
.op .is-fout .op-keuze>span{border-color:var(--op-blauw);box-shadow:0 0 0 1px var(--op-blauw)}

.op-slot{display:grid;gap:12px;margin-top:8px}
.op .op-privacyzin{font-size:13px;color:var(--op-grijs)}
.op .op-privacyzin a{color:#fff;text-decoration:underline;text-underline-offset:.15em}
.op-knop{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;border:0;border-radius:6px;background:var(--op-blauw);color:#fff;font:inherit;font-weight:700;font-size:19px;cursor:pointer;transition:background .15s}
.op-knop:hover{background:var(--op-blauw2)}
.op-knop[disabled]{cursor:progress;opacity:.8}
.op-samenvatting{border:1px solid var(--op-blauw);border-radius:8px;padding:14px 16px;font-size:14px}
.op .op-samenvatting p{color:#fff;font-weight:600}
.op .op-samenvatting ul{margin-top:6px;display:grid;gap:4px}
.op .op-samenvatting a{color:var(--op-licht);text-decoration:underline;text-underline-offset:.15em;display:inline-block;padding:4px 0}
.op-bericht{margin-top:16px;border:1px solid var(--op-blauw);border-radius:8px;padding:18px}
.op .op-bericht h3{font-size:20px;margin-bottom:4px}
.op .op-bericht p{color:var(--op-licht)}
.op .op-bericht a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:.15em}

.op .op-vraag{margin-top:28px;padding-top:20px;border-top:1px solid var(--op-lijn);font-size:15px;color:var(--op-licht)}
.op .op-vraag a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:.15em;display:inline-block;padding:12px 0}

@media (min-width:900px){
  .op-kolom{padding:0 32px 72px}
  .op-kopje{padding-top:56px}
  .op .op-h1{font-size:50px}
  .op .op-intro{font-size:17px}
  .op-feiten{grid-template-columns:1fr 1fr}
  .op-feiten li{padding:18px 24px}
  .op-feiten li+li{border-top:0;border-left:1px solid var(--op-lijn)}
  .op .op-formulier>h2{font-size:30px}
  .op-binnen{padding:4px 22px 22px}
  .op-blok>summary{padding:8px 22px}
  .op-keuzes-lijst{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  .op *,.op *::before,.op *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
