.mijn-kermis-actions__btn.is-active{
  outline:2px solid rgba(255,255,255,.35);
  background:linear-gradient(135deg, rgba(255,134,61,.3), rgba(255,255,255,.12));
}

.mijn-kermis-actions__btn--primary{
  background:#fff;
  color:#111 !important;
  border:1px solid rgba(255,255,255,.9);
  min-width:220px;
  text-align:center;
}

.mijn-kermis-actions__btn--ghost{
  min-width:220px;
  text-align:center;
}

.mijn-kermis-shell .page-intro__actions{
  margin-bottom:10px;
}

.mijn-kermis-shell{
  display:grid;
  gap:12px;
}

.mijn-kermis-shell > .detail-block,
.mijn-kermis-shell > .mijn-kermis-intro-grid{
  width:100%;
  box-sizing:border-box;
}

.mijn-kermis-overview-grid{
  margin-top:6px;
}

.mijn-kermis-overview-grid > .wrapper{
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  overflow:hidden;
}

.mijn-kermis-overview-grid .col.left{
  background:rgba(0,0,0,.3);
}

.mijn-kermis-overview-grid .col.right{
  background:rgba(0,0,0,.24);
}

.mijn-kermis-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:12px;
  align-items:start;
}

.mijn-kermis-intro-grid__full{
  grid-column:1 / -1;
}

.kv2-nearby-seo{
  max-width:56rem;
}

.kv2-nearby-seo p{
  margin:0 0 14px;
  line-height:1.65;
  color:rgba(255,255,255,.9);
}

.kv2-nearby-seo__lead{
  font-size:1.05rem;
  margin:0 0 16px;
  color:rgba(255,255,255,.92);
}

.kv2-nearby-seo h2{
  margin-top:24px;
  margin-bottom:10px;
}

.mijn-kermis-home-edit input[type="text"]{
  width:100%;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.07);
  color:#fff;
  border-radius:10px;
  padding:10px 12px;
}

.nearby-home-field{
  position:relative;
}

.nearby-home-field .mijn-kermis-city-suggest{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  margin-top:4px;
  z-index:35;
}

.mijn-kermis-home-edit .mijn-kermis-actions__btn{
  cursor:pointer;
  margin-top:8px;
}

.mijn-kermis-home-edit .mijn-kermis-actions__btn--primary{
  background:#fff;
  color:#111 !important;
  border:1px solid rgba(255,255,255,.95);
  font-weight:800;
}

.mijn-kermis-home-edit .mijn-kermis-actions__btn--primary:hover{
  filter:brightness(1.02);
}

body.page--mijn-kermis .mijn-kermis-home-edit .mijn-kermis-actions__btn--primary{
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(255,255,255,.95) !important;
  cursor:pointer !important;
}

.mijn-kermis-route-form{
  display:grid;
  gap:14px;
}

.mijn-kermis-route-fieldset{
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  padding:12px 14px;
  display:grid;
  gap:10px;
}

.mijn-kermis-route-fieldset legend{
  padding:0 8px;
  font-weight:700;
}

.mijn-kermis-route-fieldset label{
  display:flex;
  align-items:center;
  gap:8px;
}

.mijn-kermis-route-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.mijn-kermis-route-grid label{
  display:grid;
  gap:6px;
  font-weight:600;
}
.mijn-kermis-route-grid label.mijn-kermis-datefield{
  position:relative;
}
.mijn-kermis-datefield__icon{
  position:absolute;
  right:12px;
  bottom:11px;
  color:rgba(255,255,255,.9);
  font-size:16px;
  line-height:1;
  pointer-events:none;
}
.mijn-kermis-route-grid label.mijn-kermis-datefield input[type="date"]{
  padding-right:38px;
}

.mijn-kermis-route-grid__wide{
  grid-column:1 / -1;
}

.mijn-kermis-route-form input[type="text"],
.mijn-kermis-route-form input[type="date"],
.mijn-kermis-route-form input[type="time"],
.mijn-kermis-route-form select{
  width:100%;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.07);
  color:#fff;
  border-radius:10px;
  padding:10px 12px;
}
.mijn-kermis-route-form select option{
  color:#111;
  background:#fff;
}
body.page--mijn-kermis [data-mijn-kermis-route] .eventTextItem .daysleftfield.route-kmfield:after{
  content:'AFW. ROUTE';
}

.agenda-personal__empty--error{
  border-color:rgba(255,120,120,.45);
  background:rgba(120,20,20,.22);
}

.agenda-personal__notice{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid rgba(255,193,120,.38);
  background:rgba(92,52,12,.42);
  color:rgba(255,248,240,.96);
  font-size:14px;
  line-height:1.45;
}
.agenda-personal__notice .bi{
  flex-shrink:0;
  margin-top:1px;
  font-size:1.05rem;
  color:#ffc15a;
}

.mijn-kermis-city-suggest{
  margin-top:6px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:10px;
  overflow:hidden;
  background:rgba(20,20,32,.94);
  position:relative;
  z-index:20;
  max-height:240px;
  overflow-y:auto;
}

.mijn-kermis-city-suggest__item{
  width:100%;
  text-align:left;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:transparent;
  color:#fff;
  padding:9px 11px;
  cursor:pointer;
}

.mijn-kermis-city-suggest__item:last-child{
  border-bottom:0;
}

.mijn-kermis-city-suggest__item:hover{
  background:rgba(255,255,255,.1);
}

@media (max-width: 900px){
  .mijn-kermis-intro-grid{
    grid-template-columns:1fr;
  }
  .mijn-kermis-route-grid{
    grid-template-columns:1fr;
  }
}
@charset "utf-8";
:root{

  --bg:#081018;
  --text:#ffffff;
  --muted:#cfd2d7;

  --brand:#1e4a7a;
  --brand-2:#5b9bd5;
  --brand-rgb:30,74,122;

  --accent:#ff7a1a;
  --accent-rgb:255,122,26;

  --surface:rgba(255,255,255,.08);
  --border: rgba(255,255,255,.12);
  --shadow:0 10px 30px rgba(0,0,0,.35);

  --wrapper:min(1200px, 92vw);
  --panel-h:700px;

  /* Ritme / rust (stap 1 – gedeelde afstanden) */
  --kv2-space-xs: 8px;
  --kv2-space-sm: 12px;
  --kv2-space-md: 16px;
  --kv2-space-lg: 20px;
  --kv2-space-xl: 28px;
  --kv2-after-title: 24px;
  --kv2-after-title-page: 24px;
  /* Afstand streep → eerste regel inhoud (één maat voor rust/éénheid) */
  --kv2-title-below-gap: 24px;
  /* Afstand lopende tekst → volgende sectiekop (nieuwe titel “op afstand”) */
  --kv2-section-after-prose: 32px;
  --kv2-gap-text-items: 14px;
  --kv2-section-y: 28px;

  /* Typografie (één UI-stack; compacte eventtegels) */
  --font-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
  --font-event: "Barlow Semi Condensed", var(--font-sans);

  /* Vorm (hergebruik voor rust) */
  --kv2-radius-card: 14px;
  --kv2-radius-sm: 10px;

  /* Titelstreep: paars → warm rood-oranje (accent naast marineblauw) */
  --kv2-title-rule: linear-gradient(90deg, #7a3d9e, #e04d2e);

  /* Eventtegel: datumkleur (lichtblauw, aansluitend op daysleftfield) */
  --et-date-accent: #6ba8e0;
}

*{ box-sizing:border-box }
html,body{
	height:100%;
}
html { scroll-behavior: auto; }
body{
  margin:0;
  color:var(--text);
  background:#0a1525;
  font-family:var(--font-sans);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  position:relative;
  overflow-x:hidden;
}
.wrapper {
	width: var(--wrapper);
	margin: 0 auto;
	max-width: 100%;
}

.mb20 {
	margin-bottom: 20px;
}

.page-bg{
  position:fixed; inset:0; z-index:-1;
  background:url('/assets/img/bg-page-2.webp') center/cover no-repeat fixed;
  filter:blur(3px) saturate(110%);
  opacity:.4;
}

@media (max-width: 720px){
  .page-bg{
    background-image:url('/assets/img/bg-page-2.m.webp');
  }
}

.main-2col{ width:100% }

.main-2col > .wrapper{
  width:100%;
  max-width:none;
  margin:0 auto;
  display:flex;
  gap:0;
  align-items:stretch;
  padding:0;
}

.main-2col .col.left,
.main-2col .col.right{
  flex:0 0 50%;
  max-width:50%;
  min-width:0;
  height:var(--panel-h);
}

.main-2col .col.left{
  background: rgba(0, 0, 0, 0.62);
  backdrop-filter: blur(4px);
  color:#fff;
  overflow:auto;
  /* Ruimte voor verticale scrollbar + zichtbare thumb (Edge/Chromium overlay-scrollbars) */
  scrollbar-gutter: stable;
  padding:10px 12px 10px 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.38) rgba(255,255,255,.08);
}

.main-2col .col.left::-webkit-scrollbar{
  width:8px;
}
.main-2col .col.left::-webkit-scrollbar-track{
  background:rgba(255,255,255,.07);
  border-radius:999px;
  margin:4px 0;
}
.main-2col .col.left::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.38);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.main-2col .col.left::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.52);
  border:2px solid transparent;
  background-clip:padding-box;
}

.main-2col .col.right{
  position:relative;
  overflow:hidden;
}

#mapwrap{
  position:relative;
  height:100%;    
  min-height:700px;
  border-radius:var(--kv2-radius-card);
  overflow:hidden;
  /* Zelfde donkere toon als .col.left / .media-strip — hoeken vallen visueel samen */
  background:rgba(0,0,0,.75);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

#map{
  width:100%;
  height:100%;
  border-radius:var(--kv2-radius-card);
  overflow:hidden;
  background:rgba(0,0,0,.55);
}

/* Google Maps inner pane (fallback als outer clip niet overal mee tekent) */
#map .gm-style{
  border-radius:var(--kv2-radius-card) !important;
}

.map-wrap{ position:relative; height:100% }

.map-placeholder{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  background:
    radial-gradient(120% 80% at 50% 20%, rgba(255,255,255,.08), rgba(255,255,255,.01)),
    #0e1a2e;
}

.map-placeholder::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  pointer-events:none;
}

.map-placeholder.is-loading::after{
  content:"Kaart laden...";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(12,12,18,.58);
  color:rgba(255,255,255,.9);
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  backdrop-filter:blur(2px);
}

.map-placeholder.is-loading::before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,.10), rgba(255,255,255,.02));
  background-size:200% 100%;
  animation:kv2MapShimmer 1.2s linear infinite;
}

.map-placeholder.is-ready::after{
  content:none;
}

.map-placeholder.is-error::after{
  content:"Kaart kon niet geladen worden";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  z-index:2;
  padding:9px 12px;
  border-radius:10px;
  border:1px solid rgba(255,90,90,.35);
  background:rgba(80,0,0,.42);
  color:#ffd7d7;
  font-size:12px;
  font-weight:700;
}

@keyframes kv2MapShimmer{
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.map-overlay{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:1001;
  background:rgba(0,0,0,.55);
  color:#fff;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.2);
  font:13px/1.35 var(--font-sans);
  box-shadow:0 6px 20px rgba(0,0,0,.3);
}

.map-overlay__close{
  position:absolute;
  top:6px;
  right:6px;
  width:24px;
  height:24px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:16px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.map-overlay__close:hover{
  background:rgba(255,255,255,.28);
}

.map-overlay-toggle{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:1001;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.62);
  color:#fff;
  padding:6px 10px;
  border-radius:999px;
  font:12px/1.2 var(--font-sans);
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}

.map-overlay-toggle:hover{
  background:rgba(0,0,0,.78);
}

.map-overlay h4{
  margin:0 22px 6px 0;
  font-size:13px;
  opacity:.9;
}

.map-legend{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  margin:8px 0 0;
  padding:0;
  list-style:none;
}

.map-legend li{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  line-height:1.2;
}

.map-legend img{
  width:16px;
  height:22px;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
}

.map-chip{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:4px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
}

.map-chip img{
  width:20px;
  height:14px;
  object-fit:cover;
  border-radius:2px;
}

.map-chip strong{ color:var(--accent) }

.map-chip small{
  opacity:.8;
  font-size:12px;
  margin-left:4px;
}

#map-gate{
  display:none; 
  position:absolute;
  inset:0;
  z-index:1002;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:
    radial-gradient(1000px 380px at 25% 10%, rgba(229, 93, 220, .18), transparent 65%),
    radial-gradient(900px 320px at 85% 90%, rgba(68, 151, 255, .18), transparent 60%),
    linear-gradient(145deg, rgba(15, 8, 30, .9), rgba(20, 8, 34, .94));
  backdrop-filter: blur(3px);
  box-sizing:border-box;
}

#map-gate:not([hidden]){
  display:flex;
}

#map-gate .kv2-map-gate__box{
  background:linear-gradient(180deg, rgba(17, 17, 24, .96), rgba(11, 11, 17, .96));
  color:#fff;
  border-radius:16px;
  padding:20px 18px 18px;
  max-width:480px;
  width:min(480px, 100%);
  text-align:center;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 16px 34px rgba(0,0,0,.45);
}

#map-gate .kv2-map-gate__icon{
  width:52px;
  height:52px;
  margin:0 auto 10px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:25px;
  line-height:1;
  background:linear-gradient(145deg, rgba(139,43,184,.35), rgba(229,93,220,.25));
  border:1px solid rgba(255,255,255,.2);
}

#map-gate .kv2-map-gate__box h3{
  margin:0 0 8px;
  font-size:22px;
  line-height:1.2;
}

#map-gate .kv2-map-gate__box p{
  margin:0;
  color:rgba(255,255,255,.86);
  line-height:1.45;
}

#map-gate .btn,
#map-gate button{
  margin-top:14px;
  width:100%;
  min-height:44px;
  border-radius:10px;
  border:0;
  cursor:pointer;
}

.page-intro{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  background: rgba(0, 0, 0, 0.42);
  backdrop-filter:blur(4px);
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.9);
  position: relative;
  z-index: 50;
}
.page-intro .wrapper{ width:var(--wrapper); padding:var(--kv2-section-y) 18px }

/* Advertentie bovenaan binnen page-intro (geen losse wrapper erboven) */
.page-intro > .wrapper.page-intro__ad{
  padding:var(--kv2-section-y) 18px 12px 18px;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow-x:hidden;
}
.page-intro > .wrapper.page-intro__grid{
  padding:12px 18px var(--kv2-section-y) 18px;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

/* AdSense mag niet breder zijn dan de kolom (voorkomt horizontale scroll op mobiel) */
.page-intro .ad-home-panel{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow-x:hidden;
}
.page-intro .adblock.ad-home-top{
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.page-intro .adblock.ad-home-top ins.adsbygoogle{
  max-width:100% !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.page-intro .adblock.ad-home-top iframe{
  max-width:100% !important;
}

/* Overzicht (regio): breadcrumb + uitgebreide pi-desc */
.page-intro .pi-desc--html{
  margin:10px 0 0;
  opacity:0.92;
  line-height:1.65;
  color:rgba(255,255,255,.9);
}
.page-intro .pi-desc--html .kv2-pi-desc__p{
  margin:0 0 12px;
}
.page-intro .pi-desc--html .kv2-pi-desc__p:last-child{
  margin-bottom:0;
}
.page-intro .pi-desc--html .kv2-pi-desc__link{
  color:rgba(255,255,255,.95);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Sectietitels: één stijl + gradientlijn (paars → oranje), zelfde als .h-underline */
#pi-title, .pi-title, .h-underline{
  margin:0 0 var(--kv2-title-below-gap);
  font-size:22px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-0.01em;
  color:#fff;
  position:relative;
  display:inline-block;
  padding-bottom:12px;
}
.h-underline--with-icon{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.kv2-section-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15em;
  height: 1.15em;
  flex-shrink: 0;
  color: rgba(255, 255, 255, .92);
  opacity: .92;
}

.kv2-section-icon .bi{
  font-size: 1.05em;
  line-height: 1;
}

.kv2-section-icon--svg svg,
.kv2-section-icon svg{
  display: block;
  width: 100%;
  height: 100%;
}
#pi-title::after, .pi-title::after, .h-underline::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(88px, 28vw);
  height:3px;
  background:var(--kv2-title-rule);
  border-radius:3px;
  opacity:.9;
}

/* Paginatitels (eerste H1 / hoofdtitel): groter, meer presence */
:is(
  h1.h-underline,
  h1.h-page-title,
  #pi-title,
  .kermis-hero__title,
  .news-hero__title,
  .woordenboek__detail-title,
  .woordenboek__hero-title,
  .kib-hero__title,
  .kp-hero h1
){
  font-size:clamp(1.65rem, 3.8vw, 2.65rem);
  line-height:1.12;
  font-weight:900;
  letter-spacing:.01em;
  color:#fff;
  text-shadow:
    0 0 24px rgba(170, 49, 174, .35),
    0 2px 18px rgba(0, 0, 0, .45);
}

:is(
  h1.h-underline,
  h1.h-page-title,
  #pi-title,
  .kib-hero__title
)::after{
  width:min(120px, 34vw);
}

.pi-title.center::after{
  left:50%;
  transform:translateX(-50%);
}
#pi-desc{ margin:10px 0 0; opacity:.9; line-height:1.65 }
.page-intro .pi-muted a{
  color:#fff !important;
  text-decoration:underline;
  text-underline-offset:2px;
}
.page-intro #pi-desc a{
  color:#fff !important;
  text-decoration:underline;
  text-underline-offset:2px;
}
.page-intro .pi-agenda-line{
  margin:10px 0 0;
  opacity:.9;
  line-height:1.65;
  color:rgba(255,255,255,.9);
}
.page-intro .pi-agenda-line a{
  color:#fff !important;
  text-decoration:underline;
  text-underline-offset:2px;
}

.search{ position:relative }
#kv2-suggest,
#kv2-suggest-mobile-popover{
  position:absolute; z-index:4000;
  top:100%; left:0; right:0; margin-top:6px;
  background:rgba(0,0,0,.9);
  border:1px solid rgba(255,255,255,.2);
  border-radius:12px;
  padding:6px;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}
#kv2-suggest .sug-item,
#kv2-suggest-mobile-popover .sug-item{ display:block; padding:8px 10px; border-radius:10px; color:#fff; cursor:pointer }
#kv2-suggest .sug-item:hover,
#kv2-suggest .sug-item.is-active,
#kv2-suggest-mobile-popover .sug-item:hover,
#kv2-suggest-mobile-popover .sug-item.is-active{ background:rgba(255,255,255,.10) }
#kv2-suggest .sug-top,
#kv2-suggest-mobile-popover .sug-top{ font-weight:600 }
#kv2-suggest .sug-plaats,
#kv2-suggest-mobile-popover .sug-plaats{ margin-right:6px }
#kv2-suggest .sug-titel,
#kv2-suggest-mobile-popover .sug-titel{ opacity:1 }
#kv2-suggest .sug-sub,
#kv2-suggest-mobile-popover .sug-sub{ font-size:12px; opacity:.85 }

.gm-style .gm-style-iw-c{
  background:#2c2c2c !important; color:#2c2c2c !important;
  border-radius:12px !important; padding:0 !important;
  box-shadow:0 6px 20px rgba(0,0,0,.5) !important;
  overflow:hidden !important;
}
.gm-style .gm-style-iw-d{
  overflow:hidden !important;
  padding:0 !important;
  background:#212121 !important;
}
.gm-style .gm-style-iw-t::after{ background:#2c2c2c !important }
.gm-ui-hover-effect{ filter:invert(1) !important }

.gm-style .gm-style-iw-c .infow,
.gm-style .gm-style-iw-d .infow{
  color:#fff !important;
}
.gm-style .gm-style-iw-c .infow__title,
.gm-style .gm-style-iw-d .infow__title{
  color:#fff !important;
}
.gm-style .gm-style-iw-c .infow__subtitle,
.gm-style .gm-style-iw-d .infow__subtitle{
  color:#bfbfbf !important;
}
.gm-style .gm-style-iw-c .infow__dates,
.gm-style .gm-style-iw-d .infow__dates{
  color:#fff !important;
}

.infow{ position:relative; font:14px/1.4 var(--font-sans); min-width:260px; color:#fff }
.infow--dark{ background:#212121; border:1px solid rgba(255,255,255,.08); border-radius:14px; overflow:hidden; box-shadow:0 12px 34px rgba(0,0,0,.45) }
.infow__header{ position:relative; width:100%; height:140px; background:#111; display:block }
.infow__header img{ width:100%; height:100%; object-fit:cover; display:block }
.infow__header--hero{
  min-height:132px;
  background-color:#1e1a2e;
  background-repeat:no-repeat;
}
.infow__header-scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,10,18,.15) 0%, rgba(8,10,18,.78) 100%);
  pointer-events:none;
}
.infow__header-text{
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  padding:10px 12px 12px;
  color:#fff;
}
.infow__header-text .infow__title{
  margin:0 0 2px;
  font-size:15px;
  line-height:1.25;
  font-weight:800;
}
.infow__header-text .infow__subtitle{
  margin:0;
  font-size:12px;
  color:rgba(255,255,255,.88);
  font-weight:600;
}
.infow__over{
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.88;
  margin:0 0 4px;
  font-weight:700;
}
.infow__credit{
  position:absolute; right:8px; bottom:6px;
  background:rgba(0,0,0,.55); backdrop-filter:blur(2px);
  padding:2px 6px; border-radius:6px; font-size:11px; opacity:.9;
}
.infow__body{ padding:12px 14px 14px }
.infow__title{ font-weight:700; font-size:15px; margin:0 0 2px }
.infow__cc{ font-weight:600; opacity:.85; font-size:12px; margin-left:4px }
.infow__subtitle{ color:#bfbfbf; font-size:13px; margin:0 0 6px; font-weight:600 }
.infow__dates{ margin-top:6px; font-weight:600 }
.infow__row{ display:flex; justify-content:space-between; gap:12px; margin:3px 0; opacity:.95 }
.infow__row > span:first-child{ opacity:.85 }
.infow__cta a{
  display:block; width:100%; text-align:center;
  margin-top:10px; padding:10px 12px; border-radius:10px;
  text-decoration:none; font-weight:700; color:#fff;
  background:var(--accent); box-shadow:0 2px 8px rgba(255,122,26,.35);
}
.infow__cta a:hover{ filter:brightness(1.1) }

@media (max-width: 720px){
  .gm-style .gm-style-iw-c{
    max-width:min(268px, calc(100vw - 40px)) !important;
    max-height:min(62vh, 440px) !important;
  }
  .gm-style .gm-style-iw-d{
    max-height:min(62vh, 440px) !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .infow{
    min-width:0;
    font-size:12px;
    line-height:1.35;
  }
  .infow__header{
    height:82px;
  }
  .infow__body{
    padding:8px 10px 10px;
  }
  .infow__title{
    font-size:13px;
  }
  .infow__cc{
    font-size:10px;
  }
  .infow__subtitle{
    font-size:11px;
    margin:0 0 4px;
  }
  .infow__dates{
    margin-top:4px;
    font-size:11px;
    line-height:1.3;
  }
  .infow__row{
    margin:2px 0;
    font-size:11px;
    gap:8px;
  }
  .infow__cta a{
    margin-top:8px;
    padding:8px 10px;
    font-size:12px;
    border-radius:8px;
  }
  .infow .fav-btn-map.fav-btn--pi{
    width:20px;
    height:20px;
    min-width:20px;
    padding:0;
    gap:0;
    border-radius:999px;
  }
  .infow .fav-btn-map.fav-btn--pi::after{
    content:none;
    display:none;
  }
  .infow .fav-btn-map.fav-btn--pi span[aria-hidden="true"]{
    width:20px;
    height:20px;
    font-size:11px;
    border-radius:999px;
  }
  .infow__promo-ribbon{
    padding:5px 10px 14px;
  }
  .infow__promo-ribbon span{
    font-size:10px;
  }
}

.infow__titleRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.fav-btn-map{
  flex:0 0 auto;
  width:27px;
  height:27px;
  border-radius:999px;
}
.infow .fav-btn-map.fav-btn--pi{
  width:22px;
  height:22px;
  min-width:22px;
  padding:0;
  gap:0;
}
.infow .fav-btn-map.fav-btn--pi::after{
  content:none;
  display:none;
}
.infow .fav-btn-map.fav-btn--pi span[aria-hidden="true"]{
  width:22px;
  height:22px;
  font-size:11px;
}
.fav-btn-map > span{
  font-size:12px;
}

/* Desktop: grotere favorietenknop mét label "Favoriet" in de infowindow. Mobiel blijft compact. */
@media (min-width: 721px){
  .infow .fav-btn-map.fav-btn--pi{
    width:auto;
    height:auto;
    min-width:0;
    padding:4px 12px 4px 4px;
    gap:8px;
    border-radius:999px;
  }
  .infow .fav-btn-map.fav-btn--pi span[aria-hidden="true"]{
    width:28px;
    height:28px;
    font-size:15px;
  }
  .infow .fav-btn-map.fav-btn--pi::after{
    content:"Favoriet";
    display:inline;
    font-size:13px;
    line-height:1;
    white-space:nowrap;
  }
}

.infow--promoted{
  border-color: rgba(255,215,90,.35);
  box-shadow:
    0 12px 34px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,215,90,.2);
}
.infow--promoted .infow__header{
  overflow:hidden;
}
.infow__promo-ribbon{
  position:absolute;
  left:0;
  right:0;
  top:0;
  z-index:2;
  padding:7px 12px 20px;
  background: linear-gradient(
    180deg,
    rgba(255,210,90,.62) 0%,
    rgba(224,158,20,.46) 34%,
    rgba(168,112,0,.24) 58%,
    rgba(168,112,0,0) 100%
  );
  pointer-events:none;
}
.infow__promo-ribbon span{
  display:block;
  width:100%;
  text-align:left;
  padding:0;
  border-radius:0;
  font-size:11px;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-weight:800;
  color:#fff4cf;
  background:transparent;
  border:0;
  box-shadow:none;
  transform:none;
  text-shadow: 0 1px 2px rgba(60,36,0,.35);
}
.infow--promoted .infow__body{
  position:relative;
}
.infow--promoted .infow__body::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(160px 90px at 90% 0%, rgba(255,215,90,.2), transparent 70%),
    radial-gradient(150px 80px at 0% 100%, rgba(42,95,158,.16), transparent 75%);
  pointer-events:none;
  z-index:0;
}
.infow--promoted .infow__body > *{
  position:relative;
  z-index:1;
}

@keyframes pulse-glow{
  0%{   transform:scale(1);   filter:drop-shadow(0 0 4px #fff) }
  50%{  transform:scale(1.2); filter:drop-shadow(0 0 12px #fff) }
  100%{ transform:scale(1);   filter:drop-shadow(0 0 4px #fff) }
}
.gm-style img{ transition:transform .18s ease, filter .18s ease }
.marker-glow img{ animation:pulse-glow 1s infinite }
.km-marker{
  position:relative;
  overflow:visible;
  line-height:0;
  pointer-events:none;
}
.km-marker__visual{
  position:absolute;
  pointer-events:none;
  bottom:0;
}
.km-marker__visual img{
  display:block;
  width:100%;
  height:100%;
  pointer-events:none;
}

/* Promoted: layout 64×40, PNG 60×40 links → standaard AdvancedMarker-anker (onder midden) = tip (32,40). */
.km-marker--promoted .km-marker__visual{
  line-height:0;
  font-size:0;
}

.km-marker__halo{
  position:absolute;
  left: var(--km-tip-x, 14px);
  top: var(--km-tip-y, 39px);
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  border-radius: 999px;
  pointer-events:none;
  z-index:0;

  background:
    radial-gradient(circle, rgba(255,215,90,.32) 0%, rgba(255,215,90,.16) 42%, rgba(255,215,90,0) 72%);
  box-shadow:
    0 0 0 1px rgba(24,18,6,.35),
    0 0 0 2px rgba(255,215,90,.42),
    0 0 26px rgba(255,215,90,.24);

  animation: kv2MarkerHaloPulse 3.2s ease-in-out infinite;
}

.km-marker__badge{
  position:absolute;
  right:-6px;
  top:-8px;
  width:18px;
  height:18px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: radial-gradient(circle, rgba(255,255,255,.95) 0%, rgba(255,215,90,.92) 55%, rgba(180,120,0,.9) 100%);
  color:#1a1300;
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow: 0 4px 14px rgba(0,0,0,.35);
  pointer-events:none;
  z-index:3;
}

.km-marker--promoted .km-marker__visual img{
  position:relative;
  z-index:1;
  width: 60px;
  height: 40px;
  max-width: 60px;
  filter:
    drop-shadow(0 0 1px rgba(0,0,0,.35))
    drop-shadow(0 0 12px rgba(255,215,90,.24))
    drop-shadow(0 0 20px rgba(255,215,90,.18));
  animation: kv2MarkerOccasionalBounce 8s ease-in-out infinite;
  will-change: transform;
}

@keyframes kv2MarkerHaloPulse{
  0%, 100% { transform: translate(-50%, -50%) scale(.94); opacity: .92; }
  50%      { transform: translate(-50%, -50%) scale(1.05); opacity: .70; }
}

/* Tiny bounce only at start of each cycle, then long rest */
@keyframes kv2MarkerOccasionalBounce{
  0%, 72%, 100% { transform: translateY(0); }
  3%            { transform: translateY(-3px); }
  5.5%          { transform: translateY(0); }
  7.5%          { transform: translateY(-1.5px); }
  9%            { transform: translateY(0); }
}
.km-marker.marker-glow .km-marker__visual img{
  filter:
    drop-shadow(0 0 8px rgba(var(--accent-rgb), .85))
    drop-shadow(0 0 16px rgba(var(--accent-rgb), .55));
}

/* ?slowdown=1 — geleidelijk opploppen van markers (social/video) */
.km-marker.km-marker--await-reveal{
  opacity: 0;
  pointer-events: none;
}
.km-marker.km-marker--pop-in .km-marker__visual img{
  animation: kmMarkerSlowPopImg .5s cubic-bezier(.34, 1.35, .64, 1) forwards;
  transform-origin: 50% 100%;
}
.km-marker--promoted.km-marker--pop-in .km-marker__visual img{
  animation-duration: .58s;
}
@keyframes kmMarkerSlowPopImg{
  0%{
    opacity: 0;
    transform: scale(.12);
    filter: brightness(1.35);
  }
  65%{
    opacity: 1;
    transform: scale(1.1);
  }
  100%{
    opacity: 1;
    transform: scale(1);
    filter: none;
  }
}

#tekst-overzicht{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));
  gap:var(--kv2-gap-text-items);
  align-content:start;
  background:transparent;
}

.country_title,
.snellinks,
.rcl,
#binnenkort,
.overview-top{
  grid-column:1 / -1;
  width:100%;
}

/* index: snellinks/snel naar land + sort naast elkaar op desktop */
.kv2-overview-head{
  display:flex;
  flex-direction:column;
  gap:var(--kv2-space-sm);
  width:100%;
  grid-column:1 / -1;
  margin-top:var(--kv2-space-md);
  align-items:stretch;
}
.kv2-overview-head > .overview-top{
  margin-top:0;
}
.kv2-overview-head > .overview-top.overview-in-panel{
  flex:1 1 auto;
  min-width:0;
}
.kv2-overview-head > .kv2-list-toolbar{
  flex:0 0 auto;
  width:100%;
}
.kv2-overview-head > .kv2-list-sort-panel{
  flex:0 0 auto;
  width:100%;
}
@media (min-width:901px){
  .kv2-overview-head{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(0,1fr);
    align-items:start;
    gap:var(--kv2-space-lg);
    width:100%;
    max-width:100%;
  }
  .kv2-overview-head > .overview-top.overview-in-panel:first-of-type{
    min-width:0;
    width:100%;
    max-width:100%;
  }
  .kv2-overview-head > .kv2-list-toolbar{
    width:100%;
    max-width:none;
    min-width:0;
  }
  .kv2-overview-head > .kv2-list-sort-panel{
    width:100%;
    max-width:none;
    min-width:0;
  }
  .kv2-overview-head .kv2-list-sort__fields{
    width:100%;
  }
  .kv2-overview-head .kv2-list-sort__select{
    flex:1 1 0;
    min-width:0;
  }
  .kv2-overview-head .overview-in-panel .chip{
    padding:5px 9px;
    font-size:12px;
    gap:6px;
  }
  .kv2-overview-head .overview-in-panel .chip__flag{
    width:18px;
    height:12px;
  }
  .kv2-overview-head .overview-in-panel .quick-tags{
    gap:6px;
  }
  .kv2-overview-head .overview-in-panel .snellinks__row{
    gap:6px;
  }
  .kv2-overview-head .overview-in-panel .section-title{
    margin-bottom:10px;
  }
  .kv2-overview-head .overview-in-panel .section-title__label{
    font-size:11px;
    padding:6px 10px;
  }
}

.eventTextItem,
.video_embed{ width:100% }

.country_title{ margin:var(--kv2-space-lg) 0 var(--kv2-title-below-gap) }

/* Tekst-overzicht: sectiekop + weergave-switch */
h2.country_title.kv2-country-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin:var(--kv2-space-lg) 0 var(--kv2-title-below-gap);
  grid-column:1 / -1;
}
.kv2-country-heading__label.pi-title{
  flex:1 1 auto;
  min-width:0;
  margin-bottom:0;
}
h2.country_title.kv2-country-heading:has(+ .kv2-country-photo-filter){
  margin-bottom:3px;
}
.kv2-country-heading__tools{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:4px;
  flex-shrink:0;
  padding-right:6px;
}
.kv2-country-photo-filter{
  grid-column:1 / -1;
  display:flex;
  justify-content:flex-end;
  width:100%;
  margin:0;
  padding:0 10px 0 0;
  box-sizing:border-box;
}
.kv2-country-photo-filter[hidden]{
  display:none !important;
}
@media (max-width: 460px){
  h2.country_title .kv2-country-heading__label.pi-title{
    font-size:21px;
  }
}
.kv2-list-view-toolbar{
  display:none !important;
}
.kv2-list-photo-filter{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:0;
  padding:0;
  color:rgba(255,255,255,.72);
  font-size:11px;
  line-height:1.2;
  font-weight:500;
  cursor:pointer;
  user-select:none;
}
.kv2-list-photo-filter input{
  width:12px;
  height:12px;
  margin:0;
  flex-shrink:0;
  accent-color:#8bb4e8;
  cursor:pointer;
}
.kv2-list-photo-filter:hover{
  color:rgba(255,255,255,.9);
}
.kv2-list-view-toggle{
  display:inline-flex;
  gap:4px;
  padding:3px;
  border-radius:999px;
  background:rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.16);
  flex-shrink:0;
}
.kv2-list-view-toggle__btn{
  appearance:none;
  border:0;
  margin:0;
  padding:6px 10px;
  border-radius:999px;
  background:transparent;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.kv2-list-view-toggle__btn:hover{
  color:#fff;
  background:rgba(255,255,255,.1);
}
.kv2-list-view-toggle__btn.is-active{
  color:#fff;
  background:rgba(255,255,255,.18);
  box-shadow:0 0 0 1px rgba(255,255,255,.12) inset;
}
.kv2-list-view-toggle__btn .bi{
  display:block;
  font-size:1.05rem;
  line-height:1;
  transform:translateY(2px);
}

.kv2-list-lazy-sentinel{
  grid-column:1 / -1;
  width:100%;
  height:1px;
  margin:0;
  padding:0;
  pointer-events:none;
}

/* Compacte table-tegels: __body mag table niet onderbreken (zelfde patroon overal). */
#tekst-overzicht.kv2-list-view--compact .eventTextItem__media,
html.kv2-list-pref-compact #tekst-overzicht .eventTextItem__media,
.eventTextList .eventTextItem__media,
.hb-list .eventTextItem__media,
.hb-right .eventTextItem__media{
  display:none;
}
#tekst-overzicht.kv2-list-view--compact .eventTextItem__body,
html.kv2-list-pref-compact #tekst-overzicht .eventTextItem__body,
.eventTextList .eventTextItem__body,
.hb-list .eventTextItem__body,
.hb-right .eventTextItem__body{
  display:contents;
}
.eventTextList .eventTextItem,
.hb-list .eventTextItem,
.hb-right .eventBlock,
.hb-right .eventTextItem{
  width:100%;
  max-width:100%;
  min-width:0;
}
.eventTextList .eventTextItem .placefield,
.hb-list .eventTextItem .placefield,
.hb-right .eventTextItem .placefield{
  min-width:0;
}
.eventTextList .eventTextItem .placefield .placespan,
.eventTextList .eventTextItem .placefield .eventname,
.hb-right .eventTextItem .placefield .placespan,
.hb-right .eventTextItem .placefield .eventname{
  overflow-wrap:break-word;
  word-break:normal;
}

/* Grote tegels: foto + compacte 80px-body (zelfde opbouw als filter met headerfoto) */
#tekst-overzicht.kv2-list-view--cards,
html.kv2-list-pref-cards #tekst-overzicht{
  --kv2-card-photo-h:80px;
  --kv2-card-body-h:80px;
  --kv2-card-total-h:calc(var(--kv2-card-photo-h) + var(--kv2-card-body-h));
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem{
  display:grid;
  grid-template-rows:var(--kv2-card-photo-h) auto;
  grid-template-columns:minmax(0,1fr);
  width:100%;
  height:auto;
  min-height:var(--kv2-card-total-h);
  max-height:none;
  padding:0;
  overflow:visible;
  box-sizing:border-box;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  outline:none;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem__media,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem__media{
  grid-row:1;
  height:var(--kv2-card-photo-h);
  min-height:var(--kv2-card-photo-h);
  max-height:var(--kv2-card-photo-h);
  background-color:#1e1a2e;
  background-image:
    linear-gradient(180deg, rgba(12,10,20,.12) 0%, rgba(12,10,20,.42) 100%),
    var(--list-photo, var(--promo-bg, linear-gradient(135deg, rgba(90,140,220,.35), rgba(255,122,26,.28))));
  background-size:cover;
  background-position:50% 50%;
  background-repeat:no-repeat;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem__body,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem__body{
  grid-row:2;
  display:table;
  width:100%;
  height:var(--kv2-card-body-h);
  min-height:var(--kv2-card-body-h);
  max-height:none;
  padding:4px;
  box-sizing:border-box;
  table-layout:auto;
  position:relative;
  z-index:1;
  overflow:visible;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem .placefield .place,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem .placefield .place{
  height:65%;
  min-height:0;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem .placefield .placespan,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem .placefield .placespan{
  display:block;
  padding:5px 0 0 10px;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem .placefield .eventname,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem .placefield .eventname,
#tekst-overzicht.kv2-list-view--cards .eventTextItem .placefield .eventname--with-eti,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem .placefield .eventname--with-eti{
  margin-top:0;
  padding-left:10px;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem .datefield,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem .datefield{
  display:block;
  height:auto;
  min-height:0;
  margin-top:3px;
  margin-bottom:4px;
  padding:4px 8px;
  border-radius:10px;
  background:rgba(255,255,255,.10);
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem:not(.is-promoted) .eventTextItem__body,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem:not(.is-promoted) .eventTextItem__body{
  background:rgba(0,0,0,.7);
  border-left:4px solid transparent;
  box-sizing:border-box;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem.currentEvent:not(.is-promoted) .eventTextItem__body,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.currentEvent:not(.is-promoted) .eventTextItem__body{
  border-left-color:#3cb371;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem.futureEvent:not(.is-promoted) .eventTextItem__body,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.futureEvent:not(.is-promoted) .eventTextItem__body{
  border-left-color:#a855f7;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem.pastEvent:not(.is-promoted) .eventTextItem__body,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.pastEvent:not(.is-promoted) .eventTextItem__body{
  border-left-color:#9a9a9a;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem.cancelledEvent:not(.is-promoted) .eventTextItem__body,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.cancelledEvent:not(.is-promoted) .eventTextItem__body{
  border-left-color:#c0392b;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem:not(.is-promoted):hover .eventTextItem__body,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem:not(.is-promoted):hover .eventTextItem__body{
  background:rgba(0,0,0,.78);
}
@media (min-width:641px){
  #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on),
  html.kv2-list-pref-cards #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on){
    --kv2-card-body-h:86px;
    --kv2-card-total-h:calc(var(--kv2-card-photo-h) + var(--kv2-card-body-h));
  }
  #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem__media,
  html.kv2-list-pref-cards #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem__media{
    border-radius:var(--kv2-radius-card) var(--kv2-radius-card) 0 0;
    overflow:hidden;
  }
  #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem__body,
  html.kv2-list-pref-cards #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem__body{
    height:var(--kv2-card-body-h);
    min-height:var(--kv2-card-body-h);
    padding:6px;
    border-radius:0 0 var(--kv2-radius-card) var(--kv2-radius-card);
    overflow:hidden;
    border-left:4px solid transparent;
    box-sizing:border-box;
  }
  #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem.currentEvent .eventTextItem__body,
  html.kv2-list-pref-cards #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem.currentEvent .eventTextItem__body{
    border-left-color:#3cb371;
  }
  #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem.futureEvent .eventTextItem__body,
  html.kv2-list-pref-cards #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem.futureEvent .eventTextItem__body{
    border-left-color:#a855f7;
  }
  #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem.pastEvent .eventTextItem__body,
  html.kv2-list-pref-cards #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem.pastEvent .eventTextItem__body{
    border-left-color:#9a9a9a;
  }
  #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem.cancelledEvent .eventTextItem__body,
  html.kv2-list-pref-cards #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem.cancelledEvent .eventTextItem__body{
    border-left-color:#c0392b;
  }
}

/* Grote tegels + filter: zonder headerfoto = compacte tegel; met foto = zelfde als standaard grote tegel */
#tekst-overzicht.kv2-list-view--cards .eventTextItem.is-promoted,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.is-promoted,
#tekst-overzicht.kv2-list-view--cards .eventTextItem.is-promoted.currentEvent,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.is-promoted.currentEvent,
#tekst-overzicht.kv2-list-view--cards .eventTextItem.is-promoted.futureEvent,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.is-promoted.futureEvent,
#tekst-overzicht.kv2-list-view--cards .eventTextItem.is-promoted.pastEvent,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.is-promoted.pastEvent{
  background:transparent;
  background-image:none;
  animation:none;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem.is-promoted::before,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.is-promoted::before{
  display:none;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem.is-promoted .eventTextItem__media,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.is-promoted .eventTextItem__media{
  position:relative;
  isolation:isolate;
  animation:kv2PromotedPulse 5.8s ease-in-out infinite;
  background-image:
    linear-gradient(180deg, rgba(12,10,8,.22) 0%, rgba(12,10,8,.48) 100%),
    var(--list-photo, var(--promo-bg));
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem.is-promoted .eventTextItem__media::before,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.is-promoted .eventTextItem__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.36;
  background:linear-gradient(112deg, rgba(255,235,170,0) 36%, rgba(255,235,170,.36) 50%, rgba(255,235,170,0) 64%);
  transform:translateX(-145%);
  animation:kv2PromotedShimmer 10.5s ease-in-out infinite;
}
#tekst-overzicht.kv2-list-view--cards .eventTextItem.is-promoted .eventTextItem__body,
html.kv2-list-pref-cards #tekst-overzicht .eventTextItem.is-promoted .eventTextItem__body{
  background:#151520;
}

/* Grote tegels + filter: zonder headerfoto = compacte tegel; met foto = zelfde als standaard grote tegel */
#tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"],
html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"]{
  display:table !important;
  width:100%;
  height:auto;
  min-height:80px;
  max-height:none;
  grid-template-rows:unset;
  grid-template-columns:unset;
  padding:8px;
  overflow:visible;
  box-sizing:border-box;
  border:0;
}
#tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"] .eventTextItem__media,
html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"] .eventTextItem__media{
  display:none !important;
}
#tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"] .eventTextItem__body,
html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"] .eventTextItem__body{
  display:contents !important;
  width:auto;
  height:auto;
  min-height:0;
  max-height:none;
  padding:0;
  table-layout:auto;
}
body.page--home #tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"],
html.page--home.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"],
#tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"],
html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"]{
  min-height:94px;
  border-radius:var(--kv2-radius-card);
  backdrop-filter:blur(6px);
  overflow:hidden;
}
body.page--home #tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"]:not(.is-promoted),
html.page--home.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"]:not(.is-promoted),
#tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"]:not(.is-promoted),
html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"]:not(.is-promoted){
  background:rgba(0,0,0,.7);
}
body.page--home #tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"]:not(.is-promoted):hover,
html.page--home.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"]:not(.is-promoted):hover,
#tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"]:not(.is-promoted):hover,
html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"]:not(.is-promoted):hover{
  background:rgba(0,0,0,.78);
}
#tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="1"] .eventTextItem__body,
html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="1"] .eventTextItem__body{
  height:var(--kv2-card-body-h);
  min-height:var(--kv2-card-body-h);
}
#tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="1"] .placefield .place,
html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="1"] .placefield .place{
  height:62%;
}
#tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="1"] .datefield,
html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="1"] .datefield{
  display:block;
  height:auto;
  min-height:24px;
  margin-top:3px;
  margin-bottom:4px;
  padding:4px 8px;
  border-radius:10px;
  background:rgba(255,255,255,.10);
}
@media (min-width:641px){
  #tekst-overzicht.kv2-list-view--compact .eventTextItem,
  html.kv2-list-pref-compact #tekst-overzicht .eventTextItem{
    border-radius:var(--kv2-radius-card);
    overflow:hidden;
  }
  #tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="1"] .datefield,
  html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="1"] .datefield{
    margin-top:3px;
  }
}
@media (max-width:640px){
  #tekst-overzicht.kv2-list-view--cards .eventTextItem__body,
  html.kv2-list-pref-cards #tekst-overzicht .eventTextItem__body{
    padding:5px 6px;
  }
  /* Grote tegels + checkbox UIT: zonder headerfoto */
  #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem[data-has-list-photo="0"],
  html.kv2-list-pref-cards #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem[data-has-list-photo="0"]{
    padding:0;
  }
  #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem[data-has-list-photo="0"] .datefield,
  html.kv2-list-pref-cards #tekst-overzicht.kv2-list-view--cards:not(.kv2-list-photo-filter-on) .eventTextItem[data-has-list-photo="0"] .datefield{
    margin-top:3px;
    margin-bottom:4px;
  }
  /* Grote tegels + checkbox AAN: zonder headerfoto */
  #tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="0"],
  html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="0"]{
    padding:5px 6px;
    min-height:58px;
    border-radius:0;
  }
  #tekst-overzicht.kv2-list-view--cards.kv2-list-photo-filter-on .eventTextItem[data-has-list-photo="1"] .eventTextItem__body,
  html.kv2-list-pref-cards.kv2-list-photo-filter-on #tekst-overzicht .eventTextItem[data-has-list-photo="1"] .eventTextItem__body{
    height:auto;
    min-height:58px;
    padding:5px 6px;
  }
}

