/* ============================================================
   Sinterklaas-Elst — opfrisbeurt 2026 ("Avond & magie")
   Laag bovenop de bestaande stijlen: nacht/goud kaders, rustiger
   inhoud, minder knoppen. Wordt na de inline <style> geladen.
   ============================================================ */
:root{--r-nacht:#0F1430;--r-nacht-2:#1A2050;--r-goud:#E2C078;--r-goud-zacht:rgba(226,192,120,.28);--r-licht:#F6ECD6;--r-licht-zacht:#CFC6B4;--r-radius:18px}
a{color:var(--sint-rood-donker)}a:hover{color:var(--sint-rood)}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
.section{padding:72px 0}
@media (max-width:640px){.section{padding:48px 0}}

/* ---------- Navigatie ---------- */
.site-nav{background:rgba(15,20,48,.94);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--r-goud-zacht);box-shadow:none;padding:12px 32px;gap:24px}
.site-nav .logo-word .word{color:var(--r-licht)}
.site-nav .logo-word .sub{color:var(--r-goud)}
.site-nav .nav-links{gap:6px}
.site-nav .nav-links a{color:var(--r-licht-zacht);padding:8px 14px;border-radius:999px;border-bottom:0}
.site-nav .nav-links a:hover{color:var(--r-licht);background:rgba(255,255,255,.06)}
.site-nav .nav-links a.active{color:var(--r-nacht);background:var(--r-goud)}
.site-nav .nav-actions{gap:10px}
.r-nav-mijn{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--r-licht-zacht);text-decoration:none;padding:8px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
.r-nav-mijn:hover,.r-nav-mijn.active{color:var(--r-licht);background:rgba(255,255,255,.06)}
.site-nav .cta{background:var(--sint-rood);border-color:var(--sint-rood);padding:10px 20px;font-size:14px;color:#fff}
.site-nav .cta:hover{background:#C92A39;color:#fff}
.site-nav .nav-burger{border-color:var(--r-goud-zacht)}
.site-nav .nav-burger span{background:var(--r-licht)}
.nav-drawer{background:var(--r-nacht);border-left:1px solid var(--r-goud-zacht);padding:76px 22px 22px;visibility:hidden;transition:transform .32s var(--ease-out),visibility 0s .32s}
.nav-drawer.show{visibility:visible;transition:transform .32s var(--ease-out)}
html,body{overflow-x:hidden}
.nav-drawer-links li{border-bottom:1px solid rgba(255,255,255,.08)}
.nav-drawer-links a{color:var(--r-licht);font-size:24px;padding:14px 4px}
.nav-drawer-links a.active{background:none;border-left:0;padding-left:4px;color:var(--r-goud)}
.nav-drawer-links a:hover{color:var(--r-goud)}
.nav-drawer-links .nav-arrow{color:var(--r-goud)}
.r-drawer-sub{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.r-drawer-sub a{font-family:var(--font-ui);font-size:13px;color:var(--r-licht-zacht);text-decoration:none;padding:7px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px}
.r-drawer-sub a:hover{color:var(--r-licht);border-color:var(--r-goud)}
.nav-drawer .btn-ghost{color:var(--r-licht);border-color:rgba(255,255,255,.18)}
.nav-drawer-meta{color:var(--r-licht-zacht);border-top-color:rgba(255,255,255,.08)}
@media (max-width:640px){.site-nav{padding:10px 16px}.r-nav-mijn span{display:none}}

/* ---------- Knoppen ---------- */
.btn{border-radius:999px;box-shadow:none}
.btn-lg{padding:15px 28px}
.btn-primary:hover:not(:disabled){box-shadow:0 8px 24px rgba(181,32,46,.28)}
.btn-gold{background:var(--r-goud);border-color:var(--r-goud);color:var(--r-nacht)}
.btn-gold:hover{background:#EBCD8C}
.r-link{font-family:var(--font-ui);font-weight:600;font-size:15px;color:var(--sint-rood-donker);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.r-link:hover{color:var(--sint-rood);gap:9px}
.r-link-licht{color:var(--r-goud)}.r-link-licht:hover{color:#F2D99E}

/* ---------- Subpagina-kop ---------- */
.page-hero{background:radial-gradient(120% 140% at 85% 0%,#2A2F66 0%,var(--r-nacht) 55%);border-bottom:0;color:var(--r-licht);padding:72px 0 56px}
.page-hero h1{color:var(--r-licht)}
.page-hero .eyebrow{color:var(--r-goud)}
.page-hero .lead{color:var(--r-licht-zacht);font-style:normal;font-size:19px}
.page-hero .note-box{background:rgba(255,255,255,.06);color:var(--r-licht)}
.page-hero a:not(.btn){color:var(--r-goud)}.page-hero a:not(.btn):hover{color:#F2D99E}
@media (max-width:640px){.page-hero{padding:48px 0 36px}}

/* ---------- Home: hero ---------- */
.hero-title{letter-spacing:-.01em}
.hero-lead{font-style:normal;max-width:30em}
.r-hero-trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;font-family:var(--font-ui);font-size:13px;color:var(--r-licht-zacht)}
.r-hero-trust span{display:inline-flex;align-items:center;gap:6px}
.r-hero-trust b{color:var(--r-goud);font-weight:700}

/* ---------- Home: sectiekoppen ---------- */
.r-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap;margin-bottom:32px}
.r-head h2{margin:6px 0 0}
.r-head p{margin:8px 0 0;color:var(--inkt-zacht);max-width:34em}

/* ---------- Home: zo werkt het ---------- */
.r-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:rs}
.r-step{position:relative;padding:26px 24px 24px;background:var(--kaars);border:1px solid var(--border-subtle);border-radius:var(--r-radius)}
.r-step::before{counter-increment:rs;content:counter(rs);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--r-nacht);color:var(--r-goud);font-family:var(--font-display);font-weight:700;font-size:20px;margin-bottom:14px}
.r-step h3{font-size:22px;margin:0 0 6px}
.r-step p{margin:0;color:var(--inkt-zacht);font-size:16px}
@media (max-width:820px){.r-steps{grid-template-columns:1fr}}

/* ---------- Home: pakketten ---------- */
.package-card{border-radius:var(--r-radius)}
.package-card ul{margin:10px 0 16px}
.btn-wa-pakket{justify-content:center;border:0;background:none;padding:6px 0 0}

/* ---------- Home: waar ---------- */
.r-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--r-radius);overflow:hidden}
.r-type{background:var(--kaars);padding:24px 22px;display:flex;flex-direction:column;gap:6px}
.r-type img{width:36px;height:36px;margin-bottom:6px}
.r-type h3{font-size:20px;margin:0}
.r-type p{margin:0;font-size:15px;color:var(--inkt-zacht)}
@media (max-width:900px){.r-types{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.r-types{grid-template-columns:1fr}}

/* ---------- Home: tegels (buren) ---------- */
.r-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.r-tile{display:flex;flex-direction:column;gap:8px;padding:28px;border-radius:var(--r-radius);text-decoration:none;color:var(--r-licht);background:radial-gradient(120% 120% at 100% 0%,#2A2F66 0%,var(--r-nacht) 60%);border:1px solid var(--r-goud-zacht);transition:transform .25s var(--ease-out),border-color .25s}
.r-tile:hover{transform:translateY(-3px);border-color:var(--r-goud);color:var(--r-licht)}
.r-tile .eyebrow{color:var(--r-goud)}
.r-tile h3{color:var(--r-licht);font-size:26px;margin:0}
.r-tile p{margin:0;color:var(--r-licht-zacht);font-size:16px}
.r-tile .r-link{margin-top:auto;padding-top:10px;color:var(--r-goud)}
@media (max-width:760px){.r-duo{grid-template-columns:1fr}}

/* ---------- Home: slotband ---------- */
.r-band{background:radial-gradient(90% 160% at 50% 0%,#2A2F66 0%,var(--r-nacht) 60%);color:var(--r-licht);text-align:center;padding:80px 0}
.r-band h2{color:var(--r-licht);margin:0 0 10px}
.r-band p{color:var(--r-licht-zacht);margin:0 auto 26px;max-width:32em}
.r-band .r-band-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---------- Footer ---------- */
.site-footer{background:var(--r-nacht)}
.r-footer-inner{max-width:1180px;margin:0 auto;padding:56px 32px 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.r-footer-inner h5{font-family:var(--font-ui);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--r-goud);margin:0 0 12px}
.r-footer-inner a{display:block;color:var(--r-licht-zacht);text-decoration:none;font-family:var(--font-ui);font-size:14px;padding:4px 0}
.r-footer-inner a:hover{color:var(--r-licht)}
.r-footer-inner p{color:var(--r-licht-zacht);font-size:15px;max-width:26em}
@media (max-width:760px){.r-footer-inner{grid-template-columns:1fr 1fr;padding:44px 18px 16px}.r-footer-inner>div:first-child{grid-column:1/-1}}

/* ---------- Aanvraag: stappen ---------- */
.wz{max-width:720px;margin:0 auto}
.wz-progress{display:flex;gap:6px;margin-bottom:10px}
.wz-progress i{flex:1;height:4px;border-radius:4px;background:rgba(226,192,120,.25);transition:background .3s}
.wz-progress i.on{background:var(--r-goud)}
.wz-count{font-family:var(--font-ui);font-size:13px;color:var(--r-licht-zacht);margin:0}
.wz-card{background:var(--kaars);border:1px solid var(--border-subtle);border-radius:var(--r-radius);padding:36px;box-shadow:0 18px 48px rgba(15,20,48,.10)}
.wz-card h2{font-size:32px;margin:0 0 6px}
.wz-card .wz-sub{color:var(--inkt-zacht);margin:0 0 24px}
.wz-opts{display:grid;gap:12px}
.wz-opt{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1.5px solid var(--border-subtle);border-radius:14px;background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%;transition:border-color .2s,box-shadow .2s}
.wz-opt:hover{border-color:var(--mijter-goud)}
.wz-opt.on{border-color:var(--sint-rood);box-shadow:0 0 0 3px rgba(181,32,46,.10)}
.wz-opt .wz-radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);flex-shrink:0;display:grid;place-items:center}
.wz-opt.on .wz-radio{border-color:var(--sint-rood)}
.wz-opt.on .wz-radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--sint-rood)}
.wz-opt-main{flex:1;min-width:0}
.wz-opt-name{font-family:var(--font-display);font-weight:600;font-size:21px;line-height:1.15}
.wz-opt-meta{font-family:var(--font-ui);font-size:13px;color:var(--inkt-zacht);margin-top:2px}
.wz-opt-price{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--sint-rood-donker);white-space:nowrap;text-align:right}
.wz-opt-price s{display:block;font-size:14px;color:var(--roetveeg);font-weight:500}
.wz-check{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:16px 18px;border-radius:14px;background:var(--perkament);cursor:pointer;font-family:var(--font-ui);font-size:14px;line-height:1.5}
.wz-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--sint-rood);flex-shrink:0}
.wz-check b{color:var(--inkt)}
.wz-chips{display:flex;flex-wrap:wrap;gap:8px}
.wz-chip{min-width:64px;min-height:44px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--border-strong);background:#fff;font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--inkt);cursor:pointer}
.wz-chip:hover:not(:disabled){border-color:var(--mijter-goud)}
.wz-chip.on{background:var(--r-nacht);border-color:var(--r-nacht);color:var(--r-goud)}
.wz-chip:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.wz-label{display:block;font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--inkt);margin:22px 0 10px}
.wz-card>.wz-label:first-child{margin-top:0}
.wz-alert{margin:14px 0 0;padding:12px 16px;border-radius:12px;background:#F7E0E0;color:var(--sint-rood-donker);font-family:var(--font-ui);font-size:14px;font-weight:600}
.wz-sum{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:0 0 20px;font-family:var(--font-ui);font-size:15px}
.wz-sum dt{color:var(--inkt-zacht)}
.wz-sum dd{margin:0;color:var(--inkt);font-weight:600}
.wz-sum dd button{background:none;border:0;padding:0 0 0 8px;color:var(--sint-rood);font:inherit;font-weight:500;font-size:13px;cursor:pointer;text-decoration:underline}
.wz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--border-subtle)}
.wz-back{background:none;border:0;font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--inkt-zacht);cursor:pointer;padding:10px 4px}
.wz-back:hover{color:var(--inkt)}
.wz-help{text-align:center;font-family:var(--font-ui);font-size:13px;color:var(--inkt-zacht);margin-top:18px}
.wz .field{margin-bottom:14px}
.wz-sub-block{margin-top:22px;padding-top:20px;border-top:1px dashed var(--border-strong)}
.wz-sub-block h3{font-size:20px;margin:0 0 12px}
@media (max-width:640px){.wz-card{padding:24px 18px}.wz-card h2{font-size:26px}.wz-opt{padding:14px}.wz-opt-name{font-size:19px}}

