
#dm-zoom-overlay{position:fixed;inset:0;z-index:100000;background:rgba(5,5,8,.94);display:none;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}
#dm-zoom-overlay.open{display:flex}
#dm-zoom-viewport{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}
#dm-zoom-img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;transform-origin:center center;will-change:transform;transition:transform .06s linear;cursor:zoom-in;pointer-events:auto}
#dm-zoom-img.dm-zoomed{cursor:grab}
#dm-zoom-img.dm-dragging{cursor:grabbing;transition:none}
#dm-zoom-close{position:fixed;top:22px;left:50%;transform:translateX(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,85,85,.5);background:rgba(10,10,15,.85);color:var(--white,#f5f8ff);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100001;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 18px rgba(0,0,0,.4)}
#dm-zoom-close:hover{border-color:rgba(255,85,85,.9);background:rgba(255,85,85,.12)}
#dm-zoom-hint{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:2px;color:rgba(245,248,255,.55);text-transform:uppercase;z-index:100001;pointer-events:none;white-space:nowrap}
body.simple-mode #dm-zoom-overlay{background:rgba(20,16,10,.94)}
body.simple-mode #dm-zoom-close{background:#fff;border-color:#c4bab0;color:#1a1108;box-shadow:var(--simple-shadow-sm,0 4px 14px rgba(38,24,12,.08))}
body.dm-zoom-lock{overflow:hidden !important;position:fixed !important;width:100% !important}
#dm-zoom-nav-prev,#dm-zoom-nav-next{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(10,10,15,.75);color:var(--white,#f5f8ff);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100001;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 18px rgba(0,0,0,.4)}
#dm-zoom-nav-prev{left:14px}
#dm-zoom-nav-next{right:14px}
#dm-zoom-nav-prev:hover,#dm-zoom-nav-next:hover{background:rgba(255,255,255,.16)}
#dm-zoom-nav-prev.dm-zoom-hidden,#dm-zoom-nav-next.dm-zoom-hidden{display:none}
#dm-zoom-swatches{position:fixed;bottom:66px;left:50%;transform:translateX(-50%);display:none;gap:8px;z-index:100001;flex-wrap:nowrap;max-width:92vw;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px 6px;box-sizing:border-box;border-radius:12px;background:rgba(10,10,15,.55)}
#dm-zoom-swatches::-webkit-scrollbar{display:none}
#dm-zoom-swatches .dm-zoom-swatch{flex:0 0 auto;scroll-snap-align:center}
#dm-zoom-swatches .dm-zoom-swatch{width:34px;height:34px;border-radius:8px;padding:0;overflow:hidden;cursor:pointer;background:#0a0a0f;border:1.5px solid rgba(255,255,255,.3)}
#dm-zoom-swatches .dm-zoom-swatch img{width:100%;height:100%;object-fit:cover;display:block}
#dm-zoom-swatches .dm-zoom-swatch.active{border-color:#ffc96a;box-shadow:0 0 0 2px rgba(255,201,106,.35)}
body.simple-mode #dm-zoom-nav-prev,body.simple-mode #dm-zoom-nav-next{background:#fff;border-color:#c4bab0;color:#1a1108}
/* Tap-to-hide: single tap toggles .dm-clean. Close button, colour swatches and hint always hide; side arrows hide on touch screens only (swipe replaces them), desktop keeps arrows. */
#dm-zoom-close,#dm-zoom-swatches,#dm-zoom-hint,#dm-zoom-nav-prev,#dm-zoom-nav-next{transition:opacity .2s ease,visibility .2s ease}
#dm-zoom-overlay.dm-clean #dm-zoom-close,#dm-zoom-overlay.dm-clean #dm-zoom-swatches,#dm-zoom-overlay.dm-clean #dm-zoom-hint{opacity:0;visibility:hidden;pointer-events:none}
@media (pointer:coarse){#dm-zoom-overlay.dm-clean #dm-zoom-nav-prev,#dm-zoom-overlay.dm-clean #dm-zoom-nav-next{opacity:0;visibility:hidden;pointer-events:none}}
#dm-zoom-overlay:fullscreen{background:rgba(5,5,8,1)}
#dm-zoom-img.dm-swap{animation:dmSwap .22s ease}
@keyframes dmSwap{from{opacity:.25}to{opacity:1}}
body.simple-mode #dm-zoom-swatches .dm-zoom-swatch{background:#fff;border-color:#c4bab0}
@media (max-width:600px){
  #dm-zoom-nav-prev,#dm-zoom-nav-next{width:38px;height:38px;font-size:18px}
  #dm-zoom-nav-prev{left:6px}
  #dm-zoom-nav-next{right:6px}
  #dm-zoom-swatches{bottom:52px;max-width:94vw}
  #dm-zoom-swatches .dm-zoom-swatch{width:28px;height:28px}
}