.titles_actueel{ background:#2d6496; height:37px }
.col.left table tr td p{
  font:normal 11px/1.45 var(--font-sans); color:#333; margin:0 10px; padding:0;
}
.col.left table tr td h2{
  font:600 15px/1.3 var(--font-sans); color:#666; margin:0; padding:0 10px;
}

.eventTextItem{
  position:relative; display:table; width:100%; height:80px;
  padding:4px; cursor:pointer;
  --et-hover-shadow:0 10px 28px rgba(0,0,0,.14);
  transition:box-shadow .22s ease, border-color .22s ease, background .22s ease;
  overflow:visible;
  font-family:var(--font-event);
  letter-spacing:.01em;
  font-feature-settings:"kern" 1;
}
.eventTextItem.is-promoted{
  background-color:#2a2415;
  background-image:
    linear-gradient(180deg, rgba(12,10,8,.28) 0%, rgba(12,10,8,.46) 55%, rgba(7,6,5,.76) 100%),
    var(--promo-bg);
  background-size:cover;
  background-position:50% 50%;
  background-repeat:no-repeat;
  box-shadow:
    0 0 0 1px rgba(212,160,23,.32) inset,
    0 8px 20px rgba(0,0,0,.18);
  transition: box-shadow .24s ease, border-color .24s ease, filter .24s ease;
  animation: kv2PromotedPulse 5.8s ease-in-out infinite;
  will-change: box-shadow, filter;
  overflow:hidden;
  isolation:isolate;
}
.eventTextItem.is-promoted::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.36;
  background:linear-gradient(112deg, rgba(255,235,170,0) 36%, rgba(255,235,170,.36) 50%, rgba(255,235,170,0) 64%);
  transform:translateX(-145%);
  animation:kv2PromotedShimmer 10.5s ease-in-out infinite;
}
.eventTextItem.is-promoted > *{
  position:relative;
  z-index:1;
}
.eventTextItem.is-promoted .iconfield{
  border-left-color:#d4a017;
  border-left-width:6px;
  box-shadow:inset 1px 0 0 rgba(255,232,158,.42);
  background:transparent;
}
.eventTextItem.is-promoted .placefield{
  background:transparent;
}
.eventTextItem.is-promoted .datefield{
  background: rgba(0,0,0,.34);
  color:#fff;
}
.eventTextItem.is-promoted .datefield strong,
.eventTextItem.is-promoted .datefield .datefield__date{
  color:#ffd86b;
}

/* Force promoted photo background over status variants (e.g. currentEvent) */
.eventTextItem.is-promoted,
.eventTextItem.is-promoted.currentEvent,
.eventTextItem.is-promoted.futureEvent,
.eventTextItem.is-promoted.pastEvent{
  background-color:#2a2415;
  background-image:
    linear-gradient(180deg, rgba(12,10,8,.28) 0%, rgba(12,10,8,.46) 55%, rgba(7,6,5,.76) 100%),
    var(--promo-bg);
  background-size:cover;
  background-position:50% 50%;
  background-repeat:no-repeat;
}
.eventTextItem:not(.is-promoted):hover{
  transform:none;
  animation:none;
}
@media (hover:hover){
  .eventTextItem:hover{
    box-shadow:var(--et-hover-shadow);
  }
}
.eventTextItem.pb0{ padding-bottom:0 !important }
.eventTextItem.cancelledEvent, .video_embed.cancelledEvent{ opacity:.4 }
.eventTextItem.pastEvent, .video_embed.pastEvent{ opacity:.8 }

.eventTextItem .iconfield{
  display:table-cell; width:35px; text-align:center; vertical-align:middle; background:transparent;
  padding-left: 6px;
}

/* daysleftfield: statuskleuren (toekomst / nu / verleden) */
.eventTextItem.futureEvent .daysleftfield{
  background: linear-gradient(160deg, #9b59d9 0%, #6b21a8 100%);
}
.eventTextItem.currentEvent .daysleftfield{
  background: linear-gradient(160deg, #4ecf8a 0%, #2d9a5f 100%);
}
.eventTextItem.pastEvent .daysleftfield{
  background: linear-gradient(160deg, #b0b0b0 0%, #757575 100%);
}
.eventTextItem.is-promoted .daysleftfield,
.eventTextItem.is-promoted.futureEvent .daysleftfield,
.eventTextItem.is-promoted.currentEvent .daysleftfield,
.eventTextItem.is-promoted.pastEvent .daysleftfield{
  background:#b78610;
}

.eventTextItem.cancelledEvent .daysleftfield{
  background: linear-gradient(160deg, #d9534f 0%, #96281b 100%);
}
.eventTextItem.currentEvent{
  background: linear-gradient(to right, rgba(60,179,113,.06), transparent 60%);
}

.eventTextItem .iconfield img.flagicon{ width:22px; height:22px; }
.eventTextItem .placefield{ display:table-cell; background:transparent }
.eventTextItem .placefield .place{ height:65% }
.eventTextItem .placefield .placespan{
  display:block; padding:5px 0 0 10px; color:rgba(255,255,255,.96); font-size:17px; font-weight:800; text-transform:uppercase;
}
.eventTextItem .placefield .placespan .promo-mini{
  display:inline-flex;
  margin-left:8px;
  position:relative;
  top:-3px;
  padding:2px 6px;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  letter-spacing:.04em;
  font-weight:800;
  color:#5f4300;
  background: linear-gradient(135deg, rgba(255,228,138,.95), rgba(222,168,28,.9));
  border:1px solid rgba(173,122,0,.45);
  vertical-align:middle;
}
.eventTextItem.is-promoted .placefield .placespan,
.eventTextItem.is-promoted .placefield .eventname,
.eventTextItem.is-promoted .placefield .eventname--with-eti{
  color:#fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
}
@keyframes kv2PromotedPulse{
  0%, 100% {
    filter: brightness(1) saturate(1.02);
    box-shadow:
      0 0 0 1px rgba(212,160,23,.32) inset,
      0 8px 20px rgba(0,0,0,.18),
      0 0 22px rgba(255,205,80,.16);
  }
  50% {
    filter: brightness(1.04) saturate(1.10);
    box-shadow:
      0 0 0 1px rgba(255,223,120,.58) inset,
      0 12px 28px rgba(0,0,0,.24),
      0 0 34px rgba(255,215,90,.30);
  }
}
@keyframes kv2PromotedShimmer{
  0%, 72%, 100%{
    transform:translateX(-145%);
    opacity:.12;
  }
  82%{
    transform:translateX(145%);
    opacity:.40;
  }
}

/* Hover state after base-promoted block to avoid override issues */
.eventTextItem.is-promoted:hover,
.eventTextItem.is-promoted.currentEvent:hover,
.eventTextItem.is-promoted.futureEvent:hover,
.eventTextItem.is-promoted.pastEvent:hover{
  /* keep photo fixed; fade/darken only */
  background-image:
    linear-gradient(180deg, rgba(18,18,18,.60) 0%, rgba(16,16,16,.74) 58%, rgba(10,10,10,.88) 100%),
    var(--promo-bg);
  box-shadow:
    0 0 0 1px rgba(255,223,120,.58) inset,
    0 14px 30px rgba(0,0,0,.28),
    0 0 30px rgba(255,215,90,.22);
}
.eventTextItem .placefield .placespan .km{ font-weight:600; font-size:14px; text-transform:lowercase }
.eventTextItem .placefield .placeiconfield{ display: flex; float:right; padding:5px 5px 0 0 }
.eventTextItem .placefield .placeiconfield img{ width:26px; height:26px; opacity:.8 }
.eventTextItem .placefield .eventname{ display:block; padding-left:10px; font-size:13px; font-style:italic; color:rgba(255,255,255,.78); }
.eventTextItem .placefield .eventname--with-eti{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 10px;
  padding-left:10px;
  font-size:13px;
  font-style:italic;
  color:rgba(255,255,255,.78);
}
.eventTextItem .placefield .eventname--with-eti .eventname__text{ font-style:italic; }
.eventTextItem .placefield .eventname--with-eti.eventname--no-gel{
  gap:0;
  justify-content:flex-start;
}
@media (min-width:901px){
  .eventTextItem .placefield .eventname,
  .eventTextItem .placefield .eventname--with-eti{
    font-size:14px;
  }
}
.eventTextItem .placefield .eti-distance--inline{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:12px;
  font-weight:500;
  font-style:normal;
  color:#555;
  white-space:nowrap;
}
.eventTextItem .placefield .eti-distance--inline .bi-geo-alt{
  font-size:13px;
  opacity:.88;
}
.eventTextItem .placefield .eventname-line--cancelled{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 10px;
  padding-left:10px;
}
.eventTextItem .placefield .eventcancelled{ display:inline; font-size:14px; font-weight:bold; color:#FF0004 }
.eventTextItem .datefield{
  display:block; padding:3px 8px 4px 10px; height:auto;
  background:rgba(255,255,255,.08); font-size:15px; font-weight:600; box-sizing:border-box;
  color:#fff;
  border-radius:var(--kv2-radius-sm);
  margin-top:3px;
  margin-bottom:4px;
}
.eventTextItem .datefield strong,
.eventTextItem .datefield .datefield__date{
  color:var(--et-date-accent);
  font-weight:800;
}
.eventTextItem.currentEvent .datefield strong,
.eventTextItem.currentEvent .datefield .datefield__date{
  color:#7ee8b0;
}
.eventTextItem.pastEvent .datefield strong,
.eventTextItem.pastEvent .datefield .datefield__date{
  color:#d0d0d0;
}
.eventTextItem .daysleftfield{
  display:table-cell; width:44px; color:#fff;
  border-left:0; position:relative; text-align:center; vertical-align:middle;
  font-size:11px; text-transform:uppercase;
  border-radius:0 var(--kv2-radius-sm) var(--kv2-radius-sm) 0;
  overflow:hidden;
}
.eventTextItem .daysleftfield .counting{ font-size:20px; font-weight:600 }
.eventTextItem .daysleftfield:after{
  display:none;
}

.km{ font-size:13px; opacity:.85; margin-left:6px; }
.km--ctx{ opacity:.75; }
.km--home{ font-weight:700; opacity:.95; }
.km__ico{ margin-right:4px; }

/* --- FAVORIET BUTTONS (basis) --- */
.fav-btn{
  z-index: 10;

  /* basis look */
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.35);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(6px);
  line-height: 1;
  padding: 0;

  /* layout */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  transition: background .15s ease, border-color .15s ease, transform .15s ease, color .15s ease;
}

/* Default (icon-only): alleen voor niet-hero/pi/mini */
.fav-btn:not(.fav-btn--hero):not(.fav-btn--pi):not(.fav-btn--mini){
  width: 36px;
  height: 36px;
  font-size: 18px;
  display: grid;
  place-items: center;
}

/* ON states */
.fav-btn.is-fav,
.fav-btn.is-on{
  background: rgba(var(--accent-rgb), .22);
  border-color: rgba(var(--accent-rgb), .65);
  color: #fff;
}

/* hover ALLEEN als niet aan */
.fav-btn:not(.is-on):not(.is-fav):hover{
  background: rgba(0,0,0,.55);
  border-color: rgba(255,255,255,.30);
  transform: translateY(-1px);
}

.fav-btn__ic{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 18px;
  line-height: 1;
  transform: translateY(-1px);
}

.fav-btn__txt{
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
}

/* Header block: anchor voor absolute buttons (PI/hero) */
.block-header{
  position: relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  padding-right:110px;
}

/* ---- PI variant (detail-block) ---- */
.fav-btn--pi{
  width:auto;
  height:auto;
  padding:.5rem .75rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.35);
  color:#fff;
  backdrop-filter: blur(6px);
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}

.fav-btn--pi:hover{
  background:rgba(0,0,0,.48);
}

/* PI ON */
.fav-btn--pi.is-fav,
.fav-btn--pi.is-on{
  background: rgba(var(--accent-rgb), .95);
  color:#111;
  border-color: transparent;
}

.fav-btn-detail{
  position:absolute;
  right:0;
  top:2px;
}

/* ---- HERO variant (event header) ---- */
.kermis-hero__inner{ position:relative; }

.fav-btn--hero{
  position:absolute;
  top:16px;
  right:16px;
  z-index:5;

  display:inline-flex;
  align-items:center;
  gap:.5rem;
  width:auto;
  height:auto;
  padding:.5rem .75rem;

  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.35);
  backdrop-filter: blur(6px);

  color:#fff;
  line-height:1;
}

.fav-btn--hero .fav-btn__ic{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-size:16px;
  line-height:1;
  transform:translateY(-.5px);
}

.fav-btn--hero .fav-btn__txt{
  font-size:14px;
  line-height:1;
  white-space:nowrap;
}

.fav-btn--hero:hover{
  background:rgba(0,0,0,.48);
}

/* HERO ON: duidelijk â€œaanâ€ */
.fav-btn--hero.is-fav,
.fav-btn--hero.is-on{
  background: rgba(var(--accent-rgb), .95);
  border-color: transparent;
  color:#111;
}
.fav-btn--hero.is-fav .fav-btn__ic,
.fav-btn--hero.is-on  .fav-btn__ic{
  background: rgba(0,0,0,.12);
}

.fav-btn--pi span[aria-hidden="true"]{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-size:16px;
  line-height:1;
  transform:translateY(-.5px);
}

.fav-btn--pi::after{
  content:"Favoriet";
  font-size:14px;
  line-height:1;
  white-space:nowrap;
}

.fav-btn--pi.is-fav span[aria-hidden="true"],
.fav-btn--pi.is-on span[aria-hidden="true"]{
  background: rgba(0,0,0,.12);
}

/* Favorieten: toon meer + teller */
.fav-more{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin: 14px 0 22px;
  text-align:center;
}

.fav-more__count{
  font-size: 13px;
  opacity: .85;
}

/* Kermis.nu-stijl button */
.fav-more__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  padding: 10px 14px;
  border-radius: 12px;

  background: var(--accent);
  border: 1px solid var(--accent-700);
  color:#fff;

  font-weight: 800;
  cursor:pointer;
  box-shadow: var(--shadow);
  text-decoration:none;
}

.fav-more__btn:hover{
  filter: brightness(1.06);
}

.fav-more__btn:disabled{
  opacity:.6;
  cursor:not-allowed;
  filter:none;
}

/* --- MINI variant in event-item, naast icons --- */
.eventTextItem .placefield .placeiconfield{
  float: right;
  padding: 5px 5px 0 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

.eventTextItem .placefield .placeiconfield img{
  width: 26px;
  height: 26px;
  opacity: .8;
  display: block;
}

.placeiconfield .fav-btn--mini{
  position: relative;
  z-index: 4;
  width: 26px;
  height: 26px;
  margin: 0;
  border-radius: 999px;

  border: 1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.22);
  color: #fff;

  font-size: 16px;
  line-height: 1;
  padding: 0;
  display: grid;
  place-items: center;
}

.placeiconfield .fav-btn--mini:hover{
  background: rgba(0,0,0,.45);
  border-color: rgba(255,255,255,.30);
}

.placeiconfield .fav-btn--mini.is-fav,
.placeiconfield .fav-btn--mini.is-on{
  background: rgba(var(--accent-rgb), .28);
  border-color: rgba(var(--accent-rgb), .75);
  color: #fff;
}

.fav-empty{
  border: 1px solid #22223a;
  border-radius: 12px;
  padding: 12px;
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.86);
  line-height: 1.55;
  margin-bottom: 20px;
}
.fav-empty p{ margin: 0; }
.fav-empty p + p{ margin-top: 6px; opacity: .9; }

.placespan .distance-km,
.eti-distance .distance-km,
.eti-distance .bi-geo-alt{
  font-weight: 200;
  font-size: 12px;
}

.your-distance {
	margin: 20px 0 0 0;
}

.yearbadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:6px;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.2px;

  background: linear-gradient(135deg, rgba(170, 49, 174, .95), rgba(108, 42, 163, .95));
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.92);
}

.eventTextItem a.action{
  position:absolute;
  inset:0;
  display:block;
  z-index:1;
  text-decoration:none;

  text-indent:-9999px;
}

.eventTextItem:not(.is-promoted)::after,
.eventTextItem:not(.is-promoted)::before{
  content:none;
  display:none;
}

.eventTextItem.is-hover{
  box-shadow:var(--et-hover-shadow);
}



.overview-top{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--kv2-space-lg);
  margin:var(--kv2-space-md) 0 0;
}
.overview-top__left,
.overview-top__right{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:16px 18px;
}

.overview-top--dark .overview-top__left,
.overview-top--dark .overview-top__right{
  background:rgba(0,0,0,.65);
  border:1px solid rgba(255,255,255,.14);
}

.snellinks{ margin:8px 0 12px }
.snellinks__row{ display:flex; flex-wrap:wrap; gap:8px }
.kv2-promoted-strip{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  width:100%;
  margin:0;
}
.kv2-promoted-strip > .section-title.kv2-promoted-strip__head{
  width:100%;
  margin-bottom:10px;
}
.kv2-promoted-strip__items{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:14px 18px;
  width:100%;
  padding:2px 0 18px;
}
.kv2-promoted-item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  width:76px;
}
.kv2-promoted-dot{
  position:relative;
  width:72px;
  height:72px;
  border-radius:999px;
  flex:0 0 72px;
  overflow:hidden;
  border:1px solid rgba(255,226,148,.68);
  box-shadow:
    0 0 0 1px rgba(255,214,98,.20) inset,
    0 4px 12px rgba(0,0,0,.22);
  background: radial-gradient(circle at 30% 28%, rgba(255,226,148,.55), rgba(150,102,22,.92));
  text-decoration:none;
  animation:kv2PromotedDotPulse 6.2s ease-in-out infinite;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.kv2-promoted-dot__logo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:10px;
  z-index:4;
  pointer-events:none;
  transition:opacity .18s ease;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55)) drop-shadow(0 0 1px rgba(0,0,0,.75));
}
.kv2-promoted-dot.has-photo .kv2-promoted-dot__logo{
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.85)) drop-shadow(0 0 2px rgba(0,0,0,.9));
}
/* Alleen logo, geen header: zachte achtergrond achter het logo */
.kv2-promoted-dot.has-logo:not(.has-photo){
  background:
    radial-gradient(circle at 50% 38%, rgba(255,236,196,.42), rgba(42,30,14,.94));
}
.kv2-promoted-dot::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:rgba(0,0,0,.40);
  opacity:0;
  transition:opacity .18s ease;
}
.kv2-promoted-dot::before{
  content:"i";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%) scale(.92);
  width:24px;
  height:24px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:800;
  font-family:var(--font-sans);
  color:#fff;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 2px 10px rgba(0,0,0,.35);
  opacity:0;
  z-index:3;
  transition:opacity .18s ease, transform .18s ease;
}
.kv2-promoted-dot.has-photo{
  background-image:
    linear-gradient(180deg, rgba(18,16,11,.18), rgba(16,14,10,.58)),
    var(--promo-strip-bg);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.kv2-promoted-item__label{
  display:block;
  width:100%;
  font-size:10px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 2px rgba(0,0,0,.7);
  text-align:left;
  overflow-wrap:anywhere;
  transition:color .18s ease, text-shadow .18s ease;
}
/* Homepage tekstoverzicht: langere SEO-line, geen uppercase */
.kv2-promoted-item__label--home-seo{
  text-transform:none;
  font-weight:600;
  letter-spacing:.01em;
  font-size:9px;
  line-height:1.2;
  max-width:11rem;
  margin-left:0;
  margin-right:0;
}

/* Homepage tekstoverzicht: “In de spotlight” — gecentreerd, compacte kolommen (meerdere naast elkaar) */
.kv2-promoted-strip--text-overview .kv2-promoted-strip__items{
  justify-content:flex-start;
}
.kv2-promoted-strip--text-overview .kv2-promoted-item{
  align-items:center;
  width:76px;
  max-width:none;
  min-width:0;
}
.kv2-promoted-strip--text-overview .kv2-promoted-item__meta{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  text-align:center;
}
.kv2-promoted-strip--text-overview .kv2-promoted-item__name.kv2-promoted-item__label--home-seo{
  text-align:center;
  width:100%;
  max-width:100%;
}
.kv2-promoted-strip--text-overview .kv2-promoted-item__dates{
  display:block;
  width:100%;
  margin-top:5px;
  padding-top:5px;
  border-top:1px solid rgba(255,255,255,.28);
  font-size:9px;
  line-height:1.25;
  font-weight:500;
  font-style:italic;
  letter-spacing:.02em;
  color:rgba(255,255,255,.94);
  text-shadow:0 1px 2px rgba(0,0,0,.65);
  text-align:center;
}

@media (hover:hover){
  .kv2-promoted-item:hover .kv2-promoted-dot{
    transform:translateY(-4px) scale(1.04);
    border-color:rgba(255,238,178,.95);
    box-shadow:
      0 0 0 1px rgba(255,226,148,.45) inset,
      0 10px 18px rgba(0,0,0,.34),
      0 0 18px rgba(255,214,98,.34);
  }
  .kv2-promoted-item:hover .kv2-promoted-dot::after{
    opacity:1;
  }
  .kv2-promoted-item:hover .kv2-promoted-dot::before{
    opacity:1;
    transform:translate(-50%, -50%) scale(1);
  }
  .kv2-promoted-item:hover .kv2-promoted-dot .kv2-promoted-dot__logo{
    opacity:0;
  }
  .kv2-promoted-item:hover .kv2-promoted-item__label{
    color:#fff;
    text-shadow:0 2px 6px rgba(0,0,0,.8);
  }
  .kv2-promoted-item:hover .kv2-promoted-item__dates{
    color:#fff;
    text-shadow:0 2px 6px rgba(0,0,0,.8);
    border-top-color:rgba(255,255,255,.38);
  }
}
.kv2-promoted-dot:focus-visible{
  outline:2px solid rgba(255,200,120,.88);
  outline-offset:3px;
  transform:translateY(-4px) scale(1.04);
  border-color:rgba(255,238,178,.95);
  box-shadow:
    0 0 0 1px rgba(255,226,148,.45) inset,
    0 10px 18px rgba(0,0,0,.34),
    0 0 18px rgba(255,214,98,.34);
}
.kv2-promoted-dot:focus-visible::after{
  opacity:1;
}
.kv2-promoted-dot:focus-visible::before{
  opacity:1;
  transform:translate(-50%, -50%) scale(1);
}
.kv2-promoted-dot:focus-visible .kv2-promoted-dot__logo{
  opacity:0;
}
@media (max-width:900px){
  .kv2-promoted-item{
    width:64px;
  }
  .kv2-promoted-dot{
    width:56px;
    height:56px;
    flex:0 0 56px;
  }
  .kv2-promoted-dot__logo{
    padding:8px;
  }
  .kv2-promoted-item__label{
    font-size:9px;
  }
  .kv2-promoted-item__label--home-seo{
    font-size:8px;
    max-width:9.5rem;
  }
  /* Mobiel max 4 spotlight-items, tenzij er meer "near" (actuele/binnenkort startende) zijn:
     verberg alleen filler-items (data-prio="1") op positie 5+. */
  .kv2-promoted-strip--text-overview .kv2-promoted-strip__items > .kv2-promoted-item[data-prio="1"]:nth-child(n+5){
    display:none;
  }
  .kv2-promoted-strip--text-overview .kv2-promoted-item__dates{
    font-size:8px;
  }
}
@keyframes kv2PromotedDotPulse{
  0%,100%{ box-shadow:0 0 0 1px rgba(255,214,98,.20) inset, 0 4px 12px rgba(0,0,0,.22), 0 0 0 rgba(255,210,88,0); }
  50%{ box-shadow:0 0 0 1px rgba(255,232,162,.34) inset, 0 6px 16px rgba(0,0,0,.26), 0 0 14px rgba(255,210,88,.20); }
}

/* Spotlight: default = compact (kermisoverzicht quickjump), warm wit/geel + feller; .kv2-spotlight-panel--wide = homepage-strip groter.
   Pivot in hoek, rotate. Zie https://ui.aceternity.com/components/spotlight-new */
.kv2-spotlight-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  --kv2-spot-x:50%;
  --kv2-spot-y:28%;
}
.kv2-spotlight-panel__spot{
  position:absolute;
  pointer-events:none;
  z-index:1;
  border-radius:50%;
  mix-blend-mode:screen;
  will-change:transform;
  filter:blur(10px);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
/* Compact — kermisoverzicht: warm wit/geel (zelfde familie als homepage), hogere alpha zodat het opvalt */
.kv2-spotlight-panel__spot--1{
  left:0;
  top:0;
  width:min(208px, 76%);
  height:min(370px, 44vh);
  transform-origin:0 0;
  background:
    radial-gradient(
      68.54% 68.72% at 55.02% 31.46%,
      hsla(48, 100%, 99%, .34) 0%,
      hsla(40, 96%, 72%, .20) 48%,
      hsla(34, 82%, 46%, 0) 80%
    ),
    radial-gradient(
      85% 95% at 38% 22%,
      hsla(44, 100%, 90%, .18) 0%,
      hsla(38, 88%, 54%, 0) 62%
    );
  opacity:.96;
  animation:kv2SpotPivotLCompact 4s ease-in-out infinite alternate;
}
.kv2-spotlight-panel__spot--2{
  right:0;
  left:auto;
  top:0;
  width:min(208px, 76%);
  height:min(370px, 44vh);
  transform-origin:100% 0;
  background:
    radial-gradient(
      68.54% 68.72% at 44.98% 31.46%,
      hsla(48, 100%, 98%, .32) 0%,
      hsla(40, 94%, 70%, .19) 48%,
      hsla(34, 80%, 44%, 0) 80%
    ),
    radial-gradient(
      85% 95% at 62% 22%,
      hsla(44, 100%, 88%, .16) 0%,
      hsla(36, 85%, 52%, 0) 62%
    );
  opacity:.94;
  animation:kv2SpotPivotRCompact 4.15s ease-in-out infinite alternate;
  animation-delay:.22s;
}
.kv2-spotlight-panel__spot--3{
  left:50%;
  top:0;
  width:min(155px, 50vw);
  height:min(330px, 40vh);
  margin-left:calc(min(155px, 50vw) * -0.5);
  transform-origin:50% 0;
  background:
    radial-gradient(
      50% 50% at 50% 50%,
      hsla(46, 100%, 96%, .22) 0%,
      hsla(38, 90%, 62%, .10) 80%,
      hsla(32, 72%, 42%, 0) 100%
    ),
    radial-gradient(
      70% 88% at 50% 28%,
      hsla(42, 100%, 86%, .12) 0%,
      transparent 58%
    );
  opacity:.88;
  animation:kv2SpotPivotMCompact 4.4s ease-in-out infinite alternate;
  animation-delay:.12s;
}
/* Homepage strip: groter, iets meer blur, warm geel (past bij kermis-branding) */
.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot{
  filter:blur(28px);
}
.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--1,
.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--2{
  width:min(440px, 52vw);
  height:min(1520px, 180vh);
}
.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--1{
  animation:kv2SpotPivotL 4s ease-in-out infinite alternate;
  background:
    radial-gradient(
      68.54% 68.72% at 55.02% 31.46%,
      hsla(48, 100%, 88%, .24) 0%,
      hsla(38, 96%, 58%, .13) 48%,
      hsla(32, 85%, 44%, 0) 80%
    ),
    radial-gradient(
      85% 95% at 38% 22%,
      hsla(44, 100%, 82%, .14) 0%,
      hsla(36, 90%, 50%, 0) 62%
    );
}
.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--2{
  animation:kv2SpotPivotR 4.15s ease-in-out infinite alternate;
  animation-delay:.22s;
  background:
    radial-gradient(
      68.54% 68.72% at 44.98% 31.46%,
      hsla(48, 100%, 87%, .22) 0%,
      hsla(38, 94%, 56%, .12) 48%,
      hsla(32, 82%, 42%, 0) 80%
    ),
    radial-gradient(
      85% 95% at 62% 22%,
      hsla(44, 100%, 80%, .12) 0%,
      hsla(34, 88%, 48%, 0) 62%
    );
}
.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--3{
  width:min(300px, 44vw);
  height:min(1400px, 168vh);
  margin-left:calc(min(300px, 44vw) * -0.5);
  animation:kv2SpotPivotM 4.4s ease-in-out infinite alternate;
  animation-delay:.12s;
  background:
    radial-gradient(
      50% 50% at 50% 50%,
      hsla(46, 100%, 86%, .15) 0%,
      hsla(36, 88%, 52%, .07) 80%,
      hsla(30, 75%, 40%, 0) 100%
    ),
    radial-gradient(
      70% 88% at 50% 28%,
      hsla(42, 100%, 78%, .09) 0%,
      transparent 58%
    );
}
.kv2-spotlight-panel__cursor{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:0;
  transition:opacity .18s ease;
  background:radial-gradient(
    min(170px, 40vw) circle at var(--kv2-spot-x) var(--kv2-spot-y),
    hsla(48, 100%, 100%, .22) 0%,
    hsla(40, 95%, 72%, .14) 42%,
    hsla(34, 88%, 52%, .07) 58%,
    transparent 74%
  );
  mix-blend-mode:screen;
  filter:blur(9px);
}
.kv2-spotlight-panel--wide .kv2-spotlight-panel__cursor{
  background:radial-gradient(
    min(220px, 44vw) circle at var(--kv2-spot-x) var(--kv2-spot-y),
    hsla(48, 100%, 96%, .18) 0%,
    hsla(40, 96%, 68%, .12) 42%,
    hsla(36, 90%, 52%, .07) 58%,
    transparent 74%
  );
  filter:blur(14px);
}
.kv2-spotlight-panel:hover .kv2-spotlight-panel__cursor{
  opacity:.64;
}
.kv2-spotlight-panel__body{
  position:relative;
  z-index:2;
  width:100%;
}
.kv2-spotlight-panel__body--flow{
  display:contents;
}
@media (prefers-reduced-motion: reduce){
  .kv2-spotlight-panel__spot{
    animation:none !important;
  }
}
@keyframes kv2SpotPivotL{
  0%{ transform:rotate(-9deg); }
  100%{ transform:rotate(11deg); }
}
@keyframes kv2SpotPivotR{
  0%{ transform:rotate(9deg); }
  100%{ transform:rotate(-11deg); }
}
@keyframes kv2SpotPivotM{
  0%{ transform:rotate(-6deg); }
  100%{ transform:rotate(6deg); }
}
@keyframes kv2SpotPivotLCompact{
  0%{ transform:rotate(-6deg); }
  100%{ transform:rotate(8deg); }
}
@keyframes kv2SpotPivotRCompact{
  0%{ transform:rotate(6deg); }
  100%{ transform:rotate(-8deg); }
}
@keyframes kv2SpotPivotMCompact{
  0%{ transform:rotate(-4deg); }
  100%{ transform:rotate(4deg); }
}

/* Vuurwerkshows homepage: brede “Wist je dat?”-strip (zelfde spotlight als Kermis.nu --wide) */
.vs-wist-je-dat.kv2-spotlight-panel--wide{
  width:100%;
  max-width:none;
  margin:28px 0;
  padding:clamp(34px, 5vw, 56px) clamp(22px, 5vw, 64px);
  min-height:clamp(180px, 26vw, 280px);
  box-sizing:border-box;
  display:flex;
  align-items:center;
  background:rgba(0,0,0,.78);
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  backdrop-filter:blur(6px);
}
.vs-wist-je-dat .kv2-spotlight-panel__body{
  width:100%;
}
.vs-wist-je-dat__inner{
  width:min(980px, 100%);
  margin:0 auto;
  text-align:center;
}
.vs-wist-je-dat__head{
  display:flex;
  justify-content:center;
  margin:0 auto clamp(16px, 2.8vw, 24px);
}
.vs-wist-je-dat__label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:700 13px/1 var(--font-sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:8px 14px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(90deg, rgba(255,122,26,.18), rgba(255,122,26,.10));
  border:1px solid rgba(255,122,26,.45);
  box-shadow:0 0 0 1px rgba(255,122,26,.18) inset, 0 6px 20px rgba(255,122,26,.10);
}
.vs-wist-je-dat__hook{
  margin:0 auto clamp(14px, 2.4vw, 20px);
  max-width:920px;
  font:800 clamp(1.4rem, 3.4vw, 2.15rem)/1.28 var(--font-sans);
  color:#fff;
  text-wrap:balance;
}
.vs-wist-je-dat__hook::after{
  margin-left:auto;
  margin-right:auto;
}
.vs-wist-je-dat__body{
  margin:0 auto;
  max-width:800px;
  font-size:clamp(1.02rem, 1.9vw, 1.2rem);
  line-height:1.68;
  color:rgba(255,255,255,.9);
  text-wrap:pretty;
}
.vs-wist-je-dat.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--1{
  background:
    radial-gradient(
      68.54% 68.72% at 55.02% 31.46%,
      hsla(210, 90%, 88%, .22) 0%,
      hsla(220, 82%, 58%, .12) 48%,
      hsla(230, 70%, 40%, 0) 80%
    ),
    radial-gradient(
      85% 95% at 38% 22%,
      hsla(44, 100%, 82%, .14) 0%,
      hsla(36, 90%, 50%, 0) 62%
    );
}
.vs-wist-je-dat.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--2{
  background:
    radial-gradient(
      68.54% 68.72% at 44.98% 31.46%,
      hsla(32, 100%, 86%, .20) 0%,
      hsla(28, 96%, 56%, .11) 48%,
      hsla(24, 82%, 42%, 0) 80%
    ),
    radial-gradient(
      85% 95% at 62% 22%,
      hsla(210, 85%, 78%, .10) 0%,
      hsla(220, 75%, 48%, 0) 62%
    );
}
@media (max-width:720px){
  .vs-wist-je-dat.kv2-spotlight-panel--wide{
    margin:20px 0;
    padding:28px 18px 32px;
    min-height:0;
  }
}

.chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  color:#fff; text-decoration:none; font-weight:600; font-size:13px;
  box-shadow:0 3px 12px rgba(0,0,0,.20);
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.chip:hover{ transform:translateY(-1px); background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.30) }
.chip__flag{ width:20px; height:14px; border-radius:3px; object-fit:cover }
.chip--disabled{ opacity:.55; cursor:not-allowed }
.snellinks a{ cursor:pointer }

