/* MENU page-specific styles */
.menu-hero{padding:8rem 5% 4rem;text-align:left;max-width:1280px;margin:0 auto}
.mh-inner{max-width:760px}
.mh-title{
  font-family:var(--fserif);font-weight:500;
  font-size:clamp(2.6rem,6vw,5.4rem);line-height:.95;
  letter-spacing:-.015em;color:var(--cream);margin:1rem 0 1.4rem;
}
.mh-title span{display:block}
.mh-title .italic{font-style:italic;color:var(--gold);font-weight:500;margin-left:1.5rem}
.mh-sub{font-family:var(--fserif);font-style:italic;font-size:1.15rem;color:var(--muted);max-width:480px;line-height:1.55}

/* Sticky tabs */
.menu-tabs{
  display:flex;gap:6px;padding:1rem 5%;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(10,30,64,.96);backdrop-filter:blur(20px);
  position:sticky;top:var(--nav);z-index:50;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.menu-tabs::-webkit-scrollbar{display:none}
.menu-nav-btn{
  background:none;border:1px solid var(--line);
  padding:9px 18px;font-family:var(--fsans);font-size:.7rem;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);cursor:pointer;transition:all .25s;
  flex-shrink:0;white-space:nowrap;
}
.menu-nav-btn:hover{border-color:rgba(212,175,55,.5);color:var(--cream)}
.menu-nav-btn.active{background:var(--gold);border-color:var(--gold);color:var(--bg)}

/* Menu sections */
.menu-section{display:none;padding:5rem 5%;max-width:1400px;margin:0 auto}
.menu-section.active{display:block}
.section-intro{margin-bottom:3.5rem}
.section-intro .eyebrow{margin-bottom:.8rem}
.section-intro .sec-h2.italic{font-style:italic;color:var(--gold);margin-left:0}

.menu-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:2rem;
}

/* Dish card */
.dish-card{
  background:var(--bg1);border:1px solid var(--line);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .35s var(--ease),border-color .35s;
}
.dish-card:hover{transform:translateY(-4px);border-color:rgba(212,175,55,.45)}

.dish-3d{
  position:relative;height:280px;
  background:radial-gradient(ellipse 70% 50% at 50% 60%, rgba(212,175,55,.06) 0%, transparent 70%),var(--bg3);
  overflow:hidden;
}
.btn-layer{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;
  transition:opacity .35s;
}
.load-3d-btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 24px;background:var(--gold);color:var(--bg);
  font-family:var(--fsans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border:none;cursor:pointer;transition:all .25s;min-height:46px;
}
.load-3d-btn:hover{background:var(--gold2);transform:translateY(-1px)}
.load-3d-btn.loaded{background:transparent;color:var(--gold);border:1px solid var(--gold)}
model-viewer{
  width:100%;height:100%;
  --poster-color:transparent;background:transparent;
}
.dish-3d:has(model-viewer[src]) .btn-layer{opacity:0;pointer-events:none}

.dish-info{
  padding:1.4rem 1.6rem 1.6rem;display:flex;flex-direction:column;
  border-top:1px solid var(--line);min-height:130px;
}
.dish-name{
  font-family:var(--fserif);font-weight:600;font-size:1.2rem;
  color:var(--cream);letter-spacing:-.005em;line-height:1.2;
  margin-bottom:.4rem;
}
.dish-desc{
  font-family:var(--fserif);font-style:italic;font-size:.92rem;
  color:var(--muted);line-height:1.45;margin-bottom:1rem;flex:1;
}
.dish-price{
  font-family:var(--fdisp);font-size:1.5rem;color:var(--gold);
  letter-spacing:.04em;line-height:1;margin-top:auto;
}

/* DRINKS — table-style rows grouped by category */
.drink-category{margin-bottom:3rem}
.drink-cat-title{
  font-family:var(--fserif);font-style:italic;font-weight:500;
  font-size:1.8rem;color:var(--gold);margin-bottom:1.4rem;
  padding-bottom:.6rem;border-bottom:1px solid var(--line);
  letter-spacing:-.005em;
}
.drink-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:0;border:1px solid var(--line);
  background:rgba(15,42,82,.3);
}
.drink-card{
  display:flex;align-items:center;gap:.8rem;
  padding:1rem 1.4rem;border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);
  transition:background .25s;background:transparent;
}
.drink-card:hover{background:rgba(212,175,55,.05)}
.drink-name{
  font-family:var(--fserif);font-size:1rem;color:var(--cream);
  flex-shrink:0;
}
.drink-dots{
  flex:1;height:1px;border-bottom:1px dotted rgba(245,240,230,.15);
  margin:0 .3rem;align-self:flex-end;margin-bottom:8px;
}
.drink-price{
  font-family:var(--fdisp);font-size:1.1rem;color:var(--gold);
  letter-spacing:.04em;flex-shrink:0;
}

@media(max-width:600px){
  .menu-hero{padding-top:6rem}
  .mh-title .italic{margin-left:0}
  .dish-3d{height:240px}
  .menu-tabs{padding:.6rem 5%}
  .menu-nav-btn{padding:8px 14px;font-size:.65rem}
}
