/* Kermis detailpagina: page-specifieke optimalisaties en ad guards. */

/* Onder-de-vouw blokken later renderen voor lagere init-kosten op mobiel. */
@supports (content-visibility: auto) {
  body.page--kermis #stay22,
  body.page--kermis #kaart,
  body.page--kermis #video,
  body.page--kermis #video-2,
  body.page--kermis #webcam,
  body.page--kermis #webcam-2,
  body.page--kermis #nieuws,
  body.page--kermis #activiteitenprogramma,
  body.page--kermis #attracties,
  body.page--kermis #fotos,
  body.page--kermis #kermiskrant,
  body.page--kermis #overnachten,
  body.page--kermis #buurt,
  body.page--kermis #meer-kermis-gemeente,
  body.page--kermis #wijzigingen-aanvullingen,
  body.page--kermis #kermis-wiki-faq,
  body.page--kermis #edities,
  body.page--kermis #geschiedenis,
  body.page--kermis #populariteit-kermisnu,
  body.page--kermis #parkeer-reisinformatie,
  body.page--kermis #handig {
    content-visibility: auto;
    contain-intrinsic-size: 700px;
  }
}

/* Detail top-ad scrollbar guards (iframes met 1-2px rounding overflow). */
body.page--kermis .adblock.ad-detail-top,
body.page--kermis main.detail-grid .adblock.ad-detail-top,
body.page--kermis .adblock.ad-detail-between,
body.page--kermis main.detail-grid .adblock.ad-detail-between{
  overflow: hidden;
}
body.page--kermis .adblock.ad-detail-top ins.adsbygoogle,
body.page--kermis main.detail-grid .adblock.ad-detail-top ins.adsbygoogle,
body.page--kermis .adblock.ad-detail-between ins.adsbygoogle,
body.page--kermis main.detail-grid .adblock.ad-detail-between ins.adsbygoogle{
  overflow: hidden;
}
body.page--kermis .adblock.ad-detail-top iframe,
body.page--kermis main.detail-grid .adblock.ad-detail-top iframe,
body.page--kermis .adblock.ad-detail-between iframe,
body.page--kermis main.detail-grid .adblock.ad-detail-between iframe{
  display:block !important;
  border:0 !important;
  overflow:hidden !important;
}

/* Sommige templates gebruiken ad-home-top class op detail top-ad. */
body.page--kermis .adblock.ad-home-top,
body.page--kermis main.detail-grid .adblock.ad-home-top{
  overflow: hidden;
  line-height: 0;
}
body.page--kermis .adblock.ad-home-top ins.adsbygoogle,
body.page--kermis main.detail-grid .adblock.ad-home-top ins.adsbygoogle{
  overflow: hidden;
}
body.page--kermis .adblock.ad-home-top iframe,
body.page--kermis main.detail-grid .adblock.ad-home-top iframe{
  display:block !important;
  border:0 !important;
  overflow:hidden !important;
}

/* Kermisdetail: breadcrumb (NL/BE/DE: zelfde geo-volgorde als technische info). */
body.page--kermis .kv2-breadcrumb{
  padding:10px 18px 6px;
  font-size:0.9rem;
  line-height:1.35;
  opacity:0.92;
  box-sizing:border-box;
}
body.page--kermis .kv2-breadcrumb--below-hero{
  padding-top:14px;
  padding-bottom:10px;
  margin-top:0;
}
body.page--kermis .page-header--kermis-intro{
  padding-top: 0;
  padding-bottom: 0;
}
body.page--kermis .page-header--kermis-intro .page-intro{
  margin: 0;
  padding: 10px 0 10px;
}
body.page--kermis .page-header--kermis-intro .page-title--in-intro{
  margin: 0 0 8px;
  font-size: clamp(19px, 2.2vw, 25px);
  line-height: 1.22;
  opacity: .9;
}
/* Breadcrumb direct onder page-header, boven advertentieblok. */
body.page--kermis .wrapper > .ad-explain {
  margin-top: 6px;
  margin-bottom: 12px;
  text-align: right;
  font-size: 0.72rem;
  line-height: 1.35;
}

body.page--kermis .wrapper > .ad-explain a {
  color: rgba(200, 200, 210, 0.72);
  text-decoration: none;
  font-weight: 500;
}

body.page--kermis .wrapper > .ad-explain a:hover {
  color: rgba(220, 220, 230, 0.92);
  text-decoration: underline;
}

body.page--kermis main.detail-grid > .ad-explain.kv2-ad-desktop-only {
  margin-top: 6px;
  margin-bottom: 12px;
  text-align: right;
  font-size: 0.72rem;
  line-height: 1.35;
}

body.page--kermis main.detail-grid > .ad-explain.kv2-ad-desktop-only a {
  color: rgba(200, 200, 210, 0.72);
  text-decoration: none;
  font-weight: 500;
}

body.page--kermis main.detail-grid > .ad-explain.kv2-ad-desktop-only a:hover {
  color: rgba(220, 220, 230, 0.92);
  text-decoration: underline;
}

body.page--kermis #praktische-info .hl-logo--pi {
  float: none;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: none;
  margin: 14px auto 16px;
}

body.page--kermis #praktische-info .hl-logo--pi .hl-logo__img {
  width: min(180px, 52vw);
  max-width: 180px;
}

body.page--kermis .kv2-breadcrumb-below-header{
  padding: 10px 0 12px;
  box-sizing: border-box;
}
body.page--kermis .kv2-breadcrumb--below-page-header{
  padding: 0;
  font-size: .82rem;
  opacity: .88;
  text-align: center;
}
body.page--kermis .kv2-breadcrumb--below-page-header .kv2-breadcrumb__list{
  justify-content: center;
}
body.page--kermis .page-header--kermis-intro .page-intro p{
  font-size: .94rem;
  line-height: 1.58;
  margin-bottom: 10px;
}
body.page--kermis .page-header--kermis-intro .page-intro p:last-child{
  margin-bottom: 0;
}
body.page--kermis .kv2-breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.35em 0.45em;
  list-style:none;
  margin:0;
  padding:0;
}
body.page--kermis .kv2-breadcrumb--above-detail{
  padding: 8px 0 6px;
  text-align: left;
}
body.page--kermis .kv2-breadcrumb--above-detail .kv2-breadcrumb__list{
  justify-content: flex-start;
}
body.page--kermis .kv2-breadcrumb__item{
  display:inline-flex;
  align-items:center;
}
body.page--kermis .kv2-breadcrumb__item:not(:last-child)::after{
  content:'›';
  margin-left:0.4em;
  opacity:0.65;
  font-weight:500;
}
body.page--kermis .kv2-breadcrumb__link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.22);
}
body.page--kermis .kv2-breadcrumb__link:hover{
  border-bottom-color:rgba(255,255,255,.45);
}
body.page--kermis .kv2-breadcrumb__current{
  font-weight:600;
  opacity:1;
}

/* Kermis detailpagina: AdSense niet breder dan kolom/viewport. */
body.page--kermis main.detail-grid{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

/* Introblok: subtiele snellinks onder de H2 */
body.page--kermis .kv2-intro-quicklinks{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.15em 0.35em;
  margin:-4px 0 14px;
  padding:0;
  font-size:0.8125rem;
  line-height:1.45;
  font-weight:500;
  letter-spacing:0.01em;
  color:rgba(255,255,255,.52);
}
body.page--kermis #praktische-info .kv2-intro-quicklinks--in-pi{
  display:none;
}
body.page--kermis #intro .kv2-intro-quicklinks--in-intro{
  display:flex;
}
body.page--kermis .kv2-intro-quicklinks__sep{
  opacity:0.45;
  user-select:none;
}
body.page--kermis .kv2-intro-quicklinks__link{
  color:rgba(255,255,255,.68);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.14);
  transition:color .15s ease, border-color .15s ease;
}
body.page--kermis .kv2-intro-quicklinks__link:hover{
  color:rgba(255,255,255,.95);
  border-bottom-color:rgba(255,160,90,.42);
}

/* Intro: H2 — paars-oranje accentlijn (zelfde als Praktische informatie); H3 in tekst houdt dunne grijze lijn. */
body.page--kermis #intro .h-underline{
  display: inline-flex;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
  padding-bottom: 12px;
}
body.page--kermis #intro .h-underline::after{
  left: 0;
  width: min(88px, 28vw);
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--brand-2, #7dd3ea), var(--accent, #d4a84b));
  opacity: 0.9;
  right: auto;
  transform: none;
}
body.page--kermis #intro .h-underline.h-underline--with-icon{
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  width: auto;
  max-width: 100%;
}
body.page--kermis #intro .h-underline.h-underline--with-icon .kv2-section-icon{
  flex-shrink: 0;
}
body.page--kermis #intro .hl-about__text h2,
body.page--kermis #intro .hl-about__text h3{
  position: relative;
  z-index: 1;
  padding-bottom: 11px;
}
body.page--kermis #intro .hl-about__text h2::after,
body.page--kermis #intro .hl-about__text h3::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.22);
  pointer-events: none;
}

/* Intro: sfeerfoto's inline na de 1e, 4e, 7e alinea … */
body.page--kermis #intro .kv2-intro-photo{
  float: right;
  width: 240px;
  max-width: 42%;
  margin: 2px 0 14px 18px;
  clear: right;
  position: relative;
  z-index: 4;
}
body.page--kermis .kv2-intro-photo__wrap.kv2-gallery{
  display: block;
  padding: 0;
  border-radius: 0;
  grid-template-columns: none;
}
body.page--kermis .kv2-intro-photo__card{
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.22);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  position: relative;
  z-index: 1;
}
body.page--kermis #intro .kv2-intro-photo__card--with-actions .kv2-intro-photo__item:hover{
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
body.page--kermis .kv2-intro-photo__item{
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
  border: none;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  transition: transform 0.15s ease;
}
body.page--kermis #intro .kv2-intro-photo__card:not(.kv2-intro-photo__card--with-actions) .kv2-intro-photo__item{
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.22);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
body.page--kermis #intro .kv2-intro-photo__card:not(.kv2-intro-photo__card--with-actions) .kv2-intro-photo__item:hover{
  transform: translateY(-2px);
  border-color: rgba(160, 110, 255, 0.28);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.24);
}
body.page--kermis .kv2-intro-photo__card--with-actions:hover{
  border-color: rgba(160, 110, 255, 0.28);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.24);
}
body.page--kermis .kv2-intro-photo__card--with-actions .kv2-intro-photo__item:hover{
  transform: scale(1.01);
}
body.page--kermis .kv2-intro-photo__actions{
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
  z-index: 3;
}
body.page--kermis .kv2-intro-photo__action{
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.38);
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
  letter-spacing: 0.01em;
  transition: background 0.2s ease, color 0.2s ease;
}
body.page--kermis .kv2-intro-photo__action:hover{
  background: rgba(249, 123, 10, 0.28);
  color: #fff !important;
}
body.page--kermis .kv2-intro-photo__action--video{
  background: rgba(20, 20, 20, 0.45);
}
body.page--kermis .kv2-intro-photo__action--video:hover{
  background: rgba(160, 110, 255, 0.28);
}
body.page--kermis .kv2-intro-photo__action--upload{
  background: rgba(20, 36, 24, 0.5);
}
body.page--kermis .kv2-intro-photo__action--upload:hover{
  background: rgba(38, 122, 53, 0.35);
}
body.page--kermis .kv2-intro-photo__img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #111;
}
body.page--kermis .kv2-intro-photo__credit{
  position: absolute;
  right: 3px;
  bottom: 3px;
  max-width: calc(100% - 10px);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  text-align: right;
  font-size: 9px;
  line-height: 1.25;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.93);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.88);
  pointer-events: none;
  z-index: 2;
  padding: 2px 5px 3px 10px;
}
body.page--kermis .kv2-intro-photo__credit--commons,
body.page--kermis .kv2-intro-fill__credit--commons{
  pointer-events: auto;
}
body.page--kermis .kv2-intro-photo__credit--commons a,
body.page--kermis .kv2-intro-fill__credit--commons a{
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 1px;
}
body.page--kermis .kv2-intro-photo__credit::before,
body.page--kermis .kv2-intro-fill__credit::before{
  content: '';
  position: absolute;
  inset: -14px -18px -16px -52px;
  background: radial-gradient(ellipse 110% 110% at 100% 100%, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.58) 42%, transparent 78%);
  pointer-events: none;
  z-index: -1;
}
body.page--kermis .kv2-intro-photo__credit-line{
  display: block;
}
body.page--kermis .kv2-intro-photo__item{
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
body.page--kermis .kv2-intro-photo__item .kv2-gallery__zoom svg{
  width: 28px;
  height: 28px;
}
body.page--kermis #intro .kv2-intro-photo--empty{
  width: 148px;
  max-width: 38%;
  isolation: isolate;
  z-index: 5;
}
body.page--kermis .kv2-intro-photo__empty-link{
  display: block;
  padding: 10px 10px 11px;
  border-radius: 12px;
  border: 1px dashed rgba(100, 200, 130, 0.38);
  background: #14141f;
  color: rgba(210, 240, 218, 0.92);
  text-decoration: none !important;
  text-align: center;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
body.page--kermis .kv2-intro-photo__empty-link:hover{
  border-color: rgba(120, 220, 150, 0.55);
  background: #182a20;
  color: #fff;
}
body.page--kermis .kv2-intro-photo__empty-punct{
  display: none;
}
@media (min-width: 981px){
  body.page--kermis .kv2-intro-photo__empty-punct{
    display: inline;
  }
}
body.page--kermis .kv2-intro-photo__empty-icon{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto 6px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.2);
  color: rgba(255, 255, 255, 0.62);
}
body.page--kermis .kv2-intro-photo__empty-icon svg{
  width: 1.35rem;
  height: 1.35rem;
  display: block;
}
body.page--kermis .kv2-intro-photo__empty-text{
  display: block;
  font-size: 0.72rem;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0.01em;
}
body.page--kermis .kv2-pi-mobile-photo-hero{
  display: none;
}
@media (max-width: 980px){
  body.page--kermis #intro .kv2-intro-photo{
    float: none;
    width: min(72%, 260px);
    max-width: 72%;
    margin: 8px auto 14px;
    clear: none;
  }
  body.page--kermis #intro .kv2-intro-photo--slot-first{
    display: none !important;
  }
  body.page--kermis #intro .kv2-intro-photo--empty.kv2-intro-photo--slot-first{
    display: none !important;
  }
  body.page--kermis #intro .kv2-intro-photo--empty:not(.kv2-intro-photo--slot-first){
    width: min(58%, 200px);
    max-width: 58%;
    margin-top: 6px;
    margin-bottom: 12px;
  }
  body.page--kermis .kv2-pi-mobile-photo-hero{
    display: block;
    grid-column: 1 / -1;
    margin: 2px 0 12px;
  }
  body.page--kermis .kv2-pi-mobile-photo-hero .kv2-intro-photo{
    float: none;
    width: min(78%, 280px);
    max-width: 78%;
    margin: 0 auto;
    clear: none;
  }
  body.page--kermis .kv2-pi-mobile-photo-hero .kv2-intro-photo--empty{
    width: min(68%, 220px);
    max-width: 68%;
  }
}

