@keyframes slideUpFade {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cartBounce {
  0% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.5);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes popIn {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

[data-reveal],
.section-title,
.stat-card {
  opacity: 0;
  transform: translateY(16px);
}

.reveal-on-load,
.in-view {
  animation: slideUpFade 0.6s ease-out forwards;
}

.cart-badge.bump {
  animation: cartBounce 0.4s ease;
}

.pop {
  animation: popIn 0.25s ease;
}
