/* TiltedCard + GlareHover — Products images only */
#products .product-image-container {
  overflow: visible;
}

#products .product-tilted-card {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0;
  perspective: 800px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#products .product-tilted-card .tilted-card-inner {
  position: relative;
  width: 100%;
  transform-style: preserve-3d;
  will-change: transform;
}

#products .product-glare-hover {
  --gh-width: 100%;
  --gh-height: auto;
  --gh-bg: transparent;
  --gh-br: 0;
  --gh-border: transparent;
  --gh-angle: -30deg;
  --gh-duration: 800ms;
  --gh-size: 200%;
  --gh-rgba: rgba(56, 189, 248, 0.25);
  width: 100%;
  height: auto;
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: hidden;
  position: relative;
  display: block;
}

#products .product-glare-hover::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  background: linear-gradient(
    var(--gh-angle),
    hsla(0, 0%, 0%, 0) 60%,
    var(--gh-rgba) 70%,
    hsla(0, 0%, 0%, 0),
    hsla(0, 0%, 0%, 0) 100%
  );
  transition: var(--gh-duration) ease;
  background-size: var(--gh-size) var(--gh-size), 100% 100%;
  background-repeat: no-repeat;
  background-position: -100% -100%, 0 0;
}

#products .product-glare-hover:hover::before,
#products .product-tilted-card:hover .product-glare-hover::before {
  background-position: 100% 100%, 0 0;
}

#products .product-slide:hover .product-image-container .product-glare-hover img {
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  #products .product-tilted-card .tilted-card-inner {
    transform: none !important;
  }

  #products .product-glare-hover::before {
    display: none;
  }
}
