/* ==========================================================================
   KERS MET KIDS — "De groëte confetti kedoo sjow"
   Derived from the Kers Met Kids posters: winter night blue, snowy pines,
   a tree of presents (red / blue / gold), golden music notes, confetti.
   Playful for kids, clear for parents.
   ========================================================================== */
.p-kersmetkids{
  --night:#0f1630; --night2:#18214a; --night3:#232d63; --dusk:#2a1f3d;
  --red:#d6392b; --red2:#a8231a; --blue:#2f5fb3; --blue2:#1d3f82; --green:#1f6a4f; --green2:#12452f;
  --goldk:#f4c95d; --snow:#fffaf0; --cream:#fff6e6; --kt:#231a33;
  background:var(--cream)}
.p-kersmetkids main{color:var(--kt);padding-top:76px}
@media (max-width:640px){.p-kersmetkids main{padding-top:66px}}

/* ---------------------------------------------------------------- Header with string of lights */
.hdr--kersmetkids{background:var(--night);color:var(--snow)}
.hdr--kersmetkids::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px;pointer-events:none;
  background:
   radial-gradient(circle at 50% 70%,#f4c95d 0 4px,transparent 5px) 0 0/64px 16px repeat-x,
   radial-gradient(circle at 50% 70%,#e0463a 0 4px,transparent 5px) 16px 0/64px 16px repeat-x,
   radial-gradient(circle at 50% 70%,#4f8ae8 0 4px,transparent 5px) 32px 0/64px 16px repeat-x,
   radial-gradient(circle at 50% 70%,#3fbf7f 0 4px,transparent 5px) 48px 0/64px 16px repeat-x,
   linear-gradient(var(--night),var(--night)) 0 0/100% 5px no-repeat;
  filter:drop-shadow(0 0 4px rgba(255,210,120,.7));animation:kmk-twinkle 2.4s steps(2) infinite}
@keyframes kmk-twinkle{50%{filter:drop-shadow(0 0 1px rgba(255,210,120,.3)) brightness(.8)}}
.hdr--kersmetkids .hdr__brand span{background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.hdr--kersmetkids .hdr__tickets{background:var(--red);color:#fff;border-radius:14px;box-shadow:0 4px 0 var(--red2);position:relative}
.hdr--kersmetkids .hdr__tickets:hover{transform:translateY(-2px) rotate(-2deg);box-shadow:0 6px 0 var(--red2)}
.hdr--kersmetkids .switch__panel{background:#fffaf0;border-color:#f0d99a;border-radius:16px}
.hdr--kersmetkids .switch__panel a{color:var(--kt)}
.hdr--kersmetkids .switch__sub{color:rgba(35,26,51,.6)}
.hdr--kersmetkids .switch__panel a:hover,.hdr--kersmetkids .switch__panel a[aria-current]{background:#fdeec4;border-left-color:var(--red)}
.hdr--kersmetkids .switch__panel .switch__home{color:var(--red)}
.menu--kersmetkids{background:radial-gradient(120% 70% at 50% 0%,#2f3c86 0%,#18214a 50%,#0b1024 100%)}
.tbar--kersmetkids{background:var(--night);border-radius:20px;box-shadow:0 10px 30px -8px rgba(15,22,48,.6);color:var(--snow);border:2px solid var(--goldk)}
.tbar--kersmetkids .tbar__dates b{color:var(--goldk)}
.tbar--kersmetkids .tbar__btn{background:var(--red);color:#fff;border-radius:14px;box-shadow:0 3px 0 var(--red2)}

/* ---------------------------------------------------------------- Buttons: candy-like, pressable */
.p-kersmetkids .tbtn,.kbtn2{border-radius:18px;font:800 .92rem/1 var(--f-label);letter-spacing:.08em;text-transform:uppercase}
.p-kersmetkids .tbtn--buy,.kbtn2{display:inline-flex;align-items:center;gap:.6em;min-height:54px;padding:17px 26px 14px;text-decoration:none;color:#fff;
  background:linear-gradient(180deg,#ef5a44,var(--red) 55%,#b92a1e);box-shadow:0 6px 0 var(--red2),0 16px 26px -12px rgba(168,35,26,.8),inset 0 2px 0 rgba(255,255,255,.35);transition:transform .2s cubic-bezier(.3,1.6,.5,1),box-shadow .2s}
.p-kersmetkids .tbtn--buy::before{display:none}
.p-kersmetkids .tbtn--buy:hover,.kbtn2:hover{transform:translateY(-4px) rotate(-1.5deg) scale(1.03);box-shadow:0 10px 0 var(--red2),0 20px 30px -12px rgba(168,35,26,.8),inset 0 2px 0 rgba(255,255,255,.35)}
.p-kersmetkids .tbtn--buy:active,.kbtn2:active{transform:translateY(4px);box-shadow:0 2px 0 var(--red2)}
.kbtn2--blue{background:linear-gradient(180deg,#5b8ae0,var(--blue) 55%,#244d98);box-shadow:0 6px 0 var(--blue2),0 16px 26px -12px rgba(29,63,130,.8),inset 0 2px 0 rgba(255,255,255,.35)}
.kbtn2--blue:hover{box-shadow:0 10px 0 var(--blue2),0 20px 30px -12px rgba(29,63,130,.8),inset 0 2px 0 rgba(255,255,255,.35)}
.kbtn2--gold{color:#3a2408;background:linear-gradient(180deg,#ffe49a,var(--goldk) 55%,#d9a53a);box-shadow:0 6px 0 #a87a22,0 16px 26px -12px rgba(168,122,34,.8),inset 0 2px 0 rgba(255,255,255,.5)}
.kbtn2--gold:hover{box-shadow:0 10px 0 #a87a22,0 20px 30px -12px rgba(168,122,34,.8),inset 0 2px 0 rgba(255,255,255,.5)}
.p-kersmetkids .tbtn--off{min-height:54px;padding:17px 22px 14px;color:var(--red);background:#fff;border:3px dashed var(--red);box-shadow:none}
.p-kersmetkids .tbtn--sold-out{color:#7a6a6a;border-color:#b9a9a9;text-decoration:line-through}

/* ---------------------------------------------------------------- HERO */
.mh{position:relative;overflow:hidden;isolation:isolate;color:var(--snow);padding:clamp(56px,7vw,100px) 0 clamp(110px,12vw,170px);
  background:radial-gradient(55% 60% at 72% 42%,rgba(255,196,90,.30),transparent 70%),radial-gradient(40% 40% at 15% 15%,rgba(79,138,232,.25),transparent 70%),linear-gradient(180deg,#0b1024 0%,var(--night2) 55%,var(--dusk) 100%)}
.mh canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.mh__trees{position:absolute;bottom:0;width:clamp(180px,26vw,420px);z-index:-2;pointer-events:none;opacity:.95}
.mh__trees img{width:100%;height:auto}
.mh__trees--l{left:0;-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent)}
.mh__trees--r{right:0;-webkit-mask-image:linear-gradient(270deg,#000 55%,transparent);mask-image:linear-gradient(270deg,#000 55%,transparent)}
.mh::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:64px;z-index:1;
  background:radial-gradient(ellipse 60px 34px at 30px 64px,var(--cream) 98%,transparent 100%) 0 0/60px 64px repeat-x,linear-gradient(transparent 60%,var(--cream) 60%)}
.mh__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,80px);align-items:center}
.mh__by{display:block;font-size:clamp(1.7rem,3vw,2.6rem);color:var(--goldk);text-shadow:0 0 18px rgba(244,201,93,.4)}
.mh h1{font-weight:800;text-transform:uppercase;line-height:.9;font-size:clamp(3rem,7.4vw,6.6rem);letter-spacing:.01em;filter:drop-shadow(0 4px 0 rgba(0,0,0,.35)) drop-shadow(0 0 28px rgba(255,210,120,.35))}
.mh h1 .w{display:inline-block;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent;animation:kmk-hop 3.6s ease-in-out infinite}
.mh h1 .w:nth-child(2){animation-delay:.25s}.mh h1 .w:nth-child(3){animation-delay:.5s}
@keyframes kmk-hop{0%,70%,100%{transform:none}78%{transform:translateY(-10px) rotate(-3deg)}86%{transform:translateY(0) rotate(1deg)}}
.mh__show{display:block;margin:.12em 0 0;font-size:clamp(2.6rem,6vw,5rem);line-height:.95;color:var(--goldk);text-shadow:0 3px 0 rgba(0,0,0,.35),0 0 30px rgba(255,210,120,.5)}
.mh__tag{display:block;margin-top:14px;font:600 clamp(1rem,1.6vw,1.25rem)/1.4 var(--f-display);color:#ffe7a8}
.mh__text{margin:20px 0 0;font-size:clamp(1.02rem,1.3vw,1.15rem);max-width:540px;color:rgba(255,250,240,.9)}
.mh__facts{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 30px;padding:0;list-style:none}
.mh__facts li{display:flex;align-items:center;gap:10px;padding:10px 16px 8px 10px;border-radius:999px;font:700 .86rem/1.25 var(--f-label);letter-spacing:.02em;color:#fff;box-shadow:0 4px 0 rgba(0,0,0,.28)}
.mh__facts li:nth-child(1){background:var(--red)}.mh__facts li:nth-child(2){background:var(--blue);transform:rotate(1.5deg)}.mh__facts li:nth-child(3){background:var(--green);transform:rotate(-1.5deg)}
.mh__facts svg{flex:none;width:28px;height:28px;padding:5px;border-radius:50%;background:rgba(255,255,255,.2)}
.mh__facts .dl{display:block;white-space:nowrap}.mh__facts .dl b{color:#ffe7a8}.mh__facts .dl-sep{display:none}
.mh__btns{display:flex;flex-wrap:wrap;gap:14px}
.mh__poster{position:relative;justify-self:center;width:min(100%,460px);margin:0;padding:12px 12px 12px;background:#fff;border-radius:10px;transform:rotate(3deg);
  box-shadow:0 40px 70px -24px rgba(0,0,0,.7),0 0 0 6px rgba(244,201,93,.25);animation:kmk-bob 6s ease-in-out infinite}
.mh__poster img{width:100%;height:auto;border-radius:4px}
.mh__poster::before{content:"";position:absolute;left:50%;top:-34px;width:96px;height:64px;transform:translateX(-50%);z-index:2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 64'%3E%3Cpath d='M48 34C34 10 6 8 8 24s28 16 40 10z' fill='%23d6392b' stroke='%23a8231a' stroke-width='3'/%3E%3Cpath d='M48 34C62 10 90 8 88 24S60 40 48 34z' fill='%23d6392b' stroke='%23a8231a' stroke-width='3'/%3E%3Cpath d='M44 36l-14 26M52 36l14 26' stroke='%23d6392b' stroke-width='8' stroke-linecap='round'/%3E%3Ccircle cx='48' cy='34' r='9' fill='%23f4c95d' stroke='%23a87a22' stroke-width='3'/%3E%3C/svg%3E") center/contain no-repeat}
@keyframes kmk-bob{50%{transform:rotate(1.5deg) translateY(-10px)}}
.mh__sticker{position:absolute;right:-18px;bottom:12%;width:clamp(100px,11vw,132px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;
  background:var(--gold);color:#5a1a0c;font:900 1.25rem/1 var(--f-label);transform:rotate(-12deg);box-shadow:0 6px 0 #8f6422,0 20px 30px -10px rgba(0,0,0,.5);animation:kmk-pop 4s ease-in-out infinite}
.mh__sticker small{display:block;font:800 .66rem/1.2 var(--f-label);letter-spacing:.14em;margin-top:3px}
@keyframes kmk-pop{50%{transform:rotate(-4deg) scale(1.07)}}
/* floating golden music notes */
.notes{position:absolute;inset:0;z-index:0;pointer-events:none}
.notes svg{position:absolute;width:var(--s,34px);height:auto;fill:var(--goldk);opacity:.85;filter:drop-shadow(0 0 8px rgba(244,201,93,.7));animation:kmk-note var(--d,7s) ease-in-out infinite;animation-delay:var(--dl,0s)}
@keyframes kmk-note{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-22px) rotate(10deg)}}
@media (max-width:900px){
  .mh__grid{grid-template-columns:1fr}
  .mh__poster{width:min(76%,340px);order:-1;margin:0 auto 14px}
  .mh__sticker{right:-10px}
  .mh__trees{opacity:.45}
}

/* ---------------------------------------------------------------- Section scaffolding */
.ms{position:relative;padding:clamp(76px,10vw,130px) 0}
.ms__eyebrow{display:inline-block;margin-bottom:16px;padding:8px 14px 6px;border-radius:999px;background:var(--red);color:#fff;transform:rotate(-2deg);box-shadow:0 3px 0 var(--red2)}
.ms__h{font-size:clamp(2.3rem,5vw,4rem);font-weight:900;color:var(--night)}
.ms__h em{font-style:normal;color:var(--red)}
.ms__lead{font-size:clamp(1.05rem,1.4vw,1.2rem);max-width:640px;color:rgba(35,26,51,.8)}
/* wrapping-paper cream */
.paper{background:
  radial-gradient(circle at 20px 20px,rgba(214,57,43,.18) 0 3px,transparent 4px) 0 0/80px 80px,
  radial-gradient(circle at 60px 60px,rgba(47,95,179,.16) 0 3px,transparent 4px) 0 0/80px 80px,
  radial-gradient(circle at 60px 20px,rgba(244,201,93,.35) 0 2px,transparent 3px) 0 0/80px 80px,
  var(--cream)}

/* ---------------------------------------------------------------- Speeldata: gift boxes */
.m-dates__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:40px 30px;margin-top:56px}
.perf--kersmetkids{--box:var(--red);--box2:var(--red2);position:relative;display:grid;grid-template-columns:140px 1fr;grid-template-rows:auto auto 1fr;border-radius:20px;color:#fff;
  background:linear-gradient(90deg,transparent 116px,#f4c95d 116px,#f4c95d 140px,transparent 140px),linear-gradient(180deg,rgba(255,255,255,.12),rgba(0,0,0,.12)),var(--box);
  box-shadow:0 8px 0 var(--box2),0 26px 40px -20px rgba(15,22,48,.6);transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.perf--kersmetkids:nth-child(even){--box:var(--blue);--box2:var(--blue2)}
.perf--kersmetkids:nth-child(odd){transform:rotate(-1.2deg)}.perf--kersmetkids:nth-child(even){transform:rotate(1.2deg)}
.perf--kersmetkids:hover{transform:rotate(0) translateY(-6px)}
.perf--kersmetkids::before{content:"";position:absolute;left:84px;top:-38px;width:88px;height:58px;z-index:2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 64'%3E%3Cpath d='M48 38C34 12 6 10 8 26s28 16 40 12z' fill='%23f4c95d' stroke='%23a87a22' stroke-width='3'/%3E%3Cpath d='M48 38C62 12 90 10 88 26S60 42 48 38z' fill='%23f4c95d' stroke='%23a87a22' stroke-width='3'/%3E%3Ccircle cx='48' cy='38' r='9' fill='%23ffe49a' stroke='%23a87a22' stroke-width='3'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.perf--kersmetkids:hover::before{transform:rotate(-8deg) scale(1.08)}
.perf--kersmetkids .perf__date{grid-row:1/4;grid-column:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 30px 26px 6px}
.perf--kersmetkids .perf__day{font:900 4.6rem/.85 var(--f-display);color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.25)}
.perf--kersmetkids .perf__month{font:800 .8rem/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;margin-top:8px;color:#ffe7a8}
.perf--kersmetkids .perf__place{grid-column:2;padding:28px 24px 0 26px}
.perf--kersmetkids .perf__venue{display:block;font:900 2rem/1 var(--f-label);text-transform:uppercase}
.perf--kersmetkids .perf__city{display:block;margin-top:4px;font:800 .82rem/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:#ffe7a8}
.perf--kersmetkids .perf__info{grid-column:2;padding:12px 24px 0 26px}
.perf--kersmetkids .perf__meta{margin:0 0 4px;font-size:1rem}
.perf--kersmetkids .perf__note{margin:4px 0 0;font-size:.92rem;color:rgba(255,255,255,.85)}
.perf--kersmetkids .perf__badge{display:inline-block;margin:6px 0;padding:7px 12px 5px;border-radius:999px;background:#fff;color:var(--box2);font:900 .7rem/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;transform:rotate(-3deg);box-shadow:0 3px 0 rgba(0,0,0,.2)}
.perf--kersmetkids .perf__cta{grid-column:2;padding:18px 24px 26px 26px;align-self:end}
.perf--kersmetkids .tbtn--buy{color:#3a2408;background:linear-gradient(180deg,#ffe49a,#f4c95d 55%,#d9a53a);box-shadow:0 6px 0 #a87a22,inset 0 2px 0 rgba(255,255,255,.5)}
.perf--kersmetkids .tbtn--buy:hover{box-shadow:0 10px 0 #a87a22,inset 0 2px 0 rgba(255,255,255,.5)}
.perf--kersmetkids .tbtn--off{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.8)}
@media (max-width:480px){
  .perf--kersmetkids{grid-template-columns:100px 1fr;background:linear-gradient(90deg,transparent 80px,#f4c95d 80px,#f4c95d 100px,transparent 100px),linear-gradient(180deg,rgba(255,255,255,.12),rgba(0,0,0,.12)),var(--box)}
  .perf--kersmetkids::before{left:46px;width:70px;height:46px;top:-30px}
  .perf--kersmetkids .perf__date{padding:20px 24px 20px 4px}
  .perf--kersmetkids .perf__day{font-size:3.4rem}
  .perf--kersmetkids .perf__place,.perf--kersmetkids .perf__info,.perf--kersmetkids .perf__cta{padding-left:18px;padding-right:14px}
  .perf--kersmetkids .perf__venue{font-size:1.5rem}
  .perf--kersmetkids .perf__cta .tbtn{width:100%;white-space:normal;text-align:center;letter-spacing:.05em;padding-left:10px;padding-right:10px}
}

/* ---------------------------------------------------------------- Wat gaan we doen: hanging baubles */
.m-what{color:var(--snow);overflow:hidden;background:radial-gradient(50% 50% at 50% 0%,rgba(255,196,90,.18),transparent 70%),linear-gradient(180deg,#0b1024,var(--night2) 60%,var(--dusk))}
.m-what .ms__h{color:var(--snow)}.m-what .ms__h em{color:var(--goldk)}
.m-what .ms__lead{color:rgba(255,250,240,.82)}
.garland{position:absolute;left:0;right:0;top:0;height:40px;background:radial-gradient(ellipse 50% 100% at 50% 0,transparent 60%,rgba(244,201,93,.7) 61%,rgba(244,201,93,.7) 63%,transparent 64%) 0 0/160px 40px repeat-x;opacity:.8}
.m-baubles{list-style:none;margin:60px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:56px 40px}
.m-baubles li{text-align:center}
.bauble{position:relative;display:grid;place-items:center;width:128px;height:128px;margin:0 auto 22px;border-radius:50%;transform-origin:50% -46px;animation:kmk-swing 5s ease-in-out infinite;animation-delay:var(--dl,0s);
  background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.75) 0 7%,transparent 18%),radial-gradient(circle at 45% 40%,var(--c1),var(--c2) 72%);box-shadow:0 20px 30px -12px rgba(0,0,0,.6),inset -8px -10px 20px rgba(0,0,0,.25)}
.bauble::before{content:"";position:absolute;left:50%;top:-16px;width:26px;height:16px;transform:translateX(-50%);border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,#a87a22,#ffe49a,#a87a22)}
.bauble::after{content:"";position:absolute;left:50%;top:-46px;width:2px;height:30px;background:rgba(244,201,93,.7)}
.bauble svg{width:56px;height:56px;fill:#fff;filter:drop-shadow(0 2px 0 rgba(0,0,0,.25))}
.m-baubles li:hover .bauble{animation-duration:.9s}
@keyframes kmk-swing{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
.m-baubles h3{font:800 1.4rem/1.2 var(--f-display);margin-bottom:8px;color:#fff}
.m-baubles p{margin:0 auto;max-width:300px;color:rgba(255,250,240,.82);font-size:1rem}
@media (max-width:900px){.m-baubles{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.m-baubles{grid-template-columns:1fr;gap:44px}.bauble{width:110px;height:110px}}

/* ---------------------------------------------------------------- Poster moment */
.m-poster{position:relative;overflow:hidden;background:var(--night);padding:0}
.m-poster img{width:100%;height:auto;display:block}
@media (max-width:700px){.m-poster__cap{position:static!important;background:var(--night)!important}}
.m-poster__cap{position:absolute;left:0;right:0;bottom:0;padding:24px var(--gut);display:flex;flex-wrap:wrap;justify-content:center;gap:14px;background:linear-gradient(transparent,rgba(11,16,36,.85))}

/* ---------------------------------------------------------------- Photo split */
.m-photo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,70px);align-items:center}
.m-photo__frames{position:relative;aspect-ratio:5/4}
.m-photo__frames figure{margin:0;position:absolute;background:#fff;padding:10px 10px 38px;box-shadow:0 24px 50px -18px rgba(15,22,48,.5);border-radius:4px}
.m-photo__frames .f1{left:0;top:0;width:72%;transform:rotate(-3deg)}
.m-photo__frames .f2{right:0;bottom:0;width:50%;transform:rotate(5deg)}
.m-photo__frames figure::before{content:"";position:absolute;left:50%;top:-12px;width:70px;height:24px;transform:translateX(-50%) rotate(-3deg);background:rgba(244,201,93,.75)}
.m-photo__frames img{width:100%;aspect-ratio:4/3;object-fit:cover}
.m-photo__frames figcaption{position:absolute;left:0;right:0;bottom:6px;text-align:center;font-size:1.4rem;color:var(--red)}
@media (max-width:860px){.m-photo{grid-template-columns:1fr}.m-photo__frames{max-width:520px;width:100%;margin:0 auto 30px}}

/* ---------------------------------------------------------------- School band (pine green + snow) */
.m-school{color:var(--snow);background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.12) 0 2px,transparent 3px) 0 0/46px 46px,radial-gradient(circle at 70% 60%,rgba(255,255,255,.1) 0 2px,transparent 3px) 0 0/60px 60px,linear-gradient(135deg,var(--green),var(--green2))}
.m-school .ms__h{color:var(--snow)}
.m-school .ms__eyebrow{background:var(--goldk);color:var(--green2);box-shadow:0 3px 0 #a87a22}
.m-school__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center}
.m-school__steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:14px}
.m-school__steps li{counter-increment:s;position:relative;padding:18px 20px 16px 76px;background:rgba(255,250,240,.1);border-radius:20px;border:2px solid rgba(255,250,240,.2)}
.m-school__steps li::before{content:counter(s);position:absolute;left:18px;top:14px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--goldk);color:var(--green2);font:900 1.3rem/1 var(--f-display);box-shadow:0 3px 0 #a87a22}
.m-school__steps b{display:block;font:800 1.15rem var(--f-display)}
@media (max-width:860px){.m-school__grid{grid-template-columns:1fr}}

/* ---------------------------------------------------------------- Voor ouders */
.m-faq{max-width:860px}
.m-faq details{background:#fff;border-radius:20px;margin:0 0 14px;box-shadow:0 5px 0 #f0d99a;transition:box-shadow .3s,transform .3s}
.m-faq details[open]{box-shadow:0 5px 0 var(--blue2);transform:translateY(-2px)}
.m-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font:800 1.15rem/1.3 var(--f-display);color:var(--night)}
.m-faq summary::-webkit-details-marker{display:none}
.m-faq summary::after{content:"+";flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font:700 1.4rem/1 var(--f-sans);box-shadow:0 3px 0 var(--blue2);transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.m-faq details:nth-child(3n+2) summary::after{background:var(--red);box-shadow:0 3px 0 var(--red2)}
.m-faq details:nth-child(3n+3) summary::after{background:var(--green);box-shadow:0 3px 0 var(--green2)}
.m-faq details[open] summary::after{transform:rotate(135deg)}
.m-faq .a{padding:0 22px 20px;color:rgba(35,26,51,.85)}
.m-faq .a p:last-child{margin:0}
.m-faq a{color:var(--red)}

/* ---------------------------------------------------------------- Final CTA */
.m-final{position:relative;overflow:hidden;isolation:isolate;text-align:center;color:var(--snow);padding:clamp(90px,12vw,160px) 0 clamp(120px,14vw,190px);
  background:radial-gradient(50% 60% at 50% 40%,rgba(255,196,90,.28),transparent 70%),linear-gradient(180deg,var(--night2),#0b1024)}
.m-final canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.m-final .mh__trees{opacity:.9}
.m-final h2{font-size:clamp(2.8rem,8vw,6.4rem);font-weight:800;text-transform:uppercase;line-height:.9;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 rgba(0,0,0,.35))}
.m-final .scr{display:block;font-size:clamp(2rem,4vw,3.2rem);color:var(--goldk);margin-bottom:10px}
.m-final__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:40px}
.m-final .tbtn--off{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.7)}

/* ---------------------------------------------------------------- Subpages */
.m-sub{position:relative;overflow:hidden;isolation:isolate;padding:clamp(70px,9vw,120px) 0 clamp(100px,11vw,150px);color:var(--snow);
  background:radial-gradient(50% 70% at 80% 30%,rgba(255,196,90,.22),transparent 70%),linear-gradient(180deg,#0b1024,var(--night2))}
.m-sub::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:64px;z-index:1;background:radial-gradient(ellipse 60px 34px at 30px 64px,var(--cream) 98%,transparent 100%) 0 0/60px 64px repeat-x,linear-gradient(transparent 60%,var(--cream) 60%)}
.m-sub canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.m-sub .mh__trees{opacity:.7}
.m-sub h1{font-size:clamp(2.8rem,7vw,5.4rem);font-weight:800;text-transform:uppercase;line-height:.92;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(0,0,0,.35))}
.m-sub p{max-width:640px;margin-top:20px;font-size:1.1rem;color:rgba(255,250,240,.9)}
.m-sub .crumbs{color:rgba(255,250,240,.75)}.m-sub .crumbs a{color:var(--goldk)}
.m-prose{max-width:760px}
.m-prose h2{font:900 clamp(1.7rem,3vw,2.3rem)/1.15 var(--f-display);color:var(--night);margin:48px 0 14px}
.m-prose h2::before{content:"";display:inline-block;width:.7em;height:.7em;margin-right:.35em;border-radius:50%;vertical-align:.05em;background:radial-gradient(circle at 35% 30%,#fff9 0 15%,transparent 30%),var(--red)}
.m-prose h2:nth-of-type(2n)::before{background:radial-gradient(circle at 35% 30%,#fff9 0 15%,transparent 30%),var(--blue)}
.m-prose h2:nth-of-type(3n)::before{background:radial-gradient(circle at 35% 30%,#fff9 0 15%,transparent 30%),var(--green)}
.m-prose h2:first-child{margin-top:0}
.m-prose p,.m-prose li{color:rgba(35,26,51,.84)}
.m-prose a{color:var(--red)}
.m-venues{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.m-venue{background:#fff;border-radius:22px;padding:30px;box-shadow:0 6px 0 #f0d99a}
.m-venue h2{font:900 2.2rem/1 var(--f-label);text-transform:uppercase;color:var(--night)}
.m-venue .city{display:block;margin:6px 0 16px;font:800 .82rem var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.m-venue .vlink{display:inline-block;margin-top:14px;color:var(--blue);font:800 .82rem var(--f-label);letter-spacing:.1em;text-transform:uppercase}
.m-venue .perf--mini{border-bottom-color:#f0e2bd}
.m-venue .perf--mini .perf__meta{color:var(--kt)!important}
.m-venue .perf--mini .tbtn{min-height:44px;font-size:.7rem;padding:12px 14px 10px;border-radius:12px}
.m-venue .perf--mini .tbtn--buy{color:#fff;background:var(--red);box-shadow:0 3px 0 var(--red2)}
.m-venue .perf--mini .tbtn--off{border-width:2px;box-shadow:none}
@media (max-width:760px){.m-venues{grid-template-columns:1fr}}

/* Footer tint + compact footer ticket buttons */
.ftr--kersmetkids{background:#0b1024}
.p-kersmetkids .ftr .tbtn{min-height:38px;padding:10px 12px 8px;font-size:.66rem;letter-spacing:.1em;border-radius:8px;box-shadow:none}
.p-kersmetkids .ftr .tbtn--buy{background:var(--gold);color:#1d1000}
.p-kersmetkids .ftr .tbtn--off{border:1px dashed rgba(255,255,255,.3);background:none;color:var(--faint)}

@media (prefers-reduced-motion:reduce){.notes svg,.bauble,.mh__poster,.mh__sticker,.mh h1 .w,.hdr--kersmetkids::after{animation:none!important}}
@supports (-webkit-touch-callout:none){
  .mh h1{filter:none}
  .mh h1 .w{background:none!important;-webkit-text-fill-color:#f4c95d!important;color:#f4c95d!important;text-shadow:0 3px 0 rgba(0,0,0,.35),0 0 24px rgba(255,210,120,.35)}
}
@media (hover:none){
  .mh h1{filter:none!important}
  .mh h1 .w,.m-final h2,.m-sub h1{background:none!important;filter:none!important;-webkit-text-fill-color:#f4c95d!important;color:#f4c95d!important;text-shadow:0 3px 0 rgba(0,0,0,.35),0 0 24px rgba(255,210,120,.35)}
}

/* ==========================================================================
   v11 — Kers Met Kids conversion layout
   ========================================================================== */
.mh__kicker{display:inline-block;margin:0 0 16px;padding:8px 14px 6px;border-radius:999px;background:var(--goldk);color:#3a2408;font:800 .76rem/1.1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 3px 0 #a87a22;transform:rotate(-2deg)}
.mh__btns{margin-top:26px}
.mh__btns .kbtn2:first-child{font-size:1rem;min-height:60px;padding-left:28px;padding-right:28px}
@media (max-width:900px){
  .mh{padding-top:84px;padding-bottom:70px}
  .mh__grid{gap:18px}
  .mh__poster{order:-1;max-width:min(52vw,260px)!important;margin:0 auto!important}
  .mh__sticker{transform:scale(.7) rotate(12deg)!important;right:-34px!important;top:-18px!important}
  .mh h1{font-size:clamp(2.6rem,12.5vw,4.2rem)}
  .mh__show{font-size:clamp(2rem,9vw,3rem)}
  .mh__text{margin-top:12px}
  .mh__facts{margin-top:14px!important}
  .mh__btns .kbtn2:first-child{flex:1 1 100%;justify-content:center}
}

/* Gift-box ticket cards */
.kt__grid--kmk{margin-top:44px;gap:44px 28px}
.p-kersmetkids .tk{--box:var(--red);--box2:var(--red2);border-radius:20px;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(0,0,0,.12)),var(--box);box-shadow:0 8px 0 var(--box2),0 26px 40px -20px rgba(15,22,48,.6);transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.p-kersmetkids .tk:nth-child(even){--box:var(--blue);--box2:var(--blue2)}
.p-kersmetkids .tk:nth-child(odd){transform:rotate(-1deg)}.p-kersmetkids .tk:nth-child(even){transform:rotate(1deg)}
.p-kersmetkids .tk.is-buy:hover{transform:rotate(0) translateY(-6px)}
.p-kersmetkids .tk__date{border-right:22px solid var(--goldk);padding-right:22px;margin-right:0}
.p-kersmetkids .tk::before{content:"";position:absolute;left:calc(clamp(22px,2.6vw,34px) + 92px);top:-34px;width:84px;height:54px;z-index:2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 64'%3E%3Cpath d='M48 38C34 12 6 10 8 26s28 16 40 12z' fill='%23f4c95d' stroke='%23a87a22' stroke-width='3'/%3E%3Cpath d='M48 38C62 12 90 10 88 26S60 42 48 38z' fill='%23f4c95d' stroke='%23a87a22' stroke-width='3'/%3E%3Ccircle cx='48' cy='38' r='9' fill='%23ffe49a' stroke='%23a87a22' stroke-width='3'/%3E%3C/svg%3E") center/contain no-repeat}
.p-kersmetkids .tk__wd,.p-kersmetkids .tk__mon,.p-kersmetkids .tk__city{color:#ffe7a8}
.p-kersmetkids .tk__day{font-weight:900;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.25)}
.p-kersmetkids .tk__venue{font-weight:900}
.p-kersmetkids .tk__badge{top:-12px;border-radius:999px;background:#fff;color:var(--box2);transform:rotate(3deg);box-shadow:0 3px 0 rgba(0,0,0,.2)}
.p-kersmetkids .tk .tbtn{border-radius:999px;font-weight:800}
.p-kersmetkids .tk .tbtn--buy{color:#3a2408;background:linear-gradient(180deg,#ffe49a,#f4c95d 55%,#d9a53a);box-shadow:0 6px 0 #a87a22,inset 0 2px 0 rgba(255,255,255,.5)}
.p-kersmetkids .tk .tbtn--buy:hover{box-shadow:0 9px 0 #a87a22,inset 0 2px 0 rgba(255,255,255,.5)}
.p-kersmetkids .tk .tbtn--off{background:rgba(255,255,255,.14);color:#fff;border:2px dashed rgba(255,255,255,.75);box-shadow:none}
.p-kersmetkids .tk__via{opacity:.88}
@media (max-width:420px){.p-kersmetkids .tk__date{border-right-width:14px;padding-right:12px}.p-kersmetkids .tk::before{left:62px;width:66px;height:42px;top:-26px}}
.kt__grid--final{max-width:980px;margin:40px auto 0;text-align:left}

/* Parents: practical summary */
.m-parents__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,70px);align-items:start}
.pr--kmk{margin:0;background:#fff;border-radius:24px;padding:10px 26px;box-shadow:0 8px 0 #f0d99a,0 30px 50px -30px rgba(35,26,51,.4);color:var(--kt)}
.pr--kmk .pr__row{border-bottom:2px dashed #f1e2bd}
.pr--kmk .pr__row:last-child{border-bottom:0}
.pr--kmk dt{color:var(--red);font-weight:800}
.pr--kmk dd{font-weight:600}
@media (max-width:860px){.m-parents__grid{grid-template-columns:1fr}}
.m-poster{max-height:none}
.m-faq .faq__a{padding:0 22px 20px;color:rgba(35,26,51,.85)}
.m-faq .faq__a p:last-child{margin:0}
.m-faq .faq__a a{color:var(--blue)}
.m-more{background:var(--night);color:var(--snow)}
.m-more .ms__h{color:var(--snow)}

/* Sticky + sheet in KMK colours */
.st--kersmetkids .st__btn{background:linear-gradient(180deg,#ffe49a,#f4c95d 55%,#d9a53a);color:#3a2408;box-shadow:0 6px 0 #a87a22,0 16px 34px -8px rgba(15,22,48,.7)}
.sheet--kersmetkids .sh__panel{background:var(--cream,#fff6e6);color:#231a33}
.sheet--kersmetkids .sh__row{background:#fff;border:2px solid #f1e2bd;color:#231a33}
.sheet--kersmetkids .sh__d{color:#d6392b}
.sheet--kersmetkids .sh__go{background:#f4c95d;color:#3a2408;padding:12px 12px 10px;border-radius:999px}
.sheet--kersmetkids .is-off .sh__go{background:none;border:2px dashed #e4cf98}
@media (max-width:900px){
  .mh__poster{max-width:min(40vw,170px)!important}
  .mh__sticker{display:none!important}
  .mh{padding-top:78px}
}
@media (max-width:700px){
  .m-baubles{grid-template-columns:1fr 1fr!important;gap:26px 14px!important}
  .m-baubles li p{font-size:.9rem}
  .m-baubles .bauble{width:86px;height:86px;margin-bottom:16px}.m-baubles .bauble svg{width:40px;height:40px}
  .m-baubles li h3{font-size:1.05rem}
}
@media (max-width:900px){
  .mh__grid{position:relative;display:block}
  .mh__poster{position:absolute!important;right:var(--gut);top:6px;width:30vw;max-width:150px!important;margin:0!important;transform:rotate(4deg)}
  .mh__kicker{max-width:calc(100% - 32vw);font-size:.66rem}
  .mh h1{max-width:calc(100% - 30vw)}
  .mh h1 .w{display:inline}
}
.m-prose a.kbtn2{color:#fff;text-decoration:none}
