.menu-header {
  padding: 170px 6vw 60px;
  max-width: 1240px;
  margin: 0 auto;
  text-align: center;
}
.menu-header h1 { font-size: clamp(34px, 6vw, 60px); font-style: italic; margin: 8px 0 18px; }
.menu-header-sub { color: var(--coffee-soft); max-width: 560px; margin: 0 auto; }

.listino-cat { margin-bottom: 64px; }
.listino-cat__head { display: flex; align-items: baseline; gap: 20px; margin-bottom: 6px; }
.listino-cat__head h2 { font-size: 28px; font-style: italic; white-space: nowrap; }
.listino-cat__rule { flex: 1; height: 1px; background: var(--line); }
.listino-cat__note { color: var(--coffee-soft); font-size: 14px; margin: 6px 0 26px; max-width: 640px; }

.dish-list { display: grid; gap: 14px; }
.dish {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 16px;
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.dish:hover { border-color: var(--pink-deep); transform: translateY(-2px); }
.dish__photo { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; flex-shrink: 0; }
.dish__body { flex: 1; }
.dish__body h4 { font-family: var(--sans); font-weight: 500; font-size: 16px; margin: 0 0 4px; }
.dish__body p { margin: 0; font-size: 13.5px; color: var(--coffee-soft); }
.dish__note { color: var(--berry) !important; font-weight: 500; }
.dish__price { font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--berry); white-space: nowrap; }
.dish__price--tbd { font-family: var(--sans); font-style: normal; font-size: 12.5px; color: var(--coffee-soft); text-transform: uppercase; letter-spacing: 0.5px; }

.menu-fineprint {
  margin-top: 10px;
  font-size: 13px;
  color: var(--coffee-soft);
  max-width: 720px;
}

@media (max-width: 640px) {
  .menu-header { padding: 140px 6vw 40px; }
  .listino-cat__head { flex-wrap: wrap; }
  .dish { flex-wrap: wrap; }
}
