/* =====================================================================
   FESTIVAL DELLA PASTA — CARDÁPIO (display sem fotos)
   Escopo: .fdp-menu / body.fdp-cardapio-page
   Base tipográfica: todo <p> dentro do cardápio usa 1.8rem (28.8px).
   ===================================================================== */
:root {
  --fdp-gold: #C9A96E;
  --fdp-gold-light: #E4CC9A;
  --fdp-wine: #6B1D2A;
  --fdp-dark: #171514;
  --fdp-cream: #F7F3EC;
  --fdp-ink: #2B2622;
  --fdp-muted: #6E6459;
  --fdp-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --fdp-p: 1.8rem;
}

.fdp-menu {
  background: var(--fdp-cream);
  color: var(--fdp-ink);
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fdp-menu * { box-sizing: border-box; }
.fdp-menu h1, .fdp-menu h2, .fdp-menu h3 { font-family: 'Playfair Display', serif; margin: 0; color: var(--fdp-ink); }

/* ---------- Base: todo parágrafo do cardápio ---------- */
.fdp-menu p {
  font-size: 1.2rem;
  line-height: 1.62;
  color: var(--fdp-muted);
  margin: 0;
}

.fdp-menu-wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; }

/* ---------- Cabeçalho da página ---------- */
.fdp-menu-hero {
  position: relative; min-height: calc(46vh + 80px); min-height: calc(46svh + 80px);
  display: flex; align-items: center; justify-content: center; text-align: center;
  color: #fff; padding: 150px 24px 70px; overflow: hidden;
}
.fdp-menu-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.fdp-menu-hero__ov { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,21,20,0.6), rgba(23,21,20,0.82)); }
.fdp-menu-hero__in { position: relative; z-index: 2; }
.fdp-menu-hero .fdp-kicker { color: var(--fdp-gold-light); display: inline-block; font-size: 14px; letter-spacing: 4px; text-transform: uppercase; font-weight: 600; margin-bottom: 18px; }
.fdp-menu-hero h1 { color: #fff; font-size: clamp(2.8rem, 6.5vw, 4.6rem); font-weight: 600; }
.fdp-menu-hero p {
  color: rgba(255,255,255,0.88);
  margin: 20px auto 0;
  max-width: 640px;
  font-weight: 300;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
}

/* ---------- Corpo ---------- */
.fdp-menu-body { padding: clamp(56px, 7vw, 96px) 0 clamp(64px, 8vw, 116px); }

.fdp-cat { margin-bottom: clamp(52px, 6.5vw, 78px); }
.fdp-cat:last-child { margin-bottom: 0; }
.fdp-cat__head { text-align: center; margin-bottom: 40px; }
.fdp-cat__head h2 {
  font-size: clamp(2.4rem, 4.4vw, 3.4rem); font-weight: 600; color: var(--fdp-ink);
  display: inline-block; position: relative; padding-bottom: 16px;
}
.fdp-cat__head h2::after {
  content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 58px; height: 2px; background: var(--fdp-gold);
}
.fdp-cat__note {
  max-width: 100%; margin: 26px auto 0;
  font-style: italic;
  text-align: center;
}

/* ---------- Item do cardápio ---------- */
.fdp-item {
  display: grid; grid-template-columns: 1fr auto; gap: 8px 30px;
  align-items: baseline; padding: 28px 0; border-bottom: 1px solid rgba(43,38,34,0.09);
}
.fdp-item:last-child { border-bottom: none; }
.fdp-item__main { min-width: 0; }
.fdp-item__title {
  font-family: 'Playfair Display', serif;
  font-size: 2.0rem; font-weight: 600; color: var(--fdp-ink); line-height: 1.22;
}
.fdp-flag {
  display: inline-flex; width: 26px; height: 18px; margin-right: 12px;
  vertical-align: middle; position: relative; top: -2px;
  border-radius: 2px; overflow: hidden; box-shadow: 0 0 0 1px rgba(43,38,34,0.15);
}
.fdp-flag svg { width: 100%; height: 100%; display: block; }
.fdp-item__sub {
  display: block; font-style: italic; color: var(--fdp-gold);
  font-size: 1.5rem; margin-top: 6px;
}
.fdp-item__desc { margin-top: 14px; font-size: 1.2rem; }
.fdp-item__price {
  font-family: 'Playfair Display', serif; font-size: 2.2rem; font-weight: 600;
  color: var(--fdp-wine); white-space: nowrap; text-align: right;
}
.fdp-item__price small { font-size: 0.55em; color: var(--fdp-muted); font-weight: 400; margin-right: 4px; }

/* massas / risotos em grade (itens curtos, sem preço individual) */
.fdp-cat--grid .fdp-items { display: grid; grid-template-columns: 1fr 1fr; gap: 0 52px; }
.fdp-cat--grid .fdp-item { grid-template-columns: 1fr; }
.fdp-cat--grid .fdp-item__price { display: none; }
.fdp-cat--grid .fdp-item__title { font-size: 1.6rem; }

/* ---------- Rodapé do cardápio ---------- */
.fdp-menu-foot { text-align: center; margin-top: clamp(56px, 6vw, 80px); }
.fdp-menu-foot p { margin: 0 auto 30px; max-width: 620px; }
.fdp-btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 2px;
  text-transform: uppercase; padding: 18px 40px; border-radius: 40px;
  transition: all 0.35s var(--fdp-ease); border: 1.5px solid transparent; line-height: 1; cursor: pointer;
}
.fdp-btn-gold { background: var(--fdp-gold); color: #1a1a1a; }
.fdp-btn-gold:hover { background: var(--fdp-gold-light); transform: translateY(-3px); box-shadow: 0 12px 30px rgba(201,169,110,0.35); }
.fdp-btn-outline { background: transparent; color: var(--fdp-ink); border-color: rgba(43,38,34,0.3); }
.fdp-btn-outline:hover { border-color: var(--fdp-gold); color: var(--fdp-gold); transform: translateY(-3px); }

/* ---------- Responsivo ---------- */
@media (max-width: 900px) {
  .fdp-item__title, .fdp-item__price { font-size: 2.2rem; }
}
@media (max-width: 640px) {
  .fdp-item { grid-template-columns: 1fr; }
  .fdp-item__price { text-align: left; margin-top: 4px; }
  .fdp-cat--grid .fdp-items { grid-template-columns: 1fr; }
  .fdp-item__title, .fdp-item__price { font-size: 1.9rem; }
  .fdp-item__sub { font-size: 1.15rem; }
}
