/* ---------- MENU PAGE HEADER ---------- */
.menu-header{
  padding:150px 24px 60px;
  max-width:820px;
  margin:0 auto;
  text-align:center;
  background:linear-gradient(150deg, var(--pink) 0%, var(--pink-dark) 100%);
  color:var(--white);
  border-radius:0 0 40px 40px;
}
.menu-header h1{
  font-size:clamp(2.2rem, 6vw, 3.4rem);
  color:var(--white);
}
.menu-header-sub{
  margin:16px auto 0;
  max-width:520px;
  font-size:1.05rem;
  font-weight:600;
  color:rgba(255,255,255,0.9);
}

/* ---------- MENU CATEGORIES ---------- */
.menu-section{padding-top:70px;}
.menu-category{margin-bottom:56px;}
.menu-category:last-child{margin-bottom:0;}
.menu-category__head{
  display:flex;align-items:center;gap:14px;
  margin-bottom:6px;
}
.menu-category__head h2{
  font-size:clamp(1.4rem, 3vw, 1.9rem);
  color:var(--ink);
  white-space:nowrap;
}
.menu-category__line{
  flex:1;height:2px;
  background:repeating-linear-gradient(90deg, var(--pink) 0, var(--pink) 6px, transparent 6px, transparent 12px);
  opacity:.55;
}
.menu-category__note{
  color:var(--ink-soft);
  font-size:.95rem;
  font-weight:600;
  margin:6px 0 22px;
  max-width:640px;
}

.menu-dish-list{
  display:flex;flex-direction:column;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--white);
  box-shadow:0 14px 30px -22px rgba(43,31,36,0.35);
}
.menu-dish{
  display:flex;align-items:flex-start;gap:16px;
  padding:20px 24px;
  border-bottom:1px solid rgba(43,31,36,0.08);
}
.menu-dish:last-child{border-bottom:none;}
.menu-dish__photo{
  width:64px;height:64px;border-radius:14px;object-fit:cover;flex-shrink:0;
}
.menu-dish__info{flex:1;min-width:0;}
.menu-dish h4{
  font-family:var(--ff-display);
  font-weight:700;
  font-size:1.02rem;
  color:var(--ink);
  margin:0 0 4px;
}
.menu-dish p{
  font-size:.92rem;
  color:var(--ink-soft);
  margin:0;
}
.menu-dish__allergens{
  font-size:.8rem;
  color:var(--ink-faint);
  margin-top:4px;
  font-style:italic;
}
.menu-dish__price{
  font-family:var(--ff-display);
  font-weight:700;
  font-size:1.02rem;
  color:var(--pink-dark);
  white-space:nowrap;
  padding-left:12px;
}
.menu-dish__price--tbd{
  font-size:.82rem;
  font-weight:800;
  color:var(--ink-faint);
  font-family:var(--ff-text);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.menu-fineprint{
  margin-top:36px;
  font-size:.85rem;
  color:var(--ink-faint);
  max-width:640px;
}

@media (max-width:600px){
  .menu-header{padding:130px 20px 48px;border-radius:0 0 28px 28px;}
  .menu-dish{padding:16px 18px;gap:12px;}
  .menu-dish__photo{width:52px;height:52px;}
}
