.style-photo{display:block;position:relative;width:100%;aspect-ratio:4/5;isolation:isolate;overflow:hidden;background:#f5f3ef}
.style-photo img{display:block;position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-position:var(--photo-position);object-fit:contain;background:transparent;transition:opacity .28s ease}
.style-photo.contain img{mix-blend-mode:multiply}
.style-photo.cover img{object-fit:cover}
.style-photo .alternate{opacity:0}
.product-photo:has(.style-photo){aspect-ratio:4/5}
.product-photo:hover .style-photo img{transform:none}
@media(hover:hover) and (pointer:fine){a:hover .paired .alternate,a:focus-visible .paired .alternate{opacity:1}a:hover .paired .front,a:focus-visible .paired .front{opacity:0}}
.gallery .cover{height:auto;aspect-ratio:4/5;max-height:76vh;object-fit:contain;background:#f5f3ef}
.gallery .thumbs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:2px 1px 6px}
.gallery .thumbs button{flex:0 0 54px;height:68px;padding:0;border:1px solid transparent;background:#f5f3ef}
.gallery .thumbs button[aria-pressed=true]{border-color:#39372f}
.gallery .thumbs img{display:block;mix-blend-mode:multiply}
@media(prefers-reduced-motion:reduce){.style-photo img{transition:none}}
.enlarge-photo{display:block;position:relative;width:100%;border:0;padding:0;background:#f5f3ef;cursor:zoom-in}
.enlarge-photo span{display:grid;place-items:center;position:absolute;bottom:12px;right:12px;width:32px;height:32px;border-radius:50%;background:white;color:#282822;font:20px Georgia,serif}
.photo-viewer{border:0;padding:12px;background:#faf9f6;max-width:96vw;max-height:96vh;overflow:auto}
.photo-viewer::backdrop{background:rgb(24 22 19 / .78)}
.photo-viewer img{display:block;max-width:90vw;max-height:85vh;object-fit:contain}
.photo-viewer button{display:block;margin:0 0 8px auto;background:none;border:0;text-decoration:underline;cursor:pointer;padding:8px}
.shop-tile .style-photo img{height:100%;aspect-ratio:auto;background:transparent;object-position:var(--photo-position)}
.shop-tile .style-photo.cover img{object-fit:cover}
.product-photo .style-photo.contain img{object-fit:contain}
