/* BingoStudio — NovaPay-stijl (zelfde look als zelfmuziekbingomaken.nl)
   Basis: TemplateMo NovaPay (CC BY 3.0) */
:root{
  --bg:#0F1319;--bg2:#141920;--bg3:#1A2130;--bg4:#1E2838;
  --sky:#4A9EE8;--sky2:#7EC8F0;--sky3:#2A6AAA;--sky4:#0D2A44;
  --text:#E4EEF8;--text2:#8AAEC8;--text3:#6A8296;
  --border:#1E3050;--border2:#2A4060;
  --green:#3DCC8E;--red:#E85A5A;--yellow:#F2C94C;
  --silk:cubic-bezier(.16,1,.3,1);
  --w:1180px;--r:16px;
  --kop:'Outfit',system-ui,sans-serif;--tekst:'DM Sans',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--tekst);font-size:16px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--sky);text-decoration:none;transition:color .3s var(--silk)}
a:hover{color:var(--sky2)}
h1,h2,h3,h4,h5{font-family:var(--kop);color:var(--text);line-height:1.15;letter-spacing:-.02em;margin:0 0 .6em}
h1{font-size:clamp(34px,4.6vw,58px);font-weight:800;letter-spacing:-.03em}
h2{font-size:clamp(26px,3.2vw,40px);font-weight:700}
h3{font-size:clamp(19px,1.8vw,22px);font-weight:600}
h4{font-size:18px;font-weight:600}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em;margin:0 0 1em}
li{margin:.25em 0}
strong{color:var(--text);font-weight:700}
em{font-style:normal;color:var(--sky)}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px;border-radius:6px}
.wrap{width:min(var(--w),100% - 32px);margin-inline:auto}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--sky);color:#0A1A2C;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}

