/* One continuous transition into the exact first frame of the turntable. */
.product-art>.garment,.product.is-peeking .product-art>.garment{opacity:0}
.product-art>.artwork-detail,.product.is-peeking .product-art>.artwork-detail{opacity:1;transform:none;transition:opacity .18s ease}
.product.is-turning .product-art>.artwork-detail{opacity:0}
.product-turntable{position:absolute;inset:9% -2% 0;z-index:2;opacity:0;pointer-events:none;transition:opacity .18s ease}
.product.is-turning .product-turntable{opacity:1}
.product.is-turning .product-art>.garment{opacity:0}
.product[data-garment=hoodie] .product-turntable{inset:8% -1% 0}
.product-view{z-index:5;pointer-events:none}
.product.is-peeking .product-view{opacity:1;transform:none}
.dialog-art{padding:52px 24px 112px}
.dialog-art[data-garment=hoodie]{padding:52px 24px 112px}
.garment-360{position:absolute;inset:56px 0 139px;min-height:0;z-index:2;touch-action:pan-y pinch-zoom}
.garment-360[data-loading=true] .garment-viewer{visibility:hidden}
.dialog-view-controls{position:absolute;bottom:22px;left:20px;right:20px;display:flex;flex-direction:column;align-items:center;gap:9px;z-index:3;color:var(--ink)}
.product-views{display:flex;align-items:center;gap:22px;padding:0;border:0;background:none}
.product-views button{position:relative;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:0;background:transparent;min-height:38px;padding:9px 0;color:var(--ink-soft);transition:color .2s}
.product-views button:after{content:'';position:absolute;bottom:4px;left:50%;width:14px;height:1px;background:currentColor;transform:translateX(-50%) scaleX(0);transition:transform .2s ease}
.product-views button[aria-pressed=true]{background:none;color:var(--ink)}
.product-views button[aria-pressed=true]:after{transform:translateX(-50%) scaleX(1)}
.product-views button:hover{color:var(--rust-dark)}
/* Full rotation without a slider: two directional controls and an angle ring. */
.rotation-controls{display:flex;align-items:center;justify-content:center;gap:20px;width:166px;max-width:100%;height:44px}
.rotation-controls[data-ready=false]{visibility:hidden}
.rotation-step{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background .18s,color .18s,transform .18s}
.rotation-step svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.rotation-step:hover,.rotation-step[data-holding=true]{background:#10262c09;color:var(--ink)}
.rotation-step:active{transform:scale(.92)}
.rotation-step:focus-visible{outline:2px solid var(--rust);outline-offset:-3px}
.rotation-orbit{--view-angle:0deg;position:relative;width:30px;height:30px;flex:0 0 30px;border:1px solid #10262c35;border-radius:50%;pointer-events:none}
.rotation-orbit:before,.rotation-orbit:after{content:'';position:absolute;left:13px;width:2px;height:3px;background:#10262c35}
.rotation-orbit:before{top:-2px}.rotation-orbit:after{bottom:-2px}
.rotation-bearing{position:absolute;inset:-1px;transform:rotate(var(--view-angle));border-radius:50%}
.rotation-bearing:before{content:'';position:absolute;left:12px;top:-2px;width:4px;height:6px;border-radius:1px;background:var(--rust)}
@media(prefers-reduced-motion:reduce){.rotation-step{transition:none}}
.viewer-status{font-size:8px;letter-spacing:.06em;color:var(--ink-soft);margin:0;height:14px}
.product-dialog[data-view=garment] .art-loading-label{display:none}
.garment-chest-mark{position:absolute;top:29%;left:60%;width:6%;height:6%;object-fit:contain;pointer-events:none}
.dialog-art[data-garment=hoodie] .garment-chest-mark{top:33%;left:60%}
.garment-tint{position:absolute;inset:0;mask:var(--tint-image) center/contain no-repeat;-webkit-mask:var(--tint-image) center/contain no-repeat;mix-blend-mode:multiply;pointer-events:none}
.dialog-colours{margin:0 0 21px;padding:0;border:0;min-width:0}
.dialog-colours legend{font-size:10px;line-height:1.5;margin-bottom:12px;color:#dce6e0;display:block}
.colour-name{font-weight:600;color:#fff;margin-left:7px}
.colour-swatches{display:flex;gap:8px;flex-wrap:wrap}
.colour-swatch{position:relative;width:28px;height:28px;padding:3px;background:transparent;border:1px solid #ffffff50;border-radius:0}
.colour-swatch:before{content:'';display:block;width:100%;height:100%;background:var(--swatch);box-shadow:inset 0 0 0 1px #ffffff25}
.colour-swatch[aria-pressed=true]{border:1px solid #f7f8f4;padding:3px}
.colour-swatch[aria-pressed=true]:after{content:'';position:absolute;bottom:-6px;height:2px;background:#d39774;left:8px;right:8px}
.colour-swatch:hover{border-color:#fff}
.colour-preview-note{margin:12px 0 0;font-size:9px;line-height:1.6;color:#c3d0c9}
.product-dialog[data-ink=white][data-view=artwork] .dialog-art{background:#182833}
.product-dialog[data-ink=white][data-view=artwork] .dialog-art-label,.product-dialog[data-ink=white][data-view=artwork] .product-views button{color:#d6dfdf}
.product-dialog[data-ink=white][data-view=artwork] .product-views button[aria-pressed=true]{color:#fff}
@media(max-width:760px){
 .product-turntable{inset:13% -6% 0}
 .product[data-garment=hoodie] .product-turntable{inset:14% -6% 0}
 .dialog-art,.dialog-art[data-garment=hoodie]{padding:50px 18px 115px}
 .garment-360{inset:48px 0 113px}
 .dialog-view-controls{bottom:16px;gap:8px}
 .product-views{gap:25px}
 .product-views button{min-height:44px;padding:9px 2px}
 .colour-swatches{gap:2px;margin-left:-7px}
 .colour-swatch{width:44px;height:44px;padding:11px;border:0}
 .colour-swatch[aria-pressed=true]{padding:11px;border:0}
 .colour-swatch[aria-pressed=true]:before{outline:1px solid #f7f8f4;outline-offset:3px}
 .colour-swatch[aria-pressed=true]:after{bottom:3px;left:16px;right:16px}
}
@media(prefers-reduced-motion:reduce){.product-art>.garment,.product-art>.artwork-detail,.product-turntable{transition:none}}
