/* Oefenkaartje: marketingsite (homepage, tekstpagina's, 404).
   Overgenomen uit design/reference/homepage.html (de <style>-blokken). */
/* =========================================================
   Tokens
   Typografie, ruimte en vormen zijn afgeleid van Mollie en
   Buckaroo: rustige koppen (gewicht 500), grijze lopende tekst,
   kleine knoppen, één accentkleur spaarzaam ingezet.
   ========================================================= */
:root{
  --navy:#261A66; --navy-600:#33268A; --navy-300:#9C93C9; --navy-100:#ECEAF6;
  --orange:#EF5F18; --orange-700:#B2400A; --orange-100:#FDE6DA;
  --ink:#16123A;                 /* koppen */
  --text:#16123A;
  --muted:rgba(22,18,58,.62);    /* lopende tekst, zoals Mollie 65% zwart */
  --faint:rgba(22,18,58,.45);
  --line:rgba(22,18,58,.10);     /* haarlijnen */
  --warm:#F6F4F1;                /* warme kaartachtergrond, zoals Mollie */
  --app:#F1F0F6;                 /* achtergrond in de app-mockups */
  --success:#1F9D62;
  --font-display:"Poppins","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-body:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --container:1280px;
  --gutter:32px;
  --section:144px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:#fff;color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.ms{width:1em;height:1em;overflow:hidden;flex:none;font-family:"Material Symbols Rounded";font-weight:normal;font-style:normal;font-size:22px;line-height:1;display:inline-block;white-space:nowrap;-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;user-select:none}
.fill{font-variation-settings:'FILL' 1,'wght' 500,'GRAD' 0,'opsz' 24}
.wrap{max-width:calc(var(--container) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}

/* typografie */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;color:var(--ink);margin:0;text-wrap:balance}
.h1{font-size:clamp(42px,5.2vw,72px);line-height:1.04;letter-spacing:-.035em}
.h2{font-size:clamp(32px,3.6vw,48px);line-height:1.1;letter-spacing:-.03em}
.h3{font-size:24px;line-height:1.2;letter-spacing:-.02em}
.h4{font-size:18px;line-height:1.3;letter-spacing:-.01em}
.lead{font-size:18px;line-height:1.6;color:var(--muted);margin:0;max-width:44ch}
.small{font-size:15px;line-height:1.55;color:var(--muted);margin:0}
.label{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:500;font-size:14px;color:var(--muted);margin-bottom:20px}
.label::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--orange)}

/* knoppen: klein en rustig */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;border:0;font-family:var(--font-display);font-weight:500;font-size:15px;cursor:pointer;white-space:nowrap;transition:background-color .25s var(--ease),color .25s var(--ease)}
.btn:focus-visible,.link:focus-visible,.nav a:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--orange)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--navy-600)}
.btn-soft{background:var(--warm);color:var(--ink)}
.btn-soft:hover{background:#ECE8E3}
.btn-sm{height:40px;padding:0 18px;font-size:14px}
.link{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-display);font-weight:500;font-size:15px;color:var(--orange-700);border-radius:6px}
.link .ms{font-size:20px;transition:transform .25s var(--ease)}
.link:hover .ms{transform:translateX(3px)}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);transition:box-shadow .3s var(--ease)}
.nav.scrolled{box-shadow:0 1px 0 var(--line)}
.nav .wrap{display:flex;align-items:center;height:72px;gap:32px}
.logo{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.02em;color:var(--ink);border-radius:6px}
.logo svg{width:26px;height:26px}
.nav-links{display:flex;gap:28px}
.nav-links a{font-family:var(--font-display);font-size:14px;font-weight:500;color:var(--muted);transition:color .2s;border-radius:6px;padding:6px 0}
.nav-links a:hover{color:var(--ink)}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:20px}
.nav-cta .login{font-family:var(--font-display);font-size:14px;font-weight:500;color:var(--ink);padding:6px 0;border-radius:6px}

