.product-gallery{min-width:0}
.product-gallery .product-photo{position:relative;background:#d6dad4}
.gallery-open{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in;touch-action:pan-y pinch-zoom}
.product-gallery .gallery-image{display:block;width:100%;height:100%;transition:none;object-position:center}
.product-gallery .gallery-contain{object-fit:contain}
.product-gallery .gallery-cover{object-fit:cover}
.product-card:hover .product-gallery img{transform:none}
.gallery-arrow,.gallery-viewer-arrow,.gallery-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #213c3040;color:var(--ink);background:var(--paper);font:32px/1 Georgia,serif;cursor:pointer;border-radius:50%}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#f5f3ede8}
.gallery-previous{left:10px}.gallery-next{right:10px}
.gallery-enlarge{position:absolute;right:12px;bottom:12px;padding:7px 10px;background:#f5f3ede8;color:var(--ink);font:11px/1.3 var(--sans, sans-serif);letter-spacing:.04em}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding-top:5px}
.gallery-dots{display:flex;align-items:center;gap:0}
.gallery-dot{display:grid;place-items:center;width:28px;height:32px;padding:0;border:0;background:none;cursor:pointer}
.gallery-dot::after{content:'';width:5px;height:5px;border:1px solid var(--ink);border-radius:50%;opacity:.4}
.gallery-dot[aria-current]::after{background:var(--ink);opacity:1}
.gallery-count{font-size:11px;letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.product-gallery+ .product-heading{margin-top:10px}
.product-gallery button:focus-visible,.gallery-dialog button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.gallery-open:focus-visible{outline-offset:-4px!important}
body.gallery-is-open{overflow:hidden}
.gallery-dialog{box-sizing:border-box;width:min(1100px,96vw);max-width:96vw;height:94vh;height:94dvh;max-height:94dvh;padding:16px 24px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.gallery-dialog[open]{display:flex;flex-direction:column;gap:10px}
.gallery-dialog::backdrop{background:#102018c9}
.gallery-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}
.gallery-dialog-header h2{margin:0;font-family:var(--serif);font-size:26px;font-weight:400}
.gallery-close{font:28px/1 sans-serif;flex:none}
.gallery-dialog-stage{display:flex;justify-content:center;flex:1;min-height:0;overflow:hidden;touch-action:pan-y pinch-zoom}
.gallery-dialog-stage img{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
.gallery-dialog-footer{display:flex;align-items:center;justify-content:center;gap:26px;flex:none}
.gallery-caption{font-size:12px;text-align:center;color:var(--muted);margin:0;line-height:1.4;flex:none}
@media(max-width:650px){.gallery-dialog{padding:12px;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0}.gallery-dialog-header h2{font-size:23px}.gallery-dialog-stage{min-height:0}.gallery-dots{gap:2px}}
