/**
 * Scroll Animations - Module Racines
 * Animations légères au scroll
 */

/* Base */
.wow {
  opacity: 0;
  transition:
    opacity 0.4s ease-out,
    transform 0.4s ease-out;
}

.wow.is-visible {
  opacity: 1;
  transform: none !important;
}

/* Variations d'animations */
.fade-up {
  transform: translateY(30px);
}

.fade-down {
  transform: translateY(-30px);
}

.fade-left {
  transform: translateX(30px);
}

.fade-right {
  transform: translateX(-30px);
}

.fade-in {
  /* Juste opacité, pas de mouvement */
}

.scale-in {
  transform: scale(0.95);
}

.zoom-in {
  transform: scale(0.9);
}

/* Reveal type clip-path from top (rideau qui descend) */
.clip-down {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  opacity: 1;
  transition:
    -webkit-clip-path 0.9s cubic-bezier(0.77, 0, 0.175, 1),
    clip-path 0.9s cubic-bezier(0.77, 0, 0.175, 1);
}

.clip-down.is-visible {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}

/* Slide horizontal (filets, dividers) - origine gauche */
.slide-right {
  transform: scaleX(0);
  transform-origin: left;
  opacity: 1;
  transition: transform 0.9s cubic-bezier(0.77, 0, 0.175, 1);
}

.slide-right.is-visible {
  transform: scaleX(1);
}

/* Durées alternatives */
.animate-slow {
  transition-duration: 1s;
}

.animate-fast {
  transition-duration: 0.3s;
}

/* Respect des préférences utilisateur (accessibilité) */
@media (prefers-reduced-motion: reduce) {
  .wow,
  .clip-down,
  .slide-right {
    opacity: 1 !important;
    transform: none !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    transition: none;
  }
}
