/* YCW Site RC5.9 | Consistente koppen, compactere header en opleverafwerking.
   Wordt bewust als LAATSTE thema-stylesheet geladen. */

/* 1. Header: werkelijke navigatiehoogte, onafhankelijk van oude RC-overrides. */
@media (min-width: 921px) {
  .kw-site-header { min-height: 82px; }
  .kw-site-header .kw-header-inner { min-height: 82px; }
  .kw-site-header .kw-brand { padding-block: 5px; }
  .kw-site-header .kw-brand .kw-logo-img,
  .kw-site-header .kw-brand .custom-logo { max-height: 65px; max-width: 190px; }
  .kw-site-header .kw-header-cta { min-height: 40px; padding-block: 9px; }
}
@media (min-width: 641px) and (max-width: 920px) {
  .kw-site-header { min-height: 72px; }
  .kw-site-header .kw-header-inner { min-height: 72px; }
  .kw-site-header .kw-brand { padding-block: 4px; }
  .kw-site-header .kw-brand .kw-logo-img,
  .kw-site-header .kw-brand .custom-logo { max-height: 57px; max-width: 160px; }
}
@media (max-width: 640px) {
  .kw-site-header { min-height: 68px; }
  .kw-site-header .kw-header-inner { min-height: 68px; }
  .kw-site-header .kw-brand { padding-block: 4px; }
  .kw-site-header .kw-brand .kw-logo-img,
  .kw-site-header .kw-brand .custom-logo { max-height: 51px; max-width: 142px; }
}
/* Op gewone pagina's veroorzaakte een ~270px fotobanner de extra hoge header. */
.kw-has-overlay-header .kw-subpage-banner {
  height: clamp(155px,12.5vw,185px);
  background-position: center 43%;
}
.kw-has-overlay-header .kw-subpage-banner .kw-wave { height: min(52px,var(--kw-wave-height)); }
.kw-inner-page { padding-block: clamp(38px,4.5vw,64px) 96px; }
.kw-inner-page .kw-entry-header { margin-bottom: clamp(28px,3.7vw,43px); }

