/* ============================================================
   YESTERDAY'S BAR & GRILL — brand theme (matches their logo/FB page)
   ============================================================ */

:root{
  --bg:            #f7f0e2;
  --bg-alt:        #efe4cd;
  --bg-card:       #fffcf5;
  --ink:           #2a1d16;
  --ink-dim:       #6e5c4c;
  --rust:          #a53a26;
  --rust-deep:     #7c2a1b;
  --rust-soft:     #c96a4f;
  --gold:          #b6862f;
  --cream:         #2a1d16;      /* alias: default text on light bg */
  --cream-dim:     #6e5c4c;      /* alias: dim text on light bg */
  --amber:         #a53a26;      /* alias: primary accent = rust */
  --amber-soft:    #c96a4f;
  --red:           #7c2a1b;
  --red-soft:      #a53a26;
  --green:         #5b7a52;
  --line:          rgba(42,29,22,0.12);
  --line-strong:   rgba(42,29,22,0.24);
  --shadow:        0 20px 45px rgba(42,25,15,0.16);
  --radius:        14px;
  --maxw:          1180px;
  font-size: 16px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{
  scroll-behavior:smooth;
  overflow-x:hidden;
  overscroll-behavior-x:none;
  touch-action:pan-y;
  overflow-anchor:none;
  width:100%;
  max-width:100%;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Work Sans', -apple-system, sans-serif;
  line-height:1.6;
  overflow-x:hidden;
  overscroll-behavior-x:none;
  touch-action:pan-y;
  width:100%;
  max-width:100%;
  position:relative;
}

/* subtle paper-grain overlay */
body::before{
  content:"";
  position:fixed; inset:0;
  z-index:999;
  pointer-events:none;
  opacity:.035;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

h1,h2,h3,h4{
  font-family:'Rye', 'Work Sans', serif;
  letter-spacing:.01em;
  margin:0 0 .3em;
  line-height:1.08;
  font-weight:400;
  color:var(--ink);
}

p{ margin:0 0 1em; color:var(--ink-dim); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }

.container{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 clamp(1.2rem, 4vw, 2.5rem);
  scroll-margin-top:100px;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5em;
  font-family:'Playfair Display', serif;
  font-style:italic;
  font-weight:600;
  letter-spacing:.08em;
  font-size:.95rem;
  color:var(--rust);
  margin-bottom:.8rem;
}
.eyebrow::before{
  content:"";
  width:26px; height:2px;
  background:var(--rust);
}

section{ position:relative; padding:clamp(4rem,8vw,7rem) 0; }

.page-section{ display:none; }
.page-section.active{ display:block; animation:fadein .4s ease; }
.nav__links a.active{ color:var(--rust); }
.nav__links a.active::after{ width:100%; }
.mobile-menu a.active{ color:var(--rust); }
.section-head{ max-width:640px; margin-bottom:3rem; }
.section-head h2{ font-size:clamp(2.1rem,4.6vw,3.1rem); }
.section-head p{ font-size:1.05rem; }

/* reveal on scroll */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:'Rye', serif;
  letter-spacing:.03em;
  font-size:.95rem;
  padding:.9em 1.8em;
  border-radius:999px;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.btn-primary{
  background:var(--rust);
  color:#fff8ec;
  box-shadow:0 10px 24px rgba(165,58,38,.35);
}
.btn-primary:hover{ transform:translateY(-3px); background:var(--rust-deep); box-shadow:0 14px 30px rgba(124,42,27,.42); }
.btn-ghost{
  background:transparent;
  border-color:var(--line-strong);
  color:var(--ink);
}
.btn-ghost:hover{ border-color:var(--rust); color:var(--rust); background:rgba(165,58,38,.06); }

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:500;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem;
  padding:.9rem clamp(1.2rem,4vw,2.5rem);
  background:rgba(247,240,226,.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid transparent;
  transition:padding .3s ease, background .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.nav__logo{ justify-self:start; grid-column:1; }
.nav__links{ justify-self:center; grid-column:2; }
.nav__right{ justify-self:end; display:flex; align-items:center; gap:.8rem; grid-column:3; }
.nav__directions{ position:relative; }
.nav__directions-panel{
  display:none; position:absolute; top:calc(100% + .8rem); right:0;
  width:300px; background:var(--bg-card); border:1px solid var(--line-strong);
  border-radius:var(--radius); box-shadow:var(--shadow); padding:1.3rem;
  text-align:left; z-index:10;
}
.nav__directions-panel.open{ display:block; }
.nav__directions-panel .info-row{ margin-bottom:1rem; gap:.8rem; }
.nav__directions-panel .info-row__icon{ width:38px; height:38px; }
.nav__directions-panel .info-row__icon svg{ width:18px; height:18px; }
.nav__directions-panel .info-row h4{ font-size:.95rem; margin-bottom:.15rem; }
.nav__directions-panel .info-row p{ font-size:.9rem; line-height:1.4; }
.nav__directions-hours h4{
  font-family:'Work Sans',sans-serif; font-weight:700; font-size:.95rem;
  margin-bottom:.5rem; color:var(--ink);
}
.nav__directions-hours .hours-table td{ padding:.3rem 0; font-size:.85rem; }
.nav__directions-hours .hours-table td:last-child{ font-family:'Rye',serif; font-size:1rem; color:var(--rust); }
.nav__directions-cta{
  display:block; text-align:center; margin-top:1rem; width:100%;
  padding:.6em 1em; font-size:.9rem;
}
.nav.scrolled{
  padding:.5rem clamp(1.2rem,4vw,2.5rem);
  background:rgba(247,240,226,.97);
  box-shadow:0 4px 24px rgba(42,25,15,.1);
  border-bottom-color:var(--line);
}
.nav__logo{
  display:inline-flex; align-items:center; gap:.6rem;
}
.nav__logo img{
  width:38px; height:38px; border-radius:50%; display:block;
  box-sizing:border-box; padding:4px; object-fit:contain; background:#ffffff;
}
.nav__logo span{
  font-family:'Rye', serif; font-size:1.15rem; color:var(--rust); letter-spacing:.02em;
  white-space:nowrap;
}
.nav__links{ display:flex; gap:1.8rem; align-items:center; }
.nav__links a{
  font-family:'Work Sans', sans-serif;
  font-weight:600;
  letter-spacing:.02em;
  font-size:.92rem;
  color:var(--ink-dim);
  position:relative;
  padding:.2em 0;
}
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0%;
  background:var(--rust);
  transition:width .25s ease;
}
.nav__links a:hover{ color:var(--ink); }
.nav__links a:hover::after{ width:100%; }
.nav__links a[data-tab="menu"]{
  font-family:'Rye', serif;
  font-weight:400;
  font-size:1.05rem;
  letter-spacing:.01em;
}
.nav__cta{ display:flex; align-items:center; gap:1rem; }
.nav__burger{
  display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:.9rem .7rem;
}
.nav__burger span{ width:24px; height:2px; background:var(--ink); }

.mobile-menu{
  position:fixed; inset:0; z-index:600;
  background:rgb(247,240,226);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2rem;
  transform:translateY(-100%);
  transition:transform .4s ease;
}
.mobile-menu.open{ transform:translateY(0); }
.mobile-menu a{ font-family:'Rye',serif; font-size:1.8rem; letter-spacing:.02em; color:var(--ink); }
.mobile-menu__join{
  font-family:'Work Sans',sans-serif !important; font-size:1rem !important; font-weight:600;
  color:var(--rust) !important; border:1.5px solid var(--rust); border-radius:999px;
  padding:.6em 1.4em; margin-top:.5rem;
}
.mobile-menu__close{ position:absolute; top:1.5rem; right:1.5rem; background:none; border:0; color:var(--ink); font-size:2rem; cursor:pointer; }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  min-height:100svh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  position:relative;
  padding-top:6rem; padding-left:1.5rem; padding-right:1.5rem;
  background:var(--bg);
  overflow:hidden;
  transition:min-height .4s ease, padding .4s ease;
}
.hero--compact{
  min-height:260px;
  padding-top:6rem;
  padding-bottom:1.5rem;
}
.hero--compact .hero__bg-photo::after{
  background:linear-gradient(180deg, rgba(20,12,8,.32) 0%, rgba(20,12,8,.4) 60%, var(--bg) 100%);
}
.hero__bg-photo--compact{ display:none; }
.hero--compact .hero__bg-photo--home{ display:none; }
.hero--compact .hero__bg-photo--compact{ display:block; }
.hero--compact .hero__tagline,
.hero--compact .hero__infobar,
.hero--compact .hero__logo-badge,
.hero--compact .hero__kicker,
.hero--compact .hero__glow-orb{
  display:none;
}
.hero--compact .hero__ctas{ margin-top:1.2rem; }
.hero--compact .hero__wordmark{ font-size:1.6rem; }
/* No photo yet: this layer stays invisible and the hero is plain, clean cream.
   Once assets/hero-storefront.jpg loads successfully, script.js adds .hero--photo
   to <header>, which switches on the darker banner treatment below. */
.hero__bg-photo{ position:absolute; inset:0; z-index:0; overflow:hidden; opacity:0; transition:opacity .6s ease; }
.hero__bg-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:41% center; }
.hero__bg-photo--compact{ object-position:58% 25%; }
.hero__bg-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,12,8,.68) 0%, rgba(24,15,10,.78) 45%, rgba(30,18,12,.82) 75%, var(--bg) 96%);
}
.hero--photo .hero__bg-photo{ opacity:1; }
/* the real photo already shows "Yesterdays Bar & Grill" as actual building
   signage — stop stacking our own wordmark text on top of it */