.quick-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px }
.tag{ composes: chip; }
.tag{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.20);
  color:#fff; font-weight:600; font-size:13px; text-decoration:none;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.tag:hover{ transform:translateY(-1px); background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.30) }
.tag--disabled{ opacity:.55; cursor:not-allowed }

.section-title{
  display:flex; align-items:center; gap:10px;
  margin:0 0 var(--kv2-title-below-gap); color:#fff;
}
.section-title__label{
  font:700 13px/1 var(--font-sans);
  letter-spacing:.14em; text-transform:uppercase;
  padding:8px 12px; border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
}
.section-title__rule{ flex:1 1 auto; height:2px; border-radius:2px;
  background:linear-gradient(90deg, rgba(122,61,158,.55), rgba(224,77,46,0))
}

.section-title--orange .section-title__label{
  background:linear-gradient(90deg, rgba(255,122,26,.18), rgba(255,122,26,.10));
  border-color:rgba(255,122,26,.45);
  box-shadow:0 0 0 1px rgba(255,122,26,.18) inset, 0 6px 20px rgba(255,122,26,.10);
}
.section-title--orange .section-title__rule{
  background:linear-gradient(90deg, var(--accent), rgba(255,122,26,0))
}

.section-title--sub{
  margin-top: 10px;
  margin-bottom: 0;
}
.section-title--sub .section-title__label{
  font-size: 11px;
  letter-spacing: .1em;
  padding: 6px 10px;
}

.snellinks--sub{
  margin-top: 6px;
  margin-bottom: 0;
}

.overview-micro-title{
  margin: 10px 0 6px;
  font: 700 11px/1.25 var(--font-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}
.overview-micro-title:first-child{
  margin-top: 0;
}

.snellinks--tight{
  margin-top: 0;
  margin-bottom: 8px;
}
.snellinks--tight:last-child{
  margin-bottom: 0;
}
.snellinks--tight .snellinks__row{
  gap: 6px;
}

.chip--compact{
  padding: 4px 8px;
  font-size: 12px;
  gap: 6px;
}
.chip--compact .chip__flag{
  width: 17px;
  height: 12px;
}

/* Feestdag-snellijes homepage: licht + donkere tekst (Morgen/Zondag blijven donkere pill) */
.chip--holiday-feest{
  background: #ececec;
  color: #141414;
  border-color: rgba(0, 0, 0, .16);
  font-weight: 700;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .22);
}
.chip--holiday-feest:hover{
  background: #f7f7f7;
  color: #0a0a0a;
  border-color: rgba(0, 0, 0, .24);
  transform: translateY(-1px);
}
.chip.chip--holiday-feest:focus-visible{
  outline: 0;
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, .5),
    0 0 0 4px rgba(0, 0, 0, .35);
}

/* Koningsdag: oranje, witte letters (blijft duidelijk “speciaal”) */
.chip--holiday-kingsday{
  color: #fff;
  background: linear-gradient(135deg, rgba(255, 140, 40, .95), rgba(200, 85, 0, .88));
  border-color: rgba(255, 200, 120, .55);
  box-shadow: 0 3px 12px rgba(0, 0, 0, .28), 0 0 0 1px rgba(255, 160, 60, .18) inset;
}
.chip--holiday-kingsday:hover{
  color: #fff;
  background: linear-gradient(135deg, rgba(255, 155, 60, .98), rgba(215, 95, 10, .92));
  border-color: rgba(255, 215, 160, .65);
}

.overview-top.overview-in-panel{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--kv2-space-lg); width:100%;
}
.kv2-date-quicklinks-bar{
  grid-column:1 / -1;
  width:100%;
  margin-top:var(--kv2-space-md);
}
.overview-top.overview-top--date-filter,
.overview-top.overview-top--date-quicklinks,
.kv2-date-quicklinks-bar.overview-top--date-filter{
  grid-template-columns:1fr;
}
.overview-top.overview-top--date-filter .overview-top__right,
.overview-top.overview-top--date-quicklinks .overview-top__right{
  width:100%;
  max-width:100%;
}

/* partials/list.php: Sorteer op + Direct doorscrollen naast elkaar (o.a. kermissen/.../provincie/...) */
.kv2-list-toolbar{
  align-items:start;
}

.h-title{ margin:0 0 10px }
.h-chip{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.42rem .8rem; border-radius:12px;
  font:700 16px/1.1 var(--font-sans); color:#fff; letter-spacing:.2px;
  background:linear-gradient(180deg, rgba(128,54,174,.95), rgba(108,42,163,.95));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 6px 16px rgba(0,0,0,.25);
}

.chip:focus-visible, .tag:focus-visible{
  outline:0;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.12),
    0 0 0 4px rgba(255,122,26,.55);
}

@media (max-width:980px){
  .main-2col .col.left,
  .main-2col .col.right{ width:100%; max-width:100% }
}
@media (max-width:900px){
  .overview-top.overview-in-panel{ grid-template-columns:1fr }
}

/* Compacte snellinks / land-blokken op mobiel */
@media (max-width: 640px){
  .overview-top.overview-in-panel{
    gap: 10px;
    margin-top: 10px;
  }
  .overview-top__left,
  .overview-top__right{
    padding: 10px 12px;
  }
  .overview-top .section-title{
    margin-bottom: 8px;
    gap: 8px;
  }
  .overview-top .section-title__label{
    font-size: 10px;
    padding: 5px 8px;
    letter-spacing: .1em;
  }
  .overview-top .chip{
    padding: 4px 8px;
    font-size: 11px;
    gap: 6px;
  }
  .overview-top .chip__flag{
    width: 16px;
    height: 11px;
  }
  .overview-top .quick-tags{
    gap: 6px;
    margin-top: 6px;
  }
  .overview-top .snellinks{
    margin: 4px 0 0;
  }
  .overview-top .snellinks__row{
    gap: 6px;
  }
  .overview-top .overview-micro-title{
    font-size: 10px;
    margin: 8px 0 4px;
    letter-spacing: .05em;
  }
  .overview-top .chip--compact{
    padding: 3px 6px;
    font-size: 10px;
    gap: 4px;
  }
  .overview-top .chip--compact .chip__flag{
    width: 15px;
    height: 10px;
  }
}

.media-strip{
  width:100%;
  /*background:linear-gradient(90deg, rgba(80,0,120,.8), rgba(60,0,100,.85));
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.06);*/
  background: rgba(0, 0, 0, 0.75);
  border-top: 1px solid rgba(255, 255, 255, .06);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  backdrop-filter:blur(4px);
}
.media-strip .wrapper{ padding:10px 0 }

.ms-more{
  display:block;
  margin:6px 0 0;
  text-align:right;
  padding:6px 8px;
  border-radius:8px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
  font:12px/1.2 var(--font-sans);
  transition:background .15s ease, color .15s ease, transform .15s ease;
}
.ms-more:hover{ background:rgba(0,0,0,.45); color:var(--accent); transform:translateX(2px) }

.ms-scroller{
  position:relative;
}
.ms-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:5;
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.45);
  color:#fff; font:700 18px/1 var(--font-sans);
  display:grid; place-items:center;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(0,0,0,.35);
}
.ms-prev{ left:6px; }
.ms-next{ right:6px; }
.ms-nav[hidden]{ display:none; }
.pi-title.center {
	text-align: center;
	width: 100%;
}

.ms-track{
  --card-w: clamp(220px, 28vw, 300px);
  --gap: 12px;

  display:flex;
  flex-wrap:nowrap;
  gap:var(--gap);

  justify-content:center;

  padding:4px 44px 10px 44px;

  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type:x mandatory;
  scroll-behavior:auto;

  width:100%;
  box-sizing:border-box;
  scroll-padding-left:44px;
  scroll-padding-right:44px;
}

.ms-track.is-overflowing{
  justify-content:flex-start;
}

@media (max-width: 720px){
  .ms-track{ justify-content:flex-start; }
}

.ms-track::-webkit-scrollbar{ height:8px }
.ms-track::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.18); border-radius:999px }

.ms-item{
  flex:0 0 var(--card-w);
  display:flex;
  flex-direction:column;
}

.ms-item .ms-card{ width:100%; }
.ms-item .ms-more{ width:100%; }

.ms-card{
  border-radius:var(--kv2-radius-card);
  background:
    linear-gradient(155deg, rgba(42,95,158,.14), transparent 42%),
    linear-gradient(180deg, rgba(22,18,34,.96), rgba(8,6,16,.99));
  color:#fff;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:
    0 8px 26px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.07);
  padding:7px;
  scroll-snap-align:start;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  text-decoration:none;
}
.ms-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.13);
  box-shadow:
    0 14px 34px rgba(0,0,0,.5),
    0 0 0 1px rgba(42,95,158,.22),
    inset 0 1px 0 rgba(255,255,255,.1);
}

.ms-thumb{
  position:relative;
  display:block;
  overflow:hidden;
  height:154px;
  border-radius:var(--kv2-radius-sm);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.11),
    inset 0 0 24px rgba(0,0,0,.35);
}

.ms-thumb::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(0,0,0,.1);
  pointer-events:none;
  transition:background .22s ease;
}

.ms-thumb > img:not(.ms-media-overlay__icon){
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(108%) brightness(0.94);
  transition:transform .22s ease, filter .22s ease;
}

.ms-card:hover .ms-thumb::before,
.ms-card:focus-within .ms-thumb::before{
  background:rgba(0,0,0,.22);
}

.ms-card:hover .ms-thumb > img:not(.ms-media-overlay__icon),
.ms-card:focus-within .ms-thumb > img:not(.ms-media-overlay__icon){
  transform:scale(1.03);
  filter:saturate(112%) brightness(1);
}
.ms-badge{
  display:none;
}
.ms-zoom-icon{
  display:none;
}

.ms-media-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-items:center;
  pointer-events:none;
  background:rgba(0,0,0,0);
  transition:background .22s ease;
}

.ms-media-overlay__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  transform:scale(.92);
  opacity:.94;
  transition:opacity .22s ease, transform .22s ease;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.55));
}

.ms-media-overlay__icon{
  display:block;
  filter:
    drop-shadow(0 0 4px rgba(0,0,0,.75))
    drop-shadow(0 2px 6px rgba(0,0,0,.65));
}

.ms-media-overlay__icon--img{
  width:28px;
  height:28px;
  max-width:28px;
  max-height:28px;
  object-fit:contain;
  flex-shrink:0;
}

.ms-media-overlay__icon--bi,
.ms-media-overlay__icon--svg{
  width:28px;
  height:28px;
  color:#fff;
}

.ms-media-overlay__icon--bi{
  font-size:1.65rem;
  line-height:1;
}

.ms-media-overlay__label{
  font:800 .64rem/1.1 var(--font-sans);
  letter-spacing:.16em;
  color:#fff;
  text-shadow:
    0 0 6px rgba(0,0,0,.85),
    0 0 12px rgba(0,0,0,.7),
    0 2px 4px rgba(0,0,0,.8);
}

.ms-card:hover .ms-media-overlay,
.ms-card:focus-within .ms-media-overlay{
  background:rgba(0,0,0,.38);
}

.ms-card:hover .ms-media-overlay__inner,
.ms-card:focus-within .ms-media-overlay__inner{
  opacity:1;
  transform:scale(1);
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.65));
}

.ms-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:8px 10px;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.78));
  display:flex; flex-direction:column; gap:2px;
}
.ms-caption strong{ color:#fff; font-weight:800; text-shadow:0 1px 2px rgba(0,0,0,.6) }
.media-strip .ms-caption em{
  color:#fff;
  font-style:normal;
  opacity:.88;
  font-weight:500;
  font-size:11px;
  line-height:1.2;
}

.ms-link{
  display:block;
  margin-top:6px;
  text-align:right;
  padding:6px 8px;
  border-radius:8px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
  font:12px/1.2 var(--font-sans);
  transition:background .15s ease, color .15s ease, transform .15s ease;
}
.ms-link:hover{ background:rgba(0,0,0,.45); color:var(--accent); transform:translateX(2px) }

.media-strip .ms-actions{
  display:flex;
  gap:6px;
  margin-top:6px;
}

.media-strip .ms-actions .ms-link,
.media-strip .ms-actions .ms-more{
  margin:0;
  width:auto;
  flex:1 1 0;
  text-align:center;
  white-space:nowrap;
}

.media-strip .ms-strip-footer{
  display:flex;
  justify-content:center;
  margin-top:18px;
}

.media-strip .ms-strip-more-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  text-decoration:none;
}

.ms-modal{ position:fixed; inset:0; z-index:5000; display:grid; place-items:center; }
.ms-modal[hidden]{ display:none }
.ms-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.7) }
.ms-dialog{
  position:relative; width:min(900px, 94vw); aspect-ratio:16/9;
  background:#000; border-radius:14px; overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.18);
}
.ms-x{
  position:absolute; top:6px; right:8px; z-index:3;
  background:rgba(0,0,0,.55); color:#fff; border:1px solid rgba(255,255,255,.3);
  width:34px; height:34px; border-radius:999px; font:700 18px/1 var(--font-sans);
  cursor:pointer;
}
.ms-body, .ms-body iframe{ width:100%; height:100%; display:block; border:0 }
.media-strip .wrapper {
  padding: 20px 0;
  width: 100%;
  max-width: none;
}

/* Actuele kermissen in beeld: meer lucht boven de kop, strakker naar de carrousel */
.media-strip .ms-title.pi-title{
  margin-top: 24px;
  margin-bottom: 12px;
}

#ms-body .ms-yt{
  width: 100%;
  aspect-ratio: 16 / 9;
}

#ms-body .ms-yt iframe{
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

.ms-dialog{
  width: min(1000px, calc(100vw - 32px));
}
.ms-dialog--media{
  aspect-ratio:auto;
  max-height:calc(100vh - 28px);
  display:flex;
  flex-direction:column;
}
.ms-body--media{
  display:flex;
  flex-direction:column;
  height:auto;
  min-height:0;
}
#ms-body .ms-yt{
  flex:0 0 auto;
}
.ms-body--media iframe{
  height:auto;
}
#ms-body.ms-body--media .ms-yt iframe{
  height:100%;
}
#ms-body .ms-webcam{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:0;
  background:#050505;
}
#ms-body .ms-webcam__img{
  display:block;
  max-width:100%;
  max-height:min(72vh, 860px);
  width:auto;
  height:auto;
  object-fit:contain;
}
.ms-webcam__status{
  margin:0;
  padding:8px 12px 10px;
  width:100%;
  box-sizing:border-box;
  font-size:12px;
  line-height:1.4;
  text-align:center;
  color:rgba(255,255,255,.68);
  background:rgba(0,0,0,.35);
}
.ms-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  background:rgba(15,19,30,.92);
  border-top:1px solid rgba(255,255,255,.12);
}
.ms-meta__info{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}
.ms-meta__flag img{
  border-radius:99px;
  border:1px solid rgba(255,255,255,.28);
}
.ms-meta__text{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.ms-meta__text strong{
  color:#fff;
  font-size:14px;
  font-weight:700;
}
.ms-meta__text em{
  color:rgba(255,255,255,.78);
  font-style:normal;
  font-size:13px;
}
.ms-meta__actions{
  display:flex;
  gap:8px;
  flex-shrink:0;
}
.ms-meta__btn{
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:10px;
  text-decoration:none;
  font:600 13px/1 var(--font-sans);
  padding:9px 12px;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}
.ms-meta__btn:hover{
  background:rgba(255,255,255,.18) !important;
  border-color:rgba(255,255,255,.42) !important;
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,.32);
}
.ms-meta__btn:active{
  transform:translateY(0);
  box-shadow:0 3px 10px rgba(0,0,0,.28);
}
@media (max-width: 720px){
  .ms-meta{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .ms-meta__actions{
    width:100%;
  }
  .ms-meta__btn{
    flex:1 1 0;
    text-align:center;
  }
}

#strips{
  padding-bottom:0;
}

.hb-left, .hb-right{
  background: rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 22px 22px 18px;
  min-width: 0;
}

/* Eerste alinea: geen extra margin-top; afstand komt van .pi-title margin-bottom (geen collapse-dubbeling) */
.hl-about .hb-title.pi-title + p{
  margin-top: 0;
}

/* .hb-title: geen korte marge op .pi-title — dat vernietigde de ondermarge van de gradient-titels. */
.hb-title:not(.pi-title){
  margin: 0;
}
.hb-title{
  letter-spacing: inherit;
}

/* Info icoon bij favorieten */
.fav-info{
  position:relative;
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  font-size:14px;
  color:rgba(255,255,255,.55);
  cursor:pointer;
  z-index:9999;
}

.fav-info i{
  transition: color .2s ease;
}

.fav-info:hover i{
  color:rgba(255,255,255,.85);
}

/* Tooltip */
.fav-info__tooltip{
  position:absolute;
  bottom:130%;
  left:50%;
  transform:translateX(-50%);
  width:240px;

  background:rgba(20,20,35,.96);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  padding:10px 12px;

  font-size:12px;
  line-height:1.45;
  color:rgba(255,255,255,.9);

  box-shadow:0 10px 25px rgba(0,0,0,.35);

  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease;
  z-index:20;
}

/* pijltje */
.fav-info__tooltip::after{
  content:'';
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  border-width:6px;
  border-style:solid;
  border-color:rgba(20,20,35,.96) transparent transparent transparent;
}

/* desktop hover */
@media (hover:hover){
  .fav-info:hover .fav-info__tooltip{
    opacity:1;
    pointer-events:auto;
  }
}

/* mobiel active state */
.fav-info.is-open .fav-info__tooltip{
  opacity:1;
  pointer-events:auto;
}

.hb-lead{
  margin: 0 0 8px;
  font-weight: 600;
  opacity: .95;
}

.hb-text{ margin: 0; opacity: .9; }

/* Sectiekop na lopende tekst (bv. “Een greep…” na de verplaats-melding) */
.hb-right #fav-block ~ .hb-title.pi-title{
  margin-top: var(--kv2-section-after-prose);
}

.country-spot{
  padding: 28px 0 8px;
  background: linear-gradient(180deg, rgba(22,22,24,.9), rgba(18,18,20,.95));
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.country-spot__grid{
  display:grid;
  /* minmax(0, …) voorkomt dat intrinsieke afbeeldingsbreedte (900px) de kolom opblaast */
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap:28px;
  align-items:stretch;
  padding:18px 0 26px;
  min-width:0;
}

.country-spot__text{
  min-width:0;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 18px 18px 20px;
  box-shadow: 0 6px 20px rgba(0,0,0,.28);
}

.country-spot__title{
  display:flex; align-items:center; gap:10px;
  font: 800 22px/1.25 var(--font-sans);
  color:#fff; margin:0 0 8px;
}
.country-spot__accent{
  flex:1 1 auto; height:4px; border-radius:999px;
  background: linear-gradient(90deg, var(--accent,#ff7a1a), rgba(255,122,26,0));
}

.country-spot__lead{
  margin: 6px 0 8px; color: rgba(255,255,255,.9); font-weight: 600;
}
.country-spot__body{
  margin: 0 0 14px; color: rgba(255,255,255,.82);
}

.country-spot__body--html .country-spot__p{
  margin:0 0 14px;
  line-height:1.65;
  color:rgba(255,255,255,.94);
  font-weight:500;
}
.country-spot__body--html .country-spot__p:last-child{
  margin-bottom:0;
}
.country-spot__body--html a{
  color:rgba(255,255,255,.95);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}

.country-spot__actions{ display:flex; gap:10px; }
.country-spot__hotspots{
  margin-top:14px;
}
.country-spot__hotspots .country-spot__title--hotspots{
  font-size: 22px;
  margin-bottom: 10px;
}
.country-spot .btn-primary{
  padding:10px 14px; border-radius: 10px;
  background: linear-gradient(90deg, var(--accent,#ff7a1a), #ff9952);
  color:#111; font-weight:800; text-decoration:none;
  border:0; box-shadow: 0 6px 20px rgba(0,0,0,.25);
}
.country-spot .btn-primary:hover{ filter:saturate(1.05) brightness(1.02); }

.kv2-seo-strips{
  display:grid;
  gap:10px;
  margin:12px 0;
}
.kv2-seo-strip{
  display:grid;
  grid-template-columns:minmax(0, 170px) minmax(0, 1fr);
  gap:10px;
  align-items:stretch;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.04);
  overflow:hidden;
}
.kv2-seo-strip--mb20{
  margin-bottom:20px;
}
.kv2-seo-strip__media{
  display:block;
  min-height:100%;
}
.kv2-seo-strip__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.kv2-seo-strip__content{
  padding:10px 12px;
}
.kv2-seo-strip__title{
  margin:0 0 6px;
  color:#fff;
  font-size:16px;
  font-weight:800;
  line-height:1.25;
}
.kv2-seo-strip__content p{
  margin:0 0 8px;
  line-height:1.5;
}
@media (max-width: 740px){
  .kv2-seo-strip{
    grid-template-columns:1fr;
  }
  .kv2-seo-strip__media{
    max-height:148px;
  }
}

.country-spot__media{
  position:relative;
  min-width:0;
  max-width:100%;
  width:100%;
  border-radius:14px; overflow:hidden;
  border: 1px solid rgba(255,255,255,.08);
  background:#0f0f12;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
  aspect-ratio: 900 / 507;
}
.cspot-figure{ position:relative; height:100%; margin:0; min-width:0; }
.cspot-figure::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.25));
  pointer-events:none;
}
.cspot-figure img{
  width:100%;
  max-width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter: saturate(1.06) contrast(1.02);
}

@media (max-width: 980px){
  .country-spot__grid{
    grid-template-columns: 1fr;
  }
  .country-spot__media{
    aspect-ratio: auto;
    height: 240px;
  }
}

.visually-hidden{
  position:absolute !important; width:1px; height:1px;
  margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0);
}

.stats-bar{
  width:100%;
  background: linear-gradient(90deg, rgba(80,0,120,.85), rgba(50,0,95,.9));
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(4px);
}
.stats-bar .wrapper{ padding:18px 0; }

.stats-grid{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px;
  justify-content:center;
  color:#fff;
}

.stats-grid__main-cluster{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}

.stats-lead{
  margin:0 8px 0 0; opacity:.92;
  font: 600 14px/1.4 var(--font-sans);
}

.stats-sep{
  margin:0 4px; opacity:.75;
  font: 600 13px/1.4 var(--font-sans);
}

.stats-pill{
  position:relative;
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 6px 18px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.06);
}

.stats-pill--main{
  background: linear-gradient(90deg, rgba(255,122,26,.9), rgba(255,122,26,.7));
  color:#1a0d00; border-color: rgba(255,255,255,.25);
}

.stats-pill .num{
  font: 800 20px/1 var(--font-sans);
  letter-spacing:.02em;
}
.stats-pill .label{
  font: 700 12px/1 var(--font-sans);
  opacity:.92; text-transform:uppercase; letter-spacing:.08em;
}

.stats-pill .num{
  font-variant-numeric: tabular-nums;
}
.stats-pill--main .num{
  display: inline-block;
  min-width: 5ch;
  text-align: right;
}

.stats-pill--flag img{
  width:18px; height:12px; object-fit:cover; border-radius:2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.25);
}

.stats-pill--stats{
  text-decoration:none;
  color:#fff;
  background: linear-gradient(90deg, rgba(255,122,26,.75), rgba(234,88,12,.65));
  border-color: rgba(255,255,255,.28);
  transition: transform .15s ease, filter .15s ease;
  padding: 7px 12px;
  gap: 0;
  justify-content: center;
  align-self: center;
  box-sizing: border-box;
}
.stats-pill--stats:hover{
  transform: translateY(-1px);
  filter: brightness(1.06);
  color:#fff;
}
.stats-pill--stats .stats-pill__icon{
  display: block;
  font-size: 1.35rem;
  line-height: 1;
  width: 1.35rem;
  height: 1.35rem;
}

@media (min-width: 681px){
  .stats-pill--stats{
    height: 42px;
    min-height: 42px;
    min-width: 42px;
    padding: 0 13px;
  }
  .stats-pill--stats .stats-pill__icon{
    font-size: 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}

@keyframes breathe {
  0%, 100% { transform: translateZ(0) scale(1); filter: drop-shadow(0 0 0 rgba(0,0,0,0)); }
  50%      { transform: translateZ(0) scale(1.07); filter: drop-shadow(0 2px 6px rgba(0,0,0,.25)); }
}
.breathe{ animation: breathe 2.6s ease-in-out infinite; }

@media (max-width: 680px){
  .stats-grid{ justify-content: center; text-align: center; }
  .stats-lead, .stats-sep{ flex: 0 0 100%; }
  .stats-grid__main-cluster{
    flex: 0 0 auto;
    justify-content: center;
  }
}

.ms-thumb{
  position:relative;
  display:block;
  overflow:hidden;
  height:154px;
  border-radius:var(--kv2-radius-sm);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.11),
    inset 0 0 24px rgba(0,0,0,.35);
}
.ms-zoom{
  position:absolute; inset:auto; left:50%; top:50%;
  transform: translate(-50%, -50%);
  width:44px; height:44px; border-radius:999px;
  display:grid; place-items:center;
  font: 700 16px/1 var(--font-sans);
  color:#fff;
  background: rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.25);
  box-shadow: 0 4px 14px rgba(0,0,0,.35);
}
.ms-card:hover .ms-zoom{ background: rgba(0,0,0,.6); }

.ms-card{
  flex: initial;
  width: 100%;
}

.ms-link{
  position: relative;
  z-index: 2;
}

.ms-more{
  position: relative;
  z-index: 1;
}

/* Gelijk aan .media-strip: rustige donkere balk */
.yt-strip{
  width:100%;
  background: rgba(0, 0, 0, 0.75);
  border-top: 1px solid rgba(255, 255, 255, .06);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  backdrop-filter:blur(4px);
}
.yt-strip .wrapper{ padding:10px 0 }

.yt-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:12px; padding:4px 12px 10px;
}
.yt-title{
  margin:0;
  font: 700 16px/1.25 var(--font-sans);
  color:#fff;
}
.btn-yt{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:10px;
  background:linear-gradient(90deg, rgba(255,122,26,.9), rgba(255,122,26,.6));
  color:#1b0b2b; text-decoration:none; font-weight:700;
  border:1px solid rgba(0,0,0,.15);
}
.btn-yt:hover{ filter:brightness(1.05); }

.yt-viewport{ position:relative; }
.yt-track{
  display:flex; gap:12px;
  padding:8px 40px 8px 40px;
  scroll-padding-left: 40px;
  overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.yt-track::-webkit-scrollbar{ display:none; }

.yt-card{
  position:relative; display:block;
  min-width:280px; max-width:360px; width:32vw;
  aspect-ratio:16/9; border-radius:12px; overflow:hidden;
  background:#111; color:#fff; text-decoration:none;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  scroll-snap-align:start;
  transition:transform .15s ease, box-shadow .15s ease;
}
.yt-card:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.45) }
.yt-card img{ width:100%; height:100%; object-fit:cover; display:block; }

.yt-badge{
  position:absolute; left:10px; top:10px; z-index:2;
  font:700 11px/1 var(--font-sans); letter-spacing:.08em;
  padding:6px 8px; border-radius:999px;
  background:linear-gradient(90deg, rgba(255,122,26,.9), rgba(255,122,26,.6));
  border:1px solid rgba(255,255,255,.25);
  color:#1b0b2b;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}

.yt-date{
  position:absolute;
  right:10px;
  top:10px;
  z-index:2;
  font:600 10px/1 var(--font-sans);
  letter-spacing:.03em;
  padding:5px 7px;
  border-radius:999px;
  color:rgba(255,255,255,.92);
  background:rgba(0,0,0,.58);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 2px 8px rgba(0,0,0,.28);
}
.yt-caption{
  font-size: 15px;
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:8px 10px;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.75));
  display:flex; flex-direction:column; gap:3px;
}
.yt-caption strong{ color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.6) }
.yt-caption em{ font-style:normal; opacity:.9; color:#fff }

.yt-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:999px;
  display:grid; place-items:center;
  background:rgba(0,0,0,.55); color:#fff; border:1px solid rgba(255,255,255,.25);
  cursor:pointer; z-index:3;
}
.yt-arrow--left{  left:6px; }
.yt-arrow--right{ right:6px; }
.yt-arrow[disabled]{ opacity:.35; cursor:default; pointer-events:none; }