/* =================== HERO (Mollie: gesplitste kop + brede foto) =================== */
.hero{padding:88px 0 0}
.hero-top{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:end}
.hero-side{display:flex;flex-direction:column;gap:24px;padding-bottom:8px}
.signup{max-width:440px}
.signup-row{display:flex;gap:6px;background:#fff;padding:5px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line),0 4px 18px rgba(22,18,58,.05);transition:box-shadow .25s var(--ease)}
.signup-row:focus-within{box-shadow:inset 0 0 0 1.5px var(--navy),0 4px 18px rgba(22,18,58,.08)}
.signup-row label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.signup-row input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;color:var(--ink);padding:0 16px}
.signup-row input::placeholder{color:var(--faint)}
.signup-row input:focus{outline:none}
.signup-note{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:14px;color:var(--muted)}
.signup-note span{display:inline-flex;align-items:center;gap:6px}
.signup-note .ms{font-size:18px;color:var(--success)}
.signup-error{display:none;color:#C23434;font-size:14px;margin-top:10px}
.signup.is-error .signup-error{display:block}

.hero-media{position:relative;margin-top:56px;border-radius:24px;overflow:hidden;aspect-ratio:16/9;width:100%;background:#261A66;box-shadow:0 30px 80px rgba(22,18,58,.16)}
.hero-media video{width:100%;height:100%;display:block;object-fit:cover;background:#261A66}

@keyframes settle{from{transform:scale(1.04)}to{transform:scale(1)}}
.chips{position:absolute;left:32px;top:32px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.chip{display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:14px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:var(--font-display);font-weight:500;font-size:15px;color:var(--ink);box-shadow:0 6px 24px rgba(22,18,58,.10);opacity:0;transform:translateY(8px);animation:chip .7s var(--ease) forwards}
.chip:nth-child(1){animation-delay:.5s}.chip:nth-child(2){animation-delay:.75s}.chip:nth-child(3){animation-delay:1s}
@keyframes chip{to{opacity:1;transform:none}}
.chip .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}
.chip .ic .ms{font-size:18px}
.ic-green{background:var(--success);color:#fff}
.ic-orange{background:var(--orange-100);color:var(--orange)}
.ic-navy{background:var(--navy-100);color:var(--navy)}




.video-link{display:inline-flex;align-items:center;gap:10px;margin-top:18px;border:0;background:none;padding:4px 0;font-family:var(--font-display);font-weight:500;font-size:15px;color:var(--ink);cursor:pointer;border-radius:6px}
.video-link .ms{width:30px;height:30px;border-radius:50%;background:var(--orange-100);color:var(--orange);display:grid;place-items:center;font-size:20px}
.video-link:hover{color:var(--navy)}
.video-link:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--orange)}
/* demovideo in de hero */
.vplay{position:absolute;inset:0;border:0;padding:0;background:linear-gradient(180deg,rgba(22,18,58,.10),rgba(22,18,58,.38));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;cursor:pointer;transition:background .3s var(--ease)}
.vplay:hover{background:linear-gradient(180deg,rgba(22,18,58,.16),rgba(22,18,58,.46))}
.vplay:focus-visible{outline:none;box-shadow:inset 0 0 0 4px var(--orange)}
.vplay-btn{width:112px;height:112px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;box-shadow:0 18px 50px rgba(239,95,24,.45),0 0 0 12px rgba(255,255,255,.22);transition:transform .3s var(--ease)}
.vplay:hover .vplay-btn{transform:scale(1.06)}
.vplay-btn .ms{font-size:60px;margin-left:6px}
.vplay-label{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 20px;border-radius:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink)}
.vplay-label b{font-family:var(--font-display);font-weight:500;font-size:17px}
.vplay-label small{font-size:13.5px;color:var(--muted)}
.hero-media.playing .vplay{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.vplay-btn{animation:pulse 2.6s var(--ease) infinite}}
@keyframes pulse{0%,100%{box-shadow:0 18px 50px rgba(239,95,24,.45),0 0 0 12px rgba(255,255,255,.22)}50%{box-shadow:0 18px 50px rgba(239,95,24,.45),0 0 0 20px rgba(255,255,255,.10)}}
@media (max-width:720px){.vplay-btn{width:76px;height:76px}.vplay-btn .ms{font-size:44px}.vplay{gap:12px}.vplay-label{padding:8px 14px}.vplay-label b{font-size:15px}}

/* =================== secties =================== */
section{padding:var(--section) 0}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:64px}
.section-head .lead{justify-self:end}
.center{text-align:center}
.center .lead{margin:20px auto 0}

/* reveal bij scrollen (Mollie fade-up, Buckaroo fadeIn) */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-media img,.chip{animation:none;opacity:1;transform:none}}