body.page--kermis #praktische-info #openingstijden{
  scroll-margin-top:88px;
}

/* Mobiel: geen intro-fotovuller (kolommen stapelen). */
@media (max-width: 980px){
  body.page--kermis #intro .kv2-intro-fill-desktop{
    display:none !important;
  }

  /* Praktische info vóór intro; snelkoppelingen in #praktische-info boven de H2. */
  body.page--kermis main.detail-grid{
    display:flex;
    flex-direction:column;
  }
  body.page--kermis main.detail-grid > #praktische-info{
    order:1;
  }
  body.page--kermis main.detail-grid > .kv2-ad-mobile-only{
    order:2;
  }
  body.page--kermis main.detail-grid > #intro{
    order:3;
    scroll-margin-top:88px;
  }
  body.page--kermis main.detail-grid > .detail-masonry,
  body.page--kermis main.detail-grid > *:not(#praktische-info):not(#intro):not(.kv2-ad-mobile-only){
    order:10;
  }
  body.page--kermis #praktische-info .kv2-intro-quicklinks--in-pi{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px 10px;
    margin:0 0 22px;
  }
  body.page--kermis #praktische-info .kv2-intro-quicklinks--in-pi .kv2-intro-quicklinks__sep{
    display:none;
  }
  body.page--kermis #praktische-info .kv2-intro-quicklinks--in-pi .kv2-intro-quicklinks__link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 13px;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:0.01em;
    text-decoration:none;
    color:#fff;
    background:linear-gradient(180deg, rgba(99, 102, 241, 0.72), rgba(79, 70, 229, 0.82));
    border:1px solid rgba(165, 180, 252, 0.55);
    border-radius:999px;
    box-shadow:0 2px 10px rgba(15, 10, 40, 0.28);
    -webkit-tap-highlight-color:transparent;
  }
  body.page--kermis #praktische-info .kv2-intro-quicklinks--in-pi .kv2-intro-quicklinks__link:hover,
  body.page--kermis #praktische-info .kv2-intro-quicklinks--in-pi .kv2-intro-quicklinks__link:focus-visible{
    color:#fff;
    border-color:rgba(199, 210, 254, 0.85);
    background:linear-gradient(180deg, rgba(129, 140, 248, 0.88), rgba(99, 102, 241, 0.92));
    outline:none;
  }
  body.page--kermis #praktische-info .kv2-intro-quicklinks--in-pi .kv2-intro-quicklinks__link:active{
    color:#fff;
    border-color:rgba(165, 180, 252, 0.7);
    background:linear-gradient(180deg, rgba(79, 70, 229, 0.92), rgba(67, 56, 202, 0.95));
    box-shadow:0 1px 6px rgba(15, 10, 40, 0.22);
  }
  body.page--kermis #intro .kv2-intro-quicklinks--in-intro{
    display:none !important;
  }
}

/* Detail-ad tussen intro en praktische info: alleen mobiel. */
@media (min-width: 981px){
  body.page--kermis .kv2-ad-mobile-only{
    display:none !important;
  }
}
@media (max-width: 980px){
  body.page--kermis .kv2-ad-desktop-only{
    display:none !important;
  }
}