.btn-yt,
.btn-highlight {
  display: inline-block;
  background: linear-gradient(90deg, #b34dff, #7a00cc);
  color: #fff;
  font: 600 14px/1.2 var(--font-sans);
  padding: 10px 18px;
  border-radius: 999px;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

.btn-yt:hover,
.btn-highlight:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 14px rgba(180, 80, 255, .5);
  background: linear-gradient(90deg, #c56fff, #9a25ff);
}

.site-footer {
  background: linear-gradient(180deg, #0e1a2e, #081018);
  color: rgba(255,255,255,.85);
  font: 14px/1.5 var(--font-sans);
  padding: 40px 0 30px;
  border-top: 1px solid rgba(255,255,255,.1);
}

/* 2-koloms layout */
.footer-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  column-gap: 36px;
  row-gap: 22px;
}

/* LINKERKANT */
.footer-left {
  min-width: 260px;
}

.footer-logo {
  margin-bottom: 14px;
}

.footer-logo img {
  height: 42px;
  width: auto;
  opacity: .9;
}

.footer-brand {
  font-weight: 500;
  margin-bottom: 6px;
}

.footer-links a {
  color: var(--brand-2, #5b9bd5);
  text-decoration: none;
  transition: color .2s ease;
}

.footer-links a:hover {
  color: #fff;
}

.footer-contact a {
  color: rgba(255,255,255,.9);
  text-decoration: none;
}

.footer-contact a:hover {
  color: var(--brand-2, #5b9bd5);
}

/* RECHTERKANT */
.footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px;
  min-width: 220px;
  text-align: right;
}

/* Social icons */
.footer-social {
  margin: 0;
  display: inline-flex;
  gap: 18px;
  align-items: center;
  justify-content: flex-end;
}

.footer-social a {
  color: rgba(255,255,255,.8);
  font-size: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color .25s ease, transform .25s ease;
}

.footer-social a:hover {
  color: var(--brand-2, #5b9bd5);
  transform: translateY(-2px) scale(1.1);
}

/* Groot Creatieve Media credit */
.footer-credit {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  font-size: 13px;
  color: rgba(255,255,255,.6);
}

.footer-credit span {
  font-weight: 400;
}

.footer-credit img {
  height: 60px; /* rustiger dan 50px */
  width: auto;
  opacity: .75;
  filter: brightness(1.1);
}

/* Mobiel */
@media (max-width: 720px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-right {
    align-items: flex-start;
    text-align: left;
  }

  .footer-social {
    justify-content: flex-start;
  }

  .footer-credit {
    align-items: flex-start;
  }
}

.content-wrapper {
  background:#0d0010;
  color:#f0f0f0;
  padding:60px 0;
}
.wrapper.narrow {
  max-width: 800px;
  margin: 0 auto;
}
.wrapper.narrow h1 {
  font-size: 2.2rem;
  color: var(--accent, #c580ff);
  margin-bottom: 1rem;
}
.wrapper.narrow h2 {
  color: #fff;
  font-size: 1.3rem;
  margin-top: 1.8rem;
  margin-bottom: .5rem;
}
.wrapper.narrow p {
  line-height: 1.6;
  margin-bottom: 1rem;
}
.wrapper.narrow a {
  color: var(--brand-2, #5b9bd5);
  text-decoration: none;
}
.wrapper.narrow a:hover {
  text-decoration: underline;
}

-page h2 { margin-top: 1.6rem; font-size: 1.25rem; }
.legal-page details { background: rgba(255,255,255,.02); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; padding: .75rem 1rem; }
.legal-page details summary { cursor: pointer; font-weight: 600; }

.page-header {

  color: #fff;
  padding: 30px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  text-align: center;
}
.page-header h2{
  font-size: clamp(20px, 3vw, 28px);
  opacity: .85;
}

.page-header--compact { padding: 15px 0; }
.page-header__intro { max-width: 700px; margin: 0.5em auto 0; opacity: .9; }

/* kermis.php: status (voorbij / onbekend / geannuleerd) — hele intro-balk, inhoud gecentreerd */
.page-header .page-intro.page-intro--status-alert{
  margin: 0;
  padding: 20px 0 24px;
  background: linear-gradient(165deg, rgba(150, 45, 60, .5), rgba(75, 18, 32, .58));
  border-top: 1px solid rgba(255, 255, 255, .12);
  border-bottom: 1px solid rgba(0, 0, 0, .28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}
.page-header .page-intro.page-intro--status-alert .wrapper{
  text-align: center;
  width: var(--wrapper);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.page-header .page-intro.page-intro--status-alert .alerts{
  margin: 0 0 12px;
  padding: 0;
}
.page-header .page-intro.page-intro--status-alert .alerts__list{
  align-items: center;
}
.page-header .page-intro.page-intro--status-alert .alert{
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  gap: 8px;
  flex-direction: column;
  align-items: center;
}
.page-header .page-intro.page-intro--status-alert .alert__icon{
  font-size: 1.35rem;
  color: rgba(255, 230, 200, .98);
  opacity: 1;
  margin-top: 0;
}
.page-header .page-intro.page-intro--status-alert .alert--p2 .alert__icon{
  color: rgba(255, 220, 160, .98);
}
.page-header .page-intro.page-intro--status-alert .alert__text{
  width: 100%;
  max-width: none;
  margin: 0 auto;
  text-align: center;
  font-size: 1rem;
  line-height: 1.65;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert{
  align-items: center;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__lead,
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__hint{
  font-size: 1rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, .92);
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__lead{
  margin: 0 0 10px;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__lead strong{
  color: rgba(255, 255, 255, .98);
  font-weight: 700;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__hint{
  margin: 0 0 14px;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__primary{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 12px;
  margin: 0 0 12px;
  width: 100%;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__actions{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 0;
  width: 100%;
}
.page-header .page-intro.page-intro--status-alert p{
  color: rgba(255, 255, 255, .93);
  font-size: 1rem;
  line-height: 1.65;
  text-align: center;
}
.page-header .page-intro.page-intro--status-alert a.linkbox:not(.linkbox--alert-action){
  border-color: rgba(255, 255, 255, .35);
  background: rgba(0, 0, 0, .15);
}
/* Primaire actie in sys-alert: zelfde taal als .btn--map */
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__primary > a.linkbox.linkbox--alert-action:first-of-type{
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  border: none;
  background: linear-gradient(90deg, rgba(255, 122, 26, 0.95), rgba(255, 122, 26, 0.72));
  box-shadow: 0 4px 14px rgba(0, 0, 0, .28);
  text-decoration: none;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__primary > a.linkbox.linkbox--alert-action:first-of-type strong{
  color: #fff;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__primary > a.linkbox.linkbox--alert-action:first-of-type:hover{
  background: linear-gradient(90deg, #e65f00, rgba(230, 95, 0, 0.85));
}
/* Secundaire linkboxes: ghost / omlijnd */
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__actions a.linkbox--alert-action,
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__primary a.linkbox--alert-action:not(:first-of-type){
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, .95);
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .38);
  box-shadow: none;
  transform: none;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__actions a.linkbox--alert-action:hover,
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__primary a.linkbox--alert-action:not(:first-of-type):hover{
  background: rgba(255, 255, 255, .14);
  border-color: rgba(255, 255, 255, .5);
  transform: none;
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__actions a.linkbox--alert-action.linkbox--near,
#praktische-info .alerts .kv2-sys-alert__actions a.linkbox--alert-action.linkbox--near{
  color: #fff;
  border: none;
  background: linear-gradient(90deg, rgba(255, 122, 26, 0.95), rgba(255, 122, 26, 0.72));
  box-shadow: 0 4px 14px rgba(0, 0, 0, .28);
  text-shadow: 0 0 1px rgba(0, 0, 0, .3);
}
.page-header .page-intro.page-intro--status-alert .kv2-sys-alert__actions a.linkbox--alert-action.linkbox--near:hover,
#praktische-info .alerts .kv2-sys-alert__actions a.linkbox--alert-action.linkbox--near:hover{
  color: #fff;
  background: linear-gradient(90deg, #e65f00, rgba(230, 95, 0, 0.85));
  border: none;
  transform: translateY(-1px);
}
.page-header .page-intro.page-intro--status-alert .alert__text .fav-btn--alert-inline{
  min-height: 38px;
  padding: 6px 14px 6px 8px;
}

/* kermis.php: Meldingen onder Praktische informatie — zelfde knoppen als status-intro */
#praktische-info .alerts .kv2-sys-alert__primary{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin: 0 0 12px;
}
#praktische-info .alerts .kv2-sys-alert__actions{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
#praktische-info .alerts .kv2-sys-alert__primary > a.linkbox.linkbox--alert-action:first-of-type{
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  border: none;
  background: linear-gradient(90deg, rgba(255, 122, 26, 0.95), rgba(255, 122, 26, 0.72));
  box-shadow: 0 4px 14px rgba(0, 0, 0, .28);
  text-decoration: none;
}
#praktische-info .alerts .kv2-sys-alert__primary > a.linkbox.linkbox--alert-action:first-of-type strong{
  color: #fff;
}
#praktische-info .alerts .kv2-sys-alert__primary > a.linkbox.linkbox--alert-action:first-of-type:hover{
  background: linear-gradient(90deg, #e65f00, rgba(230, 95, 0, 0.85));
}
#praktische-info .alerts .kv2-sys-alert__actions a.linkbox--alert-action,
#praktische-info .alerts .kv2-sys-alert__primary a.linkbox--alert-action:not(:first-of-type){
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, .95);
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .38);
  box-shadow: none;
  transform: none;
}
#praktische-info .alerts .kv2-sys-alert__actions a.linkbox--alert-action:hover,
#praktische-info .alerts .kv2-sys-alert__primary a.linkbox--alert-action:not(:first-of-type):hover{
  background: rgba(255, 255, 255, .14);
  border-color: rgba(255, 255, 255, .5);
  transform: none;
}
#praktische-info .alerts .alert__text .fav-btn--alert-inline{
  min-height: 38px;
  padding: 6px 14px 6px 8px;
}

.legal-page { color: #eee; line-height: 1.6; }
.legal-page h2 { margin-top: 1.6em; font-size: 1.25rem; color: #fff; }
.legal-page ul { margin: 0.6em 0 1.2em 1.4em; }
.legal-page footer.legal-footer { margin-top: 2em; font-size: .9em; opacity: .7; text-align: center; }

.wyb{
  --wyb-bg: none;
  position: relative;
  width: 100%;
  overflow: clip;

  padding-top: 40px;
  padding-bottom: 40px;
  background:
    radial-gradient(1200px 400px at 10% 0%, rgba(120,0,200,.30) 0%, transparent 60%),
    linear-gradient(90deg, rgba(58,0,92,0.85), rgba(38,0,74,0.90));
  color: #fff;
}

.wyb__backdrop{
  position: absolute; inset: 0; z-index: 0;
  background-image: var(--wyb-bg);
  background-size: cover;
  background-position: center;
  filter: brightness(.7) saturate(1.05);
  opacity: .28;
}

.wyb .wrapper{ position: relative; z-index: 1; }

.wyb__content{
  display: grid;
  gap: 8px;
  align-items: center;
  justify-items: start;

  max-width: 1100px;
}

.wyb__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 800 12px/1.1 var(--font-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 8px 12px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(90deg, rgba(255,140,40,.95), rgba(255,110,10,.75));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 6px 22px rgba(0,0,0,.35), inset 0 0 22px rgba(255,140,40,.24);
  animation: wybGlow 2.8s ease-in-out infinite;
}
.wyb__eyebrow .bi{ font-size: 16px; translate: 0 0.5px; }

@keyframes wybGlow{
  0%, 100% { box-shadow: 0 6px 22px rgba(0,0,0,.35), inset 0 0 12px rgba(255,140,40,.18); transform: translateY(0); }
  50%      { box-shadow: 0 10px 28px rgba(0,0,0,.45), inset 0 0 22px rgba(255,140,40,.36); transform: translateY(-1px); }
}

.wyb__title{
  margin: 0;

  font-weight: 900;
  line-height: 1.15;
  font-size: clamp(22px, 3.4vw, 38px);
  text-wrap: balance;
  text-shadow: 0 2px 14px rgba(0,0,0,.35);

  background: linear-gradient(180deg, #fff, #e7e0ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@media (min-width: 1100px){
  .wyb{ padding-top: 80px; padding-bottom: 80px; }
  .wyb__content{ gap: 10px; }
}

.detail-hero{
  position:relative; isolation:isolate;
  padding:24px 0; color:#fff; background:linear-gradient(90deg, #3a0a57, #220537);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.detail-hero.has-bg{ background:none }
.detail-hero.has-bg::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.55)),
    var(--hero) center/cover no-repeat;
  filter:saturate(110%);
}
.detail-hero__title{ font-size:28px; font-weight:800; margin:0 0 6px }
.detail-hero__subtitle{ margin:0 0 6px; opacity:.95; font-weight:600 }
.detail-hero__meta{ margin:0 0 6px; opacity:.9 }
.detail-hero__status{ margin:0; font-weight:700 }
.detail-hero__status.ok{ color:#5be37e }
.detail-hero__status.nope{ color:#ffd56a }

.detail-grid{
  display:grid;
  gap: var(--kv2-space-lg);
  padding-top:16px;
  padding-bottom:28px;
}
@media (min-width: 980px){
  .detail-grid{ grid-template-columns: 1.25fr 1fr; }
}
.detail-masonry{

  grid-column: 1 / -1;

  column-count: 1;
  column-gap: 18px;
  column-fill: balance;
}

@media (min-width: 980px){
  .detail-masonry{
    column-count: 2;
  }
}

.detail-masonry > .detail-block{
  display: inline-block;
  width: 100%;
  margin: 0 0 18px;
  break-inside: avoid;
  page-break-inside: avoid;
}

.detail-masonry .kv2-gallery-block--full{
  column-span: all;
  width: 100%;
}

.kv2-disclaimer--full{
  grid-column: 1 / -1;
}

.kv2-deflist{ display:grid; gap:8px }
.kv2-deflist > div{
  display:flex; gap:10px; justify-content:space-between; align-items:flex-start;
  background:#151520; border:1px solid #22223a; border-radius:10px; padding:10px 12px;
}
.kv2-deflist strong{ color:#b8c8e8; min-width:140px }

.pi{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}

.pi-head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  padding:12px 12px;
  border:1px solid #22223a;
  border-radius:12px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}

.pi-place__name{
  font: 900 18px/1.15 var(--font-sans);
  color:#fff;
}
.pi-place__alt{
  font: 700 14px/1.2 var(--font-sans);
  color:#cfd9ef;
  margin-left:6px;
  opacity:.95;
}

.pi-place__meta{
  margin-top:6px;
  font: 600 13px/1.35 var(--font-sans);
  color: rgba(255,255,255,.82);
}
.pi-place__sep{ margin: 0 6px; opacity:.7; }
.pi-place__admins{ opacity:.92; }

.pi-v--loc{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.pi-loc-text{
  flex:1 1 auto;
  min-width:0;
}

.pi-loc-maplink{
  flex:0 0 auto;
  margin-left:auto;
  white-space:nowrap;
}

.pi-loc-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  flex:0 0 auto;
  margin-left:auto;
}

.pi-loc-actions .pi-loc-maplink{
  margin-left:0;
}

@media (max-width: 520px){
  .pi-v--loc{ flex-wrap:wrap; }
  .pi-loc-maplink{ margin-left:0; }
  .pi-loc-actions{
    flex-direction:row;
    flex-wrap:wrap;
    margin-left:0;
    width:100%;
    justify-content:flex-start;
  }
}

.pi-place__country{
  display:inline-block;
  padding:2px 8px;
  margin:2px 2px;
  border-radius:6px;

  font-size:13px;
  font-weight:600;
  text-decoration:none;

  color:#fff;
  background:rgba(42,95,158,.15);
  border:1px solid rgba(42,95,158,.35);

  transition:all .18s ease;
}

.pi-place__country:hover{
  background:rgba(42,95,158,.85);
  border-color:rgba(42,95,158,.85);
  color:#fff;
}

.pi-place__admins a{
  display: inline-block;
  padding: 2px 8px;
  margin: 2px 2px;
  border-radius: 6px;

  font-size: 13px;
  font-weight: 600;
  text-decoration: none;

  color: #fff;
  background: rgba(170, 49, 174, .15);
  border: 1px solid rgba(170, 49, 174, .35);

  transition: all .18s ease;
}

.pi-place__admins a:hover{
  background: rgba(170, 49, 174, .85);
  border-color: rgba(170, 49, 174, .85);
  color: #fff;
  transform: translateY(-1px);
}

.pi-place__admins a:active{
  transform: translateY(0);
  opacity: .9;
}

.pi-flag{
  width:28px; height:auto;
  border-radius:3px;
  flex: 0 0 auto;
  margin-top:2px;
}

.pi-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
  min-width:0;
  max-width:100%;
}
@media (min-width: 720px){
  .pi-grid{ grid-template-columns: 1fr 1fr; }
}

.pi-item{
  min-width:0;
  border:1px solid #22223a;
  border-radius:12px;
  padding:10px 12px;
  background:#151520;
}

.pi-k{
  font: 800 12px/1.2 var(--font-sans);
  letter-spacing:.04em;
  text-transform: uppercase;
  color:#b8c8e8;
  margin-bottom:6px;
}
.pi-v{
  font: 600 14px/1.45 var(--font-sans);
  color:#eee;
}

.pi-v--stack{
  display:flex;
  flex-direction:column;
  gap:.4rem;
}

.pi-feast-line{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  row-gap:.15rem;
}

.pi-feast-line .pi-muted{
  margin-left:0;
}

.pi-link.pi-link--feast-block{
  display:flex;
  width:100%;
  max-width:100%;
  align-items:flex-start;
  white-space:normal;
  border-radius:10px;
  box-sizing:border-box;
}

.pi-muted{ opacity:.8; margin-left:6px; font-weight:600; }

.pi-note{
  border:1px dashed #2d2d4a;
  border-radius:12px;
  padding:12px;
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.86);
  line-height:1.55;
}

.pi-note--opening-extra{
  margin-top:.75rem;
  display:flex;
  gap:.5rem;
  align-items:flex-start;
  border-style: solid;
  border-color: rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
}

.pi-note--opening-projection{
  margin-bottom:.75rem;
  display:flex;
  gap:.5rem;
  align-items:flex-start;
}
.pi-note__opening-mark{
  flex:0 0 auto;
  width: 1.1rem;
  min-width: 1.1rem;
  font-size: 1rem;
  line-height: 1;
  color:#fff;
}
.pi-note__opening-mark .bi{
  font-size: 1rem;
  line-height: 1;
  color: inherit;
}
.pi-note__opening-body{
  flex:1 1 auto;
  min-width:0;
}
.pi-note__opening-line{
  display:block;
}
.pi-note__opening-line.is-next{
  margin-top:.45rem;
  padding-top:.45rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.pi-note__opening-auto-label{
  font-family: "Arial Narrow", "Roboto Condensed", var(--font-sans);
  font-weight:400;
  letter-spacing:.03em;
  opacity:.78;
  display:block;
}
.pi-note__opening-auto-message{
  display:block;
  margin-top:.18rem;
}

.pi-item--formaat .pi-v--formaat{
  display:flex;
  align-items:center;
  gap:10px;
}

.pi-item--formaat .placeiconfield{
  width:28px;
  height:28px;
  flex:0 0 28px;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}

.pi-item--formaat {
  position: relative;
}

.pi-v--formaat {
  padding-right: 42px;
}

.pi-formaat-icon {
  position: absolute;
  top: 12px;
  right: 12px;

  width: 34px;
  height: 34px;

  object-fit: contain;
  opacity: .85;
}

.pi-formaat-label{
  font-weight:600;
  color:#eee;
}

.pi-item .placeiconfield{
  display:block;
  position:relative;
}

.pi-item .placeiconfield::before{
  content:'';
  position:absolute;
  inset:0;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}

.pi-v--links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.pi-v--links-promoted{
  gap:12px;
  flex-direction:column;
  align-items:stretch;
}

.pi-v--links-promoted .pi-link{
  padding:10px 12px;
  font-size:.95rem;
  font-weight:700;
  background: linear-gradient(135deg, rgba(42,95,158,.28), rgba(255,255,255,.08));
  border:1px solid rgba(42,95,158,.35);
  width:100%;
  justify-content:flex-start;
}

.pi-v--links-promoted .pi-link__txt{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}

.pi-v--links-promoted .pi-link__label{
  line-height:1.15;
}

.pi-v--links-promoted .pi-link__meta{
  font-size:.82em;
  font-weight:650;
  opacity:.78;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.pi-v--links-promoted .pi-link:hover{
  background: linear-gradient(135deg, rgba(42,95,158,.36), rgba(255,255,255,.12));
}

.pi-v--links-promoted .pi-link__icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
}

.pi-v--links-promoted .pi-link__icon svg{
  width:18px;
  height:18px;
}

.pi-v--links-promoted .pi-link{
  border-radius:14px;
}

@media (max-width: 520px){
  .pi-v--links-promoted{
    gap:10px;
  }
}

.pi-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.85rem;
  text-decoration:none;
  background:rgba(255,255,255,.06);
  color:inherit;
  transition:background .15s ease, transform .15s ease;
}
.pi-link:hover{
  background:rgba(255,255,255,.12);
  transform:translateY(-1px);
}

.pi-link__icon{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 16px;
}
.pi-link__icon svg{
  width:16px;
  height:16px;
  display:block;
  fill:currentColor;
}

.pi-link--webcam{
  background: rgba(255,255,255,.08);
}

/* Afstand vanaf jouw plaats */
.pi-distance{
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding:6px 10px;
  border-radius:999px;

  background: linear-gradient(135deg, rgba(42,95,158,.18), rgba(42,95,158,.08));
  border:1px solid rgba(42,95,158,.35);

  font:600 13px/1.3 var(--font-sans);
  color:#fff;
}

.pi-distance__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  opacity:.9;
}

.pi-distance__label{
  opacity:.8;
}

.pi-distance__value{
  font-weight:800;
  color:#fff;
}

.share{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.share-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10);
  color: inherit;
  font: inherit;
  cursor:pointer;
}

.share-btn--ghost{
  background: rgba(0,0,0,.12);
}

.share-ic{
  width:18px;
  height:18px;
  display:inline-flex;
}
.share-ic svg{
  width:18px;
  height:18px;
  fill: currentColor;
  opacity:.95;
}

.share-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.share-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  text-decoration:none;
  color: inherit;
  font-size: .95rem;
}

.share-status{
  margin:0;
  min-height: 1.2em;
  opacity:.85;
  font-size:.95rem;
}


/* =========================
   KV2 Attractielijst
   ========================= */

.kv2-attracties{
  margin-top: 24px;
}

/* Legenda (bij sorteren op locatie: types hier, niet per blok herhalen) */
.kv2-attracties__legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  margin:0 0 6px;
}
.kv2-attracties__legend-hint{
  margin:0 0 14px;
  font-size:11px;
  line-height:1.35;
  color:rgba(255,255,255,.58);
  letter-spacing:.01em;
}
/* Legenda: geen <button> — die krijgen in browsers vaak grotere/andere vorm-UI-typografie dan h3. */
/* Zelfde element-styling als h3.categorie: span[role=button] + .kv2-attracties__cat. */
.kv2-attracties__legend .kv2-attracties__cat[role="button"]{
  margin:0;
  display:inline-flex;
  align-items:center;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  transition: opacity .18s ease, filter .18s ease, transform .1s ease;
}
.kv2-attracties__legend .kv2-attracties__cat:hover{
  filter: brightness(1.08);
}
.kv2-attracties__legend .kv2-attracties__cat.is-cat-inactive{
  opacity: .3;
  filter: grayscale(0.35) brightness(0.85);
}
.kv2-attracties__legend .kv2-attracties__cat:focus-visible{
  outline: 2px solid rgba(255,255,255,.45);
  outline-offset: 2px;
}

/* Locatiekop boven een deel van de lijst */
.kv2-attracties__loc{
  margin:14px 0 10px;
  font-size:1.1rem;
  font-weight:800;
  color:#f0f2ff;
  letter-spacing:.03em;
  line-height:1.3;
  text-shadow: 0 1px 0 rgba(0,0,0,.25);
}
.kv2-attracties__loc--unassigned{
  color:#e0e4ff;
  font-style: italic;
  opacity: .95;
}
.kv2-attracties__loc:first-of-type{
  margin-top:0;
}

/* ---- Categorietitel ---- */
.kv2-attracties__cat{
  display:flex;
  align-items:center;
  gap:8px;

  margin:16px 0 8px;
  padding:6px 10px;

  font-size:12.5px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;

  border-radius:10px;

  /* iets subtieler op drukke backgrounds */
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(2px);
}

/* icoon via .kv2-attracties__cat-icon (SVG) */
.kv2-attracties__cat::before{
  content: none;
  display: none;
}
.kv2-attracties__cat-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: currentColor;
}
.kv2-attracties__cat-icon svg{
  display: block;
  width: 100%;
  height: 100%;
}

/* ---- Titel kleuren (groot=groen, kind=paars, spel=blauw, consumptie=amber) ---- */
.kv2-attracties__cat.cat-grootvermaak{
  color:#2dd4a3;
  background: rgba(16, 185, 129, .18);
}

.kv2-attracties__cat.cat-kindervermaak{
  color:#c4a3ff;
  background: rgba(168, 85, 247, .20);
}

.kv2-attracties__cat.cat-spel{
  color:#7cb6ff;
  background: rgba(59, 130, 246, .20);
}

.kv2-attracties__cat.cat-consumptie{
  color:#ffc14d;
  background: rgba(245, 158, 11, .20);
}

.kv2-attracties__cat.cat-overig{
  color: rgba(255,255,255,.85);
  background: rgba(255,255,255,.10);
}

/* ---- Lijst layout ---- */
.attractielijst{
  list-style:none;
  padding:0;
  margin:0;

  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}

@media (min-width:700px){
  .attractielijst{ grid-template-columns:1fr 1fr; }
}

/* ---- Item basis (subtiel, niet hard wit) ---- */
.attractielijst__item{
  border-radius:10px;
  padding:7px 10px;

  border-left:3px solid rgba(249,123,10,.0); /* wordt per cat overschreven */
  background: rgba(255,255,255,.55);

  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

/* Naam + exploitant (leesbaar) */
.attractielijst__name{
  font-weight:800;
  font-size:13.5px;
  line-height:1.15;
  color: #FFF;
}

.attractielijst__owner{
  font-size:11.5px;
  margin-top:2px;
  color: rgba(255,255,255,.75);
  font-style: italic;
}

/* ---- Items: licht meegetint per categorie ---- */
.attractielijst__item.cat-grootvermaak{
  border-left-color:#10b981;
  background: rgba(16, 185, 129, .16);
}

.attractielijst__item.cat-kindervermaak{
  border-left-color:#a855f7;
  background: rgba(168, 85, 247, .16);
}

.attractielijst__item.cat-spel{
  border-left-color:#3b82f6;
  background: rgba(59, 130, 246, .16);
}

.attractielijst__item.cat-consumptie{
  border-left-color:#f59e0b;
  background: rgba(245, 158, 11, .18);
}

.attractielijst__item.cat-none{
  border-left-color:#8e24aa;            
  background: rgba(142, 36, 170, .12);    
}



/* =========================
   KV2 Activiteiten
   ========================= */

.kv2-acts__list{
  display:grid;
  gap:18px;
}

/* Statische rand: positie = 8 kleuren; accent-* = type uit titel/veld; --photo = sterker rand bij achtergrondfoto. */
.kv2-act-conic{
  display:block;
  padding:2px;
  border-radius:14px;
  transition:transform .22s ease;
}

/* Fallback buiten .kv2-acts__list */
.kv2-act-conic:not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(255,122,26,.2),
    rgba(42,40,62,.055) 100deg,
    rgba(42,40,62,.055) 200deg,
    rgba(255,122,26,.2)
  );
}

.kv2-acts__list > .kv2-act-conic:nth-child(8n+1):not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(255,132,38,.26),
    rgba(42,40,62,.052) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(255,132,38,.26)
  );
}

.kv2-acts__list > .kv2-act-conic:nth-child(8n+2):not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(84,169,88,.22),
    rgba(42,40,62,.052) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(84,169,88,.22)
  );
}

.kv2-acts__list > .kv2-act-conic:nth-child(8n+3):not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(59,130,246,.23),
    rgba(42,40,62,.052) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(59,130,246,.23)
  );
}

.kv2-acts__list > .kv2-act-conic:nth-child(8n+4):not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(255,152,40,.28),
    rgba(42,40,62,.052) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(255,152,40,.28)
  );
}

.kv2-acts__list > .kv2-act-conic:nth-child(8n+5):not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(232,88,160,.22),
    rgba(42,40,62,.052) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(232,88,160,.22)
  );
}

.kv2-acts__list > .kv2-act-conic:nth-child(8n+6):not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(56,178,172,.23),
    rgba(42,40,62,.052) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(56,178,172,.23)
  );
}

.kv2-acts__list > .kv2-act-conic:nth-child(8n+7):not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(147,112,246,.23),
    rgba(42,40,62,.052) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(147,112,246,.23)
  );
}

.kv2-acts__list > .kv2-act-conic:nth-child(8n+8):not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(255,160,146,.28),
    rgba(42,40,62,.052) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(255,160,146,.28)
  );
}

.kv2-act-conic:has(> .kv2-act.is-today):not([class*="kv2-act-conic--accent"]){
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(255,136,52,.28),
    rgba(42,40,62,.052) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(255,136,52,.28)
  );
}

/* Type‑accent randen (titeltrefwoord of prikkelarm‑vlag): blauw/paars vuurwerk, groen korting, rustige prikkelarm */
.kv2-act-conic--accent-vuurwerk{
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(116,174,246,.24),
    rgba(152,138,226,.21) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(116,174,246,.24)
  );
}

.kv2-act-conic--photo.kv2-act-conic--accent-vuurwerk{
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(124,178,252,.74),
    rgba(92,148,246,.58) 100deg,
    rgba(92,74,174,.52) 200deg,
    rgba(150,138,246,.72)
  );
}

.kv2-act-conic--accent-korting{
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(56,209,154,.23),
    rgba(42,174,156,.2) 100deg,
    rgba(42,40,62,.052) 200deg,
    rgba(56,209,154,.23)
  );
}

.kv2-act-conic--photo.kv2-act-conic--accent-korting{
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(52,211,153,.73),
    rgba(38,174,134,.54) 100deg,
    rgba(34,116,124,.42) 200deg,
    rgba(74,218,174,.62)
  );
}

.kv2-act-conic--accent-prikkelarm{
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(168,188,174,.21),
    rgba(152,154,146,.14) 100deg,
    rgba(52,54,52,.068) 200deg,
    rgba(168,188,174,.21)
  );
}

.kv2-act-conic--photo.kv2-act-conic--accent-prikkelarm{
  background:conic-gradient(
    from 270deg at 50% 50%,
    rgba(176,196,182,.62),
    rgba(158,164,154,.42) 100deg,
    rgba(104,118,114,.42) 200deg,
    rgba(178,200,186,.54)
  );
}
.kv2-act-conic > .kv2-act{
  position:relative;
  z-index:1;
  width:100%;
  border-radius:12px;
}

.kv2-act-conic:hover,
.kv2-act-conic:focus-within,
.kv2-act-conic:has(.kv2-act[open]){
  transform:translateY(-1px);
}

/* Hover: geen extra 1px-buitenrand; inset highlight zodat de 2px conic-ring gelijk blijft */
.kv2-act-conic:hover .kv2-act:not(.kv2-act--has-bg),
.kv2-act-conic:focus-within .kv2-act:not(.kv2-act--has-bg),
.kv2-act-conic:has(.kv2-act[open]) .kv2-act:not(.kv2-act--has-bg){
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}

.kv2-act-conic:hover .kv2-act.is-today:not(.kv2-act--has-bg),
.kv2-act-conic:focus-within .kv2-act.is-today:not(.kv2-act--has-bg),
.kv2-act-conic:has(.kv2-act[open]) .kv2-act.is-today:not(.kv2-act--has-bg){
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.18),
    0 10px 20px rgba(90,140,220,.10);
}

.kv2-act-conic:hover .kv2-act--has-bg:not([class*="kv2-act--theme-"]),
.kv2-act-conic:focus-within .kv2-act--has-bg:not([class*="kv2-act--theme-"]),
.kv2-act-conic:has(.kv2-act[open]) .kv2-act--has-bg:not([class*="kv2-act--theme-"]){
  box-shadow:
    0 0 0 1px rgba(255,255,255,.11) inset,
    0 1px 0 rgba(255,255,255,.15) inset,
    0 14px 44px rgba(0,0,0,.42);
}

/* detail accordion */
.kv2-act{
  border-top: none;
  border-right: none;
  border-bottom: none;
  border-left: 4px solid rgba(42,95,158,.45);
  border-radius:12px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  overflow:hidden;
  transition:box-shadow .22s ease;
}

/* Achtergrondbeeld (programma-theme); --kv2-act-bg-img wordt op de pagina gezet */
.kv2-act--has-bg{
  position: relative;
  isolation: isolate;
  background: linear-gradient(180deg, rgba(14,11,26,.82), rgba(10,9,22,.75));
  border-top: none;
  border-right: none;
  border-bottom: none;
  border-left: 4px solid rgba(42,95,158,.45);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.07) inset,
    0 1px 0 rgba(255,255,255,.1) inset,
    0 14px 44px rgba(0,0,0,.42);
  transition:box-shadow .22s ease;
}
.kv2-act--has-bg::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background-image: var(--kv2-act-bg-img);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 92% 42%;
  opacity: .66;
  transform: scale(1.045);
  filter: saturate(1.22) contrast(1.08);
  pointer-events: none;
}

@media (max-width: 980px){
  .kv2-act--has-bg::before{
    background-image: var(--kv2-act-bg-img-m, var(--kv2-act-bg-img));
    background-position: 86% center;
    opacity: .62;
    transform: scale(1.08);
  }
}

/* Links donker voor titel/metadata; rechts komt het beeld vrijer door */
.kv2-act--has-bg::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background:
    radial-gradient(
      ellipse 118% 90% at 110% 40%,
      rgba(124,92,214,.06) 0%,
      transparent 58%
    ),
    linear-gradient(
      106deg,
      rgba(11, 9, 22, .97) 0%,
      rgba(14, 12, 28, .85) 24%,
      rgba(22, 16, 40, .45) 48%,
      rgba(40, 28, 64, .22) 72%,
      rgba(62, 40, 90, .28) 100%
    );
  pointer-events: none;
}

.kv2-act--has-bg > .kv2-act__sum,
.kv2-act--has-bg > .kv2-act__body{
  position: relative;
  z-index: 2;
}

