/* ===================================================================
   Klikpas — De Vonk kp- kit. Loaded LATE (priority 9999).
   GEOMETRY lives in ACSS (SOP §1 step 2): radius steps pinned 18/26px
   (base-radius 12.46 × 1.444 → --radius-l=18, --radius-xl=26); space =
   ACSS native fluid scale. This kit consumes them as var(--radius-x and
   --space-*, mockup-fallback) — NO bare magic numbers for major geometry.
   The kit carries ONLY what ACSS cannot express, all documented:
     • composite mockup (phones/QR/viewfinder/profiel/teller) — exact px
     • effects ACSS has no token for: glow/inset shadows, gradients,
       @keyframes, clip-path spark devices
     • sub-token fine gaps (<~13px) — below ACSS --space-xs floor in 3.x
     • pinned exceptions: --kp-btn-r 14px (off the 18/26 scale),
       --kp-pill 9999px, --kp-content 1140px (ACSS content-width is
       derived to 1366 in 3.x with no settable key)
   =================================================================== */
:root{
  --kp-ink:#1E293B; --kp-ink-deep:#0F172A; --kp-muted:#5B6472;
  --kp-vonk:#F97316; --kp-vonk-hover:#EA6A0A; --kp-vonk-soft:#FB923C; --kp-vonk-wash:#FEF0E4;--kp-vonk-text:#B23E0C;
  --kp-ivoor:#FAF6F0; --kp-wit:#FFFFFF; --kp-lijn:#E9E2D6; --kp-groen:#16A34A; --kp-slate:#3F4A5C;
  --kp-disp:'Bricolage Grotesque',sans-serif; --kp-body:'Plus Jakarta Sans',sans-serif;
  --kp-btn-r:14px; --kp-pill:9999px; --kp-content:1140px; /* documented ACSS-can't-express exceptions */
}

/* ---- fonts (fix Factor fallback) ---- */
html body{background-color:var(--kp-ivoor);font-family:var(--kp-body);color:var(--kp-ink);}
body h1,body h2,body h3,body h4,body h5,body h6{font-family:var(--kp-disp);letter-spacing:-.025em;}
body .kp-hero__title,body .kp-hhero__title,body .kp-beurs__title,body .kp-partner__title,body .kp-cta__title,body .kp-deel__title,body .kp-vert__title,body .kp-flow__title,body .kp-prob__title,body .kp-alles__title,body .kp-steps__title,body .kp-sec__h2{font-family:var(--kp-disp);font-weight:800;letter-spacing:-.025em;}

/* ---- header ---- */
.kp-header__logo{height:var(--kp-logo-h,48px);width:auto;display:block;}
.kp-header__cta{box-shadow:0 14px 28px -12px rgba(249,115,22,.55);}
.kp-header__link[aria-current="page"]{color:var(--kp-vonk-text);}