/* Desktop: intro-kolom rekt mee met praktische info; extra hoogte vullen met doorlopende foto’s onder countdown. */
@media (min-width: 981px){
  body.page--kermis main.detail-grid{
    align-items:stretch;
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill{
    display:flex;
    flex-direction:column;
    min-height:0;
    align-self:stretch;
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill > .kv2-intro__top{
    flex:0 0 auto;
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill > .kv2-intro-fill-desktop{
    flex:1 1 auto;
    min-height:0;
    margin-top:12px;
    display:flex;
    flex-direction:column;
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill .kv2-intro-fill-desktop__inner{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:8px;
    width:100%;
  }
  /* Lichtbox gebruikt .kv2-gallery__item; basis-.kv2-gallery is een 3-koloms grid — hier één kolom. */
  body.page--kermis #intro.kv2-intro-detail-block--fill .kv2-intro-fill-desktop__inner.kv2-gallery{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:0;
    border-radius:0;
    grid-template-columns:none;
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill > .adblock,
  body.page--kermis #intro.kv2-intro-detail-block--fill > .ad-explain,
  body.page--kermis #intro.kv2-intro-detail-block--fill > #wx-block{
    flex:0 0 auto;
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill .kv2-gallery__item.kv2-intro-fill__figure{
    cursor: pointer;
    margin:0;
    padding:0;
    width:100%;
    flex:0 0 auto;
    position:relative;
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(0,0,0,.22);
    aspect-ratio:16 / 9;
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill .kv2-gallery__item.kv2-intro-fill__figure:hover .kv2-intro-fill__img{
    transform:scale(1.02);
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill .kv2-intro-fill__img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .22s ease;
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill .kv2-intro-fill__credit{
    position:absolute;
    right:3px;
    bottom:3px;
    max-width:calc(100% - 10px);
    margin:0;
    padding:2px 5px 3px 10px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:2px;
    text-align:right;
    font-size:9px;
    line-height:1.25;
    font-weight:600;
    color:rgba(255,255,255,.93);
    text-shadow:0 1px 4px rgba(0,0,0,.88);
    pointer-events:none;
    z-index:2;
  }
  body.page--kermis #intro.kv2-intro-detail-block--fill .kv2-intro-fill__credit-line{
    display:block;
  }
}

/* Desktop: praktische-info-kolom rekt mee; extra hoogte onderaan vullen met foto’s (zelfde bron als intro-fill). */
@media (max-width: 980px){
  body.page--kermis #praktische-info .kv2-pi-fill-desktop{
    display:none !important;
  }
}
@media (min-width: 981px){
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill{
    display:flex;
    flex-direction:column;
    min-height:0;
    align-self:stretch;
  }
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill > .kv2-pi__top{
    flex:0 0 auto;
  }
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill > .kv2-pi-fill-desktop{
    flex:1 1 auto;
    min-height:0;
    margin-top:12px;
    display:flex;
    flex-direction:column;
  }
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill .kv2-pi-fill-desktop__inner{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:8px;
    width:100%;
  }
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill .kv2-pi-fill-desktop__inner.kv2-gallery{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:0;
    border-radius:0;
    grid-template-columns:none;
  }
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill .kv2-gallery__item.kv2-intro-fill__figure{
    cursor: pointer;
    margin:0;
    padding:0;
    width:100%;
    flex:0 0 auto;
    position:relative;
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(0,0,0,.22);
    aspect-ratio:16 / 9;
  }
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill .kv2-gallery__item.kv2-intro-fill__figure:hover .kv2-intro-fill__img{
    transform:scale(1.02);
  }
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill .kv2-intro-fill__img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .22s ease;
  }
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill .kv2-intro-fill__credit{
    position:absolute;
    right:3px;
    bottom:3px;
    max-width:calc(100% - 10px);
    margin:0;
    padding:2px 5px 3px 10px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:2px;
    text-align:right;
    font-size:9px;
    line-height:1.25;
    font-weight:600;
    color:rgba(255,255,255,.93);
    text-shadow:0 1px 4px rgba(0,0,0,.88);
    pointer-events:none;
    z-index:2;
  }
  body.page--kermis #praktische-info.kv2-pi-detail-block--fill .kv2-intro-fill__credit-line{
    display:block;
  }
}

body.page--kermis .detail-block.detail-stay22{
  grid-column: 1 / -1;
}

body.page--kermis .detail-block.detail-stay22.stay22-photo-bg::before,
body.page--kermis .detail-block.detail-stay22.stay22-photo-bg::after{
  border-radius: inherit;
}
body.page--kermis .wrapper .adblock,
body.page--kermis main.detail-grid .adblock{
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
  box-sizing:border-box;
}
body.page--kermis .wrapper .adblock ins.adsbygoogle,
body.page--kermis main.detail-grid .adblock ins.adsbygoogle{
  max-width:100% !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
body.page--kermis .wrapper .adblock iframe,
body.page--kermis main.detail-grid .adblock iframe{
  max-width:100% !important;
}

/* Mobiel/tablet: detail-ads rand-tot-rand. */
@media (max-width: 980px){
  body.page--kermis .detail-block.detail-block--ad-edge{
    padding-left: 0;
    padding-right: 0;
  }

  body.page--kermis .adblock.ad-mobile-edge{
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow-x: hidden;
    text-align: left;
  }

  body.page--kermis .adblock.ad-mobile-edge ins.adsbygoogle{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.page--kermis .detail-block.detail-block--ad-edge .ad-explain{
    padding-left: 12px;
    padding-right: 12px;
  }

  body.page--kermis .detail-block{
    overflow: visible;
  }
}

/* Boven Locatie & kaart: altijd kolombreed en op mobiel rand-tot-rand. */
body.page--kermis .adblock.ad-mobile-edge--map{
  width: 100%;
  max-width: 100%;
}

@media (max-width: 980px){
  body.page--kermis .adblock.ad-mobile-edge--map{
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  body.page--kermis .detail-stay22 .stay22-wrap{
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-radius: 0;
  }

  body.page--kermis .detail-stay22 .stay22-lazy,
  body.page--kermis .detail-stay22 .stay22-lazy iframe{
    border-radius: 0;
  }

  /* Weerblok en kaart visueel rand-tot-rand op mobiel. */
  body.page--kermis #wx-target .kv2-weather,
  body.page--kermis #kaart .map-lazy{
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  body.page--kermis #wx-target .kv2-weather{
    border-radius: 0;
  }

  body.page--kermis #kaart .map-lazy__viewport,
  body.page--kermis #kaart .map-lazy__iframe-wrap{
    border-radius: 0;
  }
}

body.page--kermis main .detail-block .pi-muted strong{
  color: #fff;
  font-weight: 700;
}

body.page--kermis .detail-stay22 .pi-muted .kv2-detail-highlight,
body.page--kermis .detail-stay22 .kv2-detail-highlight{
  font-weight: 700;
  color: #b8b8ff;
}

body.page--kermis .pi-item--stay22 .pi-stay22-link__guests .bi{
  color: #b8b8ff;
}

/* Locatie: "Kaart"-knop rechtsboven in het vakje (naast de titel) i.p.v. onder de tekst */
body.page--kermis .pi-item--locatie .pi-loc-thumb,
body.page--kermis .pi-loc-thumb--place,
body.page--kermis .pi-loc-thumb--bar{
  display: block;
  overflow: hidden;
  background: #111;
  border: 1px solid rgba(255,255,255,.12);
  cursor: zoom-in;
}
body.page--kermis .pi-item--locatie .pi-loc-thumb{
  flex: 0 0 auto;
  width: 96px;
  height: 64px;
  border-radius: 8px;
}
body.page--kermis .pi-item--locatie .pi-loc-thumb img,
body.page--kermis .pi-loc-thumb--place img,
body.page--kermis .pi-loc-thumb--bar img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.page--kermis .pi-head .pi-loc-thumb--place{
  flex: 0 0 auto;
  width: 88px;
  height: 64px;
  border-radius: 8px;
}
body.page--kermis .pi-head .pi-place{
  flex: 1 1 auto;
  min-width: 0;
}
body.page--kermis .pi-grid > .pi-loc-thumb--bar{
  display: none;
  grid-column: 1 / -1;
  width: 100%;
  height: 72px;
  border-radius: 12px;
}
@media (max-width: 719px){
  body.page--kermis .pi-item--locatie .pi-loc-thumb--inline{
    display: none;
  }
  body.page--kermis .pi-grid > .pi-loc-thumb--bar{
    display: block;
  }
  body.page--kermis .pi-head .pi-loc-thumb--place{
    width: 72px;
    height: 52px;
  }
}
body.page--kermis .pi-item--locatie .pi-loc-actions{
  position: absolute;
  top: 4px;
  right: 12px;
  margin: 0;
  width: auto;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
/* Titel-ruimte vrijhouden zodat de "Kaart"-knop naast "Locatie" past */
body.page--kermis .pi-item--locatie .pi-k{
  padding-right: 68px;
}

/* Mobiel: compacte pi-velden (Locatie/Evenement, Formaat/Feestdag/vakantie) 50-50 naast elkaar
   i.p.v. elk een volle regel. Overige velden blijven volle breedte. */
@media (max-width: 719px){
  body.page--kermis .pi-grid{
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: row dense;
  }
  body.page--kermis .pi-grid > .pi-item{
    grid-column: 1 / -1;
  }
  body.page--kermis .pi-grid > .pi-item--half{
    grid-column: span 1;
  }
}

/* Detailpagina: één pi-muted-niveau onder sectietitels (alleen lead-alinea's, geen inline spans in pi-grid) */
body.page--kermis main p.pi-muted,
body.page--kermis main .detail-block > p.pi-muted{
  opacity: .86;
  margin-left: 0;
  margin-bottom: .85rem;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, .86);
}
body.page--kermis main .detail-block .pi-muted p{
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}
body.page--kermis main .detail-block .pi-muted .kv2-seo-stat-num,
body.page--kermis main .detail-block .pi-muted strong.kv2-seo-stat-num{
  color: #fff;
}
/* Nadruk in detailteksten: overal dezelfde rustige tint */
body.page--kermis .kv2-attracties .pi-muted .kv2-detail-highlight,
body.page--kermis #intro .hl-about__text .kv2-detail-highlight,
body.page--kermis #intro .hl-about__text strong.kv2-detail-highlight,
body.page--kermis #intro .hl-about__text strong,
body.page--kermis #intro .hl-about__text a .kv2-detail-highlight,
body.page--kermis #intro .hl-about__text a strong,
body.page--kermis #buurt .pi-muted .kv2-detail-highlight,
body.page--kermis #buurt .pi-muted a .kv2-detail-highlight,
body.page--kermis .kv2-popularity-block .pi-muted .kv2-detail-highlight,
body.page--kermis .kv2-popularity-block .kv2-detail-highlight,
body.page--kermis main .detail-block .pi-muted .kv2-detail-highlight,
body.page--kermis main .detail-block .pi-muted a .kv2-detail-highlight{
  font-weight: 800;
  color: #b8b8ff;
}

/* Muted SEO-teksten op donkere detailondergrond: links wit i.p.v. paars */
body.page--kermis main p.pi-muted a{
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.page--kermis main p.pi-muted a:hover{
  color: rgba(255,255,255,.94);
}

body.page--kermis #meer-kermis-gemeente .kv2-gemeente-kermis-list a{
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.page--kermis #meer-kermis-gemeente .kv2-gemeente-kermis-list a:hover{
  color: rgba(255,255,255,.94);
}
body.page--kermis #meer-kermis-gemeente .kv2-gemeente-kermis-list__current{
  color: rgba(255, 255, 255, .92);
  font-weight: 700;
}
body.page--kermis #meer-kermis-gemeente .kv2-gemeente-kermis-list__here{
  font-weight: 600;
  color: rgba(255, 255, 255, .62);
}

body.page--kermis .kv2-seo-stat-num{
  font-size: 1.15em;
  font-weight: 800;
  color: #fff;
}
body.page--kermis #buurt .kv2-seo-stat-num,
body.page--kermis #meer-kermis-gemeente .kv2-seo-stat-num,
body.page--kermis #buurt .pi-muted .kv2-seo-stat-num,
body.page--kermis #meer-kermis-gemeente .pi-muted .kv2-seo-stat-num,
body.page--kermis #meer-kermis-gemeente .pi-muted strong.kv2-seo-stat-num{
  font-size: 1.28em;
  font-weight: 800;
  color: #b8b8ff;
}

body.page--kermis .kv2-detail-softcta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  font-weight: 800;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.38);
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(0,0,0,.28);
  font-size: 15px;
  line-height: 1.2;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.page--kermis .kv2-detail-softcta:hover{
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.55);
  color: #fff;
  box-shadow: 0 10px 26px rgba(0,0,0,.32);
}
body.page--kermis button.kv2-detail-softcta{
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
}

/* Kaart: OpenStreetMap-embed + compacte externe links (geen clip door vaste iframe-hoogte) */
body.page--kermis #kaart .kv2-location-photo{
  margin: 0 0 16px;
}
body.page--kermis #kaart .kv2-location-photo__open{
  display: block;
  cursor: zoom-in;
}
body.page--kermis #kaart .kv2-location-photo__img{
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 14px;
  display: block;
}
body.page--kermis #kaart .kv2-location-photo__credit{
  margin: 8px 2px 0;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255,255,255,.78);
}
body.page--kermis #kaart .kv2-location-photo__credit a{
  color: #cfe4ff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.page--kermis #kaart .map-lazy__frame{
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: visible;
  height: auto;
  min-height: 0;
}
body.page--kermis #kaart .map-lazy__iframe-wrap{
  flex: 0 0 auto;
  height: min(52vw, 300px);
  min-height: 240px;
  max-height: 320px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #22223a;
  background: rgba(0,0,0,.2);
}
body.page--kermis #kaart .map-lazy__iframe{
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.page--kermis #kaart .map-lazy__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
}
body.page--kermis #kaart .map-lazy__link{
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  text-decoration: none;
}
body.page--kermis #kaart .map-lazy__link:hover{
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.38);
  color: #fff;
}

body.page--kermis .kv2-gemeente-kermis-list{
  margin: 10px 0 0;
  padding-left: 1.2em;
  line-height: 1.5;
}
body.page--kermis #meer-kermis-gemeente .kv2-gemeente-kermis-list + p{
  margin-top: 10px;
}
body.page--kermis .kv2-nearby-more-wrap{
  margin-top: 18px;
  text-align: center;
}
body.page--kermis .kv2-nearby-extra[hidden]{
  display: none !important;
}

/* FAQ-blok op kermisdetail: zelfde patroon als page-meer .kv2-faq */
body.page--kermis .kv2-detail-faq-block .kv2-faq{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}
body.page--kermis .kv2-detail-faq-block .kv2-faq__item{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.24);
  border-radius: 14px;
  overflow: hidden;
}
body.page--kermis .kv2-detail-faq-block .kv2-faq__q{
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px;
  font-weight: 800;
  color: #fff;
}
body.page--kermis .kv2-detail-faq-block .kv2-faq__q::-webkit-details-marker{ display: none; }
body.page--kermis .kv2-detail-faq-block .kv2-faq__chev{
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(255,255,255,.7);
  border-bottom: 2px solid rgba(255,255,255,.7);
  transform: rotate(45deg);
  transition: transform .2s ease;
  margin-left: auto;
  flex-shrink: 0;
}
body.page--kermis .kv2-detail-faq-block .kv2-faq__item[open] .kv2-faq__chev{
  transform: rotate(-135deg);
}
body.page--kermis .kv2-detail-faq-block .kv2-faq__a{
  padding: 0 14px 14px;
  color: rgba(255,255,255,.82);
}
body.page--kermis .kv2-detail-faq-block .kv2-faq__a p{ margin: 10px 0 0; }
body.page--kermis .kv2-detail-faq-block .kv2-faq__a a{
  color: rgba(255,255,255,.92);
  text-decoration: underline;
}
body.page--kermis .kv2-detail-faq-block__more{
  margin-top: 14px;
  text-align: right;
}