/* Subtle “glass” flare over de titelrij (Uiverse-achtige glans) */
.kv2-act--has-bg .kv2-act__sum{
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.kv2-act--has-bg .kv2-act__sum::after{
  content: "";
  position: absolute;
  top: -40%;
  right: -35%;
  width: min(75%, 18rem);
  height: 180%;
  background: linear-gradient(
    132deg,
    transparent 42%,
    rgba(255,255,255,.09) 50%,
    transparent 58%
  );
  transform: skewX(-14deg);
  animation: kv2-act-sum-shimmer 14s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

.kv2-act--has-bg .kv2-act__sum > *,
.kv2-act--has-bg .kv2-act__chev{
  position: relative;
  z-index: 2;
}

.kv2-act--theme-korting.kv2-act--has-bg::after{
  background:
    radial-gradient(
      ellipse 120% 90% at 108% 36%,
      rgba(74,205,154,.07) 0%,
      transparent 55%
    ),
    linear-gradient(
      106deg,
      rgba(7, 20, 16, .96) 0%,
      rgba(10, 30, 24, .86) 28%,
      rgba(18, 38, 32, .43) 50%,
      rgba(26, 48, 40, .2) 78%,
      rgba(34, 58, 48, .32) 100%
    );
}

.kv2-act--theme-prikkelarm.kv2-act--has-bg::after{
  background:
    radial-gradient(
      ellipse 115% 90% at 112% 38%,
      rgba(168,186,176,.08) 0%,
      transparent 56%
    ),
    linear-gradient(
      106deg,
      rgba(18, 24, 26, .94) 0%,
      rgba(28, 34, 42, .86) 26%,
      rgba(44, 56, 62, .42) 52%,
      rgba(56, 72, 76, .26) 78%,
      rgba(68, 86, 90, .32) 100%
    );
}

.kv2-act--theme-vuurwerk.kv2-act--has-bg::after{
  background:
    radial-gradient(
      ellipse 125% 100% at 108% 32%,
      rgba(136,174,246,.14) 0%,
      transparent 52%
    ),
    linear-gradient(
      106deg,
      rgba(12, 18, 36, .94) 0%,
      rgba(18, 22, 48, .86) 28%,
      rgba(42, 36, 86, .4) 50%,
      rgba(72, 52, 112, .22) 78%,
      rgba(56, 40, 98, .28) 100%
    );
}

@media (prefers-reduced-motion: no-preference){
  @keyframes kv2-act-sum-shimmer{
    0%{ transform: skewX(-14deg) translateX(-35%); opacity: .35; }
    42%{ opacity: .55; }
    72%{ opacity: .45; }
    100%{ transform: skewX(-14deg) translateX(58%); opacity: .35; }
  }

  @keyframes kv2-act-theme-glow-fire{
    from{
      box-shadow:
        0 0 0 1px rgba(255,255,255,.07) inset,
        0 1px 0 rgba(255,255,255,.1) inset,
        0 14px 44px rgba(0,0,0,.42),
        0 0 34px -10px rgba(96,154,246,.42);
    }
    to{
      box-shadow:
        0 0 0 1px rgba(255,255,255,.1) inset,
        0 1px 0 rgba(255,255,255,.14) inset,
        0 14px 44px rgba(0,0,0,.42),
        0 0 56px -4px rgba(174,154,246,.52);
    }
  }

  .kv2-act--theme-vuurwerk.kv2-act--has-bg{
    animation: kv2-act-theme-glow-fire 5.5s ease-in-out infinite alternate;
  }

  .kv2-act--theme-vuurwerk.kv2-act--has-bg::before{
    animation: kv2-act-bg-drift 18s ease-in-out infinite alternate;
  }

  @keyframes kv2-act-bg-drift{
    from{ transform: scale(1.045) translate(0, 0); }
    to{ transform: scale(1.07) translate(-1%, -0.4%); }
  }

  /* Lichte zweving op andere thema's voor dezelfde “card”‑feel als Uiverse-lite */
  @keyframes kv2-act-theme-glow-mint{
    from{
      box-shadow:
        0 0 0 1px rgba(255,255,255,.07) inset,
        0 1px 0 rgba(255,255,255,.1) inset,
        0 14px 44px rgba(0,0,0,.42),
        0 0 30px -10px rgba(52,211,153,.2);
    }
    to{
      box-shadow:
        0 0 0 1px rgba(255,255,255,.1) inset,
        0 1px 0 rgba(255,255,255,.14) inset,
        0 14px 44px rgba(0,0,0,.42),
        0 0 48px -6px rgba(110,231,183,.42);
    }
  }

  @keyframes kv2-act-theme-glow-lilac{
    from{
      box-shadow:
        0 0 0 1px rgba(255,255,255,.07) inset,
        0 1px 0 rgba(255,255,255,.1) inset,
        0 14px 44px rgba(0,0,0,.42),
        0 0 30px -10px rgba(154,184,172,.2);
    }
    to{
      box-shadow:
        0 0 0 1px rgba(255,255,255,.1) inset,
        0 1px 0 rgba(255,255,255,.14) inset,
        0 14px 44px rgba(0,0,0,.42),
        0 0 50px -6px rgba(188,206,192,.42);
    }
  }

  .kv2-act--theme-korting.kv2-act--has-bg{
    animation: kv2-act-theme-glow-mint 6.5s ease-in-out infinite alternate;
  }

  .kv2-act--theme-prikkelarm.kv2-act--has-bg{
    animation: kv2-act-theme-glow-lilac 6.5s ease-in-out infinite alternate;
  }
}

@media (prefers-reduced-motion: reduce){
  .kv2-act-conic{
    transition:none;
  }

  .kv2-act-conic:hover,
  .kv2-act-conic:focus-within,
  .kv2-act-conic:has(.kv2-act[open]){
    transform:none;
  }

  .kv2-act--has-bg{
    transition: none;
  }

  .kv2-act--has-bg .kv2-act__sum::after{
    animation: none;
    opacity: 0;
  }
}

.kv2-acts__list > .kv2-act-conic:nth-child(8n+1) > .kv2-act:not([class*="kv2-act--accent-"]){ border-left-color: rgba(255,132,38,.62); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+2) > .kv2-act:not([class*="kv2-act--accent-"]){ border-left-color: rgba(84,169,88,.56); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+3) > .kv2-act:not([class*="kv2-act--accent-"]){ border-left-color: rgba(59,130,246,.56); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+4) > .kv2-act:not([class*="kv2-act--accent-"]){ border-left-color: rgba(255,152,40,.62); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+5) > .kv2-act:not([class*="kv2-act--accent-"]){ border-left-color: rgba(232,88,160,.54); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+6) > .kv2-act:not([class*="kv2-act--accent-"]){ border-left-color: rgba(56,178,172,.54); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+7) > .kv2-act:not([class*="kv2-act--accent-"]){ border-left-color: rgba(147,112,246,.54); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+8) > .kv2-act:not([class*="kv2-act--accent-"]){ border-left-color: rgba(255,160,146,.62); }
/* Type‑accent: vaste linkerstreep (titeltrefwoord of prikkelarm‑badge) */
.kv2-acts__list > .kv2-act-conic > .kv2-act--accent-vuurwerk{
  border-left-color: rgba(110,168,245,.82);
}

.kv2-acts__list > .kv2-act-conic > .kv2-act--accent-korting{
  border-left-color: rgba(52,192,146,.82);
}

.kv2-acts__list > .kv2-act-conic > .kv2-act--accent-prikkelarm{
  border-left-color: rgba(156,176,166,.85);
}

.kv2-acts__list > .kv2-act-conic > .kv2-act--theme-vuurwerk.kv2-act--has-bg{
  border-left-color: rgba(118,174,252,.92);
}

.kv2-acts__list > .kv2-act-conic > .kv2-act--theme-korting.kv2-act--has-bg{
  border-left-color: rgba(52,211,153,.82);
}

.kv2-acts__list > .kv2-act-conic > .kv2-act--theme-prikkelarm.kv2-act--has-bg{
  border-left-color: rgba(158,182,174,.92);
}

.kv2-act.is-today{
  border-left-color: rgba(255,122,26,.75);
  box-shadow: 0 10px 20px rgba(90,140,220,.10);
}

.kv2-act.is-prikkelarm:not(.kv2-act--accent-prikkelarm){
  border-left-color: rgba(90,140,220,.70);
}

.kv2-act__sum{
  list-style:none;
  cursor:pointer;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  padding:16px 16px;
}

.kv2-act__sum::-webkit-details-marker{ display:none; }

.kv2-act__left{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.kv2-act__title{
  font-weight:900;
  color:#fff;
  font-size:19px;
  line-height:1.2;
}

@media (min-width: 981px){
  .kv2-act__title{
    font-size:23px;
    line-height:1.22;
  }
}

.kv2-act__title a,
.kv2-act__richtext a{
  color:#ff9f4a;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
.kv2-act__title a:hover,
.kv2-act__richtext a:hover{
  color:#ffb870;
}

.kv2-act__meta{
  color:#bdbddb;
  font-size:16px;
  opacity:.95;
  font-weight: 600;
  font-style: italic;
}

.kv2-act__badge{
  font-weight:900;
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:6px 8px;
  border-radius:999px;
  background: rgba(255,122,26,.18);
  border:1px solid rgba(255,122,26,.25);
  color:#ffd2b1;
  white-space:nowrap;
}

.kv2-act__badge--soft{
  background: rgba(90,140,220,.14);
  border-color: rgba(90,140,220,.22);
  color:#d9c8ff;
}

.kv2-act__chev{
  color:#cfcff2;
  opacity:.9;
  transform: rotate(90deg);
  transition: transform .18s ease;
  font-weight:900;
}

.kv2-act[open] .kv2-act__chev{
  transform: rotate(270deg);
}

.kv2-act__header-photo{
  margin:0;
  padding:0;
  border-top:1px solid rgba(255,255,255,.06);
  background:#0b0b10;
}

.kv2-act__header-photo img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(52vh,420px);
  object-fit:cover;
}

.kv2-act__body{
  padding:0 16px 16px;
  border-top:1px solid rgba(255,255,255,.06);
}

.kv2-act__richtext{
  margin:12px 0 0;
  color:#eee;
  white-space:pre-wrap;
  word-break:break-word;
  line-height:1.55;
}

/* Openingstijden → activiteiten (chips onder een dagregel) */
.pi-opening-row{
  flex-wrap: wrap;
}

.opening__acts{
  flex: 0 0 100%;
  width: 100%;
  margin-left: 0;
  margin-top: 4px;
  justify-content: flex-start;
  padding-left: 10px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  max-height: 44px;
  overflow: hidden;
}

.opening__actlink{
  font-size: 11px;
  padding: 3px 8px;
  line-height: 1.15;
  border-radius: 999px;
  border: 1px solid rgba(90,140,220,.22);
  background: rgba(90,140,220,.10);
  color: #d9c8ff;
  text-decoration: none;
}
.opening__actlink:hover{
  border-color: rgba(90,140,220,.35);
  background: rgba(90,140,220,.16);
}

/* Op geopende dagen: zelfde accent als pi-opening-dot (is-open). */
.pi-opening-row.is-open .opening__actlink{
  color: #34d399;
  border-color: rgba(52, 211, 153, .42);
  background: rgba(52, 211, 153, .12);
}
.pi-opening-row.is-open .opening__actlink:hover{
  border-color: rgba(52, 211, 153, .58);
  background: rgba(52, 211, 153, .2);
}

/* Hero chips */
.hero-acts{
  margin-top:8px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.hero-acts__chip{
  display:inline-flex;
  align-items:center;
  gap:8px;

  font-weight:800;
  font-size:12px;
  padding:7px 10px;
  border-radius:999px;

  background: rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  text-decoration:none;
}
.hero-acts__chip.is-today{
  border-color: rgba(255,122,26,.35);
  background: rgba(255,122,26,.16);
}
.hero-acts__chip.is-tomorrow{
  border-color: rgba(90,140,220,.32);
  background: rgba(90,140,220,.14);
}

/* =========================
   Prikkelarme kermis blok
   ========================= */

.pi-item--prikkelarm{
  position:relative;
  display:block;
  text-decoration:none;
  color:inherit;
  border: 1px solid rgba(125, 211, 192, .32);
  border-radius: 12px;
  padding: 10px 12px;
  background:
    linear-gradient(160deg, rgba(125, 211, 192, .07) 0%, rgba(21, 21, 32, .98) 42%, #151520 100%);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition:all .18s ease;
}

.pi-item--prikkelarm .pi-k{
  color:#8fd4c4;
  letter-spacing:.06em;
}

/* mint accentlijn */
.pi-item--prikkelarm::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:12px 0 0 12px;
  background: linear-gradient(180deg, #7dd3c0, rgba(125, 211, 192, .45));
}

/* pijl rechts */
.pi-item--prikkelarm::after{
  content:"›";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:22px;
  color:rgba(255,255,255,.6);
  transition:transform .18s ease,color .18s ease;
}

/* hover */
.pi-item--prikkelarm:hover{
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    linear-gradient(145deg, rgba(125, 211, 192, .12), rgba(21, 21, 32, .98));
  border-color: rgba(125, 211, 192, .42);
}

.pi-item--prikkelarm:hover::after{
  transform:translateY(-50%) translateX(4px);
  color:#fff;
}

/* layout */
.pi-v--prikkelarm{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#e8faf5;
}

/* datumregel */
.pi-prikkelarm__line{
  display:flex;
  align-items:baseline;
  gap:8px;
  line-height:1.45;
}

/* datum + tijd:zelfde typografie als .pi-v */
.pi-prikkelarm__line strong{
  font-size:inherit;
  font-weight:700;
  color: rgba(255, 255, 255, .94) !important;
}
.pi-prikkelarm__line .pi-muted {
  margin-left: 0 !important;
  margin-bottom:0;
  font-size:inherit;
  line-height:inherit;
  font-weight:600;
}

/* tijd */
.pi-item--prikkelarm .pi-muted{
  color:rgba(255,255,255,.75);
  font-size:inherit;
}

/* icoon */
.pi-prikkelarm__icon{
  width:24px;
  height:24px;

  border-radius:999px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  background:rgba(90,140,220,.14);
  border:1px solid rgba(90,140,220,.28);

  color:#e6dbff;
  font-size:13px;
}

.pi-prikkelarm__icon i{
  line-height:1;
}

/* activiteitenblok koppeling — paars alleen zonder rust‑accent klasse */
.kv2-act.is-prikkelarm:not(.kv2-act--accent-prikkelarm){
  --act-accent:rgba(170,120,255,.72);
}

/* mobiel */
@media (max-width:640px){

  .pi-item--prikkelarm::after{
    right:12px;
  }

}
.pi-item--prikkelarm.is-today{
  box-shadow:0 0 0 1px rgba(170,120,255,.4),
             0 12px 28px rgba(0,0,0,.25);
}

.detail-stay22 #stay22{ width:100%; height:360px; background:#0b0b10; border-radius:10px }

.map-lazy{ position:relative; }
.map-lazy__viewport{
  position:relative;
  min-height:280px;
  margin-top:10px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid #22223a;
}
/* Lazy-map CTA: flex-centrering werkt stabieler dan absolute top:50% hier. */
.map-lazy__viewport:not(.map-lazy__viewport--revealed){
  display:flex;
  align-items:center;
  justify-content:center;
}
.map-lazy__ph{
  position:absolute;
  inset:0;
  height:auto;
  min-height:100%;
  margin:0;
  border-radius:0;
  border:0;
  background: url("../img/maps-blurred-bg.jpg"); background-size: cover;
  filter:blur(.4px) saturate(110%);
}
.map-lazy__frame{
  margin-top:0;
  position:relative;
  min-height:0;
  height:auto;
  overflow:visible;
  border:none;
  border-radius:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.map-lazy__frame:not([hidden]){ min-height:0; }
.map-lazy__viewport--revealed{ overflow:visible; }
.map-lazy__viewport.map-lazy__viewport--revealed .map-lazy__btn{
  display:none;
}
.map-lazy__frame iframe{ width:100%; height:100%; border:0 }
.btn.btn--ghost{
  background:transparent; color:#fff; border:1px solid #1e3348; border-radius:999px;
  padding:8px 14px; font-weight:700; cursor:pointer;
}
.btn.btn--ghost:hover{ border-color:#4a8fd4; color:#4a8fd4 }

.map-lazy__viewport .map-lazy__btn{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  text-align:center;

  background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);
  border-color:#4a8fd4;
  color:#fff;
}

.map-lazy__viewport .map-lazy__btn:hover{
  background:rgba(0,0,0,.7);
  color:#fff;
  border-color:#c49bff;
}

.detail-media{ display:flex; gap:12px; flex-wrap:wrap }
.yt-thumb{ position:relative; display:block; width:280px; height:158px; border-radius:12px; overflow:hidden; border:1px solid #22223a; }
.yt-thumb img{ width:100%; height:100%; object-fit:cover; display:block }
.yt-thumb__label{
  position:absolute; left:8px; top:8px; padding:6px 8px; border-radius:999px;
  font-size:12px; font-weight:800; background:rgba(0,0,0,.55); color:#fff; border:1px solid rgba(255,255,255,.2);
}

.detail-photos{ display:grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap:10px }
.detail-photos .ph{ display:block; position:relative; border:1px solid #22223a; border-radius:10px; overflow:hidden }
.detail-photos img{ width:100%; height:140px; object-fit:cover; display:block }

.lb{ position:fixed; inset:0; z-index:6000; background:rgba(0,0,0,.82); display:grid; place-items:center }
.lb[hidden]{ display:none }
.lb__img{ max-width:92vw; max-height:92vh; border-radius:12px; box-shadow:0 30px 80px rgba(0,0,0,.6) }
.lb__x{ position:absolute; top:14px; right:14px; width:40px; height:40px; border-radius:999px; background:rgba(0,0,0,.5); color:#fff; border:1px solid rgba(255,255,255,.25); font-size:22px; font-weight:800; cursor:pointer }

.kv2-quicklinks{ display:flex; gap:8px; flex-wrap:wrap }
.chip.chip--ghost{
  border:1px dashed #1e3348; color:#cfd9ef; background:#101820; border-radius:999px; padding:6px 10px; text-decoration:none; font-weight:700;
}
.chip.chip--ghost:hover{ border-color:#4a8fd4; color:#4a8fd4 }

.eventTextList.two-col{
  display:grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap:var(--kv2-gap-text-items);
}

.kermis-hero{
  position:relative;
  width:100%;

  min-height: 400px;
  height: clamp(160px, 22vw, 260px);
  background: #0e1a2e;
  overflow: clip;
  isolation:isolate;
}
.kermis-hero::before{

  content:"";
  position:absolute; inset:0; z-index:-2;
  background-image: var(--hero);
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  filter: saturate(105%) brightness(.9);
}
.kermis-hero__scrim{
  position:absolute; inset:0; z-index:-1;

  background:
    radial-gradient(80% 120% at 60% 0%, rgba(20,60,110,.60) 0%, rgba(8,20,40,.55) 60%, rgba(6,12,24,.65) 100%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.30));
  backdrop-filter: blur(1px);
}
.kermis-hero__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:inherit;
  padding-top: 10px;
  padding-bottom: 12px;
}
.kermis-hero__text{
  max-width: 880px;
  color:#fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);

  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.kermis-hero__over,
.kermis-hero__title-over{
  display:block;
  font: 600 14px/1.2 var(--font-sans);
  opacity:.9; letter-spacing:.02em;
  margin-bottom: 4px;
}
.kermis-hero__title{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:0 0 4px 0;
  color:#fff;
}
.kermis-hero__title-main{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  text-align:center;
}
.kermis-hero__title-sub{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
  font: 700 14px/1.25 var(--font-sans);
  color: #fff;
  opacity:.95;
  text-align:center;
}
.kermis-hero__flag{
  width: 24px; height:auto; border-radius:2px; box-shadow:0 0 0 1px rgba(255,255,255,.25);
}
.kermis-hero__subtitle{
  font: 700 16px/1.25 var(--font-sans);
  color: #e8f0fa; opacity:.95;
  margin-bottom: 10px;
}
.kermis-hero__pill{
  display:inline-block;
  padding: 8px 14px;
  border-radius: 10px;
  font: 700 13px/1 var(--font-sans);
  color:#fff; letter-spacing:.02em;
  background: linear-gradient(90deg, #1e5a9e, #3d8fd4);
  box-shadow: 0 6px 16px rgba(30,74,130,.35), inset 0 0 0 1px rgba(255,255,255,.25);
}
.kermis-hero__title,
.kermis-hero__title-main,
.kermis-hero__title-sub,
.kermis-hero__subtitle,
.kermis-hero__pill,
.kermis-hero__over,
.kermis-hero__title-over {
  margin-left: auto;
  margin-right: auto;
}

.kermis-hero__credit{
  position:absolute;
  right:10px;
  bottom:8px;
  font: 600 11px/1.2 var(--font-sans);
  color: rgba(255,255,255,.85);
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
  z-index: 3;
  opacity: .9;
}

.kermis-hero.has-slides::before{
  background-image:none !important;
}

.kermis-hero__slides{
  position:absolute; inset:0;
  z-index:-2;
}

.kermis-hero__slide{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transition: opacity 1200ms ease;
  transform: scale(1.02);
  filter: saturate(105%) brightness(.9);
}

.kermis-hero__slide.is-active{
  opacity:1;
}

.kermis-hero.is-kenburns::before{
  animation: kv2-kenburns 18s ease-in-out infinite alternate;
}

.page--show-detail .kermis-hero{
  min-height: clamp(260px, 38vw, 460px);
  height: clamp(260px, 38vw, 460px);
}

.page--show-detail .kermis-hero.is-kenburns::before{
  filter: saturate(110%) brightness(.82);
}

@keyframes kv2-kenburns{
  from { transform: scale(1.02) translateY(0px); }
  to   { transform: scale(1.08) translateY(-6px); }
}

@media (max-width: 420px){
  .kermis-hero__subtitle{ font-weight: 600; }
  .kermis-hero__pill{ padding:7px 12px; }
}

.hl-about { display:block; color:var(--text, #eee); }
.hl-about p { margin: 0 0 16px; opacity:.95; line-height:1.6; }
.hl-ctas { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.hl-ctas--weekend { margin-top: 10px; }
.kv2-notfound-ctas { margin: 1rem 0 1.1rem; }
.kv2-notfound-ctas .btn--map { display: inline-flex; align-items: center; justify-content: center; }
/* .legal-page .wrapper.narrow a zet accent-kleur; btn--map moet wit op oranje gradient blijven */
.content-wrapper .legal-page .kv2-notfound-ctas a.btn--map{
  color:#fff;
  text-shadow:0 0 1px rgba(0,0,0,.35);
}
.content-wrapper .legal-page .kv2-notfound-ctas a.btn--map:hover{
  color:#fff;
  text-decoration:none;
}

.btn.btn--chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#fff; text-decoration:none; font-weight:600; font-size:13px;
  transition:transform .12s ease, background .15s ease, border-color .15s ease;
}
.btn.btn--chip:hover{ transform:translateY(-1px); background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.28) }
button.btn.btn--chip{ cursor:pointer; font:inherit; }

.h-title--glow{
  --glow: rgba(60, 110, 180, .35);
  text-shadow: 0 0 0 var(--glow), 0 2px 14px var(--glow);
}

/* =========================================================
   KV2 UI Wow (reversible via body class .kv2-uiwow)
   ========================================================= */
body.kv2-uiwow .search__submit,
body.kv2-uiwow .btn--map,
body.kv2-uiwow .home-news__more-btn{
  position:relative;
  isolation:isolate;
  transition:transform .18s ease, box-shadow .22s ease, filter .22s ease;
  box-shadow:0 8px 20px rgba(20,50,90,.22), inset 0 0 0 1px rgba(255,255,255,.08);
}
body.kv2-uiwow .search__submit:hover,
body.kv2-uiwow .btn--map:hover,
body.kv2-uiwow .home-news__more-btn:hover{
  transform:translateY(-1px);
  filter:saturate(1.06);
  box-shadow:0 12px 28px rgba(40,85,140,.32), inset 0 0 0 1px rgba(255,255,255,.15);
}

body.kv2-uiwow .adv-btn.btn-ghost,
body.kv2-uiwow .btn.btn--ghost,
body.kv2-uiwow .btn.btn--chip{
  position:relative;
  overflow:hidden;
}
body.kv2-uiwow .adv-btn.btn-ghost::after,
body.kv2-uiwow .btn.btn--ghost::after,
body.kv2-uiwow .btn.btn--chip::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.15) 45%, transparent 100%);
  transform:translateX(-125%);
  transition:transform .45s ease;
  pointer-events:none;
}
body.kv2-uiwow .adv-btn.btn-ghost:hover::after,
body.kv2-uiwow .btn.btn--ghost:hover::after,
body.kv2-uiwow .btn.btn--chip:hover::after{
  transform:translateX(125%);
}

body.kv2-uiwow .eventTextItem{
  transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease;
}
body.kv2-uiwow .eventTextItem:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.24);
}
body.kv2-uiwow .eventTextItem.currentEvent .daysleftfield{
  box-shadow:0 0 0 1px rgba(255,255,255,.12) inset;
  animation:kv2UiWowPulse 2.2s ease-in-out infinite;
}

body.kv2-uiwow .fav-btn,
body.kv2-uiwow .placeiconfield .fav-btn--mini,
body.kv2-uiwow .sug-fav{
  transition:transform .16s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
body.kv2-uiwow .fav-btn.is-fav,
body.kv2-uiwow .fav-btn.is-on,
body.kv2-uiwow .placeiconfield .fav-btn--mini.is-fav,
body.kv2-uiwow .placeiconfield .fav-btn--mini.is-on,
body.kv2-uiwow .sug-fav.is-active{
  box-shadow:0 0 0 3px rgba(255,120,170,.22), 0 8px 18px rgba(80,10,50,.25);
  transform:scale(1.04);
}

body.kv2-uiwow .chip:not(.chip--holiday-feest):not(.chip--holiday-kingsday),
body.kv2-uiwow .home-intro-jump__link,
body.kv2-uiwow .homeplace-actions__agenda{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  border-color:rgba(190,145,255,.35);
  transition:transform .15s ease, border-color .18s ease, box-shadow .2s ease, background .18s ease;
}
body.kv2-uiwow .chip:not(.chip--holiday-feest):not(.chip--holiday-kingsday)::after,
body.kv2-uiwow .home-intro-jump__link::after,
body.kv2-uiwow .homeplace-actions__agenda::after{
  content:"";
  position:absolute;
  inset:-40% auto -40% -120%;
  width:55%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.3) 52%, transparent 100%);
  transition:left .45s ease;
  pointer-events:none;
}
body.kv2-uiwow .chip:not(.chip--holiday-feest):not(.chip--holiday-kingsday):hover,
body.kv2-uiwow .home-intro-jump__link:hover,
body.kv2-uiwow .homeplace-actions__agenda:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(45,15,75,.28);
  border-color:rgba(220,180,255,.55);
}
body.kv2-uiwow .chip:not(.chip--holiday-feest):not(.chip--holiday-kingsday):hover::after,
body.kv2-uiwow .home-intro-jump__link:hover::after,
body.kv2-uiwow .homeplace-actions__agenda:hover::after{
  left:145%;
}

body.kv2-uiwow .home-news__card{
  transition:transform .2s ease, box-shadow .22s ease, border-color .22s ease;
}
body.kv2-uiwow .home-news__card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(0,0,0,.25);
}
body.kv2-uiwow .home-news__media img{
  transition:transform .5s ease;
}
body.kv2-uiwow .home-news__card:hover .home-news__media img{
  transform:scale(1.03);
}

body.kv2-uiwow .kv2-promoted-dot{
  position:relative;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .25s ease, filter .2s ease;
}
body.kv2-uiwow .kv2-promoted-dot::after{
  content:"";
  position:absolute;
  top:0;
  left:-140%;
  width:85%;
  height:100%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.48) 52%, transparent 100%);
  transition:left .48s ease;
  pointer-events:none;
}
body.kv2-uiwow .kv2-promoted-dot:hover::after{
  left:155%;
}
body.kv2-uiwow .kv2-promoted-dot:hover{
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 12px 24px rgba(58,17,96,.34);
  filter:saturate(1.08);
}

body.kv2-uiwow #kv2-q:focus,
body.kv2-uiwow #kv2-homeplace:focus{
  box-shadow:0 0 0 3px rgba(90,140,220,.3), 0 0 0 1px rgba(255,255,255,.2) inset;
}

/* Mijn Kermis: dashboard panels + actions */
body.kv2-uiwow.page--mijn-kermis .agenda-personal__panel,
body.kv2-uiwow.page--mijn-kermis .mijn-kermis-status__item{
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, box-shadow .22s ease, border-color .2s ease, background .2s ease;
}
body.kv2-uiwow.page--mijn-kermis .agenda-personal__panel::after,
body.kv2-uiwow.page--mijn-kermis .mijn-kermis-status__item::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(140deg, rgba(255,255,255,.06), transparent 40%);
  opacity:0;
  transition:opacity .2s ease;
  pointer-events:none;
}
body.kv2-uiwow.page--mijn-kermis .agenda-personal__panel:hover,
body.kv2-uiwow.page--mijn-kermis .mijn-kermis-status__item:hover{
  transform:translateY(-2px);
  border-color:rgba(210,170,255,.3);
  box-shadow:0 12px 28px rgba(20,4,38,.3);
}
body.kv2-uiwow.page--mijn-kermis .agenda-personal__panel:hover::after,
body.kv2-uiwow.page--mijn-kermis .mijn-kermis-status__item:hover::after{
  opacity:1;
}
body.kv2-uiwow.page--mijn-kermis .mijn-kermis-actions__btn{
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
body.kv2-uiwow.page--mijn-kermis .mijn-kermis-actions__btn::after{
  content:"";
  position:absolute;
  inset:-35% auto -35% -120%;
  width:52%;
  transform:skewX(-16deg);
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.28) 52%, transparent 100%);
  transition:left .42s ease;
  pointer-events:none;
}
body.kv2-uiwow.page--mijn-kermis .mijn-kermis-actions__btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(14,3,30,.28);
}
body.kv2-uiwow.page--mijn-kermis .mijn-kermis-actions__btn:hover::after{
  left:145%;
}

/* Nieuws: kaarten + CTA + gallery polish */
body.kv2-uiwow.page--news-overview .news-featured__link,
body.kv2-uiwow.page--news-overview .news-card,
body.kv2-uiwow.page--news-detail .news-more__card{
  transition:transform .2s ease, box-shadow .24s ease, border-color .22s ease;
}
body.kv2-uiwow.page--news-overview .news-featured__link:hover,
body.kv2-uiwow.page--news-overview .news-card:hover,
body.kv2-uiwow.page--news-detail .news-more__card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(14,3,28,.3);
}
body.kv2-uiwow.page--news-overview .news-card__media img,
body.kv2-uiwow.page--news-overview .news-featured__media img,
body.kv2-uiwow.page--news-detail .news-more__media img{
  transition:transform .45s ease;
}
body.kv2-uiwow.page--news-overview .news-card:hover .news-card__media img,
body.kv2-uiwow.page--news-overview .news-featured__link:hover .news-featured__media img,
body.kv2-uiwow.page--news-detail .news-more__card:hover .news-more__media img{
  transform:scale(1.03);
}
body.kv2-uiwow.page--news-detail .news-related-kermis__btn,
body.kv2-uiwow.page--news-detail .news-detail__back .chip--ghost{
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
body.kv2-uiwow.page--news-detail .news-related-kermis__btn::after,
body.kv2-uiwow.page--news-detail .news-detail__back .chip--ghost::after{
  content:"";
  position:absolute;
  inset:-35% auto -35% -120%;
  width:52%;
  transform:skewX(-16deg);
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.3) 52%, transparent 100%);
  transition:left .44s ease;
  pointer-events:none;
}
body.kv2-uiwow.page--news-detail .news-related-kermis__btn:hover,
body.kv2-uiwow.page--news-detail .news-detail__back .chip--ghost:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(14,3,28,.28);
}
body.kv2-uiwow.page--news-detail .news-related-kermis__btn:hover::after,
body.kv2-uiwow.page--news-detail .news-detail__back .chip--ghost:hover::after{
  left:145%;
}
body.kv2-uiwow.page--news-detail .news-gallery__item{
  overflow:hidden;
  border-radius:12px;
}
body.kv2-uiwow.page--news-detail .news-gallery__item img{
  transition:transform .35s ease, filter .2s ease;
}
body.kv2-uiwow.page--news-detail .news-gallery__item:hover img{
  transform:scale(1.03);
  filter:saturate(1.06);
}

/* Detailpagina: extra wow op kern-interactiepunten */
body.kv2-uiwow.page--kermis .fav-btn--hero{
  overflow:hidden;
  box-shadow:0 10px 24px rgba(22,5,42,.36), inset 0 0 0 1px rgba(255,255,255,.14);
  transition:transform .18s ease, box-shadow .22s ease, border-color .18s ease, background .18s ease;
}
body.kv2-uiwow.page--kermis .fav-btn--hero::after{
  content:"";
  position:absolute;
  inset:-30% auto -30% -120%;
  width:55%;
  transform:skewX(-16deg);
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.35) 52%, transparent 100%);
  transition:left .45s ease;
  pointer-events:none;
}
body.kv2-uiwow.page--kermis .fav-btn--hero:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(24,6,46,.44), inset 0 0 0 1px rgba(255,255,255,.2);
}
body.kv2-uiwow.page--kermis .fav-btn--hero:hover::after{
  left:145%;
}

body.kv2-uiwow.page--kermis .pi-item{
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, border-color .2s ease, box-shadow .22s ease, background .2s ease;
}
body.kv2-uiwow.page--kermis .pi-item::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg, rgba(176,125,255,.95), rgba(255,132,45,.92));
  opacity:.55;
  transition:opacity .2s ease;
}
body.kv2-uiwow.page--kermis .pi-item:hover{
  transform:translateY(-2px);
  border-color:rgba(200,160,255,.35);
  box-shadow:0 12px 26px rgba(16,4,32,.34);
}
body.kv2-uiwow.page--kermis .pi-item:hover::before{
  opacity:.92;
}

body.kv2-uiwow.page--kermis .yt-lazy__btn,
body.kv2-uiwow.page--kermis .btn-yt{
  transition:transform .16s ease, filter .2s ease, box-shadow .22s ease;
}
body.kv2-uiwow.page--kermis .yt-lazy__btn:hover{
  transform:scale(1.01);
}
body.kv2-uiwow.page--kermis .yt-lazy__icon{
  box-shadow:0 18px 40px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.12) inset;
  transition:transform .18s ease, box-shadow .2s ease, filter .2s ease;
}
body.kv2-uiwow.page--kermis .yt-lazy__btn:hover .yt-lazy__icon{
  transform:translateY(-1px) scale(1.03);
  filter:saturate(1.08);
  box-shadow:0 22px 48px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.16) inset;
}
body.kv2-uiwow.page--kermis .btn-yt:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(130,25,18,.34);
}

body.kv2-uiwow.page--kermis .alerts__list .alert{
  transition:border-color .2s ease, box-shadow .22s ease, transform .16s ease;
}
body.kv2-uiwow.page--kermis .alerts__list .alert:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(8,3,18,.25);
}
body.kv2-uiwow.page--kermis .kv2-sys-alert__actions .linkbox--alert-action{
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
body.kv2-uiwow.page--kermis .kv2-sys-alert__actions .linkbox--alert-action::after{
  content:"";
  position:absolute;
  inset:-30% auto -30% -120%;
  width:52%;
  transform:skewX(-15deg);
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.3) 52%, transparent 100%);
  transition:left .42s ease;
  pointer-events:none;
}
body.kv2-uiwow.page--kermis .kv2-sys-alert__actions .linkbox--alert-action:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(8,3,18,.28);
}
body.kv2-uiwow.page--kermis .kv2-sys-alert__actions .linkbox--alert-action:hover::after{
  left:145%;
}

@keyframes kv2UiWowPulse{
  0%,100%{ filter:brightness(1); }
  50%{ filter:brightness(1.08); }
}

@media (prefers-reduced-motion: reduce){
  body.kv2-uiwow .eventTextItem.currentEvent .daysleftfield{
    animation:none !important;
  }
  body.kv2-uiwow .search__submit,
  body.kv2-uiwow .btn--map,
  body.kv2-uiwow .home-news__more-btn,
  body.kv2-uiwow .adv-btn.btn-ghost::after,
  body.kv2-uiwow .btn.btn--ghost::after,
  body.kv2-uiwow .btn.btn--chip::after,
  body.kv2-uiwow .eventTextItem,
  body.kv2-uiwow .fav-btn,
  body.kv2-uiwow .placeiconfield .fav-btn--mini,
  body.kv2-uiwow .sug-fav,
  body.kv2-uiwow .chip:not(.chip--holiday-feest):not(.chip--holiday-kingsday),
  body.kv2-uiwow .home-intro-jump__link,
  body.kv2-uiwow .homeplace-actions__agenda,
  body.kv2-uiwow .chip:not(.chip--holiday-feest):not(.chip--holiday-kingsday)::after,
  body.kv2-uiwow .home-intro-jump__link::after,
  body.kv2-uiwow .homeplace-actions__agenda::after,
  body.kv2-uiwow .home-news__card,
  body.kv2-uiwow .home-news__media img,
  body.kv2-uiwow .kv2-promoted-dot,
  body.kv2-uiwow .kv2-promoted-dot::after,
  body.kv2-uiwow.page--kermis .fav-btn--hero,
  body.kv2-uiwow.page--kermis .fav-btn--hero::after,
  body.kv2-uiwow.page--kermis .pi-item,
  body.kv2-uiwow.page--kermis .pi-item::before,
  body.kv2-uiwow.page--kermis .yt-lazy__btn,
  body.kv2-uiwow.page--kermis .btn-yt,
  body.kv2-uiwow.page--kermis .yt-lazy__icon,
  body.kv2-uiwow.page--kermis .alerts__list .alert,
  body.kv2-uiwow.page--kermis .kv2-sys-alert__actions .linkbox--alert-action,
  body.kv2-uiwow.page--kermis .kv2-sys-alert__actions .linkbox--alert-action::after,
  body.kv2-uiwow.page--mijn-kermis .agenda-personal__panel,
  body.kv2-uiwow.page--mijn-kermis .agenda-personal__panel::after,
  body.kv2-uiwow.page--mijn-kermis .mijn-kermis-status__item,
  body.kv2-uiwow.page--mijn-kermis .mijn-kermis-status__item::after,
  body.kv2-uiwow.page--mijn-kermis .mijn-kermis-actions__btn,
  body.kv2-uiwow.page--mijn-kermis .mijn-kermis-actions__btn::after,
  body.kv2-uiwow.page--news-overview .news-featured__link,
  body.kv2-uiwow.page--news-overview .news-card,
  body.kv2-uiwow.page--news-detail .news-more__card,
  body.kv2-uiwow.page--news-overview .news-card__media img,
  body.kv2-uiwow.page--news-overview .news-featured__media img,
  body.kv2-uiwow.page--news-detail .news-more__media img,
  body.kv2-uiwow.page--news-detail .news-related-kermis__btn,
  body.kv2-uiwow.page--news-detail .news-detail__back .chip--ghost,
  body.kv2-uiwow.page--news-detail .news-related-kermis__btn::after,
  body.kv2-uiwow.page--news-detail .news-detail__back .chip--ghost::after,
  body.kv2-uiwow.page--news-detail .news-gallery__item img{
    transition:none !important;
  }
}

