/* ========================================
   Página de carta — estilo clásico costero
   ======================================== */

.menu-page { background: var(--cream); }

/* Header azul mar con onda */
.menu-hero {
  background: var(--navy);
  padding: 170px 0 110px;
  text-align: center;
  position: relative;
}

.menu-hero h1 {
  font-size: clamp(2.6rem, 5vw, 4rem);
  color: var(--cream);
  margin-bottom: 14px;
}

.menu-hero h1 em {
  color: var(--coral);
  font-style: italic;
}

.menu-hero p {
  color: rgba(251, 247, 239, 0.55);
  font-size: 1.05rem;
}

/* Contenido */
.menu-content {
  padding: 40px 0 100px;
}

.menu-category {
  max-width: 780px;
  margin: 0 auto 70px;
}

.menu-category:last-child { margin-bottom: 0; }

.category-header {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-bottom: 26px;
}

.category-header h2 {
  font-size: 1.7rem;
  color: var(--navy);
  white-space: nowrap;
}

.category-line {
  flex: 1;
  height: 1px;
  background: var(--line);
}

/* Filas clásicas: nombre ......... precio */
.menu-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 18px 0;
}

.menu-row + .menu-row {
  border-top: 1px solid rgba(14, 53, 73, 0.07);
}

.menu-row-info { flex-shrink: 0; }

.menu-row-info h3 {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 3px;
}

.menu-row-info p {
  font-size: 0.85rem;
  color: var(--muted);
  line-height: 1.5;
  max-width: 460px;
}

.menu-row-dots {
  flex: 1;
  border-bottom: 2px dotted rgba(14, 53, 73, 0.18);
  min-width: 30px;
  transform: translateY(-4px);
}

.menu-row-price {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: var(--coral-text);
  white-space: nowrap;
}

/* CTA final */
.menu-cta {
  background: var(--sand);
  padding: 80px 0;
  text-align: center;
}

.menu-cta p {
  font-family: 'DM Serif Display', serif;
  font-size: 1.6rem;
  color: var(--navy);
  margin-bottom: 28px;
}

/* Responsive */
@media (max-width: 640px) {
  .menu-row { flex-wrap: wrap; gap: 6px; }
  .menu-row-dots { display: none; }
  .menu-row-price { margin-left: auto; }
  .category-header h2 { font-size: 1.45rem; }
}