/* Eventkaarten op kermis-detail gelijk aan home-theme. */
body.page--kermis .eventTextItem {
  --et-hover-shadow:0 12px 32px rgba(0,0,0,.22);
  border-radius: var(--kv2-radius-card);
  padding: 8px;
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(6px);
  transform: none;
  font-family: var(--font-event);
  transition: box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

body.page--kermis .eventTextItem:not(.is-promoted) {
  background: transparent;
  animation: none;
}

body.page--kermis .eventTextItem:not(.is-promoted):hover {
  transform: none;
  border-color: rgba(255,255,255,.20);
  background: rgba(255,255,255,.09);
}

body.page--kermis .eventTextItem .iconfield,
body.page--kermis .eventTextItem .placefield {
  background: transparent;
}

body.page--kermis .eventTextItem .iconfield {
  width: 40px;
  border-left-width: 5px;
  padding-left: 10px;
}

body.page--kermis .eventTextItem .placefield .placespan {
  color: rgba(255,255,255,.92);
  font-size: 17px;
  letter-spacing: .3px;
}

body.page--kermis .eventTextItem .placefield .placespan .km{
  font-size: 14px;
}

body.page--kermis .eventTextItem .placefield .eventname {
  color: rgba(255,255,255,.78);
  font-style: normal;
  font-size: 13px;
}

body.page--kermis .eventTextItem .placefield .eventname--with-eti{
  color: rgba(255,255,255,.78);
  font-style: normal;
}
@media (min-width:901px){
  body.page--kermis .eventTextItem .placefield .eventname,
  body.page--kermis .eventTextItem .placefield .eventname--with-eti{
    font-size:14px;
  }
}
body.page--kermis .eventTextItem .placefield .eti-distance--inline{
  color: rgba(255,255,255,.62);
}
body.page--kermis .eventTextItem .placefield .eti-distance--inline .distance-km{
  color: inherit;
}

body.page--kermis .eventTextItem .datefield {
  background: rgba(255,255,255,.08);
  border-radius: 10px;
  margin-top: 6px;
  padding: 6px 10px;
  color: rgba(255,255,255,.86);
  font-weight: 600;
  font-size: 15px;
}
body.page--kermis .eventTextItem .datefield strong{
  color:#ae44b1;
  font-weight:800;
}

body.page--kermis .eventTextItem .daysleftfield {
  border-left: 0;
  border-radius: 12px;
  width: 60px;
  font-size: 11px;
}
body.page--kermis .eventTextItem.futureEvent .daysleftfield {
  background: linear-gradient(135deg, rgba(170,49,174,.95), rgba(108,42,163,.95));
}
body.page--kermis .eventTextItem.currentEvent .daysleftfield {
  background: linear-gradient(135deg, rgba(60,179,113,.95), rgba(38,120,72,.95));
}
body.page--kermis .eventTextItem.pastEvent .daysleftfield {
  background: linear-gradient(135deg, rgba(154,154,154,.92), rgba(98,98,98,.92));
}
body.page--kermis .eventTextItem.is-promoted .daysleftfield,
body.page--kermis .eventTextItem.is-promoted.futureEvent .daysleftfield,
body.page--kermis .eventTextItem.is-promoted.currentEvent .daysleftfield,
body.page--kermis .eventTextItem.is-promoted.pastEvent .daysleftfield {
  background: #b78610;
}

body.page--kermis .eventTextItem .daysleftfield:after {
  display: none;
}

body.page--kermis .eventTextItem .daysleftfield .counting{
  font-size: 20px;
  font-weight: 800;
}

body.page--kermis .eventTextItem .daysleftfield .days__prefix,
body.page--kermis .eventTextItem .daysleftfield .days__unit,
body.page--kermis .eventTextItem .daysleftfield .days__suffix{
  font-size: 12px;
}

body.page--kermis .eventTextItem .daysleftfield .days__num{
  font-size: 21px;
}

body.page--kermis .eventTextItem::after,
body.page--kermis .eventTextItem::before{
  content: none !important;
  display: none !important;
}

@media (max-width: 640px){
  body.page--kermis .page-header--kermis-intro .page-title--in-intro{
    font-size: 20px;
  }
  body.page--kermis .page-header--kermis-intro .page-intro .wrapper{
    padding: 18px;
  }
  body.page--kermis .kv2-breadcrumb-below-header{
    padding: 8px 0 10px;
  }
  body.page--kermis .kv2-breadcrumb--below-page-header{
    font-size: .74rem;
  }
  body.page--kermis .page-header--kermis-intro .page-intro p{
    font-size: .84rem;
    line-height: 1.52;
  }
  body.page--kermis .kv2-breadcrumb:not(.kv2-breadcrumb--below-page-header){
    padding-left:max(14px, env(safe-area-inset-left, 0px));
    padding-right:max(14px, env(safe-area-inset-right, 0px));
    padding-top:6px;
    padding-bottom:2px;
    font-size:0.75rem;
    line-height:1.25;
  }
  body.page--kermis .kv2-breadcrumb--below-hero{
    padding-top:8px;
    padding-bottom:4px;
  }
  body.page--kermis .kv2-breadcrumb__list{
    gap:0.15em 0.25em;
  }
  body.page--kermis .kv2-breadcrumb__item:not(:last-child)::after{
    margin-left:0.22em;
    font-size:0.95em;
  }
}

/* Detailpagina: merk-header compacter, event-hero prominenter. */
body.page--kermis .site-header.compact{
  min-height: 360px;
}

body.page--kermis .site-header.compact .site-header__hero{
  padding: 44px 0 24px;
}

body.page--kermis .site-header.compact .site-header__inner{
  padding-top: 78px;
}

body.page--kermis .kermis-hero{
  min-height: clamp(420px, 52vw, 640px);
  height: clamp(420px, 52vw, 640px);
}

body.page--kermis .kermis-hero__inner{
  align-items: center;
  padding-top: clamp(24px, 5vw, 52px);
  padding-bottom: clamp(24px, 5vw, 52px);
}

body.page--kermis .kermis-hero__scrim{
  background:
    radial-gradient(560px 300px at 50% 52%, rgba(0,0,0,.34) 0%, rgba(0,0,0,.16) 60%, rgba(0,0,0,0) 100%),
    radial-gradient(680px 420px at 0% 0%, rgba(138,58,255,.30) 0%, rgba(138,58,255,0) 72%),
    radial-gradient(700px 440px at 100% 0%, rgba(103,36,201,.27) 0%, rgba(103,36,201,0) 74%),
    radial-gradient(860px 420px at 50% 100%, rgba(35,0,58,.28) 0%, rgba(35,0,58,0) 78%),
    linear-gradient(180deg, rgba(8,4,20,.10) 0%, rgba(8,4,20,.18) 42%, rgba(8,4,20,.46) 100%) !important;
}

body.page--kermis .kermis-hero__text{
  max-width: 980px;
  gap: 8px;
}

body.page--kermis .kermis-hero__over{
  font-size: clamp(13px, 1.05vw, 15px) !important;
  letter-spacing: .16em !important;
}

body.page--kermis .kermis-hero__title-sub{
  font-size: clamp(15px, 1.7vw, 24px) !important;
  max-width: 36ch;
  color:#fff !important;
}

body.page--kermis .kermis-hero__subtitle{
  font-size: clamp(17px, 2.1vw, 30px) !important;
  max-width: 36ch;
}

body.page--kermis .kermis-hero__pill{
  margin-top: 18px !important;
  padding: 12px 18px !important;
  font-size: 15px !important;
}

body.page--kermis .hero-hours-wrap{
  margin-top: 12px;
  gap: 8px;
}

body.page--kermis .hero-hours{
  background: none;
  border: none;
  backdrop-filter: none;
  text-shadow:
    0 0 10px rgba(0,0,0,.95),
    0 1px 2px rgba(0,0,0,.95),
    0 2px 18px rgba(0,0,0,.75);
}

@media (max-width: 900px){
  body.page--kermis .site-header.compact{
    min-height: 320px;
  }

  body.page--kermis .site-header.compact .site-header__hero{
    padding: 30px 0 14px;
  }

  body.page--kermis .site-header.compact .site-header__inner{
    padding-top: 70px;
  }

  body.page--kermis .kermis-hero{
    min-height: clamp(390px, 78vw, 560px);
    height: clamp(390px, 78vw, 560px);
  }
}

/* ——— Gepromote kermis: spotlight zoals reference / Aceternity (langzaam “aangaan”, geen snelle sweep)
   https://ui.aceternity.com/components/spotlight — conische straal vanuit hoek + zachte lichtvlek rond titel */

/* Alleen opacity: scale() op een wig zag eruit als een driehoek die naar rechts “schuift” */
@keyframes kv2HeroSpotBeamReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes kv2HeroSpotGlowReveal {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.65);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

body.page--kermis.kermis--promoted-spotlight .kermis-detail-spot{
  /* Geen 100vw-breakout: veroorzaakt horizontale overflow en verschuift o.a. de fixed site-header */
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 18px;
  box-sizing: border-box;
}

body.page--kermis.kermis--promoted-spotlight .kermis-detail-spot .kv2-spotlight-panel__body{
  display: block;
}

/* Geen muiscursor-spotlight op kermisdetail (alleen subtiele hoek-spots) */
body.page--kermis .kermis-detail-spot .kv2-spotlight-panel__cursor{
  display: none !important;
}

/* Iets transparantere blokken zodat de panel-spotlights zichtbaar blijven (zelfde idee als /uitgelicht/) */
body.kermis--promoted-spotlight .kermis-detail-spot main.detail-grid .detail-block{
  background: rgba(30, 30, 30, 0.72);
  border-color: rgba(255, 255, 255, 0.11);
}

/* Spotlight: alles binnen de hero knippen (geen “lekken” buiten de rand; slides/kenburns mee) */
body.page--kermis.kermis--promoted-spotlight .kermis-hero.kermis-hero--spotlight{
  overflow: hidden;
}

body.page--kermis.kermis--promoted-spotlight .kermis-hero--spotlight .kermis-hero__slides{
  overflow: hidden;
}

/* Spotlight over volle hero; brandpunt = SVG-lijn eindpunt (50,42) = glow-centrum */
body.page--kermis.kermis--promoted-spotlight .kermis-hero--spotlight .kermis-hero__acet-spotlight{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  --kv2-spot-focal-x: 50%;
  --kv2-spot-focal-y: 42%;
}

body.page--kermis.kermis--promoted-spotlight .kermis-hero--spotlight .kermis-hero__inner{
  position: relative;
  z-index: 1;
}

/* Zachte vlek onder de straal (DOM vóór .beam zodat de kern erboven blijft) */
body.page--kermis.kermis--promoted-spotlight .kermis-hero__acet-spotlight-glow{
  display: block;
  position: absolute;
  left: var(--kv2-spot-focal-x);
  top: var(--kv2-spot-focal-y);
  width: min(78%, 480px);
  height: min(46%, 260px);
  z-index: 1;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.65);
  transform-origin: center;
  opacity: 0;
  will-change: opacity, transform;
  mix-blend-mode: screen;
  filter: blur(16px);
  border-radius: 50%;
  background: radial-gradient(
    closest-side at 50% 50%,
    rgba(255, 255, 255, 0.68) 0%,
    rgba(255, 236, 205, 0.48) 38%,
    rgba(255, 200, 130, 0.22) 65%,
    rgba(255, 170, 90, 0.08) 85%,
    transparent 100%
  );
}

body.page--kermis.kermis--promoted-spotlight
  .kermis-hero--spotlight.kermis-hero--spotlight-inview
  .kermis-hero__acet-spotlight-glow{
  animation: kv2HeroSpotGlowReveal 1.85s cubic-bezier(0.25, 0.85, 0.35, 1) 0.85s forwards;
}

body.page--kermis.kermis--promoted-spotlight .kermis-hero__acet-spotlight-beam{
  display: block;
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: visible;
  opacity: 0;
  will-change: opacity;
}

/*
  Spotlight-kegel: gevulde SVG-polygonen + gradient langs de as (geen <line>/stroke → geen “laser”).
*/
body.page--kermis.kermis--promoted-spotlight .kermis-hero__acet-spotlight-beam-svg{
  display: block;
  width: 100%;
  height: 100%;
  /* viewBox 0–100 maar geometrie mag daarbuiten vallen; anders knipt de svg-viewport de brede kegel */
  overflow: visible;
  /* Sterker additief dan screen → merkbaar feller op donkere scrim/foto (brightness op <svg> helpt dan weinig) */
  mix-blend-mode: plus-lighter;
  /* Subtiel: echte boost zit in SVG feComponentTransfer op de kegel-filters */
  filter: contrast(1.12) saturate(1.08);
}

@supports not (mix-blend-mode: plus-lighter) {
  body.page--kermis.kermis--promoted-spotlight .kermis-hero__acet-spotlight-beam-svg{
    mix-blend-mode: screen;
    filter: contrast(1.14) saturate(1.12);
  }
}

body.page--kermis.kermis--promoted-spotlight .kermis-hero__spot-cone-inner,
body.page--kermis.kermis--promoted-spotlight .kermis-hero__spot-cone-apex,
body.page--kermis.kermis--promoted-spotlight .kermis-hero__spot-cone-spine{
  stroke: none;
}

body.page--kermis.kermis--promoted-spotlight
  .kermis-hero--spotlight.kermis-hero--spotlight-inview
  .kermis-hero__acet-spotlight-beam{
  animation: kv2HeroSpotBeamReveal 2.65s cubic-bezier(0.22, 0.85, 0.32, 1) 0.35s forwards;
}

