.product-gallery{min-width:0;width:100%}.gallery-open{position:relative;display:block;color:var(--ink)}.gallery-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:44px;height:44px;background:var(--bg);border:1px solid var(--line);border-radius:50%;box-shadow:0 4px 14px #0001}
.gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:12px 3px 5px;scrollbar-width:thin}.gallery-thumbnail{display:block;width:80px;aspect-ratio:1;flex:0 0 80px;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#fff}.gallery-thumbnail img{display:block;object-fit:contain;width:100%;height:100%}.gallery-thumbnail[aria-current]{border-color:var(--button)}.gallery-thumbnail:hover{border-color:var(--accent)}
.gallery-dialog{box-sizing:border-box;inset:0;padding:0;border:0;border-radius:16px;width:min(1100px,96vw);max-width:96vw;height:min(900px,94dvh);max-height:94dvh;background:#fff;color:#102d53;overflow:hidden}.gallery-dialog::backdrop{background:rgb(5 15 32 / 85%)}.gallery-dialog-toolbar{height:60px;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;box-sizing:border-box;border-bottom:1px solid #e2e5eb;font-variant-numeric:tabular-nums}.gallery-dialog-stage{position:relative;display:flex;align-items:center;justify-content:center;height:calc(100% - 60px);padding:12px 64px;box-sizing:border-box;touch-action:pan-y pinch-zoom}.gallery-dialog-stage>img{max-width:100%;max-height:100%;object-fit:contain;display:block;width:auto;height:auto}
.product-shop .gallery-control{display:grid;place-items:center;border:1px solid #d5dce7;border-radius:50%;background:#fff;color:#102d53;padding:0;width:44px;height:44px;min-width:44px;cursor:pointer;font:32px/1 Arial,sans-serif}.gallery-control:hover{background:#f0f3f9}.gallery-previous,.gallery-next{position:absolute;top:50%;transform:translateY(-50%)}.gallery-previous{left:10px}.gallery-next{right:10px}.gallery-control:focus-visible{outline:3px solid #bd4358;outline-offset:2px}
@media(max-width:800px){.product-gallery{max-width:540px;margin-inline:auto}.gallery-dialog{border-radius:10px;width:100vw;max-width:100vw;height:94dvh;max-height:94dvh}.gallery-dialog-stage{padding:8px 0 64px}.gallery-previous,.gallery-next{top:auto;bottom:10px;transform:none}.gallery-previous{left:calc(50% - 54px)}.gallery-next{right:calc(50% - 54px)}.gallery-thumbnail{width:70px;flex-basis:70px}}
@media(prefers-reduced-motion:no-preference){.gallery-thumbnail,.gallery-zoom{transition:border-color .15s,box-shadow .15s}}
html:has(.gallery-dialog[open]){overflow:hidden}
