/* Extracted from menu.html inline <style> for async loading (non-blocking).
   Above-the-fold critical CSS (caffè hero + menu tabs) stays inline in
   menu.html to avoid layout shift; this file holds only below-the-fold
   tabs: menu del giorno, cena, daily/weekly specials, packages, drinks. */

/* ── MENU DEL GIORNO ─────────────────────────────────────── */
    .dg-intro { text-align:center; padding-bottom:2rem; border-bottom:1px solid var(--c-parchment); margin-bottom:2.5rem; }
    .dg-intro h2 { margin-bottom:.5rem; font-family: var(--font-display); font-weight: 600; font-size: 1.6rem; color: var(--c-espresso); }
    .dg-intro p  { color:var(--c-text-soft); margin-inline:auto; }
    .dg-day-filter { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-bottom:2.5rem; }
    .dg-pill {
      padding:.45rem 1.2rem; font-size:.78rem; font-weight:600; letter-spacing:.08em;
      text-transform:uppercase; font-family:var(--font-body);
      border:1.5px solid var(--c-parchment); border-radius:50px;
      color:var(--c-text-mid); background:none; cursor:pointer; transition:var(--trans);
    }
    .dg-pill:hover  { border-color:var(--c-terra); color:var(--c-terra); }
    .dg-pill.active { background:var(--c-terra); border-color:var(--c-terra); color:#fff; }
    .dg-dietary { display:inline-flex; gap:.3rem; flex-wrap:wrap; margin-top:.4rem; }
    .dg-tag {
      font-size:.63rem; font-weight:700; letter-spacing:.06em;
      text-transform:uppercase; padding:.15rem .5rem; border-radius:50px;
    }
    .dg-tag--gf  { background:rgba(77,107,58,.13); color:#375826; }
    .dg-tag--v   { background:rgba(56,94,40,.18);  color:#2b4a1a; }
    .dg-tag--df  { background:rgba(30,90,160,.1);  color:#1a5a9e; }
    .dg-tag--def { background:var(--c-parchment);  color:var(--c-text-mid); }
    .dg-empty { text-align:center; padding:4rem 1rem; color:var(--c-text-soft); font-size:1rem; font-style:italic; }

    /* Sunday → private functions promo (rendered when there are no Sunday specials) */
    .dg-sunday-private {
      max-width:640px; margin:2.5rem auto; padding:3rem 2rem; text-align:center;
      background:linear-gradient(180deg, rgba(44,26,14,.97) 0%, rgba(44,26,14,1) 100%);
      color:var(--c-cream); border-radius:14px; box-shadow:0 18px 48px -24px rgba(0,0,0,.45);
    }
    .dg-sunday-private__title {
      font-family:var(--font-display); font-size:clamp(1.05rem,2vw,1.2rem); font-weight:600;
      color:var(--c-gold); letter-spacing:.04em; text-transform:uppercase;
      margin:0 0 2.25rem; padding-bottom:1.25rem;
      border-bottom:1px solid rgba(201,146,42,.25);
    }
    .dg-sunday-private__eyebrow {
      font-size:.72rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
      color:rgba(250,243,227,.55); display:block; margin-bottom:1rem;
    }
    .dg-sunday-private__heading {
      font-family:var(--font-display); font-weight:500;
      font-size:clamp(1.9rem,4vw,2.7rem); line-height:1.15;
      color:var(--c-cream); margin:0 0 1.1rem;
    }
    .dg-sunday-private__heading em { font-style:italic; color:var(--c-gold); }
    .dg-sunday-private__lede {
      max-width:46ch; margin:0 auto 2rem; font-size:1rem; line-height:1.65;
      color:rgba(250,243,227,.78);
    }
    .dg-sunday-private__cta { display:inline-block; padding:.95rem 2rem; }
    @media (max-width:480px) {
      .dg-sunday-private { padding:2.5rem 1.4rem; margin:1.5rem auto; }
    }

    /* ── CENA — special visual elements ─────────────────────── */
    .menu-category-note {
      font-style:italic; font-size:.82rem; color:var(--c-gold);
      padding:.4rem 0 .75rem; display:flex; align-items:center; gap:.4rem;
    }
    .chef-special-banner {
      display:block; width:100%; margin-top:1.1rem;
      padding:.6rem 1rem; text-align:center;
      font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
      font-family:var(--font-body);
      color:var(--c-terra); background:rgba(181,96,58,.06);
      border:1px dashed rgba(181,96,58,.3); border-radius:var(--radius);
      cursor:pointer; transition:var(--trans);
    }
    .chef-special-banner:hover { background:rgba(181,96,58,.12); border-color:var(--c-terra); }
    .kids-promo-banner {
      padding:.75rem 1rem; margin-bottom:.85rem;
      background:rgba(201,146,42,.07); border-left:3px solid var(--c-gold);
      border-radius:0 var(--radius) var(--radius) 0;
      font-size:.82rem; color:var(--c-text-mid); line-height:1.5;
    }
    .cured-meats-group { margin:.25rem 0 .5rem; }
    .cured-meats-group__title {
      font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
      color:var(--c-text-soft); padding:.5rem 0 .3rem; margin-bottom:.1rem;
    }
    .menu-item--sub { padding-left:1rem; }
    .menu-item--sub .menu-item__name { font-size:.95rem; color:var(--c-text-mid); }
    .menu-item--sub .menu-item__price { font-size:.9rem; }
    .menu-item__dietary {
      font-size:.58rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
      padding:.1rem .32rem; border-radius:50px; margin-left:.3rem; vertical-align:middle;
    }
    .menu-item__dietary--v  { background:rgba(56,94,40,.14); color:#2b5a1a; border:1px solid rgba(56,94,40,.22); }
    .menu-item__dietary--vg { background:rgba(45,80,30,.2);  color:#1d3e10; border:1px solid rgba(45,80,30,.32); }

    /* ── DAILY SPECIALS — specials menu cards ────────────────── */
    .dg-section { margin-bottom:2.5rem; }
    .dg-section__header {
      display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap;
      margin-bottom:1.5rem; padding-bottom:.65rem;
      border-bottom:1px solid var(--c-parchment);
    }
    .dg-section__title {
      font-size:.72rem; font-weight:700; letter-spacing:.16em;
      text-transform:uppercase; color:var(--c-espresso);
    }
    .dg-section__subtitle { font-size:.82rem; color:var(--c-text-soft); font-style:italic; }
    .dg-specials-grid {
      display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1rem;
    }
    .dg-special-card {
      padding:1.25rem 1.4rem; background:var(--c-cream);
      border:1px solid var(--c-parchment); border-radius:var(--radius);
    }
    .dg-special-card__badge {
      font-size:.63rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
      color:var(--c-gold); margin-bottom:.55rem; display:block;
    }
    .dg-special-card__name {
      font-family:var(--font-display); font-size:1.2rem; font-weight:600;
      color:var(--c-espresso); margin-bottom:.3rem; line-height:1.2;
    }
    .dg-special-card__desc { font-size:.82rem; color:var(--c-text-soft); line-height:1.45; margin-bottom:.65rem; }
    .dg-special-card__price {
      font-family:var(--font-display); font-size:1.35rem; font-weight:600; color:var(--c-terra);
    }

    /* ── DAILY SPECIALS — bottomless lunch hero ──────────────── */
    .dg-bottomless-hero {
      text-align:center; padding:3rem 2rem;
      background:var(--c-espresso); border-radius:var(--radius); margin-bottom:2.5rem;
    }
    .dg-bottomless-hero__eyebrow {
      font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
      color:rgba(201,146,42,.75); margin-bottom:.9rem;
    }
    .dg-bottomless-hero__title {
      font-family:var(--font-display); font-size:clamp(2rem,5vw,3.25rem);
      font-weight:600; color:var(--c-gold-light); line-height:1.1; margin-bottom:.9rem;
    }
    .dg-bottomless-hero__price {
      font-family:var(--font-display); font-size:2rem; font-weight:700;
      color:#fff; margin-bottom:1.1rem;
    }
    .dg-bottomless-hero__price span {
      font-size:.9rem; font-weight:400; color:rgba(255,255,255,.55);
    }
    .dg-bottomless-hero__desc {
      font-style:italic; font-size:.95rem; color:rgba(255,255,255,.72);
      max-width:460px; margin:0 auto .7rem; line-height:1.6;
    }
    .dg-bottomless-hero__note { font-size:.85rem; color:var(--c-gold); font-weight:500; }

    /* ── DAILY SPECIALS — bottomless lunch menu list ─────────── */
    .dg-bm-wrap { max-width:640px; margin:0 auto; }
    .dg-bm-section { margin-bottom:1.75rem; }
    .dg-bm-section__label {
      font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
      color:var(--c-text-soft); padding-bottom:.45rem;
      border-bottom:1px solid var(--c-parchment); margin-bottom:.65rem;
    }
    .dg-bm-item { padding:.45rem 0; border-bottom:1px solid rgba(237,232,216,.6); }
    .dg-bm-item:last-child { border-bottom:none; }
    .dg-bm-item__name {
      font-family:var(--font-display); font-size:1.05rem; font-weight:600; color:var(--c-espresso);
    }
    .dg-bm-item__desc { font-size:.82rem; color:var(--c-text-soft); margin-top:.1rem; }
    /* ── WEEKLY SPECIALS ─────────────────────────────────────── */
    .dg-weekly-hero {
      text-align:center; padding:2.75rem 2rem;
      background:var(--c-espresso); border-radius:var(--radius); margin-bottom:2rem;
    }
    .dg-weekly-hero__eyebrow {
      font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
      color:rgba(201,146,42,.75); margin-bottom:.65rem;
    }
    .dg-weekly-hero__title {
      font-family:var(--font-display); font-size:clamp(1.9rem,5vw,3rem);
      font-weight:600; color:var(--c-gold-light); line-height:1.15; margin-bottom:.85rem;
    }
    .dg-weekly-hero__desc {
      font-style:italic; font-size:.95rem; color:rgba(255,255,255,.72);
      max-width:480px; margin:0 auto .9rem; line-height:1.6;
    }
    .dg-weekly-hero__price {
      font-family:var(--font-display); font-size:2rem; font-weight:700; color:#fff; margin-bottom:1.25rem;
    }
    .dg-weekly-hero__price span { font-size:.9rem; font-weight:400; color:rgba(255,255,255,.55); }
    .dg-weekly-hero__link {
      display:inline-block; padding:.45rem 1.2rem;
      border:1px solid rgba(201,146,42,.45); border-radius:50px;
      font-family:var(--font-body); font-size:.77rem; font-weight:600; letter-spacing:.07em;
      color:var(--c-gold); background:transparent; cursor:pointer; transition:var(--trans);
    }
    .dg-weekly-hero__link:hover { background:rgba(201,146,42,.15); border-color:var(--c-gold); }
    .dg-extras { margin-bottom:2rem; }
    .dg-extras__title {
      font-size:.63rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
      color:var(--c-text-soft); padding-bottom:.5rem; margin-bottom:.6rem;
      border-bottom:1px solid var(--c-parchment);
    }
    .dg-extras__item {
      display:flex; justify-content:space-between; align-items:center;
      padding:.5rem 1rem; border-radius:var(--radius); transition:background var(--trans);
    }
    .dg-extras__item:hover { background:var(--c-parchment); }
    .dg-extras__item__info { display:flex; flex-direction:column; }
    .dg-extras__item__name { font-size:.92rem; color:var(--c-espresso); font-weight:500; }
    .dg-extras__item__desc { font-size:.78rem; color:var(--c-text-soft); margin-top:.05rem; }
    .dg-extras__item__right { display:flex; align-items:center; gap:.6rem; flex-shrink:0; margin-left:1rem; }
    .dg-extras__badge {
      font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
      padding:.13rem .5rem; border-radius:50px;
      background:rgba(201,146,42,.12); color:var(--c-gold); border:1px solid rgba(201,146,42,.2);
    }
    .dg-extras__price { font-family:var(--font-display); font-size:.95rem; font-weight:600; color:var(--c-terra); }
    .dg-kids-banner {
      display:flex; align-items:center; gap:.75rem;
      padding:.8rem 1.25rem; margin-top:1.5rem; border-radius:var(--radius);
      background:rgba(201,146,42,.07); border-left:3px solid var(--c-gold);
      font-size:.85rem; color:var(--c-text-mid); line-height:1.5;
    }

    /* ── PACKAGES & GRUPPI ───────────────────────────────────── */
    .pkg-intro { text-align:center; padding-bottom:2rem; border-bottom:1px solid var(--c-parchment); margin-bottom:2.5rem; }
    .pkg-intro h2 { margin-bottom:.5rem; font-family: var(--font-display); font-weight: 600; font-size: 1.6rem; color: var(--c-espresso); }
    .pkg-intro p  { color:var(--c-text-soft); margin-inline:auto; }
    .pkg-subnav { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-bottom:3rem; }
    .pkg-navpill {
      padding:.5rem 1.4rem; font-size:.8rem; font-weight:600; letter-spacing:.06em;
      text-transform:uppercase; font-family:var(--font-body);
      border:1.5px solid var(--c-parchment); border-radius:50px;
      color:var(--c-text-mid); background:none; cursor:pointer; transition:var(--trans);
    }
    .pkg-navpill:hover  { border-color:var(--c-gold); color:var(--c-gold); }
    .pkg-navpill.active { background:var(--c-espresso); border-color:var(--c-espresso); color:var(--c-gold-light); }
    .pkg-card         { display:none; }
    .pkg-card.active  { display:block; }
    .pkg-header {
      text-align:center; padding:2.5rem 2rem;
      background:var(--c-espresso); border-radius:var(--radius); margin-bottom:3rem;
    }
    .pkg-header__name {
      font-family:var(--font-display); font-size:clamp(2rem,4vw,3rem);
      font-weight:600; color:var(--c-gold-light); margin-bottom:.5rem; line-height:1.1;
    }
    .pkg-header__price { font-family:var(--font-display); font-size:1.35rem; color:var(--c-cream); margin-bottom:.75rem; }
    .pkg-header__guests {
      display:inline-block; font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
      background:rgba(201,146,42,.18); color:var(--c-gold-light);
      padding:.3rem 1rem; border-radius:50px; border:1px solid rgba(201,146,42,.3);
    }
    .pkg-sections-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0 2.5rem;
      align-items: start;
      margin-bottom: 1.5rem;
    }
    .pkg-section { margin-bottom:2.5rem; }
    .pkg-section__title {
      display:flex; align-items:center; gap:.75rem;
      font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
      color:var(--c-text-mid); padding-bottom:.65rem;
      border-bottom:1px solid var(--c-parchment); margin-bottom:1rem;
    }
    .pkg-choose-badge {
      font-size:.63rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
      background:var(--c-terra); color:#fff; padding:.15rem .6rem; border-radius:50px;
    }
    .pkg-item { display:flex; align-items:flex-start; padding:.7rem 1rem; border-radius:var(--radius); transition:background var(--trans); }
    .pkg-item:hover { background:var(--c-parchment); }
    .pkg-item__info { flex:1; }
    .pkg-item__name { font-family:var(--font-display); font-size:1.05rem; font-weight:600; color:var(--c-espresso); }
    .pkg-item__desc { font-size:.83rem; color:var(--c-text-soft); margin-top:.15rem; line-height:1.45; max-width:none; }
    .pkg-must-try {
      font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
      background:rgba(196,98,62,.12); color:var(--c-terra);
      padding:.15rem .5rem; border-radius:50px; border:1px solid rgba(196,98,62,.28);
      margin-left:.4rem; vertical-align:middle;
    }
    .pkg-upgrades { margin-top:3rem; border-top:1px solid var(--c-parchment); padding-top:2.5rem; }
    .pkg-upgrades__title { font-family:var(--font-display); font-size:1.7rem; font-weight:600; color:var(--c-espresso); margin-bottom:1.5rem; }
    .pkg-upgrades-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 0 2.5rem;
      align-items: start;
    }
    .pkg-upgrade-group { margin-bottom:1.75rem; }
    .pkg-upgrade-group__label { font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--c-gold); margin-bottom:.65rem; }
    .pkg-upgrade-row {
      display:grid; grid-template-columns:1fr auto; gap:.4rem 1.5rem;
      padding:.6rem 1rem; border-radius:var(--radius); align-items:center; transition:background var(--trans);
    }
    .pkg-upgrade-row:hover { background:var(--c-parchment); }
    .pkg-upgrade-row__name  { font-family:var(--font-display); font-size:1rem; font-weight:600; color:var(--c-espresso); }
    .pkg-upgrade-row__price { font-family:var(--font-display); font-size:1rem; font-weight:600; color:var(--c-terra); white-space:nowrap; }
    .pkg-footer-note {
      margin-top:2.5rem; padding:1.2rem 1.5rem;
      background:rgba(201,146,42,.06); border-left:3px solid var(--c-gold);
      border-radius:0 var(--radius) var(--radius) 0;
      font-style:italic; font-size:.88rem; color:var(--c-text-soft);
    }
    @media(max-width:768px) {
      .pkg-sections-grid { grid-template-columns: 1fr; }
      .pkg-header { padding:1.75rem 1.25rem; }
      .dg-day-filter {
        flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start;
        padding-bottom:.5rem; -webkit-overflow-scrolling:touch; scrollbar-width:none;
      }
      .dg-day-filter::-webkit-scrollbar { display:none; }
      .dg-pill { flex-shrink:0; }
      .pkg-subnav {
        flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start;
        padding-bottom:.5rem; -webkit-overflow-scrolling:touch; scrollbar-width:none;
      }
      .pkg-subnav::-webkit-scrollbar { display:none; }
      .pkg-navpill { flex-shrink:0; }
    }
    /* ── Drinks Tab ──────────────────────────────────────────── */
    .drinks-subnav {
      display:flex; gap:.5rem; align-items:center;
      padding:1rem 0 1.1rem; margin-bottom:2rem;
      position:sticky; top:68px; z-index:10;
      background:var(--c-cream);
      border-bottom:1px solid var(--c-parchment);
      overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch;
    }
    .drinks-subnav::-webkit-scrollbar { display:none; }
    .drinks-pill {
      flex-shrink:0; padding:.38rem 1.1rem;
      border:1px solid var(--c-parchment); border-radius:50px;
      font-family:var(--font-body); font-size:.77rem; font-weight:500; letter-spacing:.04em;
      color:var(--c-text-mid); background:transparent; cursor:pointer; transition:var(--trans);
      white-space:nowrap;
    }
    .drinks-pill.active,.drinks-pill:hover { background:var(--c-espresso); color:var(--c-cream); border-color:var(--c-espresso); }
    .drinks-section { margin-bottom:3.5rem; scroll-margin-top:145px; }
    .drinks-section__title {
      font-family:var(--font-display); font-size:1.55rem; font-weight:600; color:var(--c-espresso);
      margin-bottom:1.25rem; padding-bottom:.65rem; border-bottom:2px solid var(--c-gold);
    }
    /* BYO banner */
    .byo-banner {
      display:flex; align-items:center; gap:.75rem; padding:.7rem 1.25rem; margin-bottom:1.5rem;
      border:1px solid rgba(201,146,42,.28); border-radius:var(--radius);
      background:rgba(201,146,42,.06); font-size:.84rem; color:var(--c-text-mid); font-style:italic;
    }
    .byo-banner strong { font-style:normal; color:var(--c-gold); }
    /* Wine */
    .wine-cols { display:grid; grid-template-columns:1fr 1fr; gap:0 3rem; }
    @media(max-width:768px){ .wine-cols { grid-template-columns:1fr; } }
    .wine-category { margin-bottom:2rem; }
    .wine-category__name {
      font-size:.66rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
      color:var(--c-terra); margin-bottom:.4rem;
    }
    .wine-col-header {
      display:grid; align-items:center; padding:.28rem 1rem;
      margin-bottom:.15rem; border-bottom:1px solid var(--c-parchment);
      font-size:.64rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--c-text-soft);
    }
    .wine-col-header--dual { grid-template-columns:1fr auto auto; gap:0 1rem; }
    .wine-col-header--single { grid-template-columns:1fr auto; gap:0 1rem; }
    .wine-item {
      display:grid; align-items:center; padding:.5rem 1rem;
      border-radius:var(--radius); transition:background var(--trans);
    }
    .wine-item:hover { background:var(--c-parchment); }
    .wine-item--dual { grid-template-columns:1fr auto auto; gap:0 1rem; }
    .wine-item--single { grid-template-columns:1fr auto; gap:0 1rem; }
    .wine-item__name { font-family:var(--font-display); font-size:.98rem; font-weight:600; color:var(--c-espresso); }
    .wine-item__region { font-size:.74rem; color:var(--c-text-soft); margin-top:.05rem; }
    .wine-item__price { font-family:var(--font-display); font-size:.9rem; font-weight:600; color:var(--c-terra); text-align:right; white-space:nowrap; min-width:3rem; }
    .wine-item__price--muted { color:var(--c-text-soft); font-weight:400; }
    /* Cocktails */
    .cocktail-section-label {
      font-size:.65rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
      color:var(--c-text-mid); margin:1.5rem 0 .7rem;
    }
    .cocktail-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
    @media(max-width:768px){ .cocktail-grid { grid-template-columns:1fr; } }
    .cocktail-card {
      padding:.9rem 1.1rem; border:1px solid var(--c-parchment);
      border-radius:var(--radius); background:rgba(250,243,227,.55); transition:var(--trans);
    }
    .cocktail-card:hover { background:var(--c-parchment); border-color:rgba(181,96,58,.2); }
    .cocktail-card__header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:.35rem; }
    .cocktail-card__name { font-family:var(--font-display); font-size:1.05rem; font-weight:600; color:var(--c-espresso); }
    .cocktail-card__price { font-family:var(--font-display); font-size:1rem; font-weight:600; color:var(--c-terra); white-space:nowrap; }
    .cocktail-card__ingredients { font-size:.78rem; color:var(--c-text-mid); line-height:1.45; }
    .cocktail-card__variations { font-size:.73rem; color:var(--c-terra); font-style:italic; margin-top:.3rem; }
    /* Spirits */
    .spirits-grid { columns:2; column-gap:2.5rem; }
    @media(max-width:768px){ .spirits-grid { columns:1; } }
    .spirits-category { break-inside:avoid; margin-bottom:1.4rem; }
    .spirits-category__title {
      font-size:.63rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
      color:var(--c-terra); padding:.35rem 0; margin-bottom:.2rem;
      border-bottom:1px solid var(--c-parchment);
    }
    .spirits-item {
      display:flex; justify-content:space-between; align-items:baseline;
      padding:.28rem .75rem; border-radius:var(--radius); transition:background var(--trans);
    }
    .spirits-item:hover { background:var(--c-parchment); }
    .spirits-item__main { display:flex; flex-direction:column; }
    .spirits-item__name { font-size:.87rem; color:var(--c-espresso); }
    .spirits-item__sub { font-size:.71rem; color:var(--c-text-soft); }
    .spirits-item__price { font-size:.87rem; font-weight:600; color:var(--c-terra); white-space:nowrap; margin-left:1rem; }
    /* Non Alcoholic */
    .nonalc-cols { display:grid; grid-template-columns:1fr 1fr; gap:0 2.5rem; }
    @media(max-width:768px){ .nonalc-cols { grid-template-columns:1fr; } }
    .nonalc-category { margin-bottom:1.4rem; }
    .nonalc-category__title {
      font-size:.63rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
      color:var(--c-terra); padding:.35rem 0; margin-bottom:.2rem;
      border-bottom:1px solid var(--c-parchment);
    }
    .nonalc-item {
      display:flex; justify-content:space-between; align-items:baseline;
      padding:.32rem .75rem; border-radius:var(--radius); transition:background var(--trans);
    }
    .nonalc-item:hover { background:var(--c-parchment); }
    .nonalc-item__info { display:flex; flex-direction:column; }
    .nonalc-item__name { font-size:.88rem; color:var(--c-espresso); }
    .nonalc-item__desc { font-size:.73rem; color:var(--c-text-soft); margin-top:.05rem; }
    .nonalc-item__price { font-size:.88rem; font-weight:600; color:var(--c-terra); white-space:nowrap; margin-left:1rem; }
    .nonalc-item__badge {
      font-size:.6rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
      padding:.1rem .4rem; border-radius:50px; margin-left:.4rem;
      background:rgba(201,146,42,.12); color:var(--c-gold); border:1px solid rgba(201,146,42,.2);
    }

    /* ── MOBILE UX IMPROVEMENTS ────────────────────────────── */

    /* Tab strip fade hint */
    @media (max-width: 768px) {
      .menu-tabs-wrap {
        position: relative;
      }
      .menu-tabs-wrap::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 3rem;
        height: 100%;
        background: linear-gradient(to right, transparent, var(--c-cream));
        pointer-events: none;
        z-index: 2;
      }
    }

    /* Tab touch targets */
    @media (max-width: 768px) {
      .menu-tab {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .35rem;
        flex-shrink: 0;
        white-space: nowrap;
      }
    }

    /* Packages cards — mobile stacked */
    @media (max-width: 768px) {
      .pkg-card {
        margin-bottom: 1.5rem;
      }
      .pkg-card__sections {
        grid-template-columns: 1fr !important;
      }
      .pkg-upgrades-grid {
        grid-template-columns: 1fr !important;
      }
      .pkg-header {
        padding: 1.25rem 1rem;
      }
      .pkg-price {
        font-size: 1.6rem;
      }
    }

    @media (max-width: 480px) {
      .pkg-card__section-items {
        grid-template-columns: 1fr !important;
      }
    }

    /* Drinks grid — mobile collapse */
    @media (max-width: 480px) {
      .drinks-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: .75rem;
      }
      .drink-item {
        padding: .9rem .75rem;
      }
      .drink-item__name { font-size: 1rem; }
    }

    @media (max-width: 320px) {
      .drinks-grid {
        grid-template-columns: 1fr;
      }
    }

    /* Daily specials — day filter pills on mobile */
    @media (max-width: 480px) {
      .dg-day-filter {
        gap: .4rem;
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: .5rem;
        scrollbar-width: none;
      }
      .dg-day-filter::-webkit-scrollbar { display: none; }
      .dg-pill {
        flex-shrink: 0;
        padding: .4rem 1rem;
        font-size: .72rem;
        min-height: 40px;
      }
    }

    /* Bottomless lunch / weekly hero — mobile padding */
    @media (max-width: 480px) {
      .dg-bottomless-hero {
        padding: 2rem 1.25rem;
      }
      .dg-bottomless-hero__title { font-size: 1.9rem; }
      .dg-weekly-hero {
        padding: 2rem 1.25rem;
      }
      .dg-weekly-hero__title { font-size: 1.9rem; }
    }

    /* Daily specials grid — mobile collapse */
    @media (max-width: 480px) {
      .dg-specials-grid {
        grid-template-columns: 1fr;
      }
    }
