/* Movimiento medido para la tienda; las tarjetas aparecen al entrar en pantalla. */
.ae-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity .68s cubic-bezier(.2,.7,.2,1), transform .68s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
.ae-reveal.ae-visible { opacity: 1; transform: translate3d(0,0,0); will-change: auto; }
.catalog .product-card:nth-child(4n + 2).ae-reveal,
.featured-card:nth-child(4n + 2).ae-reveal { transition-delay: 70ms; }
.catalog .product-card:nth-child(4n + 3).ae-reveal,
.featured-card:nth-child(4n + 3).ae-reveal { transition-delay: 140ms; }
.catalog .product-card:nth-child(4n).ae-reveal,
.featured-card:nth-child(4n).ae-reveal { transition-delay: 210ms; }

/* El recorte llega con el hero y luego mantiene su flotación lenta. */
.hero-visual .hero-overlay-image {
  opacity: 0;
  animation: aeternaFloat 5.6s ease-in-out infinite,
             aeOverlayIntro .9s ease-out .35s both;
}
@keyframes aeOverlayIntro {
  from { opacity: 0; filter: blur(6px) drop-shadow(0 22px 22px rgba(0,0,0,.22)); }
  to { opacity: 1; filter: blur(0) drop-shadow(0 22px 22px rgba(0,0,0,.22)); }
}

.product-card .image-wrap { overflow: hidden; }
.product-card .image-wrap img { transition: transform .55s cubic-bezier(.2,.65,.2,1); }
@media (hover:hover) {
  .product-card:hover .image-wrap img { transform: scale(1.045); }
  .product-card:hover .card-meta h3 { text-decoration: underline; text-underline-offset: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .ae-reveal { opacity: 1; transform: none; transition: none; will-change: auto; }
  .hero-visual .hero-overlay-image { opacity: 1; animation: none; transform: translate(-50%,-50%); }
  .product-card .image-wrap img { transition: none; }
}
