/* Animations personnalisées pour AOS bidirectionnelles */

/* Configuration de base pour tous les éléments AOS */
[data-aos] {
    pointer-events: auto;
    transition-property: transform, opacity;
    transition-duration: 0.6s;
    transition-timing-function: ease-out;
}

/* Fade-in doux */
[data-aos="fade-up"] {
    transform: translate3d(0, 40px, 0);
    opacity: 0;
}

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

[data-aos="fade-down"] {
    transform: translate3d(0, -40px, 0);
    opacity: 0;
}

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

[data-aos="fade-left"] {
    transform: translate3d(-40px, 0, 0);
    opacity: 0;
}

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

[data-aos="fade-right"] {
    transform: translate3d(40px, 0, 0);
    opacity: 0;
}

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

/* Zoom subtle */
[data-aos="zoom-in"] {
    transform: scale(0.9);
    opacity: 0;
}

[data-aos="zoom-in"].aos-animate {
    transform: scale(1);
    opacity: 1;
}

/* Slide avec bounce léger */
[data-aos="slide-up"] {
    transform: translate3d(0, 60px, 0);
    opacity: 0;
}

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

/* Animation spéciale pour les titres */
.title-animation {
    overflow: hidden;
}

[data-aos="title-reveal"] {
    transform: translateY(100%);
}

[data-aos="title-reveal"].aos-animate {
    transform: translateY(0);
}

/* Animation pour les cards/widgets */
.music-widget-container,
.event-card,
.video-card,
.news-card,
.gallery-item {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.music-widget-container:hover,
.event-card:hover,
.video-card:hover,
.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}

/* Animation staggerée pour les éléments de liste */
[data-aos-delay="100"] { transition-delay: 0.1s; }
[data-aos-delay="200"] { transition-delay: 0.2s; }
[data-aos-delay="300"] { transition-delay: 0.3s; }
[data-aos-delay="400"] { transition-delay: 0.4s; }
[data-aos-delay="500"] { transition-delay: 0.5s; }

/* Effets spéciaux pour les sections */
.section-animate {
    position: relative;
    overflow: hidden;
}

.section-animate::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0) 100%);
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
    z-index: 1;
}

.section-animate.aos-animate::before {
    opacity: 1;
}

/* Amélioration des transitions globales */
* {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Animation pour les icônes */
[data-aos="icon-bounce"] {
    transform: scale(0.3) rotate(-45deg);
    opacity: 0;
}

[data-aos="icon-bounce"].aos-animate {
    transform: scale(1) rotate(0deg);
    opacity: 1;
}

/* Timings personnalisés */
.aos-duration-600 { transition-duration: 0.6s !important; }
.aos-duration-800 { transition-duration: 0.8s !important; }
.aos-duration-1000 { transition-duration: 1s !important; }
.aos-duration-1200 { transition-duration: 1.2s !important; }

/* Easing personnalisé */
.aos-easing-smooth { transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important; }
.aos-easing-bounce { transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55) !important; }

/* Optimisation des animations bidirectionnelles */
