/* Aanvraagformulier (23-10-2026) — stijl volgt v3/theme.css tokens */
.lf{padding:clamp(56px,8vw,120px) var(--gut,16px);background:var(--lilac,#f1ecfc)}
.lf__in{max-width:1080px;margin:0 auto;display:grid;gap:clamp(24px,4vw,64px);grid-template-columns:1fr}
@media (min-width:900px){.lf__in{grid-template-columns:1fr 1.15fr;align-items:start}}
.lf h2{font-size:clamp(30px,4vw,52px);margin:.2em 0 .4em}
.lf__lead{color:var(--ink-2,#3b3748);max-width:46ch;margin:0}
.lf form{background:var(--paper,#fff);border:1px solid var(--line,rgba(21,18,31,.09));border-radius:var(--r,22px);padding:clamp(20px,3vw,36px);display:grid;gap:16px;box-shadow:0 20px 50px -30px rgba(29,18,56,.35)}
.lf__row{display:grid;gap:16px}
@media (min-width:560px){.lf__row{grid-template-columns:1fr 1fr}}
.lf label{display:grid;gap:6px;font:600 15px/1.3 var(--sans);color:var(--ink,#15121f)}
.lf label small{font-weight:400;color:var(--muted,#625e70)}
.lf input,.lf textarea{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid var(--line-2,rgba(21,18,31,.16));border-radius:12px;background:#fff;color:var(--ink,#15121f);font:400 16px/1.4 var(--sans)}
.lf textarea{min-height:96px;resize:vertical}
.lf input:focus-visible,.lf textarea:focus-visible{outline:2px solid var(--p,#5b3fa6);outline-offset:1px;border-color:var(--p,#5b3fa6)}
.lf .lk-btn{width:100%;margin:4px 0 0}
.lf .lk-btn[disabled]{opacity:.6;cursor:progress;transform:none}
.lf__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.lf__priv{font-size:14px;color:var(--muted,#625e70);margin:0}
.lf__msg{margin:0;font-weight:600;border-radius:12px}
.lf__msg:empty{display:none}
.lf__msg.is-ok{padding:18px 20px;background:var(--paper,#fff);border:1.5px solid var(--p,#5b3fa6);color:var(--deep,#1d1238)}
.lf__msg.is-err{padding:12px 14px;background:#fdecee;color:#8a1c2b}
.lf__keus{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 14px}
.lf__keus legend{font:600 15px/1.3 var(--sans);color:var(--ink,#15121f);margin-bottom:8px;padding:0}
.lf .lf__radio{display:flex;align-items:center;gap:10px;flex:1 1 180px;min-height:48px;padding:0 14px;border:1.5px solid var(--line-2,rgba(21,18,31,.16));border-radius:12px;font-weight:500;cursor:pointer}
.lf .lf__radio:has(input:checked){border-color:var(--p,#5b3fa6);background:var(--lilac,#f1ecfc)}
.lf .lf__radio input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--p,#5b3fa6)}
/* Meerkeuze 26-10-2026: 3 vragen + contactstap, grote tikknoppen (mobiel eerst) */
.lf__form:not(.is-js){display:none}
.lf__s{border:0;margin:0;padding:0;min-width:0;display:grid;gap:16px}
.lf__s[hidden],.lf [hidden]{display:none}
.lf__q{font:600 clamp(20px,1.7vw,24px)/1.25 var(--display,var(--sans));letter-spacing:-.01em;color:var(--ink,#15121f);padding:0;margin:0 0 4px}
.lf__top{display:grid;gap:8px}
.lf__step{margin:0;font:500 12px/1.2 var(--mono,var(--sans));letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#625e70)}
.lf__bar{height:4px;border-radius:999px;background:var(--lilac-2,#e4dbfa);overflow:hidden}
.lf__bar span{display:block;height:100%;width:25%;background:var(--p,#5b3fa6);border-radius:inherit;transition:width .35s var(--ease,ease)}
.lf__opts{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:480px){.lf__opts{grid-template-columns:1fr 1fr}}
.lf__opt{min-height:56px;padding:12px 16px;border:1.5px solid var(--line-2,rgba(21,18,31,.16));border-radius:14px;background:#fff;color:var(--ink,#15121f);font:500 16px/1.3 var(--sans);text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s var(--ease,ease)}
.lf__opt:hover{border-color:var(--p,#5b3fa6);background:var(--lilac,#f1ecfc)}
.lf__opt:active{transform:scale(.98)}
.lf__opt:focus-visible,.lf__back:focus-visible{outline:2px solid var(--p,#5b3fa6);outline-offset:2px}
.lf__opt[aria-pressed=true]{border-color:var(--p,#5b3fa6);background:var(--lilac,#f1ecfc);box-shadow:inset 0 0 0 1px var(--p,#5b3fa6)}
.lf__back{justify-self:start;min-height:44px;padding:0 4px;border:0;background:none;color:var(--muted,#625e70);font:500 15px/1 var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lf__back:hover{color:var(--p,#5b3fa6)}
.lf__row{align-items:end}
@media (prefers-reduced-motion:reduce){.lf__opt,.lf__bar span{transition:none}}
