/* Reveal moves the contents, never the grid cell used by Flip/hover dim. */
@media (prefers-reduced-motion: no-preference) {
  /* Only the filter cell animates while categories are changing. */
  ul.products.bss-products-filtering > li.product.bss-product-viewport-reveal > .bss-product-reveal-content {
    opacity: 1;
    translate: 0 0;
    scale: 1;
    transition: none;
  }
  ul.products.bss-products-filter-ready > li.product.bss-product-filter-arriving {
    translate: 0 0;
    scale: 1;
    transition: opacity var(--bss-products-enter-duration, 1s) var(--bss-products-enter-ease, cubic-bezier(.16,1,.3,1)) var(--bss-products-enter-delay, 0s),
      translate var(--bss-products-enter-duration, 1s) var(--bss-products-enter-ease, cubic-bezier(.16,1,.3,1)) var(--bss-products-enter-delay, 0s),
      scale var(--bss-products-enter-duration, 1s) var(--bss-products-enter-ease, cubic-bezier(.16,1,.3,1)) var(--bss-products-enter-delay, 0s) !important;
  }
  ul.products.bss-products-filter-ready > li.product.bss-product-filter-arriving.bss-product-filter-enter {
    opacity: 0 !important;
    translate: 0 var(--bss-products-enter-y, 28px);
    scale: var(--bss-products-enter-scale, 1);
  }
  /* The filter controller waits for this configured duration before removal. */
  ul.products.bss-products-filter-ready > li.product.bss-product-filter-fading {
    opacity: 0 !important;
    translate: 0 var(--bss-products-leave-y, 28px);
    scale: var(--bss-products-leave-scale, 1);
    transition: opacity var(--bss-products-leave-duration, .4s) var(--bss-products-leave-ease, cubic-bezier(.4,0,.7,.3)),
      translate var(--bss-products-leave-duration, .4s) var(--bss-products-leave-ease, cubic-bezier(.4,0,.7,.3)),
      scale var(--bss-products-leave-duration, .4s) var(--bss-products-leave-ease, cubic-bezier(.4,0,.7,.3)) !important;
    pointer-events: none !important;
  }
  ul.products > li.product.bss-product-viewport-reveal > .bss-product-reveal-content {
    opacity: 0;
    translate: var(--bss-product-reveal-x, 0px) var(--bss-product-reveal-y, 24px);
    scale: var(--bss-product-reveal-scale, 1);
    transition: opacity var(--bss-reveal-duration, .55s) var(--bss-reveal-ease, cubic-bezier(.16,1,.3,1)) var(--bss-reveal-delay, 0s),
      translate var(--bss-reveal-duration, .55s) var(--bss-reveal-ease, cubic-bezier(.16,1,.3,1)) var(--bss-reveal-delay, 0s),
      scale var(--bss-reveal-duration, .55s) var(--bss-reveal-ease, cubic-bezier(.16,1,.3,1)) var(--bss-reveal-delay, 0s);
  }
  ul.products > li.product.bss-product-viewport-reveal.bss-reveal-inview > .bss-product-reveal-content {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }
  ul.products > li.product.bss-product-viewport-reveal.bss-reveal-initial-static > .bss-product-reveal-content {
    transition: none;
  }
}
