/* The store is a separate room: rails, suspended garments, and a mechanical entrance. */
html:has(.shop-page){scroll-padding-top:0;scrollbar-gutter:auto}
.shop-page{background:#0b0c0e}
.shop-page.vault-is-entering{overflow:hidden}
.shop-page .virtual-store{min-height:100svh;padding:24px 5% 18px;display:flex;flex-direction:column;background:#0d0f11;isolation:isolate;transform-origin:center center}
.shop-page .store-atmosphere{background:linear-gradient(180deg,#0b0d0ff5,#14181ddd 49%,#0a0c0ef5),url('assets/showroom-entrance.webp') center/cover}
.shop-page .store-atmosphere:before{opacity:.5;background:linear-gradient(90deg,#0006,transparent 22%,transparent 78%,#0006),repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#ffffff09 calc(25% - 1px),#ffffff09 25%)}
.shop-page .store-haze{opacity:.3}.shop-page .store-reflection{opacity:.35}
.shop-page .store-topline{min-height:55px;padding:0 0 22px;border-color:#ffffff1a;align-items:center}
.shop-page .store-wordmark{display:flex;gap:18px}.shop-page .store-wordmark>.brand-type{font-size:28px}.shop-page .showroom-label{font-size:7px;letter-spacing:2px}
.shop-page .store-exit{font-size:8px;letter-spacing:1.2px;min-height:40px;display:flex;align-items:center}
.shop-page #roomBagButton{min-height:40px;letter-spacing:1.2px}
.shop-page .store-heading{margin:28px 0 18px;gap:20px;align-items:flex-end}
.shop-page .store-heading h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(34px,3.8vw,53px);font-weight:400;line-height:1.05;letter-spacing:-2px;margin:0}
.shop-page .store-heading .eyebrow{margin-bottom:12px;font-size:7px;letter-spacing:2px}
.shop-page .store-heading>p{font-size:11px;line-height:1.7;max-width:240px;text-align:right;color:#a5a8aa}
.shop-page .store-navigation{margin-bottom:0;padding-bottom:10px;border-color:#ffffff18}
.shop-page .room-tabs>button{min-height:45px}.shop-page .room-tabs{gap:36px}
.shop-page .room-viewport{flex:1;min-height:440px;padding:0 1%;perspective:1400px;display:flex;flex-direction:column;justify-content:center}
.shop-page .aisle-panel{padding-top:0;width:100%}
.shop-page .aisle-panel:focus-visible{outline:1px solid #a6b1b977;outline-offset:5px}
.shop-page .shelf-wall{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:3%;padding:0 0 10px;transform:rotateY(calc(var(--look-x)*-.8deg));margin:0}
.shop-page .shelf-bay{width:30%;max-width:425px;padding:40px 0 0;border:0;background:none;box-shadow:none;position:relative;isolation:isolate}
.shop-page .shelf-bay:before{inset:3px -7% 25%;background:radial-gradient(ellipse at 50% 0,#b9cbd318,transparent 65%);z-index:-1}
.shop-page .shelf-bay:first-child:not(:last-child),.shop-page .shelf-bay:last-child:not(:first-child){transform:none}
.shop-page .bay-code{font-size:6px;letter-spacing:1.5px;top:16px;color:#767e84}
.shop-page .bay-light{display:none}
.shop-page .garment-mount{transform-origin:50% 3%;animation:garmentSway 8s ease-in-out infinite alternate;animation-delay:calc(var(--bay-index)*-2.5s)}
.shop-page .garment-mount:has(.shelf-pick:hover),.shop-page .garment-mount:has(.shelf-pick:focus-visible){animation-play-state:paused}
.shop-page .shelf-pick{height:auto;aspect-ratio:1;width:100%;padding:0;border:0;background:none;box-shadow:none;transition:transform .35s ease,filter .35s ease;filter:drop-shadow(0 28px 20px #0005)}
.shop-page .shelf-pick:hover,.shop-page .shelf-pick:focus-visible{transform:translateY(-8px) scale(1.025);filter:brightness(1.08) drop-shadow(0 32px 22px #0007)}
.shop-page .shelf-pick.picked{transform:translateY(-15px) scale(1.07);filter:brightness(1.12) drop-shadow(0 38px 28px #0008)}
.hanging-garment{display:block;position:absolute;inset:0;background-image:url('assets/hanging-tees.webp');background-repeat:no-repeat;background-size:300% 200%;background-position:var(--garment-x) var(--garment-y);pointer-events:none}
.shop-page .pick-prompt{top:100%;bottom:auto;left:13%;right:13%;border:0;background:none;backdrop-filter:none;padding:8px 2px;min-height:34px!important;letter-spacing:1.4px;font-size:6px;color:#b8c0c6;opacity:.8;transition:opacity .2s,color .2s}
.shop-page .pick-prompt>span{font-size:17px}
.shop-page .shelf-pick:hover .pick-prompt,.shop-page .shelf-pick:focus-visible .pick-prompt{background:none;color:#fff;opacity:1}
.shop-page .saved-mark{right:6%;top:19%;font-size:6px;background:#d9ddd8;padding:8px;letter-spacing:1px}
.shop-page .shelf-plaque{margin:43px 12% 10px;border-top:1px solid #ffffff16;padding-top:14px;font-size:12px;gap:12px;min-height:30px}
.shop-page .shelf-plaque>span:last-child{font-size:7px;letter-spacing:1.2px;color:#8d969c}
.garment-rail{position:absolute;top:52px;left:5%;right:5%;height:5px;background:linear-gradient(#e3e6e7,#5b6267 45%,#171c20 80%);box-shadow:0 7px 12px #0006;border-radius:4px;z-index:0}
.garment-rail:before,.garment-rail:after{content:'';position:absolute;top:-52px;height:52px;width:2px;background:linear-gradient(90deg,#737a80,#1f252b)}
.garment-rail:before{left:3%}.garment-rail:after{right:3%}
.shop-page .room-ceiling{display:none}
.shop-page .room-floor{inset:72% -6% -10%;opacity:.7;background:radial-gradient(ellipse at 50% 40%,#66748220,transparent 65%),linear-gradient(0deg,#090c0f55,transparent);pointer-events:none}
.shop-page .preview-bay{width:45%;max-width:430px;padding:40px 0 0;background:none}
.shop-page .preview-bay .shelf-pick{aspect-ratio:1;height:auto}
.shop-page .preview-bay .shelf-garment{inset:17% 0 auto;width:100%;height:auto;aspect-ratio:1.5;background-color:transparent;filter:drop-shadow(0 20px 16px #0007)}
.preview-hanger{position:absolute;top:0;left:29%;right:29%;height:24%;display:block;z-index:-1;pointer-events:none}
.preview-hanger svg{width:100%;height:100%;overflow:visible;fill:none;stroke:#b1b7bc;stroke-width:2}
.shop-page .preview-bay .shelf-plaque{justify-content:space-between;gap:25px}
.shop-page .room-hint{font-size:7px;letter-spacing:1.4px;margin:20px 0 24px;color:#929ba3}
.shop-page .room-hint>span{font-size:14px}
.shop-page .store-bottomline{margin-top:auto;padding:10px 0;border-color:#ffffff20}
.shop-page .store-bottomline>button{min-height:44px}.shop-page .store-bottomline>p{font-size:8px;letter-spacing:1px}
.store-footnote{border-top:1px solid #ffffff12;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:45px;font-size:6px;letter-spacing:1.25px;color:#7f8990;line-height:1.8}
.store-footnote>a,.store-footnote>button{min-height:42px;display:flex;align-items:center}
.store-footnote>a{color:#b3bbc1}.store-footnote #motionButton{background:none;border:0;font-size:7px;gap:12px;padding:8px 0}
.shop-page .dialog-header{background:#111315fa}.shop-page .shop-dialog{background:#111315}
.shop-page.dialog-open .garment-mount,.shop-page.tab-hidden .garment-mount{animation-play-state:paused}
@keyframes garmentSway{from{transform:rotate(-.45deg)}to{transform:rotate(.45deg)}}
@media(min-width:1600px){.shop-page .virtual-store{padding-inline:max(5%,calc((100vw - 1530px)/2))}.shop-page .room-viewport{justify-content:flex-start;padding-top:15px}}
@media(max-width:1000px){.shop-page .store-wordmark{gap:12px}.shop-page .showroom-label{display:none}.shop-page .room-viewport{min-height:380px}.shop-page .shelf-bay{width:32%}.shop-page .shelf-plaque{margin-inline:7%;font-size:11px}.shop-page .preview-bay{width:48%}.store-footnote>span{display:none}}
@media(max-width:700px){
 .shop-page .virtual-store{padding:17px 5% 10px;min-height:100svh;overflow:clip}
 .shop-page .store-topline{min-height:47px;padding-bottom:15px;gap:14px}.shop-page .store-wordmark{display:none}.shop-page .store-exit{font-size:7px;letter-spacing:.9px}.shop-page #roomBagButton{font-size:7px;letter-spacing:.9px}
 .shop-page .store-heading{display:flex;align-items:flex-end;margin:25px 0 16px}.shop-page .store-heading h2{font-size:36px;letter-spacing:-1.5px}.shop-page .store-heading .eyebrow{font-size:6px;letter-spacing:1.5px;margin-bottom:11px}.shop-page .store-heading>p{max-width:135px;font-size:9px;line-height:1.6;margin:0;color:#9ba4ac}
 .shop-page .store-navigation{position:relative;top:auto;padding:0 0 10px;margin:0;gap:0;background:none;backdrop-filter:none}.shop-page .room-tabs{gap:25px;flex-basis:100%}.shop-page .room-tabs>button{font-size:6px;gap:9px;min-height:42px}.shop-page .room-tabs>button span{font-size:7px;letter-spacing:1px}.shop-page .store-navigation>button{font-size:7px;min-height:37px;margin-left:auto}
 .shop-page .room-viewport{perspective:none;padding:0;min-height:0;justify-content:flex-start;flex:1}
 .shop-page .shelf-wall{gap:24px;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:12px;padding:16px 12px 15px;margin:0 -12px;scrollbar-width:none;transform:none!important;overscroll-behavior-x:contain}
 .shop-page .shelf-bay{width:auto;max-width:430px;flex:0 0 calc(100% - 44px);padding:31px 0 0;scroll-snap-align:center;scroll-snap-stop:always;margin:0;border:0}
 .shop-page .shelf-bay:last-child{margin-right:10px}.shop-page .shelf-bay:only-child{flex-basis:calc(100% - 12px);margin-inline:6px;max-width:none}
 .shop-page .shelf-pick{aspect-ratio:1;height:auto}.shop-page .bay-code{top:10px;font-size:6px}
 .garment-rail{top:56px;left:0;right:0;height:4px}.garment-rail:before,.garment-rail:after{height:56px;top:-56px}
 .shop-page .pick-prompt{font-size:6px;letter-spacing:1.3px;left:15%;right:15%}.shop-page .shelf-plaque{margin:39px 13% 0;padding-top:13px;font-size:12px}.shop-page .shelf-plaque>span:last-child{font-size:7px}
 .shop-page .preview-bay .shelf-pick{aspect-ratio:1;height:auto}.shop-page .shelf-navigation{display:flex;margin:0 0 5px;gap:23px}.shop-page .shelf-navigation button{width:37px;height:37px}
 .shop-page .room-hint{font-size:6px;letter-spacing:1px;margin:9px 0 19px}.shop-page .room-hint>span{font-size:13px}.shop-page .store-bottomline{padding:5px 0}.shop-page .store-bottomline>button>span{font-size:6px;letter-spacing:1px}.shop-page .store-bottomline>p{font-size:7px;letter-spacing:.5px}
 .store-footnote{gap:14px;min-height:50px;font-size:5px;letter-spacing:.8px}.store-footnote #motionButton{font-size:6px;letter-spacing:.8px;gap:8px;white-space:nowrap}
 .vault-door-copy{top:15%}.vault-door-copy h2{font-size:19vw;margin-bottom:26px}.vault-door-copy>p{font-size:7px;letter-spacing:2px;margin-bottom:25px}.vault-door-copy>span{font-size:6px;letter-spacing:2px}.vault-lock{top:55%;width:42vw;max-width:220px}.vault-door-inset{inset:5% 12%}#skipVault{bottom:10%;font-size:7px}
}
@media(prefers-reduced-motion:reduce){.vault-door,.vault-lock,.vault-lock svg,.vault-door-copy,.shop-page .virtual-store{transition:none!important}.garment-mount{animation:none!important}}