.kermis-hero::before,
.kermis-hero__slide{
  filter: saturate(112%) contrast(1.03) brightness(1.02) !important;
}

.kermis-hero__scrim{
  background:
    radial-gradient(900px 420px at 50% 46%, rgba(0,0,0,.34), rgba(0,0,0,0) 72%),
    radial-gradient(1200px 520px at 50% 50%, rgba(0,0,0,.22), rgba(0,0,0,0) 78%),
    linear-gradient(to bottom, rgba(0,0,0,.38), rgba(0,0,0,.10) 48%, rgba(0,0,0,.42)) !important;
  backdrop-filter: none !important;
}

.kermis-hero__text{
  text-shadow:
    0 2px 18px rgba(0,0,0,.55),
    0 1px 2px rgba(0,0,0,.35) !important;
}
.kermis-hero__credit{
  text-shadow: 0 2px 12px rgba(0,0,0,.75) !important;
  opacity: .85 !important;
}

.kermis-hero__over,
.kermis-hero__title-over{
  display:block !important;
  font: 800 clamp(15px, 1.6vw, 22px)/1.1 var(--font-sans) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  opacity: .95 !important;
  margin-bottom: 10px !important;
}

.kermis-hero__title{
  font-size:clamp(1.65rem, 3.8vw, 2.65rem) !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  letter-spacing:.01em !important;
  margin:0 0 10px 0 !important;
  text-shadow:
    0 0 24px rgba(170, 49, 174, .35),
    0 2px 18px rgba(0, 0, 0, .45) !important;
}

.kermis-hero__flag{
  height: 22px !important;
  width: auto !important;
  margin-left: 10px !important;
  border-radius: 4px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
}

.kermis-hero__subtitle{
  font: 650 clamp(16px, 1.6vw, 22px)/1.25 var(--font-sans) !important;
  color: rgba(255,255,255,.92) !important;
  opacity: 1 !important;
  margin-bottom: 0 !important;
}

.kermis-hero__pill{
  margin-top: 16px !important;
  margin-bottom: 10px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;

  background: rgba(10,10,10,.32) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;

  font: 800 14px/1 var(--font-sans) !important;
  letter-spacing: .02em !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.35) !important;
}

.photo-strip{
  width:100%;
  background:linear-gradient(90deg, rgba(40,0,60,.85), rgba(30,0,50,.9));
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(3px);
  margin: 22px 0;
}
.photo-strip .wrapper{
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 12px 0;
  box-sizing: border-box;
}

.photo-strip,
.ps-viewport{
  overflow: hidden;
}
.ps-track{
  overflow-x: auto;
  max-width: 100%;
  min-width: 0;
}

.ps-track{
  scrollbar-width: none;
}
.ps-track::-webkit-scrollbar{
  height: 0;
}

.ps-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:0 12px 8px;
}
.ps-title{
  font:800 16px/1.1 var(--font-sans);
  color:#fff; letter-spacing:.2px;
}

.ps-nav { display:flex; gap:8px }
.ps-arrow{
  width:34px; height:34px; border-radius:999px; cursor:pointer;
  border:1px solid rgba(255,255,255,.18); background:rgba(0,0,0,.35); color:#fff;
}
.ps-arrow[disabled]{ opacity:.35; cursor:default }

.ps-viewport{ overflow:hidden }
.ps-track{
  display:flex; gap:12px; padding:0 12px 12px;
  overflow-x:auto; scroll-snap-type:x mandatory;
}

.ps-card{
  display:block; min-width:240px; max-width:240px; color:#fff; text-decoration:none;
  scroll-snap-align:start;
}
.ps-thumb{
  position:relative; height:150px; border-radius:12px; overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.12);
}
.ps-thumb img,
.ps-thumb picture img{ width:100%; height:100%; object-fit:cover; display:block }
.ps-thumb picture{ display:block; width:100%; height:100%; }
.ps-credit{
  position:absolute; right:8px; bottom:6px;
  font: 11px/1 var(--font-sans); background:rgba(0,0,0,.45);
  padding:4px 6px; border-radius:8px; border:1px solid rgba(255,255,255,.18);
}

.ps-caption{
  display:flex; flex-direction:column; gap:2px; padding:6px 4px 0;
}
.ps-caption strong{ font-weight:800 }
.ps-caption em{ font-style:normal; opacity:.9 }

.ps-modal{ position:fixed; inset:0; z-index:6000; display:grid; place-items:center; }
.ps-modal[hidden]{ display:none; }
.ps-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.8); }
.ps-dialog{ position:relative; background:#000; border-radius:14px; max-width:min(96vw,1000px); }
.ps-body{ position:relative; }
#ps-img{ display:block; max-width:calc(96vw); max-height:calc(96vh - 80px); }
.ps-meta{ position:absolute; left:0; right:0; bottom:0; padding:10px 12px;
          background:linear-gradient(180deg,transparent,rgba(0,0,0,.75)); color:#fff; }
.ps-x{ position:absolute; top:8px; right:8px; width:36px; height:36px; border-radius:999px;
       background:rgba(0,0,0,.55); color:#fff; border:1px solid rgba(255,255,255,.3); cursor:pointer; }

.no-scroll{ overflow:hidden; }

body.has-page-bg::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -2;

  background-image: var(--page-bg-url);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  filter: blur(10px) saturate(110%);
  opacity: .40;
  transform: scale(1.03);
}

@media (max-width: 720px){
  body.has-page-bg::before{
    background-image: var(--page-bg-url-mobile, var(--page-bg-url));
  }
}

body.has-page-bg::after{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;

  background:
    radial-gradient(900px 500px at 20% 10%, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, rgba(8,16,32,.88), rgba(8,16,32,.92));
}

body.has-page-bg .page-bg{
  display:none !important;
}

body.has-page-bg::before{
  filter: blur(6px) saturate(120%) contrast(1.06) brightness(1.06) !important;
  opacity: .90 !important;
}

body.has-page-bg::after{
  background:
    radial-gradient(900px 500px at 20% 10%, rgba(255,255,255,.08), transparent 60%),
    linear-gradient(180deg, rgba(8,16,32,.55), rgba(8,16,32,.62)) !important;
}

.detail-block{
  background: rgba(30,30,30,.9);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 26px rgba(0,0,0,.28);
  border-radius: 18px;
  padding: 24px 24px 22px;
  color: #eee;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.detail-grid > *{
  min-width: 0;
}

.detail-block p{
  margin: 0 0 12px;
  line-height: 1.65;
  color: rgba(255,255,255,.94);
}

.detail-block p:last-child{
  margin-bottom: 0;
}

.detail-block strong,
.detail-block b{
  font-weight: 800;
  color: #b8c8e8;
  letter-spacing: -0.01em;
}

.eventTextItem strong {
	color: #FFF !important;
}

.page-intro .alert{
  margin: 10px 0 12px;
}
.page-intro p{ margin: 14px 0 14px; line-height:1.65 }

.page-intro .alerts{ margin: 10px 0 0; padding: 0; }
.page-intro .alerts__list{ gap: 8px; }
.page-intro .alert{ padding: 9px 10px; border-radius: 12px; }

.page-intro__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:var(--kv2-space-md);
  width:100%;
}
.page-intro__actions .btn--map{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  justify-content:center;
}

.pi-icon-legend{
  margin:var(--kv2-space-sm) 0 0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(0,0,0,.20);
}

.pi-icon-legend > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  font-size:12px;
  font-weight:700;
  color:rgba(255,255,255,.9);
}

.pi-icon-legend > summary::-webkit-details-marker{
  display:none;
}

.pi-icon-legend__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px 12px;
  padding:0 10px 9px;
}

.pi-icon-legend__item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
  font-size:11px;
  color:rgba(255,255,255,.86);
}

.pi-icon-legend__item img{
  width:20px;
  height:20px;
  object-fit:contain;
  flex:0 0 20px;
}

.pi-icon-legend__fav{
  width:20px;
  height:20px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  color:#ff7a1a;
  font-size:13px;
  font-weight:900;
}

/* Tooltip moet over kolommen heen kunnen tekenen */
.page-intro,
.page-intro__grid,
.page-intro__main,
.page-intro__side{
  overflow: visible !important;
}

/* Minder CLS: titel/lead reserveren ruimte tot webfonts geladen zijn */
.page-intro__main #pi-title{
  min-height: 2.75em;
  text-wrap: balance;
}
.page-intro__main #pi-desc{
  min-height: 3.25em;
}
@media (min-width: 901px){
  .page-intro__main #pi-title{ min-height: 2.35em; }
  .page-intro__main #pi-desc{ min-height: 2.75em; }
}

@media (max-width: 640px){
  /* Lopende tekst: iets compacter op mobiel (15px, regelafstand ≥1.5) */
  .detail-block > p,
  .detail-block > .pi-muted,
  .page-intro p,
  .meer-lead{
    font-size:15px;
    line-height:1.55;
  }

  .page-intro__main #pi-title{
    min-height:0;
    margin-bottom:6px;
    padding-bottom:6px;
  }
  .page-intro__main #pi-desc,
  .page-intro__main .pi-muted,
  .page-intro__main #pi-body-line{
    font-size:15px;
    line-height:1.55;
    font-weight:400;
    letter-spacing:0;
    margin:10px 0;
    color:rgba(255,255,255,.92) !important;
  }
  .page-intro__main #pi-count-line{
    font-size:15px;
    line-height:1.55;
    font-weight:400;
    margin:10px 0;
    color:rgba(255,255,255,.92) !important;
  }
  .page-intro__main #pi-desc a,
  .page-intro__main .pi-agenda-line a,
  .page-intro__main .pi-muted a,
  .page-intro__main #pi-count-line a,
  .page-intro__main #pi-body-line a{
    color:#fff !important;
    font-weight:400 !important;
    text-decoration:underline;
    text-underline-offset:2px;
  }
  .page-intro__main #pi-desc strong,
  .page-intro__main .pi-muted strong,
  .page-intro__main #pi-count-line strong,
  .page-intro__main #pi-body-line strong{
    color:inherit !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
  }
  .pi-icon-legend__grid{
    grid-template-columns:1fr;
    gap:6px;
  }
}




.homeplace-stats--cards{
  position:relative;
  width:100%;
  max-width:396px;
  padding:14px 16px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(145deg, rgba(124,77,255,.14), rgba(249,123,10,.08)),
    rgba(0,0,0,.34);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  overflow:hidden;
}
.homeplace-stats__edge{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, rgba(249,123,10,.9), rgba(124,77,255,.85));
  opacity:.9;
}
.homeplace-stats__head{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.homeplace-stats__titlewrap{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
}
.homeplace-stats__pin{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:16px;
}
.homeplace-stats__kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  margin-bottom:4px;
}
.homeplace-stats__place{
  font-size:clamp(1rem, 1.6vw, 1.15rem);
  font-weight:800;
  line-height:1.25;
  color:#fff;
}
.vs-home-stats__update{
  margin:10px 0 0;
  font-size:12px;
  line-height:1.4;
}
.vs-home-stats__count{
  margin:10px 0 0;
  font-size:15px;
  line-height:1.35;
  color:rgba(255,255,255,.92);
}
.vs-home-stats__count strong{
  font-size:1.35em;
  font-weight:900;
  color:#fff;
}
.vs-home-stats__hint,
.vs-home-stats__meta{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.45;
}
.vs-home-stats__actions{
  margin:12px 0 0;
}
.vs-home-stats__actions .chip{
  text-decoration:none;
}
.vs-month-overview-list{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
  gap:6px 16px;
  padding-left:0;
  list-style:none;
}
.vs-month-overview-list li{
  margin:0;
}

.page-intro__grid{
  width: var(--wrapper);
  padding: var(--kv2-section-y) 20px;
  display: grid;
  direction: ltr;
  /* Side-kolom ~10% breder t.o.v. vorige 360px-max zodat tekst in de tegels past */
  grid-template-columns: minmax(0, 1fr) minmax(286px, 396px);
  grid-template-areas: "intro-main intro-side";
  gap: var(--kv2-space-lg);
  align-items: start;
}

.page-intro__main{
  grid-area: intro-main;
  min-width: 0;
}

.page-intro__side{
  grid-area: intro-side;
  display: flex;
  justify-content: flex-end;
  min-width: 0;
}

/* Tablet/mobiel: “Bij jou in de buurt” eerst (boven titel), volle breedte; daarna introtekst */
@media (max-width: 900px){
  .page-intro__grid{
    grid-template-columns: 1fr;
    grid-template-areas:
      "intro-side"
      "intro-main";
  }
}

.pi-links{display:flex;flex-wrap:wrap;gap:10px}
.pi-link{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;text-decoration:none}
.pi-ico{width:18px;height:18px;display:inline-flex}
.pi-ico svg{width:18px;height:18px;display:block;fill:currentColor}
.pi-linktxt{font-weight:600}

.share-fab{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1200;
}

.share-fab__btn{
  width:56px;
  height:56px;
  border-radius:50%;
  border:none;
  background: linear-gradient(135deg,#2a5f8f,#f97b0a);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

.share-fab__btn svg{
  width:24px;
  height:24px;
  fill:#fff;
}

@media (max-width: 1100px) {
	.share-fab{
	  right: 128px;
	  bottom: 19px;
	}

	.share-fab__btn{
	  width:33px;
	  height:33px;
	}

	.share-fab__btn svg{
	  width:18px;
	  height:18px;
	}
}

@media (max-width: 640px) {
	.share-fab{
	  right: 118px;
	  bottom: 19px;
	}

	.share-fab__btn{
	  width:30px;
	  height:30px;
	}

	.share-fab__btn svg{
	  width:16px;
	  height:16px;
	}
}

.share-fab__menu{
  position:absolute;
  right:0;
  bottom:68px;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px;
  border-radius:14px;
  background: rgba(30,30,35,.95);
  backdrop-filter: blur(8px);
  box-shadow: 0 20px 40px rgba(0,0,0,.4);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px) scale(.95);
  transition: .25s ease;
}

.share-fab__menu a,
.share-fab__menu button{
  appearance:none;
  background:none;
  border:none;
  color:#fff;
  text-align:left;
  padding:8px 12px;
  border-radius:10px;
  font: inherit;
  cursor:pointer;
  white-space:nowrap;
}

.share-fab__menu a:hover,
.share-fab__menu button:hover{
  background: rgba(255,255,255,.1);
}

.share-fab.is-open .share-fab__menu{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.kermis-hero__hours{
  margin-top: .75rem;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem .9rem;
  font-size: .98rem;
  line-height: 1.25;
  text-shadow: 0 2px 12px rgba(0,0,0,.55);
}
.kermis-hero__hours strong{ font-weight: 800; }

.pi-item--opening {
  grid-column: 1 / -1;
}

.pi-opening-wrap{
  position: relative;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(0,0,0,.18);
  overflow: hidden;
}

.pi-opening-list{
  display: flex;
  flex-direction: column;
}

.pi-opening-row{
  display:flex;
  align-items:center;
  flex-wrap: wrap;
  text-align:left;
}

.pi-opening-day{
  flex:1 1 auto;
  text-align:left !important;
}

.pi-opening-dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,.25);
  box-shadow: 0 0 0 2px rgba(0,0,0,.25) inset;
}

.pi-opening-hrs{
  font-weight: 700;
  white-space: nowrap;
}

.pi-opening-note{
  width: 100%;
  margin-left: 1.4rem;
  font-size: .82rem;
  line-height: 1.35;
  opacity: .82;
}
.pi-opening-note__line{
  display:block;
}
.pi-opening-note__line + .pi-opening-note__line{
  margin-top:.18rem;
}
.pi-opening-note__line--feast{
  display:inline-flex;
  align-items:center;
  color: rgba(255,255,255,.92);
}
.pi-opening-note__cal{
  width:.82rem;
  height:.82rem;
  margin-right:.3rem;
  opacity:.92;
  flex: 0 0 auto;
}
.pi-opening-note__line--feast.is-accent-orange{
  color:#ff9f1a;
}
.pi-opening-note__line--feast.is-accent-orange .pi-opening-note__cal{
  color:#ff9f1a;
}
.pi-opening-note__line--feast.is-accent-yellow{
  color:#ffe37a;
}
.pi-opening-note__line--feast.is-accent-yellow .pi-opening-note__cal{
  color:#ffe37a;
}
.pi-opening-row.is-feast-day{
  background: rgba(255,255,255,.045);
}
.pi-opening-row.is-feast-day.is-today{
  background: rgba(30,170,90,.21);
}
.pi-opening-row.is-feast-accent-orange{
  background: rgba(255,255,255,.045);
}
.pi-opening-row.is-feast-accent-orange .pi-opening-day,
.pi-opening-row.is-feast-accent-orange .pi-opening-hrs{
  color:#ff9f1a;
}
.pi-opening-row.is-feast-accent-yellow{
  background: rgba(255,255,255,.045);
}
.pi-opening-row.is-feast-accent-yellow .pi-opening-day,
.pi-opening-row.is-feast-accent-yellow .pi-opening-hrs{
  color:#ffe37a;
}
.pi-opening-row.is-feast-accent-orange.is-today{
  background: rgba(30,170,90,.21);
}
.pi-opening-row.is-feast-accent-yellow.is-today{
  background: rgba(30,170,90,.21);
}

.pi-opening-row.is-open .pi-opening-dot{ background: #34d399; }
.pi-opening-row.is-closed .pi-opening-dot{ background: #ef4444; }

.pi-opening-row.is-past{
  opacity: .55;
  font-size: .92em;
}

.pi-opening-wrap.has-prev::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height: 34px;
  pointer-events:none;
  background: linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,0));
}

.pi-opening-wrap.has-next::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 44px;
  pointer-events:none;
  background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
}

.pi-opening-toggle{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.55);
  color: rgba(255,255,255,.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 3;
}

.pi-opening-toggle.up{ top: 6px; }
.pi-opening-toggle.down{ bottom: 6px; }

.pi-opening-toggle::before{
  font-size: 18px;
  line-height: 1;
  display:block;
}

.pi-opening-toggle[hidden]{
  display: none !important;
}

.pi-opening-row.is-hidden{
  display: none;
}

.pi-opening-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .55rem;

  padding: .55rem .75rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  min-height: 40px;
  box-sizing: border-box;
}

.pi-opening-row:last-child{ border-bottom: 0; }

.pi-opening-row.is-today{
  border-bottom-color: transparent;
  background: rgba(30, 170, 90, .18);
  border-radius: 10px;
}

.pi-opening-row.is-today.is-closed{
  background: rgba(220, 60, 60, .16);
}

.pi-opening-day,
.pi-opening-hrs{
  line-height: 1.25;
}

.pi-opening-day{
  opacity: .95;
}

.pi-opening-row.is-today .pi-opening-day{
  font-weight: 700;
}

.yt-lazy{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(0,0,0,.25);
  aspect-ratio: 16 / 9;
}

.yt-lazy__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.yt-lazy__btn{
  position: absolute;
  inset: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.yt-lazy__icon{
  width: 86px;
  height: 60px;
  border-radius: 14px;
  background: rgba(230, 33, 23, .95);
  box-shadow: 0 18px 40px rgba(0,0,0,.45);
  position: relative;
}

.yt-lazy__icon::before{
  content: "";
  position: absolute;
  left: 34px;
  top: 18px;
  width: 0;
  height: 0;
  border-left: 18px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}

.yt-lazy__frame{
  width: 100%;
  height: 100%;
}

.yt-lazy__frame iframe{
  width: 100%;
  height: 100%;
  display: block;
}

.detail-stay22 .stay22-wrap{
  border-radius: 16px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
}

.detail-stay22 iframe{
  display: block;
  border: 0;
}

.kv2-gallery-block--full{
  grid-column: 1 / -1;
}

.kv2-gallery{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  padding: 14px 0;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}

.kv2-gallery__cap{
  grid-column: 1 / -1;
  padding: 10px 12px 6px;
}

.kv2-gallery__captext{
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #e6e6e6;
}

.kv2-gallery__item{
  width: 100%;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.kv2-gallery__sep[id]{
  scroll-margin-top: 96px;
}

.kv2-gallery__zoom{
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0);
  color: #fff;
  pointer-events: none;
  transition: background .22s ease;
}

.kv2-gallery__zoom svg{
  width: 34px;
  height: 34px;
  opacity: 0;
  transform: scale(.88);
  transition: opacity .22s ease, transform .22s ease;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.45));
}

.kv2-gallery__item:hover .kv2-gallery__zoom,
.kv2-gallery__item:focus-within .kv2-gallery__zoom{
  background: rgba(0, 0, 0, .38);
}

.kv2-gallery__item:hover .kv2-gallery__zoom svg,
.kv2-gallery__item:focus-within .kv2-gallery__zoom svg{
  opacity: 1;
  transform: scale(1);
}

.kv2-thumb{
  width: 100%;
  height: 140px;
  object-fit: cover;
  object-position: center;
  display: block;
  cursor: pointer;
  transition: transform .25s ease;
}

.kv2-gallery__item:hover .kv2-thumb{
  transform: scale(1.02);
}

.kv2-gallery__item picture{
  display:block;
  width:100%;
}

.kv2-gallery__rights{
  grid-column: 1 / -1;
  padding: 12px 14px;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255, 224, 190, 0.9);
  text-align: center;
  background: rgba(255, 140, 40, 0.08);
  border: 1px solid rgba(255, 160, 60, 0.2);
  border-radius: 10px;
}

.kv2-gallery[data-gallery-collapsible]{
  --thumb-h: 140px;
  --gap: 2px;
  --rows: 4;
  max-height: calc((var(--thumb-h) * var(--rows)) + (var(--gap) * (var(--rows) - 1)) + 190px);
  padding-bottom: 76px;
}

.kv2-gallery__more{
  position: relative;
  z-index: 3;
}

.kv2-gallery.is-expanded{
  max-height: none;
}

.kv2-gallery[data-gallery-collapsible]::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 90px;
  background: linear-gradient(to bottom, rgba(42,42,42,0), rgba(42,42,42,1));
  pointer-events:none;
}

.kv2-gallery.is-expanded::after{
  display:none;
}

.kv2-gallery__more{
  grid-column: 1 / -1;
  margin: 8px auto 14px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 0;
  cursor: pointer;
  font: inherit;
  background: rgba(255,255,255,.12);
  color: #fff;
}

.kv2-lightbox{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(10px);
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 26000;
}

.kv2-lightbox.is-open{
  display: flex;
}

.kv2-lightbox__img{
  position: relative;
  z-index: 1;
  max-width: 90%;
  max-height: 80%;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,.5);
}

.kv2-lightbox__caption{
  margin-top: 10px;
  font-size: 14px;
  text-align: center;
  color: #D9D9D9;
  padding: 0 20px;
  max-width: min(92vw, 44rem);
  line-height: 1.4;
}

.kv2-lightbox__caption a{ color:#c5ddf5; text-decoration: underline; text-underline-offset: 2px; }
.kv2-lightbox__caption a:hover{ color:#fff; }
.kv2-lightbox__caption .kv2-photo-caption-block{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.kv2-lightbox__caption .kv2-photo-caption__title{
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #f2f2f8;
}
.kv2-lightbox__caption .kv2-photo-attribution{
  display: block;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #ececf4;
}
.kv2-lightbox__caption .kv2-photo-rights{
  display: block;
  margin: 0;
  padding: 7px 10px;
  max-width: 38rem;
  font-size: 12px;
  line-height: 1.35;
  font-style: normal;
  color: rgba(255, 224, 190, 0.95);
  background: rgba(255, 140, 40, 0.1);
  border: 1px solid rgba(255, 160, 60, 0.28);
  border-radius: 8px;
}
.kv2-lightbox__caption span:not(.kv2-photo-caption__title):not(.kv2-photo-attribution):not(.kv2-photo-rights){
  font-size:13px;
  font-style: italic;
  color:#9E9E9E;
}

.kv2-lightbox__arrow{
  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  user-select: none;
  padding: 20px;
}

.kv2-lightbox__arrow.left{ left: 10px; }
.kv2-lightbox__arrow.right{ right: 10px; }

.kv2-gallery__actions{
  grid-column: 1 / -1;
  display:flex;
  justify-content:center;
  padding: 10px 0 0;
}

.kv2-gallery__jump{
  display:inline-flex;
  align-items:center;
  gap: .5rem;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
  font-weight: 600;
  transition: .2s ease;
}

.kv2-gallery__jump:hover{
  background: rgba(255,255,255,.18);
  transform: translateY(-1px);
}

.kv2-gallery__jump::after{
  content:"→";
  opacity:.85;
}

.kv2-gallery__more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
}

.kv2-gallery__more::after{
  content:"▾";
  font-size:16px;
  line-height:1;
  opacity:.9;
  transform:translateY(-1px);
}

.kv2-gallery.is-expanded .kv2-gallery__more::after{
  content:"▴";
}

@media (max-width: 768px){
  .kv2-gallery-block--full .kv2-gallery{
    grid-template-columns: repeat(3, 1fr);
  }
}

.kv2-history{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
}

.kv2-history__item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 12px;
  border-radius:14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(90,140,220,.18);
  text-decoration:none;
  color:#fff;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.kv2-history__item:hover{
  transform: translateY(-1px);
  border-color: rgba(90,140,220,.45);
  background: rgba(255,255,255,.05);
}

.kv2-history__year{
  width:64px;
  min-width:64px;
  height:44px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-weight:800;
  letter-spacing:.4px;
  background: rgba(42,95,158,.18);
  border: 1px solid rgba(42,95,158,.35);
}

.kv2-history__meta{
  flex:1;
  min-width:0;
}

.kv2-history__dates{
  font-weight:700;
  line-height:1.2;
}

.kv2-history__sub{
  margin-top:2px;
  font-size:12px;
  color: rgba(255,255,255,.75);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.kv2-history__chev{
  font-size:22px;
  opacity:.7;
}

/* ===== Countdown container ===== */

.kv2-countdown-inline{
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;

  position: relative;
  overflow: hidden;
  isolation: isolate;

  background: linear-gradient(
    180deg,
    rgba(255,255,255,.045),
    rgba(255,255,255,.02)
  );

  border: 1px solid rgba(90,140,220,.18);
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.kv2-countdown-inline::before{
  content:"";
  position:absolute;
  inset:-60px;
  background: radial-gradient(
    circle at top left,
    rgba(42,95,158,.18),
    transparent 55%
  );
  pointer-events:none;
  z-index:0;
}

.kv2-countdown-inline > *{
  position: relative;
  z-index:1;
}

.kv2-countdown-inline__title{
  font-weight: 900;
  margin-bottom: 14px;
  font-size: 18px;
  text-align:center;
  letter-spacing:.4px;

  background: linear-gradient(90deg,#f97b0a,#2a5f8f);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.kv2-countdown-inline__grid{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap: 10px;
  max-width: 100%;
}

.kv2-countdown-inline__unit{
  flex: 1 1 0;
  min-width: 0;
  text-align:center;

  padding: 10px 10px;
  border-radius: 14px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.10);
}

.kv2-countdown-inline__num{
  font-weight: 900;
  line-height: 1;
  font-size: clamp(20px, 6vw, 30px);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.kv2-countdown-inline__unit:first-child .kv2-countdown-inline__num{
  font-size: clamp(18px, 5.5vw, 30px);
}

.kv2-countdown-inline__lbl{
  margin-top: 8px;
  font-size: 11px;
  opacity: .8;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255,255,255,.75);
}

.kv2-countdown-inline__sep{
  display:flex;
  align-items:center; 
  justify-content:center;

  font-weight: 900;
  font-size: 26px;
  color: #2a5f8f;
  opacity: .6;

  line-height: 1;     
  padding: 0 2px;
}

.kv2-countdown-inline__note{
  margin-top: 10px;
  font-size: 12px;
  opacity: .75;
  text-align: center;
  color: rgba(255,255,255,.65);
  line-height: 1.4;
}

@keyframes kv2Pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}

.kv2-countdown-inline__num[data-cd-secs]{
  animation: kv2Pulse 1s ease-in-out infinite;
}

.kv2-disclaimer{
  margin-top: 40px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: 12px;
  line-height: 1.6;
  color: #bdbdbd;
}

.kv2-disclaimer p{
  margin: 0 0 10px;
}

.kv2-disclaimer a{
  color: #c9a3ff;
  text-decoration: underline;
}

.kv2-disclaimer--full{
  grid-column: 1 / -1;
}

#kv2-suggest,
#kv2-suggest-mobile-popover{
  border-radius: 14px;
  overflow: hidden;
}

.sug-item{
  display: grid;
  gap: 12px;
  align-items: stretch;
  position: relative;
  background: rgba(22,22,28,.75);
  transition: background .2s ease;
  cursor: pointer;
}

.sug-meta{
  position: absolute;
  top: 10px;
  right: 10px;

  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: center;
}

.sug-flag{
  width: 22px;
  height: 22px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.sug-size{
  width: 22px;
  height: 22px;
  display: block;
  opacity: .95;
}

.sug-item--current{ border-left-color: #2dbd6e; }
.sug-item--future { border-left-color: #2a5f8f; }
.sug-item--past  { border-left-color: #6b6b6b; }

.sug-item.is-active,
.sug-item:hover{
  background: rgba(22,22,28,.96);
  backdrop-filter: blur(2px);
}

.sug-body{
  min-width: 0;
  padding-right: 56px;
  min-width: 0;
}

.sug-top{
  display: flex;
  gap: 6px;
  align-items: baseline;
  flex-wrap: wrap;
}

.sug-plaats{
  font-weight: 800;
  color: #fff;
}

.sug-titel{
  color: #fff;
  font-weight: 500;
  font-style: italic;
}

.sug-sub{
  margin-top: 2px;
  font-size: 12px;
  color: rgba(255,255,255,.65);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sug-meta{
  display: flex;
  align-items: center;
  gap: 8px;
}

.sug-fav{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  transition: background .15s ease, border-color .15s ease, transform .15s ease, color .15s ease;
}

.sug-fav:hover{
  background: rgba(255,255,255,.10);
  transform: scale(1.05);
}

.sug-fav.is-active{
  color: #ff5b7f;
  border-color: rgba(255,91,127,.42);
  background: rgba(255,91,127,.12);
}

.sug-item--current{
  border-left: 4px solid #f97b0a;
  background: rgba(249,123,10,.10);
}

.sug-item--current .sug-plaats,
.sug-item--current .sug-titel{
  font-weight: 700;
}

.sug-item--past{
  opacity: 1;
}
.sug-item--past .sug-plaats{
  color: rgba(255,255,255,.70);
}
.sug-item--past .sug-titel{
  color: rgba(255,255,255,.72);
}
.sug-item--past .sug-sub{
  color: rgba(255,255,255,.55);
}

.sug-item--priority-current{
  border-left: 4px solid #8fbc8f;
  background: rgba(143, 188, 143, 0.10);
}

.sug-item--priority-homeplace{
  border-left: 4px solid #6E80EB;
  background: rgba(110,128,235,0.10);
}

.sug-item--priority-fav{
  border-left: 4px solid #DD7BAF;
  background: rgba(221,123,175,0.10);
}

.sug-item--cancelled{
  opacity: .85;
}

.sug-item--priority-cancelled{
  background: rgba(201, 142, 142, 0.10);
}

.sug-sub--cancelled{
  color: rgba(255, 190, 190, 0.88);
}

.sug-badge--cancelled{
  background: rgba(201, 142, 142, 0.18);
  color: #ffd7d7;
}

.sug-badge{
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.sug-badge--current{
  background: rgba(143, 188, 143, 0.20);
  color: #dff5df;
}

.sug-badge--fav{
  background: rgba(217, 140, 140, 0.16);
  color: #ffdede;
}

.sug-badge--homeplace{
  background: rgba(110,128,235,0.16);
  color: #C0C7EB;
}

.sug-badge--promoted{
  background: rgba(92, 184, 92, 0.20);
  color: #dff5df;
}

@media (max-width: 425px){
  #kv2-suggest,
  #kv2-suggest-mobile-popover{
    max-width: 100%;
    box-sizing: border-box;
  }

  #kv2-suggest .sug-item,
  #kv2-suggest-mobile-popover .sug-item{
    padding: 6px 7px;
    border-radius: 9px;
    max-width: 100%;
    box-sizing: border-box;
  }

  #kv2-suggest .sug-plaats,
  #kv2-suggest-mobile-popover .sug-plaats{
    font-size: 13px;
    line-height: 1.25;
  }

  #kv2-suggest .sug-titel,
  #kv2-suggest-mobile-popover .sug-titel{
    font-size: 13px;
    line-height: 1.25;
  }

  #kv2-suggest .sug-top,
  #kv2-suggest-mobile-popover .sug-top{
    gap: 4px;
    overflow-wrap: anywhere;
  }

  #kv2-suggest .sug-sub,
  #kv2-suggest-mobile-popover .sug-sub{
    font-size: 11px;
    line-height: 1.35;
    color: rgba(255,255,255,.94);
    opacity: 1;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }

  #kv2-suggest .sug-item--past .sug-sub,
  #kv2-suggest-mobile-popover .sug-item--past .sug-sub{
    color: rgba(255,255,255,.82);
    opacity: 1;
  }

  #kv2-suggest .sug-sub.sug-sub--cancelled,
  #kv2-suggest-mobile-popover .sug-sub.sug-sub--cancelled{
    color: rgba(255, 210, 210, 0.95);
  }

  .sug-body{
    padding-right: 46px;
  }

  .sug-meta{
    top: 7px;
    right: 7px;
    gap: 4px;
  }

  .sug-flag,
  .sug-size{
    width: 18px;
    height: 18px;
  }

  .sug-fav{
    width: 26px;
    height: 26px;
    font-size: 14px;
  }
}


.acc-item{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.28);
  overflow: hidden;
}

.acc-btn{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.acc-title{
  font-weight: 800;
}

.acc-icon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  position: relative;
  flex: 0 0 auto;
}

.acc-icon::before,
.acc-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width: 14px;
  height: 2px;
  background: #fff;
  transform: translate(-50%,-50%);
  opacity: .9;
}
.acc-icon::after{
  width: 2px;
  height: 14px;
}

.acc-btn[aria-expanded="true"] .acc-icon::after{
  display:none;
}

.acc-panel{
  border-top: 1px solid rgba(255,255,255,.10);
}

.acc-body{
  padding: 12px 14px 14px;
  color: rgba(255,255,255,.78);
  line-height: 1.55;
}

.acc-body a{ color: #fff; }
.acc-body a:hover{ color: rgba(var(--accent-rgb), 1); }

@media (max-width: 600px){

    .detail-block{
      padding: 12px 12px 12px;
	  border-radius: 0px !important;
	  border-top: 1px solid rgba(255,255,255,.08);
	  border-bottom: 1px solid rgba(255,255,255,.08);
	  border-right: 0px !important;
	  border-left: 0px !important;
    }
	.wrapper {
		width: 100% !important;
	}
	.stats-pill .num {
		font-size: 13px !important;
	}
	.kv2-disclaimer {
		padding: 10px 16px;
	}
	.site-footer, .wyb {
		padding-left: 16px;
		padding-right: 16px;
	}
	#pi-desc {
		font-size: 13px !important;
	}
}

.kermis-hero__hours{ margin-top: 10px !important; }

.hero-hours-wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:14px 18px;
  margin-top:10px;
}

.hero-hours{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: 15px;
}

.hero-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background: rgba(255,255,255,.25);
  box-shadow: 0 0 0 2px rgba(0,0,0,.25) inset;
  flex: 0 0 auto;
}

