/* ===== Menu page ===== */
.menu-page{background:var(--wine-950);color:var(--cream);}

/* Hero */
.menu-hero{
  position:relative;
  min-height:66vh;
  display:flex;align-items:flex-end;
  overflow:hidden;
  padding-bottom:70px;
}
.menu-hero-video{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
  /* Frame the laid tables at the bottom of the shot, not the chain curtains. */
  object-position:center bottom;
  transform:scale(1.05);
}
.menu-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(10,4,5,.6) 0%, rgba(10,4,5,.35) 45%, rgba(10,4,5,.95) 100%);
}
.menu-hero-content{position:relative;z-index:2;}
.menu-hero .eyebrow{color:var(--rose-light);}
.menu-hero h1{
  font-size:clamp(2.8rem,7vw,5.2rem);
  color:var(--cream);margin-bottom:.2em;
}
.menu-hero-sub{max-width:460px;color:rgba(244,236,225,.75);}

.menu-hero-dish{
  position:absolute;right:7vw;bottom:16%;
  z-index:2;perspective:1200px;
  transition:transform .3s ease;
}
.menu-hero-dish .food-frame{width:min(24vw,220px);height:min(24vw,220px);}
@media(max-width:900px){.menu-hero-dish{display:none;}}

/* Sticky category nav */
.cat-nav{
  position:sticky;top:64px;z-index:900;
  background:rgba(10,4,5,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(244,236,225,.1);
}
.cat-nav-inner{
  display:flex;gap:6px;overflow-x:auto;scroll-behavior:smooth;
  padding-top:12px;padding-bottom:12px;
  scrollbar-width:none;
}
.cat-nav-inner::-webkit-scrollbar{display:none;}
.cat-nav a{
  flex-shrink:0;
  padding:9px 18px;border-radius:30px;
  font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(244,236,225,.7);
  border:1px solid rgba(244,236,225,.18);
  transition:all .3s ease;
}
.cat-nav a:hover{color:var(--cream);border-color:var(--gold);}
.cat-nav a.current{background:var(--gold);border-color:var(--gold);color:var(--wine-950);font-weight:600;}

/* Body */
.menu-body{padding:90px 0 60px;}

.cat{margin-bottom:110px;position:relative;}
.cat-head{
  display:flex;align-items:center;gap:20px;
  margin-bottom:40px;
}
.cat-head::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(90deg, var(--gold), transparent);
}
.cat-head h2{
  display:flex;flex-direction:column;gap:.4em;
  font-size:clamp(1.7rem,3.4vw,2.4rem);
  color:var(--cream);margin:0;white-space:nowrap;
}
.cat-head-sub{margin-top:70px;}

/* Floating dish media inside a category */
.cat-media{
  position:absolute;right:0;top:0;
  perspective:1200px;pointer-events:none;
  display:flex;gap:20px;
}
.cat-media .food-frame{
  width:min(16vw,150px);height:min(16vw,150px);
  border:2px solid rgba(211,185,136,.4);
  filter:drop-shadow(0 20px 34px rgba(0,0,0,.6));
}
@media(max-width:1100px){.cat-media{display:none;}}

/* Dish cards */
.cat-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:14px;
}
.dish-card{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
  padding:22px 24px;
  background:rgba(244,236,225,.035);
  border:1px solid rgba(244,236,225,.1);
  border-radius:4px;
  transition:transform .2s ease, border-color .3s ease, background .3s ease;
  transform-style:preserve-3d;
}
.dish-card:hover{
  border-color:rgba(211,185,136,.5);
  background:rgba(244,236,225,.06);
}
.dish-info h3{
  display:flex;flex-direction:column;gap:.3em;
  font-family:var(--serif);font-size:1.15rem;font-weight:500;
  color:var(--cream);margin:0 0 .45em;line-height:1.25;
}
.dish-info p,.dish-desc{
  font-size:.82rem;line-height:1.6;
  color:rgba(244,236,225,.55);margin:0;
}
.dish-price{
  font-family:var(--serif);font-size:1.3rem;font-style:italic;
  color:var(--gold-light);white-space:nowrap;flex-shrink:0;
}
.dish-price em{
  font-family:var(--sans);font-style:normal;
  font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(244,236,225,.45);margin-left:.2em;
}

