

/* v6.7.80 · Nahtloser Fallback/Poster → Video-Übergang.
   Fallback (z-index:0) und Video (z-index:1) liegen deckungsgleich (position:absolute; inset:0;
   object-fit:cover). Das Video blendet nur per OPACITY ein – KEIN display-Wechsel, keine Layout-/
   Größenänderung. Sehr kurzer Fade (180ms), damit selbst bei minimalen Unterschieden nichts „umschaltet". */
.aml-hero-clean-video.aml-hero-has-video .aml-hero-clean-video__video{
  opacity:0;
  transition:opacity .18s linear;
  will-change:opacity;
  background:transparent;
}
.aml-hero-clean-video.aml-hero-has-video.aml-hero-video-ready .aml-hero-clean-video__video{
  opacity:1;
}

/* Bei aktivem Video darf das Fallback-/Posterbild NICHT zoomen (Ken Burns) – sonst driftet es gegen den
   statischen ersten Videoframe und der Übergang wird sichtbar. Poster bleibt exakt deckungsgleich. */
.aml-hero-clean-video.aml-hero-has-video .aml-hero-clean-video__fallback-slide img{
  animation:none !important;
  transform:none !important;
}

/* Sicherheitsnetz: bei echtem Video-Fehler das (unsichtbare) Video ganz raus, Fallback bleibt stehen. */
.aml-hero-clean-video.aml-hero-video-failed .aml-hero-clean-video__video{
  display:none !important;
  opacity:0 !important;
}

/* Solange das Video NICHT bereit ist, bleibt das Fallback-/Posterbild voll sichtbar (kein Leer-/Schwarzframe). */
.aml-hero-clean-video.aml-hero-has-video:not(.aml-hero-video-ready) .aml-hero-clean-video__fallback-slider{
  opacity:1;
  visibility:visible;
}

@media (prefers-reduced-motion: reduce){
  .aml-hero-clean-video .aml-hero-clean-video__video{transition:none;}
}
