[data-wheel-spin] [hidden]{display:none!important}
/* Wheel clips are rendered at 1280 × 720. Override the photo stage's fixed desktop height. */
.product-detail__stage.wheel-spin__stage{height:auto;aspect-ratio:16 / 9;cursor:grab;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.product-detail__stage.wheel-spin__stage.is-dragging{cursor:grabbing}
.product-detail__stage.wheel-spin__stage.is-fallback{cursor:default}
.wheel-spin__picture{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;background:linear-gradient(135deg,var(--bg-alt),var(--surface))}
/* Fit inside the stage without letting the video's intrinsic size grow a grid track. */
.wheel-spin__picture :is(video,canvas){position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.wheel-spin__stage.is-positioning .wheel-spin__picture video{visibility:hidden}
.product-detail__stage .wheel-spin__loading{position:absolute;bottom:12px;left:12px;right:auto;padding:7px 10px;background:var(--surface);border:1px solid var(--line);color:var(--text);font:inherit;font-size:.75rem}
.product-detail__stage.wheel-spin__stage .product-sold-out{z-index:2;top:12px;bottom:auto;left:12px}
/* Keep the 44px touch target around the smaller visible button. */
.wheel-spin__play{position:absolute;z-index:2;inset:auto auto 6px 6px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;touch-action:manipulation}
.wheel-spin__play::before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(10,10,10,.78)}
.wheel-spin__play svg{position:relative}
.wheel-spin__play:hover,.wheel-spin__stage.is-playing .wheel-spin__play{color:var(--accent-contrast)}
.wheel-spin__play:hover::before,.wheel-spin__stage.is-playing .wheel-spin__play::before{border-color:var(--accent);background:var(--accent)}
.wheel-spin__play:focus-visible{outline-offset:-3px}
.wheel-spin__icon-pause,.wheel-spin__stage.is-playing .wheel-spin__icon-play{display:none}
.wheel-spin__stage.is-playing .wheel-spin__icon-pause{display:block}
.wheel-spin__tools{display:flex;align-items:center;flex-wrap:wrap;gap:9px 12px;padding:9px 0}
.wheel-spin__variants{width:100%;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.wheel-spin__variants button{font:inherit;font-size:.76rem;font-weight:650;line-height:1.25;min-height:36px;padding:6px 11px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer}
.wheel-spin__variants button:hover{border-color:var(--accent)}
.wheel-spin__variants button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}
.wheel-spin__help,.wheel-spin__notice{width:100%;margin:0;font-size:.75rem;color:var(--muted);line-height:1.4}
.spin-admin{box-sizing:border-box;width:min(100%,var(--content-width));margin-inline:auto;padding:22px var(--page-gutter) 72px}
.spin-admin p{font-size:.83rem;color:var(--muted);line-height:1.55}
.spin-admin__nav{display:flex;gap:12px 22px;flex-wrap:wrap;margin-bottom:18px}
.spin-admin a{color:var(--accent-ink)}
.spin-admin__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin:18px 0}
.spin-admin__card,.spin-admin__bulk{min-width:0;background:var(--surface);border:1px solid var(--line);padding:16px}
.spin-admin__card h2{font-size:1.1rem;margin-bottom:8px}
.spin-admin__card form{display:grid;gap:10px;margin:12px 0;justify-items:start}
.spin-admin__card label,.spin-admin__card input[type=file]{max-width:100%;font-size:.78rem}
.spin-admin__card details,.spin-admin__bulk summary{font-size:.8rem;cursor:pointer}
.spin-admin__bulk code{overflow-wrap:anywhere}