.hero--photo .hero__wordmark{ display:none; }
.hero--photo .hero__kicker{ color:var(--gold); margin-bottom:1.4rem; text-shadow:0 2px 10px rgba(0,0,0,.65); }
.hero--photo .hero__tagline{ color:#fbf3e4; text-shadow:0 2px 12px rgba(0,0,0,.7); }
.hero--photo .hero__tagline strong{ color:var(--gold); }
.hero--photo .hero__infobar{ color:#fbf3e4; text-shadow:0 2px 10px rgba(0,0,0,.7); }
.hero--photo .hero__infobar svg{ stroke:var(--gold); }
.hero--photo .hero__ctas .btn-ghost{ color:#f5e8d3; border-color:rgba(245,232,211,.4); }
.hero--photo .hero__ctas .btn-ghost:hover{ color:var(--gold); border-color:var(--gold); background:rgba(224,182,110,.1); }
.hero--photo .hero__logo-badge{ box-shadow:0 18px 40px rgba(0,0,0,.4), 0 0 0 6px rgba(255,255,255,.9); }

.hero__glow-orb{
  position:absolute; border-radius:50%; filter:blur(90px); opacity:.22; z-index:0;
  animation:float 14s ease-in-out infinite;
}
.hero__glow-orb.o1{ width:340px; height:340px; background:var(--gold); top:6%; left:6%; }
.hero__glow-orb.o2{ width:280px; height:280px; background:var(--rust-soft); bottom:8%; right:8%; animation-delay:-4s; }
.hero__glow-orb.o3{ width:220px; height:220px; background:var(--rust-soft); bottom:28%; left:42%; animation-delay:-8s; opacity:.14;}
@keyframes float{
  0%,100%{ transform:translate(0,0); }
  50%{ transform:translate(20px,-30px); }
}

.hero__content{ position:relative; z-index:2; }

.hero__logo-badge{
  width:clamp(110px, 14vw, 150px);
  aspect-ratio:1/1;
  margin:0 auto 1.4rem;
  border-radius:50%;
  background:#ffffff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 30px rgba(42,25,15,.22);
  transition:box-shadow .6s ease;
}
.hero__logo-mark{
  width:68%;
  height:68%;
  object-fit:contain;
}

.hero__kicker{
  font-family:'Work Sans',sans-serif; font-weight:800; letter-spacing:.22em; font-size:1.15rem;
  color:var(--rust); text-transform:uppercase; margin-bottom:.6rem;
  transition:color .6s ease;
}

.hero__wordmark{
  font-family:'Rye', serif;
  font-size:clamp(2.4rem, 7vw, 4.2rem);
  line-height:1;
  margin:0;
  letter-spacing:.01em;
  color:var(--rust);
}

.hero__tagline{
  max-width:520px; margin:1.4rem auto 0.4rem;
  font-family:'Playfair Display', serif;
  font-style:italic;
  font-size:1.15rem; color:var(--ink-dim);
  transition:color .6s ease;
}
.hero__tagline strong{ color:var(--rust); font-weight:700; font-style:normal; transition:color .6s ease; }

.hero__ctas{
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
  margin-top:2.2rem;
}
.hero__cta--mobile-only{ display:none; }
.hero__quicknav{ display:none; }
.hero__today-deal{ display:none; }

.hero__infobar{
  margin-top:3rem;
  display:flex; flex-wrap:wrap; gap:0 2.4rem; justify-content:center;
  font-family:'Work Sans', sans-serif; font-weight:600; letter-spacing:.02em; font-size:.92rem;
  color:#ecdcc4;
}
.hero__infobar span, .hero__infobar a{
  display:inline-flex; align-items:center; gap:.5em;
  color:inherit; text-decoration:none;
}
.hero__infobar a{ transition:color .2s ease; }
.hero__infobar a:hover{ color:var(--gold); }
.hero__infobar svg{ width:16px; height:16px; stroke:var(--gold); flex:none; }

/* ============================================================
   MARQUEE / TICKER
   ============================================================ */
.marquee{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--bg-alt);
  overflow:hidden;
  white-space:nowrap;
  padding:.9rem 0;
}
.marquee__track{
  display:inline-flex;
  animation:marquee 32s linear infinite;
}
.marquee__track span{
  font-family:'Work Sans', sans-serif;
  font-weight:600;
  letter-spacing:.03em;
  font-size:1rem;
  padding:0 2rem;
  color:var(--ink-dim);
  display:inline-flex; align-items:center; gap:.6rem;
}
.marquee__track span b{ color:var(--rust); }
.marquee__track span::after{ content:"✦"; color:var(--gold); margin-left:2rem; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============================================================
   ABOUT
   ============================================================ */
.about{ background:var(--bg); }
.about__grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:3.5rem; align-items:start;
  min-width:0;
}
.about__grid > *{ min-width:0; }
.about__copy p{ font-size:1.05rem; }
.about__stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem;
}
.stat{
  background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius);
  padding:1.5rem 1.5rem 1.6rem;
  box-shadow:var(--shadow);
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
  display:flex; flex-direction:column; text-decoration:none; color:inherit; cursor:default;
  overflow:hidden;
  min-height:168px;
}
.stat b, .stat span{
  overflow-wrap:normal; word-break:normal;
}
a.stat{ cursor:pointer; }
button.stat{
  width:100%; text-align:left; font:inherit; cursor:pointer;
  -webkit-appearance:none; appearance:none;
}
.stat:hover{ border-color:var(--rust); transform:translateY(-3px); box-shadow:0 12px 28px rgba(42,29,22,.12); }
.stat > .stat__icon{
  display:flex; width:36px; height:36px; align-items:center; justify-content:center;
  flex:none;
  border-radius:50%; background:rgba(165,58,38,.1); color:var(--rust);
  margin-bottom:.9rem;
}
.stat__icon svg{ width:18px; height:18px; }
.stat b{
  display:block; font-family:'Rye',serif; font-size:clamp(1.1rem, 4vw, 1.35rem);
  line-height:1.25; color:var(--rust); margin-bottom:.5rem;
}
.stat span{
  display:block; font-size:.85rem; line-height:1.45; color:var(--ink-dim); letter-spacing:.01em;
  margin-top:auto;
}

