/* Wrapper below the summary */
.ivs-block { margin: 24px 0; }

/* Zoom controls */
.ivs-zoom-controls {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  user-select: none;
}
.ivs-zoom-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid #e2e2e2;
  background: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.ivs-zoom-btn:active { transform: translateY(1px); }
.ivs-zoom-level { font-size: 14px; color: #555; }

/* Wrapper & stage for zoom/pan */
.ivs-image-wrapper {
  position: relative;
  width: 100%;
  max-width: 720px;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
  background: #fff;
}

.ivs-zoom-stage {
  position: relative;
  transform-origin: center center;
  touch-action: none;
  cursor: grab;
}
.ivs-zoom-stage.is-dragging { cursor: grabbing; }

.ivs-main-img {
  display: block;
  width: 100%;
  height: auto;
}

/* Pins */
.ivs-pin {
  width: 18px;
  height: 18px;
  background-color: #dc3232;
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 0 5px rgba(0,0,0,0.4);
  z-index: 5;
}
.ivs-pin:hover { background-color: #b90000; }

.ivs-tooltip {
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.75);
  color: #fff;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  z-index: 10;
}
