:root{color-scheme:dark;--ink:#f2f5f2;--muted:#aebdc4;--mint:#a6f1d5;--panel:rgba(12,28,39,.9);font-family:Inter,Arial,sans-serif;font-size:16px}

/* Sage, soft edges and warm accents follow the retail interiors. */
:root{--panel:rgba(32,52,45,.94);--mint:#c4dcb9;--ink:#f4efdf;--muted:#b8c5b4}
button{border-radius:18px;border-color:#d9d6bd30;background:#354f44}
button:hover{background:#506c58}
.top-actions button{background:#263f35e8;border-radius:24px}
.bottom-bar{background:#20372ff2;border-color:#c7b99355;border-radius:32px;padding:9px;box-shadow:0 10px 36px #08170e55}
.locations button{border-radius:24px}
.locations button[aria-current=true]{background:#5b73564d;color:#e4ebd8}
.store-panel,.stage-panel,.view-options-panel{background:linear-gradient(145deg,#304a3ff5,#20372ff5);border-color:#c7b99355;border-radius:26px;box-shadow:0 12px 35px #07170e40}
.store-card,.event-card,.product-card{border-radius:20px;background:#30483cdd;border-color:#c7b99340}
.store-icon{border-radius:15px;background:#71866b25}
.product-card img{border-radius:13px}
.text-button{color:#dbe6cf}
.view-options summary{border-radius:24px}
.view-options-panel{padding:20px}
#district-view-select{border-radius:16px;background:#344e42;border-color:#b6c5a970}
#mall-return{background:#324d3f;color:#eceddb;border-color:#c7b99380}
.primary{background:#d0dfbb;color:#233c2e;border-radius:22px}
.secondary{border-radius:22px;border-color:#c7b99365}
@media(max-width:750px){.bottom-bar{border-radius:26px;padding:6px}.store-panel,.stage-panel{border-radius:22px}}

/* Keep rotation glyphs legible within their existing controls. */
.product-image .model-controls #model-left,.product-image .model-controls #model-right{font-size:28px;font-weight:700;line-height:1;min-width:48px}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#152838;color:var(--ink)}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #ffffff25;border-radius:10px;background:#18323e;padding:11px 15px;min-height:44px;transition:background .15s,transform .15s}button:hover{background:#2b4a56}button:focus-visible{outline:3px solid var(--mint);outline-offset:3px}button[aria-pressed=true]{background:var(--mint);color:#112c2a;border-color:var(--mint)}button[hidden],section[hidden],aside[hidden]{display:none!important}a-scene{position:fixed!important;inset:0;width:100%;height:100%}#veil{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#0c1c277d,transparent 52%),linear-gradient(0deg,#0b1d27ab,transparent 25%)}.topbar{position:fixed;top:0;left:0;right:0;padding:22px 32px;display:flex;justify-content:space-between;align-items:center;z-index:2;background:linear-gradient(#0b1c27bb,transparent)}.brand{font-size:32px;letter-spacing:-1.6px;font-weight:700;display:flex;align-items:center;gap:10px;background:none;border:0;padding:0}.brandmark{color:var(--mint);font-size:42px;line-height:1}.prototype{font-size:12px;letter-spacing:1px;font-weight:500;margin-left:10px;color:#b5c8d0;border:1px solid #a5c6ca40;padding:5px 8px;border-radius:5px}.top-actions{display:flex;gap:8px}.top-actions button{background:#0f2734ba}.preview-tag{font-size:12px;color:#9ebac4;margin-left:6px}#saved-count{background:#ffffff20;border-radius:5px;padding:2px 6px;margin-left:5px}#vr-button{background:var(--mint);color:#133c32}.overlay{position:fixed;inset:105px auto 144px 32px;width:310px;pointer-events:none;z-index:1}.overlay>*{pointer-events:auto;max-height:100%;overflow:auto;scrollbar-width:thin}h1{font-weight:500;font-size:50px;line-height:1.04;letter-spacing:-2px;margin:14px 0 18px}h2{font-size:30px;line-height:1.15;letter-spacing:-.8px;font-weight:500;margin:14px 0}p{line-height:1.5}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--mint);font-weight:600}.intro{color:#c5d2d7;margin-bottom:18px}.interests{display:flex;gap:6px;flex-wrap:wrap}.interests button{font-size:14px;padding:8px 11px;border-radius:30px}.rule{height:1px;background:#ffffff25;margin:22px 0}.store-card{width:100%;display:flex;text-align:left;align-items:center;gap:14px;background:var(--panel);padding:15px;margin:10px 0;border:1px solid #ffffff22;border-radius:14px}.store-icon{font-size:26px;background:#ffffff0c;width:45px;height:48px;display:grid;place-items:center;color:var(--mint)}.store-card strong{font-size:22px;display:block;font-weight:500}.store-card small{display:block;color:#b9c8ce;font-size:14px;margin-top:5px}.store-card .enter{font-size:12px;letter-spacing:1px;margin-left:auto;color:var(--mint)}.event-card{width:100%;display:flex;gap:12px;text-align:left;background:#21323ce0;border-color:#d7b68450;padding:17px;margin-top:22px}.event-card small{color:#ddc097;letter-spacing:1.2px;font-size:11px}.event-card strong{display:block;margin:8px 0;font-size:17px}.event-card span span{font-size:13px;color:#bbc8c7}.event-icon{color:#ecc69c;font-size:25px}.disclaimer,.sample-note{color:var(--muted);font-size:13px;line-height:1.5}.disclaimer{margin-top:22px}.bottom-bar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;background:#0e2330ed;border:1px solid #ffffff24;padding:10px;border-radius:18px;z-index:3;box-shadow:0 12px 50px #0004;max-width:calc(100vw - 32px)}.locations,.mood-switch{display:flex;gap:4px}.locations button{background:transparent;border:0;font-size:14px;white-space:nowrap}.locations button[aria-current=true]{background:#ffffff18;color:var(--mint)}.mood-switch{border-left:1px solid #ffffff25;padding-left:12px}.mood-switch button{font-size:14px;border:0;background:transparent}.mood-switch button[aria-pressed=true]{background:var(--mint)}.reset-button{font-size:13px;border:0;background:transparent;color:#bcc9ce}.view-status{position:fixed;bottom:107px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;max-width:90vw}.view-status span{display:block}#location-label{font-size:16px;margin-bottom:6px}#view-hint{font-size:12px;color:#bdcbd1}.store-panel,.stage-panel{padding:22px;background:var(--panel);border:1px solid #ffffff20;border-radius:18px}.store-panel h1{font-size:40px}.store-panel>p,.stage-panel>p{color:#c4d2d7;font-size:15px}.store-panel>small{font-size:12px;color:var(--muted)}.text-button{border:0;padding:0 0 18px;min-height:34px;background:none;font-size:14px;color:#d9e6e9}.product-list{display:flex;flex-direction:column;gap:10px;margin:22px 0}.product-card{display:flex;align-items:center;text-align:left;width:100%;gap:12px;background:#ffffff09;border:1px solid #ffffff20;padding:8px}.product-card img{width:64px;height:64px;border-radius:8px}.product-card strong{display:block;font-size:15px;font-weight:500}.product-card small{font-size:14px;color:var(--mint);display:block;margin-top:6px}.primary{background:var(--mint);color:#143c32;border:0}.primary:hover{background:#c5ffe9}.secondary{background:transparent;border-color:#8196a260}.primary,.secondary{width:100%;margin:6px 0}.stage-panel h1{font-size:40px}dialog{color:var(--ink);background:#142a36;border:1px solid #ffffff30;border-radius:24px;padding:32px;max-width:min(650px,calc(100vw - 32px));max-height:88vh;overflow:auto;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#05121baf;backdrop-filter:blur(10px)}.close-button{position:absolute;top:12px;right:12px;border:0;background:#233d48;font-size:24px;width:44px;padding:0;z-index:2}.product-image{background:#f3f1ea;border-radius:16px;position:relative;margin-bottom:25px}.product-image img{width:100%;max-height:290px;transition:transform .2s;display:block}.product-image img.zoomed{transform:scale(1.45)}.product-image{overflow:hidden}.product-image button{position:absolute;bottom:10px;right:10px;background:#16323deb;font-size:12px;min-height:36px}.price{font-size:25px;color:var(--mint);margin:14px 0}.product-detail small{font-size:13px;line-height:1.4;display:block;margin-top:10px;color:var(--muted)}#saved-list .product-card{margin:10px 0}.friend-preview{display:flex;align-items:center;justify-content:center;gap:30px;margin:30px 0}.avatar{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:#31504f;color:var(--mint);font-size:16px}#toast{position:fixed;bottom:110px;right:30px;border:1px solid #b6efd640;padding:14px 20px;border-radius:12px;background:#183e36;z-index:8;opacity:0;pointer-events:none;transition:opacity .2s;font-size:14px}#toast.show{opacity:1}#loading{position:fixed;inset:0;background:#122735;display:flex;align-items:center;justify-content:center;gap:20px;font-size:18px;z-index:20}.loader{width:24px;height:24px;border:2px solid #ffffff30;border-top-color:var(--mint);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}body.in-vr .topbar,body.in-vr .overlay,body.in-vr .bottom-bar,body.in-vr .view-status{display:none}@media(min-width:850px){#product-dialog[open]{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:780px}.product-image{margin:0;display:grid;align-items:center}.product-image img{max-height:none}}@media(max-width:750px){.topbar{padding:14px 16px}.brand{font-size:26px}.prototype{display:none}.top-actions{gap:4px}.top-actions button{font-size:12px;padding:8px 10px}.preview-tag{display:none}.overlay{left:16px;top:89px;width:240px;bottom:170px}h1{font-size:34px;letter-spacing:-1px;margin:10px 0}.intro{font-size:14px;margin:10px 0}.interests button{font-size:12px}.rule{margin:12px 0}.store-card{padding:10px;margin:8px 0}.store-card strong{font-size:18px}.store-card small{font-size:12px}.store-icon{width:32px;height:35px}.event-card{margin-top:12px;padding:12px}.event-card strong{font-size:14px}.disclaimer{font-size:11px;margin-top:12px}.bottom-bar{bottom:12px;flex-wrap:wrap;justify-content:center;gap:4px;width:calc(100vw - 24px);padding:6px}.locations{width:100%;justify-content:center}.locations button{padding:8px 9px;font-size:13px}.mood-switch{border:0;padding:0}.mood-switch button{padding:6px 18px;min-height:36px}.reset-button{min-height:36px}.view-status{bottom:125px}#view-hint{font-size:11px}.store-panel,.stage-panel{padding:16px}.product-card img{width:46px;height:46px}.product-card strong{font-size:13px}.product-list{margin:12px 0;gap:7px}.store-panel h1,.stage-panel h1{font-size:32px}.store-panel>p{font-size:13px}#toast{right:16px;bottom:130px;max-width:calc(100vw - 32px)}}@media(max-height:650px) and (min-width:751px){.overlay{top:85px;bottom:100px}.discovery h1{font-size:32px}.rule{margin:12px 0}.event-card{margin-top:10px}.store-card{padding:10px}.view-status{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.overlay.cards-hidden{visibility:hidden;pointer-events:none}

.spatial-switch,.spatial-choices{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.spatial-choices button{font-size:13px;padding:8px 10px}.spatial-view #spatial-panel h1{font-size:36px}.spatial-view #spatial-panel a{color:var(--mint);font-size:12px}.spatial-view #spatial-panel small{font-size:12px;color:var(--muted)}.spatial-view .overlay.cards-hidden{visibility:visible}.spatial-view #veil{background:linear-gradient(90deg,#0c1c273d,transparent 42%)}
@media(max-width:750px){.spatial-view .overlay{top:auto;bottom:136px;left:12px;right:12px;width:auto;max-height:180px}.spatial-view #spatial-panel{padding:10px 14px}.spatial-view #spatial-panel h1,.spatial-view #spatial-panel>p,.spatial-view #spatial-panel>small,.spatial-view #spatial-panel>a{display:none}.spatial-switch,.spatial-choices{margin:7px 0}.spatial-view #spatial-panel>.secondary{width:auto;position:absolute;right:22px;top:15px;font-size:12px}.spatial-view .view-status{display:none}}

.film-view .overlay.cards-hidden{visibility:visible}.film-view #stage-panel h1{font-size:38px}
@media(max-width:750px){.film-view .overlay{top:auto;bottom:136px;left:12px;right:12px;width:auto;max-height:175px}.film-view #stage-panel{padding:10px 14px}.film-view #stage-panel h1,.film-view #stage-panel>p{display:none}.film-view #stage-panel .primary,.film-view #stage-panel .secondary{width:auto;font-size:13px;margin:6px 3px;padding:9px 13px}.film-view #stage-panel .spatial-switch{display:inline-flex;margin:0 3px}.film-view #stage-panel .spatial-switch button{font-size:13px;padding:9px 12px}.film-view .view-status{display:none}}

[hidden]{display:none!important}.hall-tabs,.deck-navigation{display:flex;gap:7px;margin:12px 0}.hall-tabs button{flex:1;font-size:14px;transition:none}.deck-navigation button{flex:1;font-size:14px}.deck-navigation button:disabled{opacity:.4;cursor:default}.hall-note{font-size:12px;color:var(--muted);line-height:1.5}#deck-position{color:var(--mint);font-size:13px;margin:10px 0 5px}#deck-slide-title{font-size:16px;line-height:1.3;margin:5px 0 12px}
@media(max-width:750px){.film-view .overlay{max-height:240px}.film-view #stage-panel .hall-tabs{margin:3px 0}.film-view #stage-panel .hall-tabs button{padding:7px 12px;min-height:36px}.film-view #stage-panel .hall-note{display:none}.film-view #stage-panel #hall-deck-controls .disclaimer{display:none}.film-view #stage-panel #deck-position{display:block;margin:6px 0}.film-view #stage-panel #deck-slide-title{display:none}.film-view #stage-panel .deck-navigation{margin:5px 0}.film-view #stage-panel .deck-navigation button{min-height:36px;padding:7px 12px}}

@media(max-width:750px){.locations{flex-wrap:wrap}.locations button{font-size:12px;padding:6px 7px}}
@media(max-width:360px){.view-status{bottom:166px}.overlay{bottom:210px}.film-view .overlay,.spatial-view .overlay{bottom:176px}}

#district-view-select{max-width:145px;background:#203e47;color:#e6f6ee;border:1px solid #507568;border-radius:8px;padding:10px;font:inherit}body.in-vr #district-view-select{display:none}

#product-model-view{position:relative;width:100%;min-height:340px;touch-action:none}#product-model-view[hidden],#detail-image[hidden]{display:none!important}#product-model-view canvas{display:block;width:100%;height:300px;object-fit:contain}.product-image .model-controls{position:relative;display:flex;justify-content:center;gap:8px;padding:8px 6px 28px}.product-image .model-controls button{position:static;min-height:36px;padding:6px 12px}.model-hint{position:absolute;bottom:8px;left:0;width:100%;text-align:center;font-size:11px;color:#405547}

/* Keep Hall navigation above the wrapped district bar on phones. */
@media(max-width:750px){.film-view .overlay{bottom:200px;height:240px;max-height:calc(100dvh - 300px)}}
@media(max-width:360px){.film-view .overlay{bottom:230px;max-height:calc(100dvh - 330px)}}

/* Keep destinations visible; group secondary controls in a separate popover. */
.bottom-bar{gap:8px;width:max-content}
.view-options{position:relative;border-left:1px solid #ffffff25;padding-left:8px}
.view-options summary{cursor:pointer;padding:12px;font-size:14px;white-space:nowrap;min-height:44px;border-radius:10px}
.view-options summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.view-options[open] summary{background:#ffffff18;color:var(--mint)}
.view-options-panel{position:absolute;right:0;bottom:calc(100% + 18px);width:245px;padding:18px;display:flex;flex-direction:column;gap:12px;background:#102a36;border:1px solid #ffffff30;border-radius:16px;box-shadow:0 12px 45px #0007;max-height:calc(100dvh - 180px);overflow:auto}
.view-options-panel .mood-switch{border:0;padding:0}
.view-options-panel .mood-switch button{flex:1}
.view-options-panel #district-view-select{max-width:none;width:100%}
.view-options-panel .reset-button{text-align:left;min-height:44px}
#mall-return{border-color:#a6f1d580;color:var(--mint);font-weight:600}
.view-status{bottom:105px}
@media(max-width:750px){
 .topbar{flex-wrap:wrap;gap:8px}
 .top-actions{flex-wrap:wrap;justify-content:flex-end}
 #mall-return{position:fixed;top:70px;left:16px;font-size:13px;padding:8px 12px;min-height:44px;background:#102a36}
 .overlay{top:124px;bottom:145px}
 .bottom-bar{width:calc(100vw - 24px);flex-wrap:nowrap;gap:4px;bottom:12px}
 .locations{width:auto;flex:1;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .locations button{font-size:13px;padding:8px 10px;min-height:44px;flex:none}
 .view-options{flex:none;padding-left:4px}
 .view-options summary{font-size:12px;padding:12px 8px}
 .view-options-panel{width:min(245px,calc(100vw - 36px))}
 .view-status{bottom:84px}
 .film-view .overlay,.spatial-view .overlay{top:auto;bottom:84px;max-height:calc(100dvh - 220px)}
 #toast{bottom:90px}
}

/* Sage, soft edges and warm accents follow the retail interiors. */
:root{--panel:rgba(32,52,45,.94);--mint:#c4dcb9;--ink:#f4efdf;--muted:#b8c5b4}
button{border-radius:18px;border-color:#d9d6bd30;background:#354f44}
button:hover{background:#506c58}
.top-actions button{background:#263f35e8;border-radius:24px}
.bottom-bar{background:#20372ff2;border-color:#c7b99355;border-radius:32px;padding:9px;box-shadow:0 10px 36px #08170e55}
.locations button{border-radius:24px}
.locations button[aria-current=true]{background:#5b73564d;color:#e4ebd8}
.store-panel,.stage-panel,.view-options-panel{background:linear-gradient(145deg,#304a3ff5,#20372ff5);border-color:#c7b99355;border-radius:26px;box-shadow:0 12px 35px #07170e40}
.store-card,.event-card,.product-card{border-radius:20px;background:#30483cdd;border-color:#c7b99340}
.store-icon{border-radius:15px;background:#71866b25}
.product-card img{border-radius:13px}
.text-button{color:#dbe6cf}
.view-options summary{border-radius:24px}
.view-options-panel{padding:20px}
#district-view-select{border-radius:16px;background:#344e42;border-color:#b6c5a970}
#mall-return{background:#324d3f;color:#eceddb;border-color:#c7b99380}
.primary{background:#d0dfbb;color:#233c2e;border-radius:22px}
.secondary{border-radius:22px;border-color:#c7b99365}
@media(max-width:750px){.bottom-bar{border-radius:26px;padding:6px}.store-panel,.stage-panel{border-radius:22px}}

/* Keep rotation glyphs legible within their existing controls. */
.product-image .model-controls #model-left,.product-image .model-controls #model-right{font-size:28px;font-weight:700;line-height:1;min-width:48px}

/* Keep the merchant return route visible alongside the mall controls. */
.top-actions .merchant-portal-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #c7b99380;border-radius:24px;background:#263f35e8;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.top-actions .merchant-portal-link:hover{background:#506c58}
.top-actions .merchant-portal-link:focus-visible{outline:3px solid var(--mint);outline-offset:3px}

/* Keep the portal return reachable while the 3D renderer opens or reports an error. */
body:has(#loading) .topbar{z-index:21}


/* Loom Theatre — warm foyer and clearly labelled provider handoffs. */
.theatre-panel{width:min(650px,calc(100vw - 64px));background:linear-gradient(135deg,#304c40ed,#172e27f2);border:1px solid #d5bc8b55;border-radius:28px;padding:24px;backdrop-filter:blur(12px)}
.theatre-panel h1{font-size:38px}.theatre-panel h2{font-size:20px;color:#ead6ac;margin:20px 0 8px}.theatre-panel>p{color:#d0dbcc}.theatre-card{display:flex;width:100%;gap:15px;text-align:left;background:#c4d0b70b;border:1px solid #bfa7773b;border-radius:18px;padding:12px;margin:9px 0}.theatre-card img{width:64px;height:86px;object-fit:cover;border-radius:12px}.theatre-card strong,.theatre-card span span,.theatre-card small{display:block}.theatre-card strong{font-size:18px;color:#f3ead7}.theatre-card span span{font-size:14px;line-height:1.4;margin:6px 0;color:#cedbca}.theatre-card small{color:#d4c296;font-size:12px}.theatre-card:hover{background:#536d4e66}.theatre-dialog{max-width:850px;border-radius:28px;background:#213b30;color:#f1e7d0;padding:30px}.theatre-dialog>img{float:right;width:100px;height:134px;object-fit:cover;border-radius:16px;margin:10px 0 20px 24px}.theatre-dialog #theatre-preview-host:empty{display:none}.theatre-dialog iframe{width:100%;min-height:270px;aspect-ratio:16/9;border:0;border-radius:18px;background:#14241b}.theatre-dialog #theatre-preview-status{font-size:14px;color:#d9c89f}.theatre-actions{display:flex;gap:8px;flex-wrap:wrap}.theatre-view .overlay{width:auto}.theatre-view .view-status{display:none}
@media(max-width:650px){.theatre-panel{width:calc(100vw - 32px);padding:18px}.theatre-view .overlay{left:16px;right:16px}.theatre-dialog{padding:20px}.theatre-dialog>img{width:64px;height:85px}.theatre-actions button{width:100%}}

.theatre-fallback{position:absolute;top:calc(50% + 48px);color:#ddcfaa;font-size:14px}.browser-theatre{background:radial-gradient(ellipse at top,#526b51,#142c24 75%);min-height:100vh}.browser-theatre main{padding:100px 24px 30px;max-width:760px;margin:auto}.browser-theatre .theatre-panel{width:100%}.browser-theatre .topbar{position:fixed}.browser-theatre .theatre-dialog{max-height:90vh;overflow:auto}

/* Plot-based wayfinding: readable cards, a shared route and a separate action row. */
.locations > [data-location],.locations > [data-registry-nav]{display:none!important}
#mall-map-button{min-width:116px;background:#405c4a;color:#fff0d5}
.map-dialog{width:min(680px,calc(100vw - 24px));max-width:none;padding:24px;border:1px solid #bca57888;border-radius:28px;background:#293f37;color:#fff0d5;max-height:calc(100dvh - 24px);overflow:auto}
.map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.map-heading h2{font-size:24px;margin:0}
.map-pages{display:flex;align-items:center;justify-content:space-between;margin:12px 0;min-height:36px}
.map-pages button{padding:6px 12px;min-height:34px;border-radius:20px}
.map-pages span{font-size:13px;color:#d8cba8}
.mall-map-canvas{position:relative;height:min(420px,48dvh);min-height:260px;border-radius:22px;background:#1d332b;overflow:hidden;border:1px solid #bca57833}
.map-route{position:absolute;top:4%;bottom:4%;left:45%;width:10%;background:#847f66;border-radius:40px}
.map-tile{position:absolute;display:flex;align-items:center;justify-content:center;min-height:0;padding:3px 7px;border-radius:14px;border:1px solid #ab987577;background:#456052;color:#fff1d9;font-size:clamp(12px,2.7vw,16px);line-height:1.15;text-align:center;font-weight:600;overflow-wrap:anywhere}
.map-tile.selected{background:#758864;color:#fff8e7;border-color:#ffe3a2;box-shadow:0 0 0 2px #ffe3a233}
.map-tile.reserved{background:#34483c;color:#a8b6a2;border-style:dashed;font-weight:400}
.map-theatre{background:#675265}.map-hall{background:#645b46}.map-arrival{background:#395748}
.map-you{position:absolute;width:12px;height:12px;border-radius:50%;background:#ffdc87;box-shadow:0 0 0 4px #ffdc8726;transform:translate(-50%,-50%);pointer-events:none}
.map-legend{color:#dac69c;font-size:13px;margin:12px 0 6px}.map-legend span{color:#ffdc87}
#map-selection{font-weight:600;min-height:22px;margin:8px 0}
.map-travel{width:100%;margin:0 0 12px}.map-travel:disabled{opacity:.45;cursor:default}
.map-utilities{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid #bca57833;padding-top:12px}
@media(max-width:450px){.map-dialog{padding:16px}.map-heading h2{font-size:20px}.map-tile{border-radius:10px}.map-utilities{flex-wrap:wrap}}

/* Shopper menus stay off the scene until requested. */
.shopper-dialog{width:min(580px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border-radius:28px;padding:32px;background:#172d29;color:#f1ebdc;border:1px solid #b4a282}
.shopper-dialog h2{font-size:clamp(26px,4vw,36px);line-height:1.15;margin:18px 0}.shopper-dialog label{display:block;margin:18px 0 8px;color:#d9e7dd}.shopper-dialog input,.shopper-dialog select{width:100%;box-sizing:border-box;font:inherit;padding:13px 16px;background:#243e35;color:#f1ebdc;border:1px solid #73897b;border-radius:14px}.shopper-dialog input:focus{outline:2px solid #a6f1d5}.shopper-choice{display:block;width:100%;text-align:left;margin:8px 0;padding:13px 16px;border-radius:15px}.shopper-choice[aria-pressed=true]{background:#416652;border-color:#b7cfbb}.shopper-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.shopper-result{padding:18px 0;border-bottom:1px solid #536359}.shopper-result strong,.shopper-result small{display:block}.shopper-result small{color:#c1cbbd;margin-top:6px}#store-recommendations>.eyebrow{font-size:10px;margin:18px 0 8px}#shopper-summary{font-size:11px}.shopper-dialog .sample-note{line-height:1.5}
@media(max-width:600px){.shopper-dialog{padding:22px}.bottom-bar .locations{gap:5px}.bottom-bar .locations button{padding:9px 12px}}



.retailer-range{margin:20px 0;padding:18px;border:1px solid #ccd5c8;border-radius:12px;background:#f9fbf5;color:#183b32}.retailer-range h3{margin:0 0 8px}.retailer-range p{font-size:12px;line-height:1.65}.retailer-range form{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.retailer-range input,.retailer-range select{flex:1;min-width:140px;padding:10px;border:1px solid #b9c8b6;border-radius:6px;color:#183b32;background:white}.retailer-range-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.retailer-range .product-list{margin:12px 0}.retailer-range button:disabled{opacity:.45;cursor:default}

.retailer-range [hidden]{display:none!important}
