/* Multi-view turntable: each layer is an independently photographed perspective. */
.garment{pointer-events:none;isolation:isolate}
.turntable{position:absolute;inset:0;pointer-events:none;transform:translateZ(0) scaleX(var(--view-direction,1));transform-origin:50% 50%}
.garment .view-frame,.garment:hover .view-frame,.garment:focus-visible .view-frame,.dragging .garment .view-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none;filter:none;transition:none;pointer-events:none;backface-visibility:visible}
.swing{transform:rotate(var(--sway,0deg));transition:none;transform-origin:var(--pivot-x) var(--pivot-y)}
.garment-hit{position:absolute;top:10%;height:82%;left:0;width:100%;transform-origin:0 50%;pointer-events:auto;cursor:grab;touch-action:pan-y}
.garment.is-turning .view-frame{will-change:opacity}
.garment.is-turning .swing{will-change:transform}
.dragging .garment-hit{cursor:grabbing}
.garment.is-front{z-index:40!important}
.garment .garment-name{opacity:0;transform:translateY(4px);font-size:9px}
.garment.is-front .garment-name{opacity:1;transform:none}
.price-tag{top:19%;left:calc(50% + 12px);width:22px;height:30px;font-size:6.5px;line-height:1.8;transform:rotate(5deg);border-color:#ddd8cb;box-shadow:1px 1px 2px #0000000c}
.price-tag small{font-size:3.5px;letter-spacing:.6px}
.price-tag:after{left:9px;top:2px}
.tag-thread{top:10.5%;left:50%;height:var(--thread-length);transform:rotate(var(--thread-angle));background:#a59d8a99}
.garment:focus-visible{outline:0}
.garment:focus-visible .garment-name{text-decoration:underline;text-underline-offset:5px}
@media(max-width:600px){.price-tag{width:21px;height:28px;font-size:6px}.price-tag small{font-size:3px}.garment .garment-name{font-size:8px}}
@media(prefers-reduced-motion:reduce){.swing{transform:none}.garment .garment-name{transition:none}}

/* Readable tags; hook locations, garment spacing and turn timing stay unchanged. */
.price-tag{width:57px;height:45px;font-size:16px;font-weight:600;line-height:1.45;color:#161812;background:#f5f1e5;text-shadow:none;left:calc(50% + 12px)}
.price-tag small{font-size:5px;letter-spacing:1px;line-height:1.8}.price-tag:after{left:9px}
@media(max-width:600px){.price-tag{width:52px;height:43px;font-size:15px}.price-tag small{font-size:5px}}