/* ---------- Prijzen ---------- */
.r-prijs-extra{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px;padding:20px 24px;border-radius:var(--r-radius);background:var(--kaars);border:1px solid var(--border-subtle)}
.r-prijs-extra p{margin:0}
.vergelijk-wrap{border-radius:var(--r-radius)}

/* ---------- Klantportaal ---------- */
.portal-stage{background:radial-gradient(120% 120% at 80% 0%,#2A2F66 0%,var(--r-nacht) 60%)}
.portal-card{border-radius:var(--r-radius)}

/* ---------- Beheer ---------- */
.beheer-hero{background:var(--r-nacht)}
.beheer-tabs{gap:6px;border-bottom:0;flex-wrap:wrap}
.r-tabgroep{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}
.r-tabgroep button{font-family:var(--font-ui);font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px;border:1px solid var(--r-goud-zacht);background:transparent;color:var(--r-licht-zacht);cursor:pointer}
.r-tabgroep button:hover{color:var(--r-licht);border-color:var(--r-goud)}
.r-tabgroep button.on{background:var(--r-goud);border-color:var(--r-goud);color:var(--r-nacht)}
.beheer-tabs .beheer-tab{border-radius:999px}
.r-export{position:relative}
.r-export summary{list-style:none;cursor:pointer}
.r-export summary::-webkit-details-marker{display:none}
.r-export-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;background:#fff;border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 18px 40px rgba(15,20,48,.16);padding:6px;min-width:240px;display:flex;flex-direction:column}
.r-export-menu button{background:none;border:0;text-align:left;padding:10px 12px;border-radius:10px;font-family:var(--font-ui);font-size:14px;color:var(--inkt);cursor:pointer}
.r-export-menu button:hover{background:var(--perkament)}

/* ---------- Aankondigingsbalk ---------- */
.r-aankondiging{display:flex;justify-content:center;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:10px 18px;background:var(--r-goud);color:var(--r-nacht);font-family:var(--font-ui);font-size:14px;font-weight:600;text-decoration:none;text-align:center}
.r-aankondiging:hover{color:var(--r-nacht);background:#EBCD8C}
.r-aank-link{text-decoration:underline;text-underline-offset:3px}
.early-bird{padding:14px 0}
.early-bird .btn-lg{padding:10px 20px;font-size:14px}

/* ---------- Restpagina's ---------- */
.r-steps--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.r-steps--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.r-steps--4{grid-template-columns:1fr}}
.faq-groep{margin-bottom:36px}
.faq-groep-titel{font-size:14px;font-family:var(--font-ui);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mijter-goud-donker);border:0;padding:0;margin:0 0 6px}
.faq{margin-top:0;background:var(--kaars);border:1px solid var(--border-subtle);border-radius:var(--r-radius);padding:4px 22px}
.faq details{border-top:1px solid var(--border-subtle);padding:16px 0}
.faq details:first-of-type{border-top:0}
.faq details:last-of-type{border-bottom:0}
.faq summary{font-size:19px}
.faq details p{color:var(--inkt-zacht);margin:10px 0 0}
.kal-grid-wrap,.map-box,.town-list li{border-radius:var(--r-radius)}
.town-list li{border-radius:12px}
.kal-day{border-radius:12px}
.kalender-hero .kal-totals{margin-top:18px}
.sponsor-card{border-radius:var(--r-radius);grid-template-columns:1fr}
.sponsor-block .container{max-width:860px}
.jnl-card,.jnl-featured,.pk-card{border-radius:var(--r-radius)}
.portal-card,.kidform,.portal-booking-card{border-radius:var(--r-radius)}

/* ---------- Logo ---------- */
.logo img{width:44px;height:44px;border-radius:50%}
.logo-word .word{font-size:22px;letter-spacing:-.01em}
.logo-word .sub{letter-spacing:.18em;font-size:10px;text-transform:uppercase}
.site-footer .logo img{width:48px;height:48px}
.portal-seal img,.sa-glyph img{border-radius:50%}
@media (max-width:640px){.logo-word .sub{display:none}.logo img{width:40px;height:40px}}

/* ---------- Mobiel ---------- */
.wz-back{min-height:44px;display:inline-flex;align-items:center}
@media (max-width:640px){
  .site-nav{gap:10px}
  .logo-word .word{font-size:19px;white-space:nowrap}
  .site-nav .cta-desktop{display:none}
  .r-nav-mijn{padding:8px}
  .wz-nav{flex-direction:column-reverse;align-items:stretch}
  .wz-nav .btn{justify-content:center;width:100%}
  .wz-back{justify-content:center}
  .wz-opt{gap:12px}
  .wz-opt-price{font-size:19px}
  .page-hero h1{font-size:34px}
  .r-head{flex-direction:column;align-items:flex-start}
}

/* ---------- Portaal: formulier op lichte kaart ---------- */
.portal-stage--filled .kidform{max-width:860px;background:var(--kaars);border:1px solid var(--border-subtle);border-radius:var(--r-radius);padding:32px 36px;box-shadow:0 18px 48px rgba(15,20,48,.18)}
.portal-stage--filled .kidform>h2,.portal-stage--filled .kidform>h3{color:var(--inkt)}
.portal-stage--filled .kidform .step-hint{color:var(--inkt-zacht)}
.portal-stage--filled .kidform .hint{color:var(--inkt-zacht)}
.portal-stage--filled .portal-quicklinks{max-width:860px;margin-left:auto;margin-right:auto}
.portal-stage--filled .portal-welcome{max-width:860px;margin-left:auto;margin-right:auto}
.portal-stage--filled .portal-saved{max-width:860px;margin-left:auto;margin-right:auto}
@media (max-width:640px){.portal-stage--filled .kidform{padding:22px 16px}}

/* ============================================================
   Licht / donker. Standaard (data-theme="licht"): lichte balk en
   lichte koppen met donkere letters. data-theme="sintnacht": de
   nacht-look (donkere balk, koppen, portaal).
   ============================================================ */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--border-subtle);background:transparent;color:var(--inkt-zacht);cursor:pointer}
