/* v5 gedeeld: header met 3D-logo en menu, schuifmenu, mega-menu, cookiemelding, chat-knop, betaalzin */
.top .wrap,header .wrap{display:flex;align-items:center;gap:10px}
.hamb{display:inline-flex;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:0 10px;border:1px solid #CFE0F3;border-radius:12px;background:#fff;color:#1F3A5F;font:600 .95rem system-ui,sans-serif;text-decoration:none;cursor:pointer;order:-1}
.hamb svg{width:22px;height:22px}.hamb:focus-visible{outline:3px solid #2B5C9E;outline-offset:2px}
.hamb .ht{display:none}@media(min-width:900px){.hamb .ht{display:inline}}
.logo3d{perspective:500px;display:inline-block;margin-right:auto}
.logo3d .l3{position:relative;display:block;transform-style:preserve-3d;transition:transform .25s ease-out}
.logo3d img{display:block;width:150px;height:auto}
.logo3d .laag{position:absolute;inset:0;opacity:.18;filter:sepia(1) hue-rotate(170deg) saturate(3)}
.logo3d .laag.z1{transform:translateZ(-4px)}.logo3d .laag.z2{transform:translateZ(-8px);opacity:.1}
.logo3d .voor{transform:translateZ(2px)}
@media(prefers-reduced-motion:no-preference){.logo3d .l3.groet{animation:groet 1.6s .4s ease-in-out 1}}
@keyframes groet{0%,100%{transform:none}40%{transform:rotateY(-20deg) rotateX(8deg)}70%{transform:rotateY(12deg)}}
@media(min-width:900px){.logo3d img{width:180px}}
/* menu */
.nav-scherm{position:fixed;inset:0;background:rgba(31,58,95,.35);z-index:60}
.rm-nav{position:fixed;z-index:61;top:0;left:0;bottom:0;width:min(88vw,380px);background:#fff;color:#1F3A5F;overflow-y:auto;box-shadow:8px 0 30px rgba(31,58,95,.2);transform:translateX(-100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);overscroll-behavior:contain}
.rm-nav.in{transform:none}
.nav-kop{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#EAF3FC;border-bottom:1px solid #CFE0F3}
.nav-dicht{width:44px;height:44px;border:0;background:#fff;border-radius:50%;font-size:1.6rem;color:#1F3A5F;cursor:pointer}
.nav-groep{padding:10px 8px 4px;border-bottom:1px solid #E3ECF6}.nav-groep h2{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#4F6B8F;margin:6px 10px}
.nav-groep ul{list-style:none;margin:0;padding:0}
.nav-groep a,.nav-uit{display:flex;align-items:center;gap:12px;min-height:46px;padding:6px 10px;border-radius:10px;color:#1F3A5F;text-decoration:none;font-weight:600}
.nav-groep a:hover,.nav-groep a:focus-visible{background:#EAF3FC}.nav-uit{color:#6B819F;font-weight:500}
.ni{width:22px;height:22px;flex:none;fill:none;stroke:#2B5C9E;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;background:#EAF3FC;border-radius:7px;padding:3px;box-sizing:content-box}
.nt{flex:1}.np{font-size:.85rem;color:#2B5C9E;white-space:nowrap}.vb{font-size:.75rem;background:#EAF3FC;color:#3D5577;border-radius:20px;padding:2px 8px;white-space:nowrap}
.nav-open body{overflow:hidden}
@media(min-width:900px){
.rm-nav{top:64px;left:50%;bottom:auto;width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 90px);border-radius:16px;transform:translate(-50%,-8px);opacity:0;transition:transform .2s,opacity .2s;border:1px solid #CFE0F3}
.rm-nav.in{transform:translate(-50%,0);opacity:1}
.nav-kop{display:none}.nav-groepen{display:grid;grid-template-columns:1fr 1.45fr 1.15fr 1.25fr 1fr;gap:4px;padding:14px}
.nav-groep{border:0;min-width:0}.nav-groep a,.nav-uit{display:grid;grid-template-columns:28px 1fr;column-gap:10px;align-items:start;min-height:40px}.nav-groep .np,.nav-groep .vb{grid-column:2;justify-self:start;margin-top:2px}.nav-scherm{background:rgba(31,58,95,.12)}}
/* cookiemelding */
.rm-cookie{position:fixed;z-index:70;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:520px;margin:0 auto;background:#fff;color:#1F3A5F;border:1px solid #CFE0F3;border-radius:16px;padding:14px 16px;box-shadow:0 12px 40px rgba(31,58,95,.25);font-size:.95rem}
.rm-cookie p{margin:0 0 10px;color:#3D5577}.rm-cookie b{color:#1F3A5F}.rm-cookie a{color:#2B5C9E}
.rc-inst{display:grid;gap:6px;margin:0 0 10px}.rc-inst label{display:flex;gap:8px;align-items:center}
.rc-knop{display:flex;gap:10px;flex-wrap:wrap}.rc-knop button{min-height:44px;padding:0 18px;border-radius:10px;font:700 1rem system-ui,sans-serif;cursor:pointer}
.rc-ja{background:#1F3A5F;color:#fff;border:0}.rc-in{background:#fff;color:#1F3A5F;border:2px solid #1F3A5F}
@media(min-width:900px){.cookie-open #rm-chat-knop{display:none!important}}
@media(min-width:900px){.rm-cookie{left:auto;right:24px;margin:0}}
/* chat-knop: klein en rond, nooit over de inhoud */
#rm-chat-knop{width:48px;height:48px;padding:0!important;border-radius:50%!important;display:flex;align-items:center;justify-content:center;right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
body{padding-bottom:64px}
/* betaalzin boven elke koopknop */
.betaal-taal{display:block;font-size:.85rem;color:#4F6B8F;margin:4px 0 4px;flex-basis:100%}
/* overzicht */
.overzicht{padding:20px 0 30px;background:linear-gradient(180deg,#fff,#EAF3FC 400px)}.overzicht h1{color:#1F3A5F}
.ov-blok{margin-top:26px}.ov-blok h2{color:#1F3A5F;margin:0 0 4px}
.ov-tegels{display:grid;gap:12px;margin-top:12px}@media(min-width:640px){.ov-tegels{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.ov-tegels{grid-template-columns:repeat(3,1fr)}}
.ov-tegel{background:#fff;border:1px solid #CFE0F3;border-radius:14px;padding:16px;scroll-margin-top:16px;display:flex;flex-direction:column}
.ov-tegel h3{margin:4px 0;color:#1F3A5F;font-size:1.05rem}.ov-tegel p{margin:0 0 8px;color:#3D5577}.ov-tegel .koop{align-self:flex-start;margin-top:auto}
.ov-tegel:target{outline:3px solid #F2B544}.ov-label{font-size:.78rem;color:#2B5C9E;font-weight:600}.ov-prijs{font-weight:700;color:#1F3A5F!important}
.ov-uit{background:#F4F8FD}.ov-bundel{border:2px solid #2B5C9E}
@media(max-width:899px){.top nav[aria-label="Hoofdmenu"]{display:none}}
.rc-inst[hidden]{display:none}

/* audit 2026-10-14: cookiemelding op mobiel als smalle balk bovenaan, zodat bestelbalk en chatknop vrij blijven */
@media(max-width:899px){.rm-cookie{top:max(8px,env(safe-area-inset-top));bottom:auto!important;padding:8px 12px;font-size:.82rem;border-radius:12px}.rm-cookie p{margin:0 0 6px;max-height:3.9em;overflow:auto}.rm-cookie .rc-knop button{padding:6px 12px}}
.talen{font-size:.9rem;margin:.4em 0 0}.talen a{margin-right:.6em}

/* word-break-audit */
.map-voor b,.ik-dash-t li,.nt{overflow-wrap:anywhere;hyphens:manual}
