/* Santuario UI — editorial product image system. */
.santuario-product-card .santuario-bag-image {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  min-height: var(--st-image-stage-height) !important;
  margin: 0 0 18px !important;
  isolation: isolate !important;
}

.santuario-product-card .santuario-bag-image::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: min(92%, 250px);
  aspect-ratio: 1 / 1.05;
  border-radius: 50%;
  background: radial-gradient(
    ellipse at center,
    var(--st-image-glow) 0%,
    rgba(255, 253, 249, .66) 52%,
    rgba(255, 253, 249, 0) 76%
  );
  pointer-events: none;
}

.santuario-product-card .santuario-bag-image :is(.elementor-widget-container, a, figure) {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-height: inherit !important;
  margin: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

.santuario-product-card .santuario-bag-image img {
  display: block !important;
  width: auto !important;
  max-width: var(--st-bag-width) !important;
  max-height: var(--st-bag-max-height) !important;
  height: auto !important;
  margin-inline: auto !important;
  object-fit: contain !important;
  opacity: 0;
  transform: translateY(5px) scale(.985);
  filter: drop-shadow(var(--st-image-shadow)) !important;
  transition:
    opacity 360ms ease,
    transform var(--st-transition),
    filter var(--st-transition) !important;
}

.santuario-product-card .santuario-bag-image.is-loaded img,
.santuario-product-card .santuario-bag-image img.is-loaded {
  opacity: 1;
  transform: none;
}

/* Softly dissolves white rectangular source images into the card surface. */
.santuario-product-card .santuario-bag-image.santuario-image-fade img {
  -webkit-mask-image: radial-gradient(ellipse 96% 98% at 50% 49%, #000 0 80%, rgba(0,0,0,.98) 87%, rgba(0,0,0,.58) 95%, transparent 100%);
  mask-image: radial-gradient(ellipse 96% 98% at 50% 49%, #000 0 80%, rgba(0,0,0,.98) 87%, rgba(0,0,0,.58) 95%, transparent 100%);
}

.santuario-product-card:hover .santuario-bag-image img {
  transform: translateY(-4px) scale(1.012);
  filter: drop-shadow(0 20px 21px rgba(35, 25, 20, .16)) !important;
}

@media (prefers-reduced-motion: reduce) {
  .santuario-product-card .santuario-bag-image img {
    transition: none !important;
    transform: none !important;
  }
}