.about__visual{ position:relative; }
.about__collage{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:.9rem;
  max-width:420px; margin:0 auto;
}
.collage__img{
  width:100%; height:100%; object-fit:cover; border-radius:var(--radius);
  border:1px solid var(--line-strong); box-shadow:var(--shadow);
  filter:sepia(.2) saturate(1.1) contrast(1.05);
  transition:transform .35s ease;
}
.collage__img--main{
  grid-column:1 / 3; grid-row:1;
  aspect-ratio:1/1;
}
.collage__img--top{
  grid-column:1; grid-row:2;
  aspect-ratio:4/3;
}
.collage__img--bottom{
  grid-column:2; grid-row:2;
  aspect-ratio:4/3;
}
.about__collage:hover .collage__img--top{ transform:scale(1.04); }
.about__collage:hover .collage__img--bottom{ transform:scale(1.04); }
@media (max-width:640px){
  .about__collage{ max-width:100%; }
}

.photo-banner{
  position:relative; border-radius:var(--radius); overflow:hidden;
  aspect-ratio:16/7; border:1px solid var(--line-strong);
  box-shadow:var(--shadow);
}
.photo-banner img{ width:100%; height:100%; object-fit:cover; display:block; filter:sepia(.2) saturate(1.1); }
.photo-banner::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(42,29,22,.45) 0%, rgba(42,29,22,.05) 45%, rgba(42,29,22,.05) 55%, rgba(42,29,22,.45) 100%);
}

/* ============================================================
   BUFF / STATUS BADGES  (nod to game-style status-effect UI)
   ============================================================ */
