:root{ --max: 1180px; --admin-max: 1480px; --pad: 16px; --topbar-h: 40px; }
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial}
#bg-layer{position:fixed; inset:0; z-index:-1; background:#0e0b0a}
#bg-canvas{width:100%; height:100%; display:block}
.beer-bg-layer{overflow:hidden}
#stageWrap{position:absolute; inset:0; z-index:1}
#stage{width:100%; height:100%}
.layer{opacity:0; transition:opacity 900ms ease}
.layer.show{opacity:1}
.tap-overlay{position:absolute; inset:0; pointer-events:none}
.tap-overlay-logo{z-index:4}
.tap-overlay-front{z-index:10}
#bubbles{position:absolute; inset:0; z-index:2; display:block; width:100vw; height:100vh; pointer-events:none}
.beer-label{position:fixed; top:var(--topbar-h); left:0; right:0; bottom:0; pointer-events:none; z-index:9000}
.beer-label .label-layer{position:absolute; pointer-events:auto; cursor:pointer; top:clamp(64px,12vh,150px); right:clamp(28px,6vw,110px); width:min(50ch,42vw); max-width:calc(100vw - 32px); color:#fff; text-shadow:0 2px 22px #0009,0 0 6px #000a; line-height:1.2; text-decoration:none; opacity:0; transition:opacity 900ms ease; overflow-wrap:anywhere}
.beer-label .label-layer.show{opacity:1}
.beer-label span{display:block; white-space:normal; position:static}
.beer-label .title{font-weight:800; font-size:clamp(20px,2.2vw,34px); margin:0 0 .34em}
.beer-label .pump-clip-placeholder{width:min(100%,42vh,430px); max-width:50ch; aspect-ratio:1/1; margin:0 0 12px; display:grid; place-items:center}
.beer-label .pump-clip-placeholder img{width:100%; height:100%; display:block; object-fit:contain}
.beer-label .desc{font-weight:500; font-size:clamp(13px,1.15vw,17px); line-height:1.45; opacity:.96; max-width:50ch; text-align:justify; hyphens:auto}
.glass-detail-link{position:fixed; top:var(--topbar-h); right:0; bottom:36px; width:min(48vw,720px); z-index:8998; display:block; cursor:pointer; text-indent:-9999px; overflow:hidden}
.pjax-content-active .beer-label,.pjax-content-active .glass-detail-link{display:none}

.public-body{color:#f8f1e7; background:#0e0b0a; padding-top:var(--topbar-h); padding-bottom:58px}
.admin-body{
  color:#f8f1e7;
  background:#0e0b0a;
  min-height:100vh
}
.admin-bg-layer::after{
  content:""; position:absolute; inset:0; z-index:20; pointer-events:none;
  background:
    radial-gradient(circle at 18% 14%,rgba(240,182,74,.14),transparent 28%),
    linear-gradient(90deg,rgba(5,3,2,.7),rgba(5,3,2,.36) 44%,rgba(5,3,2,.74));
}
.admin-body .beer-label,.admin-body .glass-detail-link{display:none}

.site-header{display:flex; align-items:center; justify-content:space-between; gap:12px}
.site-header a{text-decoration:none}
.topbar{
  position:fixed; inset:0 0 auto 0; height:var(--topbar-h); z-index:10000;
  justify-content:flex-start; gap:10px; padding:0 12px;
  background:rgba(0,0,0,.55); backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.topbar .logo,.topbar nav a{
  appearance:none;
  display:inline-flex; align-items:center;
  border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06);
  color:#fff; font:600 12px/1 ui-rounded,system-ui,-apple-system,"Segoe UI",Roboto,Arial;
  padding:6px 10px; border-radius:8px; letter-spacing:.02em; cursor:pointer
}
.topbar nav{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.topbar .logo:hover,.topbar nav a:hover{background:rgba(255,255,255,.12)}
.topbar .logo:active,.topbar nav a:active{transform:translateY(1px)}

.admin-header{
  position:sticky; top:0; background:linear-gradient(180deg,rgba(15,9,6,.78),rgba(6,4,3,.58)); backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(240,182,74,.3); padding:12px max(var(--pad),calc((100vw - var(--max))/2)); z-index:20;
  box-shadow:0 14px 34px rgba(0,0,0,.28)
}
.admin-header nav{display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end}
.admin-header nav a,.admin-header .logo{
  position:relative; display:inline-flex; align-items:center; min-height:36px; margin:0; padding:8px 12px;
  border:1px solid rgba(255,255,255,.14); border-radius:8px; color:#f8f1e7;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.18);
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease
}
.admin-header nav a:hover,.admin-header .logo:hover{
  transform:translateY(-1px); border-color:rgba(240,182,74,.7);
  background:linear-gradient(180deg,rgba(240,182,74,.22),rgba(111,53,21,.18));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 24px rgba(0,0,0,.28)
}
.admin-header nav a:active,.admin-header .logo:active{transform:translateY(1px); box-shadow:inset 0 2px 8px rgba(0,0,0,.35)}
.admin-header nav a.active{
  color:#17100b; border-color:#f0b64a; background:linear-gradient(180deg,#ffd16c,#f0b64a);
  box-shadow:0 0 0 1px rgba(240,182,74,.18),0 12px 26px rgba(240,182,74,.16)
}
.admin-header .logo{font-weight:900; color:#f0b64a; letter-spacing:.02em}

main{
  max-width:var(--max); margin:32px auto; padding:24px;
  border-radius:8px
}
.public-body main{
  position:relative; z-index:2;
  margin-top:44px; background:rgba(8,5,3,.72); color:#f8f1e7;
  border:1px solid rgba(255,255,255,.14); box-shadow:0 18px 50px rgba(0,0,0,.35);
  backdrop-filter:blur(4px)
}
.public-body main:empty{display:none}
.admin-body main{
  max-width:var(--admin-max);
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none
}

.site-footer{max-width:var(--max); margin:24px auto; padding:12px var(--pad)}
.bottombar{
  position:fixed; inset:auto 0 0 0; min-height:36px; z-index:10000; max-width:none; margin:0;
  display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 12px;
  color:#ddd; background:rgba(0,0,0,.55); backdrop-filter:blur(6px);
  border-top:1px solid rgba(255,255,255,.08)
}
.footer-links{display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap}
.footer-links a{color:#f8f1e7; text-decoration:none; font-size:12px}
.footer-links a:hover{text-decoration:underline}
.admin-footer{color:#d7c8b7; opacity:.88}
.cookie-banner{position:fixed; left:50%; transform:translateX(-50%); bottom:46px; background:#111; color:#fff; padding:10px 14px; border-radius:8px; z-index:10001}
.cookie-banner.hidden{display:none}

.form-row{margin-bottom:12px}
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=time], select, textarea{width:100%; padding:10px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#222}
button{padding:10px 14px; border-radius:8px; border:1px solid #333; background:#222; color:#fff; cursor:pointer}
.admin-body input[type=text],.admin-body input[type=email],.admin-body input[type=password],.admin-body input[type=number],.admin-body input[type=date],.admin-body input[type=time],.admin-body select,.admin-body textarea{
  border-color:rgba(240,182,74,.28); background:linear-gradient(180deg,#fffdf8,#f8eddd); color:#241711;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 18px rgba(0,0,0,.12);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.admin-body input[type=file]{
  width:100%; padding:10px; border:1px dashed rgba(240,182,74,.42); border-radius:8px;
  color:#f8f1e7; background:rgba(255,255,255,.055); cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease
}
.admin-body input[type=file]:hover{border-color:#f0b64a; background:rgba(240,182,74,.08); box-shadow:0 10px 22px rgba(0,0,0,.16)}
.admin-body input[type=checkbox]{accent-color:#f0b64a}
.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{
  outline:0; border-color:#f0b64a;
  box-shadow:0 0 0 3px rgba(240,182,74,.2),inset 0 1px 0 rgba(255,255,255,.9),0 12px 24px rgba(0,0,0,.18)
}
.admin-body label{color:#f8f1e7; font-weight:650}
.admin-body button,.admin-button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px;
  padding:10px 15px; border-radius:8px; text-decoration:none;
  border:1px solid #f0b64a; background:linear-gradient(180deg,#ffd16c,#f0b64a 58%,#d79635);
  color:#17100b; font-weight:900; letter-spacing:.01em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 12px 24px rgba(0,0,0,.24),0 0 0 1px rgba(240,182,74,.12);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,border-color .15s ease
}
.admin-button.secondary{
  border-color:rgba(255,255,255,.18); color:#f8f1e7;
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 20px rgba(0,0,0,.2)
}
.admin-button.secondary:hover{color:#fff; border-color:rgba(240,182,74,.48); background:linear-gradient(180deg,rgba(240,182,74,.16),rgba(255,255,255,.06))}
.admin-danger-button{
  border-color:rgba(255,118,105,.48)!important; color:#ffe5e1!important;
  background:linear-gradient(180deg,rgba(172,52,52,.42),rgba(92,22,22,.4))!important
}
.admin-danger-button:hover{border-color:#ff7669!important; color:#fff!important; filter:brightness(1.12)}
.admin-body button:hover,.admin-button:hover{
  color:#100905; transform:translateY(-1px); filter:saturate(1.1) brightness(1.03);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 16px 30px rgba(0,0,0,.32),0 0 0 1px rgba(240,182,74,.18)
}
.admin-body button:active,.admin-button:active{transform:translateY(1px); box-shadow:inset 0 3px 9px rgba(79,42,12,.32),0 8px 18px rgba(0,0,0,.2)}
.notice{padding:10px 12px; border-radius:8px}
.notice.success{background:#eef8ef; color:#164b20}
.notice.error{background:#fdecec; color:#7a1818}
.admin-body .notice{border:1px solid rgba(255,255,255,.18); box-shadow:0 12px 26px rgba(0,0,0,.18)}
.admin-body .notice.success{background:linear-gradient(180deg,rgba(79,167,93,.22),rgba(22,75,32,.2)); color:#dbffe1; border-color:rgba(115,217,139,.42)}
.admin-body .notice.error{background:linear-gradient(180deg,rgba(172,52,52,.24),rgba(92,22,22,.22)); color:#ffe1de; border-color:rgba(255,118,105,.42)}
.muted{color:#777}
.admin-body .muted{color:#cbb89c}
.public-body .muted,.public-body .menu-meta{color:#d7c8b7}
.contact-page{max-width:980px; margin:0 auto}
.contact-hero{max-width:720px; margin:0 0 22px}
.contact-hero h1{
  margin:4px 0 12px; color:#f7ead7; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(46px,8vw,88px); line-height:.92; font-weight:500
}
.contact-hero p:last-child{margin:0; color:#e4d5c1; font-size:clamp(18px,2vw,22px); line-height:1.5}
.contact-form{
  max-width:720px; padding:clamp(18px,3vw,30px); border:1px solid rgba(240,182,74,.28); border-radius:8px;
  background:
    linear-gradient(115deg,rgba(10,6,4,.86),rgba(10,6,4,.58) 58%,rgba(56,22,11,.52)),
    radial-gradient(circle at 92% 10%,rgba(240,182,74,.18),transparent 30%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 64px rgba(0,0,0,.34)
}
.contact-form-head{margin:0 0 18px; padding-bottom:14px; border-bottom:1px solid rgba(240,182,74,.22)}
.contact-form-head h2{margin:0 0 6px; color:#fff7e8; font-family:Georgia,"Times New Roman",serif; font-size:clamp(27px,4vw,42px); font-weight:500}
.contact-form-head p{margin:0; color:#d7c8b7; line-height:1.45}
.contact-form label{color:#f8f1e7; font-weight:800}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{
  margin-top:6px; border-color:rgba(240,182,74,.3); background:linear-gradient(180deg,#fffdf8,#f8eddd); color:#241711;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 18px rgba(0,0,0,.18)
}
.contact-form textarea{min-height:170px; resize:vertical}
.contact-submit{
  min-height:44px; padding:11px 18px; border:1px solid #f0b64a; border-radius:8px; color:#17100b;
  background:linear-gradient(180deg,#ffd16c,#f0b64a 58%,#d79635); font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 14px 28px rgba(0,0,0,.28)
}
.contact-submit:not(:disabled):hover{transform:translateY(-1px); filter:saturate(1.08) brightness(1.03)}
.public-body .notice{
  max-width:720px; border:1px solid rgba(255,255,255,.18); box-shadow:0 12px 26px rgba(0,0,0,.18)
}
.beer-challenge{
  --beer-level:78%; max-width:440px; margin:18px 0; padding:14px; border:1px solid rgba(240,182,74,.3); border-radius:8px;
  background:linear-gradient(180deg,rgba(240,182,74,.12),rgba(255,255,255,.055));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 34px rgba(0,0,0,.24)
}
.beer-challenge-scene{min-height:88px; display:grid; place-items:center; margin-bottom:8px; cursor:pointer; touch-action:none; user-select:none}
.beer-challenge-art{display:block; width:min(100%,190px); height:auto; filter:drop-shadow(0 10px 16px rgba(0,0,0,.3))}
.beer-bottle-svg{transform-box:fill-box; transform-origin:50% 80%; transform:rotate(-10deg); transition:transform .22s ease}
.beer-stream-svg{opacity:0; transition:opacity .14s ease}
.beer-glass-svg{transform-box:fill-box; transform-origin:50% 82%}
.beer-level{transition:height .08s linear,y .08s linear}
.beer-head{transition:opacity .12s ease}
.beer-bottle{position:relative; width:50px; height:122px; transform:rotate(-12deg); transform-origin:50% 86%; transition:transform .22s ease}
.bottle-neck{position:absolute; left:17px; top:0; width:16px; height:42px; border-radius:7px 7px 2px 2px; background:linear-gradient(90deg,#28140a,#5b2d13 48%,#201006)}
.bottle-body{position:absolute; left:5px; bottom:0; width:40px; height:88px; border-radius:15px 15px 9px 9px; background:linear-gradient(90deg,#241008,#794017 48%,#1a0d05); box-shadow:inset 7px 0 10px rgba(255,255,255,.08)}
.beer-stream{width:10px; height:0; margin-bottom:24px; border-radius:999px; background:linear-gradient(#f7c35a,#d68116); opacity:0; transform:rotate(18deg); transform-origin:top; transition:height .14s linear, opacity .14s ease}
.beer-glass{position:relative; width:102px; height:132px; border:4px solid rgba(255,255,255,.82); border-top:0; border-radius:0 0 18px 18px; overflow:visible; background:rgba(255,255,255,.08); box-shadow:inset 0 0 18px rgba(255,255,255,.16)}
.beer-glass::after{content:""; position:absolute; right:-18px; top:32px; width:22px; height:44px; border:4px solid rgba(255,255,255,.6); border-left:0; border-radius:0 16px 16px 0}
.beer-fill{position:absolute; left:7px; right:7px; bottom:7px; height:var(--beer-level); max-height:calc(100% - 14px); border-radius:0 0 12px 12px; background:linear-gradient(180deg,#f7c95b,#d98518 65%,#a75611); transition:height .08s linear}
.beer-fill::before{content:""; position:absolute; left:-2px; right:-2px; top:-7px; height:10px; border-radius:999px; background:radial-gradient(circle at 15% 50%,#fff8d8 0 15%,transparent 17%),radial-gradient(circle at 45% 45%,#fff2bf 0 18%,transparent 20%),radial-gradient(circle at 75% 55%,#fff7d2 0 16%,transparent 18%),#f5e7b1}
.beer-foam{display:none}
.beer-challenge-status{margin:0 0 10px; color:#f8f1e7; font-size:14px; line-height:1.45}
.beer-challenge-button{
  min-height:40px; border-color:#f0b64a; border-radius:8px; background:#f0b64a; color:#17100b;
  font-weight:950; padding:9px 13px; box-shadow:0 10px 20px rgba(0,0,0,.22)
}
.beer-challenge-button:hover{background:#ffd06b; transform:translateY(-1px)}
.beer-challenge.is-starting .beer-bottle,.beer-challenge.is-pouring .beer-bottle{transform:translateY(-6px) rotate(-58deg)}
.beer-challenge.is-starting .beer-bottle-svg,.beer-challenge.is-pouring .beer-bottle-svg{transform:translate(20px,-10px) rotate(-62deg)}
.beer-challenge.is-pouring .beer-stream-svg{opacity:1}
.beer-challenge.is-pouring .beer-stream{height:88px; opacity:1}
.beer-challenge.is-drinking .beer-glass,.beer-challenge.is-drinking .beer-glass-svg{animation:beer-toast .42s ease-in-out infinite alternate}
.beer-challenge.is-complete{border-color:rgba(108,221,132,.5); background:rgba(37,126,58,.2)}
.beer-challenge.is-complete .beer-challenge-button{background:#73d98b; border-color:#73d98b}
button:disabled,.contact-submit:disabled{opacity:.55; cursor:not-allowed}
@keyframes beer-toast{from{transform:translateY(0) rotate(0)}to{transform:translateY(-4px) rotate(1.5deg)}}

.admin-panel{border-top:1px solid #e5e5e5; padding-top:18px; margin-top:22px}
.admin-body .admin-panel{
  position:relative; border:1px solid rgba(240,182,74,.2); border-radius:8px; padding:20px;
  background:linear-gradient(180deg,rgba(10,6,4,.78),rgba(8,5,3,.58));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 22px 58px rgba(0,0,0,.38);
  backdrop-filter:blur(14px);
  overflow:hidden
}
.admin-body .admin-panel::before{content:""; position:absolute; inset:0 0 auto; height:2px; background:linear-gradient(90deg,transparent,#f0b64a,transparent); opacity:.55}
.admin-body h1{margin:0 0 10px; color:#f7ead7; font-family:Georgia,"Times New Roman",serif; font-weight:500; font-size:clamp(40px,6vw,72px); line-height:.95}
.admin-body h2,.admin-body h3,.admin-body h4{color:#f0b64a}
.admin-body a{color:#ffd06b; text-underline-offset:3px}
.admin-body a:hover{color:#fff1ca}
.admin-lead{max-width:760px; color:#e4d5c1; font-size:18px; line-height:1.55; margin:0 0 22px}
.admin-dashboard-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:18px}
.admin-dashboard-card{min-height:230px; display:flex; flex-direction:column; justify-content:space-between; margin:0}
.admin-dashboard-card:hover{
  transform:translateY(-2px); border-color:rgba(240,182,74,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 54px rgba(0,0,0,.32)
}
.admin-card-kicker{color:#f0b64a; font-size:12px; font-weight:900; letter-spacing:.16em; text-transform:uppercase}
.admin-dashboard-card h2{font-family:Georgia,"Times New Roman",serif; font-size:30px; font-weight:500; margin:8px 0}
.admin-dashboard-card p{color:#e4d5c1; line-height:1.5}
.form-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:12px; align-items:end}
.form-row.compact{max-width:180px}
.form-actions{display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.admin-body .form-actions{padding-top:4px}
.admin-body .form-actions label{
  display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:8px 11px;
  border:1px solid rgba(255,255,255,.12); border-radius:8px; background:rgba(255,255,255,.045)
}
.wysiwyg-hidden{display:none}
.wysiwyg-editor{border:1px solid #d8d8d8; border-radius:8px; overflow:hidden; background:#fff}
.wysiwyg-toolbar{display:flex; gap:6px; flex-wrap:wrap; padding:8px; border-bottom:1px solid #e5e5e5; background:#f7f7f7}
.wysiwyg-toolbar button{min-width:34px; padding:7px 9px; border-color:#cfcfcf; background:#fff; color:#222; font-weight:700}
.wysiwyg-canvas{min-height:150px; padding:12px; outline:0; line-height:1.5}
.wysiwyg-canvas:focus{box-shadow:inset 0 0 0 2px #f0b64a}
.wysiwyg-canvas h2,.wysiwyg-canvas h3,.editable-content h2,.editable-content h3{margin:0 0 10px}
.admin-card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px}
.admin-stat-card{border:1px solid #e3e3e3; border-radius:8px; padding:14px; background:#fff}
.admin-body .admin-stat-card,.admin-body .chart-panel,.admin-body .admin-menu-category{
  border-color:rgba(240,182,74,.24); background:linear-gradient(180deg,rgba(10,6,4,.48),rgba(10,6,4,.28));
  box-shadow:0 18px 38px rgba(0,0,0,.2)
}
.admin-stat-card strong{display:block; font-size:30px}
.chart-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start}
.chart-panel{border:1px solid #e3e3e3; border-radius:8px; padding:14px; background:#fff}
.chart-panel canvas{width:100%; max-height:320px}
.admin-inline-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin:0; padding:0; list-style:none}
.admin-inline-list li{
  position:relative; min-height:96px; border:1px solid rgba(255,255,255,.12); border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 12px 28px rgba(0,0,0,.22);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.admin-inline-list li:hover{
  transform:translateY(-2px); border-color:rgba(240,182,74,.5);
  box-shadow:0 18px 42px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.08)
}
.admin-inline-list li.is-active{
  border-color:#f0b64a;
  background:linear-gradient(180deg,rgba(240,182,74,.2),rgba(255,255,255,.05));
  box-shadow:0 0 0 1px rgba(240,182,74,.18),0 18px 42px rgba(0,0,0,.34)
}
.admin-inline-list a{display:flex; flex-direction:column; justify-content:flex-end; min-height:96px; padding:14px; text-decoration:none}
.admin-inline-list strong{color:#fff7e8; font-family:Georgia,"Times New Roman",serif; font-size:25px; line-height:1.05}
.admin-inline-list span{margin-top:5px; color:#d7c8b7; font-weight:750; overflow-wrap:anywhere}
.admin-inline-list small{display:block; margin-top:8px; color:#cbb89c; font-size:12px; line-height:1.35}
.admin-inline-list em{
  position:absolute; top:10px; right:10px; min-height:26px; padding:4px 8px; border:1px solid rgba(115,217,139,.5); border-radius:8px;
  color:#dbffe1; background:rgba(37,126,58,.2); font-size:11px; font-style:normal; font-weight:950; letter-spacing:.06em; text-transform:uppercase
}
.admin-inline-list li.is-hidden em{border-color:rgba(255,118,105,.44); color:#ffe5e1; background:rgba(172,52,52,.18)}
.admin-shortcut-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px}
.admin-shortcut-grid .admin-button{justify-content:center; min-height:48px; text-align:center}
.compact-user-form{display:grid; grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto; gap:8px; align-items:end}
.compact-user-form .form-row{margin:0}
.upload-grid{grid-template-columns:1fr 1fr}
.admin-beer-preview{
  position:relative; overflow:hidden; border-radius:8px; padding:clamp(16px,3vw,28px);
  border:1px solid rgba(240,182,74,.3);
  background:
    linear-gradient(90deg,rgba(8,5,3,.92),rgba(8,5,3,.72) 52%,rgba(8,5,3,.86)),
    var(--beer-preview-bg, none) center/cover no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 20px 60px rgba(0,0,0,.28)
}
.admin-beer-preview::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 18% 10%,rgba(240,182,74,.18),transparent 32%); pointer-events:none}
.admin-beer-preview .beer-hero{position:relative; z-index:1; grid-template-columns:minmax(0,1fr) minmax(260px,.55fr)}
.admin-beer-preview .beer-detail h1,.admin-beer-preview h1{color:#f8f1e7}
.admin-beer-preview h1{font-size:clamp(34px,5vw,60px)}
.admin-beer-preview .lead p{margin:0}
.admin-beer-preview .beer-clip-full[hidden]{display:none}
.admin-beer-preview .static-panel{border-color:rgba(240,182,74,.22); background:rgba(10,6,4,.5); color:#e4d5c1}
.admin-beer-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; margin-top:16px}
.admin-beer-card{
  position:relative; overflow:hidden; border:1px solid rgba(240,182,74,.24); border-radius:8px;
  background:
    linear-gradient(180deg,rgba(8,5,3,.74),rgba(8,5,3,.9)),
    var(--beer-card-bg, none) center/cover no-repeat;
  box-shadow:0 24px 60px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.admin-beer-card::before{content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(0,0,0,.82),rgba(0,0,0,.58) 48%,rgba(0,0,0,.78)); pointer-events:none}
.admin-beer-card::after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 75% 0,rgba(240,182,74,.28),transparent 34%); opacity:.72; pointer-events:none}
.admin-beer-card:hover{transform:translateY(-3px); border-color:rgba(240,182,74,.56); box-shadow:0 30px 72px rgba(0,0,0,.44),0 0 0 1px rgba(240,182,74,.12)}
.admin-beer-card-media{
  position:relative; z-index:2; width:min(128px,42%); aspect-ratio:1/1; display:grid; place-items:center; margin:16px 16px 0 auto;
  border:0; border-radius:0; background:transparent;
  box-shadow:none; overflow:visible
}
.admin-beer-card-media img{width:100%; height:100%; object-fit:contain; display:block; background:transparent}
.admin-beer-card-media span{font-size:12px; color:#d7c8b7; text-align:center; padding:10px}
.admin-beer-card-body{
  position:relative; z-index:3; padding:16px;
  display:flex; flex-direction:column
}
.admin-beer-card-top{display:flex; gap:8px; flex-wrap:wrap; margin:0 0 10px}
.admin-pill{
  display:inline-flex; align-items:center; min-height:28px; padding:5px 9px; border:1px solid rgba(255,255,255,.16); border-radius:8px;
  color:#f8f1e7; background:rgba(255,255,255,.08); font-size:12px; font-weight:900; letter-spacing:.05em; text-transform:uppercase
}
.admin-pill.is-live{border-color:rgba(115,217,139,.5); color:#dbffe1; background:rgba(37,126,58,.2)}
.admin-pill.is-hidden{border-color:rgba(255,118,105,.44); color:#ffe5e1; background:rgba(172,52,52,.18)}
.admin-beer-card h3{
  margin:0 0 4px; color:#fff7e8; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(26px,3vw,34px); line-height:1.02; font-weight:600
}
.admin-beer-slug{margin:0 0 10px!important; color:#f0b64a!important; font-weight:800}
.admin-beer-card p{max-width:58ch; color:#e4d5c1; line-height:1.45}
.admin-beer-assets{display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 16px}
.admin-beer-assets span{
  display:inline-flex; align-items:center; min-height:26px; padding:4px 8px; border-radius:8px;
  color:#d7c8b7; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); font-size:12px; font-weight:700
}
.admin-beer-card-actions{margin-top:auto}
.admin-beer-card form{margin:10px 0 0}
.admin-beer-card .admin-danger-button{width:max-content}
.admin-event-grid,.admin-section-grid,.admin-user-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:16px; margin-top:16px}
.admin-event-card,.admin-section-card,.admin-user-card{
  position:relative; overflow:hidden; border:1px solid rgba(240,182,74,.24); border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  box-shadow:0 20px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.admin-event-card:hover,.admin-section-card:hover,.admin-user-card:hover{transform:translateY(-2px); border-color:rgba(240,182,74,.5); box-shadow:0 26px 60px rgba(0,0,0,.36)}
.admin-event-card{display:grid; grid-template-columns:104px minmax(0,1fr); min-height:240px}
.admin-event-card.is-expired{opacity:.78}
.admin-event-date{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  background:linear-gradient(180deg,rgba(240,182,74,.2),rgba(111,53,21,.22)); border-right:1px solid rgba(240,182,74,.2)
}
.admin-event-date strong{font-family:Georgia,"Times New Roman",serif; font-size:48px; line-height:1; color:#fff7e8}
.admin-event-date span{font-weight:900; color:#f0b64a; text-transform:uppercase; letter-spacing:.08em; font-size:12px}
.admin-event-body,.admin-section-card,.admin-user-card{padding:18px}
.admin-event-body{position:relative; padding-top:64px}
.admin-event-body .admin-beer-card-top,.admin-section-card .admin-beer-card-top,.admin-user-card .admin-beer-card-top{position:absolute; top:18px; left:18px; right:18px; max-width:none}
.admin-event-body h3,.admin-user-card h3{margin:0 0 6px; color:#fff7e8; font-family:Georgia,"Times New Roman",serif; font-size:30px; line-height:1.05}
.admin-event-location{margin:0 0 10px; color:#f0b64a!important; font-weight:800}
.admin-event-copy{max-height:110px; overflow:auto; color:#e4d5c1}
.admin-section-card{padding-top:66px}
.admin-section-preview{
  min-height:130px; max-height:260px; overflow:auto; padding:14px; border:1px solid rgba(255,255,255,.12); border-radius:8px;
  background:rgba(0,0,0,.18); color:#e4d5c1
}
.admin-section-preview h1,.admin-section-preview h2,.admin-section-preview h3{margin-top:0; color:#f7ead7}
.admin-section-card .admin-actions{margin-top:14px}
.admin-user-card{display:grid; grid-template-columns:72px minmax(0,1fr); gap:16px; align-items:start}
.admin-user-avatar{
  width:72px; aspect-ratio:1/1; display:grid; place-items:center; border-radius:8px;
  color:#17100b; background:linear-gradient(180deg,#ffd16c,#f0b64a); font-size:34px; font-weight:950;
  box-shadow:0 16px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.45)
}
.admin-user-body{position:relative; padding-top:48px}
.admin-user-card .admin-actions{grid-column:1/-1; justify-content:flex-end}
.admin-user-card .compact-user-form{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto; margin-top:12px}
.admin-menu-category{border:1px solid #e3e3e3; border-radius:8px; padding:14px; margin:14px 0; background:#fff9}
.admin-body .admin-menu-category{
  padding:18px; border-radius:8px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03)),
    linear-gradient(90deg,rgba(240,182,74,.08),transparent 34%);
}
.admin-menu-heading{display:flex; justify-content:space-between; gap:16px; align-items:flex-start}
.admin-menu-heading h3{margin:0 0 4px}
.admin-menu-item-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; margin-top:14px}
.admin-menu-item-card{
  display:flex; flex-direction:column; gap:10px; min-height:220px; padding:16px; border:1px solid rgba(240,182,74,.2); border-radius:8px;
  background:linear-gradient(180deg,rgba(7,4,3,.48),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 16px 34px rgba(0,0,0,.2);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.admin-menu-item-card:hover{transform:translateY(-2px); border-color:rgba(240,182,74,.48); box-shadow:0 22px 48px rgba(0,0,0,.32)}
.admin-menu-item-head{display:flex; justify-content:space-between; gap:14px; align-items:flex-start}
.admin-menu-item-head h5{
  margin:10px 0 0; color:#fff7e8; font-family:Georgia,"Times New Roman",serif;
  font-size:25px; line-height:1.05; font-weight:600
}
.admin-menu-item-head strong{
  flex:0 0 auto; color:#17100b; background:linear-gradient(180deg,#ffd16c,#f0b64a);
  border-radius:8px; padding:7px 10px; font-weight:950
}
.admin-menu-item-card p{margin:0; color:#e4d5c1; line-height:1.45}
.admin-menu-note,.admin-menu-warning{
  padding:8px 10px; border-radius:8px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.055)
}
.admin-menu-warning{border-color:rgba(255,118,105,.32); color:#ffe5e1!important; background:rgba(172,52,52,.14)}
.admin-menu-item-card .admin-actions{margin-top:auto}
.admin-actions{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.admin-actions form{margin:0}
.admin-add-panel summary{
  display:inline-flex; align-items:center; justify-content:center; width:max-content; min-height:42px;
  margin:0 0 14px; padding:10px 15px; border:1px solid #f0b64a; border-radius:8px;
  color:#17100b; background:linear-gradient(180deg,#ffd16c,#f0b64a 58%,#d79635);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 14px 26px rgba(0,0,0,.22);
  font-weight:950; cursor:pointer; list-style:none
}
.admin-add-panel summary::-webkit-details-marker{display:none}
.admin-add-panel[open] summary{margin-bottom:18px}
.link-button{background:transparent; color:#222; border:0; padding:0; text-decoration:underline; font:inherit}
.admin-body .link-button{
  min-height:auto; background:transparent; color:#ffd06b; border:0; padding:0; font-weight:800;
  box-shadow:none; text-decoration:underline; text-underline-offset:3px
}
.admin-body .link-button:hover{background:transparent; color:#fff1ca; transform:none; box-shadow:none}
.admin-table{width:100%; border-collapse:collapse; margin-top:10px}
.admin-table th,.admin-table td{border-top:1px solid #e5e5e5; padding:10px; text-align:left; vertical-align:top}
.admin-body .admin-table{border-collapse:separate; border-spacing:0 10px}
.admin-body .admin-table th,.admin-body .admin-table td{border-top-color:rgba(255,255,255,.12)}
.admin-body .admin-table th{border:0; color:#f0b64a; font-size:12px; letter-spacing:.08em; text-transform:uppercase}
.admin-body .admin-table td{background:rgba(255,255,255,.045); border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1)}
.admin-body .admin-table td:first-child{border-left:1px solid rgba(255,255,255,.1); border-radius:8px 0 0 8px}
.admin-body .admin-table td:last-child{border-right:1px solid rgba(255,255,255,.1); border-radius:0 8px 8px 0}
.admin-body .admin-table tr{transition:background .15s ease}
.admin-body .admin-table tr:hover td{background:rgba(240,182,74,.055)}
.admin-insight-list{display:grid; gap:10px; margin-top:12px}
.admin-insight-row{
  display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; align-items:center;
  padding:12px; border:1px solid rgba(255,255,255,.1); border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)
}
.admin-insight-row span{min-width:0; overflow-wrap:anywhere; color:#f8f1e7; font-weight:750}
.admin-insight-row strong{
  color:#17100b; background:linear-gradient(180deg,#ffd16c,#f0b64a);
  border-radius:8px; padding:6px 9px; font-size:13px
}
.admin-insight-row em{color:#d7c8b7; font-style:normal; font-size:13px}
.admin-message-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:16px; margin-top:14px}
.admin-message-card{
  display:flex; flex-direction:column; gap:14px; padding:18px; border:1px solid rgba(240,182,74,.24); border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  box-shadow:0 20px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)
}
.admin-message-head{display:flex; justify-content:space-between; gap:16px; align-items:flex-start}
.admin-message-head h3{margin:10px 0 4px; color:#fff7e8; font-family:Georgia,"Times New Roman",serif; font-size:30px; line-height:1.05}
.admin-message-head p{margin:0}
.admin-message-head time{color:#cbb89c; font-size:13px; font-weight:800; white-space:nowrap}
.admin-message-body{
  min-height:120px; padding:14px; border:1px solid rgba(255,255,255,.12); border-radius:8px;
  background:rgba(0,0,0,.18); color:#e4d5c1; line-height:1.55
}
.admin-body .tox.tox-tinymce{border-color:rgba(240,182,74,.38); border-radius:8px}
.admin-body .tox .tox-edit-area::before{border-color:#f0b64a}
.admin-body .tox .tox-toolbar,.admin-body .tox .tox-toolbar__overflow,.admin-body .tox .tox-toolbar__primary{background:#fff8ef}
.admin-body .tox .tox-statusbar{background:#fff8ef}
.wysiwyg-fallback{min-height:240px; font-family:ui-monospace,Menlo,Consolas,monospace}
.admin-subsection{border-top:1px solid #e5e5e5; margin-top:14px; padding-top:14px}
.admin-subsection h4{margin:0 0 4px}

.public-page{max-width:860px; margin:0 auto}
.public-page h1{
  margin:0 0 18px; color:#f7ead7; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,7vw,76px); line-height:.96; font-weight:500
}
.public-page .sect{display:grid; gap:18px}
.public-page .sect > *{margin-top:0; margin-bottom:0}
.public-page h2{
  margin-top:16px!important; color:#f0b64a; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(25px,3.5vw,38px); line-height:1.08; font-weight:600
}
.public-page p,.public-page li{color:#e4d5c1; font-size:17px; line-height:1.65}
.public-page p strong:first-child{
  display:block; max-width:720px; color:#fff7e8; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(22px,3vw,33px); line-height:1.2; font-weight:500
}
.page-about .sect{
  padding:clamp(18px,3vw,30px); border:1px solid rgba(240,182,74,.24); border-radius:8px;
  background:linear-gradient(180deg,rgba(10,6,4,.62),rgba(8,5,3,.42));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 18px 46px rgba(0,0,0,.28)
}
.meet-page{max-width:980px; margin:0 auto}
.meet-page h1{
  margin:0 0 18px; color:#f7ead7; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,7vw,76px); line-height:.96; font-weight:500
}
.meet-brewer-portrait{
  margin:0 0 22px; border:1px solid rgba(240,182,74,.28); border-radius:8px; overflow:hidden;
  background:linear-gradient(180deg,rgba(10,6,4,.72),rgba(8,5,3,.46));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 22px 58px rgba(0,0,0,.34)
}
.meet-brewer-portrait img{display:block; width:100%; max-height:520px; object-fit:cover; object-position:center}
.meet-brewer-portrait figcaption{
  padding:10px 14px; color:#d7c8b7; font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase
}
.book-feature{
  display:grid; grid-template-columns:minmax(190px,280px) minmax(0,1fr); gap:clamp(18px,4vw,42px); align-items:center;
  margin-top:28px; padding:clamp(18px,3vw,32px); border:1px solid rgba(240,182,74,.28); border-radius:8px;
  background:
    linear-gradient(115deg,rgba(10,6,4,.86),rgba(10,6,4,.58) 52%,rgba(56,22,11,.62)),
    radial-gradient(circle at 88% 8%,rgba(240,182,74,.18),transparent 30%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 64px rgba(0,0,0,.36)
}
.book-feature-cover{
  display:block; width:min(100%,280px); margin:0 auto; border-radius:8px; overflow:hidden;
  box-shadow:0 22px 48px rgba(0,0,0,.42); transform:rotate(-1.5deg);
  transition:transform .18s ease,box-shadow .18s ease
}
.book-feature-cover:hover{transform:translateY(-3px) rotate(0deg); box-shadow:0 30px 64px rgba(0,0,0,.5)}
.book-feature-cover img{display:block; width:100%; height:auto}
.book-feature-copy h2{
  margin:4px 0 14px; color:#fff7e8; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,5vw,62px); line-height:.98; font-weight:500
}
.book-feature-copy p{max-width:64ch; color:#e4d5c1; font-size:17px; line-height:1.62}
.book-feature-button{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:8px; padding:11px 16px;
  border:1px solid #f0b64a; border-radius:8px; color:#17100b!important; text-decoration:none; font-weight:950;
  background:linear-gradient(180deg,#ffd16c,#f0b64a 58%,#d79635);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 14px 28px rgba(0,0,0,.28);
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease
}
.book-feature-button:hover{
  transform:translateY(-1px); filter:saturate(1.1) brightness(1.03);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 18px 36px rgba(0,0,0,.36)
}

.food-page{width:100%; max-width:1040px; margin:0 auto}
.food-page-head{text-align:center; max-width:680px; margin:0 auto 28px}
.food-page-head h1{margin:.15em 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(40px,7vw,76px); font-weight:500; letter-spacing:.04em}
.food-page-head p:last-child{margin:0; color:#e4d5c1; font-size:17px}
.food-menu{width:100%; margin:28px auto 0; max-width:960px; font-family:Georgia,"Times New Roman",serif}
.restaurant-menu{
  padding:clamp(20px,3vw,36px); border:1px solid rgba(240,182,74,.38);
  background:linear-gradient(180deg,rgba(20,12,7,.92),rgba(8,5,3,.82));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055),0 22px 58px rgba(0,0,0,.36)
}
.food-menu::before,.food-menu::after{content:""; display:block; height:1px; margin:22px auto; max-width:520px; background:linear-gradient(90deg,transparent,rgba(240,182,74,.75),transparent)}
.food-menu-group{margin:34px 0}
.food-menu-group-head{text-align:center; margin-bottom:26px; padding-bottom:14px; border-bottom:1px solid rgba(240,182,74,.42)}
.food-menu-group-head h2{margin:0 0 5px; color:#f7ead7; font-size:clamp(26px,4vw,42px); font-weight:500; letter-spacing:.05em}
.food-menu-group-head p{max-width:58ch; margin:7px auto 0; color:#e4d5c1}
.food-menu-category{margin:30px 0}
.food-menu-category-head{text-align:center; margin:0 auto 16px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.18)}
.admin-body .food-menu-category-head{border-bottom-color:#999}
.food-menu-category-head h3{margin:0 0 4px; color:#f0b64a; font-size:20px; font-weight:600; letter-spacing:.12em; text-transform:uppercase}
.food-menu-category-head p{margin:0; color:#d7c8b7}
.food-menu-category-head p .price-note{color:#f0b64a}
.food-menu-items{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 34px}
.food-menu-item{min-width:0; padding:0 0 14px; border-bottom:1px solid rgba(255,255,255,.16)}
.admin-body .food-menu-item{border-bottom-color:#ddd}
.food-menu-item-head{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:start}
.food-menu-item-head h3,.food-menu-item-head h4{margin:0; color:#fff7e8; font-size:18px; font-weight:600; letter-spacing:.02em}
.food-menu-item-head h4{min-width:0; overflow-wrap:break-word}
.food-menu-item-head strong{max-width:220px; color:#f0b64a; font-size:17px; font-weight:700; line-height:1.18; text-align:right}
.food-menu-item p{margin:6px 0 0; color:#d7c8b7; line-height:1.5; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial}
.food-menu-empty{text-align:center; color:#e4d5c1}
.menu-warning{background:rgba(44,27,12,.86); color:#f6dfb4; border-left:3px solid #f0b64a; padding:7px 9px; font-size:13px}
.food-menu-notes{margin:34px auto 0; max-width:680px; padding-top:18px; border-top:1px solid rgba(240,182,74,.42); text-align:center}
.food-menu-notes h3{margin:0 0 10px; color:#f0b64a; font-size:18px; letter-spacing:.12em; text-transform:uppercase}
.food-menu-notes ul{display:grid; gap:6px; margin:0; padding:0; list-style:none; color:#d7c8b7; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial}
.where-page{max-width:1120px; margin:0 auto}
.where-page h1{
  margin:0 0 18px; color:#f7ead7; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,7vw,76px); line-height:.96; font-weight:500
}
.directions-map-panel{
  display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:clamp(18px,3vw,34px); align-items:center;
  margin-top:22px; padding:clamp(16px,2.6vw,28px); border:1px solid rgba(240,182,74,.28); border-radius:8px;
  background:
    linear-gradient(115deg,rgba(10,6,4,.86),rgba(10,6,4,.58) 52%,rgba(56,22,11,.5)),
    radial-gradient(circle at 88% 8%,rgba(240,182,74,.18),transparent 30%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 64px rgba(0,0,0,.34)
}
.directions-map-copy h2{
  margin:4px 0 12px; color:#fff7e8; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,4vw,52px); line-height:1; font-weight:500
}
.directions-map-copy p{color:#e4d5c1; font-size:17px; line-height:1.58}
.directions-steps{counter-reset:route; display:grid; gap:10px; margin:18px 0 0; padding:0; list-style:none}
.directions-steps li{
  position:relative; min-height:62px; padding:10px 12px 10px 56px; border:1px solid rgba(255,255,255,.12); border-radius:8px;
  background:rgba(255,255,255,.055)
}
.directions-steps li::before{
  counter-increment:route; content:counter(route); position:absolute; left:12px; top:12px; width:30px; height:30px;
  display:grid; place-items:center; border-radius:50%; color:#17100b; background:linear-gradient(180deg,#ffd16c,#f0b64a);
  font-weight:950
}
.directions-steps strong{display:block; color:#fff7e8; margin-bottom:3px}
.directions-steps span{display:block; color:#d7c8b7; line-height:1.35}
.cartoon-map{margin:0}
.cartoon-map img{
  display:block; width:100%; height:auto; border:1px solid rgba(240,182,74,.32); border-radius:8px;
  box-shadow:0 22px 52px rgba(0,0,0,.32)
}
.cartoon-map figcaption{margin-top:8px; color:#cbb89c; font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase}
.static-panel,.event-card{border:1px solid rgba(255,255,255,.14); border-radius:8px; padding:16px; margin:14px 0; background:rgba(255,255,255,.08)}
.admin-body .static-panel,.admin-body .event-card{border-color:#e3e3e3; background:#fff9}
.event-list{display:grid; gap:14px}
.event-card h2{margin-top:0}
.beer-hero{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr); gap:clamp(22px,5vw,64px); align-items:start}
.kicker{color:#f0b64a; font-weight:800; text-transform:uppercase; font-size:13px; letter-spacing:.08em}
.beer-detail h1{margin:8px 0 12px; font-size:clamp(44px,9vw,104px); line-height:.92}
.abv{display:inline-flex; align-items:center; margin-bottom:22px; color:#16110d; background:#f0b64a; border-radius:8px; padding:7px 11px; font-weight:900}
.lead{max-width:56ch; margin:0 0 24px; color:#d7c8b7; font-size:clamp(18px,2vw,23px)}
.pump-clip-zoom{display:block; width:max-content; max-width:100%; margin:0 0 22px; padding:0; border:0; background:transparent; cursor:zoom-in}
.beer-clip-full{width:min(300px,44vw); max-height:430px; display:block; object-fit:contain; border:0; border-radius:0; background:transparent}
.pump-clip-lightbox{position:fixed; inset:0; z-index:20000; display:grid; place-items:center; padding:24px; background:rgba(0,0,0,.86); cursor:zoom-out}
.pump-clip-lightbox img{max-width:min(96vw,1200px); max-height:94vh; object-fit:contain; border:0; border-radius:0; box-shadow:0 24px 80px rgba(0,0,0,.6)}
.notes p{margin:0 0 16px}
.notes p:last-child{margin-bottom:0}
.beer-side{display:grid; gap:16px}
.beer-side h2{margin:0 0 10px; font-size:20px}
.beer-side p{margin:0; color:#d7c8b7}
.beer-list{display:grid; gap:8px; margin:0; padding:0; list-style:none}
.beer-list a{display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.1); color:inherit; text-decoration:none}
.beer-list span:last-child{color:#f0b64a; font-weight:800}

@media (max-width: 980px){
  .food-menu{max-width:760px}
  .food-menu-items{grid-template-columns:1fr}
  .food-menu-item-head{grid-template-columns:minmax(0,1fr) max-content}
}

@media (max-width: 760px){
  :root{--topbar-h:86px}
  .public-body{padding-bottom:96px}
  .topbar{height:auto; min-height:var(--topbar-h); align-items:flex-start; flex-wrap:wrap; padding:8px 10px}
  .topbar .logo,.topbar nav a{font-size:12px; padding:6px 10px}
  .beer-label .label-layer{left:16px; right:16px; width:min(92vw,46ch); max-width:min(92vw,46ch); background:rgba(0,0,0,.35); padding:.45em .65em; border-radius:.65em}
  .beer-label .pump-clip-placeholder{width:min(100%,28vh,220px)}
  .beer-label .desc{text-align:left; font-size:clamp(12px,3.4vw,15px)}
  .beer-clip-full{width:min(260px,72vw); max-height:380px}
  .topbar nav{gap:8px}
  .admin-header{align-items:flex-start; flex-direction:column; padding:10px}
  .admin-header nav{justify-content:flex-start}
  .admin-header nav a,.admin-header .logo{min-height:34px; padding:7px 9px; font-size:13px}
  main{margin:18px 10px; padding:18px}
  .bottombar{align-items:flex-start; flex-direction:column; gap:5px}
  .footer-links{justify-content:flex-start; gap:8px 12px}
  .form-grid{grid-template-columns:1fr}
  .form-row.compact{max-width:none}
  .chart-grid{grid-template-columns:1fr}
  .upload-grid{grid-template-columns:1fr}
  .compact-user-form{grid-template-columns:1fr}
  .admin-menu-heading,.food-menu-item-head{display:block}
  .admin-beer-grid{grid-template-columns:1fr}
  .admin-beer-card{min-height:auto}
  .admin-beer-card-media{position:relative; top:auto; right:auto; width:min(180px,52vw); margin:0 0 12px}
  .admin-beer-card-body{min-height:auto; padding:16px}
  .admin-beer-card-top{position:static; margin-bottom:18px; max-width:none}
  .admin-event-grid,.admin-section-grid,.admin-user-grid,.admin-menu-item-grid{grid-template-columns:1fr}
  .admin-event-card{grid-template-columns:1fr; min-height:auto}
  .admin-event-date{align-items:flex-start; padding:14px; border-right:0; border-bottom:1px solid rgba(240,182,74,.2)}
  .admin-event-date strong{font-size:38px}
  .admin-event-body,.admin-section-card,.admin-user-card{padding:16px}
  .admin-event-body{padding-top:16px}
  .admin-event-body .admin-beer-card-top,.admin-section-card .admin-beer-card-top,.admin-user-card .admin-beer-card-top{position:static; margin-bottom:14px}
  .admin-section-card{padding-top:16px}
  .admin-user-card{grid-template-columns:1fr}
  .admin-user-body{padding-top:0}
  .admin-user-card .compact-user-form{grid-template-columns:1fr}
  .admin-menu-item-head{display:block}
  .admin-menu-item-head strong{display:inline-flex; margin-top:10px}
  .admin-insight-row{grid-template-columns:1fr; align-items:start}
  .admin-message-grid{grid-template-columns:1fr}
  .admin-message-head{display:block}
  .admin-message-head time{display:block; margin-top:8px}
  .book-feature{grid-template-columns:1fr; text-align:left}
  .book-feature-cover{width:min(220px,72vw)}
  .directions-map-panel{grid-template-columns:1fr}
  .directions-steps li{padding-left:52px}
  .contact-form{padding:16px}
  .contact-submit{width:100%}
  .beer-challenge{max-width:none}
  .beer-hero{grid-template-columns:1fr}
  .food-menu-items{grid-template-columns:1fr}
  .food-page-head{text-align:left}
  .admin-table{display:block; overflow-x:auto}
}
