/* LawPilot check: een vaste route met vragen, stukken, afrekenen, uitkomst en de keuze voor een advocaat.
   Zelfde taal als de LawPilot-app: Inter, neutraal grijs en zwart, één vraag per scherm. */
[hidden]{display:none!important}
:root{
  --ink:#111827;--text:#374151;--mute:#6b7280;--soft:#9ca3af;--line:#e5e7eb;--hover:#f3f4f6;--side:#f9fafb;
  --blue:#01489e;--blue-l:#eff5fd;--dw:#006cae;--dw-navy:#0b2c4a;
  --grn:#16a34a;--red:#dc2626;--amb:#d97706;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.ck{min-height:100svh;display:flex;flex-direction:column}
.ck-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:14px 20px;padding-top:calc(14px + env(safe-area-inset-top));background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ck-logo{flex:none;display:block}
.ck-logo img{height:24px;width:auto;display:block}
.ck-back,.ck-close{flex:none;width:40px;height:40px;border:0;background:none;border-radius:50%;display:grid;place-items:center;color:var(--mute);text-decoration:none}
.ck-back:hover,.ck-close:hover{background:var(--hover);color:var(--ink)}
.ck-back svg,.ck-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ck-bar{flex:1;max-width:280px;margin:0 auto;height:3px;border-radius:2px;background:var(--hover);overflow:hidden}
.ck-bar i{display:block;height:100%;width:0;background:var(--ink);border-radius:2px;transition:width .6s cubic-bezier(.3,.7,.2,1)}
.ck-step{flex:none;min-width:84px;text-align:right;font-size:13.5px;color:var(--soft)}
.ck-logo{padding:8px 0}

.ck-stage{flex:1;display:flex;padding:24px 22px 12vh}
.kaart{width:100%;max-width:540px;margin:auto}
.kaart.breed{max-width:780px;margin:0 auto}
.kaart.in{animation:kIn .5s cubic-bezier(.2,.8,.2,1)}
@keyframes kIn{from{opacity:0;transform:translateY(14px)}}
.kick{margin:0 0 12px;font-size:14px;color:var(--soft)}
.kick.via{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--side);box-shadow:inset 0 0 0 1px var(--line);color:var(--text)}
.kick.via b{width:22px;height:22px;border-radius:50%;background:var(--dw);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700}
h1,h2{margin:0;color:var(--ink);font-weight:600;letter-spacing:-.025em}
h1{font-size:clamp(28px,4vw,36px);line-height:1.15}
h2{font-size:clamp(22px,3vw,26px);line-height:1.25;font-weight:500;letter-spacing:-.015em}
.sub{margin:12px 0 0;font-size:17px;line-height:1.55;color:var(--mute)}

