.home-room-shop { width:min(560px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:0; overflow:hidden; border:1px solid var(--muted,#a8987a); border-radius:4px; background:var(--surface,#20232b); color:var(--text,#eee5d4); }
.home-room-shop::backdrop { background:#090b16b8; }
.home-room-shop[open] { display:flex; flex-direction:column; }
.home-room-shop>header,.home-room-shop>footer { flex-shrink:0; padding:12px 16px; }
.home-room-shop h2 { margin:0 0 8px; font-size:var(--ga-font-page,1.125rem); }
.home-room-shop p { margin:8px 0; font-size:var(--ga-font-body,.875rem); line-height:1.6; overflow-wrap:anywhere; }
.home-room-shop-scroll { overflow:auto; overscroll-behavior:contain; padding:0 16px; min-height:0; }
.home-room-shop-preview { display:block; width:100%; height:min(42dvh,380px); object-fit:contain; background:#151722; }
.home-room-shop>footer { border-top:1px solid #a8987a44; }
.home-room-shop>footer>div { display:flex; gap:8px; flex-wrap:wrap; }
.home-room-shop>footer button { min-height:48px; flex:1 1 110px; white-space:normal; }
.home-room-shop [data-room-balance] { font-weight:700; }
.home-room-shop [data-room-message] { color:var(--text,#eee5d4); }
.home-room-shop [data-room-hint] { font-size:var(--ga-font-note,.75rem); }
.home-room-buy { position:relative; overflow:hidden; touch-action:none; user-select:none; -webkit-touch-callout:none; }
.home-room-buy::before { content:""; position:absolute; inset:0; background:#ffdb7044; transform:scaleX(var(--room-hold,0)); transform-origin:left; pointer-events:none; }
.home-room-buy[aria-busy="true"] { cursor:wait; }
body.home-room-shop-modal-open { overflow:hidden; }
.home-town-background-grid [data-home-room-preview] em { font-style:normal; font-weight:700; }

/* Fill the scene and favor the foreground floor on short screens. Hotspots share this crop. */
.home-town-home[data-room-premium] .home-town-art{object-fit:cover;object-position:50% 75%}
