:root{--db:#1F3A5F;--db2:#2B5C9E;--lb:#E6F0FA;--lb2:#CFE2F5;--w:#fff}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--db);background:var(--w);line-height:1.55;font-size:17px}
a{color:var(--db2)}.wrap{max-width:1040px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--w);padding:6px}
header.top{background:var(--w);border-bottom:1px solid var(--lb2);position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;flex-wrap:wrap}
header.top nav{display:flex;gap:14px;flex-wrap:wrap}header.top nav a{text-decoration:none;font-weight:600;padding:8px 2px}
.taal{font-size:.9rem}.taal a{margin-left:8px}
.hero{background:var(--lb);padding:44px 0 36px}.hero h1{font-size:clamp(1.6rem,4.5vw,2.4rem);line-height:1.2;margin:0 0 14px}
.hero p{max-width:720px;margin:0 0 12px}.eyebrow{display:inline-block;font-weight:700;font-size:.85rem;background:var(--w);border-radius:99px;padding:4px 12px;margin-bottom:12px}
.knoppen{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.knop{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:12px;background:var(--db);color:var(--w);font-weight:700;text-decoration:none;border:2px solid var(--db)}
.knop.licht{background:var(--w);color:var(--db)}.knop:hover,.knop:focus{background:var(--db2);border-color:var(--db2);color:var(--w)}
section.blok{padding:40px 0}section.blok.lb{background:var(--lb)}h2{font-size:clamp(1.35rem,3.5vw,1.8rem);margin:0 0 10px}
.mapjes{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.mapje{display:block;height:100%;text-decoration:none;color:var(--db);background:var(--w);border:2px solid var(--lb2);border-top:10px solid var(--k,#2B5C9E);border-radius:14px;padding:16px;min-height:150px;transition:transform .15s,border-color .15s}
.mapje:hover,.mapje:focus{border-color:var(--db2);transform:translateY(-2px)}.mapje b{display:block;font-size:1.2rem}.mapje small{display:block;margin:4px 0 12px}
.mapje .open{display:inline-block;font-weight:700;color:var(--db2)}.mapje .open::after{content:" \2192"}
.vb-label{display:inline-block;background:var(--db);color:var(--w);font-weight:700;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:3px 10px}
.vb-kaart{background:var(--w);border:2px dashed var(--db2);border-radius:14px;padding:16px;margin-top:14px;overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.95rem}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--lb2);vertical-align:top}th{background:var(--lb);font-weight:700}
.kader{background:var(--lb);border-radius:10px;padding:10px 14px;margin:12px 0 0;font-weight:600}
.prijzen{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:18px}
.prijs{background:var(--w);border:2px solid var(--lb2);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}.prijs.bundel{border-color:var(--db)}
.prijs h3{margin:0;font-size:1.05rem}.prijs .bedrag{font-size:1.5rem;font-weight:800}.prijs .knop{margin-top:auto}
details{background:var(--w);border:1px solid var(--lb2);border-radius:10px;padding:10px 14px;margin:8px 0}summary{font-weight:700;cursor:pointer}
footer{background:var(--db);color:var(--w);padding:26px 0;font-size:.92rem}footer a{color:var(--w)}
.terug{display:inline-block;margin:16px 0 0;font-weight:600}
@media(max-width:600px){header.top nav{order:3;width:100%}.knop{width:100%}}