.hero-hours--open   .hero-dot{ background:#34d399; }
.hero-hours--closed .hero-dot{ background:#ef4444; }

.hero-hours strong{
  font-weight:800;
}

.pi-opening-toggle{
  font-size: 18px !important;
  line-height: 1 !important;
  color: rgba(255,255,255,.92) !important;
}

.pi-opening-toggle::before{
  display:block !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.pi-opening-toggle.up::before{
  content: "▲" !important;
}

.pi-opening-toggle.down::before{
  content: "▼" !important;
}

.pi-opening-toggle::after{ content: none !important; }

.pi-filters{
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.pi-chip{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  font-size:13px;
  background:rgba(var(--accent-rgb),0.15);
  border:1px solid rgba(var(--accent-rgb),0.35);
  color:#fff;
  font-weight:500;
  backdrop-filter:blur(4px);
}

.kv2-list-sort{
  margin: 0 0 12px;
  padding: 6px 8px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(14,14,20,.65);
}
.kv2-list-sort-panel .kv2-list-sort{
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.kv2-list-sort__fields{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.kv2-list-sort__select{
  min-height: 34px;
  padding: 4px 8px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.16);
  background: #151520;
  color: #fff;
  font-size: 13px;
  max-width: 100%;
}
.kv2-list-sort__btn--noscript{
  margin-top: 8px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid rgba(255,122,26,.55);
  background: linear-gradient(90deg, rgba(255,122,26,.95), rgba(255,122,26,.72));
  color: #111;
  font-weight: 700;
  cursor: pointer;
  font-size: 13px;
}
#tekst-overzicht.loading{
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.15s ease;
}
@media (max-width: 520px){
  .kv2-list-sort__fields{ width: 100%; }
  .kv2-list-sort__select{ flex: 1 1 auto; min-width: 0; }
}

.kv2-strip { border: 1px solid rgba(0,0,0,.08); border-radius: 14px; overflow: hidden; background: #fff; }
.kv2-strip__head { display:flex; align-items:center; justify-content:space-between; padding: 10px 12px; border-bottom:1px solid rgba(0,0,0,.06); }
.kv2-strip__title { margin:0; font-size: 14px; font-weight: 700; }
.kv2-strip__hint { font-size: 12px; opacity:.7; }

.kv2-strip__links {
  display:flex;
  gap: 8px;
  padding: 10px 10px;
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.kv2-strip__links::-webkit-scrollbar { height: 8px; }
.kv2-strip__links::-webkit-scrollbar-thumb { border-radius: 20px; }

.kv2-seo-chip {
  display:inline-flex;
  align-items:center;
  gap: 8px;
  white-space: nowrap;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  text-decoration:none;
  font-size: 13px;
  color: inherit;
}
.kv2-seo-chip:hover { border-color: rgba(0,0,0,.22); }
.kv2-seo-chip__k { opacity: .7; font-size: 12px; }

.kv2-strips{
  display: block;
  margin-top: 22px;
  /* padding (niet margin) zodat er geen collapse is met section.wyb — ruimte na laatste strip (o.a. “kermissen per maand”) */
  padding-bottom: var(--kv2-space-lg);
}

.ovbox{
  margin: 0;
  padding: 22px 22px;
  border-radius: 16px;
  background: rgba(22, 22, 30, 0.94);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
}

.kv2-strips .ovbox__title{
  margin: 0 0 var(--kv2-title-below-gap);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: #fff;
  position: relative;
  display: inline-block;
  padding-bottom: 12px;
}
.kv2-strips .ovbox__title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(88px, 28vw);
  height:3px;
  background:var(--kv2-title-rule);
  border-radius:3px;
  opacity:.9;
}

.kv2-strips .ovbox__head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 16px;
  margin:0 0 var(--kv2-title-below-gap);
}
.kv2-strips .ovbox__head .ovbox__title{
  margin:0;
}
.kv2-strips .ovbox__head-actions{
  flex:0 0 auto;
  margin-left:auto;
}
.kv2-strips .ovbox__cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  font-weight:700;
  font-size:0.85rem;
  line-height:1.2;
  text-decoration:none;
  color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease;
  white-space:nowrap;
}
.kv2-strips .ovbox__cta-btn:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(90,140,220,.4);
  color:#fff;
  transform:translateY(-1px);
}

.ovbox__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.ovlist{
  list-style: none;
  margin: 0;
  padding: 0;
}

.ovlist__item{
  margin: 0;
  padding: 0;
}

.ovlink{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 18px;
  border-radius: 10px;
  text-decoration:none;

  color: rgba(255,255,255,.92);
  background: rgba(14, 14, 20, 0.88);
  border: 1px solid rgba(255,255,255,.12);
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
  box-sizing:border-box;
  overflow:visible;
}

.ovlink:hover{
  transform: translateY(-1px);
  background: rgba(32, 26, 44, 0.92);
  border-color: rgba(160, 110, 255, 0.35);
}

.ovlink.is-active{
  background: rgba(42,95,158,.85);
  border-color: rgba(42,95,158,.85);
  color:#fff;
}

.ovlink__cnt{
  font-weight: 800;
  font-size: 13px;
  color: rgba(255,255,255,.78);
}

.ovlink.is-active .ovlink__cnt{ color: rgba(255,255,255,.92); }

.ovlink__arr{
  margin-left:auto;
  font-size: 18px;
  line-height: 1;
  color: rgba(255,255,255,.75);
  flex: 0 0 auto;
}

.ovlink.is-active .ovlink__arr{ color:#fff; }

@media (max-width: 820px){
  .ovbox__grid{ grid-template-columns: 1fr; }
}

.ovbox__hint{
  margin: -6px 0 10px;
  font-size: 13px;
  opacity: .8;
}

.kv2-strips .ovbox__hint a{
  color: var(--accent, #ff7a1a);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.kv2-strips .ovbox__hint a:hover{
  color: #ffb27a;
}

.ovbox__adv{
  background:none;
  border:none;
  padding:0;
  margin-left:4px;
  color:var(--brand-color, #2a5f8f);
  font-weight:600;
  cursor:pointer;
  text-decoration:underline;
}

.ovbox__adv:hover{
  opacity:.8;
}

.kv2-strips .ovbox{
  margin: 18px 0;
}
.kv2-strips .ovbox:first-child{ margin-top: 0; }
.kv2-strips .ovbox:last-child{ margin-bottom: 0; }

.kv2-strips .ovlist{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.ovlink__txt{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ovlink__meta{
  flex:0 0 auto;
  min-width: 0;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: -0.2px;
  opacity: 0.85;
  font-style: italic;
  opacity: .9;
  color: #f97b0a;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:right;
  padding-right:2px;
}

@media (max-width: 520px){

  .ovbox--stackmeta .ovlink{
    display:grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 2px;
    align-items:center;
  }

  .ovbox--stackmeta .ovlink__txt{
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;

  }

  .ovbox--stackmeta .ovlink__meta{
    grid-column: 1;
    grid-row: 2;
    justify-self:end;
    text-align:right;
    margin:0;
    padding: 0 3p 0 0;
    line-height:1.1;
  }

  .ovbox--stackmeta .ovlink__arr{
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self:center;
    justify-self:end;
  }

  .ovbox--stackmeta .ovlink__cnt{
    grid-column: 1;
    grid-row: 2;
  }
}

@media (max-width: 1024px){
  .ovbox--meta-below .ovlink{
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 2px;
    align-items: start;
  }

  .ovbox--meta-below .ovlink__txt{
    grid-column: 1;
    grid-row: 1;
    min-width: 0;

    white-space: normal;
    overflow: hidden;
  }

  .ovbox--meta-below .ovlink__meta{
    grid-column: 1;
    grid-row: 2;
    justify-self: end;
    white-space: nowrap;
    font-size: 0.8rem;
    line-height: 1.1;
    margin: 0;
  }

  .ovbox--meta-below .ovlink__arr{
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
  }
}


.eventTextItem{
  background: rgba(0,0,0,0.7);
  border:1px solid rgba(0,0,0,.08);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

/* Beperk paint/layout-werk per kaart zodat scrollen en taps minder reflow doen. */
.eventBlock{ contain: layout paint; }
.eventTextItem{ contain: layout paint; }

.placefield{
  padding-right:10px;
}

.datefield{
  padding-right:12px;
}

.daysleftfield{
  border-left:0;
  border-radius:0 var(--kv2-radius-sm) var(--kv2-radius-sm) 0;
  overflow:hidden;
}

.daysleftfield{
  text-align:center;
  line-height:1.05;
}

.daysleftfield .days__num{
  font-size: 21px;
  font-weight: 900;
  letter-spacing: .5px;
}

.daysleftfield .days__prefix,
.daysleftfield .days__unit,
.daysleftfield .days__suffix{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: .9;
}

.daysleftfield .days__prefix{ margin-bottom: 2px; display:block; }
.daysleftfield .days__suffix{ margin-top: 2px; display:block; opacity: .75; }

.action{
  background:transparent;
}

.overview-top.quickjump-upcoming{
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 16px;
  width: 100%;
}

#tekst-overzicht .overview-top.quickjump-upcoming .overview-top__left{
  width: 100%;
}
#tekst-overzicht .overview-top.quickjump-upcoming{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 2px solid rgba(255,122,26,.35);
}

.eventBlock{
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.eventBlock .eventYoutube{
  margin: 0;
  max-width: 100%;
}

.eventBlock .yt-thumb,
.eventBlock .yt-embed{
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
}

.eventBlock .yt-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.eventBlock .yt-embed{
  position: relative;
}
.eventBlock .yt-embed iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.eventBlock .yt-thumb{
  position: relative;
  cursor: pointer;
}

.eventBlock .yt-play{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 50px;
  border-radius: 14px;
  background: rgba(255, 0, 0, .9);
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
}

.eventBlock .yt-play::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-35%, -50%);
  width: 0;
  height: 0;
  border-left: 18px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}
.eventBlock .yt-thumb:hover .yt-play{
  transform: translate(-50%, -50%) scale(1.05);
  background: rgba(255, 0, 0, 1);
}

.hb-list{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:10px;
  margin-top:0;
}

.pl50 {
	padding-left: 50px;
}
.pl30 {
	padding-left: 30px;
}

.btn--map,.btn--favlink,.btn--agendalink{
  padding:10px 16px;
  background: linear-gradient(90deg, rgba(255, 122, 26, 0.9), rgba(255, 122, 26, 0.7));
  color:#fff;
  font-weight:600;
  border-radius:6px;
  text-decoration:none;
  border:none;
  cursor:pointer;
  /* Geen transition:all — voorkomt korte donkere flits bij hover (gradient→effen) */
  transition:background .2s ease, opacity .2s ease, transform .2s ease, box-shadow .2s ease;
  font-size: 12px;
}

.btn--map:hover,.btn--favlink:hover,.btn--agendalink:hover{
  background: linear-gradient(90deg, #e65f00, rgba(230, 95, 0, 0.82));
}

.btn--favlink {
	display: none;
}

.js-open-map { display: none; }

.placeholder--too-many{
  padding: 18px 16px 20px;
  margin: 6px 0 14px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-sizing: border-box;
}
.placeholder--too-many h3{
  margin: 0 0 10px;
  font-size: 1.15rem;
}
.placeholder--too-many p{
  margin: 0 0 0.75em;
  line-height: 1.55;
  max-width: 52ch;
}
.placeholder--too-many p:last-child{
  margin-bottom: 0;
}
.placeholder--too-many .placeholder__actions{
  margin: 14px 0 12px;
}
.placeholder--too-many .js-open-map{
  display: inline-flex;
}
@media (min-width: 721px){
  .placeholder--too-many .js-open-map{
    display: none;
  }
}

@media (max-width: 720px){

  .main-2col > .wrapper{
    flex-direction: column;
  }

  .main-2col .col.left,
  .main-2col .col.right{
    flex: 0 0 auto;
    max-width: 100%;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
  }

  .js-open-map { display: inline-flex; }
  .btn--favlink { display: inline-flex; }

  .main-2col .col.right{ display: none !important; }

  .main-2col .col.right.is-visible{
    display: block !important;
    order: -1; /* mobiel: kaart boven tekstlijst bij handmatige kaart-open */
  }

  .main-2col .col.left{
    overflow: visible !important;
    scrollbar-gutter: auto;
    padding:10px;
  }
	
  #mapwrap{
    height: min(70vh, var(--panel-h)); 
    min-height: 360px;               
  }

  #map{
    height: 100%;
  }

  .map-overlay{
    left:8px;
    right:auto;
    bottom:8px;
    width:max-content;
    max-width:min(260px, calc(100% - 16px));
    max-height:40%;
    padding:8px 10px;
    border-radius:10px;
    font-size:12px;
    overflow:auto;
  }

  .map-overlay h4{
    margin-right:20px;
    font-size:12px;
  }

  .map-legend{
    gap:4px 10px;
    margin-top:6px;
  }

  .map-legend li{
    font-size:11px;
  }

  .map-chip{
    gap:5px;
    margin-bottom:3px;
    padding:3px 7px;
    width:fit-content;
    max-width:100%;
  }

  .map-chip img{
    width:16px;
    height:11px;
  }

  .map-chip small{
    font-size:11px;
  }

  .map-overlay__close{
    width:22px;
    height:22px;
    font-size:14px;
    top:5px;
    right:5px;
  }

  .map-overlay-toggle{
    left:8px;
    bottom:8px;
    padding:6px 9px;
    font-size:11px;
  }
}

.alert--p4{ border-color:#2f80ed; }
.alert--p4 .alert__icon{ color:#2f80ed; }

.alert--p3{ border-color:#27ae60; }
.alert--p3 .alert__icon{ color:#27ae60; }

.alert--p2{ border-color:#f2994a; }
.alert--p2 .alert__icon{ color:#f2994a; }

.alert--p1{ border-color:#eb5757; }
.alert--p1 .alert__icon{ color:#eb5757; }

.pi-forward{ margin-top:10px; }
.pi-forward__link{
  display:inline-flex;
  gap:8px;
  align-items:center;
  text-decoration:none;
  font-weight:600;
}
.pi-title,
.h-underline{ scroll-margin-top: 90px; }

.alerts{
  margin: 14px 0 18px;
  padding: 10px 0 0;
  scroll-margin-top: 90px;
}

.alerts__title{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:0 0 .6rem;
  font-size: .95rem;
  opacity: .95;
}

.alerts__list{
  display:grid;
  gap:.6rem;
}

.alert{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  padding:.7rem .85rem;
  border-radius:14px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.28);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

.alert__icon{
  font-size:1.3rem;
  line-height:1;
  margin-top:.12rem;
  opacity:.98;
  flex-shrink:0;
  width:1.35em;
  min-height:1.35em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.alert__icon::before{
  vertical-align:0;
}

.alert__text{
  font-size:.95rem;
  line-height:1.45;
}

.alert__text strong{
  color: var(--accent);
}

.alert__text a{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.22);
}
.alert__text a:hover{
  border-bottom-color: rgba(255,255,255,.45);
}

a.linkbox{
  display: inline-block;
  padding: 2px 8px;
  margin: 2px 2px;
  border-radius: 6px;

  font-size: 13px;
  font-weight: 600;
  text-decoration: none;

  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.20);

  transition: all .18s ease;
}

a.linkbox:hover{
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.30);
  color: #fff;
  transform: translateY(-1px);
}

a.linkbox:active{
  transform: translateY(0);
  opacity: .9;
}

.alert .linkbox{
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.18);
}
.alert .linkbox:hover{
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.28);
}

.alert__text .fav-btn--alert-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  vertical-align:middle;
  margin:0;
  width:auto;
  min-height:34px;
  padding:5px 12px 5px 6px;
  border-radius:999px;
  flex-shrink:0;
}
.alert__text .fav-btn--alert-inline .fav-btn__ic{
  width:26px;
  height:26px;
  font-size:15px;
  line-height:1;
  transform:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  flex-shrink:0;
}
.alert__text .fav-btn--alert-inline .fav-btn__txt{
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
}
.alert__text .fav-btn--alert-inline.is-fav .fav-btn__ic,
.alert__text .fav-btn--alert-inline.is-on .fav-btn__ic{
  background:rgba(0,0,0,.14);
}

/* Statusmelding: blokken (datum onbekend / editie voorbij) */
.kv2-sys-alert{
  display:flex;
  flex-direction:column;
  gap:0;
}
.kv2-sys-alert__lead{
  margin:0 0 10px;
  line-height:1.45;
}
.kv2-sys-alert__lead:last-child{
  margin-bottom:0;
}
.kv2-sys-alert__primary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
  margin:0 0 8px;
}
.kv2-sys-alert__who{
  font-weight:700;
}
.kv2-sys-alert__hint{
  margin:0 0 12px;
  font-size:.92rem;
  line-height:1.45;
  color:rgba(255,255,255,.86);
}
.kv2-sys-alert__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:2px;
}
.kv2-sys-alert__actions .linkbox--alert-action{
  margin:0;
}
a.linkbox.linkbox--alert-action{
  padding:8px 12px;
  margin:0;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 2px 8px rgba(0,0,0,.2);
}
a.linkbox.linkbox--alert-action:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.38);
  transform:translateY(-1px);
}
a.linkbox.linkbox--alert-action.linkbox--near{
  color:#fff;
  text-shadow:0 0 1px rgba(0,0,0,.3);
  border:none;
  background:linear-gradient(90deg, rgba(255, 122, 26, 0.95), rgba(255, 122, 26, 0.72));
  box-shadow:0 4px 14px rgba(0,0,0,.22);
}
a.linkbox.linkbox--alert-action.linkbox--near:hover{
  color:#fff;
  background:linear-gradient(90deg, #e65f00, rgba(230, 95, 0, 0.85));
  border:none;
  transform:translateY(-1px);
}
.page-intro .kv2-sys-alert__hint{
  font-size:.9rem;
}

.alert--p1{ border-color: rgba(255, 90, 90, .42); background: rgba(255, 90, 90, .12); }
.alert--p1 .alert__icon{ color: rgba(255, 150, 150, .95); }

.alert--p2{ border-color: rgba(255, 170, 70, .42); background: rgba(255, 170, 70, .12); }
.alert--p2 .alert__icon{ color: rgba(255, 200, 120, .95); }

.alert--p3{ border-color: rgba(70, 220, 140, .42); background: rgba(70, 220, 140, .10); }
.alert--p3 .alert__icon{ color: rgba(140, 255, 200, .95); }

.alert--p4{ border-color: rgba(120, 180, 255, .38); background: rgba(120, 180, 255, .10); }
.alert--p4 .alert__icon{ color: rgba(190, 220, 255, .95); }

@media (max-width: 460px){

  .kv2-countdown-inline{
    padding: 12px;
    border-radius: 14px;
  }

  .kv2-countdown-inline__grid{
    gap: 6px;
  }

  .kv2-countdown-inline__unit{
    padding: 8px 6px;
    border-radius: 12px;
  }

  .kv2-countdown-inline__sep{
    font-size: 16px;
    transform: translateY(-1px);
  }

  .kv2-countdown-inline__lbl{
    font-size: 10px;
    letter-spacing: .5px;
  }
}

@media (max-width:600px){
  .kv2-quicklinks{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:8px;
  }
}

.pi-subactions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:6px;
  font-size:12px;
  opacity:.75;
}

.pi-subactions__link{
  color:rgba(255,255,255,.85);
  text-decoration:none;
  font-weight:600;
  padding:2px 6px;
  border-radius:6px;
  transition:opacity .15s ease, background .15s ease;
}

.pi-subactions__link:hover{
  opacity:1;
  background:rgba(255,255,255,.06);
}

.pi-subactions__sep{
  opacity:.55;
}

.kv2-verified-note{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 10px;
  padding:0;
  font-size:12px;
  line-height:1.25;
  font-weight:600;
  letter-spacing:.01em;
  color:#7df3a2;
  opacity:.95;
}
.kv2-verified-note .bi{
  font-size:13px;
  color:#52d97f;
}

.ig-strip{
  margin: 26px 0;
}

.ig-strip .wrapper{
  width: 100%;
}

.ig-strip .ig-head,
.ig-strip .ig-grid{
  max-width: 520px;
  width: 100%;
  margin: 20px 0 0;
}

.ig-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  min-width: 0;
}

/* Titel in Instagram-blok: mag krimpen zodat knop + kop samen niet breder dan kolom worden */
.ig-head .hb-title.pi-title,
.ig-head h2.pi-title{
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 520px){
  .ig-head{
    flex-wrap:wrap;
    align-items:flex-start;
  }
}

.ig-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 900px){
  .ig-strip .ig-head,
  .ig-strip .ig-grid{
    max-width: 460px;
  }
  .ig-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px){
  .ig-strip .ig-head,
  .ig-strip .ig-grid{
    max-width: 100%;
  }
  
  .ig-grid a.ig-card:nth-of-type(n+5){
    display: none;
  }

  .ig-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

.ig-card{
  position:relative;
  display:block;
  border-radius:14px;
  overflow:hidden;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  text-decoration:none;
  color: inherit;
  transform: translateZ(0);
}

.ig-thumb{
  display:block;
  aspect-ratio: 1 / 1;
}

.ig-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition: transform .22s ease;
}

.ig-card::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0) 55%);
  opacity:0;
  transition: opacity .22s ease;
  pointer-events:none;
}

.ig-ico{
  position:absolute;
  top:10px;
  right:10px;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.22);
  opacity:0;
  transform: translateY(-4px);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events:none;
  color:#fff;
}

.ig-ico i{
  color: currentColor;
}

@media (hover:hover){
  .ig-card:hover{
    box-shadow: 0 14px 40px rgba(0,0,0,.35);
  }
  .ig-card:hover .ig-thumb img{
    transform: scale(1.04);
  }
  .ig-card:hover::after{
    opacity:1;
  }
  .ig-card:hover .ig-ico{
    opacity:1;
    transform: translateY(0);
  }
}

.ig-card:focus-visible{
  outline: 2px solid rgba(255,255,255,.45);
  outline-offset: 3px;
}

[data-wx-target][hidden] { display: none !important; }

.kv2-weather{
  margin: 14px 0;
  padding: 12px 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.03);
}

.kv2-weather__title{
  margin: 0 0 10px;
  font-weight: 900;
  margin-bottom: 10px;
  font-size: 17px;
}
.kv2-weather__title--with-icon{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}
.kv2-weather__title--with-icon .kv2-weather__icon{
  flex-shrink: 0;
  color: #ffb300;
  opacity: 1;
}

.kv2-weather__day{
  flex: 0 0 auto;
  min-width: 64px;
  text-align: center;
  padding: 8px 8px;
  border-radius: 12px;
  background: rgba(0,0,0,.15);
}

.kv2-weather__date{
  font-size: 12px;
  opacity: .85;
  margin-bottom: 6px;
}

.kv2-weather__icon{
  width: 34px;
  height: 34px;
  display: block;
  margin: 0 auto 4px;
}

.kv2-weather__temp{
  font-size: 12px;
  display: flex;
  justify-content: center;
  gap: 6px;
  line-height: 1;
}

.kv2-weather__tmax{ font-weight: 700; }
.kv2-weather__tmin{ opacity: .7; }

.kv2-weather__row{
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
}

.kv2-weather__track{
  display:flex;
  gap:10px;
  width:fit-content;
  margin:0 auto;
  padding:0 6px;
}

@media (hover:hover) and (pointer:fine){
  .kv2-weather__row{
    scrollbar-width: none;
  }
  .kv2-weather__row::-webkit-scrollbar{
    height: 0;
  }
}

.pi-item--poi .pi-poi{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.5rem;
}

.pi-poi__item{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap:.75rem;

  padding:.55rem .7rem;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}

.pi-poi__left{
  display:flex;
  align-items:baseline;
  gap:.45rem;
  min-width:0;
  flex-wrap:wrap;
}

.pi-poi__ic{
  font-size:1rem;
  opacity:.9;
  transform: translateY(1px);
}

.pi-poi__label{
  font-weight:600;
  white-space:nowrap;
  opacity:.95;
}

.pi-poi__name{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.pi-poi__dist{
  opacity:.75;
  white-space:nowrap;
  padding:.08rem .4rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.12);
}

.pi-grid .pi-item--poi{
  grid-column: 1 / -1;
}

.poi-link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  justify-self:end;

  margin-left:0;
  padding:.28rem .6rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);

  text-decoration:none;
  font-weight:600;
  font-size:.9em;
  white-space:nowrap;
  color: inherit;
}

.poi-link:hover{
  background:rgba(255,255,255,.12);
  text-decoration:none;
}

.pi-item--poi .poi-link:visited{
  color: inherit;
}

.pi-poi__note{
  margin-top:.5rem;
  font-size:.65rem;
  font-style:italic;
  opacity:.75;
  line-height:1.4;
}
@media (max-width: 680px){
  .pi-poi__note{
    margin-bottom: 0.75rem;
  }
}

.opening__wx{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  margin-left:.5rem;
  white-space:nowrap;
  vertical-align:middle;
}

.opening__wxic{
  width:26px;
  height:26px;
  display:block;
}

.opening__wxt{
  font-weight:600;
  font-size:.9em;
  line-height:1;
}

@media (max-width: 600px){
  .opening__wxic{
    width:22px;
    height:22px;
  }
}
.pi-opening-day--short{ display:none; }

@media (max-width:600px){
  .pi-opening-day--long{ display:none; }
  .pi-opening-day--short{ display:inline; }
}

/* Screen-reader only (visually hidden, still accessible) */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Optional: becomes visible when focused (nice for skiplinks) */
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

/* Algemene ad container */
.adblock {
  margin: 0;
  text-align:center;
}

/* Detailpagina varianten */
.ad-detail-top, .ad-detail-bottom, .ad-detail-between {
  margin: 16px 0 20px;
}

.ad-detail-mid {
  margin: 20px 0;
}

/* Optioneel: iets rustiger op mobiel */
@media (max-width: 680px) {
  /* Ruimte tussen disclaimer en eerste ad (algemene .adblock margin overschrijft ad-detail-top) */
  #intro .hl-about + .adblock.ad-detail-top {
    margin-top: 14px;
  }
}

/* Advertentie + uitleg als één rustig vlak (geen losse “twee blokken”) */
.ad-home-panel{
  margin:18px auto 0;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow-x:hidden;
  padding:12px 14px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(12,8,20,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.wyb + .wrapper .ad-home-panel{
  margin-top:18px;
}

.ad-home-panel .ad-explain{
  margin-top:0;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
  text-align:center;
}

.ad-explain {
  margin-top: 6px;
  text-align: right;
  font-size: 0.75rem;
}

.ad-explain--between {
  margin: 0 0 18px;
}

.ad-explain a {
  color: rgba(200,200,210,.85);
  text-decoration: none;
}

.ad-explain a:hover {
  text-decoration: underline;
  color: #2a5f8f; 
}

.adblock ins.adsbygoogle{
  display:block !important;
  margin:0 auto !important;
}

/* Reserveert ruimte vóór AdSense invult (minder CLS op o.a. homepage) */
.adblock.ad-home-top {
  min-height: 72px;
}
.adblock.ad-detail-top,
.adblock.ad-detail-between {
  min-height: 72px;
}
@media (min-width: 768px) {
  .adblock.ad-home-top {
    min-height: 80px;
  }
  .adblock.ad-detail-top,
  .adblock.ad-detail-between {
    min-height: 90px;
  }
}
@media (max-width: 640px) {
  .page-intro .ad-home-panel .adblock.ad-home-top{
    min-height: 48px;
  }
}
.adblock--full {
  grid-column: 1 / -1;
}
.adblock--infeed {
	
}

.adblock--infeed .kv2-textoverview-ad--350x110{
  width: 350px !important;
  height: 110px !important;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.adblock--infeed .kv2-textoverview-ad--responsive{
  width: 100% !important;
  max-width: 420px;
  margin: 0 auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.adblock--infeed .kv2-textoverview-ad--full{
  width: 100% !important;
  max-width: none !important;
}

/* Text-overview flow: voorkom grote gaten door mixed item heights */
#tekst-overzicht .eventBlock,
.eventTextList.two-col .eventBlock{
  display: contents;
}

#tekst-overzicht .eventYoutube--inline-card,
.eventTextList.two-col .eventYoutube--inline-card{
  width: 100%;
}

#tekst-overzicht .eventYoutube--inline-card .yt-thumb,
#tekst-overzicht .eventYoutube--inline-card .yt-embed,
.eventTextList.two-col .eventYoutube--inline-card .yt-thumb,
.eventTextList.two-col .eventYoutube--inline-card .yt-embed{
  width: 100%;
  height: 96px;
  aspect-ratio: auto;
  border-radius: 10px;
}

#tekst-overzicht .eventYoutube--inline-card .yt-thumb__label,
.eventTextList.two-col .eventYoutube--inline-card .yt-thumb__label{
  top: auto;
  bottom: 6px;
  left: 6px;
  right: 6px;
  display: block;
  padding: 4px 8px;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: rgba(12, 10, 24, .72);
  border: 1px solid rgba(255,255,255,.22);
}

#tekst-overzicht .adblock--infeed,
.eventTextList.two-col .adblock--infeed{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 110px;
  overflow: hidden;
}

@media (max-width: 480px){
  #tekst-overzicht .adblock--infeed .kv2-textoverview-ad--350x110,
  .eventTextList.two-col .adblock--infeed .kv2-textoverview-ad--350x110{
    width: 100% !important;
    max-width: 350px !important;
  }

  /* Maak mobiele in-feed advertenties exact viewport-breed (geen 5px offset door parent padding). */
  #tekst-overzicht .adblock--infeed,
  .eventTextList.two-col .adblock--infeed{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    justify-content: flex-start;
  }

  #tekst-overzicht .adblock--infeed .kv2-textoverview-ad--responsive,
  .eventTextList.two-col .adblock--infeed .kv2-textoverview-ad--responsive{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

.kv2-side-ads{
  display: none;
  --kv2-side-top: 96px;
  --kv2-side-wrapper-width: min(1200px, 92vw);
  --kv2-side-rail-width: 160px;
  --kv2-side-gap: 44px;
}

body.page--agenda .kv2-side-ads{
  --kv2-side-wrapper-width: min(1320px, 94vw);
}

@media (max-width: 1365px){
  .kv2-side-ads{
    display: none !important;
  }
}

@media (min-width: 1366px){
  .kv2-side-ads{
    display: block;
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 20600;
  }

  .kv2-side-ads__rail{
    position: fixed;
    top: var(--kv2-side-top);
    width: var(--kv2-side-rail-width);
    min-height: 600px;
    text-align: center;
    /* Geen hits als rail nog verborgen is (opacity/visibility alleen verbergen visueel). */
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  }

  /* Vanaf 1366 tonen we standaard alleen rechts */
  .kv2-side-ads__rail--left{
    display: none;
  }

  .kv2-side-ads__rail--right{
    right: calc(50% - (var(--kv2-side-wrapper-width) / 2) - var(--kv2-side-rail-width) - var(--kv2-side-gap));
  }

  .kv2-side-ads__slot{
    display: none;
  }

  .kv2-side-ads__slot.is-active{
    display: block;
  }

  .kv2-side-ads__rail .adsbygoogle{
    display: inline-block !important;
  }

  .kv2-side-ads.is-visible .kv2-side-ads__rail{
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}

@media (min-width: 1600px){
  /* Op brede desktop is er ruimte voor beide rails buiten de wrapper */
  .kv2-side-ads__rail--left{
    display: block;
    left: calc(50% - (var(--kv2-side-wrapper-width) / 2) - var(--kv2-side-rail-width) - var(--kv2-side-gap));
  }

  .kv2-side-ads__rail--right{
    right: calc(50% - (var(--kv2-side-wrapper-width) / 2) - var(--kv2-side-rail-width) - var(--kv2-side-gap));
  }
}

.kv2-side-ads.kv2-side-ads--160{
  --kv2-side-rail-width: 160px;
}

.kv2-side-ads.kv2-side-ads--300x600,
.kv2-side-ads.kv2-side-ads--300x1050{
  --kv2-side-rail-width: 300px;
}

.kv2-home-marker{
  position: relative;
  transform: translate3d(0, 4px, 0);
  transform-origin: 50% 100%;
  pointer-events: none;
}

.kv2-home-marker__pin{
  width: 22px;   /* was 34px */
  height: 22px;
  border-radius: 8px;
  background: #1e4a7a;
  box-shadow: 0 4px 10px rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
}

.kv2-home-marker__ico{
  width: 12px;
  height: 12px;
  fill: #FFF;
}

.kv2-home-marker__tip{
  width: 0;
  height: 0;
  margin: 0 auto;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 8px solid #1e4a7a;
}

/* Force arrow kleur van Google Maps InfoWindow */
.gm-style .gm-style-iw-tc {
  filter: none !important;
}

.gm-style .gm-style-iw-tc::before,
.gm-style .gm-style-iw-tc::after {
  background: #242221 !important;
  border-color: #242221 !important;
}

.gm-style .gm-style-iw-t::after {
  background: #242221 !important;
}

/* ==================================
   KV2 Activiteiten – vrolijke accentrand (alle activiteiten)
   Plak ONDERAAN je huidige KV2 Activiteiten CSS
   ================================== */

/* basis: elke kaart krijgt een accent (fallback = oranje) */
.kv2-act{
  --act-accent: rgba(255,122,26,.65);
  border-left: 6px solid var(--act-accent);
}

/* 8-kleuren rotatie voor overige activiteiten (zonder type-accent) */
.kv2-acts__list > .kv2-act-conic:nth-child(8n+1) > .kv2-act:not([class*="kv2-act--accent-"]){ --act-accent: rgba(255,132,38,.74); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+2) > .kv2-act:not([class*="kv2-act--accent-"]){ --act-accent: rgba(52,211,153,.70); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+3) > .kv2-act:not([class*="kv2-act--accent-"]){ --act-accent: rgba(96,165,250,.70); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+4) > .kv2-act:not([class*="kv2-act--accent-"]){ --act-accent: rgba(255,152,40,.74); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+5) > .kv2-act:not([class*="kv2-act--accent-"]){ --act-accent: rgba(236,72,153,.69); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+6) > .kv2-act:not([class*="kv2-act--accent-"]){ --act-accent: rgba(45,212,191,.69); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+7) > .kv2-act:not([class*="kv2-act--accent-"]){ --act-accent: rgba(147,112,246,.70); }
.kv2-acts__list > .kv2-act-conic:nth-child(8n+8) > .kv2-act:not([class*="kv2-act--accent-"]){ --act-accent: rgba(255,160,146,.73); }
/* Type-accent (zelfde taal als de 4px-/conic-accent) — overschrijft de 6px variabele */
.kv2-acts__list > .kv2-act-conic > .kv2-act--accent-vuurwerk{
  --act-accent: rgba(110,168,245,.76);
}

.kv2-acts__list > .kv2-act-conic > .kv2-act--accent-korting{
  --act-accent: rgba(52,192,146,.74);
}

.kv2-acts__list > .kv2-act-conic > .kv2-act--accent-prikkelarm{
  --act-accent: rgba(156,176,166,.74);
}

/* prikkelarm blijft paars alleen als geen rust-accent (geen tekst/DB-accent-prik-match) */
.kv2-act.is-prikkelarm:not(.kv2-act--accent-prikkelarm){
  --act-accent: rgba(90,140,220,.75);
}

/* today mag extra duidelijk blijven */
.kv2-act.is-today{
  --act-accent: rgba(255,122,26,.85);
}

.pi-item--opening {
  grid-column: 1 / -1;
}

/* =========================
   About + reclameposter
   ========================= */

.hl-about--with-poster.has-poster{
  display:block;
}

.hl-poster{
  float:right;
  width:220px;
  max-width:220px;
  margin:0 0 12px 20px;
}

/* Poster verschijnt pas bij de 2e alinea / na de 1e H2/H3 als het logo ook aanwezig is.
   clear:right zorgt dat hij netjes ONDER het logo komt en niet ernaast probeert te zweven. */
.hl-poster--after-logo{
  clear:right;
  margin-top:12px;
}

.hl-logo{
  float:right;
  width:180px;
  max-width:40%;
  margin:0 0 12px 20px;
}

.hl-logo__img{
  display:block;
  width:100%;
  height:auto;
  padding:8px;
  box-sizing:border-box;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}

.hl-about--with-poster::after{
  content:"";
  display:block;
  clear:both;
}

.hl-about__text{
  min-width:0;
}
@media (max-width: 980px){
  .hl-about__text{
    font-size:15px;
    line-height:1.65;
  }

  .hl-logo{
    float:none;
    width:min(220px, 100%);
    max-width:100%;
    margin:0 auto 14px;
  }
}

.hl-about__text .kv2-intro-geo{
  margin:12px 0 0;
  line-height:1.65;
  color:rgba(255,255,255,.94);
}
#intro .hl-about__text h3{
  margin:22px 0 12px;
  font-size:1.1rem;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.01em;
  color:#ffffff;
}
/* Intro: links — gestippeld; hover vol + accent */
#intro .hl-about__text a{
  color:rgba(255,255,255,.95);
  font-weight:700;
  text-decoration:underline dotted;
  text-decoration-color:rgba(255,255,255,.5);
  text-underline-offset:3px;
  text-decoration-thickness:1px;
  transition:color .18s ease,text-decoration-color .18s ease,text-decoration-style .18s ease;
}
#intro .hl-about__text a:hover{
  color:var(--accent);
  text-decoration-style:solid;
  text-decoration-color:var(--accent);
}
#intro .hl-about__text a:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:2px;
}

.hl-poster__item{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.hl-poster__item:hover{
  transform:translateY(-2px);
  border-color:rgba(90,140,220,.28);
  box-shadow:0 12px 26px rgba(0,0,0,.24);
}

.hl-poster__img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:7 / 10;
  object-fit:cover;
  background:#111;
}

.hl-poster__item picture{
  display:block;
  width:100%;
}

.hl-poster__zoom{
  position:absolute;
  right:10px;
  bottom:10px;
  width:38px;
  height:38px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.62);
  color:#fff;
  font-size:16px;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .15s ease, transform .15s ease;
  pointer-events:none;
}

.hl-poster__item:hover .hl-poster__zoom{
  opacity:1;
  transform:translateY(0);
}

@media (max-width:800px){

  .hl-poster{
    float:none;
    margin:16px auto 0 auto;
    display:block;
	margin-bottom: 10px;
  }

}

@media (max-width: 768px){
  .adblock--deep{
    display:none;
  }

}

.kv2-gallery-wrap{
  position:relative;
}

.kv2-gallery{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2px;
  padding:14px 0;
  border-radius:14px;
  overflow:hidden;
  position:relative;
}

.kv2-gallery-block--full .kv2-gallery{
  grid-template-columns:repeat(6, 1fr);
}

/* collapsible: alléén de grid afkappen */
.kv2-gallery-wrap.is-collapsible .kv2-gallery{
  --thumb-h:140px;
  --gap:2px;
  --rows:4;
  max-height:calc((var(--thumb-h) * var(--rows)) + (var(--gap) * (var(--rows) - 1)));
  overflow:hidden;
}

.kv2-gallery-wrap.is-collapsible::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:92px;
  height:80px;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(15,15,26,0), rgba(15,15,26,.96));
}

