@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0a0e10;color:#f4eee2;font-family:'DM Sans',Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}header{height:72px;padding:0 3.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #29312e}.brand{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.14em;font-size:20px}.brand strong{color:#d7aa67}.brandmark{display:inline-grid;place-items:center;background:#b78b4d;color:#151715;width:34px;height:34px;margin-right:11px;border-radius:8px}.header-right,.eyebrow,.sectionlabel,.selection small,.toplabel,.scene-label,.hint{font-family:'Space Grotesk',sans-serif;letter-spacing:.13em;font-size:12px;font-weight:700}.header-right{color:#8c948c}main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(355px,.8fr);height:calc(100vh - 72px);min-height:680px}.world{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 40%,#20231d,#0d1112 65%)}#scene{width:100%;height:100%;cursor:grab}#scene:active{cursor:grabbing}.toplabel{position:absolute;top:28px;left:28px;background:#101818d9;border:1px solid #34443b;padding:13px 17px;border-radius:4px;color:#d6d6c8;pointer-events:none}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#64dc9b;margin-right:8px;box-shadow:0 0 12px #64dc9b}.divider{color:#7e8b80;margin:0 10px}.hint{position:absolute;bottom:24px;left:28px;color:#d7d8c9;background:#111918cc;padding:11px 14px;border:1px solid #3b4942;pointer-events:none;letter-spacing:.04em;font-weight:400}.scene-label{position:absolute;bottom:28px;right:28px;color:#d4aa6a}aside{background:#101716;border-left:1px solid #314138;padding:42px 8% 24px;overflow-y:auto}.eyebrow{color:#d2a465}.intro{font-size:15px;line-height:1.6;color:#aab5ab;max-width:330px}h1,h2{font-family:'Space Grotesk',sans-serif;letter-spacing:-.055em;line-height:1.04}h1{font-size:clamp(34px,3.2vw,54px);margin:18px 0}h1 em{font-style:normal;color:#d2a465}.sectionlabel{display:flex;justify-content:space-between;color:#d5dacf;margin:34px 0 12px}.sectionlabel span{color:#82948a}.tablelist{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tablelist button{color:#f2ebde;text-align:left;display:flex;align-items:center;gap:10px;background:#1a2420;border:1px solid #39453e;padding:12px 10px;min-height:68px;border-radius:3px}.tablelist button:hover,.tablelist button.active{border-color:#d2ac6a;background:#26372d}.tablelist button>span{color:#d9ae6e;font:bold 21px 'Space Grotesk'}.tablelist button div{font-size:13px;font-weight:700;flex:1}.tablelist small{display:block;color:#9da99e;font-size:11px;font-weight:400;margin-top:4px}.tablelist b{color:#a9b7aa;align-self:flex-start}.selection{margin-top:25px;padding:18px;border:1px solid #53634e;background:#1b2c23}.selection small{display:block;color:#a8b5a8;margin-bottom:10px}.selection strong{font:600 16px 'Space Grotesk'}.cta{width:100%;background:#d7aa67;color:#141a16;border:0;padding:18px 20px;text-align:left;font:bold 13px 'Space Grotesk';letter-spacing:.08em;margin-top:12px;display:flex;justify-content:space-between}.cta:hover{background:#efc98d}.fine{font-size:12px;line-height:1.5;color:#819189;margin:15px 0}.modal{position:fixed;inset:0;background:#030605d9;display:grid;place-items:center;padding:20px;z-index:4}.modal[hidden]{display:none}.dialog{width:min(500px,100%);max-height:92vh;overflow:auto;background:#17221d;border:1px solid #697459;padding:30px;position:relative;box-shadow:0 25px 80px #000b}.close{position:absolute;right:20px;top:15px;background:none;border:0;color:#eee;font-size:30px}.dialog h2{font-size:35px;margin:12px 0}.dialog p{color:#abb8ac;line-height:1.5;font-size:14px}.dialog form{margin-top:20px}.dialog label{display:block;font-size:13px;color:#d6ddcf;margin:12px 0}.dialog input{display:block;margin-top:7px;width:100%;background:#0c1512;border:1px solid #516356;color:white;padding:12px;border-radius:2px;color-scheme:dark}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status{background:#263b2b;padding:14px;overflow-wrap:anywhere;color:#f4e9ce!important}@media(max-width:900px){main{height:auto;display:flex;flex-direction:column}.world{height:55vh;min-height:400px}aside{overflow:visible;padding:28px 5% 36px}.header-right{font-size:10px}.toplabel{top:14px;left:14px}.hint{bottom:12px;left:12px;right:12px;font-size:11px}.scene-label{display:none}}@media(max-width:460px){header{height:58px}.brand{font-size:16px}.world{height:48vh;min-height:330px}.toplabel{font-size:10px;padding:9px}.tablelist button{min-height:74px}.tablelist button div{font-size:12px}}
main{display:block;height:calc(100dvh - 72px);min-height:530px;position:relative}.world{width:100%;height:100%;min-height:0}.scenehud{position:absolute;left:30px;top:28px;pointer-events:none;text-shadow:0 2px 9px #000}.scenehud h1{font-size:30px;margin:10px 0;letter-spacing:-.04em}.scenehud p{color:#d2d2c6;font-size:13px}.viewnav{position:absolute;left:30px;top:153px;display:flex;gap:5px;flex-wrap:wrap}.viewnav button,.actions button,.walk button{border:1px solid #7b826d77;background:#0d1715dc;color:#e9e7db;border-radius:3px;padding:11px 14px;font-size:13px;backdrop-filter:blur(12px)}.viewnav button.active{background:#d2b17b;color:#101815;border-color:#ddc28d}.actions{position:absolute;right:25px;top:28px;display:flex;gap:8px}.walk{position:absolute;bottom:70px;left:30px;display:flex;gap:6px}.walk button{width:46px;font-size:22px;padding:9px}.hint{bottom:20px;max-width:80%;font-size:12px}.tables-open aside{display:block}aside{display:none;position:absolute;right:20px;top:90px;width:350px;max-height:calc(100% - 120px);padding:24px;border:1px solid #6d755a;background:#101916f2;backdrop-filter:blur(20px);z-index:2}aside h2{font-size:27px;letter-spacing:-.035em}.tablelist button{min-height:55px}.tablelist button div{font-size:12px}.selection{margin-top:15px}#scene canvas{display:block}@media(max-width:700px){main{height:calc(100dvh - 58px);min-height:480px}.scenehud{left:16px;top:18px}.scenehud h1{font-size:25px}.scenehud p{max-width:240px;font-size:12px}.viewnav{top:126px;left:16px;right:16px}.viewnav button{padding:9px 10px;font-size:12px}.actions{top:auto;bottom:125px;left:16px;right:auto;gap:5px}.actions button{font-size:11px;padding:10px}.walk{left:16px;bottom:61px}.hint{font-size:10px;max-width:calc(100% - 24px);letter-spacing:0;bottom:12px}.tables-open aside{right:10px;left:10px;top:176px;width:auto;max-height:calc(100% - 200px)}header{height:58px}.header-right{display:none}}
.panel-close{position:absolute;right:12px;top:9px;background:transparent;border:0;color:#eee;font-size:27px;padding:2px 8px}.minimum{padding:19px 0 10px;display:flex;flex-direction:column;gap:8px}.minimum span{font-size:14px;color:#d2d7c9}.minimum strong{font:600 34px 'Space Grotesk',Arial;color:#e9c88e}.minimum small{font-size:12px;color:#d7b77e}.table-focus .tablelist{display:none}#other-tables{background:none;border:1px solid #75806c;color:#e1e8db;padding:10px;width:100%;font-size:13px}.bar-panel{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);width:460px;background:#101b19f2;backdrop-filter:blur(20px);border:1px solid #a78d58;padding:22px;z-index:3;border-radius:6px}.bar-panel[hidden]{display:none}.drink-tabs{display:flex;gap:5px;margin:17px 0 8px;overflow-x:auto;padding-bottom:4px}.drink-tabs button{background:#243028;color:#d7ddd0;border:1px solid #526249;padding:9px 10px;border-radius:3px;font-size:13px}.drink-tabs button.active{background:#d0ad71;color:#102018}.drink-main{display:flex;align-items:center;justify-content:space-between;text-align:center}.drink-main h2{font-size:30px;margin:10px 0}.drink-main strong{display:block;color:#e3c387;font-size:28px;margin:8px}.drink-main span{font-size:13px;color:#afbdae}.drink-main>button{font-size:35px;border:1px solid #50624e;color:#f0e2b9;background:#233127;border-radius:3px;width:42px;height:55px}.bar-panel p{font-size:12px;line-height:1.5;color:#d2b98e;margin:9px 0 0}#drink-count{text-align:center;font-size:12px;color:#a9b7a8}body.table-focus aside{max-height:calc(100% - 120px)}@media(max-width:700px){.bar-panel{width:calc(100% - 24px);bottom:14px;padding:18px}.bar-panel .eyebrow{font-size:11px}.drink-main h2{font-size:25px}.drink-tabs button{font-size:12px;padding:8px}.table-focus aside{top:auto;bottom:12px;max-height:58%;padding:18px}.table-focus aside .selection{display:none}.table-focus aside h2{margin:8px 0;font-size:24px}.minimum{padding:10px 0}.table-focus aside .fine{margin-bottom:0;font-size:11px}}
.drink-tabs button{flex-shrink:0}.categories{margin:16px 0 0}.categories button{font-size:12px;padding:8px}.drink-main h2{font-size:24px;max-width:290px;line-height:1.1}.drink-main>div{flex:1;padding:0 9px}.bar-panel{width:520px}.drink-main>button{flex-shrink:0}@media(max-width:700px){.bar-panel{width:calc(100% - 24px)}.drink-main h2{font-size:21px}.categories button{font-size:11px}.bar-panel .drink-tabs{margin-top:9px}}
.mobile-bar-top{display:none}
@media(max-width:700px){body.bar-open header{display:none}body.bar-open main{height:100dvh;min-height:0}body.bar-open .scenehud,body.bar-open .viewnav,body.bar-open .actions,body.bar-open .walk,body.bar-open .hint{display:none}body.bar-open .mobile-bar-top{display:flex;position:absolute;top:10px;left:12px;right:12px;z-index:3;justify-content:space-between;gap:12px}.mobile-bar-top button,.mobile-bar-top select{height:42px;border:1px solid #6d795d;background:#101b19ed;color:#eee8d8;border-radius:5px;font-size:14px;padding:0 12px}.mobile-bar-top select{max-width:65%}body.bar-open #scene{height:calc(100% - var(--bar-panel-height,175px))}body.bar-open .bar-panel{left:0;bottom:0;transform:none;width:100%;padding:12px 14px max(10px,env(safe-area-inset-bottom));border:0;border-top:1px solid #5f644c;border-radius:0;background:#101b19}body.bar-open .bar-panel>.eyebrow,body.bar-open #bar-close,body.bar-open #drink-categories,body.bar-open #drink-tabs{display:none}body.bar-open .drink-main{gap:8px}body.bar-open .drink-main h2{font-size:20px;line-height:1.15;letter-spacing:-.025em;margin:0 0 5px;max-width:none}body.bar-open .drink-main span{font-size:12px}body.bar-open .drink-main strong{font-size:26px;margin:5px 0 1px}body.bar-open .drink-main>button{width:42px;height:48px;font-size:29px}body.bar-open .bar-panel p{text-align:center;font-size:11px;margin-top:6px}body.bar-open #drink-count{font-size:11px;margin-top:2px}}
.mobile-table-top{display:none}
@media(max-width:700px){body.table-focus header{display:none}body.table-focus main{height:100dvh;min-height:0}body.table-focus .scenehud,body.table-focus .viewnav,body.table-focus .actions,body.table-focus .walk,body.table-focus .hint{display:none}body.table-focus .mobile-table-top{display:flex;position:absolute;top:10px;left:12px;right:12px;z-index:3;justify-content:space-between;gap:10px}.mobile-table-top button,.mobile-table-top select{height:42px;border:1px solid #6d795d;background:#101b19ed;color:#eee8d8;border-radius:5px;font-size:14px;padding:0 12px}.mobile-table-top select{max-width:65%}body.table-focus #scene{height:calc(100% - var(--table-panel-height,164px))}body.table-focus aside{left:0;right:0;top:auto;bottom:0;width:100%;max-height:none;padding:12px 16px max(12px,env(safe-area-inset-bottom));border:0;border-top:1px solid #59604b;background:#101b19;overflow:visible}body.table-focus aside>.eyebrow,body.table-focus #tables-close,body.table-focus aside .selection,body.table-focus #other-tables,body.table-focus aside .fine{display:none}body.table-focus aside h2{margin:0 0 7px;font-size:20px;line-height:1.1}body.table-focus .minimum{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px;padding:0}body.table-focus .minimum span{font-size:13px}body.table-focus .minimum strong{font-size:26px}body.table-focus .minimum small{grid-column:1/-1;font-size:11px}body.table-focus #book{height:40px;margin-top:9px;padding:11px 14px;font-size:13px;letter-spacing:.02em;justify-content:center}}
/* Screen programme: the 3D screen keeps the entire viewing area. */
.events-top[hidden],#events-panel[hidden]{display:none}
body.events-open header,body.events-open .scenehud,body.events-open .viewnav,body.events-open .walk,body.events-open .hint,body.events-open .actions{display:none}
body.events-open main{height:100dvh;min-height:0}
body.events-open #scene{height:calc(100% - var(--events-panel-height,150px));touch-action:none}
.events-top{display:flex;position:absolute;top:12px;left:14px;right:14px;z-index:4;align-items:center;justify-content:space-between;color:#e4c171;font-size:14px;pointer-events:none}
.events-top button{pointer-events:auto;background:#101b19eb;border:1px solid #6d795d;color:#eee8d8;padding:12px 16px;border-radius:5px;font-size:14px}
#events-panel{position:absolute;bottom:0;left:0;width:100%;z-index:3;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid #5f644c;background:#101b19;color:#f4efde}
.event-controls{display:flex;gap:15px;align-items:center;justify-content:center;max-width:600px;margin:auto;text-align:center}.event-controls>div{flex:1}.event-controls h2{font-size:22px;margin:0 0 3px}.event-controls p{font-size:14px;margin:0 0 3px;color:#d8bd86}.event-controls span{font-size:12px;color:#afbdae}.event-controls button{width:46px;height:46px;flex-shrink:0;background:#233127;color:#e8cf99;border:1px solid #627156;border-radius:4px;font-size:30px}.event-note{font-size:12px;text-align:center;color:#adb7ac;margin:7px 0 0}
@media(max-width:700px){.event-controls h2{font-size:20px}.event-note{font-size:12px}}
/* Mobile: dedicate the former brand-header space to the room. */
@media(max-width:700px){body>header{display:none}body main{height:100dvh;min-height:0}}
/* FRAME's supplied identity; mobile retains its full-height room. */
.brand-logo{display:block;width:155px;height:54px;object-fit:cover;mix-blend-mode:screen}
.scenehud h1{margin:0}.scene-logo{display:block;width:230px;height:72px;object-fit:cover;mix-blend-mode:screen;filter:drop-shadow(0 0 9px #7a3ddd66) drop-shadow(0 0 16px #253cff44)}
.viewnav{top:120px}
@media(max-width:700px){.scenehud{top:12px}.scene-logo{width:190px;height:60px}.viewnav{top:84px}}
/* One compact transparent FRAME mark, integrated into navigation. */
body>header{display:none}body main{height:100dvh;min-height:0}
.viewnav{top:18px;align-items:center}.nav-logo{width:112px;height:28px;object-fit:contain;margin-right:8px;flex-shrink:0}
@media(max-width:700px){.viewnav{top:12px;left:12px;right:12px;gap:5px}.nav-logo{width:92px;height:25px;margin-right:4px}}
#joystick{display:none}#seat-view{display:none}.table-focus #seat-view{display:block;border:1px solid #7b826d;background:transparent;color:#eee2c6;border-radius:4px;font-size:13px;padding:8px 12px;margin:0 0 10px;width:100%;min-height:36px}
.walk[hidden],#joystick[hidden]{display:none!important}
@media(max-width:700px){#joystick{display:grid;place-items:center;position:absolute;left:20px;bottom:46px;width:106px;height:106px;border-radius:50%;border:1px solid #b7986299;background:#101b197a;touch-action:none;user-select:none;-webkit-user-select:none;z-index:2;box-shadow:inset 0 0 24px #0008}#joystick span{display:block;width:44px;height:44px;border:1px solid #e8c486;border-radius:50%;background:#c4a571a6;pointer-events:none}.walk{display:none}.actions{bottom:164px}.table-focus #seat-view{margin:0 0 7px;padding:6px 10px;min-height:32px;font-size:12px}.hint{pointer-events:none}}
#event-artist{font-size:14px;color:#f1e8d7;margin:3px 0;line-height:1.25}
#event-play{display:block;margin:5px auto 0;padding:7px 15px;min-height:34px;border:1px solid #64735a;background:#1e2a23;border-radius:4px;color:#e8d8b6;font-size:13px}
.event-controls h2{font-size:24px}.event-controls>div{min-width:0}.event-note{margin-top:5px}

/* Booking: fit narrow screens and avoid iOS input-focus zoom. */
#booking{z-index:30;padding:12px;overflow:hidden}
#booking .dialog{min-width:0;width:min(500px,100%);max-width:100%;max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#booking .row{grid-template-columns:repeat(2,minmax(0,1fr))}
#booking label{min-width:0;font-size:14px}
#booking input{min-width:0;max-width:100%;width:100%;font-size:16px;min-height:44px}
#booking .close{width:44px;height:44px;top:6px;right:6px;padding:0}
@media(max-width:700px){
 #booking{padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))}
 #booking .dialog{padding:20px 16px;max-height:calc(100dvh - 16px)}
 #booking .dialog h2{font-size:26px;line-height:1.12;margin:12px 24px 12px 0;letter-spacing:-.035em}
 #booking .dialog p{font-size:14px;margin:10px 0;line-height:1.45}
 #booking .dialog form{margin-top:12px}
 #booking .dialog label{margin:8px 0}
 #booking .dialog input{padding:10px 8px;margin-top:5px}
 #booking .cta{padding:15px 12px;font-size:13px;letter-spacing:.03em;gap:8px}
}
@media(max-width:360px){#booking .row{grid-template-columns:minmax(0,1fr);gap:0}}

#booking .dialog select{display:block;margin-top:7px;width:100%;max-width:100%;min-height:44px;padding:10px 8px;background:#0c1512;border:1px solid #516356;border-radius:2px;color:#fff;font:inherit;font-size:16px;color-scheme:dark}
#availability-note{font-size:13px!important;color:#dcc18c!important;margin:7px 0!important}

/* Center the selected bottle above the compact price panel. */
.drink-art[hidden]{display:none}.drink-art{position:absolute;left:50%;transform:translateX(-50%);top:9%;bottom:calc(var(--bar-panel-height,280px) + 43px);width:min(35%,320px);z-index:2;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(0 12px 22px #0009)}.drink-art img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;opacity:0;transform:translateY(12px) rotate(-2deg);transition:opacity .24s ease,transform .35s ease}.drink-art img.ready{opacity:1;transform:translateY(0) rotate(0)}
.bar-order{margin-top:9px;border-top:1px solid #425447;padding-top:9px}.bar-quantity{display:flex;align-items:center;justify-content:center;gap:14px}.bar-quantity button{width:42px;height:38px;color:#f3dfb2;background:#25352a;border:1px solid #60705a;border-radius:4px;font-size:25px;line-height:1}.bar-quantity button:disabled{opacity:.4;cursor:default}.bar-quantity span{min-width:142px;text-align:center;font-size:13px;color:#e3e9dc}.bar-cart{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.bar-cart span{font-size:12px;color:#d8bf90;line-height:1.25}.bar-cart button{flex-shrink:0;min-height:38px;padding:8px 12px;border:0;border-radius:3px;background:#d7aa67;color:#142018;font-weight:700;font-size:12px}
@media(max-width:700px){body.bar-open .bar-order{margin-top:5px;padding-top:6px}body.bar-open .bar-quantity button{width:40px;height:34px}body.bar-open .bar-cart{margin-top:6px}body.bar-open .bar-cart button{min-height:34px;padding:6px 10px}body.bar-open .bar-panel p{margin-top:4px}}
@media(max-width:700px){body.bar-open .drink-art{top:58px;bottom:calc(var(--bar-panel-height,175px) + 10px);left:50%;right:auto;width:min(62vw,260px);align-items:flex-end}body.bar-open .drink-art img{max-height:100%}}
@media(max-width:380px){body.bar-open .drink-art{width:58vw}}
@media(prefers-reduced-motion:reduce){.drink-art img{transition:none;transform:none}}
/* Bottle selection while seated at a table. */
.seat-menu[hidden]{display:none}.seat-menu{position:absolute;left:20px;top:90px;z-index:4;width:min(350px,calc(100% - 40px));max-height:calc(100% - 120px);overflow-y:auto;padding:14px;background:#101b19f5;border:1px solid #ad925f;box-shadow:0 14px 36px #0009;border-radius:5px;color:#f7eddb}.seat-menu-head{display:flex;justify-content:space-between;align-items:center;color:#d9ad69;font:700 13px 'Space Grotesk',Arial;letter-spacing:.1em}.seat-menu-head button{font-size:25px;color:#eee;background:none;border:0;line-height:1}.seat-categories{display:flex;gap:5px;overflow-x:auto;margin:12px 0 9px}.seat-categories button{white-space:nowrap;background:#25342b;border:1px solid #617259;color:#e4e4d4;padding:7px 9px;font-size:12px;border-radius:3px}.seat-categories button.active{background:#d0ad71;color:#17251c}.seat-product{display:grid;grid-template-columns:32px 100px minmax(0,1fr) 32px;align-items:center;gap:8px}.seat-product>button,.seat-quantity button{color:#f3dfb2;background:#25352a;border:1px solid #60705a;border-radius:3px;font-size:25px;min-height:42px}.seat-product img{width:100px;height:116px;object-fit:contain}.seat-product-info{min-width:0}.seat-product h3{font:600 18px 'Space Grotesk',Arial;line-height:1.13;margin:0 0 6px}.seat-product-info span{display:block;color:#aebcad;font-size:12px}.seat-product-info strong{display:block;color:#e7c483;font-size:22px;margin-top:7px}.seat-quantity{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}.seat-quantity button{width:46px}.seat-quantity span{font-size:13px;min-width:116px;text-align:center}.seat-menu p{margin:9px 0 0;color:#c9b486;font-size:12px;line-height:1.3}.seat-order{display:none;border-top:1px solid #455245;padding:8px 0 2px}.table-focus .seat-order{display:block}.seat-order>div{display:flex;justify-content:space-between;gap:6px;align-items:center;color:#d0d7cb;font-size:13px}.seat-order strong{color:#ebc888;font-size:15px}.seat-order progress{display:block;width:100%;height:7px;margin:6px 0;accent-color:#d8b374}.seat-order small{display:block;color:#aebdad;font-size:11px}.table-focus #seat-menu-toggle{display:block;width:100%;background:#243329;border:1px solid #65745d;color:#f3e6cb;padding:8px;font-size:13px;margin:8px 0 3px}#seat-menu-toggle{display:none}.booking-order{border:1px solid #6c765e;padding:10px;background:#1f2d24;color:#f0dfbd;font-size:13px;line-height:1.5;margin:12px 0;white-space:pre-line}
@media(max-width:700px){.seat-menu{top:auto;bottom:calc(var(--table-panel-height,210px) + 8px);left:10px;right:10px;width:auto;max-height:min(37dvh,260px);padding:9px 12px}.seat-categories{margin:7px 0 5px}.seat-categories button{padding:6px 8px}.seat-product{grid-template-columns:30px 72px minmax(0,1fr) 30px;gap:5px}.seat-product img{width:72px;height:84px}.seat-product h3{font-size:16px}.seat-product-info strong{font-size:19px;margin-top:4px}.seat-product>button,.seat-quantity button{min-height:36px;font-size:22px}.seat-quantity{margin-top:4px}.seat-quantity button{width:38px}.seat-menu p{margin-top:5px}.table-focus aside .seat-order{padding:6px 0 0}.table-focus #seat-menu-toggle{margin:5px 0;padding:6px;min-height:30px}.table-focus #book{margin-top:5px}}

/* The seated view is a focused bottle picker, with the room still visible around it. */
body.seat-mode.table-focus aside{display:none}
body.seat-mode .viewnav,body.seat-mode .actions,body.seat-mode .hint,body.seat-mode .walk,body.seat-mode #joystick,body.seat-mode .mobile-table-top{display:none}
body.seat-mode.table-focus #scene{height:100%}
body.seat-mode .seat-menu{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(430px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:18px 20px;z-index:5;box-shadow:0 22px 70px #000d}
body.seat-mode .seat-product{grid-template-columns:38px 112px minmax(0,1fr) 38px;gap:9px}
body.seat-mode .seat-product img{width:112px;height:140px}
.seat-checkout{border-top:1px solid #56654e;margin-top:14px;padding-top:12px}
.seat-checkout>small{display:block;color:#d8c392;font-size:13px;margin-bottom:9px}
.seat-checkout>div{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:13px;color:#c8d4c7}
.seat-checkout strong{color:#e8c687;font-size:17px;white-space:nowrap}
.seat-checkout progress{display:block;width:100%;height:8px;accent-color:#d8b374;margin:10px 0}
.seat-checkout button{display:block;width:100%;min-height:44px;border:0;border-radius:3px;background:#d7aa67;color:#151c16;font-weight:700;font-size:14px}
.seat-checkout button:disabled{background:#344037;color:#abb7a6;cursor:default}
@media(max-width:700px){body.seat-mode .seat-menu{width:min(420px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:14px 15px}body.seat-mode .seat-product{grid-template-columns:32px minmax(76px,105px) minmax(0,1fr) 32px;gap:5px}body.seat-mode .seat-product img{width:100%;height:124px}body.seat-mode .seat-product h3{font-size:17px}body.seat-mode .seat-product-info strong{font-size:21px}}
@media(max-width:350px){body.seat-mode .seat-product{grid-template-columns:30px 68px minmax(0,1fr) 30px}body.seat-mode .seat-product img{height:96px}}

/* Entrance concierge: photographic cutout, then a compact text conversation. */
.hostess[hidden],.hostess-dialog[hidden]{display:none}
body[data-view]:not([data-view="entree"]) .hostess,body.bar-open .hostess,body.tables-open .hostess,body.table-focus .hostess,body.events-open .hostess{display:none}
.hostess{position:absolute;right:18px;bottom:16px;width:350px;height:340px;z-index:4;pointer-events:none}
.hostess-preview{position:absolute;inset:0}
.hostess-preview img{position:absolute;right:0;bottom:0;width:240px;height:335px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 20px #0008);animation:hostess-arrive .65s ease-out both}
.hostess-welcome{position:absolute;left:0;bottom:155px;width:205px;padding:14px;background:#101b19ef;border:1px solid #ad925f;border-radius:8px;box-shadow:0 10px 25px #0008;pointer-events:auto}
.hostess-welcome strong,.hostess-welcome span{display:block}.hostess-welcome strong{color:#ebc888;font:700 16px 'Space Grotesk',Arial}.hostess-welcome span{margin:5px 0 10px;color:#e1e8df;font-size:13px;line-height:1.3}
.hostess-welcome button,.hostess-form button{border:0;background:#d7aa67;color:#101815;padding:10px 11px;border-radius:3px;font-weight:700;font-size:13px}
.hostess.expanded{width:min(750px,calc(100% - 36px));height:min(480px,calc(100% - 36px))}
.hostess.expanded .hostess-preview{width:310px;right:auto}.hostess.expanded .hostess-preview img{height:440px;width:310px}.hostess.expanded .hostess-welcome{display:none}
.hostess-dialog{position:absolute;right:0;top:0;width:440px;max-width:100%;height:100%;display:flex;flex-direction:column;background:#101b19f8;border:1px solid #b89a63;border-radius:8px;box-shadow:0 18px 50px #000c;pointer-events:auto;overflow:hidden}
.hostess-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #46564c}.hostess-head strong,.hostess-head span{display:block}.hostess-head strong{font:700 17px 'Space Grotesk',Arial;color:#eac889}.hostess-head span{font-size:12px;color:#aebead;margin-top:2px}.hostess-head button{background:none;border:0;color:#f4ebdf;font-size:29px;line-height:1;min-width:36px;min-height:36px}
.hostess-messages{flex:1;min-height:0;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:9px;overscroll-behavior:contain}.hostess-messages p{max-width:94%;width:fit-content;margin:0;padding:10px 12px;border-radius:9px;font-size:14px;line-height:1.45;white-space:pre-wrap}.hostess-answer{align-self:flex-start;background:#26372e;color:#f1eee2}.hostess-messages .visitor{align-self:flex-end;background:#a8834e;color:#101715}
.hostess-prompts{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;flex-shrink:0}.hostess-prompts button{white-space:nowrap;background:#26362d;border:1px solid #67745e;color:#efe6d1;border-radius:16px;padding:7px 10px;font-size:12px}
.hostess-form{padding:8px 14px 14px;border-top:1px solid #46564c}.hostess-form label{display:block;font-size:12px;color:#d0b879;margin-bottom:6px}.hostess-form>div{display:flex;gap:7px}.hostess-form input{min-width:0;flex:1;background:#0b1412;border:1px solid #65735e;border-radius:3px;color:white;padding:10px;font-size:16px}.hostess-form button{flex-shrink:0}
@keyframes hostess-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hostess-preview img{animation:none}}
@media(max-width:700px){.hostess{right:7px;bottom:27px;width:200px;height:230px}.hostess-preview img{width:175px;height:225px}.hostess-welcome{left:-125px;bottom:130px;width:165px;padding:10px}.hostess-welcome strong{font-size:13px}.hostess-welcome span{font-size:12px;margin:4px 0 7px}.hostess-welcome button{font-size:12px;padding:8px}.hostess.expanded{left:8px;right:8px;bottom:8px;width:auto;height:min(72dvh,570px)}.hostess.expanded .hostess-preview{display:none}.hostess-dialog{width:100%}.hostess-messages{padding:12px}.hostess-prompts{padding:7px 10px}.hostess-form{padding:8px 10px max(10px,env(safe-area-inset-bottom))}}
@media(max-width:380px){.hostess-welcome{left:-110px;width:155px}}

/* Keep the welcome clear of mobile navigation and make it dismissible. */
.hostess-welcome{padding-right:32px}
.hostess-welcome #hostess-minimize{position:absolute;top:5px;right:5px;width:26px;height:26px;padding:0;border:1px solid #69745e;background:#25332b;color:#f3e8d7;border-radius:50%;font-size:19px;font-weight:400;line-height:1}
.hostess-reopen[hidden]{display:none}.hostess-reopen{pointer-events:auto;position:absolute;right:0;bottom:0;width:64px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden;padding:0 2px 3px;border:1px solid #d2ae73;border-radius:50%;background:#16211d;color:#f6ddb0;box-shadow:0 7px 20px #000a}
.hostess-reopen img{position:absolute;width:56px;height:66px;bottom:0;object-fit:cover;object-position:top;opacity:.9}.hostess-reopen span{position:relative;z-index:1;font-size:10px;font-weight:700;text-shadow:0 1px 3px black;background:#102018c9;border-radius:4px;padding:1px 3px}
.hostess.minimized{width:64px;height:64px}.hostess.minimized .hostess-preview{display:none}
@media(max-width:700px){.hostess:not(.expanded):not(.minimized){right:8px;bottom:170px;width:190px;height:140px}.hostess:not(.expanded):not(.minimized) .hostess-preview img{width:120px;height:135px}.hostess:not(.expanded):not(.minimized) .hostess-welcome{left:-122px;bottom:45px;width:170px;padding:9px 26px 9px 9px}.hostess:not(.expanded):not(.minimized) .hostess-welcome strong{font-size:13px;line-height:1.15}.hostess:not(.expanded):not(.minimized) .hostess-welcome span{font-size:11px;line-height:1.2;margin:4px 0 6px}.hostess:not(.expanded):not(.minimized) .hostess-welcome #hostess-open{padding:7px 8px;font-size:11px;text-align:left}.hostess.minimized{right:10px;bottom:160px;width:56px;height:56px}.hostess.minimized .hostess-reopen{width:56px;height:56px}.hostess.expanded{bottom:8px}}
@media(max-width:380px){.hostess:not(.expanded):not(.minimized) .hostess-welcome{left:-112px;width:160px}}

/* A larger welcome portrait remains to the right of the question card on phones. */
@media(max-width:700px){.hostess:not(.expanded):not(.minimized){height:225px}.hostess:not(.expanded):not(.minimized) .hostess-preview img{width:180px;height:220px}.hostess:not(.expanded):not(.minimized) .hostess-welcome{left:max(-145px,calc(210px - 100vw))}}

/* On phones, anchor the hostess to the room's lower-right corner. */
@media(max-width:700px){.hostess:not(.expanded):not(.minimized){right:0;bottom:0;width:190px;height:225px}.hostess:not(.expanded):not(.minimized) .hostess-preview img{right:0;bottom:0;width:180px;height:220px}.hostess:not(.expanded):not(.minimized) .hostess-welcome{left:max(-145px,calc(205px - 100vw));bottom:220px}.hostess.minimized{right:8px;bottom:12px}}

/* Keep the new full-length hostess prominent in the mobile corner. */
@media(max-width:700px){.hostess:not(.expanded):not(.minimized){width:200px;height:270px}.hostess:not(.expanded):not(.minimized) .hostess-preview img{width:190px;height:265px}.hostess:not(.expanded):not(.minimized) .hostess-welcome{bottom:265px}}

/* Larger full-body hostess, with the greeting card above her on phones. */
@media(max-width:700px){.hostess:not(.expanded):not(.minimized){--hostess-mobile-height:min(360px,48dvh);right:0;bottom:0;width:250px;height:var(--hostess-mobile-height)}.hostess:not(.expanded):not(.minimized) .hostess-preview img{right:0;bottom:0;width:250px;height:var(--hostess-mobile-height)}.hostess:not(.expanded):not(.minimized) .hostess-welcome{left:max(-130px,calc(262px - 100vw));bottom:calc(var(--hostess-mobile-height) - 5px)}}

/* The booking hour is a fixed club opening time, not a time picker. */
#booking .booking-hours{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;margin:12px 0;color:#d6ddcf;font-size:14px}
#booking .booking-hours strong{display:flex;align-items:center;margin-top:7px;min-height:44px;width:100%;padding:10px 12px;background:#1f2d24;border:1px solid #516356;color:#f3dfb3;font-size:16px;font-weight:600}
@media(max-width:700px){#booking .booking-hours{margin:8px 0}#booking .booking-hours strong{margin-top:5px}}
#booking #promoter-name[readonly]{background:#24352c;border-color:#be9e64;color:#f0d6a4;cursor:default}
#booking .promoter-note:empty{display:none}
#booking .promoter-note{color:#e9c685;font-size:13px;margin:3px 0 12px}
#booking .notification-settings[hidden],#booking .consent-line[hidden],#booking .booking-confirmation[hidden],#booking #request[hidden]{display:none}
#booking .notification-note{font-size:13px;color:#d0b985;margin:7px 0}
#booking .consent-line{display:flex;align-items:flex-start;gap:10px;line-height:1.4}
#booking .consent-line input{width:20px;min-width:20px;height:20px;min-height:20px;margin:0;accent-color:#d7aa67}
#booking .booking-confirmation{text-align:left;padding-top:4px}
#booking .booking-confirmation h2{margin:10px 0 16px}
#booking .booking-confirmation strong{color:#f1d19d}
#booking .receipt-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #d7aa67;background:#2b412f;color:#f5d7a3;font-size:25px}
#booking .booking-confirmation dl{margin:18px 0;padding:8px 16px;background:#101b18;border:1px solid #526b55}
#booking .booking-confirmation dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #34483b}
#booking .booking-confirmation dl div:last-child{border:0}
#booking .booking-confirmation dt{color:#aebbad}
#booking .booking-confirmation dd{margin:0;text-align:right;overflow-wrap:anywhere;color:#f2dfb5;font-weight:700}
#booking .receipt-button{display:block;width:100%;margin-top:10px;min-height:46px;background:#d7aa67;border:0;color:#101815;font-weight:700}
#booking .receipt-button.secondary{background:transparent;border:1px solid #7c8a70;color:#f4e9ce}