.theme-toggle svg{width:18px;height:18px}
.theme-toggle:hover{color:var(--sint-rood);border-color:var(--mijter-goud)}

/* --- Lichte stand --- */
body[data-theme="licht"] .site-nav{background:rgba(251,246,234,.94);border-bottom:1px solid var(--border-goud)}
body[data-theme="licht"] .site-nav .logo-word .word{color:var(--sint-rood-donker)}
body[data-theme="licht"] .site-nav .logo-word .sub{color:var(--mijter-goud-donker)}
body[data-theme="licht"] .site-nav .nav-links a{color:var(--inkt-zacht)}
body[data-theme="licht"] .site-nav .nav-links a:hover{color:var(--inkt);background:rgba(42,24,16,.05)}
body[data-theme="licht"] .site-nav .nav-links a.active{color:var(--kaars);background:var(--sint-rood-donker)}
body[data-theme="licht"] .r-nav-mijn{color:var(--inkt-zacht)}
body[data-theme="licht"] .r-nav-mijn:hover,body[data-theme="licht"] .r-nav-mijn.active{color:var(--inkt);background:rgba(42,24,16,.05)}
body[data-theme="licht"] .site-nav .nav-burger{border-color:var(--border-strong)}
body[data-theme="licht"] .site-nav .nav-burger span{background:var(--inkt)}
body[data-theme="licht"] .nav-drawer{background:var(--kaars);border-left-color:var(--border-goud)}
body[data-theme="licht"] .nav-drawer-links li{border-bottom-color:var(--border-subtle)}
body[data-theme="licht"] .nav-drawer-links a{color:var(--inkt)}
body[data-theme="licht"] .nav-drawer-links a.active,body[data-theme="licht"] .nav-drawer-links a:hover{color:var(--sint-rood-donker)}
body[data-theme="licht"] .r-drawer-sub a{color:var(--inkt-zacht);border-color:var(--border-strong)}
body[data-theme="licht"] .nav-drawer .btn-ghost{color:var(--sint-rood-donker);border-color:var(--border-strong)}
body[data-theme="licht"] .nav-drawer-meta{color:var(--inkt-zacht);border-top-color:var(--border-subtle)}
body[data-theme="licht"] .page-hero{background:var(--perkament-diep);color:var(--inkt);border-bottom:1px solid var(--border-goud)}
body[data-theme="licht"] .page-hero h1{color:var(--inkt)}
body[data-theme="licht"] .page-hero .eyebrow{color:var(--mijter-goud-donker)}
body[data-theme="licht"] .page-hero .lead{color:var(--inkt-zacht)}
body[data-theme="licht"] .page-hero a:not(.btn){color:var(--sint-rood-donker)}
body[data-theme="licht"] .page-hero .note-box{background:var(--kaars);color:var(--inkt)}
body[data-theme="licht"] .wz-progress i{background:rgba(42,24,16,.12)}
body[data-theme="licht"] .wz-progress i.on{background:var(--sint-rood)}
body[data-theme="licht"] .wz-count{color:var(--inkt-zacht)}
body[data-theme="licht"] .kal-totals span,body[data-theme="licht"] .kal-totals strong{color:var(--inkt)}
body[data-theme="licht"] .portal-stage{background:var(--perkament-diep)}
body[data-theme="licht"] .portal-stage--filled .kidform{box-shadow:var(--shadow-sm)}
body[data-theme="licht"] .r-footer-inner a,body[data-theme="licht"] .r-footer-inner p{color:var(--r-licht-zacht)}

