/* ImageZoomModal styles */
.zoom-modal {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.75);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zoom-modal-container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.close-button {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: white;
  z-index: 999999;
  font-size: 1.5rem;
  cursor: pointer;
}

.close-button:hover {
  color: #d1d5db;
}

.nav-button-zoom {
  position: absolute;
  color: white;
  z-index: 999999;
  font-size: 2rem;
  width: 48px;
  height: 48px;
  padding: 0;
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}

.nav-button-zoom:hover {
  color: #d1d5db;
  background-color: rgba(0, 0, 0, 0.4);
}

.nav-button-zoom.left {
  left: 1.5rem;
}

.nav-button-zoom.right {
  right: 1.5rem;
}

.nav-button-zoom.left,
.nav-button-zoom.right {
  display: block;
}

/* Hide zoom nav buttons on small screens (mobile) */
@media (max-width: 767px) {

  .nav-button-zoom.left,
  .nav-button-zoom.right {
    display: none;
  }
}

.zoom-image-container {
  position: relative;
  width: 90vw;
  height: 90vh;
  overflow: hidden;
  z-index: 999999;
}

.zoom-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: translateZ(0);
  z-index: 999999;
}

/* Ensure modal is above everything when open */
body.has-preview-modal-open {
  overflow: hidden;
}