@media (prefers-reduced-motion: reduce) {
  body.page--kermis.kermis--promoted-spotlight
    .kermis-hero--spotlight.kermis-hero--spotlight-inview
    .kermis-hero__acet-spotlight-beam{
    animation: none !important;
    opacity: 1;
  }
  body.page--kermis.kermis--promoted-spotlight
    .kermis-hero--spotlight.kermis-hero--spotlight-inview
    .kermis-hero__acet-spotlight-glow{
    animation: none !important;
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

/* Achtergrond: draaiende hoek-spotlights (wide panel) iets feller dan de standaard homepage-strip */
body.page--kermis.kermis--promoted-spotlight .kermis-detail-spot.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot{
  filter: blur(22px);
}

body.page--kermis.kermis--promoted-spotlight .kermis-detail-spot.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--1{
  background:
    radial-gradient(
      68.54% 68.72% at 55.02% 31.46%,
      hsla(48, 100%, 90%, 0.34) 0%,
      hsla(38, 96%, 62%, 0.2) 48%,
      hsla(32, 85%, 44%, 0) 80%
    ),
    radial-gradient(
      85% 95% at 38% 22%,
      hsla(44, 100%, 86%, 0.22) 0%,
      hsla(36, 90%, 50%, 0) 62%
    );
}

body.page--kermis.kermis--promoted-spotlight .kermis-detail-spot.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--2{
  background:
    radial-gradient(
      68.54% 68.72% at 44.98% 31.46%,
      hsla(48, 100%, 88%, 0.32) 0%,
      hsla(38, 94%, 60%, 0.18) 48%,
      hsla(32, 82%, 42%, 0) 80%
    ),
    radial-gradient(
      85% 95% at 62% 22%,
      hsla(44, 100%, 84%, 0.2) 0%,
      hsla(34, 88%, 48%, 0) 62%
    );
}

body.page--kermis.kermis--promoted-spotlight .kermis-detail-spot.kv2-spotlight-panel--wide .kv2-spotlight-panel__spot--3{
  background:
    radial-gradient(
      50% 50% at 50% 50%,
      hsla(46, 100%, 90%, 0.22) 0%,
      hsla(36, 88%, 56%, 0.12) 80%,
      hsla(30, 75%, 40%, 0) 100%
    ),
    radial-gradient(
      70% 88% at 50% 28%,
      hsla(42, 100%, 82%, 0.15) 0%,
      transparent 58%
    );
}

body.page--kermis.kermis--promoted-spotlight .kermis-hero__spotlight-kicker{
  margin: 0 0 10px;
  padding: 6px 14px;
  border-radius: 999px;
  font: 900 12px/1.1 var(--font-sans);
  letter-spacing: 0.32em;
  color: #1a1024;
  background: linear-gradient(90deg, #ffe8a8, #ffd56a 45%, #ffb24a);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.35) inset,
    0 4px 22px rgba(255, 200, 90, 0.45),
    0 8px 40px rgba(0, 0, 0, 0.35);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

body.page--kermis.kermis--promoted-spotlight .kermis-hero__text{
  position: relative;
  z-index: 2;
}

/* Vlag naast jaartal: plaatsnaam blijft visueel gecentreerd op de hoofdregel */
body.page--kermis .kermis-hero__title-sub{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.35em;
}

body.page--kermis .kermis-hero__title-sub .kermis-hero__flag{
  flex-shrink: 0;
  margin-top: 0.06em;
}

/* Snellinks activiteiten in hero: sterker contrast + hover */
body.kermis--promoted-spotlight .hero-acts__chip{
  font-size: 13px;
  padding: 9px 14px;
  border-width: 1px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    background 0.18s ease;
}
body.kermis--promoted-spotlight .hero-acts__chip:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.55);
}
body.kermis--promoted-spotlight .hero-acts__chip.is-today{
  background: linear-gradient(135deg, rgba(255, 122, 26, 0.92), rgba(200, 60, 0, 0.88));
  border-color: rgba(255, 210, 160, 0.55);
  color: #fff;
}
body.kermis--promoted-spotlight .hero-acts__chip.is-today:hover{
  border-color: rgba(255, 235, 200, 0.85);
  background: linear-gradient(135deg, rgba(255, 140, 50, 0.98), rgba(220, 75, 10, 0.92));
}
body.kermis--promoted-spotlight .hero-acts__chip.is-tomorrow{
  background: linear-gradient(135deg, rgba(140, 90, 255, 0.9), rgba(88, 40, 200, 0.88));
  border-color: rgba(210, 190, 255, 0.55);
  color: #fff;
}
body.kermis--promoted-spotlight .hero-acts__chip.is-tomorrow:hover{
  border-color: rgba(235, 220, 255, 0.88);
  background: linear-gradient(135deg, rgba(165, 120, 255, 0.96), rgba(100, 55, 220, 0.92));
}

/* Mobiel: hogere gepromote hero + compactere favoriet/chips (blijven in beeld) */
@media (max-width: 720px) {
  body.page--kermis.kermis--promoted-spotlight .kermis-hero.kermis-hero--spotlight{
    min-height: clamp(500px, 104vw, 680px) !important;
    height: clamp(500px, 104vw, 680px) !important;
  }

  body.page--kermis.kermis--promoted-spotlight .kermis-hero--spotlight .kermis-hero__inner{
    padding-top: clamp(10px, 3vw, 26px) !important;
    padding-bottom: clamp(10px, 3vw, 30px) !important;
  }

  body.page--kermis .kermis-hero__inner .fav-btn--hero,
  body.kv2-uiwow.page--kermis .kermis-hero__inner .fav-btn--hero{
    top: 8px;
    right: 8px;
    padding: 0.28rem 0.48rem;
    gap: 0.32rem;
  }

  body.page--kermis .kermis-hero__inner .fav-btn--hero .fav-btn__ic,
  body.kv2-uiwow.page--kermis .kermis-hero__inner .fav-btn--hero .fav-btn__ic{
    width: 20px;
    height: 20px;
    font-size: 12px;
  }

  body.page--kermis .kermis-hero__inner .fav-btn--hero .fav-btn__txt,
  body.kv2-uiwow.page--kermis .kermis-hero__inner .fav-btn--hero .fav-btn__txt{
    font-size: 11px;
  }

  body.page--kermis .kermis-hero .hero-acts{
    gap: 6px;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding: 0 4px;
    box-sizing: border-box;
  }

  body.page--kermis .kermis-hero .hero-acts__chip{
    font-size: 10px !important;
    padding: 5px 8px !important;
    line-height: 1.25;
    min-width: 0;
    flex: 1 1 calc(50% - 5px);
    max-width: calc(50% - 5px);
    justify-content: center;
  }

  body.kermis--promoted-spotlight .kermis-hero .hero-acts__chip{
    font-size: 10px !important;
    padding: 5px 8px !important;
  }
}

/* Optionele thumbnail bij externe webcam_link (upload via admin) */
body.page--kermis .pi-link--webcam .pi-link__webcam-thumb{
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

body.page--kermis .pi-link--webcam .pi-link__webcam-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.page--kermis #geschiedenis{
  scroll-margin-top: 88px;
}

/* Geschiedenis: archiefstijl, nostalgisch maar rustig */
body.page--kermis .detail-block.kv2-geschiedenis{
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(165deg, rgba(68, 58, 46, .92) 0%, rgba(42, 36, 30, .97) 55%, rgba(36, 32, 28, .98) 100%);
  border: 1px solid rgba(196, 168, 118, .22);
  box-shadow:
    inset 0 1px 0 rgba(255, 248, 230, .08),
    inset 0 -24px 48px rgba(0, 0, 0, .12),
    0 10px 26px rgba(0, 0, 0, .28);
}

body.page--kermis .detail-block.kv2-geschiedenis::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: .055;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 4px,
      rgba(255, 236, 200, .14) 4px,
      rgba(255, 236, 200, .14) 5px
    );
}

body.page--kermis .detail-block.kv2-geschiedenis::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(255, 230, 180, .07), transparent 55%),
    radial-gradient(90% 70% at 100% 100%, rgba(0, 0, 0, .18), transparent 50%);
}

body.page--kermis .detail-block.kv2-geschiedenis > *{
  position: relative;
  z-index: 1;
}

body.page--kermis .detail-block.kv2-geschiedenis > .h-underline{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding-bottom: 11px;
}

body.page--kermis .detail-block.kv2-geschiedenis > .h-underline.h-underline--with-icon{
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  width: 100%;
}
body.page--kermis .detail-block.kv2-geschiedenis > .h-underline.h-underline--with-icon .kv2-section-icon{
  flex-shrink: 0;
}

body.page--kermis .detail-block.kv2-geschiedenis > .h-underline::after{
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
  transform: none;
  height: 1px;
  border-radius: 0;
  background: rgba(220, 195, 150, .35);
  opacity: 1;
}

/* Koppen in geschiedenistekst — zelfde lijn als intro */
body.page--kermis #geschiedenis .hl-about__text h2,
body.page--kermis #geschiedenis .hl-about__text h3{
  position: relative;
  margin: 22px 0 12px;
  padding-bottom: 11px;
  font-weight: 800;
  letter-spacing: .01em;
  color: rgba(255, 252, 245, .98);
}

body.page--kermis #geschiedenis .hl-about__text h2{
  font-size: 1.1rem;
  line-height: 1.35;
}

body.page--kermis #geschiedenis .hl-about__text h3{
  font-size: 1.1rem;
  line-height: 1.35;
}

body.page--kermis #geschiedenis .hl-about__text h2:first-child,
body.page--kermis #geschiedenis .hl-about__text h3:first-child{
  margin-top: 0;
}

body.page--kermis #geschiedenis .hl-about__text h2::after,
body.page--kermis #geschiedenis .hl-about__text h3::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(220, 195, 150, .28);
}

body.page--kermis #geschiedenis .hl-about__text p{
  margin: 0 0 12px;
  line-height: 1.65;
  color: rgba(255, 248, 238, .9);
}

body.page--kermis #geschiedenis .hl-about__text p:last-child{
  margin-bottom: 0;
}

body.page--kermis #geschiedenis .hl-about__text strong,
body.page--kermis #geschiedenis .hl-about__text b{
  color: rgba(255, 236, 210, .98);
  font-weight: 800;
  letter-spacing: 0;
}

body.page--kermis #geschiedenis .hl-about__text a{
  color: rgba(255, 248, 238, .95);
  font-weight: 700;
  text-decoration: underline dotted;
  text-decoration-color: rgba(220, 195, 150, .45);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

body.page--kermis #geschiedenis .hl-about__text a:hover{
  color: #fff;
  text-decoration-style: solid;
  text-decoration-color: rgba(230, 190, 120, .85);
}