/* --- Donkere stand: inhoud ook donker --- */
body[data-theme="sintnacht"] .wz-card,body[data-theme="sintnacht"] .r-step,body[data-theme="sintnacht"] .r-type,body[data-theme="sintnacht"] .faq,body[data-theme="sintnacht"] .r-prijs-extra,body[data-theme="sintnacht"] .portal-stage--filled .kidform{background:var(--kaars);border-color:var(--border-subtle)}
body[data-theme="sintnacht"] .wz-opt,body[data-theme="sintnacht"] .wz-chip{background:#2A3267;color:var(--inkt);border-color:var(--border-strong)}
body[data-theme="sintnacht"] .wz-check{background:#1A2046}
body[data-theme="sintnacht"] .wz-opt-price{color:var(--mijter-goud-licht)}
body[data-theme="sintnacht"] .wz-sum dd,body[data-theme="sintnacht"] .wz-check b{color:var(--inkt)}
body[data-theme="sintnacht"] .r-step::before{background:var(--mijter-goud);color:var(--nacht-diep)}
body[data-theme="sintnacht"] .r-link{color:var(--mijter-goud-licht)}
body[data-theme="sintnacht"] .wz-back{color:var(--inkt-zacht)}
body[data-theme="sintnacht"] .field input,body[data-theme="sintnacht"] .field select,body[data-theme="sintnacht"] .field textarea,body[data-theme="sintnacht"] .wz-input{background:#141931;color:var(--inkt);border-color:var(--border-strong)}
body[data-theme="sintnacht"] .r-aankondiging{background:var(--mijter-goud);color:var(--nacht-diep)}
body[data-theme="sintnacht"] .theme-toggle{color:var(--mijter-goud-licht);border-color:var(--border-goud)}

/* Woordmerk nooit afbreken; op smallere schermen kleiner */
.logo-word .word{white-space:nowrap}
.r-nav-mijn span{white-space:nowrap}
@media (max-width:1100px){.logo-word .word{font-size:19px}.site-nav .nav-links{gap:2px}.site-nav .nav-links a{padding:8px 10px;font-size:13px}.r-nav-mijn span{display:none}.site-nav .cta{padding:9px 14px;font-size:13px;white-space:nowrap}}

/* Donkere stand: tekst altijd licht, ook waar oude regels --perkament gebruiken */
body[data-theme="sintnacht"] .faq summary,body[data-theme="sintnacht"] .faq details p,body[data-theme="sintnacht"] .wz-opt-name,body[data-theme="sintnacht"] .wz-label,body[data-theme="sintnacht"] .field>span,body[data-theme="sintnacht"] .r-type h3,body[data-theme="sintnacht"] .r-step h3,body[data-theme="sintnacht"] .package-card h3,body[data-theme="sintnacht"] .kid-num,body[data-theme="sintnacht"] legend,body[data-theme="sintnacht"] .town-name,body[data-theme="sintnacht"] .pq-title,body[data-theme="sintnacht"] .map-info h4,body[data-theme="sintnacht"] .legal h3,body[data-theme="sintnacht"] .legal p,body[data-theme="sintnacht"] .legal li{color:var(--inkt)}
body[data-theme="sintnacht"] .faq summary::after{color:var(--mijter-goud-licht)}
body[data-theme="sintnacht"] .wz-opt-meta,body[data-theme="sintnacht"] .r-type p,body[data-theme="sintnacht"] .r-step p,body[data-theme="sintnacht"] .pq-sub,body[data-theme="sintnacht"] .town-sub,body[data-theme="sintnacht"] .package-meta,body[data-theme="sintnacht"] .hint{color:var(--inkt-zacht)}
body[data-theme="sintnacht"] .faq-groep-titel,body[data-theme="sintnacht"] .eyebrow{color:var(--mijter-goud-licht)}
body[data-theme="sintnacht"] .package-card.featured{background:linear-gradient(180deg,#2A3267,#232A55)}
body[data-theme="sintnacht"] .town-list li,body[data-theme="sintnacht"] .map-box,body[data-theme="sintnacht"] .portal-quick,body[data-theme="sintnacht"] .kid-block{background:var(--kaars);border-color:var(--border-subtle)}
body[data-theme="sintnacht"] .wz-sum dd button{color:var(--mijter-goud-licht)}
body[data-theme="sintnacht"] .r-prijs-extra a,body[data-theme="sintnacht"] .faq a,body[data-theme="sintnacht"] .legal a{color:var(--mijter-goud-licht)}

body[data-theme="sintnacht"] main a:not(.btn):not(.cta):not(.r-tile):not(.portal-quick):not(.wz-back){color:var(--mijter-goud-licht)}
body[data-theme="sintnacht"] .vt-prijs,body[data-theme="sintnacht"] .vergelijk-tabel th,body[data-theme="sintnacht"] .vergelijk-tabel td{color:var(--inkt)}
body[data-theme="sintnacht"] .vt-featured{background:rgba(226,192,120,.08)}
body[data-theme="sintnacht"] .note-box{background:var(--kaars);color:var(--inkt)}
body[data-theme="sintnacht"] .note-box strong,body[data-theme="sintnacht"] .note-box p{color:var(--inkt)}
body[data-theme="sintnacht"] .donate-chip{color:var(--inkt);border-color:var(--border-strong);background:transparent}
body[data-theme="sintnacht"] .donate-chip.selected{background:var(--sint-rood);color:#fff}
body[data-theme="sintnacht"] .at-num,body[data-theme="sintnacht"] .at-label,body[data-theme="sintnacht"] .aftelteller *{color:var(--inkt)}
body[data-theme="sintnacht"] .btn-wa-pakket{color:#6FE09A}
body[data-theme="sintnacht"] .kal-status{font-weight:700}

/* Menu-paneel wordt los van de navbalk gerenderd (anders knijpt backdrop-filter het fixed paneel af op mobiel) */
.nav-drawer{z-index:1000}.nav-scrim{z-index:999}

/* Donkere stand: menulinks altijd licht (oude regel gebruikte --perkament, die in sintnacht donker is) */
body[data-theme="sintnacht"] .nav-drawer{background:var(--r-nacht)}
body[data-theme="sintnacht"] .nav-drawer-links a{color:var(--r-licht)}
body[data-theme="sintnacht"] .nav-drawer-links a.active,body[data-theme="sintnacht"] .nav-drawer-links a:hover{color:var(--r-goud);background:none}
body[data-theme="sintnacht"] .r-drawer-sub a{color:var(--r-licht-zacht);border-color:rgba(255,255,255,.14)}
body[data-theme="sintnacht"] .nav-drawer .btn-ghost{color:var(--r-licht);border-color:rgba(255,255,255,.18)}
body[data-theme="sintnacht"] .nav-drawer-meta{color:var(--r-licht-zacht)}

/* Kalender: laad-/foutmelding leesbaar in beide standen */
.kal-melding{font-family:var(--font-ui);font-size:14px;display:flex;align-items:center;gap:8px;color:var(--r-licht-zacht)}
.kal-melding--fout{color:#FFB4B4}
.kal-melding a{color:var(--r-goud);margin-left:4px}
body[data-theme="licht"] .kal-melding{color:var(--inkt-zacht)}
body[data-theme="licht"] .kal-melding--fout{color:var(--sint-rood-donker)}
body[data-theme="licht"] .kal-melding a{color:var(--sint-rood-donker);text-decoration:underline}

/* ---------- Kalender: 4 en 5 december springen eruit ---------- */
.kal-grid{align-items:center}
.kal-day{aspect-ratio:auto;min-height:0;height:64px;padding:6px 4px;width:78%;margin:0 auto;justify-content:center}
.kal-day .kal-num{font-size:16px}
.kal-day .kal-mon{font-size:9px}
.kal-day .kal-status{font-size:9px}
.kal-day.kal-topdag{height:112px;width:100%;border-width:2px;border-color:var(--mijter-goud);background:linear-gradient(160deg,#FFF6E0,#FBE9BF);box-shadow:0 10px 26px rgba(201,162,74,.28);transform:scale(1.06);z-index:2;position:relative}
.kal-day.kal-topdag .kal-num{font-size:30px;color:var(--sint-rood-donker);font-weight:700}
.kal-day.kal-topdag .kal-mon{color:var(--sint-rood-donker);font-weight:600}
.kal-day.kal-topdag .kal-status{font-size:12px;font-weight:700}
.kal-day.kal-topdag.kal-vol{background:linear-gradient(160deg,#F3E3E1,#E8CFCB);border-color:var(--sint-rood)}
.kal-day.kal-topdag:hover{transform:scale(1.09)}
.kal-pakjes-tag{position:absolute;top:-10px;left:50%;right:auto;width:auto;transform:translateX(-50%);background:var(--sint-rood);color:#fff;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap}
.kal-grid{row-gap:16px}
body[data-theme="sintnacht"] .kal-day.kal-topdag{background:linear-gradient(160deg,#3A3160,#2A2550);border-color:var(--mijter-goud)}
body[data-theme="sintnacht"] .kal-day.kal-topdag .kal-num,body[data-theme="sintnacht"] .kal-day.kal-topdag .kal-mon{color:var(--mijter-goud-licht)}
@media (max-width:640px){.kal-day{height:46px;width:86%;padding:4px 2px}.kal-day .kal-num{font-size:14px}.kal-day.kal-topdag{height:76px;transform:scale(1.04)}.kal-day.kal-topdag .kal-num{font-size:24px}}
@media (max-width:640px){.kal-pakjes-tag{font-size:8px;padding:2px 6px;top:-8px;letter-spacing:.04em}}

/* Mini-kalender in aanvraagformulier */
.wz-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.wz-cal-day{display:flex;flex-direction:column;align-items:center;gap:1px;min-height:72px;padding:8px 4px;border-radius:12px;border:1.5px solid var(--border-strong);background:#fff;font-family:var(--font-ui);color:var(--inkt);cursor:pointer}
.wz-cal-day:hover:not(:disabled){border-color:var(--mijter-goud)}
.wz-cal-wd{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--inkt-zacht)}
.wz-cal-num{font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1.1}
.wz-cal-sub{font-size:11px;color:var(--inkt-zacht)}
.wz-cal-day.top{border-color:var(--mijter-goud);background:#FFF8E6}
.wz-cal-day.on{background:var(--r-nacht);border-color:var(--r-nacht);color:var(--r-goud)}
.wz-cal-day.on .wz-cal-wd,.wz-cal-day.on .wz-cal-sub{color:var(--r-licht-zacht)}
.wz-cal-day:disabled{opacity:.4;cursor:not-allowed}
.wz-cal-day:disabled .wz-cal-num{text-decoration:line-through}
body[data-theme="sintnacht"] .wz-cal-day{background:#2A3267;border-color:var(--border-strong)}
body[data-theme="sintnacht"] .wz-cal-day.top{background:#3A3A5A}
/* Avondplanner */
.ap-tijd{display:flex;gap:6px;align-items:center;margin-top:8px;flex-wrap:wrap}
.ap-tijd input[type=time]{font-family:var(--font-ui);font-size:14px;padding:6px 8px;border:1.5px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--inkt)}
.ap-badge{display:inline-block;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;margin-top:4px}
.ap-badge.voorkeur{background:#FFF0D6;color:#8A5A00}
.ap-badge.def{background:#E3F3E6;color:#2E5C20}
@media print{.ap-tijd{display:none}}
.aanvraag-oud{border-color:#E08A1E !important;box-shadow:inset 4px 0 0 #E08A1E}
.aanvraag-oud-tag{display:inline-block;background:#FDEBD3;color:#8A4B00;font-family:var(--font-ui);font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-top:4px}

/* Donkere stand: geselecteerde keuze duidelijk zichtbaar */
body[data-theme="sintnacht"] .wz-chip.on,body[data-theme="sintnacht"] .wz-cal-day.on{background:var(--mijter-goud);border-color:var(--mijter-goud);color:#0F1430}
body[data-theme="sintnacht"] .wz-cal-day.on .wz-cal-wd,body[data-theme="sintnacht"] .wz-cal-day.on .wz-cal-sub{color:#2A1810}
body[data-theme="sintnacht"] .wz-opt.on{border-color:var(--mijter-goud);box-shadow:0 0 0 2px rgba(226,192,120,.35)}

/* Tijdgroepen */
.wz-tijdgroep{margin-top:12px}.wz-tijdgroep:first-of-type{margin-top:0}
.wz-tijdgroep-naam{display:block;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--inkt-zacht);margin-bottom:6px}
@media (max-width:640px){
  .wz-chip{min-width:0;flex:1 1 calc(25% - 6px);padding:8px 4px;font-size:14px}
  .wz-cal{grid-template-columns:repeat(7,1fr);gap:4px}
  .wz-cal-day{min-height:58px;padding:5px 2px;border-radius:8px;gap:0}
  .wz-cal-wd{font-size:9px}.wz-cal-num{font-size:18px}.wz-cal-sub{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
}
/* Beheer: tabel wordt kaartjes op smal scherm */
@media (max-width:640px){
  .bt-head{display:none}
  .bt-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:14px 16px}
  .bt-row>div:nth-child(1){grid-column:1;grid-row:1;display:flex;gap:8px;align-items:baseline}
  .bt-row>div:nth-child(2){grid-column:1/-1;grid-row:2}
  .bt-row>div:nth-child(3),.bt-row>div:nth-child(4),.bt-row>div:nth-child(5){display:none}
  .bt-row>div:nth-child(6){grid-column:2;grid-row:1}
  .bt-detail{padding:14px 16px}
  .bt-detail-actions{display:flex;flex-wrap:wrap;gap:8px}
  .bt-detail-actions .btn,.bt-detail-actions .btn-danger{flex:1 1 45%;text-align:center}
  .beheer-toolbar{flex-direction:column;align-items:stretch}
  .beheer-tools{flex-wrap:wrap}
}
/* Avondplanner: volgorde + notitie */
.ap-order{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.ap-order button{width:100%;min-height:28px;border:1px solid var(--border-strong);background:var(--kaars);border-radius:6px;cursor:pointer;font-size:12px;color:var(--inkt)}
.ap-order button:disabled{opacity:.3;cursor:default}
.ap-notitie{margin-top:8px;padding:8px 10px;background:#FFF8E6;border-left:3px solid var(--mijter-goud);border-radius:0 8px 8px 0;font-family:var(--font-ui);font-size:13px;color:var(--inkt)}
body[data-theme="sintnacht"] .ap-notitie{background:#3A3A5A}
.ap-rekentool{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding:12px 14px;background:var(--perkament-diep);border-radius:12px;font-family:var(--font-ui);font-size:13px}
.ap-rekentool input[type=time]{font-family:var(--font-ui);font-size:14px;padding:6px 8px;border:1.5px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--inkt)}
@media print{.ap-order,.ap-rekentool{display:none}}
.bt-notitie textarea{width:100%;min-height:70px;font-family:var(--font-ui);font-size:14px;padding:10px 12px;border:1.5px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--inkt);resize:vertical}
body[data-theme="sintnacht"] .bt-notitie textarea{background:#141931}

/* Toegankelijkheid */
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;padding:10px 16px;background:var(--mijter-goud);color:#0F1430;font-family:var(--font-ui);font-weight:700;border-radius:8px;text-decoration:none}
.skip-link:focus{top:12px;outline:3px solid #0F1430}
main:focus{outline:none}
.wz-chip:focus-visible,.wz-cal-day:focus-visible,.wz-opt:focus-visible{outline:3px solid var(--mijter-goud);outline-offset:2px}
body[data-theme="sintnacht"] :focus-visible{outline-color:var(--mijter-goud-licht)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}
/* Portaal: voorkeurstijd wijzigen */
.pb-voorkeur{margin-top:10px}
.pb-voorkeur-form{margin-top:8px;padding:14px;background:var(--perkament-diep);border-radius:12px}
.pb-voorkeur-melding{margin:8px 0 0;font-family:var(--font-ui);font-size:13px;color:var(--inkt)}
body[data-theme="sintnacht"] .pb-voorkeur-form{background:#2A3267}
