/* home-reveal.css — microanimaciones de entrada para las secciones del home.
   Port del patrón Gallery (country.css): oculto + translateY, revela .is-in
   con easing editorial. Archivo del PORT — no existe en el mockup, los
   re-syncs no lo pisan. El hero carousel NO se anima (es el LCP y ya tiene
   su propia animación de slides). */

.bestsellers__header,
.bestsellers__grid .bestseller-card,
.feature-split__image,
.feature-split__content,
.feature-trio__media,
.feature-trio__content,
.categorias .cat-tile,
.editorial-row__media-wrap,
.editorial-row__content {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 700ms var(--easing-editorial),
    transform 700ms var(--easing-editorial);
}

.bestsellers__header.is-in,
.bestsellers__grid .bestseller-card.is-in,
.feature-split__image.is-in,
.feature-split__content.is-in,
.feature-trio__media.is-in,
.feature-trio__content.is-in,
.categorias .cat-tile.is-in,
.editorial-row__media-wrap.is-in,
.editorial-row__content.is-in {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .bestsellers__header,
  .bestsellers__grid .bestseller-card,
  .feature-split__image,
  .feature-split__content,
  .feature-trio__media,
  .feature-trio__content,
  .categorias .cat-tile,
  .editorial-row__media-wrap,
  .editorial-row__content {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
