/* KOR product preview 2026-08-11
   Progressive 1x -> 2x zoom driven by one requestAnimationFrame loop. */

#kor-products-grid .kor-product-card {
  position: relative !important;
  overflow: hidden !important;
}

#kor-products-grid .kor-product-card:hover {
  transform: none !important;
}

#kor-products-grid .kor-product-image-wrapper {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
}

#kor-products-grid .kor-product-image-wrapper > a {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
}

#kor-products-grid .kor-product-image-wrapper img.kor-product-image {
  position: absolute !important;
  top: 4% !important;
  left: 3% !important;
  width: 94% !important;
  height: 92% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: opacity 110ms linear !important;
  image-rendering: auto !important;
  pointer-events: none;
}

#kor-products-grid .kor-product-card:hover .kor-product-image,
#kor-products-grid .kor-product-card.is-kor-progressive-zoom .kor-product-image {
  transform: none !important;
  filter: none !important;
}

#kor-products-grid .kor-product-card.is-kor-progressive-zoom .kor-product-image {
  opacity: .1 !important;
}

#kor-product-preview-layer,
#kor-product-preview-layer:popover-open {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  pointer-events: none !important;
  z-index: 2147483600 !important;
}

#kor-product-preview-layer::backdrop {
  background: transparent !important;
  pointer-events: none !important;
}

#kor-product-preview-layer .kor-progressive-aura,
#kor-product-preview-layer .kor-progressive-shadow,
#kor-product-preview-layer .kor-progressive-image {
  position: absolute !important;
  display: block;
  pointer-events: none !important;
  user-select: none;
  transition: none !important;
  transform-origin: 50% 50%;
  backface-visibility: hidden;
  will-change: transform, opacity;
}

#kor-product-preview-layer .kor-progressive-aura {
  z-index: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at var(--kor-light-x, 50%) var(--kor-light-y, 38%),
      rgba(255, 240, 214, .34), transparent 35%),
    radial-gradient(ellipse at 50% 58%, rgba(48, 137, 255, .24), transparent 70%);
  opacity: 0;
  filter: blur(15px);
}

#kor-product-preview-layer .kor-progressive-shadow {
  z-index: 2;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(0, 0, 0, .52), rgba(0, 0, 0, .16) 50%, transparent 76%);
  opacity: 0;
  filter: blur(7px);
}

#kor-product-preview-layer img.kor-progressive-image {
  z-index: 3;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  image-rendering: auto !important;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 0, 0) scale(.5);
  filter: none !important;
}

@media (max-width: 767px) {
  #kor-product-preview-layer {
    display: none !important;
  }

  #kor-products-grid .kor-product-card.is-kor-progressive-zoom .kor-product-image {
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #kor-product-preview-layer .kor-progressive-aura {
    display: none !important;
  }
}