/* ---------- aankondiging + header ---------- */
.aankondiging{background:var(--sky4);border-bottom:1px solid var(--border);color:var(--sky2);font-size:14px;text-align:center;padding:8px 16px}
.aankondiging a{color:var(--text);text-decoration:underline}
.loopband{overflow:hidden;background:var(--bg2);border-bottom:1px solid var(--border);white-space:nowrap;font:500 13px var(--tekst);color:var(--text);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.loopband-spoor{display:inline-flex;padding:9px 0;animation:loopband 70s linear infinite;will-change:transform}
.loopband:hover .loopband-spoor{animation-play-state:paused}
.loopband-item{display:inline-flex;align-items:center;gap:8px;padding-right:40px}
.loopband-item b{color:var(--sky);font-weight:700}
.loopband-item em{font-style:normal;color:var(--text3)}
@keyframes loopband{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.loopband-spoor{animation:none}}
.kop{position:sticky;top:0;z-index:50;background:rgba(15,19,25,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.kop-in{display:flex;align-items:center;gap:20px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--kop);font-weight:800;font-size:22px;color:var(--text);letter-spacing:-.02em;flex-shrink:0}
.logo:hover{color:var(--text)}
.logo-icoon{width:30px;height:30px;flex-shrink:0;display:block}
.logo-woord em{font-style:normal;color:var(--sky);font-weight:500}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav>li{list-style:none;position:relative;margin:0}
.nav ul{margin:0;padding:0}
.nav a,.nav button{display:flex;align-items:center;gap:6px;color:var(--text2);font:500 15px var(--tekst);padding:10px 12px;border-radius:8px;background:none;border:0;cursor:pointer}
.nav a:hover,.nav button:hover,.nav a[aria-current=page]{color:var(--text);background:var(--bg3)}
.nav button svg{width:12px;height:12px;transition:transform .3s var(--silk)}
.sub{position:absolute;top:100%;left:0;min-width:260px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:8px;
  box-shadow:0 20px 50px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .3s var(--silk)}
.sub li{list-style:none;margin:0}
.sub a{padding:9px 12px;font-size:14.5px}
.nav li:hover>.sub,.nav li:focus-within>.sub,.nav li.open>.sub{opacity:1;visibility:visible;transform:none}
.nav li:hover>button svg,.nav li.open>button svg{transform:rotate(180deg)}
.wagen{display:flex;align-items:center;gap:8px;margin-left:8px;background:var(--sky);color:#0A1A2C!important;font-weight:600;font-size:14px;
  padding:9px 14px;border-radius:10px;flex-shrink:0;transition:background .4s var(--silk),transform .4s var(--silk)}
.wagen:hover{background:var(--sky2);transform:translateY(-1px)}
.wagen svg{width:18px;height:18px}
.wagen b{background:#0A1A2C;color:var(--sky);border-radius:20px;font-size:12px;min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 6px}
.menuknop{display:none;margin-left:auto;background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:10px;width:44px;height:42px;cursor:pointer}
.menuknop svg{width:20px;height:20px}
@media (max-width:980px){
  .menuknop{display:grid;place-items:center}
  .wagen{margin-left:0}
  .nav{position:fixed;inset:68px 0 auto 0;max-height:calc(100dvh - 68px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg);border-bottom:1px solid var(--border);padding:8px 16px 20px;display:none}
  .kop.open .nav{display:flex}
  .nav a,.nav button{padding:14px 8px;font-size:16px;width:100%;justify-content:space-between;border-bottom:1px solid var(--border);border-radius:0}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:none;padding:0 0 0 12px;display:none}
  .nav li.open>.sub{display:block}
  .nav li:hover>.sub{display:none}.nav li.open:hover>.sub{display:block}
}

/* ---------- knoppen ---------- */
.n-btn,.knop{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--sky);color:#0A1A2C!important;font:600 15px var(--tekst);
  padding:13px 24px;border-radius:10px;border:0;cursor:pointer;text-decoration:none!important;
  transition:background .5s var(--silk),transform .5s var(--silk),box-shadow .5s var(--silk)}
.n-btn:hover,.knop:hover{background:var(--sky2);transform:translateY(-2px);box-shadow:0 12px 32px rgba(74,158,232,.25)}
.n-btn-alt,.knop-alt{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--text)!important;font:500 15px var(--tekst);
  padding:12px 22px;border-radius:10px;border:1px solid var(--border2);cursor:pointer;text-decoration:none!important;transition:border-color .4s var(--silk),color .4s var(--silk)}
.n-btn-alt:hover,.knop-alt:hover{border-color:var(--sky);color:var(--sky)!important}
.knop[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.knop-groot{padding:16px 28px;font-size:16px;width:100%}
.n-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 24px}
.n-buttons p{margin:0}
.n-center{text-align:center;margin-top:32px}

/* ---------- algemene inhoud (n-klassen uit de oude site) ---------- */
.inhoud{font-size:17px;color:var(--text2)}
.inhoud h1,.inhoud h2,.inhoud h3,.inhoud h4{color:var(--text)}
.inhoud h2{margin-top:1.2em}
.inhoud h3{margin-top:1.1em}
.inhoud>*:first-child{margin-top:0}
.inhoud a:not(.n-btn):not(.n-btn-alt):not(.n-card):not(.kaart){text-decoration:underline;text-decoration-color:rgba(74,158,232,.4);text-underline-offset:3px}
.inhoud img{border-radius:var(--r);border:1px solid var(--border)}
.inhoud ul li::marker{color:var(--sky)}
.inhoud table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:15px}
.inhoud th,.inhoud td{border:1px solid var(--border);padding:10px 12px;text-align:left}
.inhoud th{background:var(--bg3);color:var(--text)}
.n-embed{width:100%;max-width:640px;height:152px;border:0;border-radius:14px;margin:8px 0 20px;background:var(--bg3)}