/* Hero: CTA naar actuele editie (oude jaargang) — groen, los van datum-pill */
body.page--kermis .kermis-hero__pill--next-edition{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto;
  min-width: min(100%, 320px);
  max-width: min(100%, 520px);
  margin-top: 12px;
  padding: 14px 22px;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  font: 800 15px/1.3 var(--font-sans);
  letter-spacing: .02em;
  background: linear-gradient(90deg, #16803c, #22a854 52%, #3ecf73) !important;
  border: 2px solid rgba(190, 255, 210, .72) !important;
  box-shadow:
    0 0 0 3px rgba(34, 168, 84, .38),
    0 10px 28px rgba(0, 0, 0, .4),
    inset 0 1px 0 rgba(255, 255, 255, .32) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
body.page--kermis .kermis-hero__pill--next-edition:hover{
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px) scale(1.02);
  filter: brightness(1.06);
  box-shadow:
    0 0 0 4px rgba(46, 201, 106, .48),
    0 14px 32px rgba(0, 0, 0, .45),
    inset 0 1px 0 rgba(255, 255, 255, .38) !important;
}
body.page--kermis .kermis-hero__pill-next-gutter,
body.page--kermis .kermis-hero__pill-next-arrow{
  flex: 0 0 1.35rem;
  width: 1.35rem;
  font-size: 1.35rem;
  line-height: 1;
  text-align: center;
}
body.page--kermis .kermis-hero__pill-next-gutter{
  visibility: hidden;
  pointer-events: none;
}
body.page--kermis .kermis-hero__pill-next-dates{
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
}
body.page--kermis .kermis-hero__pill-next-arrow{
  opacity: 1;
  pointer-events: none;
}

/* Status-intro: volle wrapperbreedte (geen smalle kolom op desktop) */
body.page--kermis .page-header .page-intro.page-intro--status-alert .alert--edition-past{
  flex-direction: column;
  align-items: stretch;
}
body.page--kermis .page-header .page-intro.page-intro--status-alert .kv2-sys-alert--past{
  width: 100%;
  text-align: left;
}
body.page--kermis .page-header .page-intro.page-intro--status-alert .page-title--in-intro{
  font-size: clamp(15px, 1.75vw, 19px);
  line-height: 1.28;
  opacity: .82;
}
body.page--kermis .page-header .page-intro.page-intro--status-alert .kv2-sys-alert--past .kv2-sys-alert__lead{
  margin: 0 0 12px;
  font-size: 1.2rem;
  line-height: 1.45;
  text-align: center;
}
body.page--kermis .page-header .page-intro.page-intro--status-alert .kv2-sys-alert--past .kv2-sys-alert__lead strong{
  font-size: 1.3rem;
  font-weight: 800;
}
/* Groene CTA: zelfde stijl als kermis-hero__pill--next-edition */
body.page--kermis .page-header .page-intro.page-intro--status-alert .linkbox--alert-next-edition,
body.page--kermis #praktische-info .alerts .linkbox--alert-next-edition{
  padding: 12px 18px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #fff !important;
  border: 2px solid rgba(190, 255, 210, .72) !important;
  background: linear-gradient(90deg, #16803c, #22a854 52%, #3ecf73) !important;
  box-shadow:
    0 0 0 3px rgba(34, 168, 84, .38),
    0 8px 22px rgba(0, 0, 0, .32),
    inset 0 1px 0 rgba(255, 255, 255, .32) !important;
}
body.page--kermis .page-header .page-intro.page-intro--status-alert .linkbox--alert-next-edition strong,
body.page--kermis #praktische-info .alerts .linkbox--alert-next-edition strong{
  color: #fff !important;
  font-weight: 800 !important;
}
body.page--kermis .page-header .page-intro.page-intro--status-alert .linkbox--alert-next-edition:hover,
body.page--kermis #praktische-info .alerts .linkbox--alert-next-edition:hover{
  color: #fff !important;
  filter: brightness(1.06);
  transform: translateY(-1px);
  background: linear-gradient(90deg, #16803c, #22a854 52%, #3ecf73) !important;
  box-shadow:
    0 0 0 4px rgba(46, 201, 106, .45),
    0 12px 26px rgba(0, 0, 0, .38),
    inset 0 1px 0 rgba(255, 255, 255, .36) !important;
}
body.page--kermis .page-header .page-intro.page-intro--status-alert .kv2-sys-alert__hint-link{
  color: rgba(255, 248, 238, .98);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.page--kermis .page-header .page-intro.page-intro--status-alert .kv2-sys-alert__hint-link:hover{
  color: #fff;
}
body.page--kermis .page-header .page-intro.page-intro--status-alert .kv2-sys-alert--past .kv2-sys-alert__toolbar{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 12px;
  width: 100%;
  margin: 0 0 12px;
}
@media (min-width: 720px){
  body.page--kermis .page-header .page-intro.page-intro--status-alert .kv2-sys-alert--past .kv2-sys-alert__toolbar{
    flex-wrap: nowrap;
  }
}

/* Melding: actieve eerstvolgende editie (groen, bij latere jaargang-pagina) */
body.page--kermis .alert--edition-prior-active{
  flex-direction: column;
  align-items: stretch;
  border-color: rgba(46, 201, 106, .52) !important;
  background: rgba(22, 128, 60, .18) !important;
  box-shadow: 0 0 0 1px rgba(34, 168, 84, .22) inset;
}
body.page--kermis .alert--edition-prior-active .alert__text{
  width: 100%;
}
body.page--kermis .kv2-sys-alert--prior-active .kv2-sys-alert__lead{
  text-align: center;
  margin-bottom: 10px;
}
body.page--kermis .kv2-sys-alert--prior-active .kv2-sys-alert__hint{
  text-align: center;
}
body.page--kermis .kv2-sys-alert--prior-active .kv2-sys-alert__primary{
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

/* Meldingen onder Praktische informatie: oude-editie-alert zonder dubbel icoon */
body.page--kermis #praktische-info .alert--edition-past{
  flex-direction: column;
  align-items: stretch;
}
body.page--kermis #praktische-info .alert--edition-past .alert__text{
  width: 100%;
}

/* Meldingen: duidelijk als notificatieblok, anders dan aanbevelen-cta */
body.page--kermis #praktische-info .alerts{
  margin: 0 0 1.15rem;
  padding: 0;
  border-radius: 8px;
  border: 1px solid rgba(255, 176, 72, .32);
  background:
    linear-gradient(180deg, rgba(255, 168, 56, .11) 0%, rgba(255, 168, 56, .04) 100%);
  box-shadow: inset 3px 0 0 0 rgba(255, 176, 72, .72);
  overflow: hidden;
}
body.page--kermis #praktische-info .alerts__title{
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  padding: .55rem .85rem .5rem;
  font: 800 .72rem/1.2 var(--font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffc978;
  background: rgba(255, 160, 50, .12);
  border-bottom: 1px solid rgba(255, 180, 80, .2);
}
body.page--kermis #praktische-info .alerts__title .bi{
  font-size: .95rem;
  opacity: .95;
}
body.page--kermis #praktische-info .alerts__list{
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}
body.page--kermis #praktische-info .alerts .alert{
  padding: .62rem .85rem .68rem 1rem;
  gap: .55rem;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  background: transparent;
  box-shadow: none;
  align-items: flex-start;
}
body.page--kermis #praktische-info .alerts .alert:last-child{
  border-bottom: none;
}
body.page--kermis #praktische-info .alerts .alert__icon{
  margin-top: .15rem;
  width: 1.15em;
  min-height: 1.15em;
  font-size: 1rem;
  opacity: .92;
}
body.page--kermis #praktische-info .alerts .alert__text{
  font-size: .84rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, .9);
}
body.page--kermis #praktische-info .alerts .alert__meta{
  margin-top: 4px;
  font-size: .72rem;
  line-height: 1.3;
  font-weight: 600;
  color: rgba(255, 200, 140, .7);
}
body.page--kermis #praktische-info .alerts .alert--p1{
  background: rgba(255, 90, 90, .07);
}
body.page--kermis #praktische-info .alerts .alert--p2{
  background: rgba(255, 170, 70, .07);
}
body.page--kermis #praktische-info .alerts a.alert--jump{
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .15s ease;
}
body.page--kermis #praktische-info .alerts a.alert--jump:hover{
  background: rgba(255, 180, 80, .12);
}
body.page--kermis #praktische-info .alerts a.alert--jump:focus-visible{
  outline: 2px solid rgba(255, 196, 110, .85);
  outline-offset: -2px;
}
body.page--kermis #praktische-info .alerts .alert__jump{
  flex: 0 0 auto;
  align-self: center;
  margin-left: auto;
  padding-left: .25rem;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 700;
  color: rgba(255, 200, 140, .75);
  transition: transform .15s ease, color .15s ease;
}
body.page--kermis #praktische-info .alerts a.alert--jump:hover .alert__jump{
  color: #ffd9a8;
  transform: translateX(2px);
}
body.page--kermis #praktische-info .kv2-sys-alert__lead{
  margin: 0 !important;
  margin-bottom: 0 !important;
}

/* Subtiele annuleringsmelding onder intro-quicklinks */
body.page--kermis #intro .kv2-intro-cancel-soft{
  margin: .55rem 0 0;
  padding: 0;
  font: 600 .82rem/1.35 var(--font-sans);
  color: rgba(255, 170, 170, .88);
  letter-spacing: .01em;
}

/* Schoolvakantie in praktische info: kleinere datum/regio */
body.page--kermis #schoolvakantie .pi-school-vac-meta{
  font-size: .82rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, .72);
}

/* Intro: vakantietekst met klikbare vakantielink */
body.page--kermis #intro .kv2-intro-vacation a{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, .24);
}
body.page--kermis #intro .kv2-intro-vacation a:hover{
  border-bottom-color: rgba(255, 255, 255, .48);
}
body.page--kermis #intro .kv2-intro-vacation strong{
  font-weight: 800;
  color: #b8b8ff;
}
body.page--kermis #intro .kv2-intro-vacation strong a{
  color: inherit;
  border-bottom-color: rgba(184, 184, 255, .45);
}
body.page--kermis #praktische-info .kv2-sys-alert--past .kv2-sys-alert__lead{
  text-align: center;
  margin-bottom: 10px;
}
body.page--kermis #praktische-info .kv2-sys-alert--past .kv2-sys-alert__hint{
  text-align: center;
}
body.page--kermis #praktische-info .kv2-sys-alert--past .kv2-sys-alert__primary:not(.kv2-sys-alert__toolbar){
  justify-content: center;
}
body.page--kermis #praktische-info .kv2-sys-alert--past .kv2-sys-alert__actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
/* Praktische info: Info-editie op regel 1, favoriet + in de buurt op regel 2 */
body.page--kermis #praktische-info .kv2-sys-alert--past .kv2-sys-alert__toolbar{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 12px;
  width: 100%;
  margin: 0 0 12px;
}
body.page--kermis #praktische-info .kv2-sys-alert--past .kv2-sys-alert__toolbar > .linkbox--alert-next-edition{
  flex: 1 1 100%;
  justify-content: center;
  text-align: center;
}
body.page--kermis #praktische-info .kv2-sys-alert--past .kv2-sys-alert__toolbar > .fav-btn--alert-inline,
body.page--kermis #praktische-info .kv2-sys-alert--past .kv2-sys-alert__toolbar > .linkbox--near{
  flex: 0 1 auto;
}

/* Aanbevelen — bovenaan praktische informatie (heel blok klikbaar) */
body.page--kermis #praktische-info .kv2-pi-endorse{
  display: block;
  width: 100%;
  margin: 0 0 1.1rem;
  padding: 0.72rem 0.85rem;
  border: 1px solid rgba(111, 224, 160, 0.38);
  border-radius: 10px;
  background: rgba(111, 224, 160, 0.07);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
  color: #b8f0ce;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
  -webkit-appearance: none;
  appearance: none;
}
body.page--kermis #praktische-info .kv2-pi-endorse:hover{
  border-color: rgba(140, 240, 185, 0.62);
  background: rgba(111, 224, 160, 0.12);
  box-shadow: 0 0 0 1px rgba(140, 240, 185, 0.14), 0 4px 14px rgba(0, 0, 0, 0.14);
  transform: translateY(-1px);
}
body.page--kermis #praktische-info .kv2-pi-endorse:active{
  transform: translateY(0);
  background: rgba(111, 224, 160, 0.15);
}
body.page--kermis #praktische-info .kv2-pi-endorse:focus-visible{
  outline: 2px solid rgba(140, 170, 255, 0.85);
  outline-offset: 3px;
}
body.page--kermis #praktische-info .kv2-pi-endorse.is-active{
  border-color: rgba(111, 224, 160, 0.55);
  background: rgba(111, 224, 160, 0.1);
}
@keyframes kv2-pi-endorse-glow{
  0%, 100%{
    box-shadow:
      0 0 0 1px rgba(140, 240, 185, 0.35) inset,
      0 0 18px rgba(80, 220, 140, 0.28);
  }
  50%{
    box-shadow:
      0 0 0 2px rgba(170, 255, 200, 0.55) inset,
      0 0 32px rgba(90, 240, 155, 0.55),
      0 0 48px rgba(60, 200, 120, 0.28);
  }
}
body.page--kermis #praktische-info .kv2-pi-endorse.is-just-endorsed{
  border-color: rgba(150, 255, 195, 0.78);
  background: rgba(111, 224, 160, 0.16);
  animation: kv2-pi-endorse-glow 0.95s ease-in-out 3;
}
body.page--kermis #praktische-info .kv2-pi-endorse.is-just-endorsed .kv2-pi-endorse__badge .bi,
body.page--kermis #praktische-info .kv2-pi-endorse.is-just-endorsed .kv2-pi-endorse__num{
  filter: drop-shadow(0 0 8px rgba(120, 255, 175, 0.75));
}
body.page--kermis .kv2-pi-endorse__layout{
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
}
body.page--kermis .kv2-pi-endorse__badge{
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  min-width: 2.4rem;
  align-self: center;
}
body.page--kermis .kv2-pi-endorse__divider{
  flex: 0 0 1px;
  align-self: stretch;
  width: 1px;
  min-height: 2.6rem;
  margin: 0.05rem 0;
  background: linear-gradient(
    180deg,
    rgba(111, 224, 160, 0),
    rgba(111, 224, 160, 0.45) 18%,
    rgba(111, 224, 160, 0.45) 82%,
    rgba(111, 224, 160, 0)
  );
}
body.page--kermis .kv2-pi-endorse__copy{
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.22rem;
}
body.page--kermis .kv2-endorse-btn .bi{
  flex: 0 0 auto;
  font-size: 1.65rem;
  line-height: 1;
  color: #6fe0a0;
}
body.page--kermis .kv2-pi-endorse__num{
  flex: 0 0 auto;
  font-size: 1.65rem;
  font-weight: 800;
  line-height: 1;
  color: #6fe0a0;
  font-variant-numeric: tabular-nums;
}
body.page--kermis .kv2-endorse-btn__label{
  display: block;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.35;
  color: #b8f0ce;
}
body.page--kermis .kv2-pi-endorse__sub,
body.page--kermis .kv2-pi-endorse__low{
  display: block;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.72);
}
body.page--kermis #praktische-info .kv2-pi-endorse:hover .kv2-endorse-btn__label,
body.page--kermis #praktische-info .kv2-pi-endorse:hover .kv2-pi-endorse__sub{
  color: #d4f8e4;
}
body.page--kermis .kv2-pi-endorse__sub[hidden],
body.page--kermis .kv2-pi-endorse__low[hidden],
body.page--kermis .kv2-pi-endorse__num[hidden]{
  display: none !important;
}

