.product-gallery button.product-shot{border:0;padding:0;cursor:zoom-in;font:inherit}
.product-gallery button.product-shot:focus-visible{outline:2px solid #555;outline-offset:3px}
html.screenshot-viewer-open,html.screenshot-viewer-open body{overflow:hidden}
.screenshot-viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(15,15,15,.96);color:#fff;overflow:hidden;box-sizing:border-box;z-index:1000}
.screenshot-viewer:not([open]){display:none}
.screenshot-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.screenshot-viewer::backdrop{background:rgba(0,0,0,.8)}
.screenshot-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top));min-height:60px;box-sizing:border-box}
.screenshot-viewer-head h2{margin:0;font-size:15px;font-weight:500;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.screenshot-viewer button{border:1px solid #666;background:#292929;color:#fff;font:inherit;cursor:pointer;border-radius:8px;min-height:44px;min-width:44px;padding:8px 14px;touch-action:manipulation}
.screenshot-viewer button:hover{background:#444}
.screenshot-viewer button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.screenshot-viewer button:disabled{opacity:.35;cursor:default}
.screenshot-viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:8px 72px;overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none;cursor:grab}
.screenshot-viewer-stage.is-dragging{cursor:grabbing}
.screenshot-viewer-image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;transition:transform .16s ease;visibility:hidden}
.screenshot-viewer-stage[data-state="ready"] .screenshot-viewer-image{visibility:visible}
.screenshot-viewer-stage.is-dragging .screenshot-viewer-image{transition:none}
.screenshot-viewer-message{position:absolute;left:20px;right:20px;top:50%;transform:translateY(-50%);text-align:center;color:#ddd;font-size:14px;line-height:1.8;pointer-events:none}
.screenshot-viewer-retry{pointer-events:auto;margin:12px auto 0}
.screenshot-viewer [hidden]{display:none!important}
.screenshot-viewer-footer{display:flex;align-items:center;justify-content:center;gap:22px;padding:12px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom));font-size:13px;color:#ddd}
.screenshot-viewer-count{min-width:58px;text-align:center;font-variant-numeric:tabular-nums}
.screenshot-viewer-hint{text-align:center;font-size:12px;color:#aaa;margin:0;padding-bottom:8px}
@media(max-width:600px){.screenshot-viewer-head{padding-left:16px;padding-right:16px}.screenshot-viewer-stage{padding:4px 12px}.screenshot-viewer-footer{gap:24px}.screenshot-viewer-head h2{font-size:14px}.screenshot-viewer button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.screenshot-viewer-image{transition:none}}
