/* Scope deliberately excludes Albini swatches, gallery controls and other products. */
[data-aura-model-zoom] { overflow: hidden; }
[data-aura-model-zoom] > .aura-model-zoom-image {
  transform-origin: var(--aura-zoom-x, 50%) var(--aura-zoom-y, 45%);
}
[data-aura-model-zoom].aura-model-is-zoomed > .aura-model-zoom-image {
  transform: scale(2.2);
}
[data-aura-model-zoom] > .hero-shade { pointer-events: none; }
[data-aura-model-zoom] > .selection-badge { z-index: 2; pointer-events: none; }
.aura-model-zoom-toggle {
  position: absolute;
  z-index: 7;
  top: 16px;
  right: 16px;
  display: none;
  width: 36px;
  height: 36px;
  padding: 8px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(246, 243, 236, .8);
  border-radius: 50%;
  color: #fff;
  background: rgba(23, 57, 47, .82);
  cursor: pointer;
}
.aura-model-zoom-toggle svg { width: 18px; height: 18px; pointer-events: none; }
.hero-image-wrap > .aura-model-zoom-toggle { top: 26px; right: 80px; }
.aura-model-zoom-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  [data-aura-model-zoom] { cursor: zoom-in; }
  [data-aura-model-zoom].aura-model-is-zoomed { cursor: zoom-out; }
  .aura-model-zoom-toggle { display: inline-flex; }
}
@media (prefers-reduced-motion: no-preference) {
  [data-aura-model-zoom] > .aura-model-zoom-image { transition: transform 160ms ease-out; }
}