.n-page{display:block}
.n-section{padding:clamp(56px,7vw,96px) 0;position:relative}
.n-section>*:not(.n-inner){width:min(var(--w),100% - 32px);margin-inline:auto}
.n-inner{width:min(var(--w),100% - 32px);margin-inline:auto}
.n-inner .n-inner{width:100%}
.n-section .n-section{padding:32px 0}
.n-alt{background:var(--bg2);border-block:1px solid var(--border)}
.n-band{overflow:hidden;background:linear-gradient(135deg,var(--sky4) 0%,#0F1E33 55%,var(--bg2) 100%);border-block:1px solid var(--border)}
.n-band::before{content:"";position:absolute;right:-10%;top:-30%;width:520px;height:520px;background:radial-gradient(circle,rgba(74,158,232,.16),transparent 70%);pointer-events:none}
.n-band>*{position:relative}
.n-cta{text-align:center}
.n-cta .n-inner,.n-cta>div{max-width:820px}
.n-cta .n-buttons{justify-content:center}
.n-cta p{margin-inline:auto}
.n-trust{padding:28px 0;background:var(--bg2);border-block:1px solid var(--border)}
.n-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(74,158,232,.1);border:1px solid rgba(74,158,232,.25);color:var(--sky);
  font:500 12px var(--tekst);letter-spacing:.07em;text-transform:uppercase;padding:6px 14px;border-radius:20px;margin-bottom:18px}
.n-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sky)}
.n-lead,.n-intro>p:first-child{font-size:18px;color:var(--text2);max-width:760px}
.n-cta .n-lead{margin-inline:auto}
.n-heading{margin-bottom:24px}

.n-hero{padding:clamp(56px,8vw,110px) 0 clamp(48px,6vw,80px);position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.n-hero::before{content:"";position:absolute;width:720px;height:720px;left:-200px;top:-260px;background:radial-gradient(circle,rgba(74,158,232,.12),transparent 70%);pointer-events:none}
.n-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:64px 64px;opacity:.18;mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 65%);-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 65%);pointer-events:none}
.n-hero>*{position:relative;z-index:1}
.n-hero>*:not(.n-inner){width:min(var(--w),100% - 32px);margin-inline:auto}
.n-hero p{font-size:18px;color:var(--text2);max-width:620px}
.n-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,64px);align-items:center}
.n-hero-image img{width:100%;max-width:440px;margin-inline:auto;border-radius:24px;border:1px solid var(--border2);box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 8px rgba(74,158,232,.05)}
@media (max-width:860px){.n-hero-grid{grid-template-columns:1fr}.n-hero-image img{max-width:320px}}

/* kaarten + automatische grids */
.n-grid,.n-auto,.n-steps,.n-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:18px;margin:28px 0}
.n-auto>:not(.n-card):not(.n-step):not(.n-pill){grid-column:1/-1;margin-bottom:0}
.n-card,.n-step{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:26px;color:var(--text2);
  transition:border-color .5s var(--silk),transform .5s var(--silk),background .5s var(--silk)}
.n-alt .n-card,.n-alt .n-step,.n-band .n-card,.n-band .n-step{background:var(--bg3)}
.n-card h3,.n-card h4,.n-step h3,.n-step h4{margin-top:0}
.n-card>*:last-child,.n-step>*:last-child{margin-bottom:0}
.n-card a:not(.n-btn){font-weight:600}
.n-link-card{display:block;color:var(--text2)!important;text-decoration:none!important;position:relative}
.n-link-card:hover{border-color:var(--sky3);transform:translateY(-3px)}
.n-link-card h3::after{content:" →";color:var(--sky);transition:margin .4s var(--silk)}
.n-icon{font-size:30px;display:block;margin-bottom:10px}
.n-steps{counter-reset:stap;padding:0;list-style:none}
ol.n-steps>li,.n-steps>.n-step{counter-increment:stap}
ol.n-steps>li{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:24px;margin:0}
.n-num{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(74,158,232,.12);border:1px solid rgba(74,158,232,.3);
  color:var(--sky);font:800 18px var(--kop);margin-bottom:16px}