/* =================== STAPPEN (Buckaroo: 3 cirkels met stippellijn) =================== */
.steps-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.steps-wrap .h2{margin-bottom:28px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.steps::before{content:"";position:absolute;top:48px;left:16.6%;right:16.6%;border-top:2px dotted var(--navy-300)}
.step{text-align:center;position:relative;padding:0 12px}
.step .num{width:96px;height:96px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;margin:0 auto 24px;font-family:var(--font-display);font-weight:500;font-size:40px;letter-spacing:-.02em;position:relative}
.step:nth-child(1) .num::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px solid var(--orange);opacity:.0}
.step .h4{margin-bottom:8px}
.step p{margin:0 auto;max-width:24ch;font-size:15px;color:var(--muted);line-height:1.55}

/* =================== FUNCTIES (Mollie: warme kaarten + lijnenraster) =================== */
.cards-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.wcard{background:var(--warm);border-radius:24px;padding:40px 40px 0;display:flex;flex-direction:column;min-height:520px;overflow:hidden}
.wcard .small{margin-top:12px;max-width:40ch}
.wcard .link{margin-top:20px}
.wcard .vis{margin-top:auto;display:flex;justify-content:center;padding-top:40px}

/* mini-telefoon die onderaan uit de kaart loopt */
.mphone{width:300px;background:#16123A;border-radius:40px 40px 0 0;padding:10px 10px 0;box-shadow:0 20px 60px rgba(22,18,58,.18)}
.mscreen{background:var(--app);border-radius:32px 32px 0 0;padding:40px 14px 16px;display:flex;flex-direction:column;gap:10px;color:var(--ink);position:relative;height:300px;overflow:hidden}
.mscreen::before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:80px;height:22px;border-radius:12px;background:#16123A}
.ex{background:#fff;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:10px}
.ex-top{display:flex;align-items:center;gap:10px}
.n{width:32px;height:32px;border-radius:10px;background:var(--orange-100);color:var(--orange-700);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:14px;flex:none}
.ex-top b{flex:1;font-family:var(--font-display);font-weight:500;font-size:15px}
.dose{display:inline-flex;align-items:baseline;gap:4px;height:26px;padding:0 9px;border-radius:8px;background:var(--navy);color:#fff;font-family:var(--font-display);line-height:26px;font-size:13px;white-space:nowrap}
.dose b{font-weight:600;font-size:14px}
.dose i{font-style:normal;color:var(--orange);font-weight:600}
.vid{border-radius:12px;aspect-ratio:16/8;background:linear-gradient(135deg,#261A66,#4A3D8F);display:grid;place-items:center}
.vid span{width:40px;height:40px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center}
.done{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:12px;background:var(--success);color:#fff;font-family:var(--font-display);font-weight:500;font-size:15px}
.week{display:flex;justify-content:space-between;padding:4px 2px}
.wd{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:500;font-size:13px;background:#fff;box-shadow:inset 0 0 0 1.5px #E3E1EC}
.wd .ms{font-size:18px;font-variation-settings:'FILL' 0,'wght' 700,'GRAD' 0,'opsz' 20}
.wd.d{background:var(--success);color:#fff;box-shadow:none}
.wd.t{background:var(--orange);color:#fff;box-shadow:none}
.streak{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:14px}
.streak .big{font-family:var(--font-display);font-weight:500;font-size:40px;line-height:1;letter-spacing:-.03em;color:var(--orange)}
.streak span{font-size:14px;color:var(--muted);line-height:1.35}

.grid-lines{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.gl{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.gl .ms{color:var(--orange);font-size:24px;margin-bottom:6px}
.gl .h4{font-size:17px}
.gl p{margin:0;font-size:15px;color:var(--muted);line-height:1.55}

/* =================== PROBLEEM =================== */
.problem{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.photo{border-radius:24px;overflow:hidden;background:var(--warm)}
.photo img{width:100%;height:100%;object-fit:cover}
.statline{display:flex;align-items:baseline;gap:20px;margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.statline b{font-family:var(--font-display);font-weight:500;font-size:56px;line-height:1;letter-spacing:-.04em;color:var(--orange);white-space:nowrap}
.statline b small{font-size:22px;letter-spacing:0;margin-right:6px;color:var(--muted)}
.statline span{font-size:15px;color:var(--muted);max-width:34ch;line-height:1.5}
.rows{margin-top:40px;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:1fr 24px 1fr;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.row .was{color:var(--faint);font-size:16px;text-decoration:line-through;text-decoration-color:rgba(22,18,58,.25)}
.row .arrow{color:var(--faint);font-size:20px}
.row .now{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:500;font-size:16px;color:var(--ink)}
.row .now .ms{color:var(--orange);font-size:20px}

/* =================== GRATIS (Mollie: donkere kaart met oranje gloed) =================== */
.free{position:relative;background:var(--navy);border-radius:32px;padding:120px 48px;text-align:center;overflow:hidden;color:#fff}
.free::before{content:"";position:absolute;left:50%;top:55%;width:720px;height:720px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(239,95,24,.55) 0%,rgba(239,95,24,.18) 38%,rgba(38,26,102,0) 68%);pointer-events:none}
.free > *{position:relative}
.free .label{color:rgba(255,255,255,.7)}
.free .h2{color:#fff;font-size:clamp(36px,4.6vw,64px)}
.free .lead{color:rgba(255,255,255,.72);margin:20px auto 0}
.free-checks{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 32px;margin:40px 0}
.free-checks > span{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:500;font-size:15px}
.free-checks .ms{font-size:20px;color:#FFB48D}
.free .btn-dark{background:#fff;color:var(--navy)}
.free .btn-dark:hover{background:#F1EFFA}

/* =================== WAARVOOR =================== */
.uses-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:stretch}
.uses-wrap .photo{min-height:560px}
.use-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:40px}
.use-list div{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:500;font-size:16px}
.use-list div:nth-child(odd){padding-right:24px}
.use-list .ms{color:var(--navy);font-size:22px}
.why{display:grid;grid-template-columns:repeat(3,1fr);margin-top:96px}
.why div{padding:0 32px;border-left:1px solid var(--line)}
.why div:first-child{padding-left:0;border-left:0}
.why .ms{font-size:26px;color:var(--orange);margin-bottom:16px}
.why p{margin:8px 0 0;font-size:15px;color:var(--muted);line-height:1.55;max-width:32ch}

/* =================== FAQ =================== */
.faq{max-width:840px;margin:56px auto 0;border-top:1px solid var(--line)}
.q{border-bottom:1px solid var(--line)}
.q button{width:100%;border:0;background:none;font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--ink);text-align:left;padding:26px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;letter-spacing:-.01em}
.q button:focus-visible{outline:none;box-shadow:inset 0 -2px 0 var(--orange)}
.q .tog{width:32px;height:32px;border-radius:50%;background:var(--warm);display:grid;place-items:center;flex:none;transition:transform .35s var(--ease),background .25s}
.q .tog .ms{font-size:20px}
.q[data-open="true"] .tog{transform:rotate(45deg);background:var(--orange-100);color:var(--orange-700)}
.q .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.q[data-open="true"] .a{grid-template-rows:1fr}
.q .a > div{overflow:hidden}
.q .a p{margin:0;padding:0 56px 28px 0;color:var(--muted);font-size:16px;line-height:1.65}

/* =================== SLOT (Mollie: warme kaart, statement links, info rechts) =================== */
.final{background:var(--warm);border-radius:32px;padding:72px;display:grid;grid-template-columns:1.3fr .7fr;gap:64px;align-items:end}
.final .h2{font-size:clamp(32px,3.8vw,52px)}
.final .signup{margin-top:36px}
.final-side{border-left:1px solid var(--line);padding-left:32px}
.final-side .photo{aspect-ratio:4/3;margin-bottom:24px;border-radius:18px}

footer{padding:72px 0 56px}
.foot{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.foot h4{font-size:14px;font-weight:500;color:var(--ink);margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.foot a{font-size:15px;color:var(--muted);transition:color .2s;display:inline-block;padding:3px 0}
.foot a:hover{color:var(--ink)}
.foot p{max-width:30ch}
.legal{display:flex;justify-content:space-between;padding-top:24px;font-size:14px;color:var(--faint)}

/* =================== responsive =================== */
@media (max-width:1080px){
  :root{--section:112px}
  .hero-top,.section-head,.steps-wrap,.problem,.uses-wrap,.final{grid-template-columns:1fr;gap:40px}
  .section-head .lead{justify-self:start}
  .cards-2{grid-template-columns:1fr}
  .grid-lines{grid-template-columns:1fr 1fr}
  .final-side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:32px}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  :root{--gutter:20px;--section:88px}
  body{font-size:16px}
  .nav-links,.nav-cta .login{display:none}
  .nav .wrap{height:64px}
  .hero{padding-top:48px}
  .hero-media{margin-top:40px;border-radius:18px}
  .signup-row{flex-direction:column;border-radius:20px;padding:6px}
  .signup-row input{height:50px;flex:none}
  .signup-row .btn{width:100%}
  .steps{grid-template-columns:1fr;gap:32px}
  .steps::before{display:none}
  .step{display:grid;grid-template-columns:72px 1fr;gap:16px;text-align:left;align-items:center;padding:0}
  .step .num{width:72px;height:72px;font-size:30px;margin:0}
  .step p{margin:0;max-width:none}
  .wcard{padding:28px 24px 0;min-height:0}
  .grid-lines{grid-template-columns:1fr}
  .gl{padding:24px}
  .row{grid-template-columns:1fr;gap:4px}
  .row .arrow{display:none}
  .free{padding:80px 24px;border-radius:24px}
  .free::before{width:480px;height:480px}
  .uses-wrap .photo{min-height:380px}
  .use-list{grid-template-columns:1fr}
  .use-list div:nth-child(odd){padding-right:0}
  .why{grid-template-columns:1fr;gap:32px;margin-top:64px}
  .why div{padding:0;border-left:0}
  .final{padding:40px 24px;border-radius:24px}
  .foot{grid-template-columns:1fr}
  .legal{flex-direction:column;gap:8px}
}
@media (max-width:380px){
  :root{--gutter:16px}
  .logo{font-size:16px}
  .nav .btn-sm{padding:0 14px}
}

/* =========================================================
   WordPress (plugin oefenkaartje-app)
   ========================================================= */
/* sticky header onder de WordPress-adminbalk (alleen voor ingelogde beheerders) */
.admin-bar .nav{top:32px}
@media (max-width:782px){.admin-bar .nav{top:46px}}
@media (max-width:600px){.admin-bar .nav{top:0}}

/* =================== TEKSTPAGINA'S (privacy, voorwaarden) =================== */
.page-main{padding:88px 0 var(--section)}
.page-col{max-width:720px;margin:0 auto}
.page-col > .h2{margin-bottom:40px}
.prose{font-size:17px;line-height:1.7;color:var(--muted)}
.prose > *{margin:0 0 20px}
.prose > :last-child{margin-bottom:0}
.prose h2,.prose h3,.prose h4{color:var(--ink)}
.prose h2{font-size:24px;line-height:1.2;letter-spacing:-.02em;margin:48px 0 16px}
.prose h3{font-size:18px;line-height:1.3;letter-spacing:-.01em;margin:36px 0 12px}
.prose h4{font-size:17px;line-height:1.3;margin:28px 0 10px}
.prose strong,.prose b{color:var(--ink);font-weight:600}
.prose a{color:var(--orange-700);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--ink)}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin:6px 0}
.prose img{height:auto;border-radius:18px}
.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.prose blockquote{margin:0 0 20px;padding-left:20px;border-left:2px solid var(--orange)}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line)}
@media (max-width:720px){.page-main{padding-top:48px}.prose{font-size:16px}}

/* =================== 404 =================== */
.notfound{text-align:center}
.notfound .h1{margin-bottom:40px}

/* =================== BLOG (overzicht, artikelen, productblok) =================== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;margin:0;font-family:var(--font-display);font-weight:500;font-size:13.5px;color:var(--faint)}
.post-meta__dot{color:var(--navy-300)}

/* overzicht */
.blog-main{padding:88px 0 var(--section)}
.blog-head{max-width:760px;margin-bottom:48px}
.blog-head .h1{margin-bottom:20px}
.blog-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.blog-filter a{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;background:var(--warm);font-family:var(--font-display);font-weight:500;font-size:14px;color:var(--muted);transition:background-color .2s,color .2s}
.blog-filter a:hover{color:var(--ink);background:#ECE8E3}
.blog-filter a[aria-current="page"]{background:var(--navy);color:#fff}
.blog-filter a:focus-visible,.post-card__link:focus-visible,.blog-pages a:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--orange)}
.blog-empty{padding:48px 0}

.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card__link{display:flex;flex-direction:column;height:100%;background:var(--warm);border-radius:24px;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.post-card__link:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(22,18,58,.10)}
.post-card__img{aspect-ratio:16/10;background:var(--navy-100);display:grid;place-items:center;overflow:hidden}
.post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post-card__link:hover .post-card__img img{transform:scale(1.03)}
.post-card__mark svg{width:56px;height:56px;opacity:.9}
.post-card__body{display:flex;flex-direction:column;gap:10px;padding:24px 28px 28px}
.post-card__body .h4{font-size:19px;line-height:1.3}

.blog-pages{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:56px}
.blog-pages .page-numbers{min-width:42px;height:42px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:500;font-size:15px;color:var(--muted)}
.blog-pages a.page-numbers:hover{background:var(--warm);color:var(--ink)}
.blog-pages .page-numbers.current{background:var(--navy);color:#fff}
.blog-pages .ms{font-size:22px}

/* artikel */
.post-main{padding:56px 0 0}
.post-col{max-width:720px;margin:0 auto}
.post-back{margin-bottom:40px;margin-left:-4px}
.post-back .ms{font-size:20px}
.post-back:hover .ms{transform:translateX(-3px)}
.post-col > .post-meta{margin-bottom:16px}
.post-lead{max-width:none;margin-top:20px}
.post-reviewer{display:flex;align-items:center;gap:8px;margin:24px 0 0;font-size:15px;color:var(--muted)}
.post-reviewer .ms{font-size:20px;color:var(--success)}
.post-image{margin:40px 0 0;border-radius:24px;overflow:hidden;background:var(--warm)}
.post-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.post-note{display:flex;gap:12px;align-items:flex-start;margin:32px 0 0;padding:16px 20px;border-radius:16px;background:var(--warm);font-size:14.5px;line-height:1.55;color:var(--muted)}
.post-note .ms{font-size:20px;color:var(--navy);margin-top:1px}
.post-col > .prose{margin-top:40px}
.post-disclaimer{margin:48px 0 0;padding-top:24px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.6;color:var(--faint)}

/* aanmeldblok onder het artikel */
.post-cta-section{padding:96px 0 0}
.post-cta{background:var(--warm);border-radius:32px;padding:64px 72px}
.post-cta .h2{max-width:20ch;font-size:clamp(30px,3.4vw,44px)}
.post-cta .lead{margin-top:16px}
.post-cta .signup{margin-top:32px}

.post-related{padding:96px 0 var(--section)}
.post-related .h3{margin-bottom:32px}

/* productblok [product] */
.prose .ok-product,.ok-product{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:center;margin:32px 0;padding:20px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 4px 18px rgba(22,18,58,.04)}
.ok-product__img{aspect-ratio:1;border-radius:14px;background:var(--warm);display:grid;place-items:center;overflow:hidden}
.prose .ok-product__img img,.ok-product__img img{width:100%;height:100%;object-fit:contain;border-radius:0;mix-blend-mode:multiply}
.ok-product__img .ms{font-size:40px;color:var(--navy-300)}
.ok-product__body{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ok-product__label{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--orange-100);color:var(--orange-700);font-family:var(--font-display);font-weight:600;font-size:12px}
.prose .ok-product__name,.ok-product__name{margin:0;font-family:var(--font-display);font-weight:500;font-size:18px;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}
.prose .ok-product__text,.ok-product__text{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}
.prose .ok-product .btn{margin-top:8px;color:#fff;text-decoration:none}
.ok-product .btn .ms{font-size:18px}
.ok-product-error{padding:12px 16px;border-radius:12px;background:#FDECEC;color:#C23434;font-size:14px}

@media (max-width:1080px){
  .post-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .blog-main{padding-top:48px}
  .blog-head{margin-bottom:32px}
  .post-grid{grid-template-columns:1fr}
  .post-main{padding-top:32px}
  .post-back{margin-bottom:28px}
  .post-image{margin-top:28px;border-radius:18px}
  .post-cta-section{padding-top:72px}
  .post-cta{padding:40px 24px;border-radius:24px}
  .post-related{padding-top:72px}
  .prose .ok-product,.ok-product{grid-template-columns:88px 1fr;gap:16px;padding:16px;align-items:start}
  .ok-product .btn{white-space:normal;height:auto;min-height:40px;padding:8px 16px;text-align:left}
}
@media (prefers-reduced-motion:reduce){.post-card__link,.post-card__img img{transition:none}.post-card__link:hover{transform:none}}
