/* Reusable zoom-image styles — import alongside zoom-image.js */

.zoom-image {
  cursor: zoom-in;
  display: block;
  max-width: 100%;
  height: auto;
}

.zoom-image.is-zoomed-source {
  opacity: 0;
}

.zoom-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
}

.zoom-overlay__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  cursor: zoom-out;
  pointer-events: auto;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.zoom-overlay__backdrop.is-visible {
  opacity: 1;
}

.zoom-overlay__image {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: none;
  object-fit: contain;
  cursor: zoom-out;
  pointer-events: auto;
  will-change: transform;
}

body.zoom-scroll-lock {
  overflow: hidden;
}