.buffs{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
.buff{
  display:inline-flex; align-items:center; gap:.5em;
  padding:.5em .9em .5em .5em;
  background:var(--bg-card);
  border:1px solid var(--line-strong);
  border-radius:999px;
  font-family:'Work Sans',sans-serif; font-weight:600; letter-spacing:.02em; font-size:.88rem;
  color:var(--ink);
  box-shadow:0 4px 14px rgba(42,25,15,.08);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.buff:hover{ transform:translateY(-2px); }
.buff__icon{
  width:28px; height:28px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; flex:none;
}
.buff__icon svg{ width:15px; height:15px; }
.buff--amber .buff__icon{ background:radial-gradient(circle, #e8b876, var(--gold)); }
.buff--amber{ border-color:rgba(182,134,47,.4); }
.buff--red .buff__icon{ background:radial-gradient(circle, var(--rust-soft), var(--rust)); }
.buff--red{ border-color:rgba(165,58,38,.35); }
.buff--green .buff__icon{ background:radial-gradient(circle, #9db692, var(--green)); }
.buff--green{ border-color:rgba(91,122,82,.35); }

/* ============================================================
   SPECIALS (day cards)
   ============================================================ */
.specials{ background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.specials__grid{
  display:grid; grid-template-columns:repeat(7,1fr); gap:.8rem; margin-bottom:2.5rem;
}
.day-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.1rem .9rem;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.day-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--rust);
}
.day-card:hover{ transform:translateY(-6px); border-color:var(--rust); }
.day-card h4{ font-size:1.1rem; color:var(--rust); margin-bottom:.2rem; }
.day-card .tag{ font-size:.72rem; letter-spacing:.15em; color:var(--gold); text-transform:uppercase; font-weight:600; display:block; margin-bottom:.8rem; }
.day-card ul li{ font-size:.82rem; color:var(--ink-dim); padding:.3rem 0; border-top:1px dashed var(--line); }
.day-card ul li:first-child{ border-top:none; }
.day-card ul li b{ color:var(--ink); }

/* ============================================================
   MENU (tabs)
   ============================================================ */
.menu{ background:var(--bg); }
.tabs{ display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:2.6rem; }
.tab-btn{
  font-family:'Rye',serif; letter-spacing:.02em; font-size:.95rem;
  padding:.7em 1.5em; border-radius:999px; border:1px solid var(--line-strong);
  background:var(--bg-card); color:var(--ink-dim); cursor:pointer;
  transition:all .25s ease;
}
.tab-btn.active, .tab-btn:hover{
  color:#fff8ec; background:var(--rust); border-color:var(--rust);
}
.tab-panel{ display:none; }
.tab-panel.active{ display:block; animation:fadein .5s ease; }
@keyframes fadein{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }

.menu-cat{ margin-bottom:1.3rem; }
.menu-cat > h3{
  font-size:1.4rem; color:var(--rust); border-bottom:2px solid var(--line-strong);
  padding-bottom:.5rem; margin-bottom:1.2rem;
  display:flex; align-items:center; gap:.6rem;
}

.menu-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:.4rem 2.5rem; }
.menu-item{
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:.85rem 0; border-bottom:1px dotted var(--line-strong);
}
.menu-item__name{ font-weight:600; color:var(--ink); }
.menu-item__desc{ display:block; font-size:.85rem; color:var(--ink-dim); font-weight:400; margin-top:.15rem; }
.menu-item__price{
  font-family:'Rye',serif; color:var(--rust); font-size:1.05rem; white-space:nowrap;
}

.cocktail-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.cocktail-card{
  background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius);
  padding:1.1rem 1.3rem; box-shadow:var(--shadow);
  transition:border-color .25s ease, transform .25s ease;
}
.cocktail-card:hover{ border-color:var(--rust); transform:translateY(-3px); }
.cocktail-card h4{ font-size:1.2rem; color:var(--rust); margin-bottom:.3rem; }
.cocktail-card p{ font-size:.88rem; margin:0; }

.menu-note{
  margin-top:1rem; font-size:.85rem; color:var(--ink-dim); font-style:italic;
}
.late-night-link{ color:var(--rust); font-weight:600; text-decoration:underline; cursor:pointer; }

.download-row{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:2.5rem; }
.download-chip{
  display:inline-flex; align-items:center; gap:.6em;
  border:1px solid var(--line-strong); border-radius:999px; padding:.7em 1.3em;
  font-family:'Work Sans',sans-serif; font-weight:600; letter-spacing:.02em; font-size:.9rem;
  color:var(--ink-dim); transition:all .25s ease;
}
.download-chip:hover{ color:var(--rust); border-color:var(--rust); background:rgba(165,58,38,.06); }

/* ============================================================
   BRUNCH
   ============================================================ */
.brunch{ background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.brunch__grid{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
.brunch__addons{
  margin-top:1.5rem; padding-top:1.2rem; border-top:1px solid var(--line-strong);
  display:grid; grid-template-columns:repeat(3,1fr); gap:.4rem 1rem; font-size:.85rem; color:var(--ink-dim);
}
.brunch__addons span b{ color:var(--rust); }

/* ============================================================
   EVENTS
   ============================================================ */
.events__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(210px,1fr)); gap:1.2rem; }
.event-card{
  background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius);
  padding:1.8rem 1.4rem; text-align:center; box-shadow:var(--shadow);
  transition:transform .3s ease, border-color .3s ease;
}
.event-card:hover{ transform:translateY(-6px); border-color:var(--rust); }
.event-card__icon{
  width:56px; height:56px; margin:0 auto 1rem; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:1.6rem;
  background:radial-gradient(circle, rgba(165,58,38,.12), transparent 70%);
  border:1px solid var(--line-strong);
}
.event-card__icon svg{ width:26px; height:26px; }
.event-card h4{ font-size:1.25rem; color:var(--ink); margin-bottom:.3rem; }
.event-card .when{ font-family:'Work Sans',sans-serif; font-weight:700; letter-spacing:.04em; color:var(--rust); font-size:.85rem; display:block; margin-bottom:.6rem; text-transform:uppercase; }
.event-card p{ font-size:.85rem; margin:0; }

/* ============================================================
   GAMES
   ============================================================ */
.games{ background:var(--bg); }

.specials__stack{ display:flex; flex-direction:column; gap:2.5rem; }
.specials__stack .tourney-banner,
.specials__stack .everyday-box{ margin-top:0; }

#tournamentBanner{ scroll-margin-top:140px; }
.tourney-banner{
  display:grid; grid-template-columns:280px 1fr; gap:2rem; align-items:center;
  margin-top:2.5rem; padding:1.8rem; background:var(--bg-card);
  border:1px solid var(--line-strong); border-radius:var(--radius); box-shadow:var(--shadow);
}
.tourney-banner img{
  width:100%; border-radius:calc(var(--radius) - 6px); box-shadow:var(--shadow); display:block;
}
.tourney-banner__copy h3{ font-family:'Rye',serif; font-size:1.7rem; color:var(--rust); margin:.3rem 0 .7rem; }
.tourney-banner__copy p{ margin-bottom:1rem; color:var(--ink-dim); }
.tourney-banner__copy ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.tourney-banner__copy ul li{ font-size:.92rem; color:var(--ink); padding-left:1.2rem; position:relative; }
.tourney-banner__copy ul li::before{ content:"—"; position:absolute; left:0; color:var(--rust); }
.tourney-banner__copy ul li b{ color:var(--rust); }
@media (max-width:760px){
  .tourney-banner{ grid-template-columns:1fr; }
  .tourney-banner img{ max-width:280px; margin:0 auto; }
}

.weekly-flyers{
  display:grid; grid-template-columns:1fr 1fr; gap:1.2rem;
  margin-top:1.2rem;
}
.weekly-flyer{
  display:grid; grid-template-columns:110px 1fr; gap:1rem; align-items:center;
  padding:1rem; background:var(--bg-card);
  border:1px solid var(--line-strong); border-radius:var(--radius); box-shadow:var(--shadow);
}
.weekly-flyer img{
  width:100%; aspect-ratio:1/1; object-fit:cover;
  border-radius:calc(var(--radius) - 8px); box-shadow:var(--shadow); display:block;
}
.weekly-flyer__copy .tag{
  font-size:.7rem; letter-spacing:.1em; color:var(--gold); text-transform:uppercase; font-weight:600;
}
.weekly-flyer__copy h4{ font-family:'Rye',serif; font-size:1.15rem; color:var(--rust); margin:.15rem 0 .3rem; }
.weekly-flyer__copy p{ font-size:.82rem; color:var(--ink-dim); line-height:1.4; margin:0; }
@media (max-width:760px){
  .weekly-flyers{ grid-template-columns:1fr; }
}
.games__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.game-card{
  background:var(--bg-card);
  border:1px solid var(--line); border-radius:var(--radius);
  padding:2rem 1.6rem; position:relative; overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform .3s ease, border-color .3s ease;
}
.game-card:has(.game-card__photo){ padding:0 0 2rem; }
.game-card__photo{ width:100%; aspect-ratio:16/10; overflow:hidden; margin-bottom:1.1rem; }
.game-card__photo img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .4s ease;
}
.game-card:hover .game-card__photo img{ transform:scale(1.06); }
.game-card:has(.game-card__photo) svg,
.game-card:has(.game-card__photo) h4,
.game-card:has(.game-card__photo) .game-card__tagline,
.game-card:has(.game-card__photo) ul{ padding-left:1.6rem; padding-right:1.6rem; }
.game-card:hover{ transform:translateY(-6px); border-color:var(--rust); }
.game-card svg{ width:44px; height:44px; stroke:var(--rust); margin-bottom:1rem; }
.game-card h4{ font-size:1.3rem; margin-bottom:.4rem; }
.game-card__tagline{ font-size:.9rem; color:var(--ink-dim); font-style:italic; margin-bottom:.6rem; }
.game-card ul{ margin-top:.8rem; }
.game-card ul li{ font-size:.9rem; color:var(--ink-dim); padding:.3rem 0; display:flex; gap:.5em; }
.game-card ul li::before{ content:"—"; color:var(--rust); }

/* ============================================================
   GALLERY
   ============================================================ */
.gallery{ background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.gallery__grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:1rem;
  max-width:1100px; margin:0 auto;
}
.gallery__grid img{
  width:100%; aspect-ratio:1/1; object-fit:cover; display:block;
  border-radius:var(--radius); border:1px solid var(--line-strong); box-shadow:var(--shadow);
  cursor:pointer; transition:transform .25s ease, opacity .25s ease;
}
.gallery__grid img:hover{ transform:scale(1.03); opacity:.92; }

.gallery__lightbox{
  display:none; position:fixed; inset:0; z-index:200;
  background:rgba(12,8,6,.92); align-items:center; justify-content:center;
}
.gallery__lightbox.open{ display:flex; }
.gallery__lightbox-frame{
  position:relative; display:inline-flex; max-width:88vw; max-height:82vh;
}
.gallery__lightbox-frame img{
  display:block; max-width:88vw; max-height:82vh; object-fit:contain; border-radius:8px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.gallery__lightbox-close{
  position:absolute; top:-16px; right:-16px; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(255,255,255,.3); background:rgba(20,12,8,.95); color:#fff8ec;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s ease;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
}
.gallery__lightbox-close:hover{ background:var(--rust); border-color:var(--rust); }
.gallery__lightbox-close svg{ width:18px; height:18px; }
.gallery__lightbox-arrow{
  position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%;
  border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.08); color:#fff8ec;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s ease;
}
.gallery__lightbox-arrow:hover{ background:rgba(255,255,255,.18); }
.gallery__lightbox-arrow svg{ width:22px; height:22px; }
.gallery__lightbox-arrow--prev{ left:1.2rem; }
.gallery__lightbox-arrow--next{ right:1.2rem; }
.gallery__lightbox-counter{
  position:absolute; bottom:1.4rem; left:50%; transform:translateX(-50%);
  font-family:'Work Sans',sans-serif; font-size:.85rem; font-weight:600; letter-spacing:.05em;
  color:#fff8ec; background:rgba(255,255,255,.1); padding:.35em 1em; border-radius:999px;
}
@media (max-width:860px){
  .gallery__grid{ grid-template-columns:repeat(3, 1fr); gap:.7rem; }
}
@media (max-width:560px){
  .gallery__grid{ grid-template-columns:repeat(2, 1fr); gap:.6rem; }
  .gallery__lightbox-arrow{ width:40px; height:40px; }
}

/* ============================================================
   VISIT
   ============================================================ */
.visit{ background:var(--bg-alt); border-top:1px solid var(--line); }
.visit__grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.visit__map{
  margin-top:3rem; width:100%; height:400px; border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line-strong);
}
.visit__map{
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--line-strong);
  filter:sepia(.2) contrast(1.02);
  box-shadow:var(--shadow);
  aspect-ratio:4/3;
}
.visit__map iframe{ width:100%; height:100%; border:0; display:block; }

