/* UMA : la carte du restaurant (15 octobre 2026), toujours clair */
:root {
  --papier: #fbf5ea; --blanc: #fffdf8; --bordeaux: #7a1f2b; --bordeaux-pale: #f3e1df; --or: #b08a3c;
  --encre: #2d2420; --gris: #6f6259; --filet: #e8dccb;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--papier); color: var(--encre); font: 400 1.03rem/1.72 Sen, system-ui, sans-serif; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--bordeaux); text-underline-offset: .2em; }
h1, h2, h3, h4 { font-family: 'Gilda Display', Georgia, serif; font-weight: 400; line-height: 1.15; }
.passe { position: absolute; left: -999px; }
.passe:focus { left: 1rem; top: 1rem; background: var(--or); padding: .5rem 1rem; z-index: 9; }

/* le fronton */
.fronton { background: var(--blanc); border-bottom: 3px double var(--or); }
.fronton__in { max-width: 1100px; margin: 0 auto; padding: .9rem 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1.6rem; }
.fronton__nom { display: grid; text-decoration: none; color: var(--bordeaux); font: 400 2rem/1 'Gilda Display', serif; letter-spacing: .2em; }
.fronton__nom span { font: 600 .72rem/1.4 Sen, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--gris); }
.fronton__nav { display: flex; flex-wrap: wrap; gap: .2rem 1.2rem; }
.fronton__nav a { color: var(--encre); text-decoration: none; font-size: .9rem; padding: .4rem 0; border-bottom: 1px solid transparent; }
.fronton__nav a:hover, .fronton__nav a[aria-current] { border-color: var(--or); color: var(--bordeaux); }

main { max-width: 1100px; margin: 0 auto; padding: 0 1rem 3rem; }

/* l'enseigne */
.enseigne { text-align: center; padding: 2.8rem 0 1.6rem; }
.enseigne h1 { margin: 0 auto .8rem; max-width: 820px; font-size: clamp(2rem, 4.6vw, 3.2rem); color: var(--bordeaux); }
.enseigne p { margin: 0 auto; max-width: 700px; color: var(--gris); }
.enseigne .enseigne__service { font: 600 .8rem/1 Sen, sans-serif; letter-spacing: .2em; text-transform: uppercase; color: var(--or); margin-bottom: .6rem; }

