/**
 * ============================================================================
 * CAROUSEL LUXURY - Animations premium pour le slider
 * ============================================================================
 * Aurum Conseil - Transitions elegantes et sophistiquees
 * - Ken Burns subtil (zoom lent)
 * - Fade croise plus doux
 * - Animation cascade du texte
 * ============================================================================
 */

/* ============================================================================
   1. TRANSITION FADE PLUS DOUCE
   ============================================================================
   Remplace la transition brusque par un fondu plus elegant
   ============================================================================ */

.slide {
    transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Le slide sortant s'efface plus lentement */
.slide:not(.active) {
    transition: opacity 2.2s cubic-bezier(0.4, 0, 0.6, 1) !important;
}

/* ============================================================================
   2. EFFET KEN BURNS - Zoom subtil pendant l'affichage
   ============================================================================
   L'image zoome lentement de 1.0 a 1.06 pendant l'affichage
   Cree un effet cinematographique elegant
   ============================================================================ */

@keyframes kenBurnsZoom {
    0% {
        transform: scale(1.0);
    }
    100% {
        transform: scale(1.06);
    }
}

@keyframes kenBurnsZoomReverse {
    0% {
        transform: scale(1.06);
    }
    100% {
        transform: scale(1.0);
    }
}

/* Appliquer Ken Burns sur le slide actif */
.slide.active {
    animation: kenBurnsZoom 8s ease-out forwards !important;
}

/* Alterner la direction pour varier l'effet */
.slide:nth-child(even).active {
    animation: kenBurnsZoomReverse 8s ease-out forwards !important;
}

/* ============================================================================
   3. ANIMATION CASCADE DU TEXTE
   ============================================================================
   Le titre, la description et les boutons apparaissent en sequence
   Cree une hierarchie visuelle elegante
   ============================================================================ */

/* Etat initial - tout est invisible et decale */
.slide .slide-content h2,
.slide .slide-content p,
.slide .slide-content .btn-group {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Quand le slide est actif - animation en cascade */
.slide.active .slide-content h2 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.3s;
}

.slide.active .slide-content p {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.6s;
}

.slide.active .slide-content .btn-group {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.9s;
}

/* ============================================================================
   4. AMELIORATION DES BOUTONS
   ============================================================================
   Effet hover plus elegant sur les boutons du slider
   ============================================================================ */

.slide-btn {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    overflow: hidden;
}

.slide-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transition: left 0.6s ease;
}

.slide-btn:hover::before {
    left: 100%;
}

.slide-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(197, 160, 89, 0.3);
}

/* ============================================================================
   5. DOTS NAVIGATION - Animation plus fluide
   ============================================================================ */

.dot {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.dot.active {
    transform: scale(1.4);
    box-shadow: 0 0 15px rgba(197, 160, 89, 0.5);
}

.dot:hover:not(.active) {
    background-color: rgba(197, 160, 89, 0.5);
    transform: scale(1.15);
}

/* ============================================================================
   6. SCROLL INDICATOR - Animation plus douce
   ============================================================================ */

@keyframes gentleBounce {
    0%, 100% {
        transform: translateY(0);
        opacity: 0.7;
    }
    50% {
        transform: translateY(8px);
        opacity: 1;
    }
}

.scroll-indicator {
    animation: gentleBounce 2.5s ease-in-out infinite !important;
}

/* ============================================================================
   7. RESPONSIVE - Ajustements mobile
   ============================================================================ */

@media (max-width: 768px) {
    /* Ken Burns plus subtil sur mobile */
    .slide.active {
        animation: kenBurnsZoom 10s ease-out forwards !important;
    }

    .slide:nth-child(even).active {
        animation: kenBurnsZoomReverse 10s ease-out forwards !important;
    }

    /* Cascade plus rapide sur mobile */
    .slide.active .slide-content h2 {
        transition-delay: 0.2s;
    }

    .slide.active .slide-content p {
        transition-delay: 0.4s;
    }

    .slide.active .slide-content .btn-group {
        transition-delay: 0.6s;
    }
}

/* ============================================================================
   8. PREFERS REDUCED MOTION - Accessibilite
   ============================================================================ */

@media (prefers-reduced-motion: reduce) {
    .slide {
        transition: opacity 0.5s ease !important;
    }

    .slide.active {
        animation: none !important;
    }

    .slide .slide-content h2,
    .slide .slide-content p,
    .slide .slide-content .btn-group {
        transition: none !important;
        opacity: 1;
        transform: none;
    }

    .scroll-indicator {
        animation: none !important;
    }
}