ol.n-steps>li::before,.n-steps>.n-step:not(:has(.n-num))::before{content:counter(stap);display:grid;place-items:center;width:44px;height:44px;border-radius:12px;
  background:rgba(74,158,232,.12);border:1px solid rgba(74,158,232,.3);color:var(--sky);font:800 18px var(--kop);margin-bottom:16px}
.n-pills,.n-trust .n-inner{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.n-pill{display:inline-flex;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--border);border-radius:30px;padding:9px 16px;color:var(--text);font-size:14.5px}
.n-pill::before{content:"";width:16px;height:16px;flex-shrink:0;background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat}
.n-auto>.n-pill{justify-content:flex-start}
.n-checklist{list-style:none;padding:0;margin:0 0 1.2em}
.n-checklist li{position:relative;padding-left:30px;margin:.55em 0;color:var(--text)}
.n-checklist li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:6px;background:rgba(61,204,142,.14);
  box-shadow:inset 0 0 0 1px rgba(61,204,142,.35)}
.n-checklist li::after{content:"";position:absolute;left:5px;top:calc(.2em + 5px);width:10px;height:10px;background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center/contain no-repeat}

/* FAQ (uitklapbaar via JS, leesbaar zonder JS) */
.n-faq-item{border:1px solid var(--border);border-radius:14px;background:var(--bg2);margin:0 0 10px;overflow:hidden}
.n-alt .n-faq-item{background:var(--bg3)}
.n-faq-item>h2,.n-faq-item>h3,.n-faq-item>h4,.n-faq-item>h5{margin:0;padding:18px 54px 18px 22px;font-size:17px;font-weight:600;cursor:pointer;position:relative;color:var(--text)}
.n-faq-item>h2::after,.n-faq-item>h3::after,.n-faq-item>h4::after,.n-faq-item>h5::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  color:var(--sky);font:400 24px var(--kop);transition:transform .4s var(--silk)}
.n-faq-item>:not(h2):not(h3):not(h4):not(h5){padding:0 22px;color:var(--text2)}
.n-faq-item>:last-child{padding-bottom:18px!important}
.js .n-faq-item:not(.open)>:not(h2):not(h3):not(h4):not(h5){display:none}
.n-faq-item.open>h2::after,.n-faq-item.open>h3::after,.n-faq-item.open>h4::after,.n-faq-item.open>h5::after{transform:translateY(-50%) rotate(45deg)}
.n-faq .n-inner,.n-faq>.n-inner{max-width:880px}

/* ---------- productkaarten ---------- */
.kaarten{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:18px;margin:28px 0}
.kaart{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--border);border-radius:18px;overflow:hidden;color:var(--text);
  transition:border-color .5s var(--silk),transform .5s var(--silk),box-shadow .5s var(--silk)}
