/* Interaction polish without altering the site's layout or default visibility. */
@media (prefers-reduced-motion: reduce) {
  /* ScrollTrigger can temporarily restore an inline scroll-behavior value. */
  html { scroll-behavior: auto !important; }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .product-image > img,
  .gallery-grid img {
    transition: transform .55s cubic-bezier(.22,.61,.36,1);
  }
  .product-image,
  .gallery-grid [data-lightbox] {
    overflow: hidden;
    display: block;
  }
  .product-card:hover .product-image > img,
  .product-card:focus-within .product-image > img,
  .gallery-grid [data-lightbox]:hover img,
  .gallery-grid [data-lightbox]:focus-visible img {
    transform: scale(1.025);
  }
  .text-link > span {
    display: inline-block;
    transition: transform .25s ease;
  }
  .text-link:hover > span,
  .text-link:focus-visible > span {
    transform: translate(3px, -1px);
  }
  .filters a {
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
  }
}