/* la carte */
.carte-menu { max-width: 880px; margin: 0 auto; background: var(--blanc); border: 1px solid var(--filet); outline: 1px solid var(--or); outline-offset: -10px; padding: 2.2rem clamp(1rem, 5vw, 3.2rem) 1.6rem; }
.carte-menu__titre { margin: 0 0 1.2rem; text-align: center; font: 400 2.2rem/1 'Gilda Display', serif; color: var(--bordeaux); letter-spacing: .1em; }
.carte-menu__titre::after { content: "❦"; display: block; margin-top: .4rem; font-size: 1.1rem; color: var(--or); }
.carte-menu--suite { margin-top: 2.6rem; }
.service { margin-bottom: 1.8rem; }
.service h2 { display: grid; justify-items: center; gap: .2rem; margin: 0 0 1rem; text-align: center; }
.service h2 span { font: 600 .78rem/1 Sen, sans-serif; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.service h2 a { font-size: 1.6rem; color: var(--encre); text-decoration: none; }
.plats { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.plat { display: grid; grid-template-columns: 52px auto 1fr auto; gap: .8rem; align-items: center; text-decoration: none; color: var(--encre); padding: .3rem 0; }
.plat > * { min-width: 0; }
.plat__img { width: 52px; height: 52px; border-radius: 50%; overflow: hidden; border: 2px solid var(--or); background: var(--filet); }
.plat__img img { width: 100%; height: 100%; object-fit: cover; }
.plat__t { font-weight: 600; line-height: 1.3; max-width: 540px; overflow-wrap: anywhere; }
.plat__points { border-bottom: 2px dotted var(--or); align-self: end; margin-bottom: .45rem; min-width: 1rem; }
.plat__prix { font: 400 1.05rem/1 'Gilda Display', serif; color: var(--bordeaux); white-space: nowrap; }
.plat:hover .plat__t { color: var(--bordeaux); }

/* la suggestion du chef */
.suggestion { max-width: 880px; margin: 2.2rem auto 0; background: var(--bordeaux-pale); border-radius: 4px; padding: 1.4rem; }
.suggestion__titre { margin: 0 0 .9rem; font: 400 1.5rem/1 'Gilda Display', serif; color: var(--bordeaux); text-align: center; }
.suggestion__fiche { display: grid; grid-template-columns: 300px 1fr; gap: 1.2rem; align-items: center; text-decoration: none; color: var(--encre); }
.suggestion__fiche > * { min-width: 0; }
.suggestion__img { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 4px; background: var(--filet); }
.suggestion__img img { width: 100%; height: 100%; object-fit: cover; }
.suggestion__c { display: grid; gap: .4rem; }
.suggestion__t { font: 400 1.4rem/1.25 'Gilda Display', serif; color: var(--bordeaux); }
.suggestion__m { color: var(--gris); font-size: .95rem; }

/* la fiche (article, page) */
.fiche-plat { max-width: 800px; margin: 0 auto; }
.fiche-plat__tete { padding: 2.4rem 0 1rem; text-align: center; }
.fiche-plat__r { font: 600 .78rem/1 Sen, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--or); text-decoration: none; }
.fiche-plat__tete h1 { margin: .7rem 0 .7rem; font-size: clamp(1.7rem, 4vw, 2.6rem); color: var(--bordeaux); overflow-wrap: anywhere; }
.fiche-plat__m { margin: 0; color: var(--gris); font-size: .9rem; }
.fiche-plat__img { margin: .6rem 0 1.8rem; }
.fiche-plat__img img { border-radius: 4px; outline: 1px solid var(--or); outline-offset: 6px; }
.fiche-plat__texte { background: var(--blanc); border: 1px solid var(--filet); padding: 1.6rem clamp(1rem, 4vw, 2.4rem); overflow-wrap: anywhere; }
.fiche-plat__texte h2 { font-size: 1.6rem; margin: 2rem 0 .7rem; color: var(--bordeaux); }
.fiche-plat__texte h3 { font-size: 1.25rem; margin: 1.6rem 0 .5rem; }
.fiche-plat__texte table { width: 100%; border-collapse: collapse; margin: 1.2rem 0; font-size: .93rem; display: block; overflow-x: auto; }
.fiche-plat__texte th, .fiche-plat__texte td { border: 1px solid var(--filet); padding: .55rem .7rem; text-align: left; vertical-align: top; }
.fiche-plat__texte th { background: var(--bordeaux-pale); }
.fiche-plat__texte blockquote { margin: 1.2rem 0; padding: .9rem 1.2rem; border-left: 3px solid var(--or); background: var(--papier); }

/* la plaque de la devanture */
.plaque { padding: 3rem 1rem 2.4rem; }
.plaque__cadre { max-width: 760px; margin: 0 auto; background: linear-gradient(135deg, #f7ecd2, #e9d6a8); border: 2px solid var(--or); border-radius: 6px; padding: 1.6rem 1.4rem; text-align: center; box-shadow: inset 0 0 0 6px rgba(255,255,255,.35); }
.plaque__nom { margin: 0 0 .5rem; font: 400 1.9rem/1 'Gilda Display', serif; letter-spacing: .3em; color: var(--bordeaux); }
.plaque__mot { margin: 0 auto 1rem; max-width: 600px; font-size: .9rem; color: var(--encre); }
.plaque__rubriques { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem 1.2rem; }
.plaque__rubriques a { color: var(--bordeaux); font-weight: 600; text-decoration: none; }
.plaque__pages { display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem 1rem; font-size: .84rem; }
.plaque__pages a { color: var(--encre); }

@media (max-width: 640px) {
  .plat { grid-template-columns: 44px 1fr auto; }
  .plat__img { width: 44px; height: 44px; }
  .plat__points { display: none; }
  .suggestion__fiche { grid-template-columns: 1fr; }
}
