/* Siteweiter Glasheader: feste Scrollschwelle statt Anteil der Seitenlänge. */
header.elementor-location-header .ao-header-surface.elementor-sticky--active:not(.elementor-sticky__spacer) {
  isolation: isolate;
}
header.elementor-location-header .ao-header-surface.elementor-sticky--active:not(.elementor-sticky__spacer)::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: rgba(0, 0, 0, .82);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
  backdrop-filter: blur(20px) saturate(120%);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
  opacity: 0;
  transition: opacity .12s ease-out;
}
html.ao-header-scrolled header.elementor-location-header .ao-header-surface.elementor-sticky--active:not(.elementor-sticky__spacer)::before {
  opacity: 1;
}
/* Elementor berechnet diese Hintergrund-Deckkraft relativ zur ganzen Seite.
   Der Glasfilm übernimmt sie; Inhalte und mobile Offcanvas-Flächen bleiben eigene Ebenen. */
header.elementor-location-header .ao-header-background {
  background-color: transparent !important;
  background-image: none !important;
}
header.elementor-location-header .ao-header-background > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: transparent !important;
  background-image: none !important;
}
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  header.elementor-location-header .ao-header-surface.elementor-sticky--active:not(.elementor-sticky__spacer)::before {
    background: rgba(0, 0, 0, .96);
  }
}
@media (max-width: 767px) {
  header.elementor-location-header .ao-header-surface.elementor-sticky--active:not(.elementor-sticky__spacer)::before { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  header.elementor-location-header .ao-header-surface::before { transition: none; }
}
