.product-gallery{width:100%;min-width:0;position:relative;overflow:hidden}
.product-gallery-track{display:flex;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;position:relative;gap:0;padding:0;border-radius:14px;background:#f7f2e8}
.product-gallery-track::-webkit-scrollbar{display:none}
.product-gallery .product-gallery-slide{flex:0 0 100%;width:100%;min-width:0;max-width:100%;margin:0;padding:0;scroll-snap-align:start;scroll-snap-stop:always;display:grid;place-items:center}
.product-gallery .product-gallery-slide img{display:block;width:100%;height:clamp(300px,65vh,650px);object-fit:contain;border-radius:0}
.product-gallery-controls{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:10px;min-width:0;flex-wrap:wrap}
.product-gallery-controls[hidden]{display:none!important}
.product-gallery .product-gallery-controls button{display:inline-grid;place-items:center;flex:0 0 auto;width:44px;height:44px;min-height:44px;padding:0;margin:0;border:1px solid #ded2c6;background:#fffcf7;color:#603e31;border-radius:50%;font:600 18px/1 sans-serif;cursor:pointer}
.product-gallery-controls button:disabled{opacity:.3;cursor:default}
.product-gallery-dots{display:flex;gap:0;justify-content:center;flex-wrap:wrap}
.product-gallery .product-gallery-dots button{width:32px;height:44px;border:0;background:transparent}
.product-gallery-dots button span{width:7px;height:7px;border-radius:50%;background:#d8c9bd}.product-gallery-dots button[aria-pressed=true] span{background:#603e31;transform:scale(1.3)}
.product-gallery-controls [data-gallery-count]{font:400 12px/1.5 sans-serif;color:#74655e;white-space:nowrap}
.product-gallery-hint{font-size:11px;text-align:center;line-height:1.6;color:#827065;margin:4px 0 0}
.product-gallery-track:focus-visible,.product-gallery-controls button:focus-visible{outline:3px solid #603e31;outline-offset:-3px}
.catalog-card .catalog-visual{display:block;aspect-ratio:auto;min-width:0;padding:12px 12px 8px}
.catalog-card .product-gallery-slide{aspect-ratio:4/3}
.catalog-card .product-gallery-slide img{height:100%;max-height:100%;aspect-ratio:4/3;object-fit:contain}
.catalog-card .product-gallery-hint{margin-bottom:2px}
@media(prefers-reduced-motion:reduce){.product-gallery-track{scroll-behavior:auto}}
/* Photos keep their proportions; tall screenshots get room to be read. */
.photo-open{display:block;width:100%;min-width:0;cursor:zoom-in;text-decoration:none;color:inherit}
.photo-open:focus-visible{outline:3px solid #603e31;outline-offset:-3px}
.product-gallery-track{align-items:flex-start;border-radius:0}
.product-gallery .product-gallery-slide{aspect-ratio:auto}
.product-gallery .product-gallery-slide img{width:100%;height:auto;max-height:720px;aspect-ratio:auto;object-fit:contain}
.catalog-card .catalog-visual{padding:0 0 12px}
.catalog-card .product-gallery-slide{aspect-ratio:auto}
.catalog-card .product-gallery-slide img{width:100%;height:auto;max-height:640px;aspect-ratio:auto;object-fit:contain}
.product-gallery-hint,.photo-hint{font-size:12px;line-height:1.7;text-align:center;color:#74655e}
.image-viewer{box-sizing:border-box;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#fcf8f0;color:#603e31;overflow:hidden}
.image-viewer[open]{display:flex;flex-direction:column}
.image-viewer::backdrop{background:#30221fe6}
.image-viewer-toolbar,.image-viewer-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;flex-shrink:0;background:#fcf8f0}
.image-viewer-toolbar{padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid #ded2c6}
.image-viewer-toolbar [data-viewer-count]{margin-right:auto;font:500 14px/1.5 sans-serif}
.image-viewer button{appearance:none;border:1px solid #c9b6a7;border-radius:12px;background:#fffdf8;color:#603e31;padding:10px 16px;min-height:44px;font:600 14px/1.5 sans-serif;cursor:pointer}
.image-viewer button:disabled{opacity:.3;cursor:default}
.image-viewer button:focus-visible{outline:3px solid #603e31;outline-offset:2px}
.image-viewer-stage{flex:1;min-height:0;overflow:auto;display:grid;place-items:center;overscroll-behavior:contain;padding:12px;touch-action:pan-y pinch-zoom}
.image-viewer-stage img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;max-width:100%;max-height:100%;user-select:none}
.image-viewer.is-zoomed .image-viewer-stage{display:block;touch-action:auto}
.image-viewer.is-zoomed .image-viewer-stage img{width:max(150vw,1200px);height:auto;max-width:none;max-height:none;object-fit:initial}
.image-viewer-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
.image-viewer-footer[hidden]{display:none}
.image-viewer-footer span{font:400 12px/1.5 sans-serif}
@media(max-width:760px){.catalog-card .product-gallery-slide img,.product-gallery .product-gallery-slide img{max-height:none}.image-viewer-stage{padding:4px}.image-viewer-toolbar,.image-viewer-footer{gap:8px;padding-inline:12px}.image-viewer button{padding-inline:12px}}
