.product-gallery{touch-action:pan-y pinch-zoom}
.product-gallery>img[hidden]{display:none!important}
html body main .product-gallery>button{
 position:absolute;top:0;bottom:0;width:50%;height:100%;padding:0;margin:0;
 border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;
 z-index:2;color:#000;
}
/* Paired arrow cursor; the hovered direction is black. */
.product-gallery>.gallery-prev{left:0;cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2024%22%3E%3Cpath%20d%3D%22M13%205%20L3%2012%20L13%2019%20Z%22%20fill%3D%22%23000%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M19%205%20L29%2012%20L19%2019%20Z%22%20fill%3D%22%23999%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 16 12,w-resize}
.product-gallery>.gallery-next{right:0;cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2024%22%3E%3Cpath%20d%3D%22M13%205%20L3%2012%20L13%2019%20Z%22%20fill%3D%22%23999%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M19%205%20L29%2012%20L19%2019%20Z%22%20fill%3D%22%23000%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 16 12,e-resize}
html body main .product-gallery>button:disabled{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2024%22%3E%3Cpath%20d%3D%22M13%205%20L3%2012%20L13%2019%20Z%22%20fill%3D%22%23999%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M19%205%20L29%2012%20L19%2019%20Z%22%20fill%3D%22%23999%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 16 12,default;opacity:1}
.product-gallery>button:focus-visible::after{content:'';position:absolute;top:50%;width:32px;height:24px;transform:translateY(-50%);background-repeat:no-repeat}
.product-gallery>.gallery-prev:focus-visible::after{left:15px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2024%22%3E%3Cpath%20d%3D%22M13%205%20L3%2012%20L13%2019%20Z%22%20fill%3D%22%23000%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M19%205%20L29%2012%20L19%2019%20Z%22%20fill%3D%22%23999%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}
.product-gallery>.gallery-next:focus-visible::after{right:15px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2024%22%3E%3Cpath%20d%3D%22M13%205%20L3%2012%20L13%2019%20Z%22%20fill%3D%22%23999%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M19%205%20L29%2012%20L19%2019%20Z%22%20fill%3D%22%23000%22%20stroke%3D%22white%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}
.product-gallery>button:disabled::after{display:none}
.gallery-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(hover:none),(pointer:coarse){html body main .product-gallery>button{display:none}}

/* Main image keeps its grey mat; additional photographs fill the frame height. */
html body main .detail>.detail-image.product-gallery{background:#efefef}
html body main .detail>.detail-image.product-gallery.gallery-extra{background:#fff;padding:0}
html body main .detail>.detail-image.product-gallery.gallery-extra>img{
 inset:auto;top:0;left:50%;width:auto;height:100%;max-width:none;max-height:none;
 padding:0;transform:translateX(-50%);object-fit:fill;
}
/* Every product slide uses the same square frame on desktop and mobile. */
html body main .detail>.detail-image.product-gallery,
html body main .detail>.detail-image.product-gallery.is-landscape,
html body main .detail>.detail-image.product-gallery.gallery-extra{
 box-sizing:border-box;width:100%;height:auto;min-height:0;aspect-ratio:1 / 1;
}
html body main .shop-grid .image-wrap{box-sizing:border-box;aspect-ratio:1 / 1;height:auto;min-height:0}

