/* This view is deliberately opt-in: normal gallery scrolling remains native. */
dm-scene-viewer{display:contents}.gallery-main:has(+dm-scene-viewer){position:relative}
.product-gallery{position:relative}.gallery-explore{position:absolute;top:calc(50% - 65px);left:50%;transform:translate(-50%,-50%);border:1px solid #d8cbb5;background:#f6f0e5ed;color:#302c25;padding:14px 22px;min-height:48px;font:500 12px var(--sans);letter-spacing:.05em;box-shadow:0 5px 30px #34291d18;cursor:pointer;white-space:nowrap}.gallery-explore span{font-size:21px;vertical-align:-2px;margin-right:9px}.gallery-thumbs .gallery-thumb-3d{position:relative}.gallery-thumb-3d span{position:absolute;right:3px;bottom:3px;padding:2px 4px;background:#f3ecdd;color:#28251e;font:500 10px var(--sans)}
.dm-scene-dialog{box-sizing:border-box;width:min(1040px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid #c9bca8;background:#ebe1d1;color:#28261f;overflow:hidden}.dm-scene-dialog::backdrop{background:#100e0bd9;backdrop-filter:blur(5px)}
.dm-scene-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:#f3ecdf}.dm-scene-header .eyebrow{font-size:9px;letter-spacing:.18em}.dm-scene-header h2{font-size:30px;line-height:1.1;margin:5px 0 0}.dm-scene-close{border:1px solid #9c8d753d;background:transparent;color:inherit;font:300 28px var(--sans);width:44px;height:44px;cursor:pointer}.dm-scene-stage{position:relative;height:min(61dvh,650px);min-height:240px;background:#ded2bc;isolation:isolate}.dm-scene-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s}.dm-scene-canvas{position:absolute;inset:0}.dm-scene-canvas model-viewer{width:100%;height:100%;--poster-color:transparent;--progress-bar-color:#7d6b4e;--progress-bar-height:2px;touch-action:none}.dm-scene-stage[data-loaded=true] .dm-scene-poster{opacity:0;pointer-events:none}.dm-scene-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#ede4d477;padding:30px;text-align:center}.dm-scene-loading p{margin:0;padding:12px 20px;background:#f5efE7ed;font-size:13px;max-width:360px}.dm-scene-loading button{background:#302e28;color:#f5eddf;border:0;padding:13px 24px;font:inherit;cursor:pointer}.dm-scene-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;background:#f3ecdf}.dm-scene-footer p{font-size:12px;line-height:1.5;max-width:380px;margin:0}.dm-scene-tools{display:flex;align-items:center;gap:4px;flex-shrink:0}.dm-scene-tools button{min-width:44px;min-height:44px;padding:8px 13px;border:1px solid #9c8d754d;background:transparent;color:inherit;font:400 12px var(--sans);cursor:pointer}.dm-scene-tools button:disabled{opacity:.35;cursor:default}.dm-scene-tools button:not(:disabled):hover,.dm-scene-close:hover{background:#dfd4bf}.dm-scene-dialog :focus-visible{outline:2px solid #6f5e40;outline-offset:3px}
@media(max-width:700px){.dm-scene-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.dm-scene-header{padding:16px 18px}.dm-scene-header h2{font-size:27px}.dm-scene-stage{height:min(57dvh,520px);min-height:230px}.dm-scene-footer{padding:13px 18px;flex-direction:column;align-items:stretch;gap:10px}.dm-scene-footer p{text-align:center;max-width:none;font-size:11px}.dm-scene-tools{justify-content:center}.gallery-explore{font-size:11px;padding:12px 16px;top:calc(50% - 62px)}}
@media(prefers-reduced-motion:reduce){.dm-scene-poster{transition:none}}

.dm-scene-dialog [hidden],dm-scene-viewer>[hidden]{display:none!important}

.gallery-main{position:relative}.gallery-main .gallery-explore{top:auto;bottom:22px;transform:translateX(-50%)}
/* Keep close and zoom controls reachable in landscape and short windows. */
.dm-scene-dialog[open]{display:flex;flex-direction:column}.dm-scene-header,.dm-scene-footer{flex-shrink:0}.dm-scene-dialog[open] .dm-scene-stage{flex:1 1 auto;min-height:0}
@media(max-height:520px){.dm-scene-header{padding:10px 18px}.dm-scene-header h2{font-size:24px}.dm-scene-footer{padding:9px 18px}.dm-scene-footer p{font-size:10px}}
