/* Scoped to the progressive 30-foot viewer; the catalogue keeps its existing layout. */
.msb-viewer{--viewer-ink:#114232;--viewer-border:#dce6df;color:var(--viewer-ink);background:#fff;position:relative}
.msb-viewer [hidden]{display:none!important}
.msb-viewer .ms-stage{position:relative;aspect-ratio:600/447;height:auto;overflow:hidden;background:#edf2ee}
.msb-viewer canvas,.msb-viewer .ms-poster{position:absolute;inset:0;width:100%;height:100%;display:block}
.msb-viewer canvas{touch-action:pan-y;cursor:grab}
.msb-viewer[data-touch-active=true] canvas{touch-action:none}
.msb-viewer canvas:active{cursor:grabbing}
.msb-viewer .ms-poster{object-fit:cover;pointer-events:none;opacity:1;transition:none;transform:none!important}
.msb-viewer .ms-poster.ms-reveal{opacity:0;transition:opacity .5s ease}
.msb-viewer button{appearance:none;font:600 .875rem/1.15 Inter,Arial,sans-serif;background:rgba(255,255,255,.96);color:var(--viewer-ink);border:1px solid var(--viewer-border);border-radius:7px;min-height:44px;min-width:44px;padding:8px 10px;cursor:pointer;box-shadow:0 2px 6px #10271c0a}
.msb-viewer button:disabled{opacity:.5;cursor:default}
.msb-viewer button:hover:not(:disabled){background:#f2faf5;border-color:#165536}
.msb-viewer button[aria-pressed=true]{background:#114232;border-color:#114232;color:#fff}
.msb-viewer button:focus-visible,.msb-viewer canvas:focus-visible,.msb-size-quote:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
.msb-viewer .ms-views{position:absolute;left:10px;top:10px;display:flex;gap:5px}
.msb-viewer [data-expand]{position:absolute;right:10px;top:10px;font-size:1.6rem;padding:4px}
.msb-viewer .product-badge{top:63px;right:10px;left:auto;font-size:.75rem;padding:3px 8px}
.msb-viewer .ms-hint{position:absolute;left:10px;top:63px;right:80px;pointer-events:none;font:500 .75rem/1.5 Inter,Arial,sans-serif}
.msb-viewer .ms-hint span{background:#ffffffed;border-radius:4px;padding:4px 6px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.msb-viewer .ms-orbit{position:absolute;right:10px;bottom:10px;display:flex;gap:4px}
.msb-viewer .ms-orbit button,.msb-viewer .ms-walk button{font:500 1.5rem/1 Arial,sans-serif;padding:4px;width:44px}
.msb-viewer .ms-walk{position:absolute;left:10px;bottom:10px;display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);gap:4px}
.msb-viewer [data-move=forward]{grid-area:1/2}.msb-viewer [data-move=left]{grid-area:2/1}.msb-viewer [data-move=back]{grid-area:2/2}.msb-viewer [data-move=right]{grid-area:2/3}
.msb-viewer .ms-walk button{touch-action:none}
.msb-viewer .ms-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:8px 10px;background:#fff;border-bottom:1px solid var(--viewer-border)}
.msb-viewer .ms-options button{min-width:0;padding:7px 4px;font-size:.875rem}
.msb-viewer [data-touch-done]{display:none;margin:0 10px 10px;width:calc(100% - 20px)}
.msb-viewer[aria-busy=true] canvas{opacity:.25;pointer-events:none}
.msb-size-quote{display:block;text-align:center;margin-top:10px;font-size:.875rem;text-decoration:underline;text-underline-offset:3px}
.msb-viewer-dialog{position:fixed;inset:0;margin:auto;width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #dce6df;border-radius:14px;overflow:auto;background:#fff;color:#114232;box-shadow:0 20px 80px #001f2050}
.msb-viewer-dialog::backdrop{background:#0a181ce0;backdrop-filter:blur(5px)}
.msb-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 16px;border-bottom:1px solid #dce6df;font-size:1rem}
.msb-dialog-top button{font:600 .875rem Inter,Arial,sans-serif;min-height:44px;padding:10px 16px;border:1px solid #dce6df;border-radius:7px;background:#fff;color:#114232;cursor:pointer}
.msb-dialog-top button:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.msb-viewer-dialog .ms-stage{aspect-ratio:auto;height:min(68dvh,650px)}
.msb-viewer-dialog [data-expand],.msb-viewer-dialog .product-badge,.msb-viewer-dialog [data-touch-done]{display:none!important}
@media(pointer:coarse){.msb-viewer[data-touch-active=true] [data-touch-done]{display:block}}
@media(max-width:420px){.msb-viewer .ms-views{left:8px;top:8px}.msb-viewer .ms-hint{left:8px;font-size:.75rem}.msb-viewer-dialog{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}.msb-dialog-top{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.msb-viewer .ms-poster.ms-reveal{transition:none}}

/* Approved card visuals and responsive grid; product-info rules stay on live. */
.msb-viewer .ms-stage{aspect-ratio:8/5;border-bottom:1px solid #e7ece5}
.msb-viewer .ms-views{top:auto;bottom:10px;left:10px}
.msb-viewer .ms-views [data-view=outside]{display:none}
.msb-viewer [data-expand]{top:auto;bottom:10px;right:10px}
.msb-viewer .ms-hint{left:10px;top:10px;right:auto;font-size:10px;opacity:.8}
.msb-viewer .ms-hint span{padding:4px 7px;background:#ffffffdc}
.msb-viewer .ms-options,.msb-viewer .ms-orbit{display:none}
.msb-viewer button{border-color:#ffffffaa;box-shadow:0 2px 7px #09231912;font-size:.8rem}
.msb-viewer[data-failed=true] .ms-views,.msb-viewer[data-failed=true] [data-expand],.msb-viewer[data-failed=true] .ms-hint{display:none}
.msb-viewer-dialog .ms-views{top:12px;bottom:auto}
.msb-viewer-dialog .ms-views [data-view=outside]{display:block}
.msb-viewer-dialog .ms-hint{top:65px;font-size:.8rem}
.msb-viewer-dialog .ms-options{display:grid;grid-template-columns:repeat(5,1fr);padding:12px}
.msb-viewer-dialog .ms-orbit{display:flex}
.msb-viewer-dialog .ms-stage{height:min(68dvh,720px);aspect-ratio:auto}
.msb-viewer .ms-poster{object-fit:contain;background:#edf2ee}
.msb-viewer button[aria-pressed=true]:hover:not(:disabled){background:#1a503e;color:#fff;border-color:#1a503e}
.msb-viewer-dialog .msb-dialog-top strong{font-size:.86rem}
.msb-viewer-dialog{box-sizing:border-box;overflow-x:hidden}
.msb-viewer-dialog .msb-dialog-body,.msb-viewer-dialog .msb-viewer{min-width:0;max-width:100%}
.msb-viewer-dialog .msb-viewer .ms-stage{width:100%;aspect-ratio:auto}
.msb-viewer-dialog .msb-viewer[data-refining=true] .ms-stage:after{content:'Refining light & detail…';position:absolute;right:12px;top:12px;padding:7px 10px;background:#fffffff0;color:#234b3d;border-radius:6px;font:500 11px/1.4 system-ui;pointer-events:none}
#products .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){#products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#products .product-grid{grid-template-columns:1fr}}
#products [data-viewer] .product-img-wrap{height:auto;aspect-ratio:8/5}
.msb-viewer .ms-poster{object-fit:contain;background:#edf2ee}
.msb-viewer .ms-hint{font-size:12px}
.msb-viewer .ms-load-status{display:none}
.msb-viewer-dialog .msb-viewer[data-loading] .ms-load-status,.msb-viewer[data-failed=true] .ms-load-status{display:block;position:absolute;left:10px;right:10px;bottom:65px;padding:9px 12px;border-radius:7px;background:#fffffff2;color:#114232;font:500 .85rem/1.4 Inter,Arial,sans-serif}
.msb-viewer[data-variant-unsupported=true] canvas,.msb-viewer[data-variant-unsupported=true] .ms-views,.msb-viewer[data-variant-unsupported=true] .ms-hint,.msb-viewer[data-variant-unsupported=true] [data-expand],.msb-viewer[data-variant-unsupported=true] .ms-options{display:none}
.msb-viewer[data-variant-unsupported=true] .ms-poster{opacity:1!important}
.msb-viewer-dialog .msb-viewer .ms-stage{height:min(68dvh,720px);aspect-ratio:auto}
@media(max-width:640px){.msb-viewer-dialog .ms-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.msb-viewer-dialog{width:100%;max-width:100%;margin:0}}
