/* PlusBus Nuenen — "Iets om naar uit te kijken." Bitter (koppen) + Lexend (tekst). Basis 20px, 3 lettergroottes. */
@font-face{font-family:Bitter;src:url(/fonts/display.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Lexend;src:url(/fonts/tekst.woff2) format('woff2');font-weight:100 900;font-display:swap}
:root{
  --papier:#f6f1ea;--papier2:#ece3d6;--wit:#fffdf9;--inkt:#282624;--inkt2:#4d4741;--lijn:#d8cdbd;
  --oranje:#d9652c;--oranje-d:#a9471a;--oranje-l:#f6d9c6;--nacht:#1b1917;--groen:#2f6b3a;
  --kop:Bitter,Georgia,serif;--tekst:Lexend,system-ui,sans-serif;
  --r:18px;--rand:clamp(16px,4vw,56px);--max:1240px;
}
html{font-size:20px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
html[data-lettergrootte="1"]{font-size:23px}
html[data-lettergrootte="2"]{font-size:26px}
@media (max-width:700px){html{font-size:19px}html[data-lettergrootte="1"]{font-size:22px}html[data-lettergrootte="2"]{font-size:25px}}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--papier);color:var(--inkt);font:400 1rem/1.6 var(--tekst);overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:var(--oranje-d);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:var(--inkt)}
:focus-visible{outline:4px solid var(--oranje);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--kop);font-weight:800;line-height:1.08;margin:0;letter-spacing:-.01em;hyphens:manual;overflow-wrap:break-word;text-wrap:balance}
p{margin:0 0 .9em;hyphens:manual;overflow-wrap:break-word;text-wrap:pretty}
.nw{white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--inkt);color:#fff;padding:12px 18px;z-index:100;border-radius:8px}
.skip:focus{left:8px}
.boven{font:600 .85rem/1.3 var(--tekst);color:var(--oranje-d);margin:0 0 .6rem;display:flex;align-items:center;gap:.5em}
.boven::before{content:"";width:.8em;height:.8em;flex:none;background:var(--oranje);clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%)}
.intro{font-size:1.1rem;max-width:36em}
.klein{font-size:.85rem;color:var(--inkt2)}

/* Knoppen */
.knop{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:56px;padding:.7em 1.3em;border-radius:999px;
  font:600 1rem/1.2 var(--tekst);text-decoration:none;cursor:pointer;border:3px solid var(--inkt);transition:background .2s,color .2s,transform .2s}