.kaart:hover{border-color:var(--sky3);transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.35);color:var(--text)}
.kaart-beeld{aspect-ratio:1;background:var(--bg3);overflow:hidden}
.kaart-beeld img{width:100%;height:100%;object-fit:contain;transition:transform .8s var(--silk)}
.kaart:hover .kaart-beeld img{transform:scale(1.04)}
.kaart-tekst{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.kaart-cat{font-size:12px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em}
.kaart h3{font-size:17px;margin:0;font-weight:600;line-height:1.3}
.kaart-prijs{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--text2)}
.kaart-prijs strong{font:700 18px var(--kop);color:var(--sky)}
.kaart-pijl{width:34px;height:34px;border-radius:10px;background:var(--bg3);border:1px solid var(--border);display:grid;place-items:center;color:var(--sky);transition:background .4s var(--silk)}
.kaart:hover .kaart-pijl{background:var(--sky);color:#0A1A2C}
.leeg{padding:40px;text-align:center;border:1px dashed var(--border2);border-radius:var(--r);color:var(--text2)}

/* ---------- paginakop ---------- */
.paginakop{padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,44px);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.paginakop::before{content:"";position:absolute;width:600px;height:600px;right:-160px;top:-300px;background:radial-gradient(circle,rgba(74,158,232,.12),transparent 70%)}
.paginakop>*{position:relative}
.paginakop h1{margin-bottom:12px}
.paginakop p{color:var(--text2);max-width:720px;font-size:18px;margin:0}
.kruimels{display:flex;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--text3);margin:0 0 18px;padding:0;list-style:none}
.kruimels li{margin:0}
.kruimels li+li::before{content:"/";margin-right:6px;color:var(--border2)}
.kruimels a{color:var(--text2)}
.blok{padding:clamp(36px,5vw,64px) 0}
.smal{max-width:820px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 0}
.filters a{border:1px solid var(--border2);border-radius:30px;padding:7px 14px;font-size:14px;color:var(--text2)}
.filters a:hover,.filters a[aria-current=page]{border-color:var(--sky);color:var(--sky);background:rgba(74,158,232,.08)}
.cat-intro{margin-top:48px;padding-top:40px;border-top:1px solid var(--border)}

/* ---------- productpagina ---------- */
.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;padding:clamp(28px,4vw,48px) 0}
.product-beeld{position:sticky;top:92px}
.product-beeld>img{width:100%;border-radius:22px;display:block}
.duimen{display:flex;gap:12px;margin-top:14px}
.duim{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:0;color:var(--text2);font:500 13px/1 var(--tekst);cursor:pointer}
.duim img{width:84px;height:84px;object-fit:cover;border-radius:12px;border:2px solid var(--border2);opacity:.7;transition:opacity .15s,border-color .15s}
.duim:hover img,.duim.actief img{opacity:1;border-color:var(--sky)}
.duim.actief{color:var(--text)}
.duim:focus-visible{outline:none}.duim:focus-visible img{box-shadow:0 0 0 3px rgba(74,158,232,.4)}
.product h1{font-size:clamp(30px,3.6vw,44px)}
.vanaf{font:700 26px var(--kop);color:var(--sky);margin:0 0 18px}
.vanaf small{font:400 15px var(--tekst);color:var(--text2)}
.product .inhoud{font-size:16.5px}
.bestelvak{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:24px;margin:24px 0}
.veld{margin:0 0 18px}
.veld>label,.veld>legend{display:block;font:600 14px var(--tekst);color:var(--text);margin:0 0 8px;padding:0}
fieldset.veld{border:0;padding:0;min-width:0}
.keuzes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.keuze{position:relative}
.keuze input{position:absolute;opacity:0;pointer-events:none}
.keuze span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border2);border-radius:12px;padding:12px 14px;cursor:pointer;background:var(--bg);
  transition:border-color .3s var(--silk),background .3s var(--silk)}
.keuze span b{font-weight:600;color:var(--text);font-size:15px}
.keuze span small{color:var(--text3);font-size:13px}
.keuze input:checked+span{border-color:var(--sky);background:rgba(74,158,232,.08);box-shadow:inset 0 0 0 1px var(--sky)}
.keuze input:focus-visible+span{outline:2px solid var(--sky);outline-offset:2px}
input:not([type]),input[type=text],input[type=email],input[type=url],input[type=password],input[type=number],input[type=date],select,textarea{
  width:100%;background:var(--bg);border:1px solid var(--border2);border-radius:10px;color:var(--text);font:400 15px var(--tekst);padding:11px 13px;
  transition:border-color .3s var(--silk),box-shadow .3s var(--silk)}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237EC8F0' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(74,158,232,.15)}