.kw-icon-calendar { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.kw-icon-calendar svg { display: block; }

/* 2. Consistente typografische hiërarchie. Ook Gutenberg-h1/h2/h3.
   De vorige versie vergat .entry-content, waardoor Over ons groot bleef. */
h1 { font-size: clamp(2.5rem, 4.2vw, 4.4rem); }
h2 { font-size: clamp(2rem, 3.15vw, 3.35rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.88rem); }
.kw-inner-page .kw-entry-header h1 { font-size: clamp(2.55rem,3.6vw,3.8rem); margin-bottom: 0; }
.entry-content h1:not(.has-text-align-center),
.entry-content h1.has-text-align-center { font-size: clamp(2.05rem,3vw,3rem); line-height: 1.18; }
.entry-content h2 { font-size: clamp(1.78rem,2.45vw,2.5rem); line-height: 1.2; }
.entry-content h3 { font-size: clamp(1.38rem,1.8vw,1.86rem); line-height: 1.25; }
.entry-content h4 { font-size: clamp(1.15rem,1.4vw,1.42rem); }
.entry-content h1,.entry-content h2,.entry-content h3 { overflow-wrap: break-word; text-wrap: pretty; }
.kw-inner-page .entry-content h1:first-child { margin-top: .1em; }
.kw-inner-page .entry-content h2 { margin-top: 1.25em; }
.kw-inner-page .entry-content h2:first-child { margin-top: 0; }

/* Homepagekoppen, niet de decoratieve handgeschreven subtitels. */
.kw-hero h1 { font-size: clamp(3.4rem,7.25vw,7.45rem); }
.kw-daghap h2 { font-size: clamp(2.52rem,3.7vw,3.86rem); }
.kw-about h2 { font-size: clamp(2.6rem,3.55vw,3.85rem); }
.kw-hall h2 { font-size: clamp(2.55rem,3.5vw,3.9rem); }
.kw-history h2 { font-size: clamp(2.6rem,3.48vw,3.9rem); }
.kw-rc5-home-events .kw-rc5-section-heading h2 { font-size: clamp(2.2rem,3.3vw,3.35rem); }
.kw-footer-banner-title strong { font-size: clamp(1.6rem,2.18vw,2.54rem); }

/* Daghappen, zaalverhuur, agenda en evenementen. */
.kw-food-hero h1 { font-size: clamp(3.1rem,5.95vw,6.45rem); }
.kw-food-feature-text h2 { font-size: clamp(2.2rem,3.32vw,3.85rem); }
.kw-food-section-heading h2 { font-size: clamp(2.2rem,3.5vw,3.7rem); }
.kw-food-single-header h1 { font-size: clamp(2.6rem,4.9vw,5.08rem); }
.kw-food-single-info h2 { font-size: clamp(2.25rem,3.23vw,3.35rem); }
.kw-food-card-content h3 { font-size: clamp(1.42rem,1.84vw,1.94rem); }
.kw-rc5-page-hero h1 { font-size: clamp(2.75rem,4.75vw,4.9rem); }
.kw-rc5-section-heading h2 { font-size: clamp(2.2rem,3.32vw,3.45rem); }
.kw-rc5-single-title h1 { font-size: clamp(2.6rem,4.36vw,4.5rem); }
.kw-rc5-single-copy h2 { font-size: clamp(1.85rem,2.82vw,2.92rem); }
.kw-rc5-calendar-title h2 { font-size: clamp(1.9rem,2.6vw,2.72rem); }
.kw-rc6-venue-description h2 { font-size: clamp(1.72rem,2.48vw,2.58rem); }
.kw-rc5-gallery-section h2 { font-size: clamp(1.9rem,2.7vw,2.8rem); }

/* 3. Afwerking van details en toegankelijkheid. */
.kw-inner-page .entry-content { line-height: 1.82; }
.kw-inner-page .entry-content p { max-width: 74ch; }
.kw-inner-page .entry-content :is(.wp-block-columns,.wp-block-group,.wp-block-cover) p { max-width: none; }
.kw-rc5-card,.kw-food-card { transition: transform .22s ease, box-shadow .22s ease; }
.kw-site-header .kw-header-cta { white-space: nowrap; }
.kw-rc5-gallery-image:focus-visible,.kw-food-feature-photo:focus-visible { outline: 3px solid var(--kw-accent); outline-offset: 4px; }
.kw-food-feature-text h2,.kw-rc5-card-body h3,.kw-food-card-content h3 { overflow-wrap: anywhere; }

@media (max-width: 920px) {
  .kw-has-overlay-header .kw-subpage-banner { height: 162px; }
  .kw-inner-page { padding-block: 42px 78px; }
  .kw-entry-header h1 { font-size: clamp(2.4rem,5.6vw,3.15rem); }
}
@media (max-width: 720px) {
  .kw-has-overlay-header .kw-subpage-banner { height: 141px; }
  .kw-has-overlay-header .kw-subpage-banner .kw-wave { height: min(42px,var(--kw-wave-height)); }
  .kw-inner-page { padding-block: 34px 66px; }
  .kw-entry-header { margin-bottom: 25px; }
  .kw-inner-page .kw-entry-header h1 { font-size: clamp(2.3rem,7.9vw,2.92rem); }
  .entry-content h1:not(.has-text-align-center),.entry-content h1.has-text-align-center { font-size: clamp(1.95rem,7.4vw,2.5rem); }
  .entry-content h2 { font-size: clamp(1.66rem,6.15vw,2.06rem); }
  .entry-content h3 { font-size: clamp(1.35rem,5.1vw,1.66rem); }
  .kw-hero h1 { font-size: clamp(2.85rem,10.9vw,4.5rem); }
  .kw-daghap h2 { font-size: clamp(2.4rem,9.8vw,3.25rem); }
  .kw-about h2 { font-size: clamp(2.4rem,8.9vw,3.08rem); }
  .kw-hall h2 { font-size: clamp(2.4rem,8.9vw,3.08rem); }
  .kw-history h2 { font-size: clamp(2.4rem,8.65vw,3.02rem); }
  .kw-food-hero h1 { font-size: clamp(2.85rem,9.7vw,4.8rem); }
  .kw-food-feature-text h2 { font-size: clamp(2.2rem,7.95vw,3.15rem); }
  .kw-food-section-heading h2 { font-size: clamp(2.18rem,8.7vw,3.15rem); }
  .kw-rc5-page-hero h1 { font-size: clamp(2.42rem,8.65vw,2.98rem); }
  .kw-rc5-single-title h1 { font-size: clamp(2.38rem,8.6vw,3.3rem); }
  .kw-rc5-section-heading h2 { font-size: clamp(2.12rem,8vw,3.06rem); }
  .kw-rc5-single-copy h2 { font-size: clamp(1.86rem,6.45vw,2.47rem); }
  .kw-food-card-content h3 { font-size: clamp(1.38rem,5.4vw,1.78rem); }
}
@media (max-width: 370px) {
  .kw-hero h1 { font-size: 2.7rem; }
  .kw-rc5-page-hero h1 { font-size: 2.38rem; }
}
@media (prefers-reduced-motion: reduce) {
  .kw-rc5-card,.kw-food-card,.kw-daghap .kw-daghap-image > img.kw-daghap-img { transition: none; }
}

/* RC5.10: Compacte homepage-ritmiek rond de boxed daghap.
   Daghap en huiskamer gebruiken dezelfde creme achtergrond. De tussenliggende
   decoratieve cream-op-cream golf is daarom verwijderd uit front-page.php. */
.kw-daghap {
  padding-top: clamp(24px, 2.9vw, 43px);
  padding-bottom: clamp(17px, 2vw, 30px);
}
.kw-about {
  padding-top: clamp(46px, 4.4vw, 63px);
}
@media (max-width: 920px) {
  .kw-daghap { padding-top: 27px; padding-bottom: 20px; }
  .kw-about { padding-top: 48px; }
}
@media (max-width: 720px) {
  .kw-daghap { padding-top: 20px; padding-bottom: 12px; }
  .kw-about { padding-top: 36px; }
}
