/*
 * AOS — Animate On Scroll — Overrides Tango Climatad
 * Remplace les valeurs par défaut d'AOS pour un résultat plus soigné :
 *  • Distance de départ : 36px (vs 100px par défaut, trop dramatique)
 *  • Easing : cubic-bezier(0.16, 1, 0.3, 1) — type spring léger
 *  • Aucune transition sur [data-aos] avant que la lib soit prête
 */

/* Evite le flash avant que AOS.js soit initialisé */
html:not(.aos-initialized) [data-aos] {
  opacity: 1 !important;
  transform: none !important;
}

/* ── fade-up ─────────────────────────────── */
[data-aos="fade-up"] {
  transform: translateY(36px);
  opacity: 0;
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
[data-aos="fade-up"].aos-animate {
  transform: translateY(0);
  opacity: 1;
}

/* ── fade-right ──────────────────────────── */
[data-aos="fade-right"] {
  transform: translateX(-36px);
  opacity: 0;
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
[data-aos="fade-right"].aos-animate {
  transform: translateX(0);
  opacity: 1;
}

/* ── fade-left ───────────────────────────── */
[data-aos="fade-left"] {
  transform: translateX(36px);
  opacity: 0;
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
[data-aos="fade-left"].aos-animate {
  transform: translateX(0);
  opacity: 1;
}

/* ── fade (opacité seule) ────────────────── */
[data-aos="fade"] {
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
[data-aos="fade"].aos-animate {
  opacity: 1;
}

/* ── zoom-in ─────────────────────────────── */
[data-aos="zoom-in"] {
  transform: scale(0.94);
  opacity: 0;
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
[data-aos="zoom-in"].aos-animate {
  transform: scale(1);
  opacity: 1;
}

/* ── Classes de stagger (utiliser en combinaison avec data-aos) ─ */
[data-aos-delay="0"]   { transition-delay: 0ms   !important; }
[data-aos-delay="80"]  { transition-delay: 80ms  !important; }
[data-aos-delay="160"] { transition-delay: 160ms !important; }
[data-aos-delay="240"] { transition-delay: 240ms !important; }
[data-aos-delay="320"] { transition-delay: 320ms !important; }
[data-aos-delay="400"] { transition-delay: 400ms !important; }
[data-aos-delay="480"] { transition-delay: 480ms !important; }

/* ── Désactiver les animations sur mobile (performance) ───────── */
@media (max-width: 480px) {
  [data-aos] {
    opacity: 1     !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ── Respecter prefers-reduced-motion ────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    opacity: 1     !important;
    transform: none !important;
    transition: none !important;
  }
}
