/* Shared public identity. Admin keeps its own workspace styling. */
:root{--gold:#f33347;--gold-soft:#ffa0aa;--paper:#f5f2ed;--muted:#a6a4a5;--ink:#0a090a;--radius:12px}
.brand-mark{border-color:var(--gold);font-family:Arial,sans-serif;font-style:italic;font-weight:900}
.brand strong{letter-spacing:.12em;font-style:italic;font-size:18px}
.button{border-radius:5px;letter-spacing:.05em}
.button-gold{color:#fff}
.menu-page{background:radial-gradient(ellipse at 95% 0,rgba(160,18,42,.2),transparent 35%),#0a090a}
.menu-header{border-color:#ffffff18}
.menu-intro h1,.public-card h1{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-weight:900;font-style:normal;letter-spacing:-.025em;line-height:1;text-transform:uppercase}
.menu-intro h1 em,.public-card h1 em{font-style:normal;color:var(--gold)}
.menu-tools{background:rgba(10,9,10,.96)}
.search-box{border-radius:5px}
.category-tab{border-radius:4px;min-height:44px}
.category-tab.is-active{color:#fff}
.category-heading h2{font-family:Arial,sans-serif;font-size:clamp(24px,3vw,36px);font-weight:800;letter-spacing:-.04em;line-height:1.1}
.product-card{border-radius:6px;background:#121113;border-color:#ffffff12}
.product-card:hover{border-color:#f3334770}
.product-image,.product-placeholder{border-radius:3px;background:radial-gradient(ellipse at 10% 0,#5c1924,#171114 75%)}
.product-image{object-fit:contain;background:#fff;padding:4px}
.product-placeholder{font-family:Arial,sans-serif;font-weight:900;font-style:italic}
.product-copy h3{font-family:Arial,sans-serif;font-size:20px;font-weight:750;line-height:1.2;letter-spacing:-.025em}
.product-price{font-family:Arial,sans-serif;font-size:18px;font-weight:800;color:#f5f2ed}
.product-dialog,.wifi-dialog{border-radius:10px;border-color:#ffffff26}
.product-dialog h2{font-family:Arial,sans-serif;font-weight:800;letter-spacing:-.04em;line-height:1.1}
.product-dialog strong{font-family:Arial,sans-serif;font-size:26px}
.wifi-dialog h2{font-family:Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:-.02em;line-height:1.05}
.public-page{background:radial-gradient(ellipse at 90% 0,#361019,transparent 35%),#0a090a}
.public-card{border-radius:8px;background:#111013}
.age-gate{background:rgba(7,5,7,.96)}
.age-gate-card{border-radius:8px;background:radial-gradient(ellipse at 90% 0,#39101b,transparent 55%),#100d10;border-color:#f3334755}
.age-gate-card h2{font-family:Impact,"Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:-.025em;line-height:1.05}
.age-gate-card>img{width:180px;max-width:100%;height:auto}
.toast{border-radius:5px;color:#fff}
.consent-banner{border-radius:8px}
@media(max-width:620px){.product-copy h3{font-size:17px}.product-dialog h2{font-size:30px}.menu-shell{padding-top:36px}.menu-intro>p:last-child{font-size:15px}.menu-tools{margin-block:28px}.menu-category{margin-bottom:40px}.public-card h1{font-size:clamp(32px,10vw,60px)}}

/* One identity across the landing page, menu, age check and forms. */
.sess-brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:#f5f2ed;min-width:0}
.sess-brand>img{display:block;width:48px;height:48px;border-radius:4px;object-fit:cover;flex-shrink:0}
.sess-brand>span{display:grid;gap:7px;min-width:0}
.sess-brand strong{font:900 italic 34px/.8 Arial,sans-serif;letter-spacing:-.1em;padding-right:4px}
.sess-brand small{font:800 7px/1 Arial,sans-serif;letter-spacing:.22em}
.public-header{width:min(920px,100%);margin:auto;padding:24px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.public-header nav{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end;font-size:12px}
.public-header nav a{display:flex;align-items:center;min-height:44px;padding:8px}
.public-header+.public-shell{padding-top:24px}
.public-form .form-note{display:block;font-weight:400;font-size:11px}
.form-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.public-card>.form-note{margin-top:24px}
.selected-event{display:grid;gap:10px;border:1px solid #f3334740;border-radius:6px;padding:18px;margin-top:24px;background:#f3334709}
.selected-event small{color:var(--gold);text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.selected-event strong{font-size:22px}.selected-event time{font-size:13px;color:var(--muted)}
.age-gate-card>.sess-brand{margin-bottom:26px}
.category-tabs{position:relative;overscroll-behavior-x:contain;scroll-padding-inline:8px}
.menu-content{scroll-margin-top:155px}
.product-dialog[open],.product-dialog.is-text-only[open]{display:flex;flex-direction:column;max-width:640px}
.product-dialog>.dialog-close{align-self:flex-end;flex-shrink:0;float:none;z-index:3}
.product-dialog img{display:block;width:100%;height:clamp(180px,36dvh,320px);min-height:0;object-fit:contain;background:#fff;padding:12px}
.product-dialog>div{min-width:0;min-height:0;padding:28px;gap:12px}
.product-dialog.is-text-only>div{padding-top:64px}
.product-dialog h2{margin:0}.product-dialog p{margin:0 0 12px}
.product-dialog strong{margin-top:8px}
@media(max-width:620px){
 .public-header{padding:16px 12px;gap:12px;align-items:flex-start}
 .public-header nav{gap:2px 6px;font-size:11px}
 .public-header nav a{padding:8px 6px}
 .sess-brand{gap:8px}.sess-brand>img{width:40px;height:40px}.sess-brand strong{font-size:28px}.sess-brand small{font-size:6px}
 .menu-header{display:grid;grid-template-columns:40px minmax(0,1fr) 44px auto;gap:6px;padding:12px}
 .menu-header .sess-brand{justify-self:start;min-width:0}.menu-header .sess-brand>img{width:36px;height:36px}
 .menu-header .sess-brand strong{font-size:26px}.menu-header .sess-brand small{display:none}
 .menu-header .back-link{width:40px;height:44px}
 .menu-header .wifi-button{padding-inline:10px;min-width:44px}
 .public-form>*,.public-card{min-width:0}.public-form input,.public-form textarea{max-width:100%}
 .public-form input[type="datetime-local"]{display:block;min-width:0;width:100%;max-width:100%;appearance:none;-webkit-appearance:none;min-height:50px}
 .public-form input[type="datetime-local"]::-webkit-date-and-time-value{text-align:left}
 .public-card .button{white-space:normal;padding:14px 18px;text-align:center}
 .public-header+.public-shell{padding-top:12px}
 .product-dialog>div{padding:24px}.product-dialog.is-text-only>div{padding-top:60px}
 .age-gate-card>.sess-brand{margin-bottom:20px}
}
@media(max-width:360px){.menu-header .sess-brand>span{display:none}.public-header{flex-wrap:wrap}.public-header nav{width:100%;justify-content:space-between}}
.menu-source{border-top:1px solid var(--line);padding-top:24px;font-size:11px;color:var(--muted);line-height:1.7}
.menu-source a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold);padding-inline:6px}
