/* The original drawer material and signature layers remain unchanged. */
.voice-review-v20 .hero-spin{position:absolute;inset:0;z-index:2}
.voice-review-v20 .hero-spin-target{position:absolute;left:50%;top:49%;height:min(78dvh,1000px);width:min(calc(78dvh * .416667),416px);transform:translate(-50%,-50%);touch-action:none;cursor:grab;outline-offset:8px}
.voice-review-v20 .hero-spin-target.is-dragging{cursor:grabbing}
.voice-review-v20 .spin-model{position:relative;width:100%;height:100%}
.voice-review-v20 .spin-model picture,.voice-review-v20 .spin-model img,.voice-review-v20 .normalized-spin-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;pointer-events:none}
.voice-review-v20 .hero-spin .spin-model{transform:translate(var(--position-hero-x,0px),var(--position-hero-y,0px)) scale(var(--position-hero-scale,1));transform-origin:50% 50%}
.voice-review-v20 .lineup .look>button{transform:translate(var(--position-drawer-x,0px),var(--position-drawer-y,0px)) scale(var(--position-drawer-scale,1));transform-origin:50% 50%}
.voice-review-v20 .hero-spin-hint{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);font-size:10px;color:#526057;pointer-events:none;white-space:nowrap}
.voice-review-v20 .hero-spin-garment{position:absolute;top:46%;width:170px;font-size:12px;line-height:1.5;text-decoration:none;color:#24392b;z-index:4}
.voice-review-v20 .hero-spin-garment:hover{text-decoration:underline;text-underline-offset:4px}
.voice-review-v20 .hero-spin-garment[data-side=left]{right:calc(50% + 190px);text-align:right}
.voice-review-v20 .hero-spin-garment[data-side=right]{left:calc(50% + 190px)}
.voice-review-v20 .drawer-spin-control{position:absolute;z-index:7;right:24px;bottom:20px;width:180px;padding:8px 12px;border-radius:20px;background:rgba(246,248,245,.86);color:#263b2c;font-size:10px}
.voice-review-v20 .drawer-spin-control label{display:flex;align-items:center;gap:8px}
.voice-review-v20 .drawer-spin-control input{width:95px;min-width:0;accent-color:#475c4d;touch-action:none}
/* A common center and fixed pitch; larger/up relative to v30, with foot clearance. */
.voice-review-v20 .lineup{--model-drop:min(clamp(28px,5dvh,52px),max(0px,calc((100% - var(--model-height))*.5 + var(--model-height)*.04 - 12px)));--lineup-step:max(230px,calc((var(--model-height)*var(--max-model-aspect) + var(--lineup-gap))*1.28))}
.voice-review-v20 .look:is(.has-reference-model,.has-turntable){height:calc(var(--model-height)*1.035);width:calc(var(--model-height)*1.035*var(--model-aspect));margin-left:calc(var(--model-height)*1.035*var(--model-aspect)*-.5)}
.position-panel{position:fixed;left:14px;bottom:14px;z-index:80;width:280px;max-width:calc(100vw - 28px);color:#26382c;font:11px/1.5 Arial,sans-serif;border-radius:18px;background:rgba(244,247,241,.96);box-shadow:0 2px 16px #23362514}
.position-panel summary{padding:12px 16px;cursor:pointer;min-height:42px}
.position-panel[open]{padding-bottom:12px;max-height:min(75dvh,560px);overflow:auto}
.position-panel fieldset{border:0;margin:4px 14px 10px;padding:0}
.position-panel legend{font-weight:600;padding:0 0 7px}
.position-panel label{display:grid;grid-template-columns:48px minmax(0,1fr) 52px;align-items:center;gap:6px;margin:5px 0}
.position-panel input[type=range]{width:100%;accent-color:#536f5c;min-height:28px}
.position-panel output{font-variant-numeric:tabular-nums;text-align:right}
.position-actions{display:flex;gap:8px;padding:0 14px}.position-actions button{border:1px solid #65736855;border-radius:18px;padding:8px 12px;min-height:36px}
.position-feedback{padding:8px 14px 0;font-size:10px}
.position-copy{display:block;width:calc(100% - 28px);height:100px;margin:8px 14px 0;font:10px monospace}
body:not([data-view=collection]) .position-panel,body:has(.panel[open]) .position-panel,body:has(.intro[open]) .position-panel{display:none}
@media(max-width:600px){
 .voice-review-v20 .hero-spin-target{height:min(73dvh,calc((100vw - 46px)*2.4));width:min(calc(73dvh*.416667),calc(100vw - 46px));top:47%}
 .voice-review-v20 .hero-spin-garment{top:auto;bottom:104px;width:calc(50% - 28px);font-size:10.5px;line-height:1.4}
 .voice-review-v20 .hero-spin-garment[data-side=left]{left:16px;right:auto;text-align:left}.voice-review-v20 .hero-spin-garment[data-side=right]{right:16px;left:auto;text-align:right}
 .voice-review-v20 .hero-spin-hint{bottom:148px;font-size:9px}
 .voice-review-v20 .lineup{--lineup-step:100vw;--model-drop:min(30px,max(0px,calc((100% - var(--model-height))*.5 + var(--model-height)*.035 - 12px)))}
 .voice-review-v20[data-mobile-layout=pair] .lineup{--lineup-step:50vw}
 .voice-review-v20 .drawer-spin-control{right:14px;bottom:14px;width:170px}
 .position-panel{left:10px;bottom:10px;width:236px}.position-panel:not([open]){width:auto;max-width:180px}.position-panel summary{padding:10px 14px}
}
@media(max-height:500px){.voice-review-v20 .hero-spin-hint{display:none}.voice-review-v20 .hero-spin-garment{font-size:10px;top:35%;bottom:auto;width:120px}.voice-review-v20 .hero-spin-garment[data-side=left]{left:16px;right:auto}.voice-review-v20 .hero-spin-garment[data-side=right]{right:16px;left:auto}.voice-review-v20 .drawer-spin-control{bottom:8px}}
@media(prefers-reduced-motion:reduce){.voice-review-v20 .lineup .look{transition:none}}

.voice-review-v20 .hero.has-transparent-model .hero-poster{transform:translate(var(--position-hero-x,0px),var(--position-hero-y,0px)) scale(var(--position-hero-scale,1));transform-origin:50% 50%}

/* Five complete desktop figures: center + two evenly spaced neighbors per side.
   Width-limited height keeps the widest normalized canvas inside its pitch. */
@media(min-width:901px){
 .voice-review-v20 .lineup{--lineup-step:20vw;--model-drop:min(clamp(28px,5dvh,52px),max(0px,calc((100% - var(--model-height)*1.035)*.5 - 16px)))}
 .voice-review-v20 .collection-stage>.collection{--model-height:min(calc(var(--unscaled-model-height)*.9),calc((20vw - 24px)/(var(--max-model-aspect)*1.035)))}
}

.voice-review-v20 .hero-auto-toggle{position:absolute;right:24px;bottom:108px;padding:8px 10px;font-size:10px;color:#526057;background:transparent;z-index:5;cursor:pointer}.voice-review-v20 .hero-auto-toggle:focus-visible{outline:1px solid currentColor;outline-offset:2px}@media(max-width:600px){.voice-review-v20 .hero-auto-toggle{right:12px;bottom:92px}}@media(prefers-reduced-motion:reduce){.voice-review-v20 .hero-auto-toggle{display:none}}

/* Isolate the changing hero canvas so rotation does not rerasterize its stage. */
.voice-review-v20 .hero-spin .normalized-spin-canvas{transform:translateZ(0);backface-visibility:hidden;contain:paint}
/* Neighbor stills have less transparent foot padding than the spin sequence.
   Reserve a small amount inside their canvas for the lower drawer default. */
@media(min-width:901px){.voice-review-v20 .look.has-reference-model:not(:has(.spin-model)) img{height:calc(100% - min(24px,max(0px,calc(var(--position-drawer-y,0px) - 24px))))}}

/* Full original3 composition: contain the entire frame; no additional giant mark or cutout. */
.voice-review-v20 .hero.has-full-composition{background:linear-gradient(110deg,#d4d7cd,#eef0ed)}
.voice-review-v20 .hero.has-full-composition .hero-video,.voice-review-v20 .hero.has-full-composition .hero-poster{mask-image:none!important;-webkit-mask-image:none!important;object-fit:contain;filter:none;mix-blend-mode:normal;transform:translate(-50%,-50%)}
.voice-review-v20 .hero.has-full-composition #hero-backdrop,.has-composed-idle .backdrop-continuation{display:none!important}
.private-idle-link,.private-original-link{display:block;font-size:12px;text-decoration:underline;text-underline-offset:4px;margin-top:18px;color:#263b2c}

.voice-review-v20 .hero.has-full-composition .hero-video,.voice-review-v20 .hero.has-full-composition .hero-poster{top:var(--private-film-center-y,50%)}

/* Source-derived background field and a soft perimeter; model pixels stay opaque. */
.voice-review-v20 .hero.has-full-composition{background:#d9dad5 url('assets/private-idle/F03/edge-background.svg') center/100% 100% no-repeat}
.voice-review-v20 .hero.has-full-composition .hero-video,.voice-review-v20 .hero.has-full-composition .hero-poster{mask-image:linear-gradient(to right,transparent,#000 2.2%,#000 97.8%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent)!important;mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 2.2%,#000 97.8%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent)!important;-webkit-mask-composite:source-in}
/* Four fixed outfit slots; no carousel movement, fades or manual spin control. */
.four-fixed .lineup-shell{flex:1;min-height:0;width:100%;max-width:none!important;margin:0}
.four-fixed .lineup{position:relative;inset:auto;width:100%;height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.5vw,28px);padding:0 clamp(12px,3vw,48px) calc(14px + max(0px,var(--position-drawer-y,0px)));mask-image:none!important;-webkit-mask-image:none!important;touch-action:pan-y}
.four-fixed .lineup>.look{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;margin:0!important;transform:none!important;opacity:1!important;display:flex;flex-direction:column;min-height:0}
.four-fixed .lineup .look>button{flex:1;min-height:0;width:100%;height:auto;display:block}
.four-fixed .look-label-group{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;min-height:40px;flex:0 0 40px;text-align:center;pointer-events:auto}
.four-fixed .look-label-group .outfit-label-text{display:block;max-width:230px;margin:auto;font-size:11px;line-height:1.4}
.four-fixed .drawer-labels,.four-fixed .drawer-spin-control,.four-fixed .lineup-arrow,.four-fixed .lineup-controls,.four-fixed .lineup-dots{display:none!important}
.four-fixed .four-model{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:visible}
.four-fixed .four-model canvas,.four-fixed .four-model img{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;width:auto!important;height:100%!important;max-width:100%!important;transform:none!important;object-fit:contain}
@media(max-width:600px){.four-fixed .lineup{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:14px 12px;padding:0 14px 12px}.four-fixed .look-label-group{min-height:34px;flex-basis:34px}.four-fixed .look-label-group .outfit-label-text{font-size:10px;line-height:1.35}}
/* One catalog glass layer over the real retained hero. */
.four-fixed[data-view=catalog] #collection-view{position:fixed;inset:0;z-index:0;pointer-events:none}
.four-fixed[data-view=catalog] #collection{visibility:hidden;pointer-events:none}
.four-fixed[data-view=catalog] #hero-hotspots,.four-fixed[data-view=catalog] .hero-bottom{visibility:hidden}
.four-fixed[data-view=catalog] #catalog-view{position:relative;isolation:isolate;z-index:2;min-height:100dvh;background:linear-gradient(140deg,rgba(248,250,248,.68),rgba(248,250,250,.72) 48%,rgba(234,242,243,.76))!important;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-top:1px solid rgba(255,255,255,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.four-fixed[data-view=catalog]>.site-footer{position:relative;z-index:3;background:rgba(240,244,240,.86)!important}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.four-fixed[data-view=catalog] #catalog-view{background:#f0f3ee!important;backdrop-filter:none;-webkit-backdrop-filter:none}.four-fixed[data-view=catalog] #collection-view{visibility:hidden}}

.four-fixed .lineup .look>button{order:1;margin-bottom:max(0px,var(--position-drawer-y,0px))}
.four-fixed .look-label-group{order:2}
.four-fixed .look{will-change:auto}

.four-fixed #collection .drawer-labels{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.5vw,28px);padding:0 clamp(12px,3vw,48px);pointer-events:none}
.four-peek-label{text-align:center;font-size:10px;line-height:1.4;color:#6c766f;text-wrap:balance}
@media(max-width:600px){.four-fixed #collection .drawer-labels{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 12px}.four-peek-label{font-size:8px}}

/* Full-composition video controls are separate from cutout/drawer transforms. */
.has-composed-idle>.position-panel{display:none!important}
.hero-video-position-panel{display:none;position:fixed;z-index:80;left:14px;bottom:14px;width:320px;max-width:calc(100vw - 28px);color:#26382c;font:11px/1.5 Arial,sans-serif;border-radius:18px;background:rgba(244,247,241,.96);box-shadow:0 2px 16px #23362514}
.has-composed-idle[data-view=collection]>.hero-video-position-panel{display:block}
body:has(.panel[open])>.hero-video-position-panel,body:has(.intro[open])>.hero-video-position-panel{display:none!important}
.hero-video-position-panel summary{padding:12px 16px;min-height:42px;cursor:pointer}
.hero-video-position-panel[open]{padding-bottom:12px;max-height:75dvh;overflow:auto}
.hero-position-note,.hero-position-status{margin:4px 14px 10px;font-size:10px}
.hero-position-field{display:grid;grid-template-columns:52px minmax(0,1fr) 64px;gap:7px;align-items:center;margin:6px 14px}
.hero-position-field input{min-width:0;width:100%;min-height:32px;accent-color:#536f5c}
.hero-position-field input[type=number]{border:1px solid #65736855;border-radius:7px;background:#fff;padding:5px;font:inherit}
.hero-video-position-panel .position-actions button{font-size:10px}
.voice-review-v20 .hero.has-full-composition .hero-video,.voice-review-v20 .hero.has-full-composition .hero-poster{left:var(--private-film-center-x,50%)}
@media(max-width:600px){.hero-video-position-panel{left:10px;bottom:10px;width:300px;max-width:calc(100vw - 20px)}.hero-video-position-panel:not([open]){width:auto}.hero-video-position-panel summary{padding:10px 14px}}

/* Reference typography: regular sentence-case outfit phrase over pale glass. */
.outfit-name-line{display:block}
.hero-look-title{position:absolute;z-index:5;left:32px;top:96px;max-width:min(40vw,430px);padding:12px 16px;font:400 21px/1.4 Arial,sans-serif;letter-spacing:-.02em;color:#202b26;background:rgba(235,242,243,.58);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none;opacity:var(--hero-ui-opacity,1)}
.four-fixed .look-label-group{text-align:left}
.four-fixed .look-label-group .outfit-label-text{font:400 clamp(13px,1.15vw,18px)/1.4 Arial,sans-serif;letter-spacing:-.02em;max-width:none;text-wrap:initial}
.four-fixed .outfit-label-text>.look-product-label:first-child{display:block}
.four-fixed .look-label-group.is-selected .look-product-label{font-weight:400}
.four-fixed .four-peek-label{font:400 clamp(12px,1.23vw,21px)/1.4 Arial,sans-serif;letter-spacing:-.02em;text-align:left;text-wrap:initial;color:#27302c}
.four-fixed[data-view=catalog] .hero-look-title{visibility:hidden}
@media(max-width:600px){.hero-look-title{left:16px;top:78px;max-width:calc(100vw - 32px);padding:8px 10px;font-size:14px}.four-fixed .look-label-group{min-height:48px;flex-basis:48px}.four-fixed .look-label-group .outfit-label-text{font-size:11px;line-height:1.4}.four-fixed .four-peek-label{font-size:8px;line-height:1.4}}
@media(max-height:500px){.hero-look-title{top:70px;font-size:13px;padding:5px 8px}}

@media(min-width:601px){.four-fixed .look-label-group{min-height:56px;flex-basis:56px}}
@media(max-width:600px){.four-fixed .four-peek-label{display:none}.four-fixed .four-peek-label[data-selected=true]{display:block;grid-column:1/-1;font-size:14px}}

/* Mobile cover crops the landscape sides, preserving the model's center. */
@media(max-width:600px){
 .voice-review-v20 .hero.has-full-composition .hero-video,.voice-review-v20 .hero.has-full-composition .hero-poster{mask-image:none!important;-webkit-mask-image:none!important;object-fit:cover}
 .hero-look-title{top:auto;bottom:calc(80px + 14px);left:18px;max-width:calc(100vw - 36px);font-size:12px;padding:7px 9px}
 .four-fixed .lineup{padding:12px clamp(26px,8vw,38px) 22px;column-gap:6px;row-gap:18px}
 .four-fixed .look-label-group{min-height:42px;flex-basis:42px;padding:0 2px}
 .four-fixed .look-label-group .outfit-label-text{font-size:9px;line-height:1.45;letter-spacing:0}
 .four-fixed .four-peek-label[data-selected=true]{font-size:11px;padding:0 14px}
}
/* One square glass bag over the retained current hero, without a second blur layer. */
.voice-review-v20 .bag-panel{border-radius:0!important;inset:0 0 0 auto!important;margin:0!important;height:100dvh;max-height:none;width:min(520px,100%);background:linear-gradient(140deg,rgba(248,250,248,.68),rgba(248,250,250,.72) 48%,rgba(234,242,243,.76))!important;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-left:1px solid rgba(255,255,255,.92);box-shadow:inset 1px 0 0 rgba(255,255,255,.8)}
.voice-review-v20 .bag-panel::backdrop{background:rgba(20,30,25,.06)}
.bag-glass-open #collection-view{display:block!important;visibility:visible!important;position:fixed;inset:0;z-index:0;pointer-events:none}
.bag-glass-open #collection,.bag-glass-open #hero-hotspots,.bag-glass-open .hero-look-title,.bag-glass-open #catalog-view,.bag-glass-open #product-view{visibility:hidden!important}
.bag-glass-open .collection-stage{--hero-blur:0px!important}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.voice-review-v20 .bag-panel{background:#f0f3ee!important;backdrop-filter:none;-webkit-backdrop-filter:none}.bag-glass-open #collection-view{visibility:hidden!important}}
@media(forced-colors:active){.voice-review-v20 .bag-panel{background:Canvas!important;color:CanvasText;backdrop-filter:none}}

@media(max-width:600px){.has-full-composition .hotspot-label{background:rgba(241,245,242,.82);padding:6px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}

.hero-film-picker{display:flex;gap:4px;margin-top:5px;pointer-events:auto}
.hero-film-picker button{min-width:36px;min-height:36px;padding:6px;font:11px/1 Arial,sans-serif;color:#56625b;background:transparent;cursor:pointer;border-bottom:1px solid transparent}
.hero-film-picker button[aria-pressed=true]{color:#18241d;border-bottom-color:#52635a}
.hero-film-picker button:focus-visible{outline:1px solid currentColor;outline-offset:-2px}
@media(max-width:600px){.hero-film-picker{gap:3px;margin-top:2px}.hero-film-picker button{min-width:44px;min-height:44px;padding:10px;font-size:10px}.hero-look-title{bottom:calc(80px + 12px)}}

/* Latest desktop correction: each label is centered in its own model column. */
@media(min-width:601px){
 .four-fixed .look-label-group{order:0;text-align:center}
 .four-fixed .look-label-group .outfit-label-text{font-size:16px;text-align:center;line-height:1.4}
 .four-fixed .four-peek-label{font-size:16px;text-align:center;line-height:1.4;color:#929a95}
 .four-fixed .four-peek-label[data-selected=true]{color:#27302c}
}

/* Measured SVG callouts: straight leaders and plain text, no dot/arrow/card. */
.has-full-composition .hotspot{width:0;height:0;transform:none}
.has-full-composition .hotspot-connector{left:0;top:0;color:rgba(0,0,0,.33)}
.has-full-composition .hotspot-connector line{stroke-width:1.1;stroke-linecap:butt}
.has-full-composition .hotspot-label,.has-full-composition .hotspot:first-child .hotspot-label{width:max-content;max-width:300px;min-height:0;padding:0!important;gap:0;background:transparent!important;border:0;box-shadow:none;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.has-full-composition .hotspot-copy{gap:6.16px}
.has-full-composition .hotspot-copy strong{font:400 15.4px/21.56px Arial,sans-serif;color:#151515}
.has-full-composition .hotspot-copy small{font:400 11px/15.4px Arial,sans-serif;color:#737373}
.has-full-composition .hotspot-label::before{content:'';position:absolute;inset:-7px -4px;pointer-events:auto}
@media(max-width:600px){.has-full-composition .hotspot-label{max-width:124px}.has-full-composition .hotspot-copy{gap:4.4px}.has-full-composition .hotspot-copy strong{font-size:12.1px;line-height:16.94px}.has-full-composition .hotspot-copy small{font-size:9.35px;line-height:13.09px}}
.has-full-composition .hotspot:focus-visible .hotspot-label{outline:1px solid currentColor;outline-offset:6px}
@media(max-width:600px){.has-full-composition .hotspot:first-child .hotspot-label{max-width:124px}}

/* CSS guard keeps width and intrinsic aspect ratio valid even during resize before JS layout. */
.voice-review-v20 .hero.has-full-composition .hero-video,.voice-review-v20 .hero.has-full-composition .hero-poster{width:max(calc(100% + var(--private-film-extra-x,0px)),var(--film-width,100%));min-width:100%;height:auto!important;aspect-ratio:16/9;max-height:none}
/* Mobile uses the same full-width guard; its cover baseline can now zoom out. */
/* Each closed/open outfit name is one centered two-line block, not a shared heading. */
.four-fixed #collection .drawer-labels{inset:0;height:var(--peek-height);align-items:stretch}
.four-fixed .four-peek-label{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;text-align:center;white-space:nowrap}
.four-fixed .four-peek-label .outfit-name-line{white-space:nowrap}
.four-fixed .look-label-group{display:flex!important;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.four-fixed .look-label-group .outfit-label-text,.four-fixed .look-label-group .look-product-label{white-space:nowrap}
@media(max-width:600px){
 .four-fixed #collection .drawer-labels{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:0 6px;padding:0 clamp(26px,8vw,38px)}
 .four-fixed .four-peek-label,.four-fixed .four-peek-label[data-selected=true]{display:flex;grid-column:auto;font-size:9px;line-height:1.4;padding:0;text-align:center;color:#929a95}
 .four-fixed .four-peek-label[data-selected=true]{color:#27302c}
}

/* Keep the collapsed positioning toggle clear of every closed outfit tab. */
.hero-video-position-panel:not([open]){left:auto;right:14px;bottom:112px;width:auto}
@media(max-width:600px){.hero-video-position-panel:not([open]){left:auto;right:14px;bottom:140px}.hero-video-position-panel:not([open]) summary{font-size:0}.hero-video-position-panel:not([open]) summary::after{content:'Position';font-size:10px}}

.callout-editor-controls{border:0;border-top:1px solid #65736833;margin:12px 14px 0;padding:12px 0 0}
.callout-editor-controls legend{font-weight:600;padding-top:12px}.callout-editor-controls p{font-size:10px;line-height:1.5;margin:6px 0}.callout-edit-toggle{display:flex;align-items:center;min-height:44px;gap:8px}.callout-edit-toggle input{width:18px;height:18px}
.callout-editor-options>label:first-child{display:flex;align-items:center;gap:8px}.callout-editor-options select{width:100%;min-width:0;min-height:36px;font:inherit}
.callout-coordinate{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:8px;margin:5px 0}.callout-coordinate input{min-width:0;width:100%;min-height:34px;padding:5px;border:1px solid #65736855;border-radius:6px;font:inherit}
.callout-editor-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.callout-editor-actions button{min-height:36px;padding:7px 9px;border:1px solid #65736855;border-radius:14px;font:inherit}
.callout-edit-handles{position:absolute;inset:0;z-index:30;pointer-events:none;opacity:var(--hero-ui-opacity,1)}.callout-edit-handles[hidden]{display:none!important}
.callout-handle{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:30px;height:30px;border:1px solid #244f61;background:#f3fbffed;color:#244f61;font:600 11px/1 Arial,sans-serif;cursor:move;touch-action:none;pointer-events:auto;border-radius:3px;user-select:none}
.callout-handle.is-current{border-color:#075e85;background:#d6f1ff}.callout-handle:focus-visible{outline:2px solid #075e85;outline-offset:3px}.callout-edit-done{position:absolute;right:14px;bottom:190px;min-height:44px;padding:8px 12px;border:1px solid #65736855;border-radius:14px;background:#f3f7f1ed;color:#26382c;font:11px Arial,sans-serif;pointer-events:auto}
body:not([data-view=collection]) .callout-edit-handles,.bag-glass-open .callout-edit-handles{display:none!important}
@media(max-width:600px){.callout-handle{width:36px;height:36px}.callout-coordinate input{min-height:40px}}

/* v46: modest source-margin zoom, with all four bodies retained. */
.four-fixed .four-model canvas,.four-fixed .four-model img{transform:scale(1.05)!important}
.hero-look-title{font-size:17px}
@media(max-width:600px){.hero-look-title{font-size:11px}.four-fixed .four-model canvas,.four-fixed .four-model img{transform:scale(1.03)!important}}

/* Independent label rectangles are positioning bounds, never text clipping masks. */
.has-full-composition .hotspot-label{clip-path:none!important;overflow:visible}
@media(min-width:601px){.has-full-composition .hotspot-copy strong,.has-full-composition .hotspot-copy small{white-space:nowrap}}
.callout-editor-options>button{min-height:36px;margin:0 12px 10px;padding:5px 10px;border:1px solid #9ba89e;border-radius:8px;background:transparent}

/* v56: a shorter label strip and a substantially lower expanded drawer. */
.four-fixed .collection-stage>#collection{--peek-height:56px;height:max(48dvh,280px);max-height:calc(100dvh - 64px)}
