/**
 * File: aos-overrides.css
 * Purpose: Custom AOS (Animate On Scroll) effect refinements: smoother easing, shorter travel distances,
 *          reduced motion handling and interaction enablement during animations.
 */
[data-aos] {
  /* Entfernt visibility:hidden wegen Safari Spät-Paint / IO Delay – nur opacity + transform für sanfteres FOUC-Free Laden */
  will-change: transform, opacity;
  opacity: 0;
  transition-property: transform, opacity;
  pointer-events: none; /* Interaktive Elemente erst nach Animation aktiv */
}

/* Sofortiger Endzustand bei Zurück-Navigation aus bfcache (Klasse wird via JS gesetzt) */

[data-aos='fade-up-slow'] {
  transform: translate3d(0, 32px, 0);
  opacity: 0;
  transition-duration: 640ms;
  transition-timing-function: cubic-bezier(.22,.61,.36,1);
}
.aos-animate[data-aos='fade-up-slow'] {
  transform: translate3d(0,0,0);
  opacity: 1;
  pointer-events: auto;
}

[data-aos='zoom-in-soft'] {
  transform: scale(.94) translate3d(0,16px,0);
  opacity: 0;
  transition-duration: 600ms;
  transition-timing-function: cubic-bezier(.16,.84,.44,1);
}
.aos-animate[data-aos='zoom-in-soft'] {
  transform: scale(1) translate3d(0,0,0);
  opacity: 1;
  pointer-events: auto;
}

.aos-animate .btn, .aos-animate .btn-cta, .aos-animate .btn-secondary, .aos-animate button, .aos-animate input, .aos-animate textarea, .aos-animate select {
  pointer-events: auto;
}

.aos-animate[data-aos='fade-up'] { transform: translate3d(0,0,0); opacity: 1; }

body.aos-prep [data-aos] { opacity: 0; }

html { scroll-behavior: smooth; }

body.ios-bfcache-no-transitions [data-aos] {
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Safari spezifische kleine Verbesserungen für GPU Komposition */
@supports (-webkit-touch-callout: none) {
  [data-aos] { backface-visibility: hidden; -webkit-font-smoothing: antialiased; }
}
