.page-transition {
  animation: pageFade 0.45s ease both;
}

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

.reveal-item {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.header-cart-count.is-bump {
  animation: bump 0.35s ease;
}

@keyframes bump {
  0% { transform: scale(1); }
  40% { transform: scale(1.24); }
  100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .page-transition,
  .reveal-item,
  .product-tile,
  .mini-cart-drawer,
  .header-cart-count {
    animation: none !important;
    transition: none !important;
  }
}

@media (min-width: 375px) {
  .reveal-item {
    transition-duration: 0.48s;
  }
}

@media (min-width: 768px) {
  .reveal-item {
    transition-duration: 0.58s;
  }
}

@media (min-width: 1280px) {
  .reveal-item {
    transition-duration: 0.64s;
  }
}

@media (min-width: 1600px) {
  .reveal-item {
    transition-duration: 0.7s;
  }
}
