/**
 * Projects Gallery - Animations
 *
 * Fichier séparé pour les animations (peut être supprimé si nécessaire)
 * @package DiviPascaline
 */

/* ==========================================================================
   Animation d'apparition initiale
   ========================================================================== */

.pg-card {
    opacity: 0;
    transform: translateY(20px);
}

.pg-card.pg-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

/* Délais progressifs pour l'effet stagger */
.pg-card.pg-visible:nth-child(1) { transition-delay: 0ms; }
.pg-card.pg-visible:nth-child(2) { transition-delay: 50ms; }
.pg-card.pg-visible:nth-child(3) { transition-delay: 100ms; }
.pg-card.pg-visible:nth-child(4) { transition-delay: 150ms; }
.pg-card.pg-visible:nth-child(5) { transition-delay: 200ms; }
.pg-card.pg-visible:nth-child(6) { transition-delay: 250ms; }
.pg-card.pg-visible:nth-child(7) { transition-delay: 300ms; }
.pg-card.pg-visible:nth-child(8) { transition-delay: 350ms; }
.pg-card.pg-visible:nth-child(n+9) { transition-delay: 400ms; }

/* ==========================================================================
   Animation de filtrage
   ========================================================================== */

.pg-card.pg-filter-exit {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.25s ease-out, transform 0.25s ease-out;
}

.pg-card.pg-filter-enter {
    opacity: 0;
    transform: scale(0.95);
}

.pg-card.pg-filter-enter-active {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

/* Délais progressifs pour l'entrée des filtres */
.pg-card.pg-filter-enter-active:nth-child(1) { transition-delay: 0ms; }
.pg-card.pg-filter-enter-active:nth-child(2) { transition-delay: 40ms; }
.pg-card.pg-filter-enter-active:nth-child(3) { transition-delay: 80ms; }
.pg-card.pg-filter-enter-active:nth-child(4) { transition-delay: 120ms; }
.pg-card.pg-filter-enter-active:nth-child(5) { transition-delay: 160ms; }
.pg-card.pg-filter-enter-active:nth-child(6) { transition-delay: 200ms; }
.pg-card.pg-filter-enter-active:nth-child(n+7) { transition-delay: 240ms; }

/* ==========================================================================
   Animation au scroll (pour les cartes hors écran)
   ========================================================================== */

.pg-card.pg-scroll-hidden {
    opacity: 0;
    transform: translateY(30px);
}

.pg-card.pg-scroll-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

/* ==========================================================================
   Désactiver les animations si préférence utilisateur
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .pg-card,
    .pg-card.pg-visible,
    .pg-card.pg-filter-exit,
    .pg-card.pg-filter-enter,
    .pg-card.pg-filter-enter-active,
    .pg-card.pg-scroll-hidden,
    .pg-card.pg-scroll-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
