:root{--wit:#ffffff;--doek:#f4f3f8;--lila:#f3eefc;--veldrand:#e4dcf3;--teer:#232130;--leisteen:#77768a;--krijtlijn:#e8e6ee;--mandarijn:#ff8a00;--mandarijn-diep:#e97500;--oranje-inkt:#3a2200;--kers:#e63946;--zonnegeel:#ffd23f;--pruim:#2d1b4e;--pruim-diep:#1d1136;--kopschrift:'Paytone One',sans-serif;--broodschrift:'Nunito',sans-serif;--speelveld:1240px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--broodschrift);background:var(--doek);color:var(--teer);font-size:16.5px;line-height:1.66}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
main{display:block}

.knop{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--broodschrift);font-weight:800;font-size:13.5px;letter-spacing:.03em;border-radius:999px;padding:13px 27px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap}
.knop-mandarijn{background:linear-gradient(180deg,#ffa41b,var(--mandarijn));color:var(--oranje-inkt);box-shadow:0 6px 16px rgba(255,138,0,.32)}
.knop-mandarijn:hover{background:linear-gradient(180deg,#ff9a07,var(--mandarijn-diep));transform:translateY(-1px)}
.knop-lijn{border:1.8px solid var(--teer);color:var(--teer);background:transparent}
.knop-lijn:hover{background:var(--teer);color:#fff}
.knop-xl{font-size:14.5px;padding:16px 36px}
.knop-s{font-size:12px;padding:10px 20px}

.kiosk{background:var(--wit);border-bottom:1px solid var(--krijtlijn);border-top:3px solid var(--mandarijn);position:sticky;top:0;z-index:60}
.kiosk-rij{max-width:var(--speelveld);margin:0 auto;padding:0 20px;height:68px;display:flex;align-items:center;gap:24px}
.bingomerk{flex:0 0 auto}
.bingomerk-naam{display:inline-flex;align-items:center;gap:8px;font-family:var(--kopschrift);font-weight:400;font-size:23px;color:var(--mandarijn);white-space:nowrap}
.bingomerk-naam b{color:var(--pruim);font-weight:400;font-size:14px;letter-spacing:.2em;text-transform:uppercase;margin-left:7px;align-self:flex-end;padding-bottom:4px}
.lintmenu{flex:1 1 auto}
.lintmenu ul{display:flex;list-style:none;gap:2px;flex-wrap:nowrap}
.lintmenu a{font-size:13.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:9px 10px;border-radius:10px;color:var(--teer);white-space:nowrap}
.lintmenu a:hover{color:var(--mandarijn)}
.lintmenu a.actief{color:var(--mandarijn)}
.kiosk-acties{display:flex;align-items:center;gap:11px;margin-left:auto}
.zoekbal{display:inline-flex;padding:9px;border-radius:50%;color:var(--teer)}
.zoekbal:hover{background:var(--doek)}
.grendel{display:none;border:0;background:transparent;color:var(--teer);padding:9px;border-radius:10px;cursor:pointer}
.grendel:hover{background:var(--doek)}

.tentflap{position:fixed;inset:0;z-index:90}
.tentflap-scherm{position:absolute;inset:0;background:rgba(29,17,54,.55)}
.tentflap-vak{position:absolute;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--wit);z-index:1;display:flex;flex-direction:column;padding:18px 22px 26px;overflow-y:auto;box-shadow:-14px 0 40px rgba(0,0,0,.2)}
.tentflap-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.tentflap-top .bingomerk-naam{font-size:19px}
.tentflap nav ul{list-style:none}
.tentflap nav a{display:block;padding:11px 4px;font-weight:700;font-size:15px;border-bottom:1px solid var(--krijtlijn)}
.tentflap nav a.actief{color:var(--mandarijn)}
.tentflap-actie{margin-top:18px}

.balzaal{position:relative;overflow:hidden;background:var(--lila)}
.balzaal-doek{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.balzaal-veld{position:relative;max-width:var(--speelveld);margin:0 auto;padding:46px 20px 54px;display:flex;align-items:center;gap:44px}
.trommel{flex:0 0 46%;max-width:520px;transition:transform .2s ease}
.trommel:hover{transform:translateY(-4px) rotate(-.5deg)}
.trommel img{width:100%;height:auto;filter:drop-shadow(0 22px 30px rgba(60,38,100,.24))}
.balzaal-tekst{flex:1 1 auto;max-width:560px}
.wimpel{display:block;font-family:var(--kopschrift);font-weight:400;font-size:clamp(15px,2vw,23px);letter-spacing:.05em;color:var(--kers);margin-bottom:9px}
.zaalkop{display:block;font-family:var(--kopschrift);font-weight:400;font-size:clamp(28px,4.2vw,50px);line-height:1.12;color:var(--pruim);text-transform:uppercase}
.zaalzin{margin-top:14px;font-size:15.5px;font-weight:600;color:#514e66;max-width:440px}
.balzaal-acties{display:flex;align-items:center;gap:20px;margin-top:24px;flex-wrap:wrap}
.zaalteller{display:inline-flex;align-items:center;font-size:13.5px;font-weight:700;color:#514e66}
.zaallamp{width:9px;height:9px;border-radius:50%;background:#2fbf71;margin-right:8px;box-shadow:0 0 0 4px rgba(47,191,113,.16)}
.leeftijdslint{margin-top:22px;font-size:12px;color:var(--leisteen);display:flex;align-items:center;gap:8px}
.bal18{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--pruim);color:#fff;font-size:10.5px;font-weight:800;flex:0 0 auto}

.speelplank,.festoen,.makersplein,.trekking{max-width:var(--speelveld);margin:0 auto;padding:26px 20px 6px;position:relative}
.plank-kop{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.plank-vaan{display:inline-flex;gap:4px}
.plank-vaan i{width:9px;height:9px;border-radius:50%}
.plank-vaan i:nth-child(1){background:var(--kers)}
.plank-vaan i:nth-child(2){background:var(--zonnegeel)}
.plank-vaan i:nth-child(3){background:var(--mandarijn)}
.plank-titel{font-family:var(--kopschrift);font-weight:400;font-size:18.5px;letter-spacing:.05em;color:var(--pruim)}
.plank-alles{margin-left:auto;font-size:13.5px;font-weight:800;text-decoration:underline;text-underline-offset:3px;color:var(--teer)}
.plank-alles:hover{color:var(--mandarijn)}
.plank-strook{display:grid;grid-auto-flow:column;grid-auto-columns:204px;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:14px;scrollbar-width:thin}
.plank-pijl{position:absolute;top:52%;width:40px;height:40px;border-radius:50%;border:0;background:var(--wit);color:var(--pruim);font-size:23px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(29,17,54,.2);display:flex;align-items:center;justify-content:center;z-index:5}
.plank-pijl:hover{background:var(--mandarijn);color:#fff}
.plank-pijl--l{left:6px}
.plank-pijl--r{right:6px}
.lootkaart{scroll-snap-align:start;background:var(--wit);border-radius:18px;padding:11px 11px 13px;box-shadow:0 3px 12px rgba(45,27,78,.08);transition:transform .16s ease,box-shadow .16s ease;display:block}
.lootkaart:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(45,27,78,.15)}
.lootkaart-beeld{position:relative;display:block;border-radius:12px;overflow:hidden}
.lootkaart-beeld img{width:100%;height:auto;aspect-ratio:300/420}
.lootkaart-naam{display:block;margin-top:9px;font-size:14px;font-weight:800;color:var(--teer);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lootkaart-huis{display:block;font-size:12.5px;color:var(--leisteen);margin-top:1px}

.festoen{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:34px;padding-bottom:10px}
.slinger{position:relative;border-radius:20px;overflow:hidden;min-height:240px;display:block;box-shadow:0 4px 16px rgba(45,27,78,.09);border:1px solid var(--veldrand)}
.slinger-doek{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slinger-tekst{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:28px 26px 26px;max-width:60%}
.slinger-kop{font-family:var(--kopschrift);font-weight:400;font-size:21px;line-height:1.2;color:var(--pruim)}
.slinger-zin{font-size:13.5px;font-weight:600;color:#514e66}
.slinger .knop{margin-top:8px}

.makersplein-rij{display:grid;grid-template-columns:repeat(7,1fr);gap:16px;padding-bottom:12px}
.makersblok{background:var(--wit);border-radius:16px;padding:17px 14px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(45,27,78,.07);transition:transform .15s ease}
.makersblok:hover{transform:translateY(-3px)}
.makersblok img{width:auto;height:42px;max-width:100%;object-fit:contain}

.trekking{padding-bottom:16px}
.trekking-vlak{display:grid;grid-template-columns:320px 1fr;gap:22px;background:linear-gradient(155deg,var(--pruim) 0%,var(--pruim-diep) 80%);border-radius:22px;padding:26px;box-shadow:0 12px 32px rgba(29,17,54,.35)}
.trekbord{border:1.5px solid rgba(255,210,63,.5);border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;gap:15px;align-items:center;background:radial-gradient(120% 90% at 50% 0%,rgba(255,210,63,.14) 0%,rgba(255,210,63,0) 62%)}
.trekbord-merk{display:flex;align-items:center;gap:9px;font-family:var(--kopschrift);font-weight:400;font-size:22px;color:var(--zonnegeel);margin-bottom:5px}
.trekbord-merk b{color:#fff;font-weight:400}
.cijferbal{width:100%;border:1.6px solid rgba(255,210,63,.6);background:linear-gradient(180deg,rgba(255,138,0,.26),rgba(230,57,70,.3));border-radius:999px;padding:14px 16px 11px;text-align:center;position:relative}
.cijferbal-tag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--zonnegeel);color:var(--oranje-inkt);font-size:9.5px;font-weight:800;letter-spacing:.09em;border-radius:999px;padding:2px 10px;white-space:nowrap}
.cijferbal-waarde{font-family:var(--kopschrift);font-weight:400;font-size:20px;color:#fff}
.trekbord-voetnoot{font-size:11px;color:rgba(238,228,255,.75);text-align:center}
.trekking-hal{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.trekking-hal .lootkaart{background:rgba(255,255,255,.07);padding:8px}
.trekking-hal .lootkaart:hover{box-shadow:0 10px 24px rgba(0,0,0,.35)}

.leestuin{max-width:var(--speelveld);margin:0 auto;padding:34px 20px 46px}
.spelboek{background:var(--wit);border-radius:22px;padding:clamp(24px,4vw,54px);box-shadow:0 4px 18px rgba(45,27,78,.07)}
.spelboek h1{font-family:var(--kopschrift);font-weight:400;font-size:clamp(24px,3.2vw,34px);line-height:1.22;margin-bottom:18px;color:var(--pruim)}
.spelboek h2{font-family:var(--kopschrift);font-weight:400;font-size:clamp(19px,2.4vw,25px);line-height:1.28;margin:34px 0 14px;padding-left:14px;border-left:5px solid var(--mandarijn);color:var(--pruim)}
.spelboek h3{font-family:var(--kopschrift);font-weight:400;font-size:17.5px;margin:26px 0 10px;color:var(--teer)}
.spelboek h4{font-weight:800;font-size:16px;margin:20px 0 8px}
.spelboek p{margin:0 0 14px;color:#413f52}
.spelboek ul,.spelboek ol{margin:0 0 16px;padding-left:24px;color:#413f52}
.spelboek li{margin-bottom:7px}
.spelboek strong{color:var(--teer)}
.spelboek a{color:var(--mandarijn-diep);text-decoration:underline;text-underline-offset:2px}
.balvraag{position:relative;padding:14px 16px;background:var(--lila);border-radius:12px;border-left:4px solid var(--zonnegeel)}
.balvraag+p,.balvraag+ul{padding:2px 16px 0}
.tafelrek{overflow-x:auto;margin:0 0 18px;border:1px solid var(--krijtlijn);border-radius:14px}
.tafelrek table{border-collapse:collapse;width:100%;min-width:640px;font-size:14.5px}
.tafelrek th{background:var(--pruim);color:#fff;text-align:left;padding:11px 14px;font-weight:800;white-space:nowrap}
.tafelrek td{padding:10px 14px;border-top:1px solid var(--krijtlijn);color:#413f52;vertical-align:top}
.tafelrek tr:nth-child(even) td{background:#faf9fd}

.feesttent{background:linear-gradient(180deg,#f7f4fc 0%,var(--lila) 100%);border-top:1px solid var(--veldrand);margin-top:16px}
.feesttent-kern{max-width:var(--speelveld);margin:0 auto;padding:52px 20px 26px}
.feesttent-kolommen{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(220px,1.35fr);gap:30px}
.feesttent-kop{display:inline-block;font-family:var(--kopschrift);font-weight:400;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding-bottom:7px;border-bottom:2.5px solid var(--mandarijn);margin-bottom:13px;color:var(--pruim)}
.feesttent ul{list-style:none}
.feesttent li{margin-bottom:9px}
.feesttent-kolommen a{font-size:13.5px;font-weight:600;color:#514e66}
.feesttent-kolommen a:hover{color:var(--mandarijn)}
.feesttent-colofon p{font-size:12.5px;line-height:1.7;color:#5b5870}
.colofon-lint{color:var(--kers)}
.betaalplein{display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap;margin-top:44px;padding-top:26px;border-top:1px solid var(--veldrand)}
.betaalplein img{width:auto;height:30px;filter:grayscale(1);opacity:.7}
.makersbalk{background:var(--wit);border-top:1px solid var(--krijtlijn);display:flex;align-items:center;justify-content:center;gap:36px;flex-wrap:wrap;padding:24px 20px}
.makersbalk img{width:auto;height:34px}
.keurplein{background:var(--wit);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px;padding:2px 20px 20px;color:var(--leisteen)}
.keurplein-tekst{font-size:12px;font-weight:800;letter-spacing:.08em}
.keurplein-merk{font-size:15px;font-weight:600}
.keurplein-merk b{font-weight:800}
.keurplein img{width:auto;height:26px;opacity:.85}
.bal18--voet{background:#514e66}
.feesttent-zoom{background:var(--pruim-diep);color:#c9c2dd;text-align:center;padding:18px 20px 22px;font-size:12px}
.feesttent-zoom a{color:#e6e0f5}
.feesttent-zoom a:hover{color:#fff}
.feesttent-links{margin:6px 0}
.feesttent-slot{color:#9a92b5}

.misgreep{max-width:var(--speelveld);margin:0 auto;padding:70px 20px}
.misgreep-vak{background:var(--wit);border-radius:22px;padding:60px 30px;text-align:center;box-shadow:0 4px 18px rgba(45,27,78,.07)}
.misgreep-cijfer{font-family:var(--kopschrift);font-weight:400;font-size:clamp(70px,12vw,120px);color:var(--mandarijn);display:block;line-height:1}
.misgreep-vak h1{font-family:var(--kopschrift);font-weight:400;font-size:25px;margin:10px 0 12px;color:var(--pruim)}
.misgreep-vak p{color:#514e66;max-width:470px;margin:0 auto}
.misgreep-uitweg{display:flex;justify-content:center;gap:14px;margin-top:26px;flex-wrap:wrap}

@media(max-width:1120px){
.lintmenu a{padding:9px 7px;font-size:12.5px}
.makersplein-rij{grid-template-columns:repeat(4,1fr)}
.trekking-vlak{grid-template-columns:290px 1fr}
.trekking-hal{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
.lintmenu{display:none}
.grendel{display:inline-flex}
.zoekbal{display:none}
.knop-lijn.knop-lijn{display:none}
.kiosk-rij{height:62px;gap:12px}
.kiosk-acties{gap:9px}
.kiosk-aanmeld{padding:10px 18px;font-size:12px}
.balzaal-veld{flex-direction:column-reverse;align-items:flex-start;padding:38px 20px 44px;gap:26px}
.trommel{flex:0 0 auto;width:100%;max-width:460px;align-self:center}
.festoen{grid-template-columns:1fr;padding-top:24px}
.slinger-tekst{max-width:58%}
.trekking-vlak{grid-template-columns:1fr;padding:20px}
.trekking-hal{grid-template-columns:repeat(5,minmax(132px,1fr));overflow-x:auto}
.feesttent-kolommen{grid-template-columns:repeat(2,1fr)}
.feesttent-colofon{grid-column:1/-1}
}
@media(max-width:640px){
.makersplein-rij{grid-template-columns:repeat(2,1fr)}
.trekking-hal{grid-template-columns:repeat(2,1fr)}
.plank-strook{grid-auto-columns:166px}
.plank-pijl{display:none}
.slinger-tekst{max-width:74%}
.slinger{min-height:210px}
.betaalplein{gap:22px}
.betaalplein img{height:24px}
.makersbalk{gap:22px}
.makersbalk img{height:26px}
.feesttent-kolommen{gap:22px}
}
@media(max-width:470px){
.bingomerk-naam{font-size:19px}
.bingomerk-naam b{font-size:11px;letter-spacing:.12em;margin-left:5px}
.kiosk-aanmeld{padding:9px 13px;font-size:11px;gap:5px}
.kiosk-rij{gap:8px;padding:0 14px}
.zaalzin{font-size:14px}
}
@media(max-width:380px){
.bingomerk-naam b{display:none}
.bingomerk-naam{font-size:18px}
.kiosk-aanmeld svg{display:none}
}