/* ---------- intro ---------- */
.plan{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}
.plan li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--ink)}
.plan li span{display:flex;align-items:center;gap:12px}
.plan li i{width:26px;height:26px;border-radius:50%;background:var(--hover);display:grid;place-items:center;font-size:12.5px;font-weight:600;font-style:normal;color:var(--mute)}
.plan li em{font-style:normal;font-size:14px;color:var(--mute);white-space:nowrap}
.los{margin:20px 0 0;padding:14px 16px;border-radius:14px;background:var(--side);box-shadow:inset 0 0 0 1px var(--line);font-size:14.5px;line-height:1.55}
.los b{color:var(--ink);font-weight:600}
.knop{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:15.5px;font-weight:500;text-decoration:none;transition:background .2s,transform .15s,opacity .2s}
.knop:hover{background:#000}
.knop:active{transform:scale(.98)}
.knop[disabled]{opacity:.35;cursor:not-allowed}
.knop svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.knop.dw{background:var(--dw)}
.knop.dw:hover{background:#00548a}
.knop.licht{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.knop.licht:hover{background:var(--hover)}
.acties{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin-top:28px}
.link{border:0;background:none;padding:6px 0;font-size:15px;color:var(--mute);text-decoration:none}
.link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}

/* ---------- vragen ---------- */
.rijen{display:flex;flex-direction:column;gap:8px;margin-top:28px}
.rij{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 16px;transition:border-color .15s,background .15s,transform .1s}
.rij:hover{border-color:#9ca3af;background:var(--side)}
.rij:active{transform:scale(.995)}
.rij kbd{flex:none;width:24px;height:24px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;font:500 12px Inter,sans-serif;color:var(--soft);background:#fff}
.rij b{font-size:16px;font-weight:500;color:var(--ink)}
.rij.on{border-color:var(--ink);background:var(--ink)}
.rij.on b{color:#fff}
.rij.on kbd{background:var(--ink);border-color:#4b5563;color:#fff}
.tip{margin:14px 0 0;font-size:14px;color:var(--mute)}

/* ---------- stukken ---------- */
.docs{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.doc{display:flex;align-items:center;gap:14px;padding:12px 12px 12px 14px;border:1px solid var(--line);border-radius:14px;transition:border-color .2s,background .2s}
.doc.ok{border-color:#bbf7d0;background:#f0fdf4}
.doc-i{flex:none;width:34px;height:40px;border-radius:7px;background:var(--hover);display:grid;place-items:center;color:var(--soft)}
.doc.ok .doc-i{background:var(--red);color:#fff;font-size:9.5px;font-weight:700}
.doc-i svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.doc-t{flex:1;min-width:0}
.doc-t b{display:block;font-size:15px;font-weight:500;color:var(--ink);line-height:1.35}
.doc-t small{display:block;font-size:13px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-t small.verplicht{color:var(--ink);font-weight:500}
.doc label,.doc .weg{flex:none;height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer}
.doc label:hover,.doc .weg:hover{background:var(--hover)}
.doc input{position:absolute;width:1px;height:1px;opacity:0}
.doc label:focus-within{outline:2px solid var(--ink);outline-offset:2px}

/* ---------- afrekenen ---------- */
.bon{margin-top:24px;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.bon-r{display:flex;justify-content:space-between;gap:16px;padding:12px 18px;font-size:15px}
.bon-r + .bon-r{border-top:1px solid var(--line)}
.bon-r span:last-child{color:var(--ink);white-space:nowrap}
.bon-r.kop{background:var(--side)}
.bon-r.kop b{color:var(--ink);font-weight:600}
.bon-r.tot{font-weight:600;color:var(--ink);font-size:16.5px}
.feiten{list-style:none;margin:16px 0 0;padding:0}
.feiten li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.feiten li b{color:var(--ink);font-weight:500}
.betaal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}
.betaal button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:13.5px;color:var(--ink);transition:border-color .2s}
.betaal button.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.betaal i{height:26px;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:13px;letter-spacing:-.01em}
.betaal .ideal i{color:#cc0066}.betaal .bc i{color:#005498}.betaal .cc i{color:var(--ink)}
.mini{margin:12px 0 0;font-size:13px;color:var(--soft);text-align:center}

/* ---------- analyse ---------- */
.stappen{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.stappen li{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--soft);transition:color .3s}
.stappen li i{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex:none;transition:background .3s,border-color .3s}
.stappen li.bezig{color:var(--ink)}
.stappen li.bezig i{border-color:var(--ink);border-top-color:transparent;animation:draai .8s linear infinite}
.stappen li.klaar{color:var(--ink)}
.stappen li.klaar i{background:var(--ink);border-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8.5l2.3 2.2 4.7-5'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat}
@keyframes draai{to{transform:rotate(360deg)}}

/* ---------- uitkomst ---------- */
.uk-kop{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;background:var(--hover);font-size:13px;color:var(--mute);white-space:nowrap}
.dossier{margin:8px 0 0;font-size:14.5px;color:var(--mute)}
.telling{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}
.telling span{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;background:var(--side);box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;color:var(--ink)}
.telling i,.punt>i{width:10px;height:10px;border-radius:50%;flex:none}
.r{background:var(--red)}.o{background:var(--amb)}.g{background:var(--grn)}.n{background:var(--soft)}
.samen{margin-top:16px;padding:16px 18px;border-radius:16px;background:var(--blue-l);font-size:17px;line-height:1.5;color:var(--ink)}
.blok{margin-top:30px}
.blok-h{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.punten{display:flex;flex-direction:column;gap:8px}
.punt{display:grid;grid-template-columns:10px minmax(0,1fr);gap:4px 14px;padding:16px 18px;border:1px solid var(--line);border-radius:16px}
.punt>i{margin-top:8px}
.punt b{font-size:16px;font-weight:600;color:var(--ink);line-height:1.4}
.punt p{grid-column:2;margin:2px 0 0;font-size:15px;line-height:1.55}
.punt .doen{grid-column:2;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:14.5px;color:var(--ink)}
.punt .doen span{color:var(--mute)}
.punt .wet{grid-column:2;justify-self:start;margin-top:8px;font-size:13px;color:var(--mute);background:var(--side);padding:3px 9px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
/* VSO-checkschema: nummer, controlevraag, legenda en groepen */
.punt b .nr{display:inline-block;min-width:22px;margin-right:6px;font-variant-numeric:tabular-nums;color:var(--soft);font-weight:500}
.punt .vraag{margin-top:2px;font-size:14px;line-height:1.5;color:var(--mute);font-style:italic}
.legenda{margin:0 0 14px;font-size:13.5px;line-height:1.5;color:var(--mute)}
.groep-h{margin:18px 0 8px;font-size:14.5px;font-weight:600;color:var(--ink)}
.legenda + .groep-h{margin-top:0}
.todo{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.todo li{border-bottom:1px solid var(--line)}
.todo label{display:flex;align-items:flex-start;gap:12px;padding:12px 2px;font-size:15.5px;color:var(--ink);cursor:pointer}
.todo input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--ink);flex:none}
.todo input:checked + span{color:var(--soft);text-decoration:line-through}
.data{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.data div{padding:14px 16px;border-radius:14px;background:var(--side);box-shadow:inset 0 0 0 1px var(--line)}
.data b{display:block;font-size:17px;font-weight:600;color:var(--ink)}
.data span{font-size:14px;color:var(--mute)}
.papier{position:relative;padding:22px 24px;border-radius:16px;background:#fff;box-shadow:0 1px 0 var(--line),0 12px 32px -12px rgba(0,0,0,.14),inset 0 0 0 1px var(--line);white-space:pre-wrap;font-size:15px;line-height:1.65;color:var(--ink)}
.papier .kopie{position:absolute;right:12px;top:12px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;color:var(--ink)}
.papier .kopie:hover{background:var(--hover)}
.keuze{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.keuze-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.kz{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:18px;border:1px solid var(--line)}
.kz.adv{border:0;background:var(--dw-navy);color:rgba(255,255,255,.82)}
.kz-l{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.kz.adv .kz-l{color:#a6d4f2}
.kz h3{margin:0;font-size:19px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.kz.adv h3{color:#fff}
.kz p{margin:0;font-size:14.5px;line-height:1.5}
.kz .prijs{font-size:15px;color:#fff}
.kz .prijs b{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-right:6px}
.kz .knop{margin-top:auto;align-self:flex-start}
.kz-ruimte{flex:1}
.disc{margin-top:22px;font-size:13px;line-height:1.5;color:var(--soft)}

/* ---------- doorzetten ---------- */
.deel{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
.deel li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--ink)}
.deel li::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8.5l2.3 2.2 4.7-5'/%3E%3C/svg%3E") center/11px no-repeat}
.deel li span{margin-left:auto;font-size:13.5px;color:var(--mute)}
.velden{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.veld{display:flex;flex-direction:column;gap:6px;min-width:0}
.veld.vol{grid-column:1/-1}
.veld span{font-size:13.5px;font-weight:500;color:var(--ink)}
.veld input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:16px;color:var(--ink);background:#fff;outline:0;transition:border-color .2s}
.veld input:focus{border-color:var(--ink)}
.veld input.fout{border-color:var(--red)}
.ok{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-size:14.5px;line-height:1.5;color:var(--ink);cursor:pointer}
.ok input{width:19px;height:19px;margin:2px 0 0;accent-color:var(--ink);flex:none}
.ok.fout span{color:var(--red)}
.verder{margin-top:22px;padding:16px 18px;border-radius:16px;background:var(--side);box-shadow:inset 0 0 0 1px var(--line)}
.verder p{margin:0 0 8px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.verder ol{margin:0;padding-left:20px;font-size:15px;color:var(--ink)}
.verder li{padding:3px 0}
.verder small{display:block;margin-top:10px;font-size:13.5px;color:var(--mute)}
.vink{width:56px;height:56px;border-radius:50%;background:var(--ink);display:grid;place-items:center;margin-bottom:22px;animation:pop .5s cubic-bezier(.2,.8,.25,1.3)}
.vink svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@keyframes pop{from{transform:scale(.4);opacity:0}}

@media (max-width:640px){
  .ck-top{gap:8px;padding-left:12px;padding-right:8px}
  .ck-logo img{height:20px}
  .ck-step{min-width:0;font-size:13px}
  .ck-stage{padding:18px 18px 10vh}
  .kaart{margin:0 auto}
  h1{font-size:28px}
  .sub{font-size:16px}
  .acties .knop{width:100%}
  .acties .link{width:100%;text-align:center}
  .feiten li{grid-template-columns:minmax(0,1fr);gap:0}
  .betaal{grid-template-columns:repeat(3,minmax(0,1fr))}
  .keuze-g{grid-template-columns:minmax(0,1fr)}
  .kz .knop{align-self:stretch}
  .velden{grid-template-columns:minmax(0,1fr)}
  .papier{padding:52px 18px 18px}
  .doc{flex-wrap:wrap;row-gap:10px}
  .doc-t{flex:1 1 200px}
  .doc label,.doc .weg{margin-left:48px}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.ck-top,.keuze,.acties{display:none!important}.ck-stage{padding:0}}
