:root{
  --ink:#1c3a63;
  --night:#0a1d33;
  --night2:#163a63;
  --cream:#f2f2f2;
  --paper:#ffffff;
  --gold:#35a0d8;
  --gold2:#6fc1ea;
  --gold-text:#0e5f9c; /* blauw voor tekst op licht: contrast ≥ 4,5 */
  --meta:#5c6876;     /* kleine grijze tekst op licht */
  --line:#35a0d8;
  --muted:#586878;
  --red:#e8382c;
  --radius:20px;
  --accent:#ff6a1a;
  --display:"Matiz","Josefin Sans",Verdana,Arial,sans-serif;
  --nav:"Be Vietnam Pro","Josefin Sans",Arial,sans-serif;
}
@font-face{font-family:"Matiz";font-weight:400;font-style:normal;font-display:swap;src:url("Matiz.ttf") format("truetype"),url("uploads/2023/08/Matiz.ttf") format("truetype")}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;overscroll-behavior-x:none}
body{margin:0;color:var(--ink);font-family:"Be Vietnam Pro",Helvetica,Arial,sans-serif;line-height:1.65;background:var(--cream);overflow-x:clip;overscroll-behavior-x:none}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.shell{width:min(1280px,calc(100% - 48px));margin:auto}

/* TYPOGRAPHY */
.eyebrow{font-family:var(--nav);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:12px}
/* op donkere vlakken lichte accentkleur */
.page-hero .eyebrow,.feature-copy .eyebrow,.panel.volunteer .eyebrow,.cta .eyebrow,.footer .eyebrow,.info-box .eyebrow,.mobile-menu .eyebrow,.dark .eyebrow{color:var(--accent)}
h1,h2,h3{font-family:var(--display);line-height:1.02;margin:0;font-weight:400;letter-spacing:-.02em}
h2{font-size:clamp(38px,4.2vw,60px);max-width:860px}
h1,h2,h3{text-wrap:balance}
h3{font-size:36px}
.lead{font-family:var(--nav);font-weight:700;font-size:19px;line-height:1.5;color:#3b4c5e;margin:22px 0 16px;max-width:680px}
.copy{color:var(--muted);max-width:690px}

/* FAIRYTALE DETAILS */
.magic-divider{display:none}
.magic-divider .star{display:none}
.magic-divider.dark{color:var(--gold2)}
.section-mark{display:flex;justify-content:center;align-items:center;gap:13px;color:var(--gold);font-family:var(--nav);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:18px}
.section-mark::before,.section-mark::after{content:"";width:82px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.section-mark::after{background:linear-gradient(90deg,currentColor,transparent)}
.section-mark span{font-size:17px;line-height:1}
.fleur{display:none}

/* HEADER */
.topbar{height:24px;background:var(--ink);color:#f2e7cf;font-size:10px;letter-spacing:.08em;text-transform:uppercase;position:sticky;top:0;z-index:70}
.topbar .shell{height:100%;display:flex;align-items:center;justify-content:space-between}
.header{position:sticky;top:24px;z-index:60;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(13,35,64,.10);backdrop-filter:blur(10px)}
.nav{height:66px;display:flex;align-items:center;gap:22px;position:relative;overflow:visible}
.brand{width:184px;flex:0 0 184px;height:66px;position:relative;z-index:4}
.brand img{width:158px;max-height:none;object-fit:contain;object-position:left top;position:absolute;left:0;top:-17px;transition:transform .25s ease}.brand:hover img{transform:translateY(-2px) rotate(-.6deg)}
.menu{margin-left:auto;display:flex;align-items:center;gap:17px;white-space:nowrap;font-family:var(--nav);font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.menu a{position:relative;padding:26px 0 21px;line-height:1}
.menu a:not(.ticket)::after{content:"";position:absolute;left:50%;bottom:14px;width:0;height:2px;border-radius:999px;background:var(--gold);transition:.24s;transform:translateX(-50%)}
.menu a:not(.ticket):hover::after{width:100%}
.ticket,.fairy-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 28px;background:var(--gold);color:#fff;font-weight:700;text-transform:uppercase;font-size:13px;font-family:var(--nav);letter-spacing:.04em;border:0;border-radius:999px;cursor:pointer;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease}
.ticket:hover,.fairy-btn:hover{transform:translateY(-2px);filter:brightness(1.035);box-shadow:0 7px 18px rgba(13,35,64,.13)}
.ticket{padding:12px 22px!important;min-height:42px}

/* secundaire knop: donkerblauw, hoofdactie = accentblauw */
.fairy-btn.outline{background:var(--ink);border:0;color:#fff}
.fairy-btn.outline:hover{background:#163a5e}
.feature-copy .fairy-btn.outline,.page-hero .fairy-btn.outline,.volunteer .fairy-btn.outline,.info-box .fairy-btn.outline,.hero-content .fairy-btn.outline{background:rgba(255,255,255,.14);color:#fff!important}
.feature-copy .fairy-btn.outline:hover,.page-hero .fairy-btn.outline:hover,.hero-content .fairy-btn.outline:hover{background:rgba(255,255,255,.22)}
.fairy-btn.dark{background:var(--ink);color:#fff}
.mobile-toggle{display:none;margin-left:auto;width:44px;height:44px;border:0;background:none;position:relative;cursor:pointer;color:var(--ink)}
.mobile-toggle span,.mobile-toggle::before,.mobile-toggle::after{content:"";position:absolute;left:9px;right:9px;height:2px;background:currentColor;transition:.3s}
.mobile-toggle::before{top:13px}.mobile-toggle span{top:21px}.mobile-toggle::after{top:29px}
.mobile-toggle[aria-expanded="true"] span{opacity:0}.mobile-toggle[aria-expanded="true"]::before{transform:translateY(8px) rotate(45deg)}.mobile-toggle[aria-expanded="true"]::after{transform:translateY(-8px) rotate(-45deg)}

/* HERO */
.hero{height:min(54vw,620px);min-height:430px;background:var(--night);position:relative;overflow:hidden}
.hero-video{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100vh;min-width:177.78vh;transform:translate(-50%,-50%);border:0}
.hero::before{content:"";position:absolute;inset:0;pointer-events:auto;z-index:1;background:
  linear-gradient(180deg,rgba(10,30,55,.62) 0%,rgba(10,30,60,.7) 55%,rgba(8,26,50,.88) 100%)}
.hero img{width:100%;height:100%;object-fit:cover;object-position:center}
.footer-scene canvas.snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-frame{display:none}
.hero-content{position:absolute;inset:0;z-index:2;display:flex;align-items:center;color:#fff;pointer-events:none}
.hero-content .shell{display:flex;flex-direction:column;align-items:flex-start}
.hero-content .eyebrow{color:var(--gold2)}
.hero-content h1{color:#fff;font-size:clamp(32px,4.4vw,54px);margin:10px 0;max-width:680px}
.hero-content p{color:#dfe7ee;font-size:16px;max-width:460px;margin:0 0 24px}
.hero-content .actions{pointer-events:auto}
.header .header-deco-santa{position:absolute;z-index:1;pointer-events:none;width:110px;height:auto;left:50%;top:-10px;transform:translateX(-50%);opacity:.95;filter:drop-shadow(0 6px 10px rgba(4,16,30,.2))}
.hero-trees-overlap{position:relative;height:0;z-index:4}
.hero-trees-overlap img{position:absolute;z-index:4;pointer-events:none;height:auto}
.hero-trees-overlap .hero-deco-trees-l{left:-24px;top:-150px;width:220px}
.hero-trees-overlap .hero-deco-trees-r{right:-36px;top:-230px;width:300px}
.hero-trees-overlap .hero-deco-santa{left:50%;top:-340px;width:120px;transform:translateX(-50%);opacity:.95;animation:heroSantaFloat 4.4s ease-in-out infinite}
@keyframes heroSantaFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.hero-trees-overlap .hero-deco-santa{animation:none}}
@media(max-width:620px){.hero-trees-overlap .hero-deco-trees-l{width:130px;left:-16px;top:-90px}.hero-trees-overlap .hero-deco-trees-r{width:160px;right:-18px;top:-130px}.hero-trees-overlap .hero-deco-santa{width:76px;top:-220px}}

.quickfacts{background:var(--ink);color:#fff;position:relative}
.quickfacts .shell{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:16px 26px;border-right:1px solid rgba(255,255,255,.13);position:relative}
.fact:last-child{border-right:0}.fact small{display:block;color:#c3cfdb;text-transform:uppercase;font-weight:700;letter-spacing:.11em;font-size:10px}.fact strong{display:block;font-family:var(--display);font-size:20px;margin-top:1px;font-weight:400}

/* SECTIONS */
.section{padding:92px 0;position:relative;background:#f2f8fc}.section.alt{background:#fff}

.intro-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:86px;align-items:center}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* RONDE KAARTEN (centerparcs-stijl: rustig, afgerond, geen sierlijst) */
.notched,.card,.feature,.panel,.cafe-visual,.ornate-frame,.mobile-menu-inner,.sponsor-primary .sponsor-logo,.video-frame{
  border-radius:var(--radius);
  overflow:hidden;
}
.card,.panel,.cafe-visual,.video-frame{box-shadow:0 10px 28px rgba(20,58,99,.09)}
.sponsor-primary .sponsor-logo{border-radius:14px}

/* ORNATE PHOTO FRAME */
.ornate-frame{position:relative;padding:0;background:#fff;box-shadow:0 14px 34px rgba(20,58,99,.14);border-radius:var(--radius);overflow:hidden}
.intro-photo{aspect-ratio:4/3;overflow:hidden}.ornate-frame img{border-radius:0;display:block}.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.poster{aspect-ratio:4/5;background:linear-gradient(170deg,#1a6b92,#0e3656 58%,#082239);display:grid;place-items:center;color:#fff;text-align:center;padding:42px;position:relative;overflow:hidden}
.poster::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.12),transparent 32%),radial-gradient(circle at 20% 20%,rgba(255,255,255,.08) 0 1px,transparent 2px) 0 0/13px 13px;opacity:.8}
.poster .inner{position:relative;z-index:2}.poster .mini{font-family:var(--nav);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.poster h3{font-size:64px;color:#f7f0e7;text-shadow:0 3px 0 rgba(7,25,43,.42);margin:16px 0}.poster .snow{font-size:44px;opacity:.9;margin-top:64px}

.title-row{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.title-row p{max-width:510px;margin:0;color:var(--muted)}
.programme-heading{text-align:center;max-width:900px;margin:0 auto 42px}.programme-heading .magic-divider{margin:19px auto 18px}.programme-heading p{max-width:650px;margin:0 auto;color:var(--muted)}.programme-all{text-align:center;margin-top:34px}.card .fairy-btn{min-height:42px;padding:10px 22px;font-size:10px;margin-top:4px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border:1px solid rgba(13,35,64,.07);position:relative;overflow:visible;box-shadow:0 10px 28px rgba(13,35,64,.05);transition:transform .28s ease,box-shadow .28s ease}.card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(13,35,64,.10)}
.card-visual{height:230px;position:relative;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0;background:#0b2239;margin:0}.card-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.86);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}.card:hover .card-visual img{transform:scale(1.045);filter:saturate(1) brightness(.9)}.card h3{transition:color .22s ease,transform .22s ease}.card:hover h3{color:var(--gold-text)}.card-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,17,31,.56),transparent 68%)}
.badge{position:absolute;bottom:18px;left:18px;z-index:4;display:inline-flex;align-items:center;color:var(--ink);font-family:var(--nav);font-size:12px;font-weight:700;text-transform:none;letter-spacing:.01em;line-height:1;padding:9px 18px;border-radius:999px;background:var(--accent);color:var(--night)}
.card{display:flex;flex-direction:column}.card-body{padding:26px 27px 32px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.card-body>.fairy-btn{margin-top:auto!important}.card-body p{margin-bottom:22px}.card h3{font-size:30px;text-transform:none;color:var(--ink)}.meta{margin-top:8px;color:var(--meta);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.card p{color:#5e6b79;font-size:14px}.card-link{font-family:var(--nav);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--gold-text)}

.feature{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);position:relative;overflow:hidden}
.feature-img{background:url('foto-ijsbaan-lucht.jpg') center 60%/cover no-repeat;min-height:520px}.feature-copy{padding:66px 62px;color:#fff}.feature-copy h2{color:#fff}.feature-copy p{color:#d9e2e9}.feature-copy .lead{color:#eaf0f4}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0 30px}.price{padding:14px;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}.price small{display:block;color:#9eb0c1}.price b{font-family:var(--nav);font-weight:700;font-size:21px}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:46px 48px;min-height:340px;position:relative;overflow:visible}
.panel-deco{display:none}.panel h3{font-size:50px}.panel.sponsor{background:var(--gold);color:#fff}.panel.sponsor h3{color:#fff}.panel.sponsor p{color:#eaf6ff}.panel.sponsor .eyebrow{color:#fff}.panel.volunteer{background:var(--ink);color:white}.panel.volunteer h3{color:white}.panel.volunteer p{color:#dbe4ec}.panel::after{display:none;content:"";position:absolute;right:-14px;bottom:-62px;font-size:210px;line-height:1;opacity:.07;transition:transform .45s ease,opacity .45s ease}.panel:hover::after{transform:rotate(8deg) scale(1.04);opacity:.11}

.cafe{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:center}.cafe-visual{min-height:440px;background:linear-gradient(rgba(10,29,51,.3),rgba(10,29,51,.75)),url('foto-wunderbar.webp') center 40%/cover no-repeat;display:flex;align-items:end;padding:38px;color:white;position:relative}.cafe>*,.intro-grid>*{min-width:0}.cafe-visual strong{font:400 clamp(40px,5vw,58px)/.95 var(--display);position:relative;z-index:2}.cafe ul{padding-left:18px;color:#5e6b79}.cafe li{margin:8px 0}

.cta{background:linear-gradient(180deg,#08182a,#134a6c);color:white;padding:58px 0;position:relative}.cta .shell{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{color:#fff;font-size:56px}.cta p{margin:8px 0 0;color:#cfd9e2}
.footer{background:#06111f;color:#d5dee6;padding:66px 0 86px;position:relative}
.footer-scene{position:relative;width:100%;margin:-66px 0 34px;padding-top:8px;pointer-events:none;background:#f2f8fc;overflow:hidden}
.footer-scene-base{width:100%;height:auto;display:block}
.footer-scene canvas.snow{z-index:2}
main.home ~ .footer .footer-scene{background:linear-gradient(180deg,#134a6c,#06111f 55%)}
.footer-top{display:grid;grid-template-columns:1.08fr 2fr;gap:72px;align-items:start;padding-bottom:34px}
.footer-brand img{width:176px;margin-bottom:20px}
.footer .footer-kicker{font-family:var(--display);font-size:27px;line-height:1.12;color:#fff;margin:0 0 14px;max-width:340px}
.footer-intro{color:#93a6b9;max-width:370px;font-size:13px;margin:0}
.footer-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:28px}/* kolommen beginnen op de hoogte van de bovenkant van het logo (niet van de lege rand van het png) */
.footer h4{color:var(--gold2);font-family:var(--nav);text-transform:uppercase;letter-spacing:.1em;font-size:11px;margin:3px 0 13px}
.footer a{display:block;margin:7px 0;color:#bac7d3;font-size:13px;transition:color .2s ease,transform .2s ease}
.footer a:hover{color:#fff;transform:translateX(3px)}
.footer p{color:#93a6b9;font-size:13px;margin:7px 0}
.footer .footer-date{color:#fff;font-family:var(--display);font-size:19px;line-height:1.22;margin:0 0 8px}
.footer-social{display:flex;gap:8px;margin-top:18px}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(111,193,234,.35);display:grid;place-items:center;margin:0;color:var(--gold2)}
.footer-social svg{width:16px;height:16px;fill:currentColor}
.newsletter{margin:4px 0 34px;padding:18px 20px;background:rgba(112,142,171,.055);display:grid;grid-template-columns:minmax(260px,.9fr) 1.35fr;gap:28px;align-items:center}
.newsletter .eyebrow{margin-bottom:4px}.newsletter h3{font-size:27px;color:#fff;margin:0 0 2px}.newsletter p{margin:0;font-size:12px}.newsletter-form{display:grid;grid-template-columns:1fr auto;gap:8px}.newsletter>*{min-width:0}.newsletter input{min-width:0;height:44px;background:#0b2034;border:1px solid rgba(129,154,177,.28);color:#fff;padding:0 14px;font:inherit;outline:none}.newsletter input:focus{border-color:rgba(111,193,234,.7)}.newsletter .fairy-btn{min-height:44px;padding:9px 23px}
.sponsor-strip{padding:6px 0 34px}.sponsor-strip-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.sponsor-strip-head h4{margin:0;color:#c9d4de}.sponsor-strip-head a{font-size:11px;color:var(--gold2);margin:0}
.sponsor-tier-label{display:flex;align-items:center;gap:12px;font-family:var(--nav);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:#8fa3b7;margin-bottom:14px}
.sponsor-tier-label::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(141,163,184,.22),transparent)}
.sponsor-tier-label.main{color:var(--gold2)}.sponsor-tier-label.main::after{background:linear-gradient(90deg,rgba(111,193,234,.4),transparent)}
.sponsor-tier-label.main span{font-size:10px}
/* Hoofdsponsoren: eigen tegel met sierlijst, logo in crème */
.sponsor-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:30px}
.sponsor-primary .sponsor-logo{height:118px;position:relative;background:rgba(255,255,255,.04)}
/* Partners: kleiner, gedempt, op één rij */
.sponsor-secondary{display:grid;grid-template-columns:repeat(8,1fr);gap:22px 26px;align-items:center}
.sponsor-secondary-track{display:contents}
.sponsor-secondary-track[aria-hidden]{display:none}
.sponsor-secondary .sponsor-logo{height:52px}
.sponsor-logo{display:grid;place-items:center;min-width:0;transition:transform .25s ease}
.sponsor-logo img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity .25s ease,filter .25s ease}
.sponsor-primary .sponsor-logo img{filter:brightness(0) invert(1);opacity:.94}
.sponsor-secondary .sponsor-logo img{filter:brightness(0) invert(62%) sepia(12%) saturate(520%) hue-rotate(169deg);opacity:.72}
.sponsor-logo:hover{transform:translateY(-2px)}.sponsor-logo:hover img{opacity:1}
.sponsor-secondary .sponsor-logo:hover img{filter:brightness(0) invert(88%) sepia(8%) saturate(300%) hue-rotate(169deg)}
.sponsor-logo span{display:none;color:#9cafc1;font-family:var(--nav);font-size:10px;text-align:center}
.sponsor-primary .sponsor-logo span{color:#fff;font-size:13px}
.footer-meta{border-top:1px solid rgba(141,163,184,.14);padding-top:18px;font-size:11px;color:#73879a;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.footer-meta-links{display:flex;gap:18px;flex-wrap:wrap}.footer-meta a{font-size:11px;color:#73879a;margin:0}
.mobile-bottom-nav{display:none}


/* SMALL INTERACTIONS */
.ornate-frame img,.cafe-visual,.feature-img{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.ornate-frame:hover img{transform:scale(1.025)}
.cafe-visual:hover{filter:brightness(1.05)}
.card-link{transition:color .2s ease,letter-spacing .2s ease}.card-link:hover{letter-spacing:.02em;color:var(--ink)}
.fact{transition:background .2s ease}.fact:hover{background:rgba(255,255,255,.035)}
.footer-social a{transition:transform .2s ease,border-color .2s ease,background .2s ease}.footer-social a:hover{transform:translateY(-3px);border-color:var(--gold2);background:rgba(111,193,234,.1)}

/* MOBILE MENU */
.mobile-menu{display:none;position:fixed;z-index:55;left:0;right:0;top:90px;height:calc(100dvh - 90px);background:
radial-gradient(circle at 50% 12%,rgba(50,123,160,.25),transparent 28%),
radial-gradient(circle at 20% 30%,rgba(255,255,255,.04) 0 1px,transparent 1.5px) 0 0/15px 15px,
var(--night);color:#fff;overflow:auto;padding:24px 18px 34px;opacity:0;transform:translateY(-12px);pointer-events:none;transition:.28s ease}
.mobile-menu.open{opacity:1;transform:none;pointer-events:auto}
.mobile-menu-inner{min-height:100%;position:relative;padding:32px 26px 32px;background:rgba(255,255,255,.02)}
.mobile-menu-head{text-align:center;margin-bottom:12px}.mobile-menu-head .fleur{font-size:18px}.mobile-menu nav.menu-levels{position:relative;z-index:2}
.menu-level{display:flex;flex-direction:column}
.menu-level[hidden]{display:none}
.mobile-menu .menu-item{font-family:var(--display);font-size:28px;line-height:1.1;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);background:none;border-left:0;border-right:0;border-top:0;border-radius:0;text-align:left;color:inherit;cursor:pointer;width:100%;text-decoration:none;-webkit-appearance:none;appearance:none}
.mobile-menu .menu-item:last-child{border-bottom:0}
.mobile-menu .menu-back{background:none;border:0;color:var(--gold2);font-family:var(--nav);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:4px 4px 18px;cursor:pointer;display:flex;align-items:center;gap:6px}
.mobile-menu .menu-group-label{color:var(--gold2);font-family:var(--nav);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:16px 4px 6px;opacity:.75}
.mobile-menu .menu-group-label:first-of-type{padding-top:4px}
.mobile-menu .menu-back::before{content:"‹";font-size:16px}
.mobile-menu .menu-ticket{margin-top:28px;width:100%;font-size:11px;min-height:48px;position:relative;z-index:2}.mobile-menu-foot{text-align:center;margin-top:24px;color:#9db0c0;font-size:11px;letter-spacing:.06em;position:relative;z-index:2}.mobile-menu-login{display:inline-block;margin-top:10px;color:var(--gold2);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:10px}
.mobile-menu-logos{display:none}
body.menu-open{overflow:hidden}
.mobile-menu-close{display:none}
@media(max-width:620px){
  .mobile-menu-close{display:flex;align-items:center;justify-content:center;position:absolute;top:16px;right:16px;width:28px;height:28px;border:0;background:none;color:#fff;font-size:20px;line-height:1;z-index:4}
  .mobile-menu-logos{display:block;margin-top:22px;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
  .mobile-menu-logos-track{display:inline-flex;align-items:center;gap:32px;white-space:nowrap;animation:topbar-scroll 16s linear infinite}
  .mobile-menu-logos-track img{height:20px;width:auto;flex:0 0 auto;filter:brightness(0) invert(1);opacity:.5}
  .mobile-menu-foot{margin-top:16px;font-size:10px;line-height:1.5}.mobile-menu-login{margin-top:4px}
}

/* Lopende tekst met de datum, alleen op mobiel (zie .topbar-marquee{display:flex} hierboven) */
.topbar-marquee{display:none;white-space:nowrap}
.topbar-marquee-track{display:inline-flex;animation:topbar-scroll 22s linear infinite}
.topbar-marquee-track span{display:inline-block;padding-right:6px;font-family:var(--nav);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f2e7cf}
@keyframes topbar-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media(max-width:1180px){.menu{gap:12px;font-size:10.5px;letter-spacing:.07em}.brand{width:154px;flex-basis:154px}.brand img{width:144px}.shell{width:min(1180px,calc(100% - 36px))}}
@media(max-width:980px){.menu{display:none}.mobile-toggle{display:block}.mobile-menu{display:block}.nav{height:66px}.brand{width:150px;flex-basis:150px}.brand img{width:148px;top:-4px}.hero{height:58vw;min-height:390px}.quickfacts .shell{grid-template-columns:1fr 1fr}.fact:nth-child(2){border-right:0}.intro-grid,.feature,.cafe{grid-template-columns:1fr}.cards{display:flex;grid-template-columns:none;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px;padding-top:26px}.cards::-webkit-scrollbar{display:none;height:0}.cards .card{flex:0 0 46%;min-width:260px;scroll-snap-align:start}.cards .date-seal{left:10px;top:-18px;width:64px;height:72px}.duo{grid-template-columns:1fr}.title-row,.cta .shell{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.feature-img{min-height:330px}.mobile-menu{top:90px;height:calc(100dvh - 90px)}}
@media(max-width:620px){.shell{width:min(100% - 26px,1180px)}.topbar{height:22px}.topbar .shell span:last-child{display:none}.header{top:34px}.nav{height:60px}.header{overflow:visible;background:transparent;border-bottom:0;margin-bottom:-60px;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .2s ease}
  body.scrolled .header{background:rgba(255,255,255,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(13,35,64,.10)}
  body:has(main.home).scrolled .header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0}
  .topbar .shell.topbar-desktop{display:none}
  .topbar{height:34px}
  .topbar-marquee{display:flex;height:34px;align-items:center;overflow:hidden}
  .brand{height:92px;width:auto;flex-basis:auto;overflow:visible}
  .brand img{width:auto;height:86px;max-height:86px;max-width:none;position:static;top:auto;left:auto;display:block}
  .mobile-toggle{color:var(--ink);width:40px;height:40px;background:var(--gold2);border-radius:50%;box-shadow:0 4px 14px rgba(4,20,34,.22)}
  .mobile-toggle span,.mobile-toggle::before,.mobile-toggle::after{left:11px;right:11px}
  .mobile-toggle::before{top:11px}.mobile-toggle span{top:19px}.mobile-toggle::after{top:27px}
  .mobile-menu{top:0;height:100dvh;overflow-y:auto;z-index:90}.mobile-menu-inner{padding-left:14px;padding-right:14px;padding-top:54px}.mobile-menu .menu-item{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:19px;line-height:1.3;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.12)}.mobile-menu .menu-item.menu-drill::after{content:"›";margin-left:auto;color:rgba(255,255,255,.35);font:400 22px var(--nav)}.mobile-menu .menu-item:last-child{border-bottom:0}.hero{height:min(140vw,620px);min-height:560px}.hero img{object-position:56% center}.hero-frame{inset:9px}.quickfacts{display:none}
  .hero-content .eyebrow{font-size:10px}.hero-content h1{font-size:30px;margin:8px 0}.hero-content p{font-size:14px;max-width:340px;margin:0 0 18px}.hero-content .actions{margin-top:0;gap:10px}.hero-content .fairy-btn{font-size:9.5px;padding:10px 18px;min-height:42px}
  .intro-grid{gap:30px}.lead{font-size:17px;margin:14px 0 12px}.cards .card{flex:0 0 82%;min-width:0}.section{padding:40px 0}.section-head{margin-bottom:24px}.feature-copy,.panel{padding:35px 30px}.price-grid{grid-template-columns:1fr}.panel h3{font-size:42px}.footer-grid{grid-template-columns:1fr}.footer-meta{grid-template-columns:1fr}.footer-meta-links{gap:12px}.cafe{gap:36px}.poster h3{font-size:52px}.title-row{margin-bottom:30px}.cta h2{font-size:48px}}

@media(max-width:980px){.footer-links-grid{padding-top:0}.footer-top{grid-template-columns:1fr;gap:38px}.footer-links-grid{grid-template-columns:repeat(3,1fr)}.newsletter{grid-template-columns:1fr}.sponsor-secondary{display:flex;flex-wrap:wrap;grid-template-columns:none;justify-content:center;gap:16px 20px;overflow-x:visible}.sponsor-secondary .sponsor-logo{flex:0 0 auto;width:90px}}
@media(max-width:620px){
  body{padding-bottom:70px}.footer{padding:36px 0 24px}.footer-scene{margin:-36px 0 20px}.footer-top{gap:26px;padding-bottom:22px}.footer-brand img{width:150px}.footer-brand .footer-intro{font-size:13px}.footer-links-grid{grid-template-columns:1fr 1fr;gap:22px 16px;padding-top:0}.footer-links-grid>div:last-child{grid-column:1/-1}.newsletter{grid-template-columns:1fr;gap:12px;padding:14px;margin:0 0 22px}.newsletter-form{grid-template-columns:1fr auto}.sponsor-primary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
  .sponsor-primary .sponsor-logo{height:auto;padding:16px 10px}
  .sponsor-primary .sponsor-logo img{width:auto!important;height:30px!important;max-width:88%!important;max-height:30px!important}
  .sponsor-secondary{display:flex;flex-wrap:nowrap;justify-content:flex-start;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .sponsor-secondary-track{display:flex;flex:0 0 auto;gap:20px;align-items:center;animation:topbar-scroll 20s linear infinite}
  .sponsor-secondary-track[aria-hidden]{display:flex}
  .sponsor-secondary .sponsor-logo{width:76px;height:44px;flex:0 0 auto}.footer-meta{grid-template-columns:1fr;padding-top:14px}.mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:68px;background:rgba(255,255,255,.98);border-top:1px solid rgba(13,35,64,.12);z-index:80;box-shadow:0 -8px 24px rgba(4,20,34,.12);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom);transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:none;color:var(--meta);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font:700 9px/1 "Montserrat",sans-serif;text-transform:uppercase;letter-spacing:.03em;padding:7px 2px;margin:0}.mobile-bottom-nav svg{width:21px;height:21px;fill:none}.mobile-bottom-nav .active,.mobile-bottom-nav .ticket-tab{color:var(--ink)}.mobile-bottom-nav .ticket-tab{position:relative}.mobile-bottom-nav .ticket-tab::before{content:"";position:absolute;inset:5px 5px 4px;background:#bfe4f7;border-radius:12px;z-index:-1}.mobile-toggle{display:block}.mobile-menu-inner{padding-bottom:20px}.hero{min-height:300px}.quickfacts::before,.quickfacts::after{font-size:18px}.intro-photo{aspect-ratio:5/4}
}

/*
  TYPOGRAFIE
  De display-stack begint met Moret. Als de gelicentieerde Moret-webfont later wordt toegevoegd,
  gebruikt de site die automatisch. Tot die tijd valt hij terug op Young Serif (Google Fonts),
  rond en vriendelijk, passend bij de lijnen van het logo. Navigatie: Josefin Sans.
*/

/* =========================================================
   SUBPAGINA'S
   ========================================================= */
.menu a[aria-current="page"]:not(.ticket){color:var(--gold-text)}
.menu a[aria-current="page"]:not(.ticket)::after{width:100%}

/* Paginakop */
.page-hero{position:relative;overflow:hidden;color:#fff;padding:78px 0 70px;text-align:center;background:
radial-gradient(circle at 50% 0%,rgba(53,160,216,.35),transparent 55%),
linear-gradient(180deg,#0a1d33,#163a63)}
.page-hero.has-img{background:linear-gradient(180deg,rgba(6,21,34,.55),rgba(6,21,34,.88)),var(--img) center/cover no-repeat}
.page-hero{overflow:hidden}
.page-hero .shell{position:relative;z-index:2}

@keyframes pageHeroDecoIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes pageHeroDecoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.page-hero-deco{position:relative;height:0;z-index:3}
.page-hero-deco img{position:absolute;right:4%;top:-150px;width:220px;height:auto;pointer-events:none;opacity:0;animation:pageHeroDecoIn .9s ease-out .15s forwards,pageHeroDecoFloat var(--float-dur,4.2s) ease-in-out 1.05s infinite}
.page-hero-deco.deco-boom img{--float-dur:4.6s}
.page-hero-deco.deco-kerstman img{--float-dur:3.8s}
.page-hero-deco.deco-helicopter img{--float-dur:4s}
.page-hero-deco.deco-pinguin img{--float-dur:5s}
@media(max-width:620px){.page-hero-deco img{width:116px;top:-78px;right:3%}}
@media(prefers-reduced-motion:reduce){.page-hero-deco img{animation:pageHeroDecoIn .9s ease-out .15s forwards}}
.page-hero h1{font-size:clamp(46px,6vw,84px);color:#fff;max-width:900px;margin:0 auto}
.page-hero .lead{color:#dfe7ee;margin:0 auto;max-width:640px;font-size:20px;line-height:1.45}
.page-hero .magic-divider{margin:20px auto 20px;color:var(--gold2)}
.page-hero .eyebrow{color:var(--gold2)}
.page-hero .actions{justify-content:center}
/* kruimelpad = de eyebrow van vervolgpagina's */
.crumbs{font-family:var(--nav);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold2);margin-bottom:14px}
.crumbs .sep{color:var(--accent);padding:0 2px}
.crumbs a{color:#c9d4de;transition:color .2s}.crumbs a:hover{color:#fff}.crumbs span{margin:0 10px;color:var(--gold2)}

.section-head{text-align:center;max-width:820px;margin:0 auto 40px}
.section-head .magic-divider{margin:18px auto}
.section-head p{color:var(--muted);margin:0 auto;max-width:640px}
.narrow{max-width:860px;margin:0 auto}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}
.two-col>*{min-width:0}
.stack>*+*{margin-top:18px}

/* Notitie / waarschuwing */
.notice{display:flex;gap:14px;align-items:flex-start;padding:17px 22px;background:#fff;border:1px solid rgba(53,160,216,.3);border-left:4px solid var(--accent);border-radius:0;color:#2c3b4d;font-size:14.5px;font-weight:500}
.notice.dark{background:rgba(255,255,255,.06);color:#dbe4ec;border-left-color:var(--gold2)}
.placeholder{display:inline-block;background:rgba(53,160,216,.14);color:var(--gold-text);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:6px}

/* Filterchips */
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 12px}
.filter-count{text-align:center;color:var(--meta);font-size:12px;margin:0 0 22px}
.chip{border:1px solid rgba(13,35,64,.18);background:#fff;color:var(--ink);font-family:var(--nav);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:10px 16px 8px;border-radius:999px;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--gold2);border-color:var(--ink)}

/* Datumstempel op kaart */
.date-seal{position:absolute;left:14px;top:-22px;z-index:6;width:86px;height:95px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12px;text-align:center;color:var(--ink);background:url("cal-icon.svg") no-repeat center/contain;transform:rotate(-3deg);filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}
.date-seal b{font:400 28px/1 var(--display);color:var(--ink)}.date-seal small{font:400 13px/1.3 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.card-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 2px;color:var(--gold-text);font-size:12.5px;font-weight:700}
.card-facts span::before{content:"";}
.card[hidden]{display:none}

/* Info-blok (donker) */
.info-box{background:var(--ink);color:#fff;padding:34px 34px 30px;position:relative}
.info-box h3{color:#fff;font-size:30px;margin-bottom:6px}
.info-rows{margin:16px 0 22px;display:grid;gap:0}
.info-rows div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14px}
.info-rows dt,.info-rows .k{font-family:var(--nav);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold2);padding-top:3px}
.info-rows .v{color:#e6edf3}
.info-box .fairy-btn{width:100%}
.info-box,.form-card,.tile{border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 28px rgba(20,58,99,.09)}
.tile{background:#fff;border:1px solid rgba(13,35,64,.07);padding:34px 32px;position:relative;display:flex;flex-direction:column;align-items:flex-start}
.tile>.actions{margin-top:auto;padding-top:22px}
.tile .check-list li{font-size:14px;padding-top:5px;padding-bottom:5px}
.tile h3{font-size:28px;margin-bottom:8px;overflow-wrap:break-word;word-break:break-word;hyphens:auto}.tile p{color:#5e6b79;font-size:14px;margin:0}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tile .tag{font-family:var(--nav);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);display:block;margin-bottom:12px}
.tile .num{font:400 44px/1 var(--display);color:var(--ink);display:block;margin-bottom:10px}

/* Prijslijst met stippellijn */
.price-list{list-style:none;padding:0;margin:0}
.price-list li{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px solid rgba(13,35,64,.08)}
.price-list li::after{content:"";order:2;flex:1;border-bottom:1px dotted rgba(13,35,64,.3);transform:translateY(-4px)}
.price-list span{order:1;font-weight:600}.price-list b{order:3;font-family:var(--nav);font-size:19px;color:var(--ink)}
.dark .price-list li{border-color:rgba(255,255,255,.12)}.dark .price-list li::after{border-color:rgba(255,255,255,.3)}.dark .price-list b{color:var(--gold2)}

/* Openingstijden */
.day-picker{display:flex;gap:12px;align-items:center;justify-content:center;margin-bottom:34px;flex-wrap:wrap}
.day-picker label{font-family:var(--nav);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text)}
.select,.field input,.field select,.field textarea{height:48px;border:1px solid rgba(13,35,64,.2);border-radius:10px;background:#fff;padding:0 14px;font:inherit;color:var(--ink);outline:none;min-width:0;width:100%}
.day-picker .select{width:auto;min-width:280px}
.select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(53,160,216,.18)}
.days{display:grid;gap:16px}
.day{display:grid;grid-template-columns:120px 1fr;gap:0;background:#fff;border:1px solid rgba(53,160,216,.25);border-radius:14px;overflow:hidden}
.day[hidden]{display:none}
.day-date{background:url("cal-icon.svg") no-repeat center/82px auto;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px 10px 10px;transform:rotate(-3deg)}
.day-date b{font:400 32px/1 var(--display);color:var(--ink)}.day-date small{font:400 12px/1.3 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin-top:2px}
.day-date.weekend{background-color:transparent}
.hours{width:100%;border-collapse:collapse;font-size:14px}
.hours th{font-family:var(--nav);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--meta);text-align:left;padding:14px 20px 8px;font-weight:700}
.hours td{padding:11px 20px;border-top:1px solid rgba(13,35,64,.07);color:#40505f}
.hours td:first-child{font-weight:700;color:var(--ink)}
.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#2f7a52}.status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.status.soon{color:var(--gold-text)}

/* Stappen */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:14px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start;background:#fff;padding:20px 22px;border:1px solid rgba(53,160,216,.25);border-radius:14px}
.steps li::before{content:counter(s);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:700 18px/1 var(--nav);color:#fff;background:var(--ink)}
.steps h3{font-size:22px;margin:4px 0 4px}.steps p{margin:0;color:#5e6b79;font-size:14px}
.check-list{list-style:none;padding:0;margin:14px 0 0}.check-list li{padding:7px 0 7px 26px;position:relative;color:#4d5a68}.check-list li::before{content:"\2726";position:absolute;left:0;top:7px;font-size:11px;color:var(--accent)}
.dark .check-list li{color:#dbe4ec}

/* Sponsoren */
.tier{margin-bottom:64px}
.tier-head{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.tier-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(53,160,216,.4),transparent)}
.tier-ribbon{font-family:var(--nav);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold2);padding:11px 24px;border-radius:999px;background:var(--ink)}
.tier-count{font-size:12.5px;color:var(--meta);font-weight:600}
/* Sponsorwand: lichte perkamentachtergrond, papieren tegels met gouden binnenlijn, logo's in rustige tinten */
.sponsor-wall{background:transparent}
.sponsor-wall .tier-count{color:var(--meta)}
.sponsor-wall .tier:last-child{margin-bottom:0}
.logo-grid{display:grid;gap:12px}
.logo-grid a{position:relative;display:grid;place-items:center;background:#fff;border-radius:14px;box-shadow:0 6px 16px -10px rgba(20,58,99,.35);transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.logo-grid a::before{content:"";position:absolute;inset:5px;border:1px solid rgba(53,160,216,.18);border-radius:10px;pointer-events:none}
.logo-grid a:hover{background:#fff;transform:translateY(-3px);box-shadow:0 14px 24px -12px rgba(20,58,99,.45)}
.logo-grid img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;transition:filter .3s ease,opacity .3s ease}

.logo-grid.t1{grid-template-columns:repeat(3,1fr);gap:18px}.logo-grid.t1 a{height:170px;background:#fff}
.logo-grid.t1 a::before{inset:0;border:0}

.logo-grid.t2{grid-template-columns:repeat(5,1fr)}.logo-grid.t2 a{height:128px}
.logo-grid.t3{grid-template-columns:repeat(6,1fr)}.logo-grid.t3 a{height:108px}
.logo-grid.t4{grid-template-columns:repeat(7,1fr)}.logo-grid.t4 a{height:96px}
.logo-grid.t5{grid-template-columns:repeat(8,1fr)}.logo-grid.t5 a{height:88px}
.logo-grid.t6{grid-template-columns:repeat(8,1fr);gap:10px}.logo-grid.t6 a{height:80px}
.friends{columns:3;column-gap:40px;color:#4d5a68;font-size:15px;padding:0;list-style:none}
.friends li{break-inside:avoid;padding:6px 0 6px 20px;position:relative}.friends li::before{content:"\2726";position:absolute;left:0;top:6px;font-size:11px;color:var(--accent)}

/* Tellers */
.counters{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(111,193,234,.3);border-bottom:1px solid rgba(111,193,234,.3);margin-top:44px}
.counters div{padding:22px 10px;text-align:center;border-right:1px solid rgba(255,255,255,.1)}.counters div:last-child{border:0}
.counters b{display:block;font:400 38px/1 var(--display);color:var(--gold2)}.counters small{display:block;margin-top:8px;font-family:var(--nav);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#b8c5d2;font-weight:700}

/* Cijferband (site-brede statistiekenstrook, bv. op de homepage en sponsorpagina's) */
.count-band{background:var(--ink);color:#fff}
.count-band .shell{display:grid;grid-template-columns:repeat(5,1fr)}
.count-item{padding:26px 10px;text-align:center;border-right:1px solid rgba(255,255,255,.1)}
.count-item:last-child{border-right:0}
.count-item b{display:block;font:400 34px/1 var(--display);color:var(--gold2)}
.count-item small{display:block;margin-top:8px;font-family:var(--nav);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#b8c5d2;font-weight:700}

/* Aftellen tot opening (op de homepage-cta en de ticketspagina) */
.countdown{display:flex;flex-wrap:wrap;gap:18px 24px;align-items:flex-end}
.countdown>div{min-width:50px;text-align:center}
.countdown b{display:block;font:400 34px/1 var(--display);color:var(--gold2)}
.countdown small{display:block;margin-top:4px;font-family:var(--nav);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#cfd9e2}
.countdown-label{flex-basis:100%;margin:6px 0 0;font-family:var(--nav);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#cfd9e2}
.countdown-hero{gap:22px 30px;justify-content:center}
.countdown-hero b{font-size:46px}
.countdown-hero small{font-size:10px}
.countdown-hero .countdown-label{text-align:center}

/* Vergelijkingstabel */
.table-wrap{overflow-x:auto;background:#fff;border:1px solid rgba(13,35,64,.1);-webkit-overflow-scrolling:touch}
.compare{width:100%;min-width:860px;border-collapse:collapse;font-size:13px}
.compare th,.compare td{padding:13px 12px;text-align:center;border-bottom:1px solid rgba(13,35,64,.07)}
.compare th:first-child,.compare td:first-child{text-align:left;font-weight:600;color:var(--ink);position:sticky;left:0;background:#fff;min-width:210px}
.compare thead th{background:var(--ink);color:#fff;font-weight:400;vertical-align:bottom;padding-top:18px}
.compare thead th:first-child{background:var(--ink);color:var(--gold2);font-family:var(--nav);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.compare thead b{display:block;font:400 19px/1.1 var(--display)}.compare thead small{display:block;color:var(--gold2);font-family:var(--nav);font-weight:700;font-size:12px;margin-top:4px}
.compare thead th.top{background:#173754;box-shadow:inset 0 3px 0 var(--gold2)}
.compare td{color:#40505f}.compare .yes{color:var(--gold-text);font-size:15px}
.compare .new{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--gold2);color:var(--ink);padding:2px 6px;margin-left:6px;vertical-align:2px}
.compare tbody tr:hover td{background:#f2f8fc}

/* Formulier */
.form-card{background:var(--ink);color:#fff;border:0;padding:40px;position:relative}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:6px}.field.full{grid-column:1/-1}
.field label,.field legend{font-size:12px;font-weight:700;color:var(--ink);letter-spacing:.02em}.form-card .field label,.form-card .field legend{color:#fff}
.field label i,.field legend i{color:var(--gold-text);font-style:normal}.form-card .field label i,.form-card .field legend i{color:var(--gold2)}
.field textarea{height:130px;padding:12px 14px;resize:vertical}

/* Contactpagina: kaarten, snelkoppelingen */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.contact-card{background:#fff;border:1px solid rgba(13,35,64,.07);padding:32px 28px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 10px 28px rgba(13,35,64,.05);transition:transform .25s ease,box-shadow .25s ease;color:inherit;text-decoration:none}
a.contact-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(13,35,64,.09)}
.contact-icon{width:46px;height:46px;border-radius:50%;background:rgba(53,160,216,.12);display:grid;place-items:center;margin-bottom:16px;color:var(--gold-text)}
.contact-icon svg{width:20px;height:20px;fill:currentColor}
.contact-card .tag{font-family:var(--nav);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);display:block;margin-bottom:10px}
.contact-card strong{font:400 19px/1.4 var(--display);color:var(--ink)}
.contact-mail{word-break:break-word}
.contact-meta{display:block;margin-top:10px;font-size:12px;color:var(--meta)}
.contact-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-family:var(--nav);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--gold-text)}

.quick-links{list-style:none;margin:18px 0 22px;padding:0;display:flex;flex-direction:column;gap:0}
.quick-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid rgba(13,35,64,.08);color:var(--ink);font-weight:600;font-size:14px}
.quick-links a em{font-style:normal;color:var(--gold-text)}
.quick-links a:hover{color:var(--gold-text)}
.contact-social{margin-top:2px}

/* Sponsorcommissie-foto's (Tom & Laurens) */
.commissie-fotos{display:flex;gap:16px;margin:18px 0 20px}
.commissie-fotos figure{margin:0;text-align:center}
.commissie-fotos img{width:84px;height:84px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 8px;border:2px solid rgba(53,160,216,.35)}
.commissie-fotos figcaption{font-family:var(--nav);font-size:11px;letter-spacing:.02em;color:#dbe4ec}

/* Kengetallen in een pagina-hero (bv. schaatsen.html) */
.hero-stats{display:flex;justify-content:center;gap:36px;margin-top:28px;flex-wrap:wrap}
.hero-stats b{display:block;font:400 34px/1 var(--display);color:var(--gold2)}
.hero-stats small{display:block;margin-top:6px;font-family:var(--nav);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#dbe4ec}

/* "Zo ziet zichtbaarheid eruit": compacte tegel-versie i.p.v. grote tabs */
.vis-tiles .tile .vis-img{aspect-ratio:4/3;margin-bottom:16px}
.vis-tiles .tile .vis-img img{width:100%;height:100%;object-fit:cover}
.field fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}
.opt{display:flex;gap:10px;align-items:center;font-size:14px;color:#40505f;cursor:pointer}.form-card .opt{color:#dbe4ec}
.opt input{width:18px;height:18px;accent-color:var(--ink)}
.form-note{font-size:12px;color:var(--meta);margin:12px 0 0}.form-card .form-note{color:#9fb3c5}
.form-done{display:none;margin-top:16px}.form-card.sent .form-done{display:flex}
.form-fout{display:none;margin-top:16px}.form-card.fout .form-fout{display:flex}
.form-card.sent .form-grid,.form-card.sent .actions{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* FAQ */
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid rgba(53,160,216,.25);border-radius:14px;overflow:hidden;transition:border-color .2s}
.faq details[open]{border-color:var(--gold)}
.faq summary{list-style:none;cursor:pointer;padding:19px 56px 17px 22px;position:relative;font:700 17px/1.4 var(--nav);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"\2726";font-size:16px;font-weight:400;position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--accent);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{margin:0;padding:0 22px 20px;color:#5e6b79;font-size:14px}

/* Media */
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.album-grid .card-visual{height:220px}
.album-grid .card-body{padding:22px 24px 26px}.album-grid h3{font-size:24px}
.pager{display:flex;justify-content:center;gap:8px;margin-top:40px}
.pager a,.pager span{min-width:44px;height:44px;display:grid;place-items:center;padding:0 14px;border:1px solid rgba(13,35,64,.15);border-radius:999px;font-family:var(--nav);font-weight:600;font-size:13px;background:#fff}
.pager .on{background:var(--ink);color:var(--gold2);border-color:var(--ink)}
.gallery{columns:3 280px;column-gap:14px}
.gallery a{display:block;margin:0 0 14px;break-inside:avoid;overflow:hidden;position:relative}
.gallery img{width:100%;transition:transform .5s ease}.gallery a:hover img{transform:scale(1.04)}
.lightbox{position:fixed;inset:0;background:rgba(4,12,22,.94);z-index:200;display:none;place-items:center;padding:30px}
.lightbox.open{display:grid}.lightbox img{max-height:86vh;max-width:92vw;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox button{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;line-height:1}
.video-frame{position:relative;aspect-ratio:16/9;background:#061522;overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-frame .offline{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#fff;padding:30px;background:radial-gradient(circle at 50% 40%,rgba(50,123,160,.35),transparent 60%),var(--night)}
.video-frame .offline h3{color:#fff;font-size:34px}.video-frame .offline p{color:#b8c5d2;margin:10px auto 0;max-width:460px}
.live-dot{display:inline-flex;align-items:center;gap:8px;font-family:var(--nav);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b8c5d2;margin-bottom:16px;justify-content:center}
.live-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:#6c7d8e}

/* Tekstpagina */
.prose h2{font-size:34px;margin:44px 0 12px}.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#4d5a68}
.prose ul{padding-left:0;list-style:none}.prose ul li{padding:6px 0 6px 24px;position:relative}.prose ul li::before{content:"\2726";position:absolute;left:0;top:7px;font-size:11px;color:var(--accent)}
.toc{position:sticky;top:120px;background:#fff;padding:24px 26px;border:1px solid rgba(53,160,216,.25);border-radius:14px}
.toc h4{margin:0 0 10px;font-family:var(--nav);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text)}
.toc a{display:block;padding:7px 0;border-bottom:1px solid rgba(13,35,64,.06);font-size:14px;font-weight:600}.toc a:hover{color:var(--gold-text)}
.side-layout{display:grid;grid-template-columns:260px 1fr;gap:60px;align-items:start}

/* Arrangementen */
.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.menu-cards .tile ul{list-style:none;padding:0;margin:12px 0 18px;color:#5e6b79;font-size:14px}
.menu-cards .tile li{padding:3px 0}.menu-cards .tile li::before{content:"· ";color:var(--gold)}
.menu-cards .price-tag{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid rgba(13,35,64,.1);padding-top:14px}
.menu-cards .price-tag b{font:400 26px/1 var(--display);color:var(--ink)}.menu-cards .price-tag small{color:var(--meta);font-size:12.5px}

@media(max-width:980px){
  .two-col,.side-layout{grid-template-columns:1fr;gap:40px}
  .album-grid,.contact-cards{grid-template-columns:1fr 1fr}
  .count-band .shell{grid-template-columns:repeat(3,1fr)}
  .count-item:nth-child(3){border-right:0}
  .tiles,.menu-cards{display:flex;grid-template-columns:none;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}
  .tiles::-webkit-scrollbar,.menu-cards::-webkit-scrollbar{display:none;height:0}
  .tiles .tile,.menu-cards .tile{flex:0 0 46%;min-width:260px;scroll-snap-align:start}
  .counters{grid-template-columns:repeat(3,1fr)}.counters div:nth-child(3){border-right:0}
  .logo-grid.t2{grid-template-columns:repeat(3,1fr)}.logo-grid.t3{grid-template-columns:repeat(4,1fr)}.logo-grid.t4{grid-template-columns:repeat(4,1fr)}.logo-grid.t5{grid-template-columns:repeat(5,1fr)}.logo-grid.t6{grid-template-columns:repeat(6,1fr)}
  .toc{position:static}.friends{columns:2}
}
@media(max-width:620px){
  .page-hero{padding:96px 0 84px}.page-hero h1{font-size:36px}.page-hero .lead{font-size:15px;margin:10px auto}
  .hero-stats{gap:18px;margin-top:14px}.hero-stats b{font-size:22px}.hero-stats small{font-size:8.5px}
  .countdown-hero{gap:10px 16px;margin-top:14px}.countdown-hero b{font-size:28px}.countdown-hero small{font-size:8px}
  h2{font-size:33px}
  .album-grid{grid-template-columns:1fr 1fr;gap:14px}
  .album-grid .card-visual{height:120px}.album-grid .card-body{padding:14px 14px 16px}.album-grid h3{font-size:16px;line-height:1.25}.album-grid .meta{font-size:10px}
  .chips-bar{position:sticky;top:94px;z-index:20;background:var(--cream);margin:0 -13px;padding:12px 13px 6px;box-shadow:0 8px 12px -8px rgba(13,35,64,.1);transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}
  .chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;-ms-overflow-style:none;margin-bottom:8px}
  .chips::-webkit-scrollbar{display:none;height:0}
  .chip{flex:0 0 auto}
  .filter-count{text-align:left;margin-bottom:0;font-size:11px}
  .cards[data-filter-target]{display:grid;grid-template-columns:1fr;gap:10px;overflow-x:visible;scroll-snap-type:none;padding-bottom:0}
  .cards[data-filter-target] .card{flex:auto;min-width:0;flex-direction:row;align-items:stretch;height:104px}
  .cards[data-filter-target] .card-visual{width:104px;flex:0 0 104px;height:100%;z-index:4}
  .cards[data-filter-target] .badge,.cards[data-filter-target] .card-sponsor{display:none}
  .cards[data-filter-target] .date-seal{width:auto;height:auto;flex-direction:row;top:10px;left:0;right:auto;bottom:auto;transform:none;filter:none;border-radius:0 10px 10px 0;align-items:baseline;justify-content:flex-start;gap:5px;padding:6px 12px 6px 9px;background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.3)}
  .cards[data-filter-target] .date-seal b{font:800 14px/1 var(--nav);color:var(--ink)}
  .cards[data-filter-target] .date-seal small{font-size:9px;letter-spacing:.06em;color:var(--meta);text-transform:uppercase}
  .cards[data-filter-target] .card-body{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center;row-gap:3px;column-gap:18px;padding:10px 14px 10px 12px;height:100%}
  .cards[data-filter-target] .card h3{grid-column:1;grid-row:1;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cards[data-filter-target] .card-facts{grid-column:1;grid-row:2;flex-direction:column;align-items:flex-start;gap:2px;font-size:10.5px}
  .cards[data-filter-target] .card-facts span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cards[data-filter-target] .card p{display:none}
  .cards[data-filter-target] .fairy-btn{grid-column:2;grid-row:1/3;position:relative;font-size:0;line-height:0;gap:0;padding:0;margin:0;width:38px;height:38px;min-height:0;border-radius:50%;flex:0 0 auto;display:block}
  .cards[data-filter-target] .fairy-btn::after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;margin:0;font-size:0;border:0;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translate(-60%,-50%) rotate(45deg)}
  .contact-cards{grid-template-columns:1fr}
  .tiles,.menu-cards{display:flex;grid-template-columns:none;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}
  .tiles::-webkit-scrollbar,.menu-cards::-webkit-scrollbar{display:none;height:0}
  .menu-cards .tile h3{font-size:21px;line-height:1.15}
  .tiles .tile,.menu-cards .tile{flex:0 0 82%;min-width:0;scroll-snap-align:start}
  .counters{grid-template-columns:1fr 1fr}.counters div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .count-band .shell{grid-template-columns:repeat(3,1fr)}.count-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);padding:12px 6px}.count-item:nth-last-child(-n+2){border-bottom:0}.count-item b{font-size:19px}.count-item small{font-size:8px;letter-spacing:.06em}
  .logo-grid.t1{grid-template-columns:1fr}.logo-grid.t1 a{height:120px}
  .logo-grid.t2,.logo-grid.t3{grid-template-columns:repeat(2,1fr)}.logo-grid.t4,.logo-grid.t5,.logo-grid.t6{grid-template-columns:repeat(3,1fr)}
  .form-card{padding:28px 22px}.form-grid{grid-template-columns:1fr}
  .day{grid-template-columns:1fr}.day-date{background:none;transform:none;flex-direction:row;gap:12px;align-items:center;justify-content:start;padding:12px 18px}.day-date b{font-size:28px}
  .hours th:nth-child(2),.hours td:nth-child(2){display:none}.hours th,.hours td{padding-left:14px;padding-right:14px}
  .day-picker .select{min-width:0;width:100%}
  .info-box{padding:22px 20px}.info-rows div{grid-template-columns:90px 1fr}
  .price-list li{padding:8px 0}
  .faq summary{padding:14px 44px 14px 18px;font-size:16px}
  .faq details p{padding:0 18px 16px}
  .newsletter-form{grid-template-columns:1fr;gap:10px}
  .friends{columns:1}.steps li{grid-template-columns:44px 1fr;gap:14px;padding:18px}
}

.tile .friends{columns:1;margin:14px 0 0}
.album-grid .card a{display:block}

/* Donkere vlakken: leesbare lijsten en labels */
.feature-copy .check-list li,.panel.volunteer .check-list li{color:#dbe4ec}
.feature-copy .placeholder,.info-box .placeholder,.page-hero .placeholder{background:rgba(53,160,216,.18);color:var(--gold2)}
.page-hero.has-img{background:linear-gradient(180deg,rgba(6,21,34,.72),rgba(6,21,34,.92)),var(--img) center/cover no-repeat}
.two-col>aside{position:sticky;top:120px}
.prose h3{font-size:26px;margin:30px 0 8px}
.info-rows .v,.tile p a,.footer a{overflow-wrap:anywhere}

/* Tekstlinks: overal hetzelfde */
.text-link{color:var(--gold-text);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.text-link:hover{color:var(--ink)}
.dark .text-link,.info-box .text-link,.feature-copy .text-link{color:var(--gold2)}
figcaption{font-size:12.5px;color:var(--meta);margin-top:12px;line-height:1.5}

.event-photo{aspect-ratio:16/10;overflow:hidden;margin-bottom:10px}
.event-photo img{width:100%;height:100%;object-fit:cover}
.video-frame::before{z-index:4}
.video-frame{margin-top:30px}
.panel.sponsor .magic-divider{color:var(--gold-text)}

.album-video{max-width:960px;margin:0 auto 40px}
.prose .intro{font-size:17px;color:#40505f;margin-top:0}
.plain-photo{margin:0}.plain-photo img{width:100%;display:block;filter:drop-shadow(0 14px 22px rgba(13,35,64,.18))}

/* Programmategels: de hele tegel is klikbaar via de titel-link */
.card-stretch{color:inherit}
.card-stretch::after{content:"";position:absolute;inset:0;z-index:6}
.card:has(.card-stretch){cursor:pointer}
.card:has(.card-stretch:hover) .fairy-btn,.card:has(.card-stretch:focus-visible) .fairy-btn{transform:translateY(-2px);filter:brightness(1.035)}
.card:has(.card-stretch:hover) .fairy-btn::after{transform:translateX(4px)}
.card:has(.card-stretch:focus-visible){outline:2px solid var(--gold-text);outline-offset:4px}
.card-stretch:focus-visible{outline:none}

/* Hover: sierlijst blijft altijd boven de (ingezoomde) foto */
.card-visual{z-index:1;isolation:isolate}
.card::before{z-index:5}
.card .badge,.card .date-seal{z-index:6}
.card-sponsor{position:absolute;top:14px;right:14px;z-index:6;display:flex;align-items:center;height:48px;padding:8px 16px;border-radius:14px;background:#fff}
.card-sponsor img{height:100%;width:auto;max-width:112px;object-fit:contain;display:block;filter:none!important;transform:none!important}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(13,35,64,.10)}
.card:hover .card-visual img{transform:scale(1.03)}
.card:hover h3{color:var(--gold-text)}

/* Hoofdsponsortegels: holle hoeken ook bij hover, schaduw via drop-shadow op de rij zodat die de hoekvorm volgt */
.logo-grid.t1 a{border-radius:var(--radius);box-shadow:0 10px 24px rgba(20,58,99,.12)}
.logo-grid.t1{filter:none}

/* Topbalk: planner-login rechtsboven */
.topbar-right{display:flex;align-items:center;gap:18px}
.topbar-login{display:inline-flex;align-items:center;gap:6px;color:var(--accent-light,var(--accent));font-weight:700;letter-spacing:.1em;padding-left:18px;border-left:1px solid rgba(255,255,255,.18);transition:color .2s}
.topbar-login svg{width:11px;height:11px;fill:currentColor;position:relative;top:-1px}
.topbar-login:hover{color:#fff}
@media(max-width:620px){.topbar-right{display:none}}

/* Duo-blokken: meer sfeer (glow, sneeuwvlok, illustratie die over de rand hangt) */
.panel.has-art{padding-bottom:64px}
.panel.sponsor.has-art{background:radial-gradient(circle at 92% 4%,rgba(255,255,255,.30),transparent 48%),radial-gradient(circle at 0% 100%,rgba(14,95,156,.22),transparent 50%),var(--gold)}
.panel.volunteer.has-art{background:radial-gradient(circle at 92% 4%,rgba(53,160,216,.42),transparent 50%),radial-gradient(circle at 0% 100%,rgba(10,29,51,.55),transparent 55%),var(--ink)}
.panel.has-art::before{content:"";position:absolute;top:26px;right:30px;width:96px;height:96px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M50 6v88M12 28l76 44M88 28L12 72'/%3E%3Cpath d='M50 20l-9-8M50 20l9-8M50 80l-9 8M50 80l9 8M22 34l-1-11M22 34l-11 2M78 66l1 11M78 66l11-2M78 34l1-11M78 34l11 2M22 66l-1 11M22 66l-11-2'/%3E%3C/svg%3E") no-repeat center/contain;opacity:.22;pointer-events:none}
.panel-art{position:absolute;z-index:1;pointer-events:none;height:auto;right:36px;bottom:-44px}
.panel-art-sponsor{width:230px}
.panel-art-volunteer{width:150px;right:48px;bottom:-40px}
@media(max-width:620px){.panel.has-art{padding-bottom:120px}.panel.has-art::before{width:64px;height:64px;top:18px;right:18px}.panel-art-sponsor{width:150px;right:20px;bottom:-30px}.panel-art-volunteer{width:96px;right:26px;bottom:-30px}}

/* Openingstijden: dagblokken in dezelfde stijl als de eventtegels */
.days{gap:44px}
.day{position:relative;display:block;overflow:visible;padding:26px 34px 10px 140px;border-radius:var(--radius);background:#fff;border:1px solid rgba(13,35,64,.07);box-shadow:0 10px 28px rgba(13,35,64,.05)}
.day .date-seal{left:16px;top:-24px}
.day-head{display:flex;align-items:center;gap:12px;margin:0 0 6px}
.day-head h3{font:400 28px/1.1 var(--display);color:var(--ink);margin:0}
.day-tag{font:700 11px/1 var(--nav);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text);background:#e6f2fa;border-radius:999px;padding:6px 12px}
.day-rows{display:grid}
.day-row{display:grid;grid-template-columns:44px minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.3fr);gap:6px 18px;align-items:center;padding:16px 0;border-top:1px solid #e3edf4;color:inherit;text-decoration:none}
.day-row:first-child{border-top:0}
.day-ico{width:44px;height:44px;border-radius:50%;background:#e6f2fa;color:var(--gold-text);display:grid;place-items:center}
.day-ico svg{width:22px;height:22px}
.day-what{display:grid;gap:2px;min-width:0}
.day-what strong{font:700 17px/1.25 var(--nav);color:var(--ink)}
.day-what strong em{font:700 10.5px/1 var(--nav);letter-spacing:.06em;text-transform:uppercase;font-style:normal;color:var(--night);background:var(--accent);border-radius:999px;padding:4px 9px;margin-left:10px;vertical-align:2px}
.day-what span{font-size:14px;color:#5e6b79}
.day-time,.day-access{display:inline-flex;align-items:center;gap:8px;font:600 14px/1.3 var(--nav);color:var(--ink)}
.day-time svg,.day-access svg{width:18px;height:18px;flex:0 0 auto;color:var(--gold-text)}
.day-time.soon{color:var(--gold-text)}
.day-access{font-weight:500;color:#40505f}
.day-access.go{font-weight:700;color:var(--gold-text)}
.day-row.is-event{margin:0 -16px;padding:16px;border-radius:14px;background:#fff4ec;border-top-color:transparent;box-shadow:inset 4px 0 0 var(--accent)}
.day-row.is-event+.day-row.is-event{margin-top:6px}
.day-row.is-event .day-ico{background:var(--accent);color:var(--night)}
.day-row.is-event:hover{background:#ffeadb}
.day-row:not(.is-event)+.day-row.is-event{margin-top:8px}
@media(max-width:620px){
  .days{gap:40px}
  .day{padding:44px 18px 6px}
  .day .date-seal{left:14px;top:-26px;width:64px;height:72px}
  .day-head{padding-left:76px;margin-top:-34px;min-height:44px}
  .day-head h3{font-size:22px}
  .day-row{grid-template-columns:44px 1fr;padding:14px 0}
  .day-time,.day-access{grid-column:2}
  .day-row.is-event{margin:0 -8px;padding:14px 8px}
}

/* Album-tegels: meer kleur */
.album-grid .card{background:linear-gradient(180deg,#fff 0%,#eef7fc 100%)}
.album-grid .card:nth-child(3n+2) .badge{background:var(--gold-text);color:#fff}
.album-grid .card:nth-child(3n+3) .badge{background:var(--gold2);color:var(--night)}
.album-grid .meta{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:7px 14px;border-radius:999px;background:#dff0fa;color:var(--gold-text);font-size:12px;letter-spacing:.05em}
.album-grid .meta::before{content:"";width:15px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5f9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat}
.album-grid .card-body::after{content:"Bekijk album \2192";margin-top:16px;font:700 13px/1 var(--nav);letter-spacing:.04em;color:var(--accent);transition:transform .25s ease}
.album-grid .card:hover .card-body::after{transform:translateX(5px)}
.album-grid .card-body h3{color:var(--ink)}
@media(max-width:620px){.album-grid .card-body::after{display:none}.album-grid .meta{padding:5px 10px;font-size:10px;margin-top:8px}.album-grid .meta::before{width:12px;height:12px}}

/* Hero-decoraties: strak uitgesneden, groter en half over de onderrand */
.page-hero-deco img{right:5%;left:auto;width:var(--w);height:auto;top:calc(var(--w) / var(--ar) * -.55)}
.page-hero-deco.deco-kerstman img{--w:400px;--ar:2.217}
.page-hero-deco.deco-helicopter img{--w:380px;--ar:1.902}
.page-hero-deco.deco-pinguin img{--w:200px;--ar:.812}
.page-hero-deco.deco-boom img{--w:270px;--ar:.935}
@media(max-width:620px){
  .page-hero-deco img{right:4%;top:calc(var(--w) / var(--ar) * -.5)}
  .page-hero-deco.deco-kerstman img{--w:210px}
  .page-hero-deco.deco-helicopter img{--w:200px}
  .page-hero-deco.deco-pinguin img{--w:105px}
  .page-hero-deco.deco-boom img{--w:140px}
}

.panel-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;max-width:70%}
.panel-chips span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font:600 13px/1 var(--nav)}
.panel-chips svg{width:16px;height:16px;flex:0 0 auto;color:var(--accent)}
.panel.sponsor .panel-chips svg{color:#fff}
.panel-art-santa{width:250px;right:30px;bottom:-34px}
@media(max-width:620px){.panel-chips{max-width:none}.panel-art-santa{width:150px;right:18px;bottom:-26px}}
.page-hero-deco.deco-boom+.section{padding-top:150px}
.page-hero-deco.deco-pinguin+.section{padding-top:140px}
.page-hero-deco.deco-kerstman+.section{padding-top:112px}
.page-hero-deco.deco-helicopter+.section{padding-top:118px}
@media(max-width:620px){
  .page-hero-deco.deco-boom+.section{padding-top:96px}
  .page-hero-deco.deco-pinguin+.section{padding-top:84px}
  .page-hero-deco.deco-kerstman+.section{padding-top:68px}
  .page-hero-deco.deco-helicopter+.section{padding-top:70px}
}

/* Openingstijden: rustiger — datumlabel binnen het blok, iconen zonder ronde achtergrond, events zonder extra opmaak */
.days{gap:18px}
.day{padding:24px 32px 12px 132px}
.day .date-seal{left:22px;top:24px}
.day-row{grid-template-columns:28px minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.3fr)}
.day-ico,.day-row.is-event .day-ico{width:28px;height:28px;border-radius:0;background:none;color:var(--gold-text)}
.day-ico svg{width:24px;height:24px}
.day-row.is-event{margin:0;padding:16px 0;border-radius:0;background:none;box-shadow:none;border-top:1px solid #e3edf4}
.day-row.is-event+.day-row.is-event,.day-row:not(.is-event)+.day-row.is-event{margin-top:0}
.day-row.is-event:hover{background:none}
.day-row.is-event:hover .day-what strong{color:var(--gold-text)}
.day-what strong em{background:none;padding:0;margin-left:8px;color:var(--accent);font-size:11px;vertical-align:1px}
@media(max-width:620px){
  .days{gap:14px}
  .day{padding:16px 16px 4px}
  .day .date-seal{left:14px;top:16px;width:64px;height:72px}
  .day-head{margin:0;min-height:72px;padding-left:80px}
  .day-row{grid-template-columns:28px 1fr}
  .day-row.is-event{margin:0;padding:14px 0}
}

/* Sponsorvlak in de hoek van de eventfoto, in kleur van de sponsor */
.card-sponsor{top:0;right:0;width:62%;height:62%;padding:0;border-radius:0;display:block;background:var(--sp,var(--ink));clip-path:polygon(0 0,100% 0,100% 100%)}
.card-sponsor img{position:absolute!important;top:16px;right:18px;width:auto!important;height:auto!important;max-height:38px;max-width:44%;object-fit:contain!important;filter:brightness(0) invert(1)!important;transform:none!important}

/* Footer-illustratie: lucht in de blauwtinten van de site */
.footer-scene{background:linear-gradient(180deg,#f2f8fc 0%,#e0effa 36%,#b7dbf2 70%,#8ac5ea 100%)}

/* Openingstijden: opmaak van de live site (donkerblauw blok, kalender over de rand, tabel met lichte kopregel) */
.days{gap:64px;margin-top:34px}
.day{display:block;position:relative;overflow:visible;padding:20px 20px 16px;background:var(--ink);border:0;border-radius:17px;box-shadow:none}
.day .date-seal{left:22px;top:-34px}
.day-top{display:flex;align-items:center;min-height:62px;padding-left:112px;margin-bottom:14px}
.day-date{font:700 18px/1.3 var(--nav);color:#85c3e3}
.day-table{width:100%;border-collapse:collapse}
.day-table th{padding:6px 20px;text-align:left;font:800 15px/1.3 var(--nav);color:#85c3e3;background:rgba(255,255,255,.13)}
.day-table th:first-child{border-radius:16px 0 0 16px}.day-table th:last-child{border-radius:0 16px 16px 0}
.day-table td{padding:7px 20px;font:500 14px/1.4 var(--nav);color:#fff}
.day-table a{color:#fff;font-weight:700;text-decoration:none}.day-table a:hover{text-decoration:underline}
.day-table th:nth-child(1){width:22%}.day-table th:nth-child(2){width:32%}.day-table th:nth-child(3){width:16%}
.day-table tbody tr:first-child td{padding-top:12px}
@media(max-width:600px){
  .days{gap:60px}
  .day{padding:16px 14px 12px}
  .day .date-seal{left:16px;top:-32px;width:64px;height:72px}
  .day-top{padding-left:92px;min-height:48px}
  .day-table thead{display:none}
  .day-table,.day-table tbody,.day-table tr{display:block;width:100%}
  .day-table tr{margin-bottom:10px}
  .day-table td{display:grid;grid-template-columns:104px 1fr;gap:8px;padding:5px 18px}
  .day-table td::before{content:attr(data-label);font-weight:700;color:#85c3e3;font-size:14px}
  .day-table td:first-child{background:rgba(255,255,255,.13);border-radius:16px;padding:6px 18px;font-weight:700;font-size:15px;margin-bottom:4px}
}

/* "Ook sponsor worden?" als afgerond blok binnen de paginabreedte */
.cta.cta-block{background:#f2f8fc;padding:8px 0 100px}
.cta.cta-block .shell{background:linear-gradient(180deg,#0a1d33,#134a6c);border-radius:var(--radius);padding:46px 52px;box-shadow:0 10px 28px rgba(20,58,99,.14)}
@media(max-width:620px){.cta.cta-block{padding:4px 0 70px}.cta.cta-block .shell{padding:32px 26px}}
.day .day-date{display:block;background:none;transform:none;padding:0;text-align:left}

/* Goed om te weten: gekleurde tegels met icoon */
.info-tiles .tile{overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}
.info-tiles .tile:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(13,35,64,.16)}
.info-tiles .tile-ico{width:34px;height:34px;margin-bottom:18px;flex:0 0 auto}
.info-tiles .tile::after{content:"";position:absolute;right:-34px;bottom:-34px;width:150px;height:150px;border-radius:50%;background:currentColor;opacity:.07;pointer-events:none}
.info-tiles .tile h3{margin-bottom:10px}
.info-tiles .t-blue{background:radial-gradient(circle at 92% 0%,rgba(255,255,255,.30),transparent 52%),var(--gold);color:#fff;border-color:transparent}
.info-tiles .t-blue h3,.info-tiles .t-blue .tag{color:#fff}.info-tiles .t-blue p{color:#eaf6ff}.info-tiles .t-blue .text-link{color:#fff}
.info-tiles .t-navy{background:radial-gradient(circle at 92% 0%,rgba(53,160,216,.42),transparent 52%),var(--ink);color:#fff;border-color:transparent}
.info-tiles .t-navy h3{color:#fff}.info-tiles .t-navy .tag{color:#85c3e3}.info-tiles .t-navy p{color:#dbe4ec}.info-tiles .t-navy .text-link{color:#fff}
.info-tiles .t-sky{background:#e3f1fa;color:var(--gold-text);border-color:transparent}
.info-tiles .t-sky .tile-ico{color:var(--accent)}
.info-tiles .t-blue .tile-ico,.info-tiles .t-navy .tile-ico{color:#fff}
.info-tiles .t-navy .tile-ico{color:var(--accent)}

/* Hero: genoeg ruimte voor de decoratie, ook op tablet */
@media(min-width:621px){.page-hero{padding-bottom:120px}}
@media(min-width:621px) and (max-width:980px){
  .page-hero{padding-bottom:136px}
  .page-hero-deco.deco-kerstman img{--w:270px}
  .page-hero-deco.deco-helicopter img{--w:260px}
  .page-hero-deco.deco-pinguin img{--w:150px}
  .page-hero-deco.deco-boom img{--w:190px}
}

/* Contactkaarten: kleur en sfeer */
.contact-card{position:relative;overflow:hidden;border-color:transparent}
.contact-card::after{content:"";position:absolute;right:-36px;bottom:-36px;width:160px;height:160px;border-radius:50%;background:currentColor;opacity:.07;pointer-events:none}
.contact-card:nth-child(1){background:radial-gradient(circle at 92% 0%,rgba(255,255,255,.30),transparent 52%),var(--gold);color:#fff}
.contact-card:nth-child(2){background:radial-gradient(circle at 92% 0%,rgba(53,160,216,.42),transparent 52%),var(--ink);color:#fff}
.contact-card:nth-child(3){background:#e3f1fa;color:var(--gold-text)}
.contact-card:nth-child(1) .tag,.contact-card:nth-child(1) strong,.contact-card:nth-child(1) .contact-more{color:#fff}
.contact-card:nth-child(2) strong,.contact-card:nth-child(2) .contact-more{color:#fff}.contact-card:nth-child(2) .tag{color:#85c3e3}
.contact-card:nth-child(3) strong{color:var(--ink)}
.contact-card:nth-child(1) .contact-icon,.contact-card:nth-child(2) .contact-icon{background:rgba(255,255,255,.18);color:#fff}
.contact-card:nth-child(2) .contact-icon{color:var(--accent)}
.contact-card:nth-child(3) .contact-icon{background:#fff;color:var(--accent)}
.contact-card:nth-child(1) .contact-more:hover{text-decoration:underline}

/* Sponsorvlak: grote, gebogen hoek zoals in het voorbeeld */
.card-sponsor{inset:0;top:0;right:0;width:100%;height:100%;background:none;clip-path:none;pointer-events:none}
.card-sponsor .sp-shape{position:absolute;inset:0;width:100%;height:100%;fill:var(--sp,var(--ink));display:block}
.card-sponsor img{top:20px;right:26px;max-height:46px;max-width:38%}

/* Ticketstappen: icoon in de hoek, nummer in kleur van de tegel */
.info-tiles .tile-ico.corner{position:absolute;top:30px;right:30px;width:40px;height:40px;margin:0;opacity:.9}
.info-tiles .t-blue .num,.info-tiles .t-navy .num{color:#fff}
.info-tiles .t-sky .num{color:var(--ink)}
.info-tiles .t-sky .tile-ico.corner{color:var(--accent)}
.info-tiles .t-navy .tile-ico.corner{color:var(--accent)}
.info-tiles .t-blue .tile-ico.corner{color:#fff}
.info-tiles .t-blue h3,.info-tiles .t-navy h3{color:#fff}
.info-tiles .t-sky h3{color:var(--ink)}.info-tiles .t-sky p{color:#40505f}
.info-tiles .t-sky .tag{color:var(--gold-text)}
.info-tiles .t-blue p{color:#eaf6ff}

/* Sponsorvlak exact volgens voorbeeld (RVL): vanaf halverwege de bovenrand, gebogen diagonaal, horizontale onderrand */
.card-sponsor img{top:16px;right:6%;max-height:44px;max-width:30%}

/* Beleven-tegels: tag linksboven, icoon-badge die over de fotorand hangt */
.card:has(.card-ico) .badge{top:18px;bottom:auto;left:18px;background:rgba(255,255,255,.94);color:var(--ink)}
.card-ico{position:absolute;right:26px;top:202px;z-index:6;width:58px;height:58px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;border:4px solid #fff;transition:transform .3s ease}
.card-ico svg{width:26px;height:26px}
.card:hover .card-ico{transform:rotate(-8deg) scale(1.06)}
.card:has(.card-ico) .card-body{padding-top:34px}
.card:has(.card-ico) h3{padding-right:64px}

/* Sponsorvlak: kleiner en strakker, groter logo */
.card-sponsor img{top:13px;right:5%;max-height:54px;max-width:36%}

/* Programmategels: subtiele icoontjes bij tijd en locatie */
.card-facts span{display:inline-flex;align-items:center;gap:7px}
.card-facts span::before{content:"";flex:0 0 auto;width:15px;height:15px;opacity:.75;background:center/contain no-repeat}
.card-facts span:first-child::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5f9c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.card-facts span:last-child::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5f9c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.6'/%3E%3C/svg%3E")}
@media(max-width:620px){.cards[data-filter-target] .card-facts span{display:block}.cards[data-filter-target] .card-facts span::before{display:inline-block;width:12px;height:12px;margin-right:5px;vertical-align:-2px}}
@media(max-width:620px){.cards[data-filter-target] .card-body{grid-template-columns:minmax(0,1fr) 38px}.cards[data-filter-target] .card-facts{min-width:0}}

/* Programmalijst: om-en-om heel zacht rijkleurtje */
@media(max-width:620px){.cards[data-filter-target] .card.alt{background:#eaf4fb}}
.contact-card{border-radius:var(--radius)}

/* Logo steekt minder ver onder de navigatiebalk uit */
@media(min-width:621px){
  .brand{width:150px;flex-basis:150px}
  .brand img{width:126px;top:-11px}
}
@media(min-width:981px) and (max-width:1180px){.brand img{width:118px}}
@media(min-width:621px) and (max-width:980px){.brand{width:130px;flex-basis:130px}.brand img{width:112px;top:-3px}}

/* Beleven-tegels: kleur en sfeer zoals de rest van de site */
.card:has(.card-ico){border-color:transparent;overflow:visible}
.card:has(.card-ico) .card-body{position:relative}
.card:has(.card-ico) .card-body::after{content:"";position:absolute;right:24px;bottom:22px;width:64px;height:64px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M50 6v88M12 28l76 44M88 28L12 72'/%3E%3Cpath d='M50 20l-9-8M50 20l9-8M50 80l-9 8M50 80l9 8M22 34l-1-11M22 34l-11 2M78 66l1 11M78 66l11-2M78 34l1-11M78 34l11 2M22 66l-1 11M22 66l-11-2'/%3E%3C/svg%3E") no-repeat center/contain;opacity:.2;pointer-events:none}
.cards>.card:nth-child(1):has(.card-ico){background:radial-gradient(circle at 96% 100%,rgba(255,255,255,.28),transparent 55%),var(--gold)}
.cards>.card:nth-child(2):has(.card-ico){background:radial-gradient(circle at 96% 100%,rgba(53,160,216,.45),transparent 55%),var(--ink)}
.cards>.card:nth-child(3):has(.card-ico){background:#e3f1fa}
.cards>.card:nth-child(3):has(.card-ico) .card-body::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%230e5f9c' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M50 6v88M12 28l76 44M88 28L12 72'/%3E%3Cpath d='M50 20l-9-8M50 20l9-8M50 80l-9 8M50 80l9 8M22 34l-1-11M22 34l-11 2M78 66l1 11M78 66l11-2M78 34l1-11M78 34l11 2M22 66l-1 11M22 66l-11-2'/%3E%3C/svg%3E")}
.cards>.card:nth-child(-n+2):has(.card-ico) h3,.cards>.card:nth-child(-n+2):has(.card-ico) h3 a{color:#fff}
.cards>.card:nth-child(1):has(.card-ico) p{color:#eaf6ff}
.cards>.card:nth-child(2):has(.card-ico) p{color:#dbe4ec}
.cards>.card:nth-child(3):has(.card-ico) p{color:#40505f}
.cards>.card:nth-child(1):has(.card-ico) .fairy-btn{background:var(--ink);color:#fff}
.cards>.card:nth-child(2):has(.card-ico) .fairy-btn{background:var(--gold);color:#fff}
.card:has(.card-ico):hover h3{color:inherit}
.cards>.card:nth-child(3):has(.card-ico):hover h3{color:var(--gold-text)}
.card:has(.card-ico) .card-ico{border-color:#fff}

/* Home: doorlopende nachtlucht van aftelsectie naar illustratie (geen lichte band) */
.cta{background:linear-gradient(180deg,#08182a 0%,#0c2740 55%,#0f3350 100%)}
main.home ~ .footer .footer-scene{background:linear-gradient(180deg,#0f3350 0%,#0b2840 30%,#081b2e 62%,#06111f 100%)}
.intro-photo img{object-position:center 28%}

/* Openingstijden: kalender steekt minder ver boven het blok uit */
.days{gap:44px;margin-top:22px}
.day .date-seal{top:-14px;left:22px;width:78px;height:86px}
.day-top{min-height:56px;padding-left:112px}
@media(max-width:600px){.days{gap:36px}.day .date-seal{top:-12px;left:16px;width:62px;height:70px}.day-top{padding-left:88px;min-height:46px}}

/* Borrelen: houtkleuren, skihut-sfeer */
.panel.wood-light{background:radial-gradient(circle at 92% 4%,rgba(255,214,150,.38),transparent 50%),repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 2px,transparent 2px 11px),linear-gradient(135deg,#b6723b 0%,#9a5b2c 55%,#7e4723 100%)!important;color:#fff3e0}
.panel.wood-dark{background:radial-gradient(circle at 92% 4%,rgba(255,170,90,.26),transparent 50%),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 2px,transparent 2px 11px),linear-gradient(135deg,#4d2e18 0%,#38210f 100%)!important;color:#fff3e0}
.panel.wood-light h3,.panel.wood-dark h3{color:#fff}
.panel.wood-light p,.panel.wood-dark p{color:#ffeedb}
.panel.wood-light .eyebrow{color:#ffe2bd}
.panel.wood-dark .eyebrow{color:var(--accent)}
.panel.wood-light .panel-chips span,.panel.wood-dark .panel-chips span{background:rgba(255,236,210,.17);color:#fff3e0}
.panel.wood-light .panel-chips svg{color:#ffe2bd}
.panel.wood-dark .panel-chips svg{color:var(--accent)}
.panel.wood-light .fairy-btn{background:#3a2412;color:#fff3e0}
.panel.wood-dark .fairy-btn{background:var(--accent);color:#2a1608}
.panel.wood-light::before,.panel.wood-dark::before{opacity:.2}
/* Hout + beige */
.section:has(.wood-light){background:#f5ecde}
.panel.wood-light,.panel.wood-dark{color:#f6ead6;box-shadow:0 12px 30px rgba(74,44,23,.22)}
.panel.wood-light p,.panel.wood-dark p{color:#f6ead6}
.panel.wood-light .eyebrow{color:#f3dcb8}
.panel.wood-light .panel-chips span,.panel.wood-dark .panel-chips span{background:rgba(245,232,210,.2);color:#faf0de}
.panel.wood-light .panel-chips svg{color:#f3dcb8}
.panel.wood-light .fairy-btn,.panel.wood-dark .fairy-btn{background:#f3e7d2;color:#4a2c17}
.panel.wood-light .fairy-btn:hover,.panel.wood-dark .fairy-btn:hover{background:#fff8ec}

/* Houtkleur vaker terug: warm tegenwicht naast het blauw */
:root{--wood:#9a5b2c;--wood-dark:#4d2e18;--beige:#f5ecde}
.page-hero.hero-wood{background:radial-gradient(circle at 50% 0%,rgba(255,200,130,.30),transparent 58%),linear-gradient(180deg,#3a2412 0%,#5b3719 100%)}
.page-hero.hero-wood .eyebrow,.page-hero.hero-wood .crumbs a{color:#f3dcb8}
.page-hero.hero-wood .lead{color:#f6ead6}
.section:has(.cafe){background:var(--beige)}
.cafe-visual{background:linear-gradient(rgba(58,36,18,.28),rgba(58,36,18,.74)),url('foto-wunderbar.webp') center 40%/cover no-repeat}

/* Openingstijden-tabel: iconen en om-en-om rijkleurtje */
.day-table{border-collapse:separate;border-spacing:0}
.day-table tbody tr:nth-child(odd) td{background:rgba(255,255,255,.055)}
.day-table tbody tr td:first-child{border-radius:12px 0 0 12px}
.day-table tbody tr td:last-child{border-radius:0 12px 12px 0}
.day-table tbody tr:first-child td{padding-top:9px}
.day-table td{padding:9px 20px}
.day-table .tc{display:inline-flex;align-items:center;gap:9px}
.day-table .ti{width:16px;height:16px;flex:0 0 auto;color:#85c3e3;opacity:.85}
@media(max-width:600px){
  .day-table tbody tr:nth-child(odd){background:rgba(255,255,255,.055);border-radius:14px}
  .day-table tbody tr:nth-child(odd) td{background:none}
  .day-table td:first-child{border-radius:16px}
  .day-table td{display:grid;grid-template-columns:104px 1fr;align-items:center}
  .day-table td::before{align-self:center}
  .day-table .tc{align-items:center}
}
@media(max-width:600px){
  .day-table tbody tr:nth-child(odd){background:none;border-radius:0}
  .day-table tbody tr td{background:none}
  .day-table tbody tr td:first-child{background:rgba(255,255,255,.13);border-radius:16px}
}

/* Beleven-tegels: alle drie in hout (één rustige kleur) */
.cards>.card:nth-child(n):has(.card-ico){background:radial-gradient(circle at 92% 0%,rgba(255,200,130,.28),transparent 52%),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 2px,transparent 2px 11px),linear-gradient(135deg,#5b3719,#3f2512)}
.cards>.card:nth-child(n):has(.card-ico) h3,.cards>.card:nth-child(n):has(.card-ico) h3 a{color:#fff}
.cards>.card:nth-child(n):has(.card-ico) p{color:#f6ead6}
.cards>.card:nth-child(n):has(.card-ico) .fairy-btn{background:#f3e7d2;color:#4a2c17}
.cards>.card:nth-child(n):has(.card-ico) .card-body::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M50 6v88M12 28l76 44M88 28L12 72'/%3E%3Cpath d='M50 20l-9-8M50 20l9-8M50 80l-9 8M50 80l9 8M22 34l-1-11M22 34l-11 2M78 66l1 11M78 66l11-2M78 34l1-11M78 34l11 2M22 66l-1 11M22 66l-11-2'/%3E%3C/svg%3E")}
.cards>.card:nth-child(n):has(.card-ico):hover h3{color:#fff}
/* Geen beige sectieachtergrond meer: normale wit/lichtblauw-wisseling */
.section:has(.cafe){background:#fff}
.section:has(.wood-light){background:#fff}

/* Openingstijden-tabel: strakke uitlijning */
.day-table{table-layout:fixed;width:100%}
.day-table th:nth-child(1){width:25%}.day-table th:nth-child(2){width:26%}.day-table th:nth-child(3){width:17%}.day-table th:nth-child(4){width:32%}
.day-table th,.day-table td{padding-left:16px;padding-right:12px;text-align:left;vertical-align:middle}
.day-table td{height:46px}
.day-table .tc{display:flex;align-items:center;gap:10px;min-width:0}
.day-table .ti{width:16px;height:16px;flex:0 0 16px}
.day-table .ti.ph{display:block}
.day-table td:nth-child(1) .tc>span:last-child,.day-table td:nth-child(3) .tc>span:last-child{white-space:nowrap}
.day-table td:nth-child(2) .tc>span:last-child,.day-table td:nth-child(4) .tc>span:last-child{overflow-wrap:anywhere}
@media(max-width:600px){.day-table{table-layout:auto}.day-table td{height:auto}.day-table .ti.ph{display:none}.day-table td:nth-child(1) .tc>span:last-child,.day-table td:nth-child(3) .tc>span:last-child{white-space:normal}}

.day-table td:not(:first-child) .ti{display:none}

/* ===== Compacter, overal gelijk: kopbalk en sectieruimte ===== */
@media(min-width:621px){
  .page-hero{padding:56px 0 100px}
  .page-hero h1{font-size:clamp(38px,4.4vw,60px)}
  .page-hero .lead{font-size:17px;line-height:1.5;max-width:620px}
  .page-hero .crumbs{margin-bottom:12px}
  .page-hero .magic-divider{margin:12px auto 14px}
  .page-hero-deco img{top:calc(var(--w) / var(--ar) * -.5)}
  .page-hero-deco.deco-kerstman img{--w:330px}
  .page-hero-deco.deco-helicopter img{--w:310px}
  .page-hero-deco.deco-pinguin img{--w:165px}
  .page-hero-deco.deco-boom img{--w:190px}
  .page-hero-deco.deco-boom+.section{padding-top:124px}
  .page-hero-deco.deco-pinguin+.section{padding-top:126px}
  .page-hero-deco.deco-kerstman+.section{padding-top:98px}
  .page-hero-deco.deco-helicopter+.section{padding-top:104px}
  .section{padding-top:72px;padding-bottom:72px}
}
@media(min-width:621px) and (max-width:980px){
  .page-hero{padding-bottom:116px}
  .page-hero-deco.deco-kerstman img{--w:260px}.page-hero-deco.deco-helicopter img{--w:250px}.page-hero-deco.deco-pinguin img{--w:140px}.page-hero-deco.deco-boom img{--w:165px}
}
@media(max-width:620px){.page-hero{padding:88px 0 76px}}
.day-picker{margin-bottom:22px}
.notice{margin-bottom:18px!important}
.days{margin-top:18px;gap:36px}

/* Beleven-tegels: warm drieluik (eikenhout, walnoot, beige) */
.cards>.card:nth-child(1):has(.card-ico){background:radial-gradient(circle at 92% 0%,rgba(255,214,150,.38),transparent 52%),repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 2px,transparent 2px 11px),linear-gradient(135deg,#b6723b 0%,#9a5b2c 55%,#7e4723 100%)}
.cards>.card:nth-child(3):has(.card-ico){background:radial-gradient(circle at 92% 0%,rgba(255,255,255,.7),transparent 55%),#f1e4cd}
.cards>.card:nth-child(3):has(.card-ico) h3,.cards>.card:nth-child(3):has(.card-ico) h3 a{color:#3f2512}
.cards>.card:nth-child(3):has(.card-ico) p{color:#5b3f27}
.cards>.card:nth-child(3):has(.card-ico) .fairy-btn{background:#4d2e18;color:#f6ead6}
.cards>.card:nth-child(3):has(.card-ico) .card-body::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%234a2c17' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M50 6v88M12 28l76 44M88 28L12 72'/%3E%3Cpath d='M50 20l-9-8M50 20l9-8M50 80l-9 8M50 80l9 8M22 34l-1-11M22 34l-11 2M78 66l1 11M78 66l11-2M78 34l1-11M78 34l11 2M22 66l-1 11M22 66l-11-2'/%3E%3C/svg%3E");opacity:.16}
.cards>.card:nth-child(3):has(.card-ico):hover h3{color:#3f2512}
.cards>.card:nth-child(1):has(.card-ico) .fairy-btn{background:#3a2412;color:#f6ead6}

/* Beleven-tegels: terug naar blauwtinten */
.cards>.card:nth-child(1):has(.card-ico){background:radial-gradient(circle at 96% 100%,rgba(255,255,255,.28),transparent 55%),var(--gold)}
.cards>.card:nth-child(2):has(.card-ico){background:radial-gradient(circle at 96% 100%,rgba(53,160,216,.45),transparent 55%),var(--ink)}
.cards>.card:nth-child(3):has(.card-ico){background:#e3f1fa}
.cards>.card:nth-child(-n+2):has(.card-ico) h3,.cards>.card:nth-child(-n+2):has(.card-ico) h3 a{color:#fff}
.cards>.card:nth-child(3):has(.card-ico) h3,.cards>.card:nth-child(3):has(.card-ico) h3 a{color:var(--ink)}
.cards>.card:nth-child(1):has(.card-ico) p{color:#eaf6ff}
.cards>.card:nth-child(2):has(.card-ico) p{color:#dbe4ec}
.cards>.card:nth-child(3):has(.card-ico) p{color:#40505f}
.cards>.card:nth-child(1):has(.card-ico) .fairy-btn{background:var(--ink);color:#fff}
.cards>.card:nth-child(2):has(.card-ico) .fairy-btn{background:var(--gold);color:#fff}
.cards>.card:nth-child(3):has(.card-ico) .fairy-btn{background:var(--gold);color:#fff}
.cards>.card:nth-child(-n+2):has(.card-ico) .card-body::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M50 6v88M12 28l76 44M88 28L12 72'/%3E%3Cpath d='M50 20l-9-8M50 20l9-8M50 80l-9 8M50 80l9 8M22 34l-1-11M22 34l-11 2M78 66l1 11M78 66l11-2M78 34l1-11M78 34l11 2M22 66l-1 11M22 66l-11-2'/%3E%3C/svg%3E");opacity:.2}
.cards>.card:nth-child(3):has(.card-ico) .card-body::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%230e5f9c' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M50 6v88M12 28l76 44M88 28L12 72'/%3E%3Cpath d='M50 20l-9-8M50 20l9-8M50 80l-9 8M50 80l9 8M22 34l-1-11M22 34l-11 2M78 66l1 11M78 66l11-2M78 34l1-11M78 34l11 2M22 66l-1 11M22 66l-11-2'/%3E%3C/svg%3E");opacity:.2}
.cards>.card:nth-child(1):has(.card-ico):hover h3,.cards>.card:nth-child(2):has(.card-ico):hover h3{color:#fff}
.cards>.card:nth-child(3):has(.card-ico):hover h3{color:var(--gold-text)}

/* ===== Kleurfamilies per pagina (naast het basisblauw) ===== */
/* hero blijft blauw: alleen details krijgen de paginakleur */

/* ===== Passe-partout: stappen en afdrukbaar kaartje ===== */
.pp-stappen{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.pp-stap{position:relative;padding:22px 22px 24px;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(28,58,99,.1);border:1px solid #e1edf5}
.pp-stap .num{display:grid;place-items:center;width:40px;height:40px;margin-bottom:12px;border-radius:50%;background:var(--gold);color:#fff;font:700 18px var(--display)}
.pp-stap h3{margin:0 0 8px;font-size:20px}
.pp-stap p{margin:0;font-size:15.5px;line-height:1.6}
.pp-print{display:none}
.pp-kaart{width:148mm;min-height:210mm;padding:12mm;background:#fff;color:#0a1d33;font-family:'Be Vietnam Pro',system-ui,sans-serif}
.pp-kaart-kop{display:flex;align-items:center;gap:12px;border-bottom:3px solid #35a0d8;padding-bottom:8mm;margin-bottom:8mm}
.pp-kaart-kop img{width:30mm;height:auto}
.pp-kaart-kop b{display:block;font-size:22pt;line-height:1.1}
.pp-kaart-kop span{display:block;margin-top:2mm;font-size:10pt;color:#4b5d70}
.pp-kaart-rij{display:grid;grid-template-columns:1fr 46mm;gap:8mm;align-items:start}
.pp-kaart ol{margin:0;padding-left:6mm;display:grid;gap:5mm;font-size:12pt;line-height:1.4}
.pp-qr{width:46mm;height:46mm}.pp-qr svg{width:100%;height:100%}
.pp-kaart-voet{margin:12mm 0 0;font-size:10pt;color:#4b5d70;border-top:1px solid #dcebf5;padding-top:5mm}
@media print{
  @page{size:A5;margin:0}
  body *{visibility:hidden}
  .pp-print,.pp-print *{visibility:visible}
  .pp-print{display:block;position:absolute;left:0;top:0}
  .pp-kaart{box-shadow:none}
}

/* ===== Mascotte ===== */
.mascot-blok{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;margin:0 0 34px;padding:26px 30px;border-radius:30px;background:linear-gradient(135deg,#e3f1fa 0%,#fff 70%);border:1px solid #cfe3f0;box-shadow:0 12px 30px rgba(28,58,99,.1)}
.mascot-foto{width:150px;height:150px;border-radius:50%;object-fit:cover;background:#fff;border:6px solid #fff;box-shadow:0 8px 22px rgba(28,58,99,.18)}
.mascot-icoon{display:grid;place-items:center;background:var(--gold);color:#fff}.mascot-icoon svg{width:64%;height:64%}
.mascot-tekst h2{margin:2px 0 10px}.mascot-tekst p{margin:0 0 14px;line-height:1.6}
.mascot-lijst{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.mascot-lijst li{display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:999px;background:#fff;border:1px solid #cfe3f0}
.mascot-dag{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;line-height:1}.mascot-dag b{font-size:17px}.mascot-dag small{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em}
.mascot-info{display:grid;gap:1px;font-size:14px}.mascot-info span{color:#4b5d70}
.mascot-leeg{margin:0 0 14px!important}
.mascot-noot{font-size:13.5px;color:#4b5d70}
@media(max-width:700px){.mascot-blok{grid-template-columns:1fr;justify-items:center;text-align:center;padding:22px 18px}.mascot-foto{width:112px;height:112px}.mascot-lijst{justify-content:center}.mascot-lijst li{text-align:left}}

/* ===== Dynamische fotoalbums ===== */
.nieuwe-albums{margin:0 0 46px}
.fa-leeg{margin:0 0 24px;padding:18px 20px;border-radius:18px;background:#eaf6ff;color:#1c3a63}
.fa-credits{margin:18px 0 0;font-size:14px;color:#4b5d70}

/* ===== Onderste navigatie (mobiel): huidige pagina subtiel uitgelicht, Tickets is een gewone actie ===== */
.mobile-bottom-nav .ticket-tab::before{display:none}
.mobile-bottom-nav .ticket-tab{color:var(--accent)}
.mobile-bottom-nav a,.mobile-bottom-nav button{position:relative}
.mobile-bottom-nav .active{color:var(--meta)}
.mobile-bottom-nav [data-here]{color:var(--ink);background:linear-gradient(180deg,rgba(53,160,216,.13),rgba(53,160,216,0) 80%)}
.mobile-bottom-nav [data-here]::after{content:"";position:absolute;top:0;left:26%;right:26%;height:3px;border-radius:0 0 4px 4px;background:var(--gold)}
.mobile-bottom-nav [data-here] svg{stroke-width:2}
.mobile-bottom-nav .ticket-tab[data-here]{color:var(--accent)}

/* ===== Programma op mobiel: foto zweeft in de kaart, datum zit op de foto (niets meer tegen de rand) ===== */
@media(max-width:620px){
  .cards[data-filter-target] .card{padding:10px;gap:14px;align-items:center}
  .cards[data-filter-target] .card-visual{width:96px;flex:0 0 96px;height:96px;border-radius:16px;margin:0}
  .cards[data-filter-target] .card-visual img{border-radius:16px}
  .cards[data-filter-target] .date-seal{top:18px;left:18px;border-radius:10px;padding:5px 9px;box-shadow:0 3px 8px rgba(6,17,31,.22)}
  .cards[data-filter-target] .card-body{padding:2px 4px 2px 0}
}

/* ── Aanpassingen 24-10-2026 (Pieter): kaartverkoop, compacte homepage, rustige footer ───────── */
/* Kaartverkoopbalk bovenaan elke pagina (vervangt de datumbalk) */
/* Rustig en donker zoals de oude datumbalk; de hele balk is de link naar de kaartverkoop */
:root{--tb:34px}
.topbar.kv-bar{height:var(--tb);background:var(--ink);color:#f2e7cf;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.header{top:var(--tb)}
.kv-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;height:100%;font-family:var(--nav);font-weight:700;white-space:nowrap}
.kv-tekst{overflow:hidden;text-overflow:ellipsis}.kv-tekst b{color:var(--accent);margin-right:8px}
.kv-klok{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#fff}
.kv-klok::before{content:"Nog ";color:#f2e7cf}
.kv-link{color:var(--accent);transition:color .2s}
.kv-link::after{content:"";position:absolute;inset:0}
.kv-bar:hover .kv-link{color:#fff}
.kv-kort{display:none}
.kv-d{display:none}
[data-kv-voor][hidden],[data-kv-na][hidden]{display:none!important}
@media(max-width:1180px){
  .kv-inner{justify-content:center;gap:14px}
  .kv-lang{display:none}.kv-kort{display:inline}
  .kv-link .kv-kort{display:none}
  .kv-link{font-size:0}.kv-link span[aria-hidden]{font-size:12px}
}
@media(max-width:620px){
  :root{--tb:32px}
  .topbar.kv-bar{font-size:10.5px;letter-spacing:.06em}
  .kv-inner{gap:10px}
  .kv-tekst b{margin-right:5px}
  .kv-klok::before{content:none}
  .kv-tekst{flex-shrink:0}
  .kv-bar .kv-d{display:inline}.kv-bar .kv-dagen{display:none}
  /* oude datumbalk-regel verborg het laatste stuk tekst */
  .topbar.kv-bar .shell .kv-tekst .kv-kort,.topbar.kv-bar .shell .kv-link span[aria-hidden]{display:inline}
}
/* Uitklapmenu op tablet begint direct onder de header (balk + navigatie) */
@media(min-width:621px) and (max-width:1180px){.mobile-menu{top:calc(var(--tb) + 66px);height:calc(100dvh - var(--tb) - 66px)}}
/* Kaartverkoopblok op de homepage, direct onder de hero */
.kv-blok{position:relative;z-index:5;padding:56px 0 8px}
.kv-kaart{display:grid;grid-template-columns:1.25fr auto auto;gap:22px 40px;align-items:center;background:var(--ink);color:#fff;border-radius:var(--radius);padding:34px 40px;box-shadow:0 18px 40px rgba(10,29,51,.18)}
.kv-kop .eyebrow{color:var(--accent)}
.kv-kop h2{color:#fff;font-size:clamp(26px,3vw,36px);line-height:1.1;margin:6px 0 8px}
.kv-kop p{margin:0;color:#c9d6e3;font-size:15px}
.kv-groot{display:flex;gap:10px}
.kv-groot div{min-width:74px;padding:12px 8px 10px;border-radius:14px;background:rgba(255,255,255,.08);text-align:center}
.kv-groot b{display:block;font-family:var(--display);font-size:38px;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.kv-groot small{display:block;margin-top:6px;font-family:var(--nav);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold2)}
.kv-actie .fairy-btn{background:var(--accent);color:var(--night)}
@media(max-width:980px){.kv-kaart{grid-template-columns:1fr;padding:28px 24px;text-align:center}.kv-groot{justify-content:center}}
@media(max-width:620px){.kv-blok{padding:36px 0 0}.kv-groot div{min-width:0;flex:1}.kv-groot b{font-size:30px}}

/* Drie manieren om te genieten: compact, zonder sectiekop en zonder foto */
.beleven-compact{padding:28px 0 8px}
.beleven-compact .cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:14px}
.beleven-compact .card{display:block;min-height:0}
.beleven-compact .card-visual,.beleven-compact .badge,.beleven-compact .card-ico,.beleven-compact .card-body .fairy-btn{display:none}
.beleven-compact .card-body{padding:16px 20px}
.beleven-compact .card-body h3{font-size:20px;margin:0 0 4px}
.beleven-compact .card-body p{margin:0;font-size:13.5px;line-height:1.45}
@media(max-width:980px){.beleven-compact .cards{display:grid!important;grid-template-columns:1fr;grid-auto-flow:row;gap:10px;overflow:visible!important;padding:0!important;margin:0!important;scroll-snap-type:none!important}.beleven-compact .card{width:auto!important;min-width:0!important;max-width:none!important;flex:none!important}.beleven-compact .card-body{padding:12px 16px}}

/* Schaatssectie: de ijsbaan staat nu in de intro, hier een schaatsfoto */
.feature-img{background-image:url('tile-schaatsen.webp');background-position:center 35%}

/* Rustige footer (donker): sponsors bovenaan en groot, geen kaders om logo's, geen bewegende strip */
.footer .sponsor-strip{padding:6px 0 34px}
.footer .sponsor-strip-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.footer .sponsor-strip-head h4{margin:0;font-size:12px}
.footer .sponsor-strip-head a{display:inline;font-size:13px;margin:0}
.footer .sponsor-primary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;margin:22px 0 26px}
.footer .sponsor-primary .sponsor-logo{width:230px;height:60px;background:none;border-radius:0}
.footer .sponsor-secondary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 30px}
.footer .sponsor-secondary .sponsor-logo{width:120px;height:36px}
.footer .sponsor-logo:hover{transform:none}
.footer a:hover{transform:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.footer .footer-social a:hover{text-decoration:none}
.footer .newsletter{display:flex;align-items:center;justify-content:space-between;gap:24px;background:none;padding:22px 0;margin:6px 0 30px;border-top:1px solid rgba(141,163,184,.14);border-bottom:1px solid rgba(141,163,184,.14)}
.footer .newsletter p{margin:0;font-size:14px;color:#93a6b9}.footer .newsletter p b{color:#fff;margin-right:8px;font-family:var(--nav)}
@media(max-width:620px){.footer .newsletter{flex-direction:column;align-items:stretch}.footer .sponsor-primary,.footer .sponsor-secondary{justify-content:center;gap:16px 24px}.footer .sponsor-primary .sponsor-logo{width:140px;height:44px}.footer .sponsor-secondary .sponsor-logo{width:96px;height:30px}}
/* Nieuwsbrief: melding onder het formulier */
.newsletter-form .nb-melding{grid-column:1/-1;margin:4px 0 0;font-size:13px;color:#c9d6e3;max-width:420px}
.newsletter-form.fout .nb-melding{color:#ffb38a}


/* ── Tablet (24-10-2026): het volledige menu past niet tot 1180px, dan het hamburgermenu ───────── */
@media(max-width:1180px){
  .menu{display:none}
  .mobile-toggle{display:block}
  .mobile-menu{display:block}
}
/* Kaartverkoopblok op tablet liggend: titel over de hele breedte, klok en knop eronder */
@media(min-width:981px) and (max-width:1180px){
  .kv-kaart{grid-template-columns:1fr auto;gap:22px 32px}
  .kv-kop{grid-column:1/-1}
  .kv-actie{justify-self:end}
}
/* Ticketpagina: aftelklok los van de tekst erboven */
.page-hero .countdown-hero{margin-top:26px}
.page-hero .countdown-hero+.actions{justify-content:center;margin-top:18px}

/* Sponsor zonder logo: naam rustig in de kaart */
.logo-naam{padding:0 10px;font-weight:700;font-size:.82rem;line-height:1.2;text-align:center;color:#232c54;overflow-wrap:anywhere}

/* Programma volgt: duidelijke kaart in plaats van een kleine melding */
.volgt-kaart{background:var(--ink);color:#fff;border-radius:var(--radius);padding:44px 48px;text-align:center;box-shadow:0 18px 40px rgba(10,29,51,.18)}
.volgt-kaart .eyebrow{color:var(--accent)}
.volgt-kaart h2{color:#fff;font-size:clamp(26px,3.4vw,40px);line-height:1.1;margin:8px auto 12px;max-width:640px}
.volgt-kaart p{color:#c9d6e3;font-size:16px;max-width:620px;margin:0 auto}
.volgt-acties{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
.volgt-kaart .fairy-btn{background:var(--accent);color:var(--night)}
.volgt-kaart .fairy-btn.outline{background:rgba(255,255,255,.14);color:#fff}
.volgt-kaart .fairy-btn.outline:hover{background:rgba(255,255,255,.22)}
#nieuwsbrief{scroll-margin-top:130px}
@media(max-width:620px){.volgt-kaart{padding:30px 22px}.volgt-acties .fairy-btn{width:100%}}

/* Mobiel: meer ruimte tot de zijkant (Pieter 24-10-2026: tekst nooit bijna tegen de rand) */
@media(max-width:620px){
  .shell{width:min(100% - 40px,1180px)}
  .chips-bar{margin:0 -20px;padding:12px 20px 6px}
  .panel{padding:32px 24px}
}
/* Grids nooit breder dan het scherm door hun inhoud */
.duo>*,.album-grid>*,.counters>*{min-width:0}
.notice .text-link,.notice a{overflow-wrap:anywhere}
.panel h3{overflow-wrap:break-word;hyphens:auto}

/* Herovideo: meteen een stilstaand beeld, de video vloeit erover zodra hij speelt (Vimeo laadt traag) */
.hero-video{background:var(--ink)}
.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video iframe{opacity:0;transition:opacity .8s ease}
.hero-video.speelt iframe{opacity:1}

/* Hero: bomen houden hun plek, de knoppen liggen erboven (Pieter 24-10-2026) */
.hero-content{z-index:5}

/* Pakkettentabel op de telefoon: smalle vaste eerste kolom, compacte pakketten die vastklikken bij swipen */
.swipe-hint{display:none}
@media(max-width:620px){
  .table-wrap{scroll-snap-type:x proximity;scroll-padding-left:116px}
  .compare{min-width:0;width:max-content;font-size:12.5px}
  .compare th,.compare td{padding:11px 8px}
  .compare th:first-child,.compare td:first-child{min-width:0;width:116px;max-width:116px;white-space:normal;line-height:1.3;padding:11px 10px;font-size:12px;box-shadow:6px 0 8px -6px rgba(13,35,64,.22)}
  .compare th:not(:first-child),.compare td:not(:first-child){min-width:76px;scroll-snap-align:start}
  .compare thead b{font-size:16px}
  .compare .new{display:block;width:max-content;margin:4px 0 0}
  .swipe-hint{display:block;margin:10px 0 0;text-align:right;font-family:var(--nav);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
}

/* Logo op mobiel: iets lager onder de kaartverkoopbalk en een tikje groter (Pieter 24-10-2026) */
@media(max-width:620px){
  .brand img{height:94px;max-height:94px;margin-top:10px}
}

/* Footer: hoofdsponsoren staan stil; Diamant en Platina elk één rij die doorloopt (Pieter 24-10-2026) */
.footer .sponsor-primary{justify-content:center;gap:24px 80px}
.footer .sponsor-primary .sponsor-logo{width:200px}
.footer .sponsor-secondary{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:0;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.footer .sponsor-secondary-track,.footer .sponsor-secondary-track[aria-hidden]{display:flex;flex:0 0 auto;align-items:center;gap:44px;padding-right:44px;animation:footer-logos 45s linear infinite}
.footer .sponsor-secondary .sponsor-logo{width:120px;height:36px;flex:0 0 auto}
.footer .sponsor-platina{margin-top:22px}
.footer .sponsor-platina .sponsor-secondary-track{animation-duration:60s}
.footer .sponsor-platina .sponsor-logo{width:104px;height:30px}
.footer .sponsor-secondary:hover .sponsor-secondary-track{animation-play-state:paused}
@media(max-width:620px){
  .footer .sponsor-primary{flex-wrap:nowrap;justify-content:space-between;gap:14px}
  .footer .sponsor-primary .sponsor-logo{width:auto;flex:1 1 0;height:40px}
  .footer .sponsor-secondary-track,.footer .sponsor-secondary-track[aria-hidden]{gap:28px;padding-right:28px;animation-duration:32s}
  .footer .sponsor-platina .sponsor-secondary-track{animation-duration:44s}
  .footer .sponsor-secondary .sponsor-logo{width:92px;height:30px}
  .footer .sponsor-platina{margin-top:18px}
}
@keyframes footer-logos{to{transform:translateX(-100%)}}
@media(prefers-reduced-motion:reduce){.footer .sponsor-secondary-track{animation:none}}
