/**
 * GSAP Animation Styles
 * Styles pour les états initiaux des éléments animés
 */

/* État initial pour tous les éléments animés */
.gsap-fade-in,
.gsap-fade-in-up,
.gsap-fade-in-down,
.gsap-fade-in-left,
.gsap-fade-in-right,
.gsap-slide-in-left,
.gsap-slide-in-right,
.gsap-slide-in-up,
.gsap-slide-in-down,
.gsap-scale-in,
.gsap-rotate-in,
.gsap-bounce-in,
.gsap-flip-in,
.gsap-fade-in-stagger,
.gsap-slide-in-up-stagger,
.gsap-scale-in-stagger {
    opacity: 0;
    will-change: transform, opacity;
}

/* États initiaux spécifiques pour chaque type d'animation */
.gsap-fade-in-up {
    transform: translateY(100px);
}

.gsap-fade-in-down {
    transform: translateY(-100px);
}

.gsap-fade-in-left {
    transform: translateX(-100px);
}

.gsap-fade-in-right {
    transform: translateX(100px);
}

.gsap-slide-in-left {
    transform: translateX(-100px);
}

.gsap-slide-in-right {
    transform: translateX(100px);
}

.gsap-slide-in-up {
    transform: translateY(100px);
}

.gsap-slide-in-down {
    transform: translateY(-100px);
}

.gsap-scale-in {
    transform: scale(0);
}

.gsap-rotate-in {
    transform: rotate(-180deg);
}

.gsap-bounce-in {
    transform: scale(0);
}

.gsap-flip-in {
    transform: rotateY(-90deg);
}

/* Optimisations pour les performances */
.gsap-fade-in,
.gsap-fade-in-up,
.gsap-fade-in-down,
.gsap-fade-in-left,
.gsap-fade-in-right,
.gsap-slide-in-left,
.gsap-slide-in-right,
.gsap-slide-in-up,
.gsap-slide-in-down,
.gsap-scale-in,
.gsap-rotate-in,
.gsap-bounce-in,
.gsap-flip-in {
    backface-visibility: hidden;
    perspective: 1000px;
}

/* Désactiver les animations sur les appareils qui préfèrent moins de mouvement */
@media (prefers-reduced-motion: reduce) {
    .gsap-fade-in,
    .gsap-fade-in-up,
    .gsap-fade-in-down,
    .gsap-fade-in-left,
    .gsap-fade-in-right,
    .gsap-slide-in-left,
    .gsap-slide-in-right,
    .gsap-slide-in-up,
    .gsap-slide-in-down,
    .gsap-scale-in,
    .gsap-rotate-in,
    .gsap-bounce-in,
    .gsap-flip-in,
    .gsap-fade-in-stagger,
    .gsap-slide-in-up-stagger,
    .gsap-scale-in-stagger {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}

/* Animation de chargement pour les éléments qui apparaissent immédiatement */
.gsap-fade-in.immediate,
.gsap-fade-in-up.immediate,
.gsap-fade-in-down.immediate,
.gsap-fade-in-left.immediate,
.gsap-fade-in-right.immediate,
.gsap-slide-in-left.immediate,
.gsap-slide-in-right.immediate,
.gsap-slide-in-up.immediate,
.gsap-slide-in-down.immediate,
.gsap-scale-in.immediate,
.gsap-rotate-in.immediate,
.gsap-bounce-in.immediate,
.gsap-flip-in.immediate {
    opacity: 1;
    transform: none;
}

/* Classes utilitaires pour contrôler les animations */
.no-animation {
    opacity: 1 !important;
    transform: none !important;
}

.animation-delay-1 {
    animation-delay: 0.1s;
}
.animation-delay-2 {
    animation-delay: 0.2s;
}
.animation-delay-3 {
    animation-delay: 0.3s;
}
.animation-delay-4 {
    animation-delay: 0.4s;
}
.animation-delay-5 {
    animation-delay: 0.5s;
}