.hulp{font-size:13px;color:var(--text3);margin:6px 0 0}
.fout{color:#FF8A8A;font-size:13.5px;margin:6px 0 0}
.melding{border-radius:12px;padding:12px 16px;margin:0 0 18px;font-size:15px;border:1px solid}
.melding-fout{background:rgba(232,90,90,.08);border-color:rgba(232,90,90,.35);color:#FFB3B3}
.melding-ok{background:rgba(61,204,142,.08);border-color:rgba(61,204,142,.35);color:#A6F0CF}
.melding-info{background:rgba(74,158,232,.08);border-color:rgba(74,158,232,.3);color:var(--sky2)}
.totaalregel{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 16px;color:var(--text2)}
.totaalregel strong{font:800 28px var(--kop);color:var(--text)}
.zekerheden{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;padding:0;list-style:none;font-size:13.5px;color:var(--text2)}
.zekerheden li{margin:0;display:flex;align-items:center;gap:6px}
.zekerheden li::before{content:"✓";color:var(--green);font-weight:700}
.voorbeeld{margin:28px 0;padding:22px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg2)}
.voorbeeld h2{font-size:20px;margin-bottom:12px}
.voorbeeld ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 18px;list-style:none;padding:0;margin:0;font-size:14.5px}
.voorbeeld li{margin:0;color:var(--text)}
.voorbeeld li small{display:block;color:var(--text3);font-size:12.5px}
.speel-check{font-size:14px;margin-top:8px}
.speel-check.ok{color:var(--green)}.speel-check.nee{color:#FF8A8A}
@media (max-width:860px){.product{grid-template-columns:1fr}.product-beeld{position:static;max-width:420px}.keuzes{grid-template-columns:1fr}}

/* ---------- winkelwagen + afrekenen ---------- */
.wagen-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:28px;align-items:start}
.regels{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.regel{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:14px;margin:0}
.regel img{width:72px;height:72px;border-radius:10px;object-fit:cover}
.regel h3{font-size:16px;margin:0 0 4px}
.regel p{margin:0;font-size:14px;color:var(--text2)}
.regel-rechts{text-align:right}
.regel-rechts strong{display:block;font:700 17px var(--kop);margin-bottom:6px}
.linkknop{background:none;border:0;color:var(--text3);font:400 13px var(--tekst);cursor:pointer;padding:0;text-decoration:underline}
.linkknop:hover{color:var(--red)}
.zijvak{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:24px;position:sticky;top:92px}
.zijvak h2{font-size:20px}
.sam{list-style:none;padding:0;margin:0 0 14px;font-size:14.5px}
.sam li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);margin:0;color:var(--text2)}
.sam li span:last-child{color:var(--text);white-space:nowrap}
.vinkje{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--text2);margin:0 0 14px;cursor:pointer}
.vinkje input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--sky);flex-shrink:0}
@media (max-width:860px){.wagen-grid{grid-template-columns:1fr}.zijvak{position:static}.regel{grid-template-columns:56px 1fr;}.regel img{width:56px;height:56px}.regel-rechts{grid-column:2;text-align:left;display:flex;gap:16px;align-items:center}.regel-rechts strong{margin:0}}

/* ---------- bestelling ---------- */
.status{max-width:640px;margin:0 auto;text-align:center;padding:clamp(48px,8vw,96px) 0}
.status-icoon{width:72px;height:72px;margin:0 auto 22px;border-radius:20px;display:grid;place-items:center;font-size:34px;background:rgba(74,158,232,.12);border:1px solid rgba(74,158,232,.3)}
.status-icoon.ok{background:rgba(61,204,142,.12);border-color:rgba(61,204,142,.35);color:var(--green)}
.status-icoon.nee{background:rgba(232,90,90,.1);border-color:rgba(232,90,90,.35);color:var(--red)}
.status .sam{text-align:left;margin-top:28px}
.draai{width:22px;height:22px;border:3px solid var(--border2);border-top-color:var(--sky);border-radius:50%;animation:draai 1s linear infinite;display:inline-block;vertical-align:middle;margin-right:8px}
@keyframes draai{to{transform:rotate(360deg)}}

