/* Nocturne: the menu belongs to the room, with a clear review before every action. */
#loungeMenu{box-sizing:border-box;width:min(600px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #b9945666;border-radius:18px;background:#1d1918;color:#f7ead7;box-shadow:0 30px 100px #0009;font:14px/1.5 'DM Sans',sans-serif;overflow:hidden;color-scheme:dark}
#loungeMenu[open]{display:flex;flex-direction:column}
#loungeMenu::backdrop{background:#09090bbf;backdrop-filter:blur(6px)}
#loungeMenu [hidden],.lounge-held[hidden]{display:none!important}
#loungeMenu button,.lounge-held button{min-width:44px;min-height:44px;cursor:pointer;font:500 13px/1.3 'DM Sans',sans-serif;touch-action:manipulation}
#loungeMenu button:disabled,.lounge-held button:disabled{opacity:.42;cursor:default}
#loungeMenu button:focus-visible,#loungeMenu a:focus-visible,.lounge-held button:focus-visible{outline:2px solid #efc98e;outline-offset:3px}
.lounge-menu-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 26px 18px;border-bottom:1px solid #b9945629;flex:none}
.lounge-kicker{display:block;font-size:9px;line-height:1.4;font-weight:500;letter-spacing:1.7px;color:#caaa76}
.lounge-menu-balance{margin:7px 0 0;font-size:12px;color:#eee0ca}
#loungeMenu .lounge-menu-close{border:1px solid #b9945645;border-radius:50%;width:44px;padding:0;color:#f7ead7;background:transparent;font-size:25px;font-weight:300;flex:none}
.lounge-menu-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:26px;scrollbar-width:thin;scrollbar-color:#9a7b4d #1d1918}
#loungeMenu h2{font:400 clamp(31px,7vw,41px)/1.08 Georgia,serif;letter-spacing:-1px;margin:0 0 10px;color:#f7ead7}
#loungeMenu .lounge-menu-intro{color:#c4b7a6;font-size:13px;line-height:1.65;margin:0 0 26px}
.lounge-drinks{display:grid;gap:0;border-top:1px solid #b9945640}
.lounge-drink-card{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:14px;align-items:center;padding:22px 0;border-bottom:1px solid #b9945640}
.lounge-drink-number{font:italic 15px Georgia,serif;color:#9d7c4f;align-self:start;margin-top:2px}
.lounge-drink-copy{min-width:0}
#loungeMenu h3{font:400 24px/1.2 Georgia,serif;margin:6px 0 8px;letter-spacing:-.4px;color:#f4e6d0}
.lounge-drink-copy>p{font-size:12px;line-height:1.65;color:#c4b7a6;margin:0;max-width:35ch}
.lounge-drink-details{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:12px}
.lounge-drink-details strong{font-weight:500;color:#eacb98}.lounge-drink-details>span{font-size:11px;color:#ad9e8a}
#loungeMenu .lounge-drink-choose{border:1px solid #b9945670;border-radius:7px;padding:10px 13px;color:#edd3aa;background:#b994560c}
#loungeMenu .lounge-drink-choose:not(:disabled):hover{background:#b9945624;border-color:#d5b37b}
.lounge-drink-copy .lounge-drink-reason{font-size:11px;color:#d8b796;margin-top:10px}
.lounge-menu-footer{display:flex;justify-content:space-between;gap:12px;padding:16px 26px;border-top:1px solid #b9945629;flex:none;background:#161313;color:#b29d7c;font-size:9px;letter-spacing:1.2px}
.lounge-menu-footer>span:last-child{font-size:10px;letter-spacing:0;color:#a89985;text-align:right}
.lounge-menu-feedback{font-size:12px;line-height:1.7;color:#dfc49b;margin:16px 0 0}.lounge-menu-feedback:empty{display:none}
#loungeMenu .lounge-retry,#loungeMenu .lounge-enjoy-held{border:1px solid #b9945670;border-radius:8px;padding:12px 16px;background:#34271e;color:#f4d9b2;width:100%;margin:16px 0 0}
#loungeMenu .lounge-enjoy-held{margin:18px 0 0}
.lounge-signin{display:block;padding:15px;border:1px solid #b9945670;border-radius:8px;text-align:center;color:#f4d9b2;margin-top:18px;min-height:44px;box-sizing:border-box}
.lounge-review>.lounge-kicker{margin-bottom:18px}
.lounge-order-terms{display:flex;gap:12px;justify-content:space-between;align-items:baseline;flex-wrap:wrap;padding:20px 0;margin:24px 0 18px;border-top:1px solid #b9945640;border-bottom:1px solid #b9945640}
.lounge-order-terms strong{font-size:16px;font-weight:500;color:#eacb98}.lounge-order-terms>span{font-size:12px;color:#c4b7a6}
.lounge-fine-print{font-size:12px;line-height:1.7;color:#bdb09d;margin:12px 0}
.lounge-review-actions{display:grid;gap:10px;margin-top:28px}
#loungeMenu .lounge-confirm{border:1px solid #e6c18a;border-radius:8px;background:#e5c391;color:#29211b;padding:15px 16px;min-height:50px}
#loungeMenu .lounge-review-back{border:0;border-radius:8px;background:none;color:#cbbb9f;padding:12px 16px}
.lounge-held{position:fixed;z-index:8;top:max(94px,calc(env(safe-area-inset-top) + 86px));right:max(24px,env(safe-area-inset-right));box-sizing:border-box;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:10px 10px 10px 14px;background:#201b18e8;color:#f4e6d0;border:1px solid #b9945666;border-radius:12px;box-shadow:0 8px 35px #0003;backdrop-filter:blur(10px)}
.lounge-held-icon{display:block;width:28px;height:30px;color:#d4b27b;flex:none}.lounge-held-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.lounge-held-copy{min-width:0}.lounge-held-copy .lounge-kicker{font-size:7px;letter-spacing:1.4px}.lounge-held-name{display:block;font:400 17px/1.25 Georgia,serif;margin-top:4px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lounge-held-action{flex:none;border:1px solid #b9945666;border-radius:7px;background:#e1c392;color:#28221a;padding:10px 16px}
.lounge-service-active #objectActionPanel,.lounge-service-active #objectHints,.lounge-service-active .mobile-hud,.lounge-service-active .mobile-tip{visibility:hidden;pointer-events:none}
@media(max-width:600px){
 #loungeMenu{width:calc(100% - 20px);max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));border-radius:14px}
 .lounge-menu-header{padding:17px 18px 14px}.lounge-menu-scroll{padding:23px 18px}.lounge-menu-footer{padding:14px 18px;gap:10px}
 .lounge-drink-card{grid-template-columns:18px minmax(0,1fr) auto;gap:9px;padding:20px 0}.lounge-drink-copy>.lounge-kicker{font-size:8px;letter-spacing:1.2px}
 #loungeMenu h3{font-size:22px}.lounge-drink-copy>p{font-size:11px}.lounge-drink-details{gap:8px}
 #loungeMenu .lounge-drink-choose{padding:10px;font-size:12px}.lounge-drink-number{font-size:13px}
 .lounge-held{top:max(130px,calc(env(safe-area-inset-top) + 122px));right:max(14px,env(safe-area-inset-right));max-width:calc(100% - 28px);gap:9px;padding:8px 8px 8px 12px}.lounge-held-name{max-width:165px;font-size:16px}.lounge-held-action{padding:10px 14px}
}
@media(orientation:landscape) and (max-height:600px){
 #loungeMenu{max-height:calc(100dvh - 20px)}.lounge-menu-header{padding:10px 20px}.lounge-menu-scroll{padding:20px}.lounge-menu-footer{padding:10px 20px}#loungeMenu h2{font-size:30px}
 .lounge-held{top:max(76px,calc(env(safe-area-inset-top) + 68px));right:max(18px,env(safe-area-inset-right));padding:7px 8px 7px 12px}.lounge-held-name{font-size:16px}
}
@media(prefers-reduced-motion:reduce){#loungeMenu,.lounge-held{scroll-behavior:auto}}

/* The venue joins the existing location picker and keeps long lists scrollable. */
#map{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
#map .lounge-location-card{background:#28342f;color:#f0e0c6;border-color:#bfa473}
#map .lounge-location-card p,#map .lounge-location-card span{color:#ccb994}
.lounge-location .welcome{max-width:620px}
.lounge-location .welcome h1{font-size:clamp(68px,7vw,104px)}
@media(max-width:600px){.lounge-location .welcome h1{font-size:clamp(48px,12vw,68px)}.lounge-location .welcome{bottom:16%}}
@media(orientation:landscape) and (max-height:600px){.lounge-location .welcome h1{font-size:clamp(42px,10vh,60px)}.lounge-location .welcome{bottom:12%}.lounge-location .welcome .app-launch-link{display:none}}