.kv2-gallery-wrap.is-collapsible.is-expanded .kv2-gallery{
  max-height:none;
}

.kv2-gallery-wrap.is-collapsible.is-expanded::after{
  display:none;
}

.kv2-gallery__more{
  display:block;
  width:max-content;
  margin:14px auto 10px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
}

@media (max-width:768px){
  .kv2-gallery-block--full .kv2-gallery{
    grid-template-columns:repeat(3, 1fr);
  }
}

/* =========================
   Page jump / section nav
   ========================= */

.page-jump{
  position: fixed;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 21000;
  display: none;
}

.page-jump.is-ready{
  display: block;
}

.page-jump__toggle{
  appearance: none;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(16,18,24,.82);
  color: #fff;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 999px;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}

.page-jump__toggle:hover{
  background: rgba(22,25,32,.92);
  border-color: rgba(255,255,255,.18);
}

.page-jump__toggle-dot{
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #f97b0a;
  box-shadow: 0 0 0 4px rgba(249,123,10,.16);
  flex: 0 0 9px;
}

.page-jump__toggle-label{
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.page-jump__panel{
  margin-top: 10px;
  width: 240px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(16,18,24,.88);
  color: #fff;
  border-radius: 18px;
  padding: 14px 12px 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.page-jump__title{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(255,255,255,.66);
  padding: 0 6px 8px;
}

.page-jump__list{
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.page-jump__link{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 7px 8px;
  border-radius: 12px;
  text-decoration: none;
  color: rgba(255,255,255,.82);
  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease;
}

.page-jump__link:hover{
  background: rgba(255,255,255,.06);
  color: #fff;
}

.page-jump__dot{
  width: 9px;
  height: 9px;
  border-radius: 999px;
  flex: 0 0 9px;
  background: rgba(255,255,255,.24);
  transition:
    background .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.page-jump__text{
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
}

.page-jump__link.is-active{
  background: rgba(249,123,10,.10);
  color: #fff;
}

.page-jump__link.is-active .page-jump__dot{
  background: #f97b0a;
  transform: scale(1.08);
  box-shadow: 0 0 0 4px rgba(249,123,10,.16);
}

.page-jump__link.is-past .page-jump__dot{
  background: rgba(255,255,255,.38);
}

.page-jump__link.is-upcoming .page-jump__dot{
  background: rgba(255,255,255,.18);
}

.page-jump--desktop .page-jump__toggle{
  display: inline-flex;
  margin-bottom: 10px;
}

.page-jump--desktop .page-jump__panel{
  margin-top: 0;
}

.page-jump--desktop:not(.is-open) .page-jump__panel{
  display: none;
}

html.kv2-has-page-jump{
  scroll-behavior: auto;
}

/* mobiel / tablet */
@media (max-width: 1099px){
  .page-jump{
    top: auto;
    right: 14px;
    bottom: 18px;
    transform: none;
  }

  .page-jump__panel{
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    width: min(78vw, 270px);
    max-height: min(60vh, 420px);
    overflow: auto;
  }

  .page-jump:not(.is-open) .page-jump__panel{
    display: none;
  }
}

/* desktop */
@media (min-width: 1100px){
  .page-jump{
    display: block;
    top: 104px;
    right: 18px;
    transform: none;
  }
}

/* extra subtiel op small mobile */
@media (max-width: 640px){
  .page-jump__toggle{
    padding: 9px 12px;
  }

  .page-jump__toggle-label{
    font-size: 12px;
  }

  .page-jump__link{
    min-height: 34px;
    padding: 6px 7px;
  }

  .page-jump__text{
    font-size: 12px;
  }
}



.stay22-lazy{
  min-height: 470px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-radius: 14px;
  background: #f4f4f7;
  text-align: center;
}

.stay22-lazy__inner{
  max-width: 560px;
}

.stay22-lazy__inner p{
  margin: 0 0 14px;
}

.stay22-lazy.is-loaded{
  padding: 0;
  background: transparent;
}

.stay22-lazy iframe{
  display: block;
  width: 100%;
  height: 470px;
  border: 0;
  border-radius: 14px;
}

@media (max-width: 700px){
  .stay22-lazy{
    min-height: 420px;
  }

  .stay22-lazy iframe{
    height: 420px;
  }
}

/* =========================
   Geannuleerde kermis
   ========================= */

.kermis-hero__pill.is-cancelled{
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  text-decoration-color: rgba(255,90,90,.95);
  opacity: .9;

  background: rgba(120, 0, 0, .28) !important;
  border: 1px solid rgba(255,90,90,.35) !important;
  box-shadow: 0 8px 22px rgba(120,0,0,.20) !important;
}

.kermis-hero__cancel-note{
  margin-top: 8px;
  font: 800 12px/1.2 var(--font-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #ff9a9a;
  opacity: .98;
}

.pi-item--cancelled .pi-v.is-cancelled{
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  text-decoration-color: rgba(255,90,90,.95);
  color: rgba(255,255,255,.82);
}

.pi-cancel-note{
  margin-top: 6px;
  font: 800 12px/1.2 var(--font-sans);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #ff9a9a;
}

.pi-opening-row.is-cancelled{
  background: rgba(239,68,68,.10);
}

.pi-opening-row.is-cancelled .pi-opening-dot{
  background: #ef4444;
}

.pi-opening-row.is-cancelled .pi-opening-hrs{
  color: #ffb3b3;
}

.fav-block__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:var(--kv2-space-sm);
}

.fav-block__title{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

/* Zelfde ondermarge als andere .pi-title (streep → tekst) */
#fav-block .hb-title.pi-title{
  margin-bottom: var(--kv2-title-below-gap);
}

.fav-block__agenda-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  flex:0 0 auto;
}

.fav-block__moved-note{
  margin-top: var(--kv2-space-sm);
  margin-bottom: 0;
  font-size:13px;
  line-height:1.4;
  color:#d3d4e6;
}

@media (max-width: 600px){
  .fav-block__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .fav-block__agenda-btn{
    width:100%;
    text-align:center;
  }
}

@media (max-width: 640px){
  .page-intro > .wrapper.page-intro__ad,
  .page-intro > .wrapper.page-intro__grid{
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Mijn Kermis */
body.page--mijn-kermis .kv2-breadcrumb--overview{
  margin: 0 0 10px;
  padding: 5px 10px 5px;
  border-radius: 12px;
  background: rgba(16, 8, 26, .72);
  border: 1px solid rgba(255,255,255,.10);
  font-size: .9rem;
  line-height: 1.3;
}
body.page--mijn-kermis .kv2-breadcrumb--overview .kv2-breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35em .45em;
  list-style:none;
  margin:0;
  padding:0;
  line-height: 1.3;
}
body.page--mijn-kermis .kv2-breadcrumb--overview .kv2-breadcrumb__item{
  display:inline-flex;
  align-items:center;
}
body.page--mijn-kermis .kv2-breadcrumb--overview .kv2-breadcrumb__item:not(:last-child)::after{
  content:'›';
  margin-left:.4em;
  opacity:.65;
}
body.page--mijn-kermis .kv2-breadcrumb--overview .kv2-breadcrumb__link{
  color: #d7c8ff;
  text-decoration: none;
  border-bottom: 1px solid rgba(215,200,255,.35);
}
body.page--mijn-kermis .kv2-breadcrumb--overview .kv2-breadcrumb__link:hover{
  color: #fff;
  border-bottom-color: rgba(255,255,255,.5);
}
body.page--mijn-kermis .kv2-breadcrumb--overview .kv2-breadcrumb__current{
  color: #fff;
  font-weight: 600;
}

body.page--mijn-kermis.page--agenda main.agenda-page > .kv2-breadcrumb--overview{
  margin-top: 18px;
  margin-bottom: 10px;
}

.mijn-kermis-links{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:10px;
}
.mijn-kermis-links__item{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  text-decoration:none;
  font-weight:700;
  color:#fff;
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
  padding:10px 12px;
  background:linear-gradient(145deg, rgba(98,31,140,.42), rgba(47,24,82,.42));
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}
.mijn-kermis-links__ico{
  display:inline-flex;
  line-height:0;
  flex-shrink:0;
  opacity:.93;
  font-size:1.12rem;
}
.mijn-kermis-links__ico .bi{
  display:block;
  line-height:1;
}
.mijn-kermis-links__text{
  flex:1 1 auto;
  min-width:0;
}
.mijn-kermis-links__item::after{
  content:'›';
  opacity:.75;
  font-size:16px;
}
.mijn-kermis-links__item:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.32);
  background:linear-gradient(145deg, rgba(126,41,182,.56), rgba(69,33,121,.56));
}

.mijn-kermis-shell .detail-block{
  max-width: 1180px;
}

body.page--mijn-kermis .fav-home-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:12px;
  width:100%;
  max-width:1040px;
}
body.page--mijn-kermis [data-personal-suggestions] .fav-home-grid{
  max-width: 860px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
body.page--mijn-kermis [data-personal-favs] .fav-home-grid{
  max-width: 100%;
}
body.page--mijn-kermis [data-personal-context="dashboard"] [data-personal-favs] .fav-home-grid{
  margin:0 !important;
  padding:0 !important;
  grid-template-columns:minmax(0, 1fr);
  max-width:100%;
}
body.page--mijn-kermis [data-personal-context="dashboard"] [data-personal-favs] .fav-home-grid > .eventBlock{
  margin:0 !important;
  width:100%;
  max-width:100%;
}

body.page--mijn-kermis .mijn-kermis-status{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px;
  margin:8px 0 12px;
}
body.page--mijn-kermis .mijn-kermis-status__item{
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  padding:8px 10px;
  background:rgba(0,0,0,.34);
}
body.page--mijn-kermis .mijn-kermis-status__label{
  display:block;
  font-size:12px;
  color:rgba(255,255,255,.72);
}
body.page--mijn-kermis .mijn-kermis-status__value{
  display:block;
  margin-top:2px;
  font-size:16px;
  font-weight:800;
  color:#fff;
}

body.page--mijn-kermis .mijn-kermis-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}
body.page--mijn-kermis .mijn-kermis-actions__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  cursor:pointer;
  text-decoration:none;
  font-weight:700;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  background:rgba(0,0,0,.26);
}
body.page--mijn-kermis .mijn-kermis-actions__btn .bi{
  font-size:1.02em;
  opacity:.92;
  line-height:0;
}
body.page--mijn-kermis .mijn-kermis-actions__btn:hover{
  border-color:rgba(255,255,255,.4);
  background:rgba(0,0,0,.4);
}

body.page--mijn-kermis .mijn-kermis-splithead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
body.page--mijn-kermis .mijn-kermis-splithead > a{
  color:#d7c8ff;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(215,200,255,.4);
}
body.page--mijn-kermis .mijn-kermis-splithead > a:hover{
  border-bottom-color:rgba(215,200,255,.8);
}

body.page--mijn-kermis .agenda-personal__panel{
  background: rgba(0,0,0,.32);
  border: 1px solid rgba(255,255,255,.12);
}

body.page--mijn-kermis .mijn-kermis-dashboard-grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr);
  gap:14px;
}
body.page--mijn-kermis .mijn-kermis-dashboard-grid .agenda-personal__panel--favs{
  grid-column:auto;
}
body.page--mijn-kermis .mijn-kermis-dashboard-grid > .agenda-personal__panel{
  order:0;
}
body.page--mijn-kermis [data-personal-context="dashboard"] [data-personal-favs] .eventTextItem{
  display:block;
  height:auto;
  min-height:80px;
  max-height:none;
  padding:8px;
  grid-template-rows:unset;
  grid-template-columns:unset;
}
body.page--mijn-kermis [data-personal-context="dashboard"] [data-personal-favs] .eventTextItem .eventTextItem__media{
  display:none;
}
body.page--mijn-kermis [data-personal-context="dashboard"] [data-personal-favs] .eventTextItem .eventTextItem__body{
  display:table;
  width:100%;
  table-layout:fixed;
  height:auto;
  min-height:64px;
  max-height:none;
  padding:4px;
  box-sizing:border-box;
}
body.page--mijn-kermis [data-personal-context="dashboard"] [data-personal-favs] .eventTextItem .iconfield{
  width:40px;
}
body.page--mijn-kermis [data-personal-context="dashboard"] [data-personal-favs] .eventTextItem .daysleftfield{
  width:72px;
}
body.page--mijn-kermis [data-personal-context="dashboard"] [data-personal-favs] .eventTextItem .placefield{
  width:auto;
}

body.page--mijn-kermis .agenda-personal__panel--favs .mijn-kermis-actions{
  margin-top:14px !important;
  margin-bottom:0 !important;
}
body.page--mijn-kermis [data-personal-context="dashboard"] .agenda-personal__panel--favs .mijn-kermis-actions{
  margin-top:10px !important;
}
body.page--mijn-kermis .agenda-personal__panel--updates .mijn-kermis-actions{
  margin-top:14px !important;
  margin-bottom:0 !important;
}
body.page--mijn-kermis [data-personal-context="updates"] .agenda-personal__panel--updates .mijn-kermis-actions{
  margin-top:4px !important;
  margin-bottom:18px !important;
}
body.page--mijn-kermis [data-personal-context="updates"] .agenda-personal__panel--updates [data-updates-sort-btn]{
  cursor:pointer !important;
}

body.page--mijn-kermis [data-mijn-kermis-route] .mijn-kermis-actions__btn{
  min-height:42px;
  font-size:14px;
}
body.page--mijn-kermis [data-mijn-kermis-route] .mijn-kermis-actions__btn--primary{
  color:#111 !important;
  background:rgba(255,255,255,.92) !important;
  border-color:rgba(255,255,255,.95) !important;
}
body.page--mijn-kermis [data-mijn-kermis-route] .mijn-kermis-actions__btn--primary:hover{
  background:#fff !important;
  color:#000 !important;
}
body.page--mijn-kermis [data-mijn-kermis-route] .alert--p4{
  border-color:rgba(180,180,180,.42);
  background:rgba(180,180,180,.12);
}
body.page--mijn-kermis [data-mijn-kermis-route] .alert--p4 .alert__icon{
  color:rgba(220,220,220,.92);
}
body.page--mijn-kermis [data-mijn-kermis-route] .kv2-route-clock{
  display:inline-block;
  font-size:19px;
  line-height:1;
  color:#2fd07c;
}
body.page--mijn-kermis [data-mijn-kermis-route] [data-route-list] .eventTextList.two-col{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
body.page--mijn-kermis [data-mijn-kermis-route] .eventBlock > .eventTextItem{
  margin-bottom:0 !important;
}
body.page--mijn-kermis [data-mijn-kermis-route] .eventBlock{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  margin:0 !important;
}
body.page--mijn-kermis [data-mijn-kermis-route] .kv2-route-kmbar{
  margin-top:0;
  padding:7px 10px;
  border-radius:0 0 10px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-top:0;
  background:rgba(0,0,0,.22);
  color:rgba(255,255,255,.92);
  font-size:12px;
  display:flex;
  align-items:center;
  gap:6px;
}
body.page--mijn-kermis [data-mijn-kermis-route] .kv2-route-kmbar i{
  color:rgba(255,255,255,.72);
}
body.page--mijn-kermis .nav-link--agenda-kermis{
  color:#fff !important;
  background:rgba(108,42,163,.78) !important;
  border-color:rgba(255,255,255,.32) !important;
  font:800 14px/1 var(--font-sans) !important;
  cursor:pointer !important;
}
body.page--mijn-kermis .nav-item.has-sub:hover > .nav-link--agenda-kermis,
body.page--mijn-kermis .nav-item.has-sub:focus-within > .nav-link--agenda-kermis{
  background:rgba(78,20,136,.92) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.4) !important;
}

body.page--mijn-kermis [data-nearby-home-current-wrap]{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
body.page--mijn-kermis .mijn-kermis-home-clear{
  width:24px;
  height:24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.36);
  color:#fff;
  font-size:16px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
body.page--mijn-kermis .mijn-kermis-home-clear:hover{
  background:rgba(0,0,0,.55);
  border-color:rgba(255,255,255,.6);
}

body.page--mijn-kermis .mijn-kermis-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:10px;
  max-width:980px;
}
body.page--mijn-kermis .mijn-kermis-stats__item{
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  padding:10px 12px;
  background:rgba(0,0,0,.34);
}
body.page--agenda .agenda-personal__actions{
  margin-top:10px;
  display:flex;
  justify-content:flex-end;
}
body.page--mijn-kermis .mijn-kermis-stats__label{
  display:block;
  font-size:12px;
  color:rgba(255,255,255,.72);
  margin-bottom:4px;
}
body.page--mijn-kermis .mijn-kermis-stats__value{
  display:block;
  font-size:20px;
  font-weight:800;
  color:#fff;
}

@media (max-width: 900px){
  body.page--mijn-kermis .mijn-kermis-shell{
    padding-top:12px !important;
    padding-bottom:14px !important;
  }
  body.page--mijn-kermis .mijn-kermis-status{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.page--mijn-kermis .mijn-kermis-actions__btn{
    flex:1 1 calc(50% - 8px);
    min-width: 180px;
  }
  body.page--mijn-kermis .mijn-kermis-links{
    grid-template-columns: 1fr;
  }
  body.page--mijn-kermis .mijn-kermis-splithead{
    align-items: center;
  }
}

@media (max-width: 640px){
  body.page--mijn-kermis .kv2-breadcrumb--overview{
    padding:7px 9px;
    margin-bottom:8px;
  }
  body.page--mijn-kermis .detail-block{
    padding:10px 10px;
  }
  body.page--mijn-kermis .mijn-kermis-status{
    grid-template-columns: 1fr;
    gap:8px;
    margin-top:6px;
    margin-bottom:10px;
  }
  body.page--mijn-kermis .mijn-kermis-status__item{
    padding:7px 9px;
  }
  body.page--mijn-kermis .mijn-kermis-actions{
    margin-bottom:10px;
  }
  body.page--mijn-kermis .mijn-kermis-actions__btn{
    flex:1 1 100%;
    min-width: 0;
    border-radius: 10px;
    padding:9px 10px;
    font-size:14px;
  }
  body.page--mijn-kermis .mijn-kermis-links{
    gap:8px;
  }
  body.page--mijn-kermis .mijn-kermis-links__item{
    padding:9px 10px;
    border-radius:10px;
    font-size:14px;
  }
  body.page--mijn-kermis .mijn-kermis-splithead{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    margin-bottom:6px;
  }
  body.page--mijn-kermis .mijn-kermis-splithead > a{
    font-size:13px;
  }
  body.page--mijn-kermis .mijn-kermis-stats{
    grid-template-columns: 1fr;
    gap:8px;
  }
  body.page--mijn-kermis .mijn-kermis-stats__item{
    padding:8px 10px;
  }
  body.page--mijn-kermis .mijn-kermis-stats__value{
    font-size:18px;
  }
  body.page--mijn-kermis .fav-home-grid{
    grid-template-columns: 1fr;
    gap:10px;
  }
  body.page--mijn-kermis .agenda-favtabs__nav{
    gap:6px;
  }
  body.page--mijn-kermis .agenda-favtabs__btn{
    min-height:36px;
    padding:7px 9px;
  }
  body.page--mijn-kermis .agenda-personal-update{
    padding:8px 8px 8px 7px;
    gap:7px;
  }
}

@media (max-width: 430px){
  body.page--mijn-kermis .mijn-kermis-status__value{
    font-size:17px;
  }
  body.page--mijn-kermis .mijn-kermis-links__item{
    font-size:13.5px;
  }
  body.page--mijn-kermis .agenda-favtabs__btn{
    font-size:13px;
  }
}

@media (max-width: 390px){
  body.page--mijn-kermis .detail-block h1,
  body.page--mijn-kermis .detail-block h2{
    word-break: break-word;
  }
  body.page--mijn-kermis .mijn-kermis-actions__btn{
    font-size:13.5px;
    padding:8px 9px;
  }
  body.page--mijn-kermis .mijn-kermis-status__label{
    font-size:11px;
  }
}

@media (max-width: 375px){
  body.page--mijn-kermis .kv2-breadcrumb--overview{
    font-size:12px;
  }
  body.page--mijn-kermis .mijn-kermis-stats__value{
    font-size:16px;
  }
  body.page--mijn-kermis .agenda-personal-update__text{
    font-size:13px;
  }
}

@media (min-width: 901px){
  body.page--mijn-kermis .mijn-kermis-dashboard-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 641px) and (max-width: 768px){
  body.page--mijn-kermis .mijn-kermis-dashboard-grid{
    grid-template-columns: minmax(0, 1fr);
  }
  body.page--mijn-kermis .mijn-kermis-actions__btn{
    min-width: 210px;
  }
  body.page--mijn-kermis .mijn-kermis-links{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.kv2-glossary-term {
  display: inline-block;
  position: relative;
  max-width: 100%;
  cursor: default;
  outline: none;
  /* Brug tussen woord en tooltip: hover blijft actief tot de muis bij de tooltip is. */
  padding-bottom: 14px;
  margin-bottom: -14px;
}

a.kv2-glossary-term__text {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
  cursor: pointer;
}

.kv2-glossary-term__tooltip {
  position: absolute;
  left: 0;
  top: calc(100% + 2px);
  cursor: default;
  min-width: 210px;
  max-width: min(92vw, 350px);
  background: #131a2c;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 8px 10px;
  color: #fff;
  line-height: 1.35;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
  z-index: 40;
  opacity: 0;
  transform: translateY(3px);
  pointer-events: none;
  transition: opacity .14s ease, transform .14s ease;
}

.kv2-glossary-term__tooltip::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 12px;
  cursor: default;
}

a.kv2-glossary-term__more {
  color: #8ec6ff;
  text-decoration: underline;
  cursor: pointer;
}

.kv2-glossary-term:hover .kv2-glossary-term__tooltip,
.kv2-glossary-term:focus-within .kv2-glossary-term__tooltip {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Tekstkleur volgt zakelijke context (nieuws, kermispagina, Meer/wiki); woordenboek blijft expliciet licht. */
.page--woordenboek a.kv2-glossary-term__text {
  color: #fff;
}

.page--news-detail .kv2-glossary-term,
.page--kermis .kv2-glossary-term,
.page--meer .kv2-glossary-term,
.page--meer-faq-detail .kv2-glossary-term {
  color: inherit;
}

.page--news-detail a.kv2-glossary-term__text,
.page--kermis a.kv2-glossary-term__text,
.page--meer a.kv2-glossary-term__text,
.page--meer-faq-detail a.kv2-glossary-term__text {
  color: inherit;
}

/* Breadcrumbs op informatiepagina's onder Meer */
:is(
  .page--geschiedenis,
  .page--immaterieel-erfgoed,
  .page--geloof,
  .page--kermisbranche,
  .page--kermisonderwijs,
  .page--kermis-in-beeld,
  .page--woordenboek,
  .page--prikkelarm,
  .page--meer,
  .page--meer-faq-detail,
  .page--vind-hotel
) .kv2-breadcrumb--overview{
  margin-top: 10px;
  margin-bottom: 12px;
}

:is(
  .page--geschiedenis,
  .page--immaterieel-erfgoed,
  .page--geloof,
  .page--kermisbranche,
  .page--kermisonderwijs,
  .page--kermis-in-beeld,
  .page--woordenboek,
  .page--prikkelarm,
  .page--meer,
  .page--meer-faq-detail,
  .page--vind-hotel
) .kv2-breadcrumb--overview .kv2-breadcrumb__list{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

:is(
  .page--geschiedenis,
  .page--immaterieel-erfgoed,
  .page--geloof,
  .page--kermisbranche,
  .page--kermisonderwijs,
  .page--kermis-in-beeld,
  .page--woordenboek,
  .page--prikkelarm,
  .page--meer,
  .page--meer-faq-detail,
  .page--vind-hotel
) .kv2-breadcrumb--overview .kv2-breadcrumb__item{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

:is(
  .page--geschiedenis,
  .page--immaterieel-erfgoed,
  .page--geloof,
  .page--kermisbranche,
  .page--kermisonderwijs,
  .page--kermis-in-beeld,
  .page--woordenboek,
  .page--prikkelarm,
  .page--meer,
  .page--meer-faq-detail,
  .page--vind-hotel
) .kv2-breadcrumb--overview .kv2-breadcrumb__item:not(:last-child)::after{
  content: "›";
  color: rgba(255,255,255,.65);
}

:is(
  .page--geschiedenis,
  .page--immaterieel-erfgoed,
  .page--geloof,
  .page--kermisbranche,
  .page--kermisonderwijs,
  .page--kermis-in-beeld,
  .page--woordenboek,
  .page--prikkelarm,
  .page--meer,
  .page--meer-faq-detail,
  .page--vind-hotel
) .kv2-breadcrumb--overview .kv2-breadcrumb__link,
:is(
  .page--geschiedenis,
  .page--immaterieel-erfgoed,
  .page--geloof,
  .page--kermisbranche,
  .page--kermisonderwijs,
  .page--kermis-in-beeld,
  .page--woordenboek,
  .page--prikkelarm,
  .page--meer,
  .page--meer-faq-detail,
  .page--vind-hotel
) .kv2-breadcrumb--overview .kv2-breadcrumb__current{
  font-size: .94rem;
  text-decoration: none;
}

:is(
  .page--geschiedenis,
  .page--immaterieel-erfgoed,
  .page--geloof,
  .page--kermisbranche,
  .page--kermisonderwijs,
  .page--kermis-in-beeld,
  .page--woordenboek,
  .page--prikkelarm,
  .page--meer,
  .page--meer-faq-detail,
  .page--vind-hotel
) .kv2-breadcrumb--overview .kv2-breadcrumb__link{
  color: rgba(255,255,255,.94);
}

:is(
  .page--geschiedenis,
  .page--immaterieel-erfgoed,
  .page--geloof,
  .page--kermisbranche,
  .page--kermisonderwijs,
  .page--kermis-in-beeld,
  .page--woordenboek,
  .page--prikkelarm,
  .page--meer,
  .page--meer-faq-detail,
  .page--vind-hotel
) .kv2-breadcrumb--overview .kv2-breadcrumb__link:hover{
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

:is(
  .page--geschiedenis,
  .page--immaterieel-erfgoed,
  .page--geloof,
  .page--kermisbranche,
  .page--kermisonderwijs,
  .page--kermis-in-beeld,
  .page--woordenboek,
  .page--prikkelarm,
  .page--meer,
  .page--meer-faq-detail,
  .page--vind-hotel
) .kv2-breadcrumb--overview .kv2-breadcrumb__current{
  color: #fff;
  font-weight: 700;
}

@media (max-width: 640px){
  :is(
    .page--geschiedenis,
    .page--immaterieel-erfgoed,
    .page--geloof,
    .page--kermisbranche,
    .page--kermisonderwijs,
    .page--kermis-in-beeld,
    .page--woordenboek,
    .page--prikkelarm,
    .page--meer,
    .page--meer-faq-detail,
  .page--vind-hotel
  ) .kv2-breadcrumb--overview{
    margin-left:20px;
  }
}

/* Verder lezen op Kermis.nu — kaartjes voor de drie achtergrond-pagina's
   (geschiedenis, immaterieel erfgoed, kermis en geloof) */
.kv2-topic-related{
  margin-top: 16px;
}

.kv2-topic-related__grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 12px;
}

@media (min-width: 900px){
  .kv2-topic-related__grid{
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 560px){
  .kv2-topic-related__grid{
    grid-template-columns: 1fr;
  }
}

.kv2-topic-related__card{
  display: block;
  text-decoration: none;
  border-radius: 14px;
  padding: 14px 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.28);
  box-shadow: var(--shadow);
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
  color: inherit;
}

.kv2-topic-related__card:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,.38);
  border-color: rgba(var(--accent-rgb, 255, 153, 51), .45);
}

.kv2-topic-related__title{
  display: block;
  font-weight: 800;
  color: #fff;
  margin-bottom: 4px;
}

.kv2-topic-related__sub{
  display: block;
  font-size: 13px;
  color: rgba(255,255,255,.70);
  line-height: 1.4;
}

/* Persoonlijke-instellingen-tip (na site-header, sitewide via main.js) */
.kv2-personal-setup-prompt{
  margin-top: 0;
  margin-bottom: 14px;
}
.kv2-personal-setup-prompt__card.detail-block{
  padding: 12px 12px 14px;
}
.kv2-personal-setup-prompt__card{
  position: relative;
  border: 1px solid rgba(111, 70, 160, .34);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(75, 0, 110, .1), rgba(255, 255, 255, .04));
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, .05) inset,
    0 8px 22px rgba(0, 0, 0, .14);
}
.kv2-personal-setup-prompt__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.kv2-personal-setup-prompt__title{
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  color: rgba(255, 255, 255, .96);
}
.kv2-personal-setup-prompt__text{
  margin: 0;
  max-width: 920px;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255, 255, 255, .82);
}
.kv2-personal-setup-prompt__dismiss{
  position: static;
  flex: 0 0 auto;
  margin: 0;
  padding: 4px 8px;
  font-size: 11px;
  white-space: nowrap;
}
.kv2-personal-setup-prompt__actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 6px;
  padding-bottom: 2px;
}
@media (max-width: 720px){
  .kv2-personal-setup-prompt{
    margin-top: 0 !important;
    margin-bottom: 12px;
  }
  .kv2-personal-setup-prompt__card.detail-block{
    padding: 10px 10px 12px;
  }
  .kv2-personal-setup-prompt__head{
    gap: 8px;
    margin-bottom: 5px;
  }
  .kv2-personal-setup-prompt__title{
    font-size: 14px;
  }
  .kv2-personal-setup-prompt__text{
    font-size: 11px;
    line-height: 1.4;
  }
  .kv2-personal-setup-prompt__actions{
    margin-top: 5px;
    gap: 6px;
    padding-bottom: 4px;
  }
}

/* Vuurwerkwoordenboek */
.woordenboek__toolbar{
  display:grid;
  gap:14px;
  margin:0 0 22px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(0,0,0,.24);
}
.woordenboek__search-label{
  display:block;
  margin:0 0 6px;
  font-weight:700;
  color:#fff;
}
.woordenboek__search{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.35);
  color:#fff;
  font:inherit;
}
.woordenboek__search::placeholder{
  color:rgba(255,255,255,.45);
}
.woordenboek__search-hint{
  margin:6px 0 0;
  font-size:.92rem;
}
.woordenboek__filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.woordenboek__filters .chip.is-active{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.35);
}
.woordenboek__empty{
  margin:0;
}
.woordenboek__alpha{
  margin:0 0 24px;
}
.woordenboek__alpha-title{
  margin:0 0 10px;
  font-size:1.35rem;
  font-weight:900;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.14);
  padding-bottom:6px;
}
.woordenboek__terms{
  display:grid;
  gap:12px;
}
.woordenboek__term{
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(0,0,0,.22);
}
.woordenboek__term-title{
  margin:0 0 6px;
  font-size:1.1rem;
}
.woordenboek__term-title a{
  color:#fff;
  text-decoration:none;
}
.woordenboek__term-title a:hover{
  text-decoration:underline;
  text-underline-offset:2px;
}
.woordenboek__term-kort{
  margin:0 0 6px;
  font-weight:600;
  color:rgba(255,255,255,.92);
}
.woordenboek__term-lang{
  margin:0 0 8px;
  color:rgba(255,255,255,.78);
  line-height:1.45;
}
.woordenboek__term-meta{
  margin:0;
  font-size:.92rem;
  color:rgba(255,255,255,.72);
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.woordenboek__term-more-wrap{
  margin:8px 0 0;
}
.woordenboek__term-more{
  color:#8ec6ff;
  text-decoration:none;
  font-weight:600;
}
.woordenboek__term-more:hover{
  text-decoration:underline;
}
.woordenboek--detail .woordenboek__detail-head{
  margin-bottom:16px;
}
.woordenboek__detail-kort{
  margin:8px 0 0;
  font-size:1.05rem;
  font-weight:600;
  color:rgba(255,255,255,.92);
}
.woordenboek__detail-meta{
  margin:10px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.woordenboek__detail-photo{
  margin:0 0 16px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
}
.woordenboek__detail-photo img{
  display:block;
  width:100%;
  height:auto;
}
.woordenboek__detail-photo figcaption{
  padding:8px 10px;
  font-size:.9rem;
  color:rgba(255,255,255,.75);
  background:rgba(0,0,0,.35);
}
.woordenboek__detail-body{
  margin-top:8px;
}
.woordenboek__back{
  margin-top:20px;
}

/* Vuurwerkshows: show detail + video */
.kv2-video-embed{
  position:relative;
  padding-top:56.25%;
  border-radius:12px;
  overflow:hidden;
  background:#000;
}
.kv2-video-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.kermis-hero__pill--danger{
  background:linear-gradient(90deg,#b83232,#d44a4a);
  box-shadow:0 6px 16px rgba(180,40,40,.35), inset 0 0 0 1px rgba(255,255,255,.25);
}
.kermis-hero__pill--warn{
  background:linear-gradient(90deg,#c45a12,var(--accent));
  box-shadow:0 6px 16px rgba(var(--accent-rgb),.35), inset 0 0 0 1px rgba(255,255,255,.25);
}
.kermis-hero__pill--muted{
  background:linear-gradient(90deg,#4a5568,#6b7280);
  box-shadow:0 6px 16px rgba(40,50,70,.35), inset 0 0 0 1px rgba(255,255,255,.25);
}

body.page--show-detail #show-hero,
body.page--show-detail #intro,
body.page--show-detail #evenement,
body.page--show-detail #praktische-info,
body.page--show-detail #kaart,
body.page--show-detail #fotos,
body.page--show-detail #stay22,
body.page--show-detail #buurt,
body.page--show-detail #wx-target,
body.page--show-detail #video{
  scroll-margin-top:96px;
}

/* Detailpagina: subtiele vuurwerk-achtergrond + levendigere blokken */
body.page--show-detail{
  background:#05070e;
}
body.page--show-detail .page-bg{
  background-image:url('/assets/img/bg-page-2.webp');
  filter:saturate(105%) brightness(.55) contrast(1.05);
  opacity:.16;
}
@media (max-width:720px){
  body.page--show-detail .page-bg{
    background-image:url('/assets/img/bg-page-2.m.webp');
    opacity:.12;
  }
}
body.page--show-detail .content-wrapper{
  position:relative;
  z-index:1;
  background:transparent;
  padding-top:18px;
  padding-bottom:28px;
}
body.page--show-detail .detail-block{
  position:relative;
  background:
    linear-gradient(155deg, rgba(42,95,158,.14), transparent 42%),
    linear-gradient(180deg, rgba(18,20,30,.94), rgba(10,12,20,.96));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 14px 36px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.06);
}
body.page--show-detail .detail-block .h-title,
body.page--show-detail .detail-block .h-underline{
  color:#fff;
}
body.page--show-detail .kv2-deflist > div{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.12);
}
body.page--show-detail .snellinks{
  margin:14px 0 8px;
}
body.page--show-detail .snellinks .chip{
  background:rgba(0,0,0,.42);
  border-color:rgba(255,255,255,.16);
}