/* ---------- blog ---------- */
.blogs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:18px}
.blogkaart{display:flex;flex-direction:column;gap:8px;background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:24px;color:var(--text2)!important;transition:border-color .4s var(--silk),transform .4s var(--silk)}
.blogkaart:hover{border-color:var(--sky3);transform:translateY(-3px)}
.blogkaart h2{font-size:21px;margin:0}
.blogkaart time{font-size:13px;color:var(--text3)}

/* ---------- bingokaart-mockup (home) ---------- */
.mock{position:relative;max-width:420px;margin-inline:auto}
.mock-kaart{background:var(--bg2);border:1px solid var(--border2);border-radius:22px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.mock-kop{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.mock-kop b{font:800 20px var(--kop);letter-spacing:-.02em}
.mock-kop span{font-size:12px;color:var(--text3)}
.mock-raster{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.mock-raster div{aspect-ratio:1;border:1px solid var(--border);border-radius:10px;padding:6px;display:flex;flex-direction:column;justify-content:center;text-align:center;
  font-size:10.5px;line-height:1.2;color:var(--text);background:var(--bg)}
.mock-raster div small{color:var(--text3);font-size:9px;margin-top:3px}
.mock-raster .x{background:rgba(74,158,232,.16);border-color:var(--sky3);position:relative}
.mock-raster .x::after{content:"";position:absolute;inset:18%;border:2px solid var(--sky);border-radius:50%;opacity:.8}
.mock-badge{position:absolute;background:var(--bg3);border:1px solid var(--border2);border-radius:12px;padding:10px 14px;font-size:13px;box-shadow:0 14px 40px rgba(0,0,0,.4);display:flex;gap:8px;align-items:center}
.mock-badge b{color:var(--green)}
.mock-badge.a{left:-24px;bottom:28px}.mock-badge.b{right:-18px;top:-16px}
@media (max-width:520px){.mock-badge.a{left:-6px}.mock-badge.b{right:-6px}.mock-raster div{font-size:9px}}

/* ---------- footer ---------- */
.voet{margin-top:0;background:var(--bg2);border-top:1px solid var(--border);padding:56px 0 28px;font-size:14.5px;color:var(--text2)}
.voet-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.voet h2{font:600 14px var(--tekst);color:var(--text);text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px}
.voet ul{list-style:none;padding:0;margin:0}
.voet li{margin:0 0 8px}
.voet a{color:var(--text2)}
.voet a:hover{color:var(--sky)}
.voet-onder{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--border);margin-top:40px;padding-top:20px;font-size:13px;color:var(--text3)}
.voet-onder a{color:var(--text3)}
.betaal{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.betaal span{border:1px solid var(--border2);border-radius:6px;padding:3px 8px;font-size:12px;color:var(--text2)}
@media (max-width:860px){.voet-grid{grid-template-columns:1fr 1fr}.voet-grid>div:first-child{grid-column:1/-1}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.cookiebalk{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:760px;margin:0 auto;display:flex;gap:16px;align-items:center;
  flex-wrap:wrap;background:var(--bg2);border:1px solid var(--border2);border-radius:16px;padding:16px 18px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.cookiebalk[hidden]{display:none}
.cookiebalk p{margin:0;flex:1 1 320px;font-size:14px;color:var(--text2)}
.cookiebalk-knoppen{display:flex;gap:10px}
.cookiebalk-knoppen button{min-height:44px;padding:0 18px}
.linkknop{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}

.zmm-tip{margin:28px 0;padding:16px 20px;border:1px solid var(--border2);border-left:4px solid var(--sky);border-radius:14px;background:var(--bg2)}
.zmm-tip p{margin:0;color:var(--text2);font-size:15px;line-height:1.6}
.zmm-tip strong{color:var(--text)}
.blok-tip{padding-top:0}
