/* =========================================================
   STOKOLM — Animations
   Minimalisme par principe : transitions courtes, pas
   d'effets clinquants. Reduced motion respecté.
   ========================================================= */

/* Keyframes essentielles */
@keyframes fade-up {
    from { opacity: 0; transform: translate3d(0, 16px, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes scale-in {
    from { opacity: 0; transform: scale(0.97); }
    to   { opacity: 1; transform: scale(1); }
}

/* Classes utilitaires (max 400ms, easing calme) */
.anim-fade-up   { animation: fade-up 400ms var(--stk-ease) both; }
.anim-fade-in   { animation: fade-in 400ms var(--stk-ease) both; }
.anim-scale-in  { animation: scale-in 300ms var(--stk-ease) both; }

.anim-delay-1 { animation-delay: 80ms; }
.anim-delay-2 { animation-delay: 160ms; }
.anim-delay-3 { animation-delay: 240ms; }
.anim-delay-4 { animation-delay: 320ms; }
.anim-delay-5 { animation-delay: 400ms; }

/* Reduced motion : tout coupé */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
