.gallery-stage,.turntable{overflow:hidden}
.gallery-stage #gallery-image,.gallery-stage .pdp-motion video,.gallery-dialog .gallery-full,.turntable #hero,.turntable video{scale:var(--media-zoom,1);transform-origin:center;transition:scale .18s ease}
.media-zoom{position:absolute;bottom:14px;left:14px;display:flex;align-items:center;gap:0;z-index:25;background:rgba(255,255,255,.94);border:1px solid #d9ddd3;border-radius:24px;box-shadow:0 2px 12px #26372d0c;color:#26372d;overflow:hidden}
.media-zoom button{appearance:none;border:0;background:transparent;color:inherit;width:42px;height:44px;min-height:44px;display:grid;place-items:center;font:22px Arial,sans-serif;cursor:pointer;padding:0}
.media-zoom button.media-zoom-reset{width:54px;font-size:12px;font-variant-numeric:tabular-nums}
.media-zoom button:disabled{opacity:.3;cursor:default}.media-zoom button:focus-visible{outline:2px solid #304334;outline-offset:-4px}
.pdp-show-motion .gallery-stage>.media-zoom{bottom:48px}
.gallery-dialog>.media-zoom{position:absolute;bottom:14px;left:50%;translate:-50% 0}
@media(prefers-reduced-motion:reduce){.gallery-stage #gallery-image,.gallery-stage .pdp-motion video,.gallery-dialog .gallery-full,.turntable #hero,.turntable video{transition:none}}
/* Panning affects photographs only. Rotation retains its own pointer controls. */
.dynamic-gallery-stage{overflow:hidden}
.gallery-stage #gallery-image,.gallery-dialog .gallery-full,.dynamic-gallery-stage #dynamic-image,.turntable #hero{translate:var(--media-pan-x,0px) var(--media-pan-y,0px);user-select:none;-webkit-user-drag:none}
.media-is-zoomed #gallery-image,.media-is-zoomed .gallery-full,.media-is-zoomed #dynamic-image,.media-is-zoomed #hero{cursor:grab;touch-action:none;transition:none}
.media-panning #gallery-image,.media-panning .gallery-full,.media-panning #dynamic-image,.media-panning #hero{cursor:grabbing}
.option-motion-toggle{position:absolute;top:12px;right:12px;z-index:26;background:#fffffff0;color:#293d31;border:1px solid #d9ddd3;border-radius:24px;min-width:52px;min-height:44px;font-size:12px;cursor:pointer}
.option-motion{position:absolute;inset:0;z-index:27;background:#fff;touch-action:none;cursor:grab}
.option-motion video{width:100%;height:100%;object-fit:contain;background:#fff}
.option-motion input{position:absolute;bottom:12px;left:15%;width:70%;accent-color:#293d31}
.option-motion-toolbar{position:absolute;inset:12px 12px auto;display:flex;justify-content:space-between;gap:8px}
.option-motion-toolbar button{border:1px solid #d9ddd3;border-radius:24px;min-height:44px;padding:8px 16px;background:#fffffff0;color:#293d31;cursor:pointer;font-size:12px}
.option-motion-hint{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;color:#293d31;padding:14px 20px;background:#ffffffbf;border-radius:50px;opacity:0;pointer-events:none;transition:opacity .2s}
.option-motion-hint svg{width:30px;height:30px}.option-motion-hint strong{font-size:12px}.option-motion-hint small{font-size:10px}.option-motion.show-hint .option-motion-hint{opacity:1}
.option-motion-error{position:absolute;bottom:48px;padding:8px;background:#fff;color:#8d342a}
.option-motion-active>.media-zoom{visibility:hidden}
.option-motion[hidden],.option-motion-toggle[hidden]{display:none}

.gallery-dialog .media-zoom button{position:static;inset:auto;transform:none;flex-shrink:0}
