/* Page Accords mets et vins : chargée seulement sur cette page, après pages.css. */

body.nsa-page .accords-tete { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); text-align: center; }
body.nsa-page .accords-tete__contenu { max-width: 46rem; }
body.nsa-page .accords-tete .fleur { margin-inline: auto; }
body.nsa-page .accords-tete .titre { margin-top: .75rem; text-wrap: balance; }
body.nsa-page .accords-tete__intro { margin-top: 1.25rem; font-size: 1.0625rem; line-height: 1.75; text-wrap: pretty; }

/* ---------- Boutons des plats ---------- */
body.nsa-page .selecteur { padding-top: 0; }
body.nsa-page .selecteur__plats { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin: 0 auto clamp(2rem, 4vw, 3rem); max-width: 60rem; }
body.nsa-page .selecteur__plats[hidden] { display: none; }
body.nsa-page .selecteur__plat { padding: .65rem 1.15rem; font-family: var(--sans); font-size: .875rem; color: var(--encre); background: var(--blanc); border: 1px solid var(--filet); border-radius: 999px; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
body.nsa-page .selecteur__plat:hover { border-color: var(--rouge); color: var(--rouge); }
body.nsa-page .selecteur__plat:focus-visible { outline: 2px solid var(--cuivre); outline-offset: 2px; }
body.nsa-page .selecteur__plat[aria-pressed="true"] { background: var(--rouge); border-color: var(--rouge); color: var(--blanc); }

/* ---------- Une famille de plats ---------- */
body.nsa-page .famille { max-width: 60rem; margin: 0 auto; }
body.nsa-page .famille[hidden] { display: none; }
body.nsa-page .famille + .famille { margin-top: clamp(2.5rem, 5vw, 4rem); }
html.selecteur-actif body.nsa-page .famille + .famille { margin-top: 0; }
body.nsa-page .famille__tete { padding-bottom: 1rem; border-bottom: 1px solid var(--filet); }
body.nsa-page .famille__titre { margin: 0; font-family: var(--titre); font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 400; line-height: 1.2; color: var(--encre); }
body.nsa-page .famille__exemples { margin: .35rem 0 0; font-family: var(--sans); font-size: .8125rem; letter-spacing: .04em; color: var(--texte-doux); }
body.nsa-page .famille__vins { margin: 0; padding: 0; list-style: none; }

body.nsa-page .vin { display: grid; grid-template-columns: 6rem minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; padding: 1.5rem 0; border-bottom: 1px solid var(--filet); }
body.nsa-page .vin__visuel { display: block; }
body.nsa-page .vin__visuel img { display: block; width: 6rem; height: 8rem; object-fit: contain; mix-blend-mode: multiply; }
body.nsa-page .vin__type { margin: 0; font-family: var(--sans); font-size: .6875rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--cuivre-texte); }
body.nsa-page .vin__nom { margin: .3rem 0 0; font-family: var(--titre); font-size: 1.375rem; font-weight: 400; line-height: 1.3; }
body.nsa-page .vin__nom a { color: var(--encre); text-decoration: none; }
body.nsa-page .vin__nom a:hover { color: var(--rouge); }
body.nsa-page .vin__conseil { margin: .6rem 0 0; padding: 0 0 0 1rem; border-left: 2px solid var(--cuivre); }
body.nsa-page .vin__conseil p { margin: 0; font-style: italic; line-height: 1.65; color: var(--texte); }
body.nsa-page .vin__achat { display: grid; justify-items: end; gap: .6rem; text-align: right; }
body.nsa-page .vin__prix { margin: 0; font-family: var(--titre); font-size: 1.25rem; color: var(--encre); }
body.nsa-page .vin__ajout { display: inline-block; padding: .7rem 1.1rem; font-family: var(--sans); font-size: .6875rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--blanc); background: var(--rouge); text-decoration: none; white-space: nowrap; }
body.nsa-page .vin__ajout:hover { background: var(--rouge-fonce); }
body.nsa-page .vin .added_to_cart { font-family: var(--sans); font-size: .75rem; color: var(--rouge); }

/* ---------- Suite ---------- */
body.nsa-page .accords-suite { background: var(--fond-2); text-align: center; }
body.nsa-page .accords-suite__contenu { max-width: 40rem; }
body.nsa-page .accords-suite .titre + p { margin-top: 1rem; }
body.nsa-page .accords-suite__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.5rem; }
body.nsa-page .accords-suite__actions .bouton { margin-top: 0; }

@media (max-width: 640px) {
  body.nsa-page .selecteur__plats { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--gouttiere)); padding: 0 var(--gouttiere) .5rem; scrollbar-width: none; }
  body.nsa-page .selecteur__plats::-webkit-scrollbar { display: none; }
  body.nsa-page .selecteur__plat { flex: 0 0 auto; }
  body.nsa-page .vin { grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1rem; }
  body.nsa-page .vin__visuel img { width: 4.5rem; height: 6.5rem; }
  body.nsa-page .vin__achat { grid-column: 1 / -1; grid-template-columns: auto 1fr; align-items: center; justify-items: start; text-align: left; }
  body.nsa-page .vin__ajout { justify-self: end; }
  body.nsa-page .accords-suite__actions .bouton { width: 100%; justify-content: center; }
}
