/* Page carte : habillage de la carte complète, mêmes variables que styles.css (aucune nouvelle couleur). */
.menu-page { background: white; padding: 3rem 0 4rem; }
.menu-page .container { max-width: 960px; }
.menu-page-intro { margin-top: 1rem; max-width: 50ch; }
.menu-page a:not(.btn) { color: var(--rust); }
.menu-page .menus { margin: 2rem 0; }
.menu-page .menus:empty { display: none; }
/* Menus et plats : même vignette carrée, pour que la page garde une échelle cohérente. */
.menu-page .menu-card img, .dish-photo { flex: none; width: 128px; height: 128px; object-fit: cover; border-radius: 4px; }
.menu-page .menu-special { background: var(--cream-soft); padding: 1.25rem; margin-bottom: 1.5rem; margin-inline: calc(-1.25rem - 2px); }

.menu-category { margin-top: 2.5rem; padding: 0; }
.menu-category h3 { color: var(--rust); border-bottom: 1px solid var(--stone); padding-bottom: 0.5rem; }
.dish-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 3rem; }
.dish { display: grid; grid-template-columns: auto 1fr auto; gap: 0.25rem 1rem; align-items: start; padding: 0.9rem 0; border-bottom: 1px solid var(--stone); }
.dish-name { font-family: var(--font-sans); font-size: 1.1rem; font-weight: 400; }
.dish-desc { font-size: 0.9rem; margin-top: 0.25rem; white-space: pre-line; }
.dish-price { font-family: var(--font-serif); font-size: 1.2rem; color: var(--rust); white-space: nowrap; }
.dish .dish-body:first-child { grid-column: 1 / 3; }

.menu-page .hint { margin-top: 2rem; }

/* Retour discret en haut : un lien texte, pas un bouton concurrent des actions principales. */
.menu-page .back-link { display: inline-block; margin-bottom: 1.5rem; padding: 0.5rem 0; font-size: 0.9rem; letter-spacing: 0.05em; text-decoration: none; }
.menu-page .back-link:hover, .menu-page .back-link:focus-visible { text-decoration: underline; }

/* Bloc de conclusion : une action principale (réserver), une secondaire (appeler), même hauteur, centrées. */
.menu-page-cta { margin-top: 4rem; padding: 2.5rem 1.5rem; text-align: center; background: var(--cream-soft); border: 1px solid var(--stone); border-radius: 4px; }
.menu-page-cta-title { font-family: var(--font-serif); font-size: 1.8rem; color: var(--charcoal); }
.menu-page-cta-title + p { margin-top: 0.5rem; }
.menu-page-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 1.5rem; }
.menu-page-actions .btn { flex: 0 1 19rem; text-align: center; }

@media (max-width: 800px) {
  .dish-list { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .menu-page .menu-card img, .dish-photo { width: 88px; height: 88px; }
  .menu-page .menu-special { margin-inline: 0; }
  .menu-page-actions { flex-direction: column; }
  .menu-page-actions .btn { flex: none; width: 100%; padding-inline: 1rem; letter-spacing: 0.08em; }
}

/* Mention d'affichage obligatoire (prix, allergènes) : discrète, sous la liste. */
.menu-legal-note { margin-top: 2rem; font-size: 0.85rem; color: var(--charcoal); opacity: 0.8; text-align: center; }