.info-list{ display:flex; flex-direction:column; gap:1.8rem; margin-bottom:2.2rem; }
.visit__photo{
  width:100%; margin-top:1.5rem; border-radius:var(--radius);
  box-shadow:var(--shadow); border:1px solid var(--line-strong);
  object-fit:cover; max-height:280px;
}
.info-row{ display:flex; gap:1.2rem; align-items:flex-start; }
.info-row svg{
  width:24px; height:24px; stroke:var(--rust); flex:none; stroke-width:2.2;
}
.info-row__icon{
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%; flex:none;
  background:rgba(165,58,38,.12);
}
.info-row h4{ font-size:1.3rem; color:var(--ink); margin-bottom:.35rem; font-family:'Work Sans',sans-serif; font-weight:800; letter-spacing:0; }
.info-row p{ margin:0; font-size:1.35rem; line-height:1.55; color:var(--ink); font-weight:600; }
.info-row a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.info-row a:hover{ color:var(--rust); }

.hours-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.7rem 1.9rem;
  margin-bottom:1.5rem;
}
.hours-card h4{ font-family:'Work Sans',sans-serif; font-weight:800; font-size:1.3rem; margin-bottom:.7rem; color:var(--ink); }
.hours-table{ width:100%; border-collapse:collapse; }
.hours-table td{ padding:1rem 0; border-bottom:1px dotted var(--line-strong); font-size:1.3rem; }
.hours-table tr:last-child td{ border-bottom:none; }
.hours-table td:first-child{ color:var(--ink); font-weight:700; }
.hours-table td:last-child{ text-align:right; font-family:'Rye',serif; letter-spacing:.02em; color:var(--rust); font-size:1.45rem; }

