/* ============================================================
   animations.css — All @keyframes definitions, centralized.
   Referenced by name from navbar.css, product.css, and
   checkout.css. Keeping every keyframe in one file makes it
   easy to see (and reuse) the site's full motion vocabulary.
   ============================================================ */

/* Badge pulse (used on cart/notification count badges) */
@keyframes pop { 0%{transform:scale(1)}50%{transform:scale(1.4)}100%{transform:scale(1)} }
.badge-pop { animation: pop 0.25s ease; }

/* Generic modal entrance animations */
@keyframes modalSlideUp { from{opacity:0;transform:translateY(30px) scale(0.97)} to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes modalIn { from{opacity:0;transform:scale(0.95) translateY(10px)} to{opacity:1;transform:scale(1) translateY(0)} }

/* Toast enter/exit (welcome toast, promo notification toast) */
@keyframes toastIn  { from{opacity:0;transform:translateY(30px) scale(0.95)} to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes toastOut { from{opacity:1;transform:translateY(0) scale(1)} to{opacity:0;transform:translateY(30px) scale(0.95)} }

/* Notification bell ring */
@keyframes bellRing { 0%{transform:rotate(0)} 15%{transform:rotate(15deg)} 30%{transform:rotate(-12deg)} 45%{transform:rotate(10deg)} 60%{transform:rotate(-8deg)} 75%{transform:rotate(5deg)} 100%{transform:rotate(0)} }

/* Promo notification pop-in */
@keyframes promoPopIn { from{opacity:0;transform:scale(0.9) translateY(20px)} to{opacity:1;transform:scale(1) translateY(0)} }

/* Checkout "dispatch" pay button twinkling stars */
@keyframes payTwinkle { from{opacity:0.15} to{opacity:0.9} }

/* Announcement bar message fade */
@keyframes announceFade { from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:translateY(0)} }