.knop svg{flex:none}
.knop-vol{background:var(--oranje);border-color:var(--oranje);color:var(--inkt)}
.knop-vol:hover{background:var(--inkt);border-color:var(--inkt);color:#fff}
.knop-lijn{background:transparent;color:var(--inkt)}
.knop-lijn:hover{background:var(--inkt);color:#fff}
.knop-klein{min-height:48px;font-size:.9rem;padding:.5em 1em}
.hulpje{display:inline-flex;align-items:center;gap:.45em;min-height:48px;padding:.35em .8em .35em .55em;border:2px solid var(--lijn);
  background:var(--wit);color:var(--inkt);border-radius:12px;font:500 .9rem/1.2 var(--tekst);cursor:pointer}
.hulpje:hover{border-color:var(--inkt)}
.hulpje svg{color:var(--oranje-d)}
.hulpje.speelt{background:var(--inkt);color:#fff;border-color:var(--inkt)}
.hulpje.speelt svg{color:var(--oranje)}
.hulpje-klein{min-height:44px;padding:.2em .7em;font-size:.8rem}
.plusje{fill:var(--oranje);flex:none;width:.85em;height:.85em}

/* Kop */
.kop{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1rem;padding:10px var(--rand);background:color-mix(in srgb,var(--papier) 94%,transparent);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--lijn)}
.kop-logo{flex:none;display:block;padding:6px 0}
.kop-logo img{height:38px;width:auto}
.kop-nav{display:flex;gap:.3rem;margin-left:auto}
.kop-nav a{white-space:nowrap;color:var(--inkt);text-decoration:none;font-weight:500;padding:.55em .7em;border-radius:10px;font-size:.95rem}
.kop-nav a:hover{background:var(--papier2)}
.kop-rechts{display:flex;align-items:center;gap:.5rem;flex:none}
.kop-knop,.kop-menu{min-height:48px;min-width:48px;display:inline-flex;align-items:center;gap:.45em;padding:.3em .8em;border-radius:12px;border:2px solid var(--inkt);
  background:var(--wit);font:600 .9rem/1 var(--tekst);color:var(--inkt);cursor:pointer;flex-shrink:0}
.kop-knop[aria-expanded="true"],.kop-menu[aria-expanded="true"]{background:var(--inkt);color:#fff}
.aa{font-family:var(--kop);font-weight:800;font-size:.85rem}.aa b{font-size:1.25rem}
.kop-bel{display:inline-flex;align-items:center;gap:.4em;min-height:48px;padding:.3em 1em;border-radius:12px;background:var(--oranje);color:var(--inkt);
  font-weight:700;text-decoration:none;white-space:nowrap}
.kop-bel:hover{background:var(--inkt);color:#fff}
.kop-menu{display:none}
.hulppaneel{position:absolute;top:100%;right:var(--rand);width:min(560px,calc(100vw - 2*var(--rand)));background:var(--wit);border:2px solid var(--inkt);
  border-radius:var(--r);padding:1.2rem 1.3rem;box-shadow:0 18px 40px rgba(40,38,36,.18);max-height:calc(100dvh - 90px);overflow-y:auto}
.hp-groep{margin-bottom:1rem}
.hp-titel{font-weight:700;margin:0 0 .4rem}
.hp-knoppen{display:flex;flex-wrap:wrap;gap:.5rem}
.hp-knop{min-height:52px;padding:.4em .9em;border-radius:12px;border:2px solid var(--lijn);background:var(--papier);font:500 .95rem/1.1 var(--tekst);color:var(--inkt);cursor:pointer;
  display:inline-flex;align-items:baseline;gap:.35em}
.hp-knop[aria-pressed="true"]{background:var(--inkt);color:#fff;border-color:var(--inkt)}
.hp-tip{font-size:.85rem;color:var(--inkt2);margin:0}
kbd{font:600 .8rem var(--tekst);border:1px solid var(--lijn);border-bottom-width:3px;border-radius:6px;padding:.05em .4em;background:var(--papier)}
.menulade{position:absolute;top:100%;left:0;right:0;background:var(--papier);border-bottom:2px solid var(--inkt);padding:.5rem var(--rand) 1rem;display:grid;
  max-height:calc(100dvh - 70px);overflow-y:auto}
.menulade a{display:block;padding:.8em 0;font:700 1.25rem/1.2 var(--kop);color:var(--inkt);text-decoration:none;border-bottom:1px solid var(--lijn)}
@media (max-width:1320px){.kop-nav{display:none}.kop-rechts{margin-left:auto}.kop-menu{display:inline-flex}}
@media (max-width:700px){.kop{gap:.5rem;padding:8px 14px}.kop-logo img{height:30px}.kop-bel{display:none}.kk-tekst{display:none}.kop-knop{padding:.3em .55em}}

/* Onderbalk mobiel */
.onderbalk{display:none}
@media (max-width:700px){
  .onderbalk{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--inkt);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .onderbalk a{display:flex;align-items:center;justify-content:center;gap:.4em;min-height:52px;border-radius:12px;color:#fff;font-weight:700;text-decoration:none;border:2px solid #fff3}
  .onderbalk .ob-agenda{background:var(--oranje);color:var(--inkt);border-color:var(--oranje)}
  body{padding-bottom:76px}
}

/* Hero */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr);background:var(--papier)}
.hero-film{position:relative;overflow:hidden;background:#ddd5c8;aspect-ratio:4/5;max-height:46svh;width:100%}
.hero-poster,.hero-poster img,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero-video{opacity:0;transition:opacity .6s}
.hero-video.speelt{opacity:1}
.hero-opnieuw{position:absolute;right:12px;bottom:12px;min-height:44px;padding:.3em .9em;border-radius:999px;border:0;background:rgba(27,25,23,.72);color:#fff;font:500 .8rem var(--tekst);cursor:pointer}
.hero-tekst{padding:1.6rem var(--rand) 2.2rem;position:relative}
.hero-boven{font-weight:600;color:var(--oranje-d);margin-bottom:.5rem;font-size:.9rem}
.hero h1{font-size:clamp(2.3rem,10.5vw,5.4rem);line-height:.98;letter-spacing:-.02em;margin-bottom:1.1rem}
.hero-lead{font-size:1.12rem;max-width:30em}
.hero-knoppen{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;margin:1.3rem 0 1.6rem}
.hero-bel{font-weight:500;color:var(--inkt2)}
.hero-bel a{font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;min-height:48px}
.eerstvolgend{display:grid;grid-template-columns:1fr auto;gap:.15rem 1rem;align-items:end;padding:1rem 1.2rem;border-radius:var(--r);background:var(--inkt);color:#fff;text-decoration:none;max-width:34em}
.eerstvolgend:hover{background:var(--nacht);color:#fff}
.ev-label{grid-column:1/-1;font-size:.8rem;color:var(--oranje-l);font-weight:600}
.ev-wat{display:flex;flex-direction:column;line-height:1.3}
.ev-wat strong{font-family:var(--kop);font-size:1.2rem}
.ev-nog{font:800 1.05rem/1.1 var(--kop);color:var(--oranje);text-align:right}
@media (min-width:701px) and (orientation:portrait),(min-width:701px) and (max-width:1100px){
  .hero-film{aspect-ratio:auto;height:56svh;max-height:none}
}
@media (min-width:1101px),(min-width:701px) and (orientation:landscape) and (min-height:520px){
  .hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:calc(100svh - 70px)}
  .hero-film{grid-column:2;grid-row:1;width:auto;height:auto;max-height:none;aspect-ratio:auto;border-radius:var(--r);margin:clamp(14px,2vw,28px) var(--rand) clamp(14px,2vw,28px) 0}
  .hero-poster img,.hero-video{object-position:44% 50%}
  .hero-tekst{grid-column:1;grid-row:1;align-self:center;max-width:680px;padding:clamp(28px,4vw,64px) clamp(28px,4vw,72px) clamp(28px,4vw,64px) var(--rand)}
  .hero h1{font-size:clamp(2.8rem,5.2vw,5.2rem);margin-bottom:1.4rem}
  .hero-lead{font-size:1.15rem;max-width:27em}
  .hero-knoppen{margin:1.8rem 0 2rem}
}
@media (min-width:701px) and (orientation:landscape) and (max-height:700px){
  .hero-tekst{padding:20px 32px 20px var(--rand)}
  .hero h1{font-size:2.6rem;margin-bottom:.8rem}
  .hero-lead{font-size:1rem}
  .hero-knoppen{margin:1rem 0 1.2rem}
  .eerstvolgend{padding:.7rem 1rem}
}
@media (orientation:landscape) and (max-height:520px){
  .hero{grid-template-columns:42% minmax(0,1fr);align-items:stretch}
  .hero-film{aspect-ratio:auto;max-height:none;position:sticky;top:60px;height:calc(100svh - 60px);align-self:start}
  .hero-tekst{padding:1rem 20px 1.4rem}
  .hero h1{font-size:2.2rem}
  .hero-poster img,.hero-video{object-position:50% 72%}
}

/* Secties algemeen */
section{position:relative}
.sectie-kop{max-width:var(--max);margin:0 auto;padding:0 var(--rand)}
h2{font-size:clamp(2rem,6.2vw,3.6rem);margin-bottom:1rem}

/* Agenda */
.agenda{padding:clamp(56px,9vw,120px) 0 clamp(48px,7vw,96px);background:var(--papier)}
.agenda-hulp{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.agenda-lijst{max-width:var(--max);margin:2.2rem auto 0;padding:0 var(--rand);display:grid;gap:clamp(20px,3vw,32px)}
.uitje{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem 1.6rem;background:var(--wit);border:2px solid var(--inkt);border-radius:var(--r);padding:clamp(18px,3vw,34px);position:relative}
.uitje-datum{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"nr dag" "nr mnd" "nog nog";column-gap:.6rem;align-items:end;align-self:start;
  border-bottom:2px dashed var(--lijn);padding-bottom:.9rem}
.ud-nr{grid-area:nr;font:800 4.2rem/.8 var(--kop);color:var(--oranje-d);letter-spacing:-.04em}
.ud-dag{grid-area:dag;font-weight:600;line-height:1.1}
.ud-mnd{grid-area:mnd;font-weight:600;line-height:1.1;color:var(--inkt2)}
.ud-nog{grid-area:nog;margin-top:.6rem;font:800 1rem/1.2 var(--kop)}
.ud-nog:empty{display:none}
.uitje-wanneer{font-weight:600;color:var(--inkt2);margin-bottom:.35rem;font-size:.95rem}
.uitje h3{font-size:clamp(1.6rem,4.6vw,2.3rem);margin-bottom:.6rem}
.uitje-plaats{color:var(--oranje-d)}
.uitje-sub{display:block;font:500 .9rem/1.3 var(--tekst);color:var(--inkt2);margin-top:.3rem}
.uitje-kort{font-size:1.08rem}
.plussen{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1.2rem}
.plussen li{display:flex;align-items:baseline;gap:.45em;font-weight:500}
.uitje-feiten{margin:0 0 1rem;display:grid;gap:.25rem}
.uitje-feiten div{display:grid;grid-template-columns:7.2em 1fr;gap:.6rem}
.uitje-feiten dt{font-weight:700}
.uitje-feiten dd{margin:0}
@media (max-width:480px){.uitje-feiten div{grid-template-columns:1fr;gap:0}}
.uitje-status{display:flex;align-items:baseline;gap:.6em;padding:.7em .9em;border-radius:12px;background:var(--papier);font-weight:500}
.stip{width:.75em;height:.75em;border-radius:50%;flex:none;background:var(--groen);transform:translateY(.05em)}
.st-wachtlijst .stip{background:var(--oranje)}
.st-vol .stip{background:#b3261e}
.uitje-knoppen{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 .8rem}
.uitje-hulp{display:flex;flex-wrap:wrap;gap:.5rem}
.uitje-meer{margin-top:1rem;max-width:38em}
.uitje-beeld{margin:0;border-radius:12px;overflow:hidden;background:var(--papier2);align-self:start}
.uitje-beeld img{width:100%;aspect-ratio:4/3;object-fit:cover}
#uitje-anastasia .uitje-beeld img{aspect-ratio:3/4;object-position:50% 20%}
@media (max-width:700px){#uitje-anastasia .uitje-beeld img{aspect-ratio:4/3}}
.uitje.geweest{opacity:.55}
@media (min-width:701px){
  .uitje{grid-template-columns:8.5em minmax(0,1fr)}
  .uitje-datum{grid-template-columns:1fr;grid-template-areas:"dag" "nr" "mnd" "nog";border-bottom:0;border-right:2px dashed var(--lijn);padding:0 1rem 0 0;align-items:start;row-gap:.3rem}
  .ud-nr{font-size:5rem}
  .uitje-beeld{grid-column:2;max-width:420px}
  .dagroute{grid-column:1/-1}
}
@media (min-width:1101px){
  .uitje{grid-template-columns:9em minmax(0,1fr) minmax(0,.62fr)}
  .uitje-beeld{grid-column:3;grid-row:1;max-width:none}
}
/* Dagroute */
.dagroute{grid-column:1/-1;border-top:2px dashed var(--lijn);padding-top:1.2rem;margin-top:.4rem}
.dagroute h4{font-size:1.35rem;margin-bottom:1rem}
.dagroute-baan{position:relative;--stops:5;--bij:0}
.dagstops{list-style:none;margin:0;padding:0;display:grid;gap:0}
.dagstop{position:relative;padding:0 0 1.1rem 3.4rem;display:grid;line-height:1.35}
.dagstop::before{content:"";position:absolute;left:1.05rem;top:.35rem;width:.9rem;height:.9rem;border-radius:50%;background:var(--wit);border:3px solid var(--inkt);z-index:1}
.dagstop::after{content:"";position:absolute;left:1.4rem;top:.6rem;bottom:-.4rem;width:4px;background:var(--lijn)}
.dagstop:last-child::after{display:none}
.dagstop.bereikt::before{background:var(--oranje);border-color:var(--oranje)}
.dagstop-tijd{font:800 1.05rem/1.2 var(--kop);color:var(--oranje-d)}
.dagstop strong{font-family:var(--kop);font-size:1.15rem}
.dagstop-wat{color:var(--inkt2)}
.dagroute-bus{position:absolute;left:-.1rem;top:0;width:3.1rem;z-index:2;transition:top 1s cubic-bezier(.5,0,.3,1);transform:translateY(-.55rem)}
.dagroute-bus .busje{width:100%;height:auto;transform:rotate(90deg) scaleY(-1);transform-origin:50% 50%}
@media (min-width:901px){
  .dagstops{grid-template-columns:repeat(var(--stops),minmax(0,1fr));gap:0 .8rem;padding-top:5.2rem}
  .dagstop{padding:0 .4rem 0 0}
  .dagstop::before{left:0;top:-2.05rem}
  .dagstop::after{left:0;right:-.8rem;top:-1.6rem;bottom:auto;width:auto;height:4px}
  .dagstop:last-child::after{display:none}
  .dagroute-bus{top:.2rem;left:calc(var(--bij) * (100% + .8rem) / var(--stops) - .4rem);width:5.2rem;transform:none;transition:left 1.1s cubic-bezier(.5,0,.3,1)}
  .dagroute-bus .busje{transform:none}
}

.agenda-onder{max-width:var(--max);margin:2.4rem auto 0;padding:0 var(--rand);display:grid;gap:2rem}
.agenda-onder h3{font-size:1.5rem;margin-bottom:.8rem}
.agenda-onder ul{list-style:none;margin:0;padding:0}
.binnenkort{display:grid;gap:.5rem;padding:1rem 0;border-top:2px solid var(--inkt)}
.bk-wanneer{font:800 1.1rem/1 var(--kop);color:var(--oranje-d);text-transform:capitalize}
.binnenkort .knop{justify-self:start}
.agenda-geweest li{padding:.6rem 0;border-top:1px solid var(--lijn);color:var(--inkt2)}
.agenda-geweest li span{display:inline-block;min-width:11em}
.agenda-krant{max-width:var(--max);margin:2rem auto 0;padding:0 var(--rand);color:var(--inkt2)}
@media (min-width:901px){.agenda-onder{grid-template-columns:1.2fr 1fr;gap:4rem}}

/* Zo gaat het */
.zo{background:var(--inkt);color:#fff;display:grid;grid-template-columns:minmax(0,1fr);border-radius:clamp(20px,3vw,40px) clamp(20px,3vw,40px) 0 0}
.zo .boven{color:var(--oranje)}
.zo-film{position:relative;overflow:hidden;border-radius:clamp(20px,3vw,40px) clamp(20px,3vw,40px) 0 0;aspect-ratio:3/2;background:#333}
.zo-poster,.zo-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zo-video{opacity:0;transition:opacity .6s}.zo-video.speelt{opacity:1}
.zo-onderschrift{position:absolute;left:12px;bottom:10px;margin:0;font-size:.72rem;color:#fff;background:rgba(0,0,0,.5);padding:.2em .6em;border-radius:6px}
.zo-tekst{padding:clamp(36px,6vw,80px) var(--rand)}
.zo h2{color:#fff;max-width:12em}
.stappen{list-style:none;margin:1.6rem 0;padding:0;display:grid;gap:0;counter-reset:s}
.stap{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-top:1px solid #ffffff2e}
.stap-nr{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--oranje);color:var(--inkt);display:grid;place-items:center;font:800 1.3rem/1 var(--kop)}
.stap h3{font-size:1.35rem;margin:.25rem 0 .35rem}
.stap p{margin:0;color:#e9e3da}
.zo .tel{color:var(--oranje-l);font-weight:700}
.iban{font-weight:700;white-space:nowrap;letter-spacing:.02em}
.zo .hulpje{background:transparent;color:#fff;border-color:#ffffff55}
.zo .hulpje svg{color:var(--oranje)}
.zo .hulpje-klein{margin-left:.3em;vertical-align:middle}
@media (min-width:1001px){
  .zo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .zo-film{position:sticky;top:90px;aspect-ratio:auto;height:calc(100svh - 120px);margin:30px 0 30px var(--rand);border-radius:var(--r)}
  .zo-tekst{padding-left:clamp(32px,4vw,72px)}
}

/* Voor wie */
.wie{background:var(--oranje);color:var(--inkt);padding:clamp(56px,8vw,110px) var(--rand);display:grid;gap:2.5rem}
.wie .boven{color:var(--inkt)}
.wie .boven::before{background:var(--inkt)}
.wie-tekst{max-width:36em}
.wie h2{max-width:14em}
.check{background:var(--papier);border-radius:var(--r);padding:clamp(20px,3vw,36px);border:3px solid var(--inkt);align-self:start}
.check h3{font-size:1.6rem;margin-bottom:1rem}
.check fieldset{border:0;margin:0 0 1.1rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.check legend{font-weight:700;margin-bottom:.5rem;padding:0;width:100%}
.keuze{position:relative;display:inline-flex}
.keuze input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.keuze span{display:inline-flex;align-items:center;min-height:52px;padding:.4em 1em;border:2px solid var(--inkt);border-radius:12px;background:var(--wit);font-weight:500}
.keuze input:checked+span{background:var(--inkt);color:#fff}
.keuze input:focus-visible+span{outline:4px solid var(--oranje-d);outline-offset:2px}
.check-uitkomst:not(:empty){margin-top:.5rem;padding:1rem 1.1rem;border-radius:12px;background:var(--inkt);color:#fff}
.check-uitkomst p:last-child{margin:0}
.check-uitkomst a{color:var(--oranje-l)}
.check-uitkomst .knop{margin-top:.4rem}
@media (min-width:1001px){.wie{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;align-items:start;padding-left:max(var(--rand),calc((100vw - var(--max))/2 + var(--rand)));padding-right:max(var(--rand),calc((100vw - var(--max))/2 + var(--rand)))}}

/* Lichtjes */
.lichtjes{background:var(--nacht);color:#fff;min-height:88svh;display:grid;align-items:end;overflow:hidden}
.lichtjes-film,.lichtjes-film img,.lichtjes-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lichtjes-film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,25,23,.35) 0%,rgba(27,25,23,.2) 35%,rgba(27,25,23,.92) 78%)}
.lichtjes-video{opacity:0;transition:opacity 1s}.lichtjes-video.speelt{opacity:1}
.lichtjes-tekst{position:relative;max-width:var(--max);margin:0 auto;padding:clamp(56px,10vw,120px) var(--rand) clamp(48px,7vw,90px);width:100%}
.lichtjes .boven{color:var(--oranje-l)}
.lichtjes blockquote{margin:0 0 1.2rem}
.lichtjes-zin{font:800 clamp(2rem,6.4vw,4.6rem)/1.06 var(--kop);margin:0;max-width:15em;letter-spacing:-.015em}
.lw{display:inline-block;white-space:nowrap}
.lt{color:#7d736a;transition:color .5s,text-shadow .5s}
.lichtjes.aan .lt{color:#fff6dd;text-shadow:0 0 .25em rgba(255,196,110,.75),0 0 .9em rgba(255,150,60,.45)}
.lichtjes-bron{font-size:1.05rem;max-width:34em;color:#efe6da}
.lichtjes-bron span{display:block;font-size:.85rem;color:#c9bfb2;margin-top:.2rem}
.lichtjes-tweede{font:600 1.25rem/1.4 var(--kop);max-width:28em;color:#fff;margin-top:1.6rem;padding-left:1rem;border-left:4px solid var(--oranje)}

/* Waar we geweest zijn */
.geweest{padding:clamp(56px,9vw,120px) var(--rand);max-width:calc(var(--max) + 2*var(--rand));margin:0 auto}
.groot-getal{color:var(--oranje-d)}
.geweest h2{font-size:clamp(2.2rem,7vw,4.6rem)}
.geweest-raam{display:grid;gap:1.6rem;margin:2rem 0}
.geweest-foto{margin:0}
.geweest-foto img{width:100%;border-radius:var(--r);aspect-ratio:4/3;object-fit:cover}
figcaption{font-size:.85rem;color:var(--inkt2);margin-top:.5rem}
.stickers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem;align-content:center}
.sticker{background:#fff;border-radius:16px;padding:14px;aspect-ratio:1;display:grid;place-items:center;transform:rotate(var(--kantel));box-shadow:0 2px 0 var(--lijn),0 10px 20px rgba(40,38,36,.08)}
.sticker img{max-height:100%;width:auto;max-width:100%;object-fit:contain}
@media (min-width:901px){.geweest-raam{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center}.stickers{grid-template-columns:repeat(3,1fr)}}
.uitklap{border-top:2px solid var(--inkt);border-bottom:2px solid var(--inkt)}
.uitklap summary{cursor:pointer;list-style:none;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font:800 1.25rem/1.2 var(--kop);padding:.6rem 0}
.uitklap summary::-webkit-details-marker{display:none}
.uitklap summary::after{content:"+";font-size:2rem;line-height:1;color:var(--oranje-d);transition:transform .3s}
.uitklap[open] summary::after{transform:rotate(45deg)}
.tabel{width:100%;border-collapse:collapse;margin:.5rem 0 1rem}
.tabel th,.tabel td{text-align:left;padding:.55rem .6rem .55rem 0;border-bottom:1px solid var(--lijn);vertical-align:top}
.tabel th{font-size:.85rem;color:var(--inkt2)}
.tabel td:last-child,.tabel th:last-child{text-align:right;font-weight:700}
.tabel tfoot td{font-weight:800;border-bottom:0;font-family:var(--kop);font-size:1.15rem}
@media (max-width:600px){
  .tabel thead{display:none}
  .tabel tr{display:grid;grid-template-columns:1fr auto;padding:.6rem 0;border-bottom:1px solid var(--lijn)}
  .tabel td{border:0;padding:.1rem 0}
  .tabel td:first-child{grid-column:1/-1;font-size:.85rem;color:var(--inkt2)}
  .tabel td:last-child::after{content:" gasten";font-weight:400;font-size:.85rem}
  .tabel tfoot tr{border:0}
  .tabel tfoot td:last-child::after{content:""}
}

/* Over ons */
.over{background:var(--papier2);padding:clamp(56px,9vw,120px) var(--rand);display:grid;gap:2rem;border-radius:clamp(20px,3vw,40px) clamp(20px,3vw,40px) 0 0}
.over-lead{font-size:1.15rem}
.over-tekst{max-width:38em}
.over-mensen{display:grid;gap:1.2rem;margin-top:1.6rem}
.over-mensen h3{font-size:1.3rem;margin-bottom:.4rem}
.over-mensen ul{margin:0;padding-left:1.1em}
.over-foto{margin:0}
.over-foto img{border-radius:var(--r);width:100%}
.anbi{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;background:var(--wit);border-radius:var(--r);padding:clamp(20px,3vw,36px);border:2px solid var(--inkt)}
.anbi img{width:110px}
.anbi h3{font-size:1.5rem;margin-bottom:.5rem}
.anbi-gegevens{display:grid;gap:.3rem;margin:0 0 1rem}
.anbi-gegevens div{display:grid;grid-template-columns:6em 1fr;gap:.5rem}
.anbi-gegevens dt{font-weight:700}.anbi-gegevens dd{margin:0}
.docs{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:0}
.docs a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
@media (min-width:701px){.anbi{grid-template-columns:130px minmax(0,1fr)}.over-mensen{grid-template-columns:1fr 1.4fr}}
@media (min-width:1001px){
  .over{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:4rem;padding-left:max(var(--rand),calc((100vw - var(--max))/2 + var(--rand)));padding-right:max(var(--rand),calc((100vw - var(--max))/2 + var(--rand)))}
  .over-foto{align-self:start;margin-top:5rem}
  .anbi{grid-column:1/-1}
}

/* Contact */
.contact{padding:clamp(56px,9vw,110px) var(--rand);max-width:calc(var(--max) + 2*var(--rand));margin:0 auto}
.contact-rij{display:grid;gap:2rem;margin-top:1.4rem}
.contact-tel{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.4rem;border-radius:var(--r);background:var(--oranje);color:var(--inkt);text-decoration:none;align-self:start}
.contact-tel svg{width:2.4rem;height:2.4rem;flex:none}
.contact-tel span{font:800 clamp(1.7rem,5.4vw,2.8rem)/1.05 var(--kop);white-space:nowrap}
.contact-tel small{display:block;font:600 .9rem/1.3 var(--tekst);margin-bottom:.2rem}
.contact-tel:hover{background:var(--inkt);color:#fff}
.contact-rest{display:grid;gap:.6rem}
.contact-rest a{overflow-wrap:anywhere}
@media (min-width:901px){.contact-rij{grid-template-columns:auto 1fr;gap:4rem}.contact-rest{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem}}

/* Voet */
.voet{background:var(--nacht);color:#e8e1d7;padding:clamp(40px,6vw,72px) var(--rand);display:grid;gap:1.4rem}
.voet img{width:min(300px,70vw)}
.voet a{color:#fff}
.voet p{margin:0 0 .4rem}
.voet-tdg{font-size:.85rem;color:#b9afa3}
@media (min-width:901px){.voet{grid-template-columns:auto 1fr auto;align-items:end;gap:3rem}}

/* Voorleesbalk */
.leesbalk{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;background:var(--inkt);color:#fff;border-radius:16px;
  padding:.6rem .7rem .6rem 1.1rem;display:flex;align-items:center;gap:1rem;box-shadow:0 12px 30px rgba(0,0,0,.3);width:max-content;max-width:calc(100vw - 24px)}
@media (max-width:700px){.leesbalk{bottom:calc(86px + env(safe-area-inset-bottom))}}

/* Aanmelden-dialoog */
.meld{border:0;padding:0;margin:auto;width:min(680px,100vw);max-height:100dvh;border-radius:var(--r);background:var(--papier);color:var(--inkt);overflow:hidden}
.meld::backdrop{background:rgba(27,25,23,.6)}
.meld-form{display:flex;flex-direction:column;max-height:min(100dvh,900px)}
.meld-kop{padding:1.1rem 1.4rem .9rem;background:var(--wit);border-bottom:2px solid var(--lijn);position:relative}
.meld-stap{margin:0 0 .2rem;font-weight:600;color:var(--oranje-d);font-size:.9rem}
.meld-kop h2{font-size:1.9rem;margin:0 0 .7rem;padding-right:5.5em}
.meld-dicht{position:absolute;right:1rem;top:1rem;min-height:48px;padding:.3em .9em;border-radius:12px;border:2px solid var(--inkt);background:var(--wit);font:600 .9rem var(--tekst);color:var(--inkt);cursor:pointer}
.meld-balk{height:8px;border-radius:8px;background:var(--papier2);overflow:hidden}
.meld-balk span{display:block;height:100%;width:25%;background:var(--oranje);border-radius:8px;transition:width .4s}
.meld-stappen{overflow-y:auto;padding:1.3rem 1.4rem;flex:1}
.meld-pagina{border:0;margin:0;padding:0;min-width:0}
.meld-pagina legend,.legend-achtig{font:800 1.5rem/1.15 var(--kop);margin-bottom:1rem;padding:0}
.veld{display:grid;gap:.3rem;margin-bottom:1rem}
.veld>span{font-weight:600}
.veld input,.veld select,.veld textarea{font:400 1.05rem/1.3 var(--tekst);min-height:56px;padding:.6em .8em;border:2px solid var(--inkt);border-radius:12px;background:var(--wit);color:var(--inkt);width:100%}
.veld select{appearance:none;-webkit-appearance:none;background:var(--wit) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 7l6 6 6-6' fill='none' stroke='%23282624' stroke-width='2.5'/%3E%3C/svg%3E") no-repeat right .8em center/1.1em;padding-right:2.4em}
.veld textarea{min-height:110px}
.veld input[aria-invalid="true"]{border-color:#b3261e;background:#fff3f1}
.fout{color:#b3261e;font-weight:600;margin:-.6rem 0 1rem}
.vink{display:flex;align-items:flex-start;gap:.7rem;min-height:48px;margin-bottom:.9rem;cursor:pointer}
.vink input{width:28px;height:28px;flex:none;margin:.1em 0 0;accent-color:var(--inkt)}
.keuze-groot{display:flex;width:100%;margin-bottom:.6rem}
.keuze-groot span{width:100%;min-height:64px;display:block;padding:.8em 1em;line-height:1.35}
.keuzes{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.vraag{font-weight:700;margin-bottom:.5rem}
.adres{margin-top:1rem}
.adres-rij{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.adres-gevonden:not(:empty){font-weight:600;color:var(--groen);margin:-.4rem 0 .8rem}
.meld-wl{background:var(--oranje-l);padding:.7em .9em;border-radius:12px;font-weight:500}
.samenvatting{display:grid;gap:.1rem;margin:0 0 1rem;background:var(--wit);border-radius:12px;padding:.8rem 1rem;border:2px solid var(--lijn)}
.samenvatting div{display:grid;grid-template-columns:minmax(7em,auto) 1fr;gap:.8rem;padding:.4rem 0;border-bottom:1px solid var(--lijn)}
.samenvatting div:last-child{border:0}
.samenvatting dt{font-weight:700}.samenvatting dd{margin:0;overflow-wrap:anywhere}
.wat-nu{padding-left:1.3em}.wat-nu li{margin-bottom:.5rem}
.meld-voet{display:flex;justify-content:space-between;gap:.8rem;padding:.9rem 1.4rem;background:var(--wit);border-top:2px solid var(--lijn)}
.meld-voet .knop{flex:1}
.meld-demo{margin:0;padding:.5rem 1.4rem .8rem;background:var(--wit);font-size:.75rem;color:var(--inkt2)}
@media (max-width:700px){
  .meld{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .meld-form{height:100dvh;max-height:100dvh}
  .meld-kop h2{font-size:1.6rem}
  .samenvatting div{grid-template-columns:1fr;gap:0}
}

/* Inloop */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.rv.in{opacity:1;transform:none}

/* Meer contrast */
.hoogcontrast{--papier:#fff;--papier2:#f2f2f2;--wit:#fff;--inkt:#000;--inkt2:#1a1a1a;--lijn:#555;--oranje-d:#8a3200}
.hoogcontrast .lt{color:#bbb}
.hoogcontrast .lichtjes-film::after{background:rgba(0,0,0,.82)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .dagroute-bus{transition:none}
  .lt{transition:none}
}

/* Printen: alleen de agenda, groot, voor op de koelkast */
@media print{
  @page{margin:14mm}
  html{font-size:13pt}
  body{background:#fff;padding:0}
  .kop,.hero,.zo,.wie,.lichtjes,.geweest,.over,.contact,.voet,.onderbalk,.leesbalk,.agenda-hulp,.uitje-knoppen,.uitje-hulp,.uitje-beeld,.agenda-geweest,.binnenkort .knop,.meld{display:none!important}
  body.print-meld main>*:not(.meld){display:none!important}
  body.print-meld .meld{display:block!important;position:static;width:auto;max-height:none;overflow:visible}
  body.print-meld .meld-pagina.print-ja{display:block!important}
  body.print-meld .meld-voet,body.print-meld .meld-kop button,body.print-meld .meld-balk,body.print-meld .meld-demo,body.print-meld .meld-pagina:not(.print-ja){display:none!important}
  .agenda{padding:0}
  .agenda::before{content:"PlusBus Nuenen — uitjes  ·  Bel Ad Kuijken: 06 35 68 09 54";display:block;font:800 16pt Bitter,serif;margin-bottom:8mm;border-bottom:3px solid #000;padding-bottom:3mm}
  .uitje{opacity:1!important;transform:none!important;break-inside:avoid;border:2px solid #000;margin-bottom:6mm}
  .uitje-meer{display:block!important}
  .dagroute{display:block!important}
  .dagroute-bus{display:none}
  .uitje.geweest{display:none!important}
}
@media (max-width:400px){
  .iban{white-space:normal}
  .contact-tel{padding:1rem;gap:.7rem}
  .contact-tel svg{width:1.8rem;height:1.8rem}
  .contact-tel span{font-size:1.45rem}
}
/* Bij grotere letters past het hele menu niet in de kop: dan de menuknop */
html[data-lettergrootte] .kop-nav{display:none}
html[data-lettergrootte] .kop-rechts{margin-left:auto}
html[data-lettergrootte] .kop-menu{display:inline-flex}
@media (max-width:900px){.dagroute-bus{display:none}.dagstop::before{transition:background .4s,border-color .4s}}