/* Populariteit — award-cards (2 kolommen, volledige kleurgradient) */
body.page--kermis .detail-masonry > .kv2-popularity-block{
  margin-top: 0;
}
/* Parkeren & bereikbaarheid — h3-koppen zoals intro */
body.page--kermis #parkeer-reisinformatie .wysiwyg h3,
body.page--kermis #parkeer-reisinformatie .wysiwyg h3.kv2-transport-h3{
  position: relative;
  margin: 22px 0 12px;
  padding-bottom: 11px;
  font-size: 1.1rem;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: .01em;
  color: rgba(255, 252, 245, .98);
}
body.page--kermis #parkeer-reisinformatie .wysiwyg h3.kv2-transport-h3{
  display: flex;
  align-items: center;
  gap: .45rem;
}
body.page--kermis #parkeer-reisinformatie .wysiwyg h3:first-child{
  margin-top: 0;
}
body.page--kermis #parkeer-reisinformatie .wysiwyg h3::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.22);
  pointer-events: none;
}
body.page--kermis #parkeer-reisinformatie .kv2-transport-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;
}
body.page--kermis #parkeer-reisinformatie .kv2-transport-icon .bi{
  font-size: 1.05em;
  line-height: 1;
}
body.page--kermis #parkeer-reisinformatie .kv2-transport-h3__label{
  min-width: 0;
}
body.page--kermis .kv2-award-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.5rem;
}
body.page--kermis .kv2-award{
  position: relative;
  min-width: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
  background: linear-gradient(145deg, rgba(70, 90, 140, 0.55), rgba(40, 52, 88, 0.72));
}
body.page--kermis .kv2-award--gold{
  border-color: rgba(255, 220, 120, 0.45);
  background: linear-gradient(145deg, #f5d76e 0%, #d4a832 42%, #a67c18 100%);
  box-shadow: 0 0 24px rgba(255, 200, 60, 0.28), 0 8px 20px rgba(0, 0, 0, 0.2);
}
body.page--kermis .kv2-award--silver{
  border-color: rgba(220, 228, 240, 0.4);
  background: linear-gradient(145deg, #e8edf2 0%, #b8c2ce 45%, #7d8794 100%);
  box-shadow: 0 0 20px rgba(200, 210, 225, 0.22), 0 8px 20px rgba(0, 0, 0, 0.2);
}
body.page--kermis .kv2-award--bronze{
  border-color: rgba(232, 190, 150, 0.42);
  background: linear-gradient(145deg, #e8c9a8 0%, #c99562 45%, #8f5e2c 100%);
  box-shadow: 0 0 20px rgba(210, 160, 100, 0.24), 0 8px 20px rgba(0, 0, 0, 0.2);
}
body.page--kermis .kv2-award--top10{
  border-color: rgba(140, 170, 255, 0.42);
  background: linear-gradient(145deg, #9eb4ff 0%, #6a84e8 48%, #3f56b8 100%);
  box-shadow: 0 0 22px rgba(120, 150, 255, 0.26), 0 8px 20px rgba(0, 0, 0, 0.2);
}
body.page--kermis .kv2-award--top100{
  border-color: rgba(170, 180, 200, 0.38);
  background: linear-gradient(145deg, #b8c0d0 0%, #8a94a8 50%, #5c6578 100%);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}
body.page--kermis .kv2-award--promoted{
  border-color: rgba(255, 200, 100, 0.45);
  background: linear-gradient(145deg, #ffd08a 0%, #e8a040 48%, #c07018 100%);
  box-shadow: 0 0 22px rgba(255, 180, 70, 0.28), 0 8px 20px rgba(0, 0, 0, 0.2);
}
body.page--kermis .kv2-award--trend{
  border-color: rgba(100, 220, 150, 0.42);
  background: linear-gradient(145deg, #7ee8b0 0%, #3cb878 48%, #1f7a48 100%);
  box-shadow: 0 0 24px rgba(80, 210, 130, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2);
}
body.page--kermis .kv2-award--endorse.kv2-award--gold,
body.page--kermis .kv2-award--endorse.kv2-award--silver,
body.page--kermis .kv2-award--endorse.kv2-award--bronze,
body.page--kermis .kv2-award--endorse.kv2-award--top10,
body.page--kermis .kv2-award--endorse.kv2-award--top100{
  border-color: rgba(120, 230, 170, 0.45);
  background: linear-gradient(145deg, #8ef0c4 0%, #45c888 48%, #2a8f58 100%);
  box-shadow: 0 0 24px rgba(70, 210, 140, 0.3), 0 8px 20px rgba(0, 0, 0, 0.2);
}
body.page--kermis .kv2-award__inner{
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.7rem 0.75rem 0.75rem;
}
body.page--kermis .kv2-award__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
}
body.page--kermis .kv2-award__title{
  flex: 1 1 auto;
  width: 100%;
  margin: 0;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.25;
  text-transform: uppercase;
  text-align: left;
  color: rgba(255, 255, 255, 0.98);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  overflow-wrap: anywhere;
}
body.page--kermis .kv2-award__rank{
  flex: 0 0 auto;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.95);
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
body.page--kermis .kv2-award__body{
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  width: 100%;
}
body.page--kermis .kv2-award__icon{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  margin-top: 0.05rem;
}
body.page--kermis .kv2-award__icon .bi{
  font-size: 1.35rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.95);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}
body.page--kermis .kv2-award__subtitle{
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.88);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
}
@media (max-width: 640px){
  body.page--kermis .kv2-award-grid{
    grid-template-columns: 1fr;
  }
}
body.page--kermis .kv2-popularity-stats-link{
  display: flex;
  justify-content: flex-end;
  margin: 0.85rem 0 0;
}
body.page--kermis .kv2-popularity-stats-btn{
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.kv2-lightbox__footer {
  position: relative;
  z-index: 3;
  margin-top: 14px;
  text-align: center;
}

.kv2-lightbox__report {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: #f0f0f0;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.kv2-lightbox__report:hover {
  border-color: rgba(255, 184, 112, 0.75);
  background: rgba(249, 123, 10, 0.18);
  color: #fff;
}

/* Fotogalerij: kop met instuur-knop, serietegels, album-scroll */
body.page--kermis .kv2-gallery-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 16px;
  flex-wrap: wrap;
  margin-bottom: 0;
}

body.page--kermis .kv2-gallery-head .h-underline{
  margin-bottom: 0;
  flex: 1 1 auto;
  min-width: 0;
}

body.page--kermis .kv2-gallery-upload-btn{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid rgba(249, 123, 10, .55);
  background: linear-gradient(135deg, rgba(249, 123, 10, .95), rgba(255, 122, 26, .88));
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(249, 123, 10, .28);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

body.page--kermis .kv2-gallery-upload-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(249, 123, 10, .36);
  filter: brightness(1.04);
  color: #fff;
}

body.page--kermis .kv2-gallery-wrap--preview .kv2-gallery__actions{
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  padding: 12px 0 0;
  margin-bottom: 14px;
}

body.page--kermis .kv2-gallery-wrap--preview .kv2-gallery__jump.kv2-gallery-upload-btn::after{
  content: none;
}

body.page--kermis .kv2-gallery__sep{
  position: relative;
  display: block;
  overflow: hidden;
}

body.page--kermis .kv2-gallery__sep-inner{
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
  height: 140px;
  padding: 10px 10px 10px 12px;
  border: 0;
  border-radius: 0;
  background: rgba(18, 18, 24, .78);
  color: #ececf4;
  text-align: left;
  overflow: hidden;
  box-sizing: border-box;
}

body.page--kermis .kv2-gallery__sep-inner::before{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .28) 48%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

body.page--kermis .kv2-gallery__sep-copy{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  flex: 1;
}

body.page--kermis .kv2-gallery__sep-year{
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}

body.page--kermis .kv2-gallery__sep-author{
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  color: rgba(255, 255, 255, .82);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

body.page--kermis .kv2-gallery__sep-author--stacked{
  display: flex;
  flex-direction: column;
  gap: 2px;
  -webkit-line-clamp: unset;
  overflow: visible;
  text-overflow: unset;
}

body.page--kermis .kv2-gallery__sep-author-name{
  font-weight: 700;
  color: rgba(255, 255, 255, .94);
}

body.page--kermis .kv2-gallery__sep-work-title{
  font-weight: 600;
  font-size: 11px;
  line-height: 1.3;
  color: rgba(255, 255, 255, .9);
}

body.page--kermis .kv2-gallery__sep-author--commons{
  pointer-events: auto;
  font-size: 10px;
  line-height: 1.28;
  gap: 3px;
  overflow: hidden;
}

body.page--kermis .kv2-gallery__sep-author--commons .kv2-gallery__sep-work-title{
  font-size: 10px;
  font-weight: 600;
  line-height: 1.28;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.page--kermis .kv2-gallery__sep-photographer{
  display: block;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  color: rgba(255, 255, 255, .86);
}

body.page--kermis .kv2-gallery__sep-author--commons .kv2-gallery__sep-commons-meta{
  font-size: 10px;
}

body.page--kermis .kv2-gallery__sep-author--commons a{
  color: #cfe4ff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.page--kermis .kv2-gallery__sep-author--commons a:hover{
  color: #fff;
}

body.page--kermis .kv2-gallery__sep-commons-meta{
  font-size: 10px;
  font-weight: 600;
  line-height: 1.35;
  color: rgba(255, 255, 255, .78);
}

body.page--kermis .kv2-gallery__sep-arrow{
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  color: #ffb870;
  line-height: 1;
}

body.page--kermis .kv2-gallery__sep-arrow svg{
  display: block;
  width: 28px;
  height: 28px;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .35));
}

body.page--kermis .kv2-gallery--preview{
  padding-top: 10px;
}

body.page--kermis .kv2-gallery-wrap--album .kv2-gallery--album{
  padding-bottom: 8px;
}

body.page--kermis .kv2-gallery-infinite-sentinel{
  height: 1px;
  margin: 0;
}

body.page--kermis .kv2-intro-fill__figure .kv2-gallery__zoom svg{
  width: 28px;
  height: 28px;
}

body.page--kermis #intro .h-underline.h-underline--with-icon .kv2-section-icon--svg svg{
  display: block;
  width: 1.15em;
  height: 1.15em;
}

/* Sectiekoppen: volle breedte gradientband (donkergrijs → transparant); titel + accentlijn blijven content-breed */
body.page--kermis main.detail-grid{
  --kv2-section-head-pad-x: 24px;
  --kv2-section-head-pad-top: 24px;
  --kv2-section-head-band-h: 5.25rem;
  --kv2-section-title-below: 25px;
  --kv2-section-head-glow: linear-gradient(180deg, rgba(14, 74, 92, 0.72) 0%, rgba(0, 0, 0, 0.24) 55%, transparent 100%);
}

@media (max-width: 600px){
  body.page--kermis main.detail-grid{
    --kv2-section-head-pad-x: 12px;
    --kv2-section-head-pad-top: 12px;
    --kv2-section-head-band-h: 4.85rem;
  }
}

/* Kopregels met knop (PI, foto's): gradient op de flex-balk */
body.page--kermis main.detail-grid .block-header,
body.page--kermis main.detail-grid .kv2-gallery-head{
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  margin-left: calc(-1 * var(--kv2-section-head-pad-x));
  margin-right: calc(-1 * var(--kv2-section-head-pad-x));
  padding: 12px var(--kv2-section-head-pad-x) var(--kv2-section-title-below);
}

body.page--kermis main.detail-grid .detail-block > .block-header:first-child,
body.page--kermis main.detail-grid .detail-block > .kv2-gallery-wrap:first-child .kv2-gallery-head,
body.page--kermis main.detail-grid #praktische-info > .kv2-intro-quicklinks + .block-header{
  margin-top: calc(-1 * var(--kv2-section-head-pad-top));
  padding-top: var(--kv2-section-head-pad-top);
}

/* PI fill: bovenste band via .kv2-pi__top (verborgen quicklinks tellen niet mee als gap) */
body.page--kermis main.detail-grid #praktische-info.kv2-pi-detail-block--fill > .kv2-pi__top{
  position: relative;
  z-index: 1;
  margin-top: calc(-1 * var(--kv2-section-head-pad-top));
  margin-left: calc(-1 * var(--kv2-section-head-pad-x));
  margin-right: calc(-1 * var(--kv2-section-head-pad-x));
  padding: var(--kv2-section-head-pad-top) var(--kv2-section-head-pad-x) 0;
}

body.page--kermis main.detail-grid #praktische-info.kv2-pi-detail-block--fill > .kv2-pi__top > .block-header{
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  padding-top: 0;
  padding-left: 0;
  padding-right: 110px;
  padding-bottom: var(--kv2-section-title-below);
}

body.page--kermis main.detail-grid .block-header{
  padding-right: 110px;
}

body.page--kermis main.detail-grid .block-header::before,
body.page--kermis main.detail-grid .kv2-gallery-head::before{
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 18px 18px 0 0;
  pointer-events: none;
  z-index: -1;
  background: var(--kv2-section-head-glow);
}

/* Praktische info: gradient over volle .kv2-pi__top (niet alleen op .block-header) */
body.page--kermis main.detail-grid #praktische-info .kv2-pi__top{
  position: relative;
  z-index: 0;
}

body.page--kermis main.detail-grid #praktische-info .kv2-pi__top::before{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: var(--kv2-section-head-band-h);
  border-radius: 18px 18px 0 0;
  pointer-events: none;
  z-index: -1;
  background: var(--kv2-section-head-glow);
}

