/* =====================================================
   EC@RT — Zone 01 Poster
   Core viewer : structure stable du zoom / image
===================================================== */

.zone-main,
.viewer,
.image-viewer {
  position: relative;
  width: 100%;
  height: 100vh;
  background: #000;
  overflow: hidden;
}

.image-viewer {
  cursor: grab;
  touch-action: none;
  isolation: isolate;

  --depth: 0;
  --veil: 0;
  --memory: 0;
}

.image-viewer.is-dragging {
  cursor: grabbing;
}

.zoom-image,
.layer-image,
.memory-fragment {
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: none;
  width: auto;
  height: auto;
  transform-origin: center center;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  will-change: transform, opacity, filter, clip-path;
}

.zoom-image {
  z-index: 1;
  opacity: 1;
}

.layer-image {
  z-index: 2;
  opacity: 0;
  mix-blend-mode: screen;
}

.memory-fragment {
  z-index: 8;
  opacity: 0;
  overflow: hidden;
  mix-blend-mode: normal;
  filter: contrast(1.04) saturate(0.82) brightness(0.82);
  box-shadow:
    0 0 18px rgba(255, 255, 255, 0.28),
    inset 0 0 32px rgba(255, 255, 255, 0.08);
}

@media (max-width: 900px) {
  .zone-main,
  .viewer,
  .image-viewer {
    height: 100svh;
  }
}
