[data-product-photo-expandable]{cursor:zoom-in}
.photo-zoom-target{cursor:zoom-in;touch-action:pan-y;user-select:none;-webkit-user-drag:none}
.photo-zoom-target[tabindex]:focus-visible{outline:2px solid white;outline-offset:-3px}
.photo-zoom__frame{position:absolute;z-index:1;overflow:hidden;background:#000;touch-action:none;user-select:none;cursor:grab}
.photo-zoom__frame:active{cursor:grabbing}
.photo-zoom__frame>img,.product-rail .photo-zoom__frame>img{display:block;position:absolute;left:0;top:0;max-width:none;max-height:none;min-height:0;aspect-ratio:auto;border:0;transform-origin:0 0;pointer-events:none}
[data-photo-zoom-available]>.product-rail__expand--film{display:none}
.product-rail__expand{position:absolute;z-index:2;top:4px;right:8px;min-width:44px;min-height:44px;padding:8px 2px;border:0;background:transparent;color:#fff;mix-blend-mode:difference;font-size:9px;letter-spacing:.08em;cursor:zoom-in}
.product-rail__expand:focus-visible{outline:1px solid currentColor;outline-offset:-4px}
html.product-viewer-open,body.product-viewer-open{overflow:hidden}
.product-viewer{position:fixed;inset:0;width:min(82vw,1000px);height:min(82dvh,1000px);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);overflow:hidden;box-shadow:0 20px 80px rgba(0,0,0,.2)}
.product-viewer:not([open]){display:none}
.product-viewer[open]{display:grid;grid-template-rows:48px minmax(0,1fr) 56px;animation:product-viewer-in .32s cubic-bezier(.22,.72,.18,1) both}
.product-viewer::backdrop{background:rgba(17,17,17,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.product-viewer__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-bottom:1px solid var(--line)}
.product-viewer__title{min-width:0;margin:0;font-size:11px;font-weight:400;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-viewer button{min-width:44px;min-height:44px;padding:0 12px;border:0;background:transparent;color:inherit;font:inherit;font-size:10px;letter-spacing:.06em;cursor:pointer;touch-action:manipulation}
.product-viewer button:hover{background:var(--ink);color:var(--paper)}
.product-viewer button:focus-visible{outline:1px solid var(--ink);outline-offset:-4px}
.product-viewer button:disabled{opacity:.25;cursor:default;background:transparent;color:inherit}
.product-viewer__close{flex-shrink:0}
.product-viewer__stage{min-width:0;min-height:0;display:grid;place-items:center;padding:20px;overflow:hidden;touch-action:pinch-zoom;user-select:none}
.product-viewer__image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;filter:none;animation:product-viewer-photo-in .3s ease-out both}
.product-viewer[open]:has(video),video.product-viewer__image{animation:none}
.product-viewer__footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 16px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.06em}
.product-viewer__category{white-space:nowrap}.product-viewer__count{font-variant-numeric:tabular-nums;white-space:nowrap}.product-viewer__navigation{display:flex;justify-self:end;gap:8px}
@keyframes product-viewer-in{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@keyframes product-viewer-photo-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.product-viewer{width:80vw;height:min(72dvh,680px)}.product-viewer__header{padding:0 8px}.product-viewer__title{font-size:10px}.product-viewer__stage{padding:12px 0}.product-viewer__footer{gap:6px;padding:0 8px;font-size:9px;grid-template-columns:1fr auto auto}.product-viewer__navigation{gap:0}.product-viewer button{padding:0 8px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.product-viewer[open],.product-viewer__image{animation:none}}
