/* ============================================================
   ANIMATIONS — FarmaVida
   ============================================================ */

@keyframes fadeIn        { from{opacity:0}          to{opacity:1} }
@keyframes fadeInUp      { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInDown    { from{opacity:0;transform:translateY(-14px)} to{opacity:1;transform:translateY(0)} }
@keyframes scaleIn       { from{opacity:0;transform:scale(0.94)} to{opacity:1;transform:scale(1)} }
@keyframes slideInRight  { from{transform:translateX(100%)} to{transform:translateX(0)} }
@keyframes slideOutRight { from{transform:translateX(0)} to{transform:translateX(100%)} }
@keyframes checkBounce   { 0%{transform:scale(0);opacity:0} 60%{transform:scale(1.2);opacity:1} 80%{transform:scale(0.92)} 100%{transform:scale(1);opacity:1} }
@keyframes badgePulse    { 0%{transform:scale(1)} 50%{transform:scale(1.4)} 100%{transform:scale(1)} }
@keyframes heartPop      { 0%{transform:scale(1)} 40%{transform:scale(1.35)} 70%{transform:scale(0.88)} 100%{transform:scale(1)} }
@keyframes shimmer       { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes countdown     { from{stroke-dashoffset:0} to{stroke-dashoffset:251} }
@keyframes toastIn       { from{transform:translateX(110%);opacity:0} to{transform:translateX(0);opacity:1} }
@keyframes toastOut      { from{transform:translateX(0);opacity:1} to{transform:translateX(110%);opacity:0} }
@keyframes floatY        { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes overlayIn     { from{opacity:0} to{opacity:1} }
@keyframes searchExpand  { from{opacity:0;transform:translateY(-8px) scale(0.97)} to{opacity:1;transform:translateY(0) scale(1)} }

/* Classes */
.anim-fade-in     { animation: fadeIn     220ms ease forwards; }
.anim-fade-in-up  { animation: fadeInUp   400ms ease forwards; }
.anim-scale-in    { animation: scaleIn    300ms ease forwards; }
.anim-float-y     { animation: floatY     4.5s  ease-in-out infinite; }

.cart-badge.pulse { animation: badgePulse 380ms ease; }
.wishlist-btn.heart-pop { animation: heartPop 350ms ease; }

.toast            { animation: toastIn    300ms ease forwards; }
.toast.removing   { animation: toastOut   250ms ease forwards; }

.skeleton {
  background: linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);
  background-size: 200% 100%;
  animation: shimmer 1.4s infinite;
  border-radius: var(--radius-sm);
}
