.lightbox-track {
  touch-action: none;
}

.lightbox-slide {
  overflow: hidden;
}

.lightbox-slide img {
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: center center;
  transition: transform 160ms ease;
  will-change: transform;
  cursor: zoom-in;
}

.lightbox-slide img.zoom-moving {
  transition: none;
}

.lightbox-slide img.is-zoomed {
  cursor: grab;
}

.lightbox-slide img.is-zoomed.zoom-moving {
  cursor: grabbing;
}

.lightbox.zoomed .lightbox-track {
  overflow: hidden;
  scroll-snap-type: none;
}

.zoom-controls {
  position: absolute;
  right: 24px;
  bottom: 22px;
  z-index: 4;
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 5px;
  background: rgba(0,0,0,.52);
  color: #fff;
  backdrop-filter: blur(4px);
}

.zoom-controls button {
  width: 42px;
  height: 38px;
  border: 0;
  background: transparent;
  color: inherit;
  font: 22px/1 Montserrat, Arial, sans-serif;
  cursor: pointer;
}

.zoom-controls button:hover,
.zoom-controls button:focus-visible {
  background: rgba(255,255,255,.16);
  outline: none;
}

.zoom-level {
  min-width: 58px;
  font-size: 12px;
  text-align: center;
}

@media (max-width: 850px), (pointer: coarse) {
  .zoom-controls {
    display: none;
  }

  .lightbox-slide img,
  .lightbox-slide img.is-zoomed,
  .lightbox-slide img.is-zoomed.zoom-moving {
    cursor: default;
  }
}