.social-row{ display:flex; gap:.8rem; margin-top:1.5rem; }
.social-btn{
  width:44px; height:44px; border-radius:50%; border:1px solid var(--line-strong);
  background:var(--bg-card);
  display:flex; align-items:center; justify-content:center;
  transition:all .25s ease;
}
.social-btn svg{ width:18px; height:18px; stroke:var(--ink); }
.social-btn:hover{ border-color:var(--rust); background:rgba(165,58,38,.06); transform:translateY(-3px); }

.ref-row{ display:flex; flex-wrap:wrap; gap:.7rem; }
.ref-chip{
  display:inline-flex; align-items:center; gap:.4em;
  border:1px solid var(--line-strong); border-radius:999px;
  background:var(--bg-card);
  padding:.7em 1em; font-size:.85rem; color:var(--ink-dim);
  transition:all .25s ease;
}
.ref-chip b{ color:var(--rust); }
.ref-chip:hover{ color:var(--ink); border-color:var(--rust); background:rgba(165,58,38,.06); }

/* ---------- FOLLOW US / FACEBOOK ---------- */
.fb-feed{ padding-top:clamp(2.5rem,5vw,4rem); padding-bottom:clamp(2.5rem,5vw,4rem); }
.fb-feed__card{
  display:grid; grid-template-columns:1.3fr 1fr;
  background:linear-gradient(155deg, var(--rust), var(--rust-deep));
  border-radius:calc(var(--radius) + 6px);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.fb-feed__main{ padding:clamp(2.2rem,4vw,3.2rem); color:#fff8ec; }
.fb-feed__main .eyebrow{ color:#f5d9a8; }
.fb-feed__main .eyebrow::before{ background:#f5d9a8; }
.fb-feed__main h2{ color:#fff8ec; }
.fb-feed__main p{ color:#f3ddc9; max-width:440px; }
.fb-feed__logo{
  width:64px; height:64px; border-radius:50%; margin-bottom:1.2rem;
  box-sizing:border-box; padding:9px; object-fit:contain; background:#fff8ec;
  box-shadow:0 0 0 4px rgba(255,255,255,.25);
}
.fb-feed__buttons{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.6rem; }
.fb-feed__buttons .btn-primary{ background:#fff8ec; color:var(--rust-deep); box-shadow:0 10px 24px rgba(0,0,0,.25); }
.fb-feed__buttons .btn-primary:hover{ background:#fff; }
.fb-feed__buttons .btn-ghost{ border-color:rgba(255,248,236,.5); color:#fff8ec; }
.fb-feed__buttons .btn-ghost:hover{ border-color:#fff8ec; background:rgba(255,255,255,.12); }
.fb-feed .ref-chip{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3); color:#fff8ec; }
.fb-feed .ref-chip b{ color:#f5d9a8; }
.fb-feed .ref-chip:hover{ background:rgba(255,255,255,.2); border-color:#fff8ec; color:#fff8ec; }

.fb-feed__schedule{
  background:rgba(0,0,0,.16);
  padding:clamp(1.8rem,3vw,2.6rem);
  display:flex; flex-direction:column;
}
.fb-feed__schedule-label{
  font-family:'Work Sans',sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  font-size:.75rem; color:#f5d9a8; margin-bottom:1rem;
}
.fb-feed__schedule ul{ display:flex; flex-direction:column; gap:.7rem; }
.fb-feed__schedule li{
  display:flex; gap:.9rem; align-items:baseline;
  padding-bottom:.7rem; border-bottom:1px solid rgba(255,255,255,.14);
  font-size:.88rem; color:#fceee0;
}
.fb-feed__schedule li:last-child{ border-bottom:none; padding-bottom:0; }
.fb-feed__schedule li b{
  font-family:'Rye',serif; font-size:.95rem; color:#fff8ec; min-width:52px; flex:none;
}

.fb-feed__live{
  max-width:520px; margin:1.6rem auto 0;
  border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--line-strong);
  background:var(--bg-card);
  box-shadow:var(--shadow);
}

/* ============================================================
   FOOTER
   ============================================================ */
footer{ background:var(--rust-deep); border-top:1px solid var(--line); padding:2.6rem 0; }
.footer__grid{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.2rem; }
.footer__logo{ display:inline-flex; align-items:center; gap:.6rem; font-family:'Rye',serif; color:#fff8ec; font-size:1.1rem; }
.footer__logo img{
  width:32px; height:32px; border-radius:50%;
  box-sizing:border-box; padding:4px; object-fit:contain; background:#fff8ec;
}
.footer__note{ font-size:.8rem; color:#e9cdbd; }
.footer__links{ display:flex; gap:1.5rem; font-size:.85rem; }
.footer__links a{ color:#f0dfc4; }
.footer__links a:hover{ color:#fff; }
.footer__link-btn{
  background:none; border:none; padding:0; margin:0; font:inherit; cursor:pointer;
  color:#f0dfc4;
}
.footer__link-btn:hover{ color:#fff; }
.footer__social{ display:flex; gap:.7rem; }
.footer__social a{
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(255,248,236,.3);
  display:flex; align-items:center; justify-content:center;
  transition:all .25s ease;
}
.footer__social svg{ width:15px; height:15px; stroke:#fff8ec; }
.footer__social a:hover{ border-color:#fff8ec; background:rgba(255,255,255,.12); transform:translateY(-2px); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 980px){
  .about__grid, .brunch__grid, .visit__grid, .fb-feed__card{ grid-template-columns:1fr; }
  .about__stats{ grid-template-columns:1fr; }
  .fb-feed__schedule{ background:rgba(0,0,0,.22); }
  .specials__grid{ grid-template-columns:repeat(2,1fr); }
  .events__grid{ grid-template-columns:repeat(2,1fr); }
  .games__grid{ grid-template-columns:1fr; }
  .menu-grid, .cocktail-grid{ grid-template-columns:1fr; }
  .nav__links, .nav__directions, .nav__join-btn{ display:none; }
  .nav__burger{ display:flex; }
}
@media (max-width: 560px){
  .specials__grid{ grid-template-columns:1fr; }
  .events__grid{ grid-template-columns:1fr; }
  .hero__infobar{ flex-direction:column; gap:.8rem; }
}


/* ============================================================
   TODAY'S DEALS TOAST
   ============================================================ */
.deals-popup{
  display:none; position:fixed; z-index:250;
  bottom:1.4rem; right:1.4rem; left:auto; top:auto;
  max-width:340px; width:calc(100% - 2.8rem);
}
.deals-popup.show{ display:block; }
.deals-popup__card{
  position:relative; width:100%; background:var(--bg-card);
  border:1px solid var(--line-strong); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:1.6rem 1.5rem 1.4rem; text-align:left;
  animation:dealsSlideIn .4s ease;
}
@keyframes dealsSlideIn{
  from{ opacity:0; transform:translateY(16px); }
  to{ opacity:1; transform:translateY(0); }
}
.deals-popup__close{
  position:absolute; top:.7rem; right:.7rem; width:30px; height:30px; border-radius:50%;
  border:1px solid var(--line-strong); background:var(--bg-alt); color:var(--ink-dim);
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s ease;
}
.deals-popup__close:hover{ border-color:var(--rust); color:var(--rust); }
.deals-popup__close svg{ width:14px; height:14px; }
.deals-popup__eyebrow{
  font-family:'Work Sans',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--rust);
}
.deals-popup__title{
  font-family:'Rye',serif; font-size:1.25rem; margin:.35rem 0 .8rem; color:var(--ink);
}
.deals-popup__list{
  list-style:none; margin:0 0 1rem; padding:0; text-align:left;
  display:flex; flex-direction:column; gap:.45rem;
}
.deals-popup__list li{
  font-family:'Work Sans',sans-serif; font-size:.88rem; color:var(--ink);
  padding-left:1.2rem; position:relative;
}
.deals-popup__list li::before{
  content:'●'; position:absolute; left:0; top:.05em; color:var(--rust); font-size:.55rem;
}
.deals-popup__list b{ color:var(--rust); }
.deals-popup__link{
  display:inline-block; font-family:'Work Sans',sans-serif; font-weight:600; font-size:.85rem;
  color:var(--rust); text-decoration:underline; text-underline-offset:3px; cursor:pointer;
}
.deals-popup__tourney-btn{
  display:block; text-align:center; margin-top:1rem;
  padding:.6em 1em; font-size:.85rem;
}

.deals-fab{
  display:none; position:fixed; bottom:1.4rem; right:1.4rem; z-index:150;
  align-items:center; gap:.5rem; padding:.7em 1.1em; border-radius:999px;
  background:var(--rust); color:#fff8ec; border:none; box-shadow:var(--shadow);
  font-family:'Work Sans',sans-serif; font-weight:600; font-size:.85rem; cursor:pointer;
  transition:transform .2s ease;
}
.deals-fab.show{ display:flex; }
.deals-fab:hover{ transform:translateY(-2px); }
.deals-fab svg{ width:18px; height:18px; }

.day-card--today{
  border-color:var(--rust); box-shadow:0 0 0 2px var(--rust), var(--shadow);
  position:relative;
}
.day-card--today::after{
  content:'Today'; position:absolute; top:-.7em; right:1rem;
  background:var(--rust); color:#fff8ec; font-family:'Work Sans',sans-serif;
  font-size:.68rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  padding:.3em .7em; border-radius:999px;
}

@media (max-width:560px){
  .deals-fab span{ display:none; }
  .deals-fab{ padding:.8em; }
  .deals-popup{ right:.9rem; left:.9rem; max-width:none; width:auto; }
}

/* ============================================================
   CALENDAR MODAL
   ============================================================ */
.calendar-modal{
  display:none; position:fixed; inset:0; z-index:550;
  background:rgba(12,8,6,.75); align-items:center; justify-content:center; padding:1.2rem;
}
.calendar-modal.open{ display:flex; }
.calendar-modal__card{
  position:relative; width:100%; max-width:420px; background:var(--bg-card);
  border:1px solid var(--line-strong); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:1.8rem;
}
.calendar-modal__close{
  position:absolute; top:1rem; right:1rem; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line-strong); background:var(--bg-alt); color:var(--ink-dim);
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s ease;
}
.calendar-modal__close:hover{ border-color:var(--rust); color:var(--rust); }
.calendar-modal__close svg{ width:16px; height:16px; }
.calendar-modal__card h3{
  font-family:'Rye',serif; font-size:1.4rem; color:var(--rust); text-align:center; margin-bottom:1.2rem;
}
.calendar-grid{
  display:grid; grid-template-columns:repeat(7,1fr); gap:.3rem; margin-bottom:1.3rem;
}
.calendar-grid__dow{
  text-align:center; font-family:'Work Sans',sans-serif; font-weight:700; font-size:.7rem;
  letter-spacing:.05em; text-transform:uppercase; color:var(--ink-dim); padding-bottom:.4rem;
}
.calendar-grid__day{
  aspect-ratio:1/1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  border-radius:8px; font-family:'Work Sans',sans-serif; font-size:.85rem; color:var(--ink);
  position:relative; gap:2px;
}
.calendar-grid__day--empty{ visibility:hidden; }
.calendar-grid__day--today{ background:rgba(165,58,38,.12); font-weight:700; color:var(--rust); }
.calendar-grid__day--has-event{ cursor:pointer; transition:background .15s ease; }
.calendar-grid__day--has-event:hover{ background:rgba(165,58,38,.08); }
.calendar-grid__day--selected{ background:var(--rust); color:#fff8ec; }
.calendar-grid__day--selected b{ color:#fff8ec; }
.calendar-grid__dots{ display:flex; gap:2px; position:absolute; bottom:4px; }
.calendar-dot{
  width:6px; height:6px; border-radius:50%; display:inline-block;
}
.calendar-dot--sun{ background:#d4a017; }
.calendar-dot--mon{ background:#8b5cf6; }
.calendar-dot--wed{ background:#3b82f6; }
.calendar-dot--fri{ background:#22c55e; }
.calendar-dot--event{ background:var(--rust); }
.calendar-legend{
  display:flex; flex-direction:column; gap:.4rem;
  font-size:.78rem; color:var(--ink-dim); border-top:1px solid var(--line); padding-top:1rem;
}
.calendar-legend span{ display:flex; align-items:center; gap:.5rem; }
.calendar-legend .calendar-dot{ width:8px; height:8px; flex:none; }
.calendar-detail{
  display:none; background:rgba(165,58,38,.06); border:1px solid var(--line);
  border-radius:10px; padding:1rem 1.1rem; margin-bottom:1.1rem;
}
.calendar-detail.show{ display:block; }
.calendar-detail__date{
  font-family:'Work Sans',sans-serif; font-weight:700; font-size:.72rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--rust); margin-bottom:.3rem;
}
.calendar-detail__title{
  font-family:'Rye',serif; font-size:1.15rem; color:var(--ink); margin-bottom:.3rem;
}
.calendar-detail__text{ font-size:.85rem; color:var(--ink-dim); line-height:1.4; }
@media (max-width:480px){
  .calendar-modal__card{ padding:1.3rem; }
  .calendar-grid__day{ font-size:.75rem; }
}

/* ============================================================
   HIRING FLYER LIGHTBOX
   ============================================================ */
.flyer-lightbox{
  display:none; position:fixed; inset:0; z-index:550;
  background:rgba(12,8,6,.92); align-items:center; justify-content:center; padding:1.2rem;
}
.flyer-lightbox.open{ display:flex; }
.flyer-lightbox img{
  max-width:90vw; max-height:88vh; object-fit:contain; border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.flyer-lightbox__close{
  position:absolute; top:1.4rem; right:1.4rem; width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.08); color:#fff8ec;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s ease;
}
.flyer-lightbox__close:hover{ background:rgba(255,255,255,.18); }
.flyer-lightbox__close svg{ width:20px; height:20px; }

/* ============================================================
   EVERYDAY DRINK SPECIALS BOX
   ============================================================ */
.everyday-box{
  background:var(--bg-card); border:1px solid var(--line-strong);
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:1.8rem;
}
.everyday-box h3{
  font-family:'Rye',serif; font-size:1.7rem; color:var(--rust); margin:.3rem 0 1.2rem;
}
.everyday-box__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;
}
.everyday-box__item{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  background:rgba(165,58,38,.06); border:1px solid var(--line); border-radius:10px; padding:.9rem .5rem;
}
.everyday-box__item b{
  font-family:'Rye',serif; font-size:1.5rem; color:var(--rust); margin-bottom:.2rem;
}
.everyday-box__item span{
  font-family:'Work Sans',sans-serif; font-size:.82rem; color:var(--ink-dim);
}
@media (max-width:640px){
  .everyday-box__grid{ grid-template-columns:repeat(2,1fr); }
}

/* ============================================================
   MOBILE HERO — condensed, easy to reach navigation fast
   ============================================================ */
@media (max-width:480px){
  .hero{ padding-top:4.5rem; padding-left:1.2rem; padding-right:1.2rem; }
  .hero__logo-badge{ width:76px; margin-bottom:.8rem; }
  .hero__kicker{ font-size:.72rem; letter-spacing:.1em; margin-bottom:.4rem; }
  .hero__wordmark{ font-size:clamp(1.8rem, 10vw, 2.3rem); }
  .hero__tagline{ font-size:.9rem; line-height:1.45; margin-top:.8rem; max-width:320px; }
  .hero__ctas{ margin-top:1.2rem; gap:.6rem; }
  .hero__ctas .btn-primary, .hero__ctas .btn-ghost{ padding:.6em 1.2em; font-size:.88rem; }
  .hero__infobar{ margin-top:1.4rem; gap:.5rem; font-size:.78rem; }
  .hero__infobar svg{ width:14px; height:14px; }
  .nav__logo span{ font-size:1.05rem; line-height:1.15; }
  .nav__logo-sub{ display:none; }
  .hero--compact{ min-height:190px; padding-top:5rem; padding-bottom:1rem; }
}

/* ============================================================
   GRID OVERFLOW FIX
   CSS Grid tracks default to a minimum width based on their
   content's natural (unwrapped) size, which can force a track —
   and everything after it — wider than the actual screen on
   narrow phones. Setting min-width:0 on grid children lets text
   and content wrap/shrink normally instead of forcing overflow.
   ============================================================ */
.nav > *,
.about__grid > *, .about__stats > *,
.specials__grid > *, .specials__stack > *,
.menu-grid > *, .cocktail-grid > *,
.brunch__grid > *, .brunch__grid *,
.events__grid > *,
.tourney-banner > *, .tourney-banner__copy > *,
.everyday-box__grid > *,
.weekly-flyer > *,
.games__grid > *,
.calendar-grid > *,
.visit__grid > *, .visit__grid *,
.fb-feed__card > *{
  min-width:0;
}
