/* Fichier : Oya/public/css/animatioms.css */
/* 1. Apparition fluide vers le haut pour les cartes et listes */
@keyframes slideUpFade {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}
.animate-slide-up {
    animation: slideUpFade 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* 2. Effet de chargement fantôme (Skeleton Shimmer - Style Bolt Food) */
@keyframes shimmer {
    0% { background-position: -1000px 0; }
    100% { background-position: 1000px 0; }
}
.skeleton-loading {
    background: #f6f7f8;
    background-image: linear-gradient(to right, #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%);
    background-repeat: no-repeat;
    background-size: 800px 100%; 
    animation: shimmer 1.6s linear infinite forwards;
}

/* 3. Micro-interaction dynamique lors de l'ajout au panier */
@keyframes cartBounce {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.08); }
}
.cart-bump {
    animation: cartBounce 0.3s ease-in-out;
}

/* 4. Indicateur d'alerte radar pour les notifications push */
@keyframes radarPulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 107, 0, 0.6); }
    70% { box-shadow: 0 0 0 20px rgba(255, 107, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 107, 0, 0); }
}
.pulse-active {
    animation: radarPulse 2s infinite cubic-bezier(0.4, 0, 0.6, 1);
}