/* =====================================================================================
   REDESIGN-V3-VEILIGBADEN-20261027 — ontwerpsysteem v3 voor veiligbaden.nl / .be
   Alleen geladen met cookie ss_ontwerp=v3 (of includes/v3/LIVE). In v3 worden de oude lagen
   brand-tokens / contrast-goud / ss-navy-20260924 / ss-navy-force + Google Fonts NIET geladen.
   Huisstijl v2: Montserrat · antraciet #262A33 · SaniSafe-blauw #3F98D6 (alleen groot/decoratief)
   · diepblauw #1F6FA8 · nachtblauw #14243B · lichtblauw #7CC3EE · waterwit #EEF5FB.
   ===================================================================================== */

@font-face{font-family:"Montserrat";src:url("/assets/fonts/montserrat-var.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}

html.vb-v3{
  --vb-ink:#262A33; --vb-ink-2:#454B57; --vb-night:#14243B; --vb-night-2:#1B3150;
  --vb-deep:#1F6FA8; --vb-deep-d:#195A89; --vb-blue:#3F98D6; --vb-light:#7CC3EE;
  --vb-water:#EEF5FB; --vb-water-2:#E2EEF8; --vb-line:#D3E1EE; --vb-white:#fff;
  --vb-wa:#157A3F; --vb-wa-d:#0F6232; --vb-star:#F5B301;
  --vb-font:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --vb-r:18px; --vb-r-s:12px; --vb-r-l:28px;
  --vb-sh:0 1px 2px rgba(20,36,59,.06),0 8px 24px rgba(20,36,59,.08);
  --vb-sh-l:0 2px 6px rgba(20,36,59,.08),0 24px 48px rgba(20,36,59,.14);
  --vb-sp:clamp(56px,7vw,104px);
  /* oude tokens omzetten zodat bestaande widgets meekleuren */
  --primary:#14243B; --primary-dark:#0E1A2C; --primary-light:#1F6FA8; --navy:#14243B; --cream:#EEF5FB;
  --secondary:#7CC3EE; --secondary-dark:#1F6FA8; --secondary-light:#BFE1F6;
  --accent:#EEF5FB; --accent-dark:#D3E1EE; --cta:#1F6FA8; --cta-dark:#195A89; --cta-light:#7CC3EE; --cta-hover:#195A89;
  --text:#262A33; --text-dark:#14243B; --text-light:#454B57; --text-muted:#4F5664; --text-white:#fff;
  --bg:#fff; --bg-alt:#EEF5FB; --bg-accent:#EEF5FB; --bg-dark:#14243B; --bg-gray:#F5F8FB;
  --border:#D3E1EE; --border-light:#E6EEF6;
  --font-heading:var(--vb-font); --font-body:var(--vb-font);
  --radius-sm:12px; --radius:18px; --radius-lg:24px; --radius-xl:28px;
  --gradient-primary:linear-gradient(135deg,#14243B 0%,#1F6FA8 100%);
  --gradient-hero:linear-gradient(180deg,rgba(20,36,59,.55),rgba(20,36,59,.35));
  --gradient-pricing:linear-gradient(135deg,#14243B 0%,#1B3150 100%);
  --shadow-sm:var(--vb-sh); --shadow-md:var(--vb-sh); --shadow-lg:var(--vb-sh-l); --shadow-xl:var(--vb-sh-l);
  --header-height:76px;
  font-size:100%;
  scroll-padding-top:96px;
}

/* ---------- basis ---------- */
html.vb-v3 body{font-family:var(--vb-font)!important;font-size:1.125rem!important;line-height:1.65!important;color:var(--vb-ink)!important;background:#fff!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-top:0!important}
/* één lettertype overal (ook inline Playfair/Merriweather), iconenfonts uitgezonderd */
html.vb-v3 body :is(h1,h2,h3,h4,h5,h6,p,a,li,span,strong,b,em,label,input,select,textarea,button,summary,small,td,th,dt,dd,blockquote,figcaption,div):not([class*="fa-"]):not(.fa):not(.fas):not(.fab):not(.far):not(.material-icons){font-family:var(--vb-font)!important}
html.vb-v3 body :is(h1,h2,h3,h4){color:var(--vb-night);letter-spacing:-.015em;font-weight:750;line-height:1.18;text-wrap:balance}
html.vb-v3 body h1{font-size:clamp(2rem,1.3rem + 2.8vw,3.25rem)!important;font-weight:800!important}
html.vb-v3 body h2{font-size:clamp(1.65rem,1.2rem + 1.7vw,2.4rem)!important;font-weight:780!important}
html.vb-v3 body h3{font-size:clamp(1.2rem,1.05rem + .5vw,1.45rem)!important;font-weight:700!important;line-height:1.3!important}
html.vb-v3 body h4{font-size:1.15rem!important;font-weight:700!important}
html.vb-v3 body :is(p,li,dd,td){font-size:max(1.05rem,1em)}
html.vb-v3 body main p,html.vb-v3 body section p{line-height:1.7}
html.vb-v3 body a{color:var(--vb-deep);text-underline-offset:3px}
html.vb-v3 body a:hover{color:var(--vb-night)}
html.vb-v3 body :focus-visible{outline:3px solid var(--vb-blue)!important;outline-offset:3px!important;border-radius:6px}
html.vb-v3 body ::selection{background:var(--vb-light);color:var(--vb-night)}
html.vb-v3 body .container{max-width:1240px!important;padding-left:clamp(18px,4vw,40px)!important;padding-right:clamp(18px,4vw,40px)!important}
html.vb-v3 .vb3-wrap{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,40px)}
html.vb-v3 body img{max-width:100%;height:auto}
html.vb-v3 .vb3-druppel{display:inline-block;width:.62em;height:.62em;margin-right:.55em;background:var(--vb-blue);border-radius:50% 0 50% 50%;transform:rotate(-45deg);vertical-align:.06em;flex:0 0 auto}
html.vb-v3 .vb3-oog{display:inline-flex;align-items:center;margin:0 0 14px!important;font-size:.95rem!important;font-weight:700;letter-spacing:.02em;color:var(--vb-deep)!important}
html.vb-v3 .vb3-oog-licht{color:var(--vb-light)!important}
html.vb-v3 .vb3-oog-licht .vb3-druppel{background:var(--vb-light)}

/* ---------- knoppen ---------- */
html.vb-v3 .vb3-knop,
html.vb-v3 body :is(.btn,a.btn,button.btn,.cta-btn,.af-go,.zp-btn,.wg-btn,.of-btn){
  font-family:var(--vb-font)!important;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:14px 26px!important;border-radius:999px!important;font-weight:700!important;font-size:1.05rem!important;
  line-height:1.2!important;text-decoration:none!important;letter-spacing:0!important;text-transform:none!important;
  transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease!important;box-shadow:none;cursor:pointer}
html.vb-v3 .vb3-knop-groot{min-height:58px;padding:16px 30px!important;font-size:1.12rem!important}
html.vb-v3 .vb3-knop-vol{width:100%}
html.vb-v3 .vb3-knop-hoofd,
html.vb-v3 body :is(.btn-cta,a.btn-cta,button.btn-cta,.btn-primary,a.btn-primary,.af-go,.cta-btn,.ss-cta-hoofd,button[type=submit]):not(.vb3-knop-wit){
  background:var(--vb-deep)!important;background-image:none!important;color:#fff!important;border:2px solid var(--vb-deep)!important;box-shadow:0 6px 18px rgba(31,111,168,.28)!important}
html.vb-v3 .vb3-knop-hoofd:hover,
html.vb-v3 body :is(.btn-cta,.btn-primary,.af-go,.cta-btn,.ss-cta-hoofd,button[type=submit]):hover{background:var(--vb-night)!important;border-color:var(--vb-night)!important;color:#fff!important;transform:translateY(-1px)}
html.vb-v3 body :is(.btn-outline,a.btn-outline,.btn-secondary){background:#fff!important;color:var(--vb-night)!important;border:2px solid var(--vb-night)!important;box-shadow:none!important}
html.vb-v3 body :is(.btn-outline,.btn-secondary):hover{background:var(--vb-water)!important;color:var(--vb-night)!important}
html.vb-v3 .vb3-knop-licht{background:var(--vb-water)!important;color:var(--vb-night)!important;border:2px solid var(--vb-line)!important}
html.vb-v3 .vb3-knop-wit{background:#fff!important;color:var(--vb-night)!important;border:2px solid #fff!important}
html.vb-v3 .vb3-knop-wit:hover{background:var(--vb-water)!important}
html.vb-v3 .vb3-knop-rand-licht{background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.75)!important}
html.vb-v3 .vb3-knop-rand-licht:hover{background:rgba(255,255,255,.1)!important;color:#fff!important}
html.vb-v3 .vb3-knop-wa{background:var(--vb-wa)!important;color:#fff!important;border:2px solid var(--vb-wa)!important}
html.vb-v3 .vb3-knop-wa:hover{background:var(--vb-wa-d)!important;color:#fff!important}
html.vb-v3 body .btn-sm{min-height:44px;padding:10px 18px!important;font-size:.98rem!important}

/* ---------- formulieren ---------- */
html.vb-v3 body :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input:not([type]),select,textarea){
  font-family:var(--vb-font)!important;font-size:1.06rem!important;color:var(--vb-ink)!important;background:#fff!important;
  border:2px solid #B9CBDC!important;border-radius:12px!important;min-height:54px;padding:12px 14px!important;box-shadow:none!important}
html.vb-v3 body textarea{min-height:120px}
html.vb-v3 body :is(input,select,textarea):focus{border-color:var(--vb-deep)!important;outline:3px solid rgba(63,152,214,.35)!important;outline-offset:1px!important}
html.vb-v3 body label{color:var(--vb-ink)!important;font-weight:600}
html.vb-v3 body ::placeholder{color:#6B7380!important;opacity:1}

/* ---------- kop ---------- */
html.vb-v3 .vb3-kop{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--vb-line);transition:box-shadow .2s ease}
html.vb-v3 .vb3-kop.scrolled{box-shadow:0 6px 24px rgba(20,36,59,.10)}
html.vb-v3 .vb3-kop-strook{background:var(--vb-night);color:#fff;font-size:.95rem}
html.vb-v3 .vb3-kop-strook-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px}
html.vb-v3 .vb3-kop-belofte{margin:0!important;display:flex;align-items:center;color:#E6EEF6!important;font-size:.95rem!important;font-weight:500}
html.vb-v3 .vb3-kop-belofte .vb3-druppel{background:var(--vb-light)}
html.vb-v3 .vb3-kop-strook-links{display:flex;align-items:center;gap:22px}
html.vb-v3 .vb3-kop-strook-links a{display:inline-flex;align-items:center;gap:8px;color:#fff!important;text-decoration:none;font-weight:600;font-size:.95rem!important;min-height:44px}
html.vb-v3 .vb3-kop-strook-links a:hover{color:var(--vb-light)!important}
html.vb-v3 .vb3-kop-strook-links svg{width:18px;height:18px}
html.vb-v3 .vb3-kop-zorg{padding:0 14px;border:1.5px solid rgba(124,195,238,.6);border-radius:999px;min-height:34px!important}
html.vb-v3 .vb3-kop-in{display:flex;align-items:center;gap:28px;min-height:84px}
html.vb-v3 .vb3-logo{display:block;line-height:0;flex:0 0 auto}
html.vb-v3 .vb3-logo img{height:54px;width:auto}
html.vb-v3 .vb3-nav{flex:1 1 auto;display:flex;justify-content:center}
html.vb-v3 .vb3-nav>ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center}
html.vb-v3 .vb3-nav>ul>li{position:relative}
html.vb-v3 .vb3-nav>ul>li>a{display:inline-flex;align-items:center;gap:6px;padding:12px 14px;border-radius:10px;color:var(--vb-night)!important;font-weight:650;font-size:1.02rem!important;text-decoration:none;min-height:48px}
html.vb-v3 .vb3-nav>ul>li>a:hover,html.vb-v3 .vb3-nav>ul>li>a[aria-current]{background:var(--vb-water);color:var(--vb-deep)!important}
html.vb-v3 .vb3-sub{position:absolute;top:100%;left:0;min-width:260px;background:#fff;border:1px solid var(--vb-line);border-radius:16px;box-shadow:var(--vb-sh-l);padding:10px;display:grid;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:20}
html.vb-v3 .vb3-sub a{display:block;padding:10px 12px;border-radius:10px;color:var(--vb-ink)!important;text-decoration:none;font-weight:550;font-size:1rem!important}
html.vb-v3 .vb3-sub a:hover{background:var(--vb-water);color:var(--vb-deep)!important}
html.vb-v3 .vb3-sub-breed{left:50%;transform:translate(-50%,6px);grid-template-columns:repeat(3,minmax(200px,1fr));gap:4px 18px;min-width:720px;padding:18px}
html.vb-v3 .vb3-sub-kop{margin:0 0 6px!important;padding:0 12px;font-size:.85rem!important;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--vb-deep)!important}
html.vb-v3 .vb3-sub-alles{grid-column:1/-1;margin-top:8px;border-top:1px solid var(--vb-line);padding-top:12px!important;font-weight:700!important;color:var(--vb-deep)!important}
html.vb-v3 .vb3-heeft-sub:hover>.vb3-sub,html.vb-v3 .vb3-heeft-sub:focus-within>.vb3-sub,html.vb-v3 .vb3-heeft-sub.vb3-sub-open>.vb3-sub{opacity:1;visibility:visible;transform:translateY(0)}
html.vb-v3 .vb3-heeft-sub:hover>.vb3-sub-breed,html.vb-v3 .vb3-heeft-sub:focus-within>.vb3-sub-breed,html.vb-v3 .vb3-heeft-sub.vb3-sub-open>.vb3-sub-breed{transform:translate(-50%,0)}
html.vb-v3 .vb3-kop-acties{display:flex;align-items:center;gap:14px;flex:0 0 auto}
html.vb-v3 .vb3-kop-bel{display:inline-flex;align-items:center;gap:8px;color:var(--vb-night)!important;font-weight:750;text-decoration:none;font-size:1.05rem!important;min-height:48px;white-space:nowrap}
html.vb-v3 .vb3-kop-bel svg{color:var(--vb-deep)}
html.vb-v3 .vb3-kop-cta{min-height:50px;padding:12px 22px!important}
html.vb-v3 .vb3-hamburger{display:none;align-items:center;gap:8px;min-height:48px;min-width:48px;padding:0 14px;border-radius:12px;border:2px solid var(--vb-line);background:#fff;color:var(--vb-night);font:700 1rem var(--vb-font);cursor:pointer}
html.vb-v3 .vb3-hb-streep{display:grid;gap:4px}
html.vb-v3 .vb3-hb-streep i{display:block;width:20px;height:2.5px;border-radius:2px;background:currentColor}
/* mobiel menu */
html.vb-v3 .vb3-menu{position:fixed;inset:0;z-index:10001;background:#fff;overflow-y:auto;padding:0 20px 32px;display:flex;flex-direction:column;gap:16px}
html.vb-v3 .vb3-menu[hidden]{display:none}
html.vb-v3.vb3-menu-open,html.vb-v3.vb3-menu-open body{overflow:hidden}
html.vb-v3.vb3-menu-open .ss-mbar,html.vb-v3.vb3-menu-open .chatbot-toggle,html.vb-v3.vb3-menu-open #chatbotToggle{display:none!important}
html.vb-v3 .vb3-menu-kop{display:flex;align-items:center;justify-content:space-between;min-height:76px;border-bottom:1px solid var(--vb-line)}
html.vb-v3 .vb3-menu-kop .vb3-logo img{height:44px}
html.vb-v3 .vb3-menu-dicht{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 14px;border-radius:12px;border:2px solid var(--vb-line);background:#fff;color:var(--vb-night);font:700 1rem var(--vb-font);cursor:pointer}
html.vb-v3 .vb3-menu-snel{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html.vb-v3 .vb3-menu-snel .vb3-knop{padding:12px 10px!important;font-size:1rem!important}
html.vb-v3 .vb3-menu-lijst{list-style:none;margin:0;padding:0}
html.vb-v3 .vb3-menu-lijst>li{border-bottom:1px solid var(--vb-line)}
html.vb-v3 .vb3-menu-lijst a,html.vb-v3 .vb3-menu-lijst summary{display:flex;align-items:center;justify-content:space-between;min-height:58px;color:var(--vb-night)!important;font-weight:700;font-size:1.15rem!important;text-decoration:none;cursor:pointer;list-style:none}
html.vb-v3 .vb3-menu-lijst summary::-webkit-details-marker{display:none}
html.vb-v3 .vb3-menu-lijst details[open] summary svg{transform:rotate(180deg)}
html.vb-v3 .vb3-menu-lijst details ul{list-style:none;margin:0 0 12px;padding:0 0 0 12px;border-left:3px solid var(--vb-water-2)}
html.vb-v3 .vb3-menu-lijst details ul a{min-height:48px;font-weight:550;font-size:1.05rem!important;color:var(--vb-ink)!important}
html.vb-v3 .vb3-menu-zorg{color:var(--vb-deep)!important}

/* oude zwevende knoppen: WhatsApp-bol niet dubbel naast de balk */
html.vb-v3 .wa-fab{background:var(--vb-wa)!important}

/* ---------- hero home ---------- */
html.vb-v3 .vb3-hero{position:relative;background:radial-gradient(ellipse 55% 70% at 85% 30%,rgba(124,195,238,.30) 0%,rgba(124,195,238,0) 70%),linear-gradient(180deg,var(--vb-water) 0%,#F7FAFD 100%);overflow:hidden;padding:clamp(28px,5vw,72px) 0 clamp(36px,5vw,72px)}
html.vb-v3 .vb3-hero::before{content:none}
html.vb-v3 .vb3-hero-in{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,5vw,72px);align-items:center}
html.vb-v3 .vb3-hero h1{margin:0 0 18px!important;color:var(--vb-night)!important;font-size:clamp(2.1rem,1.2rem + 3.2vw,3.6rem)!important;line-height:1.1!important;max-width:16ch;text-shadow:none!important}
html.vb-v3 .vb3-hero .hero-highlight{text-shadow:none!important;filter:none!important;animation:none!important;display:block;color:var(--vb-deep)!important;-webkit-text-fill-color:var(--vb-deep)!important;background:none!important;font-weight:750;font-size:.72em;line-height:1.2;margin-top:10px;letter-spacing:-.01em}
html.vb-v3 .vb3-hero-sub{font-size:clamp(1.15rem,1rem + .5vw,1.35rem)!important;color:var(--vb-ink-2)!important;margin:0 0 22px!important;max-width:34rem;line-height:1.55!important}
html.vb-v3 .vb3-hero-punten{list-style:none;margin:0 0 28px!important;padding:0;display:grid;gap:10px}
html.vb-v3 .vb3-hero-punten li{display:flex;align-items:center;gap:12px;font-weight:600;font-size:1.1rem!important;color:var(--vb-ink)!important}
html.vb-v3 .vb3-hero-punten svg{flex:0 0 auto;width:30px;height:30px;padding:6px;border-radius:50%;background:#fff;color:var(--vb-deep);box-shadow:0 2px 8px rgba(20,36,59,.08)}
html.vb-v3 .vb3-hero-actie{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
html.vb-v3 .vb3-hero-bel{margin:0!important;font-size:1.08rem!important;color:var(--vb-ink-2)!important}
html.vb-v3 .vb3-hero-bel a{font-weight:750;color:var(--vb-night)!important;white-space:nowrap}
html.vb-v3 .vb3-hero-beeld{position:relative;margin:0}
html.vb-v3 .vb3-hero-beeld img{display:block;width:100%;aspect-ratio:6/7;object-fit:cover;border-radius:var(--vb-r-l);box-shadow:var(--vb-sh-l)}
html.vb-v3 .vb3-hero-beeld::after{content:"";position:absolute;inset:auto auto -18px -18px;width:120px;height:120px;border-radius:50% 0 50% 50%;transform:rotate(-45deg);background:var(--vb-light);opacity:.35;z-index:-1}
html.vb-v3 .vb3-hero-score{position:absolute;left:-28px;bottom:36px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;background:#fff;border-radius:18px;padding:14px 18px;box-shadow:var(--vb-sh-l);text-decoration:none!important;color:var(--vb-night)!important}
html.vb-v3 .vb3-hero-score>svg{grid-row:1/3;width:30px;height:30px}
html.vb-v3 .vb3-hero-score b{font-size:1.6rem;font-weight:800;margin-right:8px;color:var(--vb-night)}
html.vb-v3 .vb3-hero-score>span{display:flex;align-items:center}
html.vb-v3 .vb3-sterren{display:inline-flex;gap:1px}
html.vb-v3 .vb3-hero-score small{font-size:.95rem!important;font-weight:600;color:var(--vb-ink-2)}
html.vb-v3 .vb3-hero-bijschrift{position:absolute;right:14px;top:14px;margin:0!important;background:rgba(20,36,59,.78);color:#fff!important;font-size:.88rem!important;font-weight:600;padding:6px 12px;border-radius:999px;backdrop-filter:blur(4px)}

/* vertrouwensstrook */
html.vb-v3 .vb3-vertrouwen{background:var(--vb-night);color:#fff}
html.vb-v3 .vb3-vertrouwen-in{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 24px;padding-top:22px;padding-bottom:22px}
html.vb-v3 .vb3-vertrouwen-item{display:flex;align-items:center;gap:12px;font-size:1.05rem;color:#E6EEF6}
html.vb-v3 .vb3-vertrouwen-item strong{display:block;color:#fff;font-weight:750;font-size:1.1rem}
html.vb-v3 .vb3-vertrouwen-item>span:last-child{line-height:1.35}
html.vb-v3 .vb3-vertrouwen-ic{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(124,195,238,.18);color:var(--vb-light)}
html.vb-v3 .vb3-vertrouwen-ic svg{width:20px;height:20px}

/* zorgprofessionals-ingang */
html.vb-v3 .vb3-zorg{padding:var(--vb-sp) 0 0}
html.vb-v3 .vb3-zorg-in{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:#fff;border:2px solid var(--vb-water-2);border-left:8px solid var(--vb-deep);border-radius:var(--vb-r-l);padding:clamp(22px,3vw,36px);box-shadow:var(--vb-sh)}
html.vb-v3 .vb3-zorg-ic{display:grid;place-items:center;width:76px;height:76px;border-radius:22px;background:var(--vb-water);color:var(--vb-deep)}
html.vb-v3 .vb3-zorg h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem)!important;margin:0 0 8px!important}
html.vb-v3 .vb3-zorg p:not(.vb3-oog){margin:0!important;color:var(--vb-ink-2)!important}

/* ---------- secties algemeen ---------- */
html.vb-v3 body :is(.section-header,.ss-diensten-head,.ss-tools-head){text-align:center;max-width:760px;margin:0 auto clamp(28px,4vw,48px)!important}
html.vb-v3 body :is(.section-header,.ss-diensten-head,.ss-tools-head) h2{margin:0 0 12px!important;color:var(--vb-night)!important}
html.vb-v3 body :is(.section-header,.ss-diensten-head,.ss-tools-head) p{color:var(--vb-ink-2)!important;font-size:1.15rem!important}
html.vb-v3 body :is(.ss-diensten-kicker,.ss-tools-kicker,.section-label,.section-tag,.eyebrow,.kicker,.ps-label,.zp-label){display:inline-flex!important;align-items:center;background:var(--vb-water)!important;color:var(--vb-deep)!important;font-size:.85rem!important;font-weight:750!important;letter-spacing:.06em!important;text-transform:uppercase;border-radius:999px!important;padding:6px 14px!important;border:0!important}
html.vb-v3 body :is(.problem-solution,.solutions-section,.werkwijze-section,.garantie-section,.voordelen-section,.ba-section,.vb-pj,.viz-cta-section,.faq-block,.vb-rv,.ss-diensten,.ss-tools,.ss-paden,.pr-aan,.xc,.about-section,.values-section,.numbers-section,.werkwijze-timeline){padding-top:var(--vb-sp)!important;padding-bottom:0!important;margin:0!important;background:transparent!important}
html.vb-v3 body :is(.problem-solution,.solutions-section,.werkwijze-section,.garantie-section,.voordelen-section,.ba-section,.vb-pj,.viz-cta-section,.faq-block,.vb-rv,.ss-diensten,.ss-tools,.xc){position:relative}
/* afwisseling met waterwit vlak */
html.vb-v3 body :is(.werkwijze-section,.vb-rv,.ss-tools,.voordelen-section){background:var(--vb-water)!important;padding-bottom:var(--vb-sp)!important;margin-top:var(--vb-sp)!important}
html.vb-v3 body .vb-rv + *{margin-top:0}

/* kaarten algemeen */
html.vb-v3 body :is(.ss-dienst,.ss-tool,.solution-card,.extra-card,.ps-card,.voordeel-card,.voordelen-card,.step,.werkwijze-step,.vb-pj-kaart,.vb-rv-kaart,.kb-card,.ds-card,.wg-card,.zp-kaart,.value-card,.number-card,.blog-card,.project-card,.feature-card){background:#fff!important;border:1px solid var(--vb-line)!important;border-radius:var(--vb-r)!important;box-shadow:var(--vb-sh)!important}

/* keuzepaden */
html.vb-v3 body .ss-paden{padding-top:clamp(36px,5vw,64px)!important}
html.vb-v3 body .ss-paden .ss-pad{border-radius:var(--vb-r-l)!important;overflow:hidden;box-shadow:var(--vb-sh-l)!important;min-height:340px}
html.vb-v3 body .ss-pad img{transition:transform .5s ease}
html.vb-v3 body .ss-pad:hover img{transform:scale(1.03)}
html.vb-v3 body .ss-pad-copy{background:linear-gradient(180deg,rgba(20,36,59,0) 0%,rgba(20,36,59,.55) 35%,rgba(20,36,59,.92) 100%)!important;padding:28px!important}
html.vb-v3 body .ss-pad-tag{background:var(--vb-light)!important;color:var(--vb-night)!important;border-radius:999px!important;font-weight:750!important;font-size:.85rem!important;letter-spacing:.04em}
html.vb-v3 body .ss-pad-title{color:#fff!important;font-size:clamp(1.5rem,1.1rem + 1.3vw,2.1rem)!important;font-weight:780!important;line-height:1.15!important;text-shadow:none!important}
html.vb-v3 body .ss-pad-btn{background:#fff!important;color:var(--vb-night)!important;border-radius:999px!important;font-weight:750!important;min-height:48px;display:inline-flex!important;align-items:center;padding:12px 22px!important}

/* specialisaties + hulpmiddelen */
html.vb-v3 body :is(.ss-diensten-grid,.ss-tools-grid){gap:16px!important}
html.vb-v3 body :is(.ss-dienst,.ss-tool){padding:22px 22px 20px!important;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;position:relative}
html.vb-v3 body :is(.ss-dienst,.ss-tool):hover{transform:translateY(-2px);border-color:var(--vb-blue)!important;box-shadow:var(--vb-sh-l)!important}
html.vb-v3 body :is(.ss-dienst,.ss-tool) strong{display:block;color:var(--vb-night)!important;font-size:1.15rem!important;font-weight:750!important;margin-bottom:6px}
html.vb-v3 body :is(.ss-dienst,.ss-tool) strong::after{content:" →";color:var(--vb-deep)}
html.vb-v3 body :is(.ss-dienst,.ss-tool) span{color:var(--vb-ink-2)!important;font-size:1rem!important;line-height:1.5}
html.vb-v3 body .ss-tools-note{font-size:1.02rem!important}

/* probleem / oplossing */
html.vb-v3 body .ps-card{padding:0 0 24px!important;overflow:hidden}
html.vb-v3 body .ps-card h3{padding:0 24px;margin:18px 0 10px!important}
html.vb-v3 body .ps-list{padding:0 24px!important}
html.vb-v3 body .ps-list li{font-size:1.06rem!important;color:var(--vb-ink)!important}
html.vb-v3 body .ps-image img{aspect-ratio:4/3;object-fit:cover;width:100%}
html.vb-v3 body .ps-card .ps-label{position:absolute;margin:16px!important;z-index:2}
html.vb-v3 body .ps-problem .ps-label{background:#FCE8E6!important;color:#9B2C1F!important}
html.vb-v3 body .ps-label-green{background:#E3F4EA!important;color:#145C33!important}
html.vb-v3 body .ps-arrow svg{color:var(--vb-blue)!important;stroke:var(--vb-blue)!important}

/* oplossingen */
html.vb-v3 body .solution-card{overflow:hidden}
html.vb-v3 body .solution-image img{aspect-ratio:4/3;object-fit:cover;width:100%}
html.vb-v3 body .solution-content{padding:22px 24px 26px!important}
html.vb-v3 body .solution-content p{color:var(--vb-ink-2)!important}
html.vb-v3 body .solution-features li{color:var(--vb-ink)!important}
html.vb-v3 body .extra-card{padding:24px!important}
html.vb-v3 body :is(.extra-icon,.garantie-icon,.voordeel-icon,.step-icon,.step-number){background:var(--vb-water)!important;color:var(--vb-deep)!important;border-color:transparent!important}
html.vb-v3 body :is(.extra-icon,.garantie-icon,.voordeel-icon,.step-icon) svg{stroke:var(--vb-deep)!important;color:var(--vb-deep)!important}
html.vb-v3 body .link-arrow{font-weight:700;color:var(--vb-deep)!important}

/* donkere vlakken (prijs-cta, extra cta) */
html.vb-v3 body .pr-aan .pr-in{background:var(--vb-night)!important;background-image:radial-gradient(120% 140% at 100% 0%,rgba(31,111,168,.55) 0%,rgba(20,36,59,0) 55%)!important;border-radius:var(--vb-r-l)!important;color:#fff}
html.vb-v3 body .pr-aan :is(h2,h3){color:#fff!important}
html.vb-v3 body .pr-aan p{color:#E6EEF6!important}
html.vb-v3 body .pr-aan a{background:#fff!important;color:var(--vb-night)!important;border:2px solid #fff!important;box-shadow:none!important;border-radius:999px!important;min-height:52px;display:inline-flex!important;align-items:center;padding:12px 26px!important;font-weight:750!important;text-decoration:none!important}
/* extra-cta: twee rustige kaarten */
html.vb-v3 body .xc{background:transparent!important;padding-left:clamp(18px,4vw,40px)!important;padding-right:clamp(18px,4vw,40px)!important}
html.vb-v3 body .xc .xc-in{max-width:1160px!important;gap:16px!important}
html.vb-v3 body .xc a{display:block!important;border-radius:var(--vb-r)!important;padding:26px 28px!important;background:var(--vb-night)!important;color:#fff!important;text-decoration:none!important;box-shadow:var(--vb-sh)!important;transition:transform .2s ease!important}
html.vb-v3 body .xc a:hover{transform:translateY(-2px)}
html.vb-v3 body .xc a.alt{background:#fff!important;color:var(--vb-night)!important;border:1px solid var(--vb-line)!important}
html.vb-v3 body .xc b{font-size:1.3rem!important;font-weight:780!important;margin:0 0 6px!important;display:block}
html.vb-v3 body .xc span{font-size:1.02rem!important;opacity:1!important}
html.vb-v3 body .xc a:not(.alt) span{color:#D7E2EE!important}

/* werkwijze */
html.vb-v3 body :is(.step-number,.werkwijze-num,.ww-num){background:var(--vb-deep)!important;color:#fff!important;font-weight:800!important}
html.vb-v3 body .werkwijze-section :is(h3,h4){color:var(--vb-night)!important}

/* voor/na */
html.vb-v3 body .ba-section h2{font-size:clamp(1.65rem,1.2rem + 1.7vw,2.4rem)!important;color:var(--vb-night)!important}
html.vb-v3 body :is(.ba-handle,.ba-slider-handle){background:#fff!important;border-color:var(--vb-deep)!important}

/* projecten + reviews (gedeelde blokken) */
html.vb-v3 body .vb-pj :is(h2,h3){color:var(--vb-night)!important}
html.vb-v3 body .vb-rv-score{background:#fff!important;border:1px solid var(--vb-line)!important;border-radius:16px!important;box-shadow:var(--vb-sh)!important}
html.vb-v3 body :is(.vb-rv,.vb-pj) :is(a.btn,.vb-pj-meer a,.vb-rv-voet a){font-weight:700}

/* FAQ */
html.vb-v3 body .faq-block details,html.vb-v3 body .faq-item{background:#fff!important;border:1px solid var(--vb-line)!important;border-radius:14px!important;margin:0 0 10px!important;box-shadow:none!important}
html.vb-v3 body .faq-block summary,html.vb-v3 body .faq-question{font-size:1.1rem!important;font-weight:700!important;color:var(--vb-night)!important;padding:18px 20px!important;min-height:60px;cursor:pointer}
html.vb-v3 body .faq-block :is(.faq-answer,details>div,details>p){padding:0 20px 18px!important;color:var(--vb-ink-2)!important}
html.vb-v3 body .faq-block{max-width:none}
html.vb-v3 body .faq-block .container{max-width:900px!important}

/* aanvraagformulier (gedeelde widget — alleen opmaak) */
html.vb-v3 body .af-box{border:1px solid var(--vb-line)!important;border-radius:var(--vb-r-l)!important;box-shadow:var(--vb-sh-l)!important;padding:clamp(22px,3vw,36px)!important}
html.vb-v3 body .af-box h2{color:var(--vb-night)!important;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)!important}
html.vb-v3 body .af-box .af-lead{color:var(--vb-ink-2)!important;font-size:1.08rem!important}
html.vb-v3 body .af-opt-l{border:2px solid #B9CBDC!important;border-radius:12px!important;min-height:52px}
html.vb-v3 body .af-opt-l:has(input:checked){border-color:var(--vb-deep)!important;background:var(--vb-water)!important}
html.vb-v3 body .af-go{width:100%;min-height:58px}
html.vb-v3 body :is(.af-hint,.af-trust){color:var(--vb-ink-2)!important;font-size:1rem!important}
html.vb-v3 body #aanvraag{scroll-margin-top:110px}
html.vb-v3 body .lead-form-section,html.vb-v3 body .lf-sec{background:transparent!important}

/* subpagina-hero's: één familie (nachtblauw vlak met zacht licht) */
html.vb-v3 body :is(.sp-hero,.of-hero,.ct-hero,.page-hero,.page-header,.kb-hero,.zp-hero,.ds-hero):not([style*="background-image"]){
  background-color:var(--vb-night)!important;background-image:radial-gradient(90% 120% at 100% 0%,rgba(31,111,168,.6) 0%,rgba(20,36,59,0) 60%),radial-gradient(60% 80% at 0% 100%,rgba(124,195,238,.18) 0%,rgba(20,36,59,0) 60%)!important;
  padding-top:clamp(48px,6vw,88px)!important;padding-bottom:clamp(44px,6vw,80px)!important;margin-top:0!important;color:#fff}
html.vb-v3 body :is(.sp-hero,.of-hero,.ct-hero,.page-hero,.page-header,.kb-hero,.zp-hero,.ds-hero) :is(h1,h2){color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}
html.vb-v3 body :is(.sp-hero,.of-hero,.ct-hero,.page-hero,.page-header,.kb-hero,.zp-hero,.ds-hero) :is(h1 span,h1 em){color:var(--vb-light)!important;-webkit-text-fill-color:var(--vb-light)!important;background:none!important}
html.vb-v3 body :is(.sp-hero,.of-hero,.ct-hero,.page-hero,.page-header,.kb-hero,.zp-hero,.ds-hero) p{color:#E6EEF6!important;font-size:1.15rem!important;text-shadow:none!important}
html.vb-v3 body :is(.sp-hero,.of-hero,.ct-hero,.page-hero,.page-header,.kb-hero,.ds-hero) :is(.hero-overlay,.sp-hero-bg,.sp-overlay){opacity:.25!important}
html.vb-v3 body :is(.sp-hero,.of-hero,.ct-hero,.page-hero,.page-header,.kb-hero,.zp-hero,.ds-hero) :is(.btn,a.btn){box-shadow:none!important}
html.vb-v3 body :is(.sp-hero,.of-hero,.ct-hero,.page-hero,.page-header,.kb-hero,.zp-hero,.ds-hero) :is(.btn-outline,.btn-white,.btn-secondary,.zp-btn-2){background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.8)!important}
html.vb-v3 body .breadcrumb,html.vb-v3 body .breadcrumbs,html.vb-v3 body nav[aria-label*=ruimel]{font-size:.98rem!important}

/* lichte hero's (regio, locatie, werkgebied-gemeente, ontwerp-tool) → waterwit */
html.vb-v3 body :is(.rg-hero,.loc-hero,.wg-hero,.tool-hero,.regio-hero,.location-hero){background:linear-gradient(180deg,var(--vb-water),#fff)!important;padding-top:clamp(40px,5vw,72px)!important}
html.vb-v3 body :is(.rg-hero,.loc-hero,.wg-hero,.tool-hero,.regio-hero,.location-hero) h1{color:var(--vb-night)!important}

/* gemeentepagina's (werkgebied) */
html.vb-v3 body .wg-sec{padding-top:clamp(44px,5vw,72px)!important;padding-bottom:clamp(44px,5vw,72px)!important}
html.vb-v3 body .wg-sec.wg-alt{background:var(--vb-water)!important}
/* zorgprofessionals-pagina */
html.vb-v3 body .zp-sectie{padding-top:clamp(48px,6vw,88px)!important;padding-bottom:clamp(48px,6vw,88px)!important}
html.vb-v3 body .zp-sectie.zp-alt{background:var(--vb-water)!important}
html.vb-v3 body .zp-hero .zp-label{background:rgba(124,195,238,.2)!important;color:#fff!important}
html.vb-v3 body .zp-hero :is(.btn,a.btn,.zp-btn):first-of-type{background:#fff!important;color:var(--vb-night)!important;border-color:#fff!important}

/* blog */
html.vb-v3 body :is(article,.blog-content,.article-content,.bp-content,.post-content) :is(p,li){font-size:1.12rem!important;line-height:1.8!important;color:var(--vb-ink)!important}
html.vb-v3 body :is(article,.blog-content,.article-content,.bp-content,.post-content) h2{margin-top:1.6em!important}

/* tabellen */
html.vb-v3 body table{border-collapse:collapse}
html.vb-v3 body th{background:var(--vb-water)!important;color:var(--vb-night)!important}

/* ---------- voet ---------- */
html.vb-v3 .vb3-voet-cta{background:var(--vb-deep);background-image:radial-gradient(80% 140% at 100% 0%,rgba(124,195,238,.35) 0%,rgba(31,111,168,0) 60%);color:#fff;margin-top:var(--vb-sp)}
html.vb-v3 .vb3-voet-cta-in{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:clamp(36px,5vw,56px);padding-bottom:clamp(36px,5vw,56px);flex-wrap:wrap}
html.vb-v3 .vb3-voet-cta-kop{margin:0 0 6px!important;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)!important;font-weight:800;color:#fff!important;letter-spacing:-.015em;line-height:1.2}
html.vb-v3 .vb3-voet-cta-tekst{margin:0!important;color:#EAF4FC!important;font-size:1.12rem!important}
html.vb-v3 .vb3-voet-cta-knoppen{display:flex;gap:12px;flex-wrap:wrap}
html.vb-v3 .vb3-voet{background:var(--vb-night)!important;color:#D7E2EE!important;padding:clamp(44px,6vw,72px) 0 28px!important;margin:0!important}
html.vb-v3 .vb3-voet-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
html.vb-v3 .vb3-voet-merk img{height:64px;width:auto;margin-bottom:22px}
html.vb-v3 .vb3-voet-contact{list-style:none;margin:0;padding:0;display:grid;gap:6px}
html.vb-v3 .vb3-voet-contact a{display:inline-flex;align-items:center;gap:12px;color:#fff!important;text-decoration:none;font-weight:650;font-size:1.08rem!important;min-height:44px}
html.vb-v3 .vb3-voet-contact svg{color:var(--vb-light)}
html.vb-v3 .vb3-voet-kop{margin:0 0 14px!important;color:#fff!important;font-weight:750;font-size:1.1rem!important}
html.vb-v3 .vb3-voet-kol ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
html.vb-v3 .vb3-voet-kol a{display:inline-block;padding:6px 0;color:#D7E2EE!important;text-decoration:none;font-size:1.02rem!important;min-height:36px}
html.vb-v3 .vb3-voet-kol a:hover,html.vb-v3 .vb3-voet-contact a:hover{color:var(--vb-light)!important;text-decoration:underline}
html.vb-v3 .vb3-voet-social{display:flex;justify-content:center;gap:10px;margin-top:28px}
html.vb-v3 .vb3-voet-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff!important}
html.vb-v3 .vb3-voet-onder{margin-top:32px;border-top:1px solid rgba(255,255,255,.14);padding-top:6px;text-align:center}
html.vb-v3 .vb3-voet-onder p{margin:10px 0 0!important;font-size:.98rem!important;color:#C9D6E4!important;line-height:1.6}
html.vb-v3 .vb3-voet-onder .or-moeder{border-top:0!important;margin:0!important;color:#E6EEF6!important;font-size:1rem!important}
html.vb-v3 .vb3-voet-onder a{color:#fff!important}
html.vb-v3 .vb3-voet-copy{font-size:.95rem!important}

/* ---------- vaste actiebalk mobiel (gedeelde widget — alleen kleur/maat) ---------- */
@media (max-width:1023px){
  html.vb-v3 body .ss-mbar{border-top:1px solid var(--vb-line)!important;box-shadow:0 -8px 24px rgba(20,36,59,.10)!important;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))!important}
  html.vb-v3 body .ss-mbar a{min-height:52px!important;font-size:1rem!important;font-family:var(--vb-font)!important}
  html.vb-v3 body .ss-mbar .ss-mbar-tel{color:var(--vb-night)!important;border-color:var(--vb-night)!important}
  html.vb-v3 body .ss-mbar .ss-mbar-wa{background:var(--vb-wa)!important}
  html.vb-v3 body .ss-mbar .ss-mbar-off{background:var(--vb-deep)!important}
}

/* cookiemelding */
html.vb-v3 body .cookie-banner{background:#fff!important;border-top:1px solid var(--vb-line)!important;box-shadow:0 -8px 24px rgba(20,36,59,.1)!important;color:var(--vb-ink)!important}
html.vb-v3 body .cookie-banner p{color:var(--vb-ink)!important;font-size:1rem!important}

/* chat-knop: alleen kleur */
html.vb-v3 body :is(.chatbot-toggle,#chatbotToggle){background:var(--vb-night)!important}

/* ---------- responsief ---------- */
@media (max-width:1400px){
  html.vb-v3 .vb3-kop-bel span{display:none}
  html.vb-v3 .vb3-kop-bel{width:48px;height:48px;justify-content:center;border-radius:12px;background:var(--vb-water)}
  html.vb-v3 .vb3-kop-in{gap:18px}
}
@media (max-width:1180px){
  html.vb-v3 .vb3-nav>ul>li>a{padding:12px 10px;font-size:.98rem!important}
}
@media (max-width:1023px){
  html.vb-v3 .vb3-kop-strook{display:none}
  html.vb-v3 .vb3-nav,html.vb-v3 .vb3-kop .vb3-kop-cta{display:none!important}
  html.vb-v3 .vb3-hamburger{display:inline-flex}
  html.vb-v3 .vb3-kop-acties{gap:10px}
  html.vb-v3 .vb3-kop-in{min-height:72px;gap:12px;justify-content:space-between}
  html.vb-v3 .vb3-logo img{height:44px}
  html.vb-v3 .vb3-kop-bel{width:48px;height:48px;justify-content:center;border-radius:12px;background:var(--vb-water)}
  html.vb-v3 .vb3-voet-grid{grid-template-columns:1fr 1fr}
  html.vb-v3 .vb3-voet-merk{grid-column:1/-1}
  html.vb-v3 .vb3-vertrouwen-in{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  html.vb-v3 .vb3-hero-in{grid-template-columns:1fr}
  html.vb-v3 .vb3-hero-beeld{margin:0}
  html.vb-v3 .vb3-hero-beeld img{aspect-ratio:4/3}
  html.vb-v3 .vb3-hero-beeld::after{display:none}
  html.vb-v3 .vb3-hero-score{left:12px;bottom:12px;padding:10px 14px}
  html.vb-v3 .vb3-hero-score b{font-size:1.3rem}
  html.vb-v3 .vb3-hero h1{max-width:none}
  html.vb-v3 .vb3-zorg-in{grid-template-columns:1fr;text-align:left}
  html.vb-v3 .vb3-zorg-ic{width:60px;height:60px}
}
@media (max-width:600px){
  html.vb-v3 body{font-size:1.125rem!important}
  html.vb-v3 .vb3-hero{padding-top:16px}
  html.vb-v3 .vb3-hero h1{font-size:2rem!important}
  html.vb-v3 .vb3-hero .hero-highlight{font-size:.78em}
  html.vb-v3 .vb3-hero-punten li{font-size:1.06rem!important}
  html.vb-v3 .vb3-hero-actie .vb3-knop{width:100%}
  html.vb-v3 .vb3-hero-bijschrift{display:none}
  html.vb-v3 .vb3-vertrouwen-in{grid-template-columns:1fr;gap:12px}
  html.vb-v3 .vb3-voet-grid{grid-template-columns:1fr;gap:26px}
  html.vb-v3 .vb3-voet-cta-knoppen{width:100%}
  html.vb-v3 .vb3-voet-cta-knoppen .vb3-knop{width:100%}
  html.vb-v3 .vb3-logo img{height:40px}
  html.vb-v3 body .ss-paden .ss-pad{min-height:280px}
}
@media (prefers-reduced-motion:reduce){
  html.vb-v3 *,html.vb-v3 *::before,html.vb-v3 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{html.vb-v3 .vb3-kop-strook,html.vb-v3 .ss-mbar,html.vb-v3 .vb3-voet-cta{display:none!important}}

/* reveal-animaties mogen nooit tekst/kaarten verbergen (navy-force deed dit; die laag laadt in v3 niet) */
html.vb-v3 body :is(.fade-in,.stagger-item,.timeline-item,.reveal,.reveal-blur,.reveal-scale,.reveal-section,.ss-fade-in,.hero-fade,.ss-from-top,.ss-from-bot){opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important}
/* decoratieve ruis uit de oude hero/kaarten */
html.vb-v3 body :is(.hero-particles,.hero-floaters,.particle,.floater){display:none!important}

/* structurele vangnetten (overgenomen uit ss-navy-force: RASTER-EEN-KOLOM / LANGE-WOORDEN / HERO-GLOED, zonder kleuren) */
@media (max-width:560px){
  html.vb-v3 body .voordelen-grid,html.vb-v3 body [class$="-grid"],html.vb-v3 body [class*="-grid "]{grid-template-columns:1fr!important}
  html.vb-v3 body .vb3-voet-grid{grid-template-columns:1fr!important}
}
@media (max-width:420px){
  html.vb-v3 body h1{font-size:clamp(1.7rem,8.4vw,2.2rem)!important;line-height:1.15!important}
  html.vb-v3 body h2{font-size:clamp(1.4rem,7vw,1.9rem)!important;line-height:1.2!important}
  html.vb-v3 body h3{font-size:clamp(1.15rem,5.6vw,1.4rem)!important}
  html.vb-v3 body :is(h1,h2,h3){overflow-wrap:break-word!important}
}
/* kop: past op 1280 */
@media (max-width:1400px){
  html.vb-v3 .vb3-nav>ul>li>a{padding:10px 10px;font-size:1rem!important}
  html.vb-v3 .vb3-logo img{height:48px}
  html.vb-v3 .vb3-kop-cta{padding:12px 18px!important}
}

/* garanties: donkere band (styles.css verwacht wit op donker) */
html.vb-v3 body .garantie-section{background:var(--vb-night)!important;background-image:radial-gradient(70% 120% at 100% 0%,rgba(31,111,168,.5) 0%,rgba(20,36,59,0) 60%)!important;padding-bottom:var(--vb-sp)!important;margin-top:var(--vb-sp)!important}
html.vb-v3 body .garantie-section .section-header h2{color:#fff!important}
html.vb-v3 body .garantie-section .section-header p{color:#D7E2EE!important}
html.vb-v3 body .garantie-card{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:var(--vb-r)!important;box-shadow:none!important;padding:30px 26px!important}
html.vb-v3 body .garantie-card.garantie-featured{border-color:var(--vb-light)!important;background:rgba(124,195,238,.10)!important}
html.vb-v3 body .garantie-card h3{color:#fff!important}
html.vb-v3 body .garantie-card p{color:#D7E2EE!important;font-size:1.05rem!important}
html.vb-v3 body .garantie-badge{width:auto!important;height:auto!important;min-width:0!important;display:inline-flex!important;padding:8px 18px!important;border-radius:999px!important;background:var(--vb-light)!important;color:var(--vb-night)!important;font-weight:800!important;font-size:1.05rem!important;box-shadow:none!important;white-space:nowrap}

/* blogoverzicht (/blog — eigen sjabloon includes/i18n/blog.php) */
html.vb-v3 body.vb3-blogpagina .nav{background:var(--vb-water)!important;border-bottom:1px solid var(--vb-line)!important;padding:12px 0!important}
html.vb-v3 body.vb3-blogpagina .nav a{color:var(--vb-deep)!important;font-size:1rem!important}
html.vb-v3 body.vb3-blogpagina .wrap{max-width:1160px!important;padding:0 clamp(18px,4vw,40px)!important}
html.vb-v3 body.vb3-blogpagina .hero{padding:clamp(36px,5vw,64px) 0 12px!important;border:0!important}
html.vb-v3 body.vb3-blogpagina .hero h1{color:var(--vb-night)!important;margin:12px 0 8px!important}
html.vb-v3 body.vb3-blogpagina .hero .meta{color:var(--vb-ink-2)!important;font-size:1.05rem!important}
html.vb-v3 body.vb3-blogpagina .hero .cat,html.vb-v3 body.vb3-blogpagina .card .cat{background:var(--vb-water)!important;color:var(--vb-deep)!important;display:inline-block;padding:5px 12px;border-radius:999px;font-size:.82rem!important;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
html.vb-v3 body.vb3-blogpagina .blog-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:20px!important;padding:24px 0 0!important}
html.vb-v3 body.vb3-blogpagina .card{border:1px solid var(--vb-line)!important;border-radius:var(--vb-r)!important;padding:26px!important;box-shadow:var(--vb-sh)!important}
html.vb-v3 body.vb3-blogpagina .card:hover{border-color:var(--vb-blue)!important;box-shadow:var(--vb-sh-l)!important}
html.vb-v3 body.vb3-blogpagina .card h3{color:var(--vb-night)!important;margin:12px 0 8px!important;font-size:1.25rem!important}
html.vb-v3 body.vb3-blogpagina .card p{color:var(--vb-ink-2)!important;font-size:1.02rem!important}
html.vb-v3 body.vb3-blogpagina article{max-width:760px}
html.vb-v3 body.vb3-blogpagina article h2{color:var(--vb-night)!important}
html.vb-v3 body.vb3-blogpagina article .conclusion{border-left-color:var(--vb-deep)!important;background:var(--vb-water)!important}
html.vb-v3 .vb3-hb-tekst{display:inline}

/* hero-knoppen in subpagina's: één knopfamilie */
html.vb-v3 body .sp-hero a.sp-go,html.vb-v3 body .zp-hero .zp-knop-licht{background:#fff!important;color:var(--vb-night)!important;border:2px solid #fff!important;border-radius:999px!important;min-height:52px;display:inline-flex!important;align-items:center;padding:13px 24px!important;font-weight:750!important}
html.vb-v3 body .sp-hero a.sp-more{border-radius:999px!important;border:2px solid rgba(255,255,255,.75)!important;min-height:52px;display:inline-flex!important;align-items:center;padding:13px 24px!important}
html.vb-v3 body .sp-hero h1 span{color:var(--vb-light)!important}
html.vb-v3 body .sp-hero .k{color:var(--vb-light)!important;font-size:.85rem!important}
/* kopfoto's (blog e.a.) behouden: foto blijft, nachtblauwe sluier erover */
html.vb-v3 body :is(.page-header,.page-hero)[style*="background-image"]{background-image:none;box-shadow:inset 0 0 0 4000px rgba(20,36,59,.74)!important;background-size:cover!important;background-position:center!important}
html.vb-v3 body section[style*="background: var(--secondary)"],html.vb-v3 body div[style*="background: var(--secondary)"]{background:var(--vb-water)!important}
html.vb-v3 body .cta-button{display:inline-flex!important;align-items:center;gap:8px;min-height:52px;padding:13px 24px!important;border-radius:999px!important;background:var(--vb-deep)!important;color:#fff!important;font-weight:700!important;text-decoration:none!important}
html.vb-v3 body .cta-button[style*="background: white"]{background:#fff!important;color:var(--vb-night)!important;border:2px solid var(--vb-night)!important}
html.vb-v3 body .cta-button[style*="transparent"]{background:transparent!important;color:var(--vb-deep)!important;padding-left:0!important}
html.vb-v3 body :is(.page-header,.page-hero)[style*="background-image"]{background-color:var(--vb-night)!important;padding-top:clamp(56px,7vw,104px)!important;padding-bottom:clamp(120px,12vw,180px)!important;color:#fff}

/* taalkeuze NL/FR (.be): niet over de kopstrook, linksonder */
html.vb-v3 body #ss-lang-switch{top:auto!important;right:auto!important;left:16px!important;bottom:20px!important;font-family:var(--vb-font)!important;font-size:15px!important;border-color:var(--vb-line)!important;box-shadow:var(--vb-sh)!important;z-index:8999!important}
html.vb-v3 body #ss-lang-switch a{min-width:44px;min-height:40px;display:inline-flex!important;align-items:center;justify-content:center}
@media (max-width:1023px){html.vb-v3 body #ss-lang-switch{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}}
/* geen dubbele witruimte direct onder een paginakop */
html.vb-v3 body :is(.page-hero,.page-header,.kb-hero,.ds-hero,.sp-hero,.of-hero,.ct-hero) + :is(section,div){margin-top:0!important}
html.vb-v3 body :is(.page-header,.page-hero,.kb-hero,.ds-hero,.of-hero,.ct-hero){padding-left:clamp(18px,4vw,40px)!important;padding-right:clamp(18px,4vw,40px)!important}

/* donkere CTA-kaart in dienstpagina's */
html.vb-v3 body .sp-cta{background:var(--vb-night)!important;background-image:radial-gradient(90% 140% at 100% 0%,rgba(31,111,168,.55) 0%,rgba(20,36,59,0) 60%)!important;border-radius:var(--vb-r-l)!important;padding:clamp(22px,3vw,36px)!important}
html.vb-v3 body .sp-cta h2{color:#fff!important;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem)!important}
html.vb-v3 body .sp-cta p{color:#D7E2EE!important}
html.vb-v3 body .sp-cta>a{background:#fff!important;color:var(--vb-night)!important;border-radius:999px!important;min-height:52px;display:inline-flex!important;align-items:center;padding:13px 24px!important;font-weight:750!important;text-decoration:none!important;white-space:nowrap}
html.vb-v3 body .sp-item summary{font-weight:700!important;color:var(--vb-night)!important;min-height:56px;display:flex;align-items:center;font-size:1.08rem!important}

/* contrast-reparaties (Lighthouse/axe) */
html.vb-v3 body a.ss-pad span.ss-pad-tag{color:#14243B!important}
html.vb-v3 body .vb-pj a.vb-pj-knop,html.vb-v3 body a.vb-pj-knop{background:var(--vb-deep)!important;color:#fff!important;border-color:var(--vb-deep)!important}
html.vb-v3 body [style*="#9ca3af"],html.vb-v3 body [style*="#94a3b8"],html.vb-v3 body [style*="#64748b"]{color:#4F5664!important}
html.vb-v3 body .sp-step b{color:var(--vb-deep)!important}
html.vb-v3 body .zp-klein{color:var(--vb-ink-2)!important}
html.vb-v3 body :is(.af-opt,.af-opt-l):has(input:checked),html.vb-v3 body :is(.af-opt,.af-opt-l).on,html.vb-v3 body :is(.af-opt,.af-opt-l).actief{background:var(--vb-water)!important;border-color:var(--vb-deep)!important;color:var(--vb-night)!important}
html.vb-v3 body :is(.af-opt,.af-opt-l):has(input:checked) *{color:var(--vb-night)!important}
html.vb-v3 body a.ss-pad span.ss-pad-tag{-webkit-text-fill-color:#14243B!important}
html.vb-v3 body a.ss-pad span.ss-pad-btn{-webkit-text-fill-color:#14243B!important;color:#14243B!important}
html.vb-v3 body [style*="#6b7280"],html.vb-v3 body .ds-note{color:#4F5664!important}

/* =================== ronde 2 =================== */
html.vb-v3 .vb3-sectie{padding:var(--vb-sp) 0 0}
html.vb-v3 .vb3-kopblok{text-align:center;max-width:760px;margin:0 auto clamp(26px,4vw,44px)}
html.vb-v3 .vb3-kopblok h2{margin:0 0 10px!important}
html.vb-v3 .vb3-kopblok p:not(.vb3-oog){color:var(--vb-ink-2)!important;font-size:1.12rem!important;margin:0!important}
html.vb-v3 .vb3-knop-rand{background:#fff!important;color:var(--vb-night)!important;border:2px solid var(--vb-night)!important}
html.vb-v3 .vb3-knop-rand:hover{background:var(--vb-water)!important}
html.vb-v3 .vb3-ba-meer{text-align:center;margin:28px 0 0!important}

/* voor/na-schuifregelaar */
html.vb-v3 .vb3-ba{margin:0;--pos:50%}
html.vb-v3 .vb3-ba-frame{position:relative;overflow:hidden;border-radius:var(--vb-r-l);background:var(--vb-water-2);box-shadow:var(--vb-sh-l);user-select:none;-webkit-user-select:none;touch-action:pan-y}
html.vb-v3 .vb3-ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
html.vb-v3 .vb3-ba-voor{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
html.vb-v3 .vb3-ba-lijn{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(20,36,59,.25);pointer-events:none}
html.vb-v3 .vb3-ba-greep{position:absolute;top:50%;left:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:#fff;color:var(--vb-night);display:grid;place-items:center;box-shadow:0 6px 20px rgba(20,36,59,.35);transition:transform .15s ease}
html.vb-v3 .vb3-ba-bezig .vb3-ba-greep{transform:scale(1.08)}
html.vb-v3 .vb3-ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y;-webkit-appearance:none;appearance:none;background:transparent;min-height:0!important;border:0!important;padding:0!important}
html.vb-v3 .vb3-ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:56px;height:999px}
html.vb-v3 .vb3-ba-range:focus-visible{outline:none!important}
html.vb-v3 .vb3-ba-frame:has(.vb3-ba-range:focus-visible){outline:3px solid var(--vb-blue);outline-offset:3px}
html.vb-v3 .vb3-ba-frame:has(.vb3-ba-range:focus-visible) .vb3-ba-greep{box-shadow:0 0 0 4px var(--vb-light),0 6px 20px rgba(20,36,59,.35)}
html.vb-v3 .vb3-ba-lbl{position:absolute;top:14px;padding:6px 12px;border-radius:999px;font-weight:750;font-size:.92rem;pointer-events:none;letter-spacing:.02em}
html.vb-v3 .vb3-ba-lbl-v{left:14px;background:rgba(20,36,59,.86);color:#fff}
html.vb-v3 .vb3-ba-lbl-n{right:14px;background:#fff;color:var(--vb-night)}
html.vb-v3 .vb3-ba figcaption{padding:16px 4px 0}
html.vb-v3 .vb3-ba-titel{font-size:1.25rem!important;margin:0 0 6px!important;color:var(--vb-night)!important}
html.vb-v3 .vb3-ba figcaption p{margin:0!important;color:var(--vb-ink-2)!important;font-size:1.04rem!important}

/* carrousel */
html.vb-v3 .vb3-car{position:relative}
html.vb-v3 .vb3-car-spoor{display:grid;grid-auto-flow:column;grid-auto-columns:min(100%,940px);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 12px;justify-content:start}
html.vb-v3 .vb3-car-spoor::-webkit-scrollbar{display:none}
html.vb-v3 .vb3-car-dia{scroll-snap-align:start}
html.vb-v3 .vb3-car-dia .vb3-ba{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:center;background:#fff;border:1px solid var(--vb-line);border-radius:28px;padding:clamp(14px,2vw,22px);box-shadow:var(--vb-sh)}
html.vb-v3 .vb3-car-dia .vb3-ba-frame{width:100%}
html.vb-v3 .vb3-car-dia .vb3-ba figcaption{padding:0 clamp(4px,1.5vw,16px)}
html.vb-v3 .vb3-car-dia .vb3-ba-titel{font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem)!important}
html.vb-v3 .vb3-car-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px}
html.vb-v3 .vb3-car-knop{width:52px;height:52px;border-radius:50%;border:2px solid var(--vb-night);background:#fff;color:var(--vb-night);display:grid;place-items:center;cursor:pointer}
html.vb-v3 .vb3-car-knop:hover{background:var(--vb-water)}
html.vb-v3 .vb3-car-stip{display:flex;gap:8px}
html.vb-v3 .vb3-car-stip span{width:10px;height:10px;border-radius:50%;background:#B9CBDC;transition:background .2s,width .2s}
html.vb-v3 .vb3-car-stip span.aan{background:var(--vb-deep);width:28px;border-radius:999px}

/* raster op /projecten en dienstpagina */
html.vb-v3 .vb3-ba-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;align-items:start}
html.vb-v3 .vb3-ba-breed{grid-column:1/-1}
@media (max-width:1100px){html.vb-v3 .vb3-ba-raster{grid-template-columns:repeat(2,minmax(0,1fr))}}

html.vb-v3 .vb3-ba-dienst-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(24px,4vw,56px);align-items:center;background:var(--vb-water);border-radius:var(--vb-r-l);padding:clamp(18px,3vw,40px)}
html.vb-v3 .vb3-ba-dienst .vb3-ba{max-width:480px}
html.vb-v3 .vb3-ba-dienst-kop{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem)!important;font-weight:800;color:var(--vb-night)!important;margin:0 0 8px!important;line-height:1.2}
html.vb-v3 .vb3-ba-dienst-cta p:not(.vb3-ba-dienst-kop){color:var(--vb-ink-2)!important;margin:0 0 20px!important}
html.vb-v3 .vb3-ba-dienst-link{display:block;margin-top:14px;font-weight:700}

/* galerij + lightbox */
html.vb-v3 .vb3-gal-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 28px}
html.vb-v3 .vb3-chip{min-height:48px;padding:10px 18px;border-radius:999px;border:2px solid #B9CBDC;background:#fff;color:var(--vb-night);font:650 1rem var(--vb-font);cursor:pointer}
html.vb-v3 .vb3-chip[aria-pressed=true]{background:var(--vb-night);border-color:var(--vb-night);color:#fff}
html.vb-v3 .vb3-gal-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}
html.vb-v3 .vb3-gal-item{background:#fff;border:1px solid var(--vb-line);border-radius:var(--vb-r);overflow:hidden;box-shadow:var(--vb-sh);display:flex;flex-direction:column}
html.vb-v3 .vb3-gal-item[hidden]{display:none}
html.vb-v3 .vb3-gal-fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
html.vb-v3 .vb3-gal-foto{display:block;overflow:hidden;position:relative}
html.vb-v3 .vb3-gal-foto img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s ease}
html.vb-v3 .vb3-gal-foto:hover img{transform:scale(1.04)}
html.vb-v3 .vb3-gal-hoofd{grid-column:1/-1}
html.vb-v3 .vb3-gal-hoofd img{aspect-ratio:16/10}
html.vb-v3 .vb3-gal-info{padding:18px 20px 22px}
html.vb-v3 .vb3-gal-info h3{margin:0 0 8px!important}
html.vb-v3 .vb3-gal-info p{margin:0 0 8px!important;color:var(--vb-ink-2)!important;font-size:1.02rem!important}
html.vb-v3 .vb3-gal-oud{font-style:italic}
html.vb-v3 .vb3-lb{border:0;padding:0;background:transparent;max-width:min(1200px,96vw);max-height:94vh;width:100%}
html.vb-v3 .vb3-lb::backdrop{background:rgba(10,18,32,.88)}
html.vb-v3 .vb3-lb-in{position:relative;display:flex;flex-direction:column;align-items:center}
html.vb-v3 .vb3-lb img{max-width:100%;max-height:82vh;border-radius:14px;object-fit:contain;background:#000}
html.vb-v3 .vb3-lb-tekst{color:#fff!important;margin:12px 0 0!important;text-align:center;font-weight:600}
html.vb-v3 .vb3-lb-dicht,html.vb-v3 .vb3-lb-pijl{position:absolute;width:52px;height:52px;border-radius:50%;border:0;background:#fff;color:var(--vb-night);display:grid;place-items:center;cursor:pointer;box-shadow:var(--vb-sh)}
html.vb-v3 .vb3-lb-dicht{top:10px;right:10px}
html.vb-v3 .vb3-lb-vorige{left:10px;top:40%}
html.vb-v3 .vb3-lb-volgende{right:10px;top:40%}

/* veilig-check */
html.vb-v3 .vb3-check-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:start;background:#fff;border:1px solid var(--vb-line);border-radius:var(--vb-r-l);padding:clamp(20px,3.5vw,44px);box-shadow:var(--vb-sh)}
html.vb-v3 .vb3-check-intro h2{margin:0 0 12px!important}
html.vb-v3 .vb3-check-intro p:not(.vb3-oog){color:var(--vb-ink-2)!important}
html.vb-v3 .vb3-check-pdf a{display:inline-flex;align-items:center;gap:10px;font-weight:700;min-height:48px}
html.vb-v3 .vb3-check-vragen{display:grid;gap:12px}
html.vb-v3 .vb3-check-v{margin:0;border:2px solid var(--vb-line);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:border-color .2s,background .2s}
html.vb-v3 .vb3-check-v.vb3-ja{border-color:var(--vb-blue);background:var(--vb-water)}
html.vb-v3 .vb3-check-vraag{margin:0!important;font-weight:650;font-size:1.06rem!important;color:var(--vb-ink)!important;display:flex;gap:12px;align-items:flex-start}
html.vb-v3 .vb3-check-nr{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--vb-night);color:#fff;font-size:.9rem;font-weight:800}
html.vb-v3 .vb3-check-keus{display:flex;gap:8px;flex:0 0 auto}
html.vb-v3 .vb3-check-keus label{position:relative;cursor:pointer}
html.vb-v3 .vb3-check-keus input{position:absolute;opacity:0;width:1px;height:1px}
html.vb-v3 .vb3-check-keus span{display:grid;place-items:center;min-width:72px;min-height:48px;padding:0 14px;border-radius:12px;border:2px solid #B9CBDC;background:#fff;font-weight:700;color:var(--vb-night)}
html.vb-v3 .vb3-check-keus input:checked+span{background:var(--vb-night);border-color:var(--vb-night);color:#fff}
html.vb-v3 .vb3-check-keus input:focus-visible+span{outline:3px solid var(--vb-blue);outline-offset:2px}
html.vb-v3 .vb3-check-uitslag{border-radius:18px;background:var(--vb-water);padding:20px 22px;border-left:6px solid var(--vb-deep)}
html.vb-v3 .vb3-check-uitslag.vb3-check-let-op{background:#FFF7E6;border-left-color:#B45309}
html.vb-v3 .vb3-check-uitslag-kop{font-weight:800;font-size:1.15rem!important;color:var(--vb-night)!important;margin:0 0 8px!important}
html.vb-v3 .vb3-check-advies{margin:0 0 16px;padding-left:20px}
html.vb-v3 .vb3-check-advies li{margin:0 0 6px;color:var(--vb-ink)!important}
html.vb-v3 .vb3-check-knoppen{display:flex;flex-wrap:wrap;gap:12px}
html.vb-v3 .vb3-check-klein{font-size:.95rem!important;color:var(--vb-ink-2)!important;margin:12px 0 0!important}

/* checklist-blok zorgprofessionals */
html.vb-v3 .vb3-cl-in{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;background:var(--vb-water);border-radius:var(--vb-r-l);padding:clamp(22px,3.5vw,44px)}
html.vb-v3 .vb3-cl-doc{width:190px;aspect-ratio:1/1.414;background:#fff;border-radius:10px;box-shadow:var(--vb-sh-l);padding:18px 16px;display:flex;flex-direction:column;gap:8px;transform:rotate(-3deg)}
html.vb-v3 .vb3-cl-doc-kop{font-size:.6rem;font-weight:800;letter-spacing:.08em;color:var(--vb-deep);text-transform:uppercase}
html.vb-v3 .vb3-cl-doc-titel{font-size:.95rem;font-weight:800;color:var(--vb-night);line-height:1.2;margin-bottom:6px}
html.vb-v3 .vb3-cl-doc-r{height:8px;border-radius:4px;background:var(--vb-water-2)}
html.vb-v3 .vb3-cl-doc-r.kort{width:60%}
html.vb-v3 .vb3-cl-lijst{margin:0 0 20px;padding-left:20px}

/* blogoverzicht v3 */
html.vb-v3 .vb3-blog-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:24px 0 0}
html.vb-v3 .vb3-blog-kaart{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--vb-line);border-radius:var(--vb-r);padding:24px;text-decoration:none!important;box-shadow:var(--vb-sh);transition:transform .2s,box-shadow .2s,border-color .2s}
html.vb-v3 .vb3-blog-kaart:hover{transform:translateY(-2px);border-color:var(--vb-blue);box-shadow:var(--vb-sh-l)}
html.vb-v3 .vb3-blog-tag{align-self:flex-start;background:var(--vb-water);color:var(--vb-deep);font-weight:750;font-size:.82rem;padding:5px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
html.vb-v3 .vb3-blog-kaart h2{font-size:1.25rem!important;margin:0!important;color:var(--vb-night)!important;line-height:1.3!important}
html.vb-v3 .vb3-blog-kaart p{margin:0!important;color:var(--vb-ink-2)!important;font-size:1.02rem!important}
html.vb-v3 .vb3-blog-lees{margin-top:auto;font-weight:750;color:var(--vb-deep)}

/* reviews als carrousel */
html.vb-v3 body .vb-rv-grid.vb3-rv-spoor,html.vb-v3 body .vb-rv .vb-rv-grid{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(300px,calc((100% - 40px)/3));grid-template-columns:none!important;gap:20px!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 10px}
html.vb-v3 body .vb-rv-grid::-webkit-scrollbar{display:none}
html.vb-v3 body .vb-rv-grid>*{scroll-snap-align:start}
html.vb-v3 .vb3-rv-nav{margin:6px 0 4px}

/* werkwijze als tijdlijn */
html.vb-v3 body .vb3-tijdlijn{position:relative}
html.vb-v3 body .vb3-tijdlijn .werkwijze-card{cursor:pointer;transition:border-color .3s,box-shadow .3s,transform .3s!important}
html.vb-v3 body .vb3-tijdlijn .werkwijze-card.vb3-stap-klaar .werkwijze-num{background:var(--vb-deep)!important;color:#fff!important}
html.vb-v3 body .vb3-tijdlijn .werkwijze-card.vb3-stap-nu{border-color:var(--vb-blue)!important;box-shadow:var(--vb-sh-l)!important;transform:translateY(-3px)}
html.vb-v3 body .vb3-tijdlijn .werkwijze-card:not(.vb3-stap-klaar) .werkwijze-num{background:#fff!important;color:var(--vb-night)!important;border:2px solid #B9CBDC!important}

/* dubbele afsluit-CTA voorkomen: pagina's met een eigen slotblok krijgen geen extra voet-CTA */
html.vb-v3 .vb3-voet-cta-geen + .vb3-voet{margin-top:var(--vb-sp)!important}

/* scroll-reveal */
html.vb-v3 .vb3-r{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
html.vb-v3 .vb3-r.vb3-r-in{opacity:1;transform:none}

@media (max-width:860px){
  html.vb-v3 .vb3-car-dia .vb3-ba,html.vb-v3 .vb3-ba-dienst-in,html.vb-v3 .vb3-check-in,html.vb-v3 .vb3-cl-in{grid-template-columns:1fr}
  html.vb-v3 .vb3-car-dia .vb3-ba-frame{max-height:none}
  html.vb-v3 .vb3-ba-raster{grid-template-columns:1fr}
  html.vb-v3 .vb3-cl-doc{width:150px;margin:0 auto}
  html.vb-v3 body .vb-rv .vb-rv-grid{grid-auto-columns:86%}
}
@media (max-width:560px){
  html.vb-v3 .vb3-check-v{flex-direction:column;align-items:stretch}
  html.vb-v3 .vb3-check-vraag{margin-bottom:10px!important}
  html.vb-v3 .vb3-check-keus label{flex:1}
  html.vb-v3 .vb3-check-keus span{width:100%}
  html.vb-v3 .vb3-gal-raster{grid-template-columns:1fr}
  html.vb-v3 .vb3-ba-greep{width:48px;height:48px;margin:-24px 0 0 -24px}
  html.vb-v3 .vb3-lb-pijl{top:auto;bottom:-66px}
}
@media (prefers-reduced-motion:reduce){html.vb-v3 .vb3-r{opacity:1!important;transform:none!important}}
@media print{html.vb-v3 .vb3-r{opacity:1!important;transform:none!important}}
html.vb-v3 .vb3-zorg-knoppen{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
html.vb-v3 .vb3-zorg-pdf{display:inline-flex;align-items:center;gap:8px;font-weight:700;min-height:44px;font-size:1rem}

/* LOGO (ronde 2, eigenaar: groter + leesbare ondertitel) — zelfde partial/maten als sanisafebadkamers.nl (includes/v3/logo.php) */
html.vb-v3 .v3-merk{display:inline-flex;align-items:center;gap:10px;text-decoration:none!important;flex:none;line-height:1;color:var(--vb-ink)}
html.vb-v3 .v3-merk .v3-merk-teken{display:block;height:58px;width:auto;flex:none;max-width:none}
html.vb-v3 .v3-merk-tekst{display:flex;flex-direction:column;justify-content:center;gap:5px}
html.vb-v3 .v3-merk-naam{font-family:var(--vb-font)!important;font-weight:700;font-size:30px;line-height:1;letter-spacing:.03em;text-transform:uppercase;color:#262A33;white-space:nowrap}
html.vb-v3 .v3-merk-naam b{font-weight:700;color:#3F98D6}
html.vb-v3 .v3-merk-sub{font-family:var(--vb-font)!important;font-weight:600;font-size:13.5px;line-height:1.1;letter-spacing:.035em;color:#3B404A;white-space:nowrap}
html.vb-v3 .v3-merk--donker .v3-merk-naam{color:#fff}
html.vb-v3 .v3-merk--donker .v3-merk-naam b{color:#7CC3EE}
html.vb-v3 .v3-merk--donker .v3-merk-sub{color:#D3E2EF}
html.vb-v3 .v3-merk--voet{margin:0 0 22px}
html.vb-v3 .v3-merk--voet .v3-merk-teken{height:64px}
html.vb-v3 .v3-merk--voet .v3-merk-naam{font-size:32px}
html.vb-v3 .v3-merk--voet .v3-merk-sub{font-size:14px}
html.vb-v3 .v3-merk:focus-visible{outline:3px solid var(--vb-deep)!important;outline-offset:4px!important;border-radius:8px}
html.vb-v3 .vb3-logo-menu .v3-merk-teken{height:44px}
html.vb-v3 .vb3-logo-menu .v3-merk-naam{font-size:22px}
html.vb-v3 .vb3-logo-menu .v3-merk-sub{font-size:11.5px}
html.vb-v3 .vb3-kop-in{min-height:92px}
@media (max-width:1400px){html.vb-v3 .vb3-logo-kop .v3-merk-teken{height:52px}html.vb-v3 .vb3-logo-kop .v3-merk-naam{font-size:27px}html.vb-v3 .vb3-logo-kop .v3-merk-sub{font-size:12.5px}}
@media (max-width:1200px){html.vb-v3 .vb3-nav>ul>li>a{padding:10px 7px;font-size:.95rem!important}html.vb-v3 .vb3-logo-kop .v3-merk-teken{height:48px}html.vb-v3 .vb3-logo-kop .v3-merk-naam{font-size:24px}html.vb-v3 .vb3-logo-kop .v3-merk-sub{font-size:12px}}
@media (max-width:1023px){html.vb-v3 .vb3-kop-in{min-height:76px}html.vb-v3 .vb3-logo-kop .v3-merk-teken{height:48px}html.vb-v3 .vb3-logo-kop .v3-merk-naam{font-size:25px}html.vb-v3 .vb3-logo-kop .v3-merk-sub{font-size:12.5px}}
@media (max-width:479px){html.vb-v3 .vb3-logo-kop{gap:8px}html.vb-v3 .vb3-logo-kop .v3-merk-teken{height:44px}html.vb-v3 .vb3-logo-kop .v3-merk-naam{font-size:22px}html.vb-v3 .vb3-logo-kop .v3-merk-sub{font-size:11.5px;letter-spacing:.02em}html.vb-v3 .v3-merk--voet .v3-merk-naam{font-size:28px}}
@media (max-width:374px){html.vb-v3 .vb3-logo-kop .v3-merk-teken{height:38px}html.vb-v3 .vb3-logo-kop .v3-merk-naam{font-size:19px}html.vb-v3 .vb3-logo-kop .v3-merk-sub{font-size:11px;letter-spacing:0}}
/* kop in balans: onder 1200 px wijkt het menu naar de Menu-knop (zoals sanisafebadkamers.nl) */
@media (max-width:1199px){
  html.vb-v3 .vb3-nav,html.vb-v3 .vb3-kop .vb3-kop-cta{display:none!important}
  html.vb-v3 .vb3-hamburger{display:inline-flex}
  html.vb-v3 .vb3-kop-in{justify-content:space-between;gap:12px}
  html.vb-v3 .vb3-kop-bel{width:48px;height:48px;justify-content:center;border-radius:12px;background:var(--vb-water)}
  html.vb-v3 .vb3-kop-bel span{display:none}
  html.vb-v3 .vb3-logo-kop .v3-merk-teken{height:50px}html.vb-v3 .vb3-logo-kop .v3-merk-naam{font-size:26px}html.vb-v3 .vb3-logo-kop .v3-merk-sub{font-size:12.5px}
}
@media (max-width:479px){html.vb-v3 .vb3-logo-kop .v3-merk-teken{height:44px}html.vb-v3 .vb3-logo-kop .v3-merk-naam{font-size:22px}html.vb-v3 .vb3-logo-kop .v3-merk-sub{font-size:11.5px}}
@media (max-width:374px){html.vb-v3 .vb3-logo-kop .v3-merk-teken{height:38px}html.vb-v3 .vb3-logo-kop .v3-merk-naam{font-size:19px}html.vb-v3 .vb3-logo-kop .v3-merk-sub{font-size:11px}html.vb-v3 .vb3-hb-tekst{display:none}}

/* mobiel menu: vaste, ondoorzichtige overlay over het hele scherm, boven alles (ronde 2) */
html.vb-v3 .vb3-menu{position:fixed!important;inset:0!important;width:100%!important;height:100vh;height:100dvh;max-height:none!important;z-index:2147483000!important;background:#fff!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 20px calc(28px + env(safe-area-inset-bottom,0px))!important;margin:0!important;transform:none!important;opacity:1!important}
html.vb-v3 .vb3-menu[hidden]{display:none!important}
html.vb-v3.vb3-menu-open body{position:fixed!important;left:0;right:0;width:100%;overflow:hidden!important}
html.vb-v3.vb3-menu-open :is(.ss-mbar,.chatbot-toggle,#chatbotToggle,.chatbot-container,.chatbot-window,.cookie-banner,.wa-fab,.back-to-top,#ss-lang-switch){visibility:hidden!important}
html.vb-v3 .vb3-menu-kop{position:sticky;top:0;background:#fff;z-index:2}

/* LOGO-ANIM-VB-20261027 — intro-animatie kop-logo (eerste pageview per sessie; pure CSS + inline SVG) */
html.vb-v3 svg.v3-merk-teken{aspect-ratio:269/400;width:auto;overflow:visible}
html.vb-v3 .v3-merk-tekst{position:relative;overflow:hidden;padding-right:2px}
html.vb-v3 .v3-merk-naam>span,html.vb-v3 .v3-merk-naam>b{display:inline-block}
html.vb-v3.v3-logo-anim .v3-merk--anim .v3-bm-s{transform-box:fill-box;transform-origin:85% 0%;animation:v3BmS .62s cubic-bezier(.45,.05,.25,1) .05s both}
html.vb-v3.v3-logo-anim .v3-merk--anim .v3-bm-d{transform-box:fill-box;transform-origin:50% 100%;animation:v3BmD .55s cubic-bezier(.3,1.25,.55,1) .42s both}
html.vb-v3.v3-logo-anim .v3-merk--anim .v3-merk-sani{animation:v3Onthul .42s cubic-bezier(.2,.7,.2,1) .6s both}
html.vb-v3.v3-logo-anim .v3-merk--anim .v3-merk-naam b{animation:v3Onthul .42s cubic-bezier(.2,.7,.2,1) .78s both}
html.vb-v3.v3-logo-anim .v3-merk--anim .v3-merk-sub{animation:v3SchuifIn .45s cubic-bezier(.2,.7,.2,1) .95s both}
@keyframes v3BmS{0%{clip-path:inset(0 0 100% 0);opacity:.2;transform:rotate(-12deg)}60%{opacity:1}100%{clip-path:inset(0 0 0 0);opacity:1;transform:none}}
@keyframes v3BmD{0%{transform:translateY(-60%) scale(.55,.75);opacity:0}55%{opacity:1}75%{transform:translateY(4%) scale(1.06,.94)}100%{transform:none;opacity:1}}
@keyframes v3Onthul{0%{clip-path:inset(0 100% 0 0);transform:translateY(30%);opacity:0}100%{clip-path:inset(0 0 0 0);transform:none;opacity:1}}
@keyframes v3SchuifIn{0%{transform:translateX(-14px);opacity:0}100%{transform:none;opacity:1}}
/* hover: subtiele glans over het woordmerk */
html.vb-v3 .v3-merk--licht .v3-merk-tekst::after{content:"";position:absolute;top:-10%;bottom:-10%;left:-60%;width:40%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.75) 50%,rgba(255,255,255,0) 100%);transform:skewX(-18deg);pointer-events:none;opacity:0}
html.vb-v3 a.v3-merk--licht:hover .v3-merk-tekst::after,html.vb-v3 a.v3-merk--licht:focus-visible .v3-merk-tekst::after{animation:v3Glans .9s ease-out both}
html.vb-v3 a.v3-merk--licht:hover .v3-bm-d{filter:brightness(1.08)}
@keyframes v3Glans{0%{left:-60%;opacity:0}20%{opacity:1}100%{left:130%;opacity:0}}
@media (prefers-reduced-motion:reduce){html.vb-v3 .v3-merk *,html.vb-v3 .v3-merk-tekst::after{animation:none!important;clip-path:none!important;transform:none!important;opacity:1}html.vb-v3 .v3-merk-tekst::after{display:none}}

/* ===== ronde 3 (live): voet, kop 1440, carrousel strak ===== */
html.vb-v3 .vb3-voet-social{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
html.vb-v3 .vb3-voet-social a{display:grid!important;place-items:center;width:44px!important;height:44px!important;border-radius:50%!important;border:1.5px solid rgba(255,255,255,.35)!important;background:transparent!important;color:#fff!important;transition:background .2s,border-color .2s,color .2s;text-decoration:none!important;padding:0!important;margin:0!important;font-size:0!important}
html.vb-v3 .vb3-voet-social a svg{width:18px;height:18px;display:block}
html.vb-v3 .vb3-voet-social a:hover,html.vb-v3 .vb3-voet-social a:focus-visible{background:var(--vb-light)!important;border-color:var(--vb-light)!important;color:var(--vb-night)!important}
html.vb-v3 .vb3-voet-feiten{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:10px}
html.vb-v3 .vb3-voet-feiten li{display:flex;align-items:flex-start;gap:12px;color:#D7E2EE!important;font-size:1rem!important;line-height:1.45}
html.vb-v3 .vb3-voet-feiten svg{flex:0 0 auto;color:var(--vb-light);margin-top:2px}
html.vb-v3 .vb3-voet-feiten a{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
html.vb-v3 .vb3-voet-contact svg{color:var(--vb-light)}
/* kop: telefoontekst pas vanaf 1560 px, zodat "Gratis inmeting" altijd past */
@media (max-width:1560px){html.vb-v3 .vb3-kop-bel span{display:none}html.vb-v3 .vb3-kop-bel{width:48px;height:48px;justify-content:center;border-radius:12px;background:var(--vb-water)}html.vb-v3 .vb3-kop-in{gap:18px}html.vb-v3 .vb3-nav>ul>li>a{padding:10px 11px}}
/* carrousel: kaarten even hoog en strak; mobiel één kaart met korte 'peek' */
html.vb-v3 .vb3-car-spoor{align-items:stretch}
html.vb-v3 .vb3-car-dia{display:flex}
html.vb-v3 .vb3-car-dia .vb3-ba{flex:1;align-items:center}
html.vb-v3 .vb3-car-dia .vb3-ba-frame{aspect-ratio:4/5!important}
html.vb-v3 .vb3-ba-greep{width:60px;height:60px;margin:-30px 0 0 -30px;border:3px solid var(--vb-deep)}
html.vb-v3 .vb3-ba-lijn{width:4px;margin-left:-2px}
@media (max-width:860px){
  html.vb-v3 .vb3-car-spoor{grid-auto-columns:calc(100% - 16px);gap:12px}
  html.vb-v3 .vb3-car-dia .vb3-ba{align-items:start;align-content:start;padding:12px 12px 16px}
  html.vb-v3 .vb3-car-dia .vb3-ba figcaption{padding:4px 4px 0}
  html.vb-v3 .vb3-ba-greep{width:52px;height:52px;margin:-26px 0 0 -26px}
}
html.vb-v3 .vb3-car-stip span{width:12px;height:12px}
html.vb-v3 .vb3-car-stip span.aan{width:32px}
/* mobiel: kaart niet rekken (geen leeg vlak onder korte tekst); beeld overal even hoog (4:5) */
@media (max-width:860px){html.vb-v3 .vb3-car-spoor{align-items:start}html.vb-v3 .vb3-car-dia{display:block}}
html.vb-v3 .vb3-voet-merk .vb3-voet-social{justify-content:flex-start!important;margin-top:22px!important}
/* REVIEW-FIX-20261028 (SEO-AI-20261028) — onafhankelijke review 27/28-10 */
/* P1 cookiebalk: dicht = echt weg (stond met translateY + bottom:64px half over de actiebalk en ving de tikken) */
html.vb-v3 body .cookie-banner:not(.show){visibility:hidden!important;pointer-events:none!important}
/* P1 kop: telefoontekst pas vanaf 1760 px (op 1561–1700 duwde hij "Gratis inmeting" 29–56 px buiten beeld); CTA krimpt nooit; vangnet */
html{overflow-x:clip}
html.vb-v3 .vb3-kop-cta{flex-shrink:0;white-space:nowrap}
@media (max-width:1760px){html.vb-v3 .vb3-kop-bel span{display:none}html.vb-v3 .vb3-kop-bel{width:48px;height:48px;justify-content:center;border-radius:12px;background:var(--vb-water)}html.vb-v3 .vb3-kop-in{gap:18px}}
@media (min-width:1200px) and (max-width:1320px){html.vb-v3 .vb3-nav>ul>li>a{padding:10px 8px}html.vb-v3 .vb3-kop-in{gap:14px}}
/* P2 zwevende knoppen: geen nep-melding "1"; op mobiel alleen de actiebalk (chat staat ook in het menu/de actiebalk via WhatsApp) */
html.vb-v3 body .chatbot-badge{display:none!important}
@media (max-width:767px){html.vb-v3 body .back-to-top,html.vb-v3 body.ss-heeft-mbar :is(.chatbot-toggle,#chatbotToggle){display:none!important}}
/* P2 "(optioneel)"/"(mag meer dan één)" zijn labels, geen invoervelden */
html.vb-v3 body span.af-opt-l{border:0!important;background:none!important;padding:0!important;box-shadow:none!important;min-height:0!important;display:inline!important;font-weight:500;color:var(--vb-ink-2,#3b4a5e)!important}
/* P2 tikdoelen in de hero (nummer + reviewlink) minimaal 44 px */
html.vb-v3 .vb3-hero-bel a,html.vb-v3 .vb-rv-voet a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid currentColor;border-radius:999px;margin-left:4px;text-decoration:none!important;font-weight:700}
html.vb-v3 .vb3-check-wat{margin:18px 0 6px!important}
/* P3 links in lopende tekst onderstrepen */
html.vb-v3 .vb3-voet-copy a,html.vb-v3 main p a:not([class]),html.vb-v3 article p a:not([class]){text-decoration:underline;text-underline-offset:3px}
/* blog: "Kort antwoord"-blok en checklist-kader (SEO-AI-20261028) */
html.vb-v3 .vb-kort{background:#eef6fc;border-left:4px solid var(--vb-deep,#1d6fb0);border-radius:0 12px 12px 0;padding:18px 22px;margin:0 0 28px}
html.vb-v3 .vb-kort p{margin:0!important;font-size:1.08rem!important;line-height:1.65;color:var(--vb-ink,#14243b)!important}
html.vb-v3 .vb-kort strong{display:block;margin-bottom:6px;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;color:var(--vb-deep,#1d6fb0)}
html.vb-v3 .vb-art h2{font-size:clamp(1.3rem,2.4vw,1.6rem)!important;margin:34px 0 12px!important;color:var(--vb-night,#14243b)!important}
html.vb-v3 .vb-art p,html.vb-v3 .vb-art li{font-size:1.08rem!important;line-height:1.75!important;color:var(--vb-ink,#1f2d40)!important}
html.vb-v3 .vb-art ul{padding-left:22px;margin:0 0 18px}
html.vb-v3 .vb-art li{margin-bottom:8px}
html.vb-v3 .vb-art-cta{margin-top:36px;padding:24px;border-radius:16px;background:var(--vb-night,#14243b);color:#fff}
html.vb-v3 .vb-art-cta p{color:#fff!important;margin:0 0 14px!important}
html.vb-v3 .vb-art-cta .vb-art-knoppen{display:flex;flex-wrap:wrap;gap:12px}
html.vb-v3 .vb-art-cta a{display:inline-flex;align-items:center;min-height:48px;padding:12px 20px;border-radius:999px;font-weight:700;text-decoration:none!important}
html.vb-v3 .vb-art-cta a.vb-k1{background:#fff;color:var(--vb-night,#14243b)!important}
html.vb-v3 .vb-art-cta a.vb-k2{border:2px solid rgba(255,255,255,.7);color:#fff!important}
html.vb-v3 body article.vb-art .vb-art-cta p,html.vb-v3 body article.vb-art .vb-art-cta p strong{color:#fff!important;-webkit-text-fill-color:#fff!important}
/* SEO-AI-20261028: Belgisch blok home .be */
html.vb-v3 .vb3-be-plaatsen{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
html.vb-v3 .vb3-be-plaatsen a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--vb-line,#c9d6e3);background:#fff;color:var(--vb-night,#14243b)!important;text-decoration:none!important;font-weight:600}
html.vb-v3 .vb3-be-plaatsen a:hover{border-color:var(--vb-deep,#1d6fb0)}
html.vb-v3 .vb3-be-plaatsen-kop{margin:14px 0 0!important}
html.vb-v3 .vb3-be .vb3-zorg-tekst p:not(.vb3-oog){margin:0 0 12px!important}