/* ---- buttons (glow shadow = ACSS can't express; radius off-scale exception) ---- */
body .kp-btn.kp-btn--vonk,body .kp-btn.kp-btn--ghost,body .kp-btn.kp-btn--wit{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs,.5rem);font-family:var(--kp-body);font-weight:700;font-size:var(--text-m);padding:var(--space-s,.85rem) var(--space-m,1.55rem)!important;border-radius:var(--kp-btn-r)!important;border:2px solid transparent!important;cursor:pointer;text-decoration:none;min-block-size:var(--kp-icon);transition:.18s;}
body .kp-btn.kp-btn--vonk{background:var(--kp-vonk)!important;color:#fff!important;box-shadow:0 14px 28px -12px rgba(249,115,22,.55)!important;}
body .kp-btn.kp-btn--vonk:hover{background:var(--kp-vonk-hover)!important;transform:translateY(-1px);}
body .kp-btn.kp-btn--ghost{background:transparent!important;color:var(--kp-ink)!important;border-color:#D9D0C0!important;box-shadow:none!important;}
body .kp-btn.kp-btn--ghost:hover{border-color:var(--kp-ink)!important;}
body .kp-btn.kp-btn--wit{background:#fff!important;color:var(--kp-ink)!important;}

/* ---- eyebrow + spark bullet (clip-path device = kit) ---- */
body .kp-eyebrow{display:inline-flex;align-items:center;gap:var(--space-xs,.45rem);font-weight:700;color:var(--kp-vonk-text);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;}
body .kp-eyebrow::before{content:"";width:14px;height:14px;background:var(--kp-vonk);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);display:inline-block;}

/* ---- spark-i (brand device) ---- */
.kp-spark{position:relative;display:inline-block;}
.kp-spark svg{position:absolute;left:52%;transform:translateX(-50%);top:-0.02em;width:0.36em;height:0.36em;pointer-events:none;}

/* ---- headings sizes ---- */
body .kp-hero__title{font-size:var(--h2);line-height:1.05;color:var(--kp-ink);}
body .kp-hhero__title{font-size:var(--h1);line-height:1.04;color:var(--kp-ink);}
body .kp-hero__lead,body .kp-hhero__lead{font-size:var(--text-l);color:var(--kp-slate);}

/* ---- cards (radius = ACSS token) ---- */
body .kp-vert__card,body .kp-flow__step,body .kp-deel__card,body .kp-stap{background:var(--kp-wit);border:1px solid var(--kp-lijn);border-radius:var(--radius-l,18px);}
body .kp-flow__step--done{background:#F6FEF9;border-color:#BBF7D0;}
body .kp-vert__tag{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--kp-vonk-text);background:var(--kp-vonk-wash);border-radius:var(--kp-pill);padding:.22rem var(--space-xs,.7rem);}
body .kp-soon{display:inline-block;background:#FEF3C7;color:#92400E;font-size:var(--text-xs);font-weight:700;padding:.16rem .55rem;border-radius:var(--kp-pill);margin-left:.45rem;vertical-align:middle;}

/* ---- bands (radius = ACSS token) ---- */
body .kp-beurs__band,body .kp-cta__band,body .kp-prob__band{background:var(--kp-ink-deep);color:#fff;border-radius:var(--radius-xl,26px);}
body .kp-partner__band,body .kp-alles{background:var(--kp-wit);border:1px solid var(--kp-lijn);border-radius:var(--radius-xl,26px);}
body .kp-beurs__text,body .kp-cta__text,body .kp-prob__text{color:#B7C1D2;}
body .kp-prob__pct{font-family:var(--kp-disp);font-weight:800;font-size:6.4rem;line-height:1;color:var(--kp-vonk-soft);}
body .kp-prob__pct small{display:block;font-size:var(--text-s);font-weight:600;color:#8B96A9;letter-spacing:.04em;margin-top:.4rem;}

/* ---- alles + spark list bullets ---- */
body .kp-alles__list{list-style:none;display:grid;grid-template-columns:1fr;gap:var(--space-s,.55rem) .1rem;margin:0;padding:0;}
body .kp-alles__item,body .kp-plan__item{display:flex;gap:var(--space-xs,.55rem);align-items:flex-start;font-size:var(--text-s);color:var(--kp-slate);font-weight:500;}
body .kp-alles__item::before,body .kp-plan__item::before{content:"";flex:0 0 15px;height:15px;margin-top:5px;background:var(--kp-vonk);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);}


/* ---- trust row ---- */
body .kp-trust{display:flex;gap:var(--space-s,1.3rem);flex-wrap:wrap;color:var(--kp-muted);font-size:var(--text-s);font-weight:600;}
body .kp-trust__item::before{content:"\2713";color:var(--kp-groen);font-weight:800;font-size:1.05rem;}

/* ---- index 'stap' number badge ---- */
body .kp-stap__n{position:absolute;top:-14px;left:20px;background:var(--kp-vonk);color:#fff;font-family:var(--kp-disp);font-weight:800;font-size:var(--text-s);border-radius:9px;padding:.22rem .7rem;}

/* =====================  HERO STAGE (composite mockup + effects = kit, exact px)  ===================== */
.kp-stage{position:relative;width:100%;max-width:530px;height:420px;margin:0 auto;transform:scale(.82);transform-origin:top center;}
.kp-phone{position:absolute;width:218px;height:420px;background:#0B1220;border-radius:36px;padding:10px;box-shadow:0 34px 64px -22px rgba(15,23,42,.5);}
.kp-phone__scr{position:relative;width:100%;height:100%;border-radius:27px;overflow:hidden;background:#fff;}
.kp-notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:70px;height:17px;background:#0B1220;border-radius:0 0 10px 10px;z-index:9;}
.kp-phone--a{left:0;top:14px;transform:rotate(-5deg);}
.kp-phone--b{right:0;top:0;transform:rotate(4deg);z-index:2;}
.kp-scr--a{background:#FAF6F0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}
.kp-scr--a .kp-naam{font-family:var(--kp-disp);font-weight:800;font-size:.95rem;color:#1E293B;}
.kp-qrbox{width:128px;height:128px;background:#fff;border:1px solid #E9E2D6;border-radius:14px;display:flex;align-items:center;justify-content:center;animation:kp-qrpuls 2.6s ease-in-out infinite;}
.kp-scr--a .kp-sub{font-size:.66rem;color:#5B6472;font-weight:600;}
.kp-scr--b{background:#101826;}
.kp-vf{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.kp-kader{position:relative;width:130px;height:130px;}
.kp-kader i{position:absolute;width:26px;height:26px;border:3px solid #FB923C;border-radius:4px;}
.kp-kader i:nth-child(1){top:0;left:0;border-right:none;border-bottom:none;}
.kp-kader i:nth-child(2){top:0;right:0;border-left:none;border-bottom:none;}
.kp-kader i:nth-child(3){bottom:0;left:0;border-right:none;border-top:none;}
.kp-kader i:nth-child(4){bottom:0;right:0;border-left:none;border-top:none;}
.kp-scanlijn{position:absolute;left:8%;width:84%;height:3px;background:linear-gradient(90deg,transparent,#FB923C,transparent);border-radius:3px;top:20%;opacity:0;animation:kp-scan 10s ease-in-out infinite;}
.kp-vfhint{position:absolute;bottom:14px;width:100%;text-align:center;font-size:.62rem;color:#94A3B8;font-weight:600;}
.kp-profiel{position:absolute;left:7px;right:7px;bottom:7px;top:52px;background:#fff;border-radius:20px 20px 22px 22px;padding:14px 13px 12px;transform:translateY(110%);animation:kp-kaartop 10s cubic-bezier(.2,.8,.2,1) infinite;text-align:center;box-shadow:0 -10px 30px rgba(0,0,0,.25);}
.kp-profiel__av{width:52px;height:52px;border-radius:50%;margin:0 auto 6px;background:linear-gradient(135deg,#FB923C,#F97316);display:flex;align-items:center;justify-content:center;font-family:var(--kp-disp);font-weight:800;color:#fff;font-size:1.1rem;border:3px solid #fff;box-shadow:0 6px 14px -4px rgba(249,115,22,.5);}
.kp-profiel__pn{font-family:var(--kp-disp);font-weight:800;font-size:.92rem;color:#0F172A;}
.kp-profiel__pr{font-size:.64rem;color:#5B6472;margin-bottom:8px;}
.kp-profiel__pb{border-radius:10px;padding:.5rem;font-weight:700;font-size:.7rem;margin-top:6px;}
.kp-profiel__pb--opslaan{background:#F97316;color:var(--kp-ink-deep);}
.kp-profiel__pb--terug{background:#FAF6F0;color:#1E293B;border:1.5px solid #E9E2D6;}
.kp-gedeeld{position:absolute;left:13px;right:13px;bottom:12px;background:#ECFDF3;border:1.5px solid #BBF7D0;color:#15803D;font-size:.66rem;font-weight:700;border-radius:10px;padding:.45rem;opacity:0;animation:kp-gedeeldin 10s ease infinite;}
.kp-flits{position:absolute;left:47%;top:37%;z-index:3;transform:scale(0);animation:kp-flits 10s ease infinite;transform-origin:center;}
.kp-teller{position:absolute;top:-6px;right:-8px;z-index:4;background:#fff;border:1px solid #E9E2D6;border-radius:16px;padding:.65rem .9rem;box-shadow:0 16px 34px -18px rgba(15,23,42,.35);display:flex;align-items:center;gap:.6rem;animation:kp-tellerpop 10s ease infinite;}
.kp-teller__ic{width:30px;height:30px;border-radius:9px;background:#FEF0E4;display:flex;align-items:center;justify-content:center;}
.kp-teller__cijfers{font-family:var(--kp-disp);font-weight:800;font-size:1.05rem;color:#0F172A;line-height:1.1;}
.kp-teller__lbl{font-size:.6rem;color:#5B6472;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.kp-num{position:relative;display:inline-block;width:1.4em;height:1.15em;overflow:hidden;vertical-align:bottom;}
.kp-num span{position:absolute;left:0;animation:kp-cijfer 10s ease infinite;}
.kp-num .kp-oud{top:0;}
.kp-num .kp-nieuw{top:1.2em;}
.kp-plusje{position:absolute;top:44px;right:34px;z-index:4;font-family:var(--kp-disp);font-weight:800;color:#16A34A;font-size:1rem;opacity:0;animation:kp-plusfly 10s ease infinite;}
.kp-stage__cap{text-align:center;margin-top:1.2rem;font-size:.85rem;color:#5B6472;font-weight:600;}
.kp-stage__cap b{color:#1E293B;}
@keyframes kp-scan{0%,17%{top:22%;opacity:0}19%{opacity:1}25%{top:74%;opacity:1}27%,100%{opacity:0}}
@keyframes kp-kaartop{0%,26%{transform:translateY(110%)}33%,86%{transform:translateY(0)}93%,100%{transform:translateY(110%)}}
@keyframes kp-gedeeldin{0%,48%{opacity:0;transform:translateY(8px)}54%,84%{opacity:1;transform:translateY(0)}90%,100%{opacity:0}}
@keyframes kp-flits{0%,42%,100%{transform:scale(0);opacity:0}50%{transform:scale(1.25);opacity:1}62%{transform:scale(1);opacity:1}78%{transform:scale(0);opacity:0}}
@keyframes kp-tellerpop{0%,63%{transform:scale(1)}67%{transform:scale(1.12)}71%,100%{transform:scale(1)}}
@keyframes kp-cijfer{0%,64%{transform:translateY(0)}68%,100%{transform:translateY(-1.2em)}}
@keyframes kp-plusfly{0%,58%{opacity:0;transform:translateY(16px)}63%{opacity:1}70%,100%{opacity:0;transform:translateY(-14px)}}
@keyframes kp-qrpuls{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}

@media (prefers-reduced-motion:reduce){.kp-scanlijn,.kp-profiel,.kp-gedeeld,.kp-flits,.kp-teller,.kp-plusje,.kp-qrbox,.kp-num span{animation:none!important;}.kp-profiel{transform:translateY(0);}.kp-gedeeld{opacity:1;}}

/* ---- Header ---- */
.kp-header{position:sticky;top:0;z-index:30;background:rgba(250,246,240,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--kp-lijn);}
.kp-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m,1.5rem);height:var(--header-height);width:100%;max-inline-size:var(--kp-content);margin-inline:auto;padding-inline:var(--space-m,1.5rem);}
.kp-header__brand{display:inline-flex;align-items:center;}
.kp-header__nav{display:flex;align-items:center;gap:var(--space-s,1.6rem);}
.kp-header__link{display:block;font-weight:600;color:#475569;font-size:var(--text-s);text-decoration:none;padding-block:var(--space-xs,.5rem);}
.kp-header__link:hover{color:var(--kp-vonk-text);}
.kp-header__cta{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-s);padding:.55rem 1.15rem;border-radius:var(--kp-btn-r);background:var(--kp-vonk);color:#fff;text-decoration:none;transition:.18s;}
.kp-header__cta:hover{background:var(--kp-vonk-hover);transform:translateY(-1px);}
.kp-header__cta:focus-visible,.kp-header__link:focus-visible{outline:2px solid var(--kp-vonk);outline-offset:2px;}


/* ---- Footer ---- */
.kp-footer{border-top:1px solid var(--kp-lijn);background:var(--kp-ivoor);padding-block:var(--space-l,2.8rem);}
.kp-footer__inner{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1rem;flex-wrap:wrap;width:100%;max-inline-size:var(--kp-content);margin-inline:auto;padding-inline:var(--space-m,1.5rem);color:var(--kp-muted);font-size:var(--text-s);}
.kp-footer__logo{height:28px;width:auto;display:block;}
.kp-footer__links{display:flex;gap:var(--space-s,1.3rem);flex-wrap:wrap;}
.kp-footer__link{color:#475569;font-weight:500;text-decoration:none;}
.kp-footer__link:hover{color:var(--kp-vonk-text);}


/* ===== layout (spacing = ACSS space tokens, mockup value as fallback) ===== */
.kp-nowrap{white-space:nowrap;}
body .kp-hhero__section{padding-block:var(--section-space-m,5.5rem);padding-inline:var(--space-m,1.5rem);overflow:hidden;}
body .kp-hhero__grid{display:grid!important;grid-template-columns:1fr;gap:var(--space-l,3rem);align-items:center;max-inline-size:var(--kp-content)!important;margin-inline:auto;}

body .kp-hhero__col{display:flex;flex-direction:column;min-inline-size:0;}
body .kp-hhero__lead{max-inline-size:var(--kp-measure);margin:var(--space-m,1.4rem) 0 var(--space-l,2rem);}
body .kp-hhero__cta{display:flex;gap:var(--space-s,.9rem);flex-wrap:wrap;}
body .kp-trust{margin-top:var(--space-l,2rem);}
body .kp-hhero__title{margin:0;}
body .kp-hhero__visual{position:relative;display:flex;align-items:center;justify-content:center;}
body .kp-vert__card{padding:var(--space-m,1.7rem);display:flex;flex-direction:column;}
body .kp-vert__tag{align-self:flex-start;margin-block-end:var(--space-xs,.8rem);}
body .kp-vert__title{font-size:var(--h4);margin:0 0 .4rem;}
body .kp-vert__body{font-size:var(--text-s);color:var(--kp-muted);margin:0;line-height:1.55;}
.kp-sec{padding-block:var(--section-space-m,5.5rem);padding-inline:var(--space-m,1.5rem);container-type:inline-size;}
.kp-sec--tight{padding-block:var(--space-m,1rem);}
.kp-sec--mid{padding-block:var(--space-l,2.5rem);}
.kp-wrap{max-inline-size:var(--kp-content);margin-inline:auto;width:100%;}
.kp-center{text-align:center;}
body .kp-prob__band{display:grid;grid-template-columns:1fr;gap:var(--space-l,2.6rem);align-items:center;padding:var(--space-l,2.4rem);position:relative;overflow:hidden;}

body .kp-prob__title{color:#fff;}
.kp-steps__head{max-inline-size:var(--kp-measure);margin:0 auto;}
.kp-steps__grid{display:grid;grid-template-columns:1fr;width:100%;max-inline-size:var(--col-width-l);margin-inline:auto;gap:var(--space-s,1.4rem);margin-top:var(--space-l,2.8rem);}

body .kp-stap{padding:var(--space-m,1.9rem);position:relative;text-align:left;}
.kp-stap__anim{height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-s,1.2rem);background:var(--kp-ivoor);border-radius:12px;font-size:2.4rem;overflow:hidden;}
body .kp-stap__title{font-size:var(--h4);margin:0 0 .3rem;}
body .kp-stap__body{font-size:var(--text-s);color:var(--kp-muted);margin:0;}
.kp-steps__cta{width:100%;text-align:center;margin-top:var(--space-m,2rem);}
body .kp-alles{display:grid;grid-template-columns:1fr;gap:var(--space-l,3rem);align-items:center;padding:var(--space-m,2rem);}

body .kp-alles__title{font-size:var(--h3);margin:0 0 .8rem;}
.kp-alles__intro{color:var(--kp-muted);margin:0;}
.kp-vwie__head,.kp-deel__head{max-inline-size:var(--kp-measure-why);margin:0 auto;text-align:center;}
.kp-vwie__grid{display:grid;grid-template-columns:1fr;width:100%;max-inline-size:var(--col-width-l);margin-inline:auto;gap:var(--space-s,1.4rem);margin-top:var(--space-l,2.6rem);text-align:left;}

body .kp-cta__section{padding-block:var(--section-space-m,5.5rem);padding-inline:var(--space-m,1.5rem);}
body .kp-cta__band{background:var(--kp-ink-deep);color:#fff;text-align:center;border-radius:var(--radius-xl,26px);padding:var(--space-xl,4rem) var(--space-m,2rem);display:flex;flex-direction:column;align-items:center;gap:var(--space-s,.7rem);width:100%;max-inline-size:var(--kp-content);margin-inline:auto;position:relative;overflow:hidden;}
body .kp-cta__title{color:#fff;font-size:var(--h3);margin:0;}
body .kp-cta__text{color:#B7C1D2;margin:.4rem 0 var(--space-m,1.4rem);}
body .kp-sec__h2,body .kp-deel__title{font-size:var(--h3);margin:0 0 .7rem;}
body .kp-sec__sub{color:var(--kp-muted);max-inline-size:var(--kp-measure);margin:0 auto;}

/* ===== contact form (FluentForm to De Vonk) ===== */
.kp-formwrap{width:100%;max-inline-size:var(--kp-measure-why);margin:0 auto;background:var(--kp-wit);border:1px solid var(--kp-lijn);border-radius:var(--radius-xl,26px);padding:var(--space-l,2.5rem);}
.kp-formwrap .ff-el-group{margin-block-end:var(--space-s,1rem);}
.kp-formwrap label{font-weight:600;color:var(--kp-ink);font-size:var(--text-s);}
.kp-formwrap input[type=text],.kp-formwrap input[type=email],.kp-formwrap select,.kp-formwrap textarea{width:100%;border:1px solid var(--kp-lijn)!important;border-radius:var(--radius-l,14px)!important;padding:.7rem .9rem!important;font-family:var(--kp-body);font-size:var(--text-m);background:var(--kp-wit);color:var(--kp-ink);box-shadow:none!important;}
.kp-formwrap input:focus,.kp-formwrap select:focus,.kp-formwrap textarea:focus{outline:2px solid var(--kp-vonk);outline-offset:1px;border-color:var(--kp-vonk-text)!important;}
.kp-formwrap .ff-btn-submit,.kp-formwrap button[type=submit]{background:var(--kp-vonk)!important;color:#fff!important;border:0!important;border-radius:var(--kp-btn-r,14px)!important;padding:.85rem 1.55rem!important;font-weight:700!important;font-family:var(--kp-body)!important;box-shadow:0 14px 28px -12px rgba(249,115,22,.55)!important;cursor:pointer;min-block-size:var(--kp-icon);}
.kp-formwrap .ff-btn-submit:hover,.kp-formwrap button[type=submit]:hover{background:var(--kp-vonk-hover)!important;}
.kp-contact__info{text-align:center;margin-block-start:var(--space-m,1.4rem);color:var(--kp-muted);font-size:var(--text-s);}
.kp-contact__info a{color:var(--kp-vonk-text);font-weight:700;}
/* in-text mailto/e-mail links: kit a11y floor (FDS §7) — brand-text token op ivoor ≥4.5:1 + underline (CC 2026-08-10) */
body :is(.kp-sec,.kp-sec--tight,.kp-sec--flow,.kp-sec--mid) a[href^="mailto:"]{color:var(--kp-vonk-text);text-decoration:underline;}
.kp-contact__kvk{text-align:center;margin-block-start:var(--space-s,.8rem);font-size:var(--text-xs);color:var(--kp-muted);}

/* ===== prijzen ===== */
.kp-price__grid{display:grid;grid-template-columns:1fr;gap:var(--space-s,1.4rem);margin-top:0;align-items:stretch;width:100%;}

.kp-plan{border:1px solid var(--kp-lijn);border-radius:var(--radius-xl,26px);padding:var(--space-l,2rem);display:flex;flex-direction:column;background:var(--kp-wit);position:relative;}
.kp-plan--hoofd{border:2px solid var(--kp-vonk);box-shadow:0 26px 50px -26px rgba(249,115,22,.4);}
.kp-plan__tagtop{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--kp-vonk);color:#fff;font-size:var(--text-xs);font-weight:700;padding:.24rem .85rem;border-radius:var(--kp-pill);white-space:nowrap;}
.kp-plan h3{font-size:var(--h4);margin:0;}
.kp-plan__psub{font-size:var(--text-s);color:var(--kp-muted);margin:.2rem 0 .5rem;}
.kp-plan__amt{font-family:var(--kp-disp);font-weight:800;font-size:var(--h2);color:var(--kp-ink);margin:.3rem 0 0;}
.kp-plan__amt small{font-size:var(--text-s);color:var(--kp-muted);font-weight:500;}
.kp-plan__list{list-style:none;margin:1.1rem 0 1.6rem;padding:0;flex:1;display:flex;flex-direction:column;gap:.34rem;}
.kp-plan__li{font-size:var(--text-s);color:var(--kp-slate);display:flex;gap:.55rem;align-items:flex-start;}
.kp-plan__li::before{content:"";flex:0 0 13px;height:13px;margin-top:6px;background:var(--kp-vonk);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);}
.kp-price__note{text-align:center;font-size:var(--text-s);color:var(--kp-muted);margin-top:var(--space-s,1.4rem);}
.kp-papier{display:grid;grid-template-columns:1fr;gap:var(--space-s,1.4rem);}

.kp-kant{display:flex;flex-direction:column;gap:var(--space-s);border-radius:var(--radius-l,18px);padding:var(--space-l);border:1px solid var(--kp-lijn);background:var(--kp-wit);}
.kp-kant--wint{background:var(--kp-ink-deep);border-color:var(--kp-ink-deep);color:#fff;}
.kp-kant--wint h3,.kp-kant--wint b{color:#fff;}
.kp-kant--wint p{color:#B7C1D2;}
.kp-faq{max-inline-size:var(--kp-measure-faq);margin:0 auto;}
.kp-faq details{border:1px solid var(--kp-lijn);border-radius:var(--radius-l,18px);padding:1.05rem 1.4rem;margin-block-end:.85rem;background:var(--kp-wit);}
.kp-faq summary{font-family:var(--kp-disp);font-weight:700;color:var(--kp-ink);cursor:pointer;font-size:var(--text-m);list-style:none;}
.kp-faq summary::-webkit-details-marker{display:none;}
.kp-faq details[open] summary{margin-block-end:.6rem;}
.kp-faq p{font-size:var(--text-s);color:var(--kp-muted);margin:0;}

/* ===== bedankt ===== */
.kp-bedankt{max-inline-size:var(--kp-measure-why);margin:0 auto;text-align:center;}
.kp-bedankt__icon{width:64px;height:64px;border-radius:50%;background:var(--kp-vonk-wash);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-s,1rem);font-size:2rem;}
.kp-bedankt__steps{list-style:none;margin:var(--space-m,1.6rem) auto 0;padding:0;max-inline-size:var(--kp-measure);text-align:left;display:flex;flex-direction:column;gap:.6rem;}
.kp-bedankt__steps li{display:flex;gap:.6rem;align-items:flex-start;color:var(--kp-slate);font-size:var(--text-s);}
.kp-bedankt__steps li::before{content:"";flex:0 0 14px;height:14px;margin-top:5px;background:var(--kp-vonk);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);}


/* ===== legal (iubenda white-label embed) -> De Vonk restyle ===== */
.kp-legal{max-inline-size:var(--kp-legal-measure,46rem);width:100%;min-inline-size:0;margin-inline:0;}
/* typography: Plus Jakarta body, Bricolage headings, ink/slate */
body .kp-legal,body .kp-legal p,body .kp-legal li,body .kp-legal td,body .kp-legal th,body .kp-legal span,body .kp-legal div,body .kp-legal a,body .kp-legal button{font-family:var(--kp-body)!important;}
body .kp-legal{color:var(--kp-slate);line-height:1.6;}
body .kp-legal p,body .kp-legal li{color:var(--kp-slate);}
body .kp-legal h1,body .kp-legal h2,body .kp-legal h3,body .kp-legal h4,body .kp-legal .main-header__meta{font-family:var(--kp-disp)!important;color:var(--kp-ink)!important;line-height:1.22;letter-spacing:-.015em;}
/* accent: iubenda green -> vonk-orange */
body .kp-legal a{color:var(--kp-vonk-text)!important;}
body .kp-legal svg{color:var(--kp-vonk-text)!important;fill:var(--kp-vonk)!important;}
body .kp-legal [class*="summary"]{border-top-color:var(--kp-vonk-text)!important;}
/* outer green header bar -> slim vonk accent */
body .kp-legal > div:first-child > div:first-child{border-top-color:var(--kp-vonk-text)!important;border-top-width:6px!important;}
/* iubenda green icons (imgs + h*::before data-URI SVGs) -> vonk (flatten + recolor) */
body .kp-legal img,
body .kp-legal *::before,
body .kp-legal *::after{filter:brightness(0) saturate(100%) invert(58%) sepia(72%) saturate(1930%) hue-rotate(347deg) brightness(99%) contrast(97%);}
/* cards & boxes -> kp chrome (flatten iubenda's) */
body .kp-legal .summary__card,body .kp-legal .data-we-collect-card,body .kp-legal .data-you-give-to-us-card,body .kp-legal .what-you-can-do-card,body .kp-legal .in-case-of-issues-card,body .kp-legal .body__details-box,body .kp-legal .third-parties-item,body .kp-legal .accordion__body{background:var(--kp-wit)!important;border:1px solid var(--kp-lijn)!important;border-radius:var(--radius-l,18px)!important;box-shadow:none!important;}
body .kp-legal .summary__card{border-top:5px solid var(--kp-vonk)!important;}
/* pills */
body .kp-legal .pill{background:var(--kp-vonk-wash)!important;color:var(--kp-vonk-text)!important;border-color:transparent!important;border-radius:var(--kp-pill)!important;}
/* buttons (manage cookies, cards) -> kp radius */
body .kp-legal .btn,body .kp-legal .card-button,body .kp-legal .iub-manage-preferences-btn{border-radius:var(--kp-btn-r,14px)!important;font-weight:600!important;}
/* lists */
body .kp-legal ul,body .kp-legal ol{padding-inline-start:1.3rem;}
/* neutralise iubenda footer credits/branding if present */
body .kp-legal .footer__credits{opacity:.55;font-size:var(--text-xs);}
/* mobile fluidity: no horizontal overflow, stack 2-col cards, scrollable tables */
body .kp-legal{overflow-x:hidden;overflow-wrap:anywhere;}
body .kp-legal *{max-inline-size:100%;}
body .kp-legal table{display:block;overflow-x:auto;}
/* summary cards: mobile-first — stacked base, iubenda 2-col grid when the container is wide */
body .kp-legal [class*="cards-wrapper"],body .kp-legal .summary__cards-wrapper{display:block!important;}
body .kp-legal .summary__card{width:auto!important;margin:0 0 var(--space-s,1rem)!important;}
@container (min-width:40rem){body .kp-legal [class*="cards-wrapper"],body .kp-legal .summary__cards-wrapper{display:grid!important;}body .kp-legal .summary__card{margin:0!important;}}
/* ===== homepage polish (mock parity) ===== */
:root{--kp-logo-h:48px;}
.kp-sec--flow{padding-block:var(--space-s,1rem) var(--section-space-m,5.5rem);}

.kp-stap__anim--end{align-items:flex-end;}
.kp-anim-kaart{width:86px;background:var(--kp-wit);border:1px solid var(--kp-lijn);border-radius:12px 12px 0 0;padding:10px 8px 6px;text-align:center;animation:kp-kaart-op 4.5s ease-in-out infinite;}
.kp-anim-kaart__av{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#FB923C,#F97316);margin:0 auto 4px;}
.kp-anim-kaart__nm{font-family:var(--kp-disp);font-weight:800;font-size:.6rem;color:var(--kp-ink);}
.kp-anim-kaart__co{font-size:.5rem;color:var(--kp-muted);}
.kp-anim-tel-row{display:flex;align-items:center;gap:10px;}
.kp-anim-tel-num{font-family:var(--kp-disp);font-weight:800;font-size:1.5rem;color:var(--kp-ink);}
.kp-anim-tel-num span{font-size:.75rem;color:var(--kp-muted);}
.kp-anim-qr{animation:kp-qr-puls 2.6s ease-in-out infinite;}
.kp-anim-tel{animation:kp-tel-tik 3s ease-in-out infinite;transform-origin:center;}
@keyframes kp-qr-puls{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}
@keyframes kp-kaart-op{0%,15%{transform:translateY(46px);opacity:0}35%,80%{transform:translateY(0);opacity:1}95%,100%{transform:translateY(46px);opacity:0}}
@keyframes kp-tel-tik{0%,40%{transform:scale(1)}50%{transform:scale(1.25)}60%,100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.kp-anim-qr,.kp-anim-kaart,.kp-anim-tel{animation:none!important;}}

/* card grids: mobile-first base (1fr, capped var(--col-width-l), centred); container query ADDS 3 cols (min-width enhancement — no media queries) */
@container (min-width:51rem){.kp-steps__grid,.kp-vwie__grid{grid-template-columns:repeat(3,1fr);max-inline-size:none;margin-inline:0;}}

/* reading-measure tokens (kit exceptions — no ACSS --col-width-* matches these design values; policy in SOP §5) */
:root{--kp-measure:33rem;--kp-measure-why:40rem;--kp-measure-faq:48.75rem;--kp-icon:44px;--kp-measure-pdp:46rem;--kp-measure-lead:34rem;--kp-measure-hlead:31rem;--kp-flow-col:96px;}
/* container contexts for hero/header/footer (kp-sec already set) */
.kp-hhero__section,.kp-header,.kp-footer,.kp-sec--tight,.kp-sec--mid{container-type:inline-size;}

/* ===== Fase 2: viewport breakpoints ported to container queries (mobile-first enhancements) ===== */
@container (min-width:51rem){body .kp-alles__list{grid-template-columns:1fr 1fr;}}
@container (min-width:31rem){.kp-stage{transform:none;height:460px;}}

@container (min-width:41rem){.kp-footer__inner{flex-direction:row;justify-content:space-between;text-align:start;gap:var(--space-m,1.5rem);}}
@container (min-width:53rem){body .kp-hhero__grid{grid-template-columns:1.02fr .98fr;gap:var(--space-xl,3.5rem);}}
@container (min-width:48rem){body .kp-prob__band{grid-template-columns:auto 1fr;padding:var(--space-l,3.6rem) var(--space-l,3rem);}}
@container (min-width:51rem){body .kp-alles{grid-template-columns:1fr 1.15fr;padding:var(--space-l,3rem);}}
@container (min-width:60rem){.kp-price__grid{grid-template-columns:repeat(3,1fr);}}
@container (min-width:48rem){.kp-papier{grid-template-columns:1fr 1fr;}}

/* hero intro: centre the eyebrow (direct child of a centred wrap) for cross-page consistency */
/* hero intro: match the home hero rhythm — kicker hugs the title, sub spaced by its own margin.
   Home nests the hero content so ACSS's --content-gap never falls between kicker and title;
   here we zero --content-gap on the hero wrap (use the variable, don't fight it) and space the
   sub with --space-m, exactly like the home lead's margin-top. */
section > div:has(> .kp-hero__title){--content-gap:0;gap:0;}
section > div:has(> .kp-hero__title) > .kp-eyebrow{align-self:center;margin-block:0 var(--space-s);}
section > div:has(> .kp-hero__title) > :is(.kp-sec__sub,.kp-hero__lead){margin-block-start:var(--space-m);}

/* band width normalise to content-width (beurs/partner bands have no kp-wrap; match home prob/cta band) */
body .kp-beurs__band,body .kp-partner__band{max-inline-size:var(--kp-content);margin-inline:auto;}

/* ===== hoe-het-werkt flow illustrations (reuse home kp-anim-*, flow-context size) ===== */
body .kp-flow__anim .kp-anim-qr{width:58px;height:58px;}
body .kp-flow__anim .kp-anim-kaart{width:74px;padding:8px 7px 6px;border-radius:10px;}
body .kp-flow__anim .kp-anim-kaart__av{width:22px;height:22px;margin:0 auto 3px;}
body .kp-flow__anim .kp-anim-kaart__nm{font-size:.55rem;}
body .kp-flow__anim .kp-anim-kaart__co{font-size:.45rem;}
body .kp-flow__anim .kp-anim-tel{width:26px;height:26px;}
body .kp-flow__anim .kp-anim-tel-num{font-size:1.2rem;}
body .kp-flow__anim .kp-anim-tel-row{gap:8px;}
body .kp-flow__step--done .kp-flow__anim{background:#ECFDF3;}
/* deelwijzen brand-SVG glyphs on vonk-wash chip (ink #1E293B, mono, equal weight) */
body .kp-deel__icon svg{width:26px;height:26px;display:block;}
/* bedankt: crisp inline-SVG check */
body .kp-bedankt__icon svg{width:30px;height:30px;display:block;}

/* ===== legal readability: single left-anchored column, headings left, tight rhythm (Mia 2026-07-13) ===== */
:root{--kp-legal-measure:52rem;}
body .kp-legal .aside-main-wrapper{display:block!important;}
body .kp-legal aside,body .kp-legal [class*="table-of-content"]{display:none!important;}
body .kp-legal main{margin-inline:0!important;}
body .kp-legal .main__section{align-items:flex-start!important;gap:0!important;}
body .kp-legal .main__section h1,body .kp-legal .main__section h2,body .kp-legal .main__section h3,body .kp-legal .main__section h4{text-align:left!important;align-self:stretch!important;}

/* zero iubenda container/main inline padding so body aligns with the page-H1 (container-left) */
body .kp-legal .container,body .kp-legal main,body .kp-legal .aside-main-wrapper,body .kp-legal .main__section{padding-inline:0!important;} /* container/main padding zero */

/* ===== mobile nav (hamburger + dropdown panel; mobile-first, @container 52rem) ===== */
.kp-header__actions{display:flex;align-items:center;gap:var(--space-s,.8rem);}
.kp-header__burger{display:inline-flex;align-items:center;justify-content:center;inline-size:44px;block-size:44px;padding:0;border:0;background:transparent;color:var(--kp-ink);cursor:pointer;border-radius:var(--kp-btn-r,14px);}
.kp-header__burger svg{width:24px;height:24px;display:block;}
.kp-header__burger .kp-burger-close{display:none;}
.kp-header__burger[aria-expanded="true"] .kp-burger-open{display:none;}
.kp-header__burger[aria-expanded="true"] .kp-burger-close{display:block;}
.kp-header__burger:focus-visible{outline:2px solid var(--kp-vonk);outline-offset:2px;}
.kp-header__nav{position:absolute;inset-block-start:100%;inset-inline:0;display:none;flex-direction:column;gap:var(--space-xs,.4rem);background:var(--kp-ivoor);border-bottom:1px solid var(--kp-lijn);padding:var(--space-m,1.5rem);box-shadow:0 14px 28px -14px rgba(15,23,42,.2);}
.kp-header__nav[data-open]{display:flex;}
@container (min-width:52rem){.kp-header__burger{display:none;}.kp-header__nav{position:static;display:flex;flex-direction:row;gap:var(--space-l,1.6rem);background:none;border:0;padding:0;box-shadow:none;}.kp-header__link{padding-block:0;}}

/* ===== legal round 2: intro-card left + kill empty-p whitespace + single spacing mechanism ===== */
body .kp-legal .main-header{align-items:flex-start!important;text-align:left!important;}
body .kp-legal .main-header h1,body .kp-legal .main-header h2,body .kp-legal .main-header p,body .kp-legal .main-header .main-header__meta{text-align:left!important;align-self:stretch!important;}
body .kp-legal p:empty{display:none!important;}

body .kp-legal h2,body .kp-legal h3,body .kp-legal h4{margin:var(--space-s,1rem) 0 var(--space-xs,.5rem) 0!important;}

/* legal round 2 follow-up: intro-header flush-left + kill list-margins + hide empty blocks */
body .kp-legal .main-header{padding-inline:0!important;}
body .kp-legal p,body .kp-legal ul,body .kp-legal ol{margin:0 0 var(--space-xs,.5rem) 0!important;}body .kp-legal li{margin-block:0!important;}
body .kp-legal .main__section > *:empty{display:none!important;}

/* centered-hero h1 centres in a .kp-center wrap (like the eyebrow rule) */
body .kp-wrap.kp-center > .kp-hero__title{align-self:center;text-align:center;}


/* kp-kant readability + result divider (was cramped: 0 internal spacing) */
.kp-kant p{line-height:1.6;margin:0;}
.kp-kant h3{margin:0;}
.kp-kant > p:last-child{margin-top:auto;padding-top:var(--space-s);border-top:1px solid var(--kp-lijn);}
.kp-kant--wint > p:last-child{border-top-color:rgba(255,255,255,.16);}

/* kp-papier vs-badge: central comparison hint between the two cards */
.kp-papier{position:relative;}
.kp-papier::after{content:"vs";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);inline-size:3.25rem;block-size:3.25rem;display:grid;place-items:center;border-radius:50%;background:var(--kp-vonk);color:#fff;border:4px solid var(--kp-ivoor);font-family:var(--kp-disp);font-weight:800;font-size:1rem;box-shadow:0 6px 18px rgba(15,23,42,.18);z-index:3;pointer-events:none;}

/* price wrap note-gap: kill the content-gap so the note sits at its own ~space-s margin (mock ~22px), not doubled */
section > div:has(> .kp-price__grid){--content-gap:0;}
.kp-price__note{margin-top:var(--space-s);}

/* ===================== FluentCart product page → De Vonk ===================== */
body.single-fluent-products .product-info-block-wrapper{max-inline-size:var(--kp-content,1140px);margin-inline:auto;padding-inline:var(--space-m,1.5rem);}
body.single-fluent-products .product-info-child-block .wp-block-columns{gap:var(--space-xl)!important;align-items:start;}
body.single-fluent-products .fct-product-gallery-wrapper{border:1px solid var(--kp-lijn);border-radius:22px;overflow:hidden;background:var(--kp-ivoor,#FAF6F0);}
body.single-fluent-products .fct-product-gallery-thumb img{display:block;width:100%;height:auto;}
body.single-fluent-products .wp-block-post-title{font-family:var(--kp-disp);font-weight:800;letter-spacing:-.025em;font-size:var(--h2);color:var(--kp-ink);margin:0 0 .6rem;}
body.single-fluent-products .fct-product-card-excerpt{color:var(--kp-muted);font-size:var(--text-m);line-height:1.6;margin:0 0 1.5rem;max-inline-size:var(--kp-measure);}
body.single-fluent-products .fct-product-card-prices{display:flex;align-items:baseline;gap:.5rem;margin:0 0 1.3rem;flex-wrap:wrap;}
body.single-fluent-products .fct-product-card-prices .fct-item-price{font-family:var(--kp-disp);font-weight:800;font-size:var(--h3);color:var(--kp-ink-deep,#0F172A);letter-spacing:-.02em;}
body.single-fluent-products .fct-product-card-prices .fct_price_suffix{font-size:var(--text-s);color:var(--kp-muted);font-weight:600;}
body.single-fluent-products .fct_buy_section{background:var(--kp-wit,#fff);border:1px solid var(--kp-lijn);border-radius:20px;padding:1.6rem;box-shadow:0 24px 50px -30px rgba(15,23,42,.35);position:sticky;top:calc(var(--header-height) + var(--space-s));}
body.single-fluent-products .fct-product-tab-nav{position:relative;display:flex;background:var(--kp-ivoor-deep,#F3EDE3);border-radius:12px;padding:4px;margin-bottom:1.3rem;}
body.single-fluent-products .fct-product-tab-nav-item{flex:1;text-align:center;padding:.6rem;border-radius:9px;font-weight:700;font-size:var(--text-s);color:var(--kp-muted);cursor:pointer;z-index:1;transition:.15s;}
body.single-fluent-products .fct-product-tab-nav-item.active{background:var(--kp-wit,#fff);color:var(--kp-ink);box-shadow:0 2px 6px -2px rgba(15,23,42,.2);}
body.single-fluent-products .tab-active-bar{display:none!important;}
body.single-fluent-products .fluent-cart-direct-checkout-button{display:flex!important;width:100%;justify-content:center;align-items:center;background:var(--kp-vonk)!important;color:#fff!important;font-weight:700;font-size:var(--text-m);padding:.95rem 1.2rem;border-radius:var(--kp-btn-r,14px);border:0;box-shadow:0 14px 28px -12px rgba(249,115,22,.55);transition:.18s;}
body.single-fluent-products .fluent-cart-direct-checkout-button:hover{background:#EA6A0A!important;transform:translateY(-1px);}
body.single-fluent-products .fct-product-buttons-wrap{margin-top:1.1rem;}
body.single-fluent-products .fct-product-buttons-wrap::after{display:block;text-align:center;font-size:var(--text-xs);color:var(--kp-muted);margin-top:.75rem;line-height:1.45;}
body.single-fluent-products.kp-has-trial .fct-product-buttons-wrap::after{content:'Je betaalt pas ná de proefperiode — opzeggen kan gratis.';}
body.single-fluent-products:not(.kp-has-trial) .fct-product-buttons-wrap::after{content:'Opzeggen kan altijd — geen kleine lettertjes.';}

/* FC product: reassurance below button + branded body sections */
body.single-fluent-products .fct-product-buttons-wrap{display:flex;flex-direction:column;}
body.single-fluent-products .kp-pdp-body{max-inline-size:var(--kp-content,1140px);margin:1rem auto 0;padding-inline:var(--space-m,1.5rem);container-type:inline-size;}
body.single-fluent-products .kp-pdp-strip{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:var(--space-xl);}
@container (min-width:52rem){body.single-fluent-products .kp-pdp-strip{grid-template-columns:repeat(4,1fr);}}
body.single-fluent-products .kp-pdp-vitem{background:var(--kp-wit,#fff);border:1px solid var(--kp-lijn);border-radius:16px;padding:1.5rem 1.3rem;}
body.single-fluent-products .kp-pdp-vitem .ic{width:var(--kp-icon);height:var(--kp-icon);border-radius:12px;background:var(--kp-vonk-wash,#FEF0E4);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;}
body.single-fluent-products .kp-pdp-vitem h3{font-family:var(--kp-disp);font-weight:800;font-size:var(--text-m);color:var(--kp-ink);margin:0 0 .3rem;}
body.single-fluent-products .kp-pdp-vitem p{font-size:var(--text-s);color:var(--kp-muted);margin:0;line-height:1.5;}
body.single-fluent-products .kp-pdp-desc{max-inline-size:var(--kp-measure-pdp);margin:0 0 var(--space-xl);}
body.single-fluent-products .kp-pdp-desc h2{font-family:var(--kp-disp);font-weight:800;font-size:var(--text-xxl);color:var(--kp-ink);margin:0 0 .7rem;}
body.single-fluent-products .kp-pdp-desc p{color:#3F4A5C;line-height:1.65;margin:0 0 1rem;}
body.single-fluent-products .kp-pdp-desc ul{margin:0 0 1rem;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;}
body.single-fluent-products .kp-pdp-desc li{display:flex;gap:.6rem;align-items:flex-start;color:#3F4A5C;}
body.single-fluent-products .kp-pdp-desc li::before{content:'';flex:0 0 14px;height:14px;margin-top:6px;background:var(--kp-vonk);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);}
body.single-fluent-products .kp-pdp-faq{max-inline-size:var(--kp-measure-pdp);}
body.single-fluent-products .kp-pdp-faq h2{font-family:var(--kp-disp);font-weight:800;font-size:var(--text-xxl);color:var(--kp-ink);margin:0 0 1.4rem;}
body.single-fluent-products .kp-pdp-faq details{border:1px solid var(--kp-lijn);border-radius:16px;padding:1.05rem 1.4rem;margin-bottom:.85rem;background:var(--kp-wit,#fff);}
body.single-fluent-products .kp-pdp-faq summary{font-family:var(--kp-disp);font-weight:700;color:var(--kp-ink);cursor:pointer;list-style:none;}
body.single-fluent-products .kp-pdp-faq summary::-webkit-details-marker{display:none;}
body.single-fluent-products .kp-pdp-faq details[open] summary{margin-bottom:.6rem;}
body.single-fluent-products .kp-pdp-faq p{font-size:var(--text-s);color:var(--kp-muted);margin:0;}

/* legal type scale (override iubenda oversized text) */
body .kp-legal,body .kp-legal p,body .kp-legal li,body .kp-legal td,body .kp-legal th{font-size:var(--text-m)!important;line-height:1.7!important;color:#3F4A5C!important;}
body .kp-legal h1{font-size:var(--h3)!important;line-height:1.15!important;}
body .kp-legal h2{font-size:var(--text-xxl)!important;line-height:1.25!important;}
body .kp-legal h3{font-size:var(--text-l)!important;line-height:1.3!important;}
body .kp-legal h4{font-size:var(--text-m)!important;line-height:1.4!important;}
body .kp-legal h1,body .kp-legal h2,body .kp-legal h3,body .kp-legal h4{color:var(--kp-ink)!important;font-weight:800!important;}

/* legal align to site content line (header logo/footer sit at container+30px; match it) */
body .kp-legal-title{text-align:center!important;align-items:center!important;}
body .kp-legal{margin-inline:auto!important;}

/* legal title->content gap: trim the 90px band-bottom (was 131px total to the body) */
body .kp-sec:has(.kp-legal-title){padding-block-end:var(--space-s,1rem)!important;}

/* iub-legalDoc padding: breathing room so text doesn't touch the white card edges */
body .kp-legal .container{padding-inline:var(--space-l,2.5rem)!important;}
body .kp-legal-title > .kp-eyebrow{align-self:center!important;}

/* legal heading icon-slot: iubenda only ships icons for some sections -> empty 48px on the rest. Remove the slot so all headings align flush. */
body .kp-legal .main__section h2::before,body .kp-legal .main__section h3::before,body .kp-legal .main__section h4::before{display:none!important;}

/* footer copy centered on its own full-width row */
body .kp-footer__copy{flex-basis:100%;text-align:center;}

/* legal section divider: remove the ::after separator line + its whitespace */
body .kp-legal .main__section::after{display:none!important;}

/* ===== FluentCart checkout — De Vonk (SOP §3: kit styles 3rd-party markup, consumes ACSS tokens) ===== */
body .fct-checkout .fct-input,body .fct-checkout .fct-nice-select{background:var(--kp-wit)!important;border:1px solid var(--kp-lijn)!important;border-radius:var(--radius-l,14px)!important;padding:var(--space-xs,.7rem) var(--space-s,.9rem)!important;font-family:var(--kp-body)!important;font-size:var(--text-m)!important;color:var(--kp-ink)!important;box-shadow:none!important;}
body .fct-checkout .fct-input:focus,body .fct-checkout .fct-input:focus-visible,body .fct-checkout .fct-nice-select.open{outline:2px solid var(--kp-vonk)!important;outline-offset:1px;border-color:var(--kp-vonk-text)!important;}
body .fct-checkout .fct_input_wrapper{margin-block-end:var(--space-xs,.6rem);}
body .fct-checkout .fct-input::placeholder{color:var(--kp-muted)!important;opacity:1;}
body .fct-checkout .fct_form_section_header_label,body .fct-checkout #order_summary_label{font-family:var(--kp-disp)!important;font-weight:700!important;font-size:var(--h4)!important;color:var(--kp-ink)!important;letter-spacing:-.01em;}
body .fct-checkout .fct_toggle_content,body .fct-checkout .fct_summary_wrapper{border:1px solid var(--kp-lijn)!important;border-radius:var(--radius-xl,26px)!important;background:var(--kp-wit)!important;}
body .fct-checkout .fct_summary_items_total,body .fct-checkout .fct_summary_toggle_total{font-family:var(--kp-disp)!important;font-weight:800!important;color:var(--kp-ink)!important;}
body .fct-checkout .fct_place_order_btn,body #fluent_cart_order_btn{background:var(--kp-vonk)!important;background-image:none!important;color:#fff!important;border:0!important;border-radius:var(--kp-btn-r,14px)!important;padding:var(--space-s,.95rem) var(--space-m,1.2rem)!important;font-family:var(--kp-body)!important;font-weight:700!important;font-size:var(--text-m)!important;box-shadow:0 14px 28px -12px rgba(249,115,22,.55)!important;min-block-size:52px!important;cursor:pointer;transition:.18s;}
body .fct-checkout .fct_place_order_btn:hover,body #fluent_cart_order_btn:hover{background:var(--kp-vonk-hover)!important;transform:translateY(-1px);}

/* checkout: container width+padding (was full-bleed) + nice-select fit (FluentCart's fixed 38px line-height pushed the label out of the field) */
body .fct-checkout{max-inline-size:var(--kp-content)!important;margin-inline:auto!important;padding-inline:var(--space-m,1.5rem)!important;}
body .fct-checkout .fct-nice-select{display:flex!important;align-items:center!important;block-size:auto!important;line-height:1.4!important;}
body .fct-checkout .fct-nice-select>.current{line-height:1.4!important;flex:1;text-align:start;}
body .fct-checkout .fct-nice-select-dropdown .list li{line-height:1.5!important;}

/* ===== product buy-box polish (Mia 2026-07-18): redundant single-variant card weg, prijs prominent + toggle-reactief; CTA focus-visible ===== */
body.single-fluent-products .fct-product-variant-item{display:none!important;}
body.single-fluent-products .fct-product-payment-type{font-size:var(--text-xl)!important;line-height:1.3!important;color:var(--kp-ink)!important;font-weight:600!important;text-align:center;margin-block:var(--space-s,1rem)!important;}
body.single-fluent-products .fct-product-payment-type .fct_price_suffix{display:inline-block;margin-inline-start:.4rem;font-size:var(--text-s)!important;font-weight:400!important;color:var(--kp-muted)!important;}
body .kp-btn.kp-btn--vonk:focus-visible,body .kp-header__cta:focus-visible,body.single-fluent-products .fluent-cart-direct-checkout-button:focus-visible,body .fct-checkout .fct_place_order_btn:focus-visible,body #fluent_cart_order_btn:focus-visible{outline:3px solid var(--kp-ink-deep)!important;outline-offset:2px!important;}

/* ===== checkout top-spacing + kop boven basisvelden (Mark 2026-07-18) ===== */
body .fct-checkout{padding-block-start:var(--space-xl,3rem)!important;}
body .fct-checkout #billing_personal_information_section::before{content:'Contactgegevens';display:block;font-family:var(--kp-disp)!important;font-weight:700;font-size:var(--h4);line-height:1.2;letter-spacing:-.01em;color:var(--kp-ink);margin-block-end:var(--space-s,1rem);}

/* ===== account/klantenportal (FluentCart customer-profile, page 180) — in container + De Vonk ===== */
body.page-id-180 main{padding-inline:var(--space-m,1.5rem)!important;padding-block:var(--space-xl,3rem) var(--space-xxl,4rem)!important;}
body.page-id-180 .fct_customer_profile_wrap{max-inline-size:var(--kp-content);margin-inline:auto;}
body.page-id-180 .wp-block-post-title,body.page-id-180 h1{font-family:var(--kp-disp)!important;color:var(--kp-ink)!important;}
body .fct_auth_wrap{max-inline-size:var(--kp-measure,33rem);margin-inline:auto;margin-block-start:var(--space-m,1.5rem);background:var(--kp-wit);border:1px solid var(--kp-lijn);border-radius:var(--radius-xl,26px);padding:var(--space-l,2.5rem);text-align:center;}
body .fct_auth_message{color:var(--kp-slate);font-size:var(--text-m);margin:0 0 var(--space-s,1rem);}
body .fct_auth_wrap a,body .fct_auth_wrap .fct_btn{display:inline-flex;align-items:center;justify-content:center;background:var(--kp-vonk)!important;color:#fff!important;font-family:var(--kp-body)!important;font-weight:700!important;font-size:var(--text-m)!important;padding:var(--space-s,.85rem) var(--space-m,1.5rem)!important;border-radius:var(--kp-btn-r,14px)!important;text-decoration:none!important;min-block-size:var(--kp-icon);box-shadow:0 14px 28px -12px rgba(249,115,22,.55);transition:.18s;}
body .fct_auth_wrap a:hover{background:var(--kp-vonk-hover)!important;}
body .fct_auth_wrap a:focus-visible{outline:3px solid var(--kp-ink-deep)!important;outline-offset:2px!important;}

/* ===== NL-localisatie polish (Mia 2026-07-19): B2B-toggle duidelijk aan/uit + account showcase ===== */
body .fct-checkout #fct_wrapper_is_business label,body .fct-checkout label[for=is_business]{display:inline-flex;align-items:center;gap:var(--space-xs,.6rem);cursor:pointer;color:var(--kp-ink);font-weight:600;}
body .fct-checkout #is_business{appearance:none!important;-webkit-appearance:none!important;inline-size:46px!important;block-size:28px!important;border-radius:999px!important;background:#D1D5DB!important;border:0!important;position:relative!important;cursor:pointer;transition:background .18s;flex:none;margin:0;}
body .fct-checkout #is_business::before{content:"";position:absolute;inset-block-start:3px;inset-inline-start:3px;inline-size:22px;block-size:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.3);transition:inset-inline-start .18s;}
body .fct-checkout #is_business:checked{background:var(--kp-vonk)!important;}
body .fct-checkout #is_business:checked::before{inset-inline-start:21px;}
body .fct-checkout #is_business:focus-visible{outline:3px solid var(--kp-ink-deep);outline-offset:2px;}
body.page-id-180 main:has(.fct_auth_wrap){min-block-size:62vh;display:flex;flex-direction:column;justify-content:center;}
body .fct_auth_wrap::after{content:"Beheer je bestellingen, facturen en abonnement — allemaal op één plek.";display:block;margin-block-start:var(--space-s,1rem);color:var(--kp-muted);font-size:var(--text-s);line-height:1.5;}

/* ===== post-purchase kaart-activatie (Mia 2026-07-20): één primaire vervolgstap op de order-ontvangen-pagina ===== */
.kp-activatie{display:flex;flex-direction:column;align-items:center;gap:var(--space-s,1rem);max-inline-size:var(--kp-content);margin-inline:auto;margin-block:var(--space-m,1.5rem);padding-inline:var(--space-m,1.5rem);text-align:center;}
.kp-activatie__lead{margin:0;max-inline-size:var(--kp-measure);color:var(--kp-muted);font-size:var(--text-s);line-height:1.5;}
