/**
 * Drupal 11 region fixes.
 *
 * Drupal 11 renders an empty region's wrapper element (it still carries cache
 * metadata), whereas Drupal 8 printed nothing. Because this theme wraps every
 * region in its own element, those empty wrappers leave a white gap under the
 * header on pages that have no breadcrumb / slideshow / message. Hide a region
 * wrapper while its region has no content.
 */
.breadcrumb:not(:has(.region > *)),
.slideshow:not(:has(.region > *)),
.front-page-scroller:not(:has(.region > *)),
.newsletter:not(:has(.region > *)),
.map:not(:has(.region > *)) {
  display: none;
}

/* The messages region wrapper always holds a hidden JS fallback element, so the
 * rule above can't catch it. Collapse it until a real (server-rendered) or a
 * JS-injected message is actually present. */
.messages:not(:has(.message)):not(:has([data-drupal-messages-fallback]:not(.hidden))) {
  display: none;
}