body.page--kermis main.detail-grid #praktische-info .kv2-pi__top > *{
  position: relative;
  z-index: 1;
}

body.page--kermis main.detail-grid #praktische-info .kv2-pi__top > .block-header::before{
  display: none;
}

body.page--kermis main.detail-grid #praktische-info .kv2-pi__top > .block-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding-right: 110px;
}

body.page--kermis main.detail-grid #praktische-info .block-header > .h-underline.h-underline--with-icon{
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  max-width: calc(100% - 96px);
}

body.page--kermis main.detail-grid #praktische-info .block-header .fav-btn-detail{
  position: absolute;
  right: 10px;
  top: 10px;
}

/* Mobiel: iets compactere Favoriet-knop + wat meer ruimte voor de titel, zodat
   "Praktische informatie" op smalle schermen (< ~381px) niet afgekapt wordt. */
@media (max-width: 600px){
  body.page--kermis main.detail-grid #praktische-info .block-header > .h-underline.h-underline--with-icon{
    max-width: calc(100% - 76px);
  }
  body.page--kermis main.detail-grid #praktische-info .block-header .fav-btn-detail{
    padding: .4rem .6rem;
    gap: .4rem;
  }
  body.page--kermis main.detail-grid #praktische-info .block-header .fav-btn-detail span[aria-hidden="true"]{
    width: 24px;
    height: 24px;
    font-size: 14px;
  }
  body.page--kermis main.detail-grid #praktische-info .block-header .fav-btn-detail::after{
    font-size: 13px;
  }
}

/* Intro: gradient over volle breedte van .kv2-intro__top (niet op de H2 zelf) */
body.page--kermis main.detail-grid #intro .kv2-intro__top{
  position: relative;
  z-index: 0;
  margin-left: calc(-1 * var(--kv2-section-head-pad-x));
  margin-right: calc(-1 * var(--kv2-section-head-pad-x));
  margin-top: calc(-1 * var(--kv2-section-head-pad-top));
  padding-left: var(--kv2-section-head-pad-x);
  padding-right: var(--kv2-section-head-pad-x);
  padding-top: var(--kv2-section-head-pad-top);
}

body.page--kermis main.detail-grid #intro .kv2-intro__top::before{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: var(--kv2-section-head-band-h);
  border-radius: 18px 18px 0 0;
  pointer-events: none;
  z-index: -1;
  background: var(--kv2-section-head-glow);
}

body.page--kermis main.detail-grid #intro .kv2-intro__top > *{
  position: relative;
  z-index: 1;
}

/* Blokken met losse H2 als eerste kind (populariteit, buurt, …) */
body.page--kermis main.detail-grid .detail-block:not(.kv2-geschiedenis):not(#intro):not(.stay22-photo-bg):has(> .h-underline.h-underline--with-icon:first-child){
  position: relative;
  z-index: 0;
}

body.page--kermis main.detail-grid .detail-block:not(.kv2-geschiedenis):not(#intro):not(.stay22-photo-bg):has(> .h-underline.h-underline--with-icon:first-child)::before{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: var(--kv2-section-head-band-h);
  border-radius: 18px 18px 0 0;
  pointer-events: none;
  z-index: 0;
  background: var(--kv2-section-head-glow);
}

body.page--kermis main.detail-grid .detail-block:not(.kv2-geschiedenis):has(> .h-underline.h-underline--with-icon:first-child) > .h-underline.h-underline--with-icon:first-child{
  position: relative;
  z-index: 1;
  margin-bottom: var(--kv2-section-title-below);
}

body.page--kermis main.detail-grid .detail-block:not(.kv2-geschiedenis):not(#intro):not(.stay22-photo-bg):has(> .h-underline.h-underline--with-icon:first-child) > *{
  position: relative;
  z-index: 1;
}

@media (max-width: 600px){
  body.page--kermis main.detail-grid .block-header::before,
  body.page--kermis main.detail-grid .kv2-gallery-head::before,
  body.page--kermis main.detail-grid #intro .kv2-intro__top::before,
  body.page--kermis main.detail-grid #praktische-info .kv2-pi__top::before,
  body.page--kermis main.detail-grid .detail-block:not(.kv2-geschiedenis):not(#intro):not(.stay22-photo-bg):has(> .h-underline.h-underline--with-icon:first-child)::before{
    border-radius: 0;
  }
}

body.page--kermis main.detail-grid .h-underline.h-underline--with-icon{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  width: auto;
  max-width: 100%;
}
body.page--kermis main.detail-grid .h-underline.h-underline--with-icon .kv2-section-icon{
  flex-shrink: 0;
}

body.page--kermis main.detail-grid .block-header > .h-underline,
body.page--kermis main.detail-grid .kv2-gallery-head > .h-underline{
  margin-bottom: 0;
  flex: 0 1 auto;
  min-width: 0;
  position: relative;
  z-index: 1;
}

body.page--kermis main.detail-grid #intro .kv2-intro__top > .h-underline{
  margin-bottom: var(--kv2-section-title-below);
  flex: 0 1 auto;
  min-width: 0;
  position: relative;
  z-index: 1;
}

/* Min. 25px onder accentlijn: losse sectietitels + intro-snellinks niet omhoog trekken */
body.page--kermis main.detail-grid #intro .kv2-intro-quicklinks--in-intro{
  margin-top: 0;
}

body.page--kermis main.detail-grid .block-header > :not(.h-underline),
body.page--kermis main.detail-grid .kv2-gallery-head > :not(.h-underline){
  position: relative;
  z-index: 2;
}

body.page--kermis main.detail-grid .block-header .fav-btn-detail{
  z-index: 3;
}

/* Attracties: legenda-ruimte en locatiekoppen met grijze lijn */
body.page--kermis .kv2-attracties__legend{
  margin-top: 10px;
}
body.page--kermis .kv2-attracties__legend-hint{
  margin-bottom: 10px;
}
body.page--kermis .kv2-attracties__loc{
  position: relative;
  margin: 22px 0 12px;
  padding-bottom: 11px;
  font-size: 1.1rem;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: .01em;
  color: rgba(255, 252, 245, .98);
  text-shadow: none;
  font-style: normal;
  opacity: 1;
}
body.page--kermis .kv2-attracties__loc--unassigned{
  color: rgba(255, 252, 245, .9);
  font-style: italic;
}
body.page--kermis .kv2-attracties__loc::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.22);
  pointer-events: none;
}

@media (max-width: 640px){
  body.page--kermis .kv2-gallery-upload-btn{
    width: 100%;
  }
}

/* "Hoe laat is het nu in ..." — SEO-link naar hoelaat-ishet.nu, onderaan praktische informatie */
body.page--kermis .pi-time-abroad{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--card-brd, rgba(0,0,0,.08));
}
body.page--kermis .pi-time-abroad__link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .92rem;
  font-weight: 600;
  color: var(--muted, #5b6472);
  text-decoration: none;
  line-height: 1.3;
}
body.page--kermis .pi-time-abroad__link:hover{
  color: var(--accent, #d4a84b);
}
body.page--kermis .pi-time-abroad__icon{
  display: inline-flex;
  flex: 0 0 auto;
  line-height: 0;
  font-size: 1.02em;
  opacity: .9;
}
body.page--kermis .pi-time-abroad__arrow{
  flex: 0 0 auto;
  font-size: 1.05em;
  opacity: .8;
}

/* Route: navigatie-app knoppen (Google Maps / Apple Maps / Waze) */
body.page--kermis .pi-v--route{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.page--kermis .pi-route-btn{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: .28rem .6rem;
  font-size: .9em;
  font-weight: 600;
  line-height: 1.2;
  color: inherit;
  text-decoration: none;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  transition: background .15s ease, border-color .15s ease;
}
body.page--kermis .pi-route-btn:hover{
  background: rgba(255, 255, 255, .12);
  text-decoration: none;
}
body.page--kermis .pi-route-btn__ico{
  display: inline-flex;
  flex: 0 0 auto;
  line-height: 0;
  font-size: .98em;
  opacity: .75;
}

/* Praktische info: subtiele, vrolijke kleurtint op enkele blokjes
   (zelfde aanpak als het prikkelarm-blok: getinte achtergrond, rand en kop). */
body.page--kermis .pi-item--tint-attracties{
  border-color: rgba(255, 157, 92, .34);
  background: linear-gradient(160deg, rgba(255, 157, 92, .10) 0%, rgba(21, 21, 32, .98) 46%, #151520 100%);
}
body.page--kermis .pi-item--tint-attracties .pi-k{ color: #ffb583; }

body.page--kermis .pi-item--tint-activiteiten{
  border-color: rgba(160, 110, 255, .34);
  background: linear-gradient(160deg, rgba(160, 110, 255, .10) 0%, rgba(21, 21, 32, .98) 46%, #151520 100%);
}
body.page--kermis .pi-item--tint-activiteiten .pi-k{ color: #c9b3ff; }

body.page--kermis .pi-item--tint-krant{
  border-color: rgba(255, 209, 102, .34);
  background: linear-gradient(160deg, rgba(255, 209, 102, .10) 0%, rgba(21, 21, 32, .98) 46%, #151520 100%);
}
body.page--kermis .pi-item--tint-krant .pi-k{ color: #ffe0a3; }

/* Prikkelarm-blok staat nu binnen de pi-grid: volle breedte op desktop. */
body.page--kermis .pi-grid > .pi-item--prikkelarm{
  grid-column: 1 / -1;
}