/* Sauces */
.sauce-grid{display:flex;flex-wrap:wrap;gap:10px;}
.sauce-pill{
  display:inline-flex;align-items:baseline;gap:.6em;
  padding:11px 20px;border-radius:30px;
  border:1px solid rgba(244,236,225,.16);
  font-size:.82rem;color:rgba(244,236,225,.8);
  transition:border-color .3s ease;
}
.sauce-pill:hover{border-color:var(--gold);}
.sauce-pill em{
  font-style:normal;color:var(--gold-light);margin-left:.5em;font-size:.78rem;
}

/* CTA */
.menu-cta{
  padding:100px 0;text-align:center;
  background:radial-gradient(ellipse at 50% 0%, var(--wine-800), var(--wine-950) 70%);
  border-top:1px solid rgba(244,236,225,.08);
}
.menu-cta h2{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--cream);}
.menu-cta p{color:rgba(244,236,225,.65);margin-bottom:2rem;}

.menu-page .site-footer{background:#0a0405;padding:0;}
.menu-page .main-nav a.active{color:var(--gold-light);}

@media(max-width:760px){
  .cat-nav{top:56px;}
  .menu-body{padding:60px 0 40px;}
  .cat{margin-bottom:80px;}
  .cat-list{grid-template-columns:1fr;}
}

/* ===== Language switch ===== */
.header-right{display:flex;align-items:center;gap:16px;}
.lang-switch{
  display:flex;border:1px solid rgba(244,236,225,.25);border-radius:30px;overflow:hidden;
}
.lang-switch button{
  padding:7px 14px;
  font-size:.68rem;letter-spacing:.1em;font-weight:500;
  color:rgba(244,236,225,.65);
  transition:background .3s ease,color .3s ease;
}
.lang-switch button.active{background:var(--gold);color:var(--wine-950);font-weight:600;}
.lang-switch button:not(.active):hover{color:var(--cream);}
@media(max-width:960px){
  .header-right .header-cta{display:none;}
  .header-right{margin-left:auto;margin-right:16px;}
}

/* ===== Bilingual headings ===== */
.cat-title{display:block;}
.cat-sub{
  font-family:var(--sans);font-weight:400;
  font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-light);
}
.cat-note{
  margin:-20px 0 32px;
  font-size:.78rem;letter-spacing:.04em;
  color:rgba(244,236,225,.45);
}
.group-head{
  font-family:var(--sans);font-weight:500;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-light);
  margin:40px 0 18px;
}
.cat .group-head:first-of-type{margin-top:8px;}

/* ===== Dish names (both languages always visible) ===== */
.dish-name{font-family:var(--serif);font-size:1.15rem;color:var(--cream);line-height:1.25;}
.dish-alt{
  font-family:var(--sans);font-weight:400;
  font-size:.72rem;letter-spacing:.06em;color:var(--gold-light);
}
.dish-desc{font-size:.82rem;line-height:1.6;color:rgba(244,236,225,.55);margin:0;}

/* ===== Pills (sauces, spirits, drinks) ===== */
.pill-grid{display:flex;flex-wrap:wrap;gap:10px;}
.pill-name{color:rgba(244,236,225,.85);}


.cat-nav{top:var(--actual-header-h,64px);}
.cat-head h2{white-space:normal;min-width:0;overflow-wrap:anywhere;}
.dish-info{min-width:0;overflow-wrap:anywhere;}
.sauce-pill{max-width:100%;flex-wrap:wrap;}
@media(max-width:760px){
  .menu-hero{min-height:65svh;padding:125px 0 50px;}
  .menu-body{padding-top:40px;}
  .cat{margin-bottom:54px;}
  .cat-head{margin-bottom:24px;}
  .cat-list{grid-template-columns:minmax(0,1fr);}
  .dish-card{padding:18px 14px;gap:12px;}
  .dish-price{font-size:1.1rem;}
  .cat-nav a{min-height:44px;display:flex;align-items:center;}
  .cat-nav-inner{padding-top:8px;padding-bottom:8px;scroll-behavior:auto;}
  .header-right{gap:0;margin:0 0 0 auto;}
  .lang-switch button{min-height:44px;min-width:40px;padding:7px 8px;}
  .menu-page .brand-word{font-size:1rem;}
  .menu-page .brand{gap:6px;}
  .menu-page .header-inner{gap:6px;}
  .menu-page .header-inner.container{padding:0 12px;}
}
