/* ==========================================================================
   Le Reminet — feuille de style
   Ambiance principale sombre ; variante papier (.clair) réservée aux pages annexes
   ========================================================================== */

:root {
  --nuit: #130d0a;
  --nuit-2: #1b1310;
  --ivoire: #efe6d8;
  --papier: #f3ece1;
  --encre: #1e1613;
  --bordeaux: #9c2638;
  --laiton: #b8976a;

  --display: "Gloock", Georgia, serif;
  --texte: "EB Garamond", Garamond, "Times New Roman", serif;

  --largeur: 1320px;
  --gouttiere: clamp(20px, 4.5vw, 64px);
  --colonne-gap: clamp(12px, 2vw, 28px);
}

body {
  --fond: var(--nuit);
  --fond-2: var(--nuit-2);
  --ink: var(--ivoire);
  --doux: rgba(239, 230, 216, .62);
  --filet: rgba(239, 230, 216, .16);
  --accent: var(--laiton);
}
body.clair {
  --fond: var(--papier);
  --fond-2: #ebe2d4;
  --ink: var(--encre);
  --doux: rgba(30, 22, 19, .62);
  --filet: rgba(30, 22, 19, .18);
  --accent: var(--bordeaux);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--fond);
  color: var(--ink);
  font-family: var(--texte);
  font-size: 1.1875rem;
  line-height: 1.65;
  font-feature-settings: "kern", "liga", "onum";
  -webkit-font-smoothing: antialiased;
}
body.menu-ouvert { overflow: hidden; }

img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }

a { color: inherit; text-decoration: none; }

h1, h2, h3 {
  font-family: var(--display);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.01em;
  margin: 0;
}

p { margin: 0 0 1em; }

em { font-style: italic; }

[id] { scroll-margin-top: 120px; }

.conteneur {
  width: 100%;
  max-width: calc(var(--largeur) + 2 * var(--gouttiere));
  margin: 0 auto;
  padding: 0 var(--gouttiere);
}

.grille {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--colonne-gap);
}

.lien-evitement { position: absolute; left: -9999px; }
.lien-evitement:focus { left: 16px; top: 16px; z-index: 100; background: var(--ivoire); color: var(--encre); padding: 8px 14px; }

/* Éléments typographiques -------------------------------------------------- */

.capitales {
  font-family: var(--texte);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0;
}

.lien {
  font-style: italic;
  font-size: 1.15rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--filet);
  text-underline-offset: 7px;
  transition: text-decoration-color .3s;
}
.lien:hover { text-decoration-color: currentColor; }

.bouton {
  display: inline-block;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 13px 24px 12px;
  border: 1px solid var(--doux);
  transition: background-color .3s, color .3s, border-color .3s;
}
.bouton:hover { background: var(--ink); color: var(--fond); border-color: var(--ink); }

.chiffres { font-variant-numeric: lining-nums tabular-nums; }

.signe { width: 34px; margin: 0 auto; }

/* En-tête ------------------------------------------------------------------ */

.entete {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--fond);
}
.entete__ligne {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 96px;
  border-bottom: 1px solid var(--filet);
}
.entete__logo img { width: 150px; }

.entete ul {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.6vw, 40px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.entete__droite { justify-self: end; }
.entete__nav a:not(.bouton) {
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  transition: border-color .3s;
}
.entete__nav a:not(.bouton):hover,
.entete__nav a[aria-current="page"] { border-bottom-color: var(--accent); }

.menu-bouton,
.entete__reserver-mobile { display: none; }

.menu-bouton {
  justify-self: start;
  background: none;
  border: 0;
  padding: 8px 0;
  color: inherit;
  font: 500 .78rem/1 var(--texte);
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
}
.entete__reserver-mobile {
  justify-self: end;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .entete__ligne { height: 72px; }
  .entete__logo img { width: 118px; }
  .entete__nav { display: none; }
  .menu-bouton,
  .entete__reserver-mobile { display: block; }
  .entete__logo { grid-column: 2; grid-row: 1; }
  .menu-bouton { grid-column: 1; grid-row: 1; }
  .entete__reserver-mobile { grid-column: 3; grid-row: 1; }
}

/* Menu plein écran (mobile) */
.menu-mobile {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
  flex-direction: column;
  background: var(--nuit);
  color: var(--ivoire);
  padding: 0 var(--gouttiere) 40px;
}
body.menu-ouvert .menu-mobile { display: flex; }
.menu-mobile__haut {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 72px;
  border-bottom: 1px solid rgba(239, 230, 216, .16);
}
.menu-mobile__haut img { width: 118px; }
.menu-mobile ul { list-style: none; margin: 48px 0 auto; padding: 0; }
.menu-mobile li a {
  display: block;
  font-family: var(--display);
  font-size: 2.4rem;
  line-height: 1.1;
  padding: 12px 0;
}
.menu-mobile li a[aria-current="page"] { font-style: italic; color: var(--laiton); }
.menu-mobile__pied { color: rgba(239, 230, 216, .62); font-size: 1.05rem; }
.menu-mobile__pied p { margin: 0; }

/* Accueil — prélude -------------------------------------------------------- */

.prelude { padding: clamp(40px, 6vw, 88px) 0 clamp(80px, 10vw, 150px); }
.prelude .grille { align-items: end; }

.prelude__titre {
  grid-column: 1 / 8;
  grid-row: 1;
  font-size: clamp(3rem, 6.3vw, 6.6rem);
  line-height: .98;
  letter-spacing: -.02em;
  margin-bottom: .45em;
}
.prelude__titre em { color: var(--laiton); }

.prelude__figure { grid-column: 8 / 13; grid-row: 1 / 3; }
.prelude__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.prelude__figure figcaption,
.legende {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-top: 14px;
  font-style: italic;
  font-size: 1rem;
  color: var(--doux);
}

.prelude__pied { grid-column: 1 / 7; grid-row: 2; }
.prelude__pied p { color: var(--doux); max-width: 26em; }
.prelude__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 36px; margin-top: 32px; }

@media (max-width: 860px) {
  .prelude .grille { grid-template-columns: 1fr; }
  .prelude__titre,
  .prelude__figure,
  .prelude__pied { grid-column: 1; grid-row: auto; }
  .prelude__titre { font-size: clamp(2.7rem, 12vw, 4rem); margin-bottom: 36px; }
  .prelude__figure { margin-bottom: 40px; }
}

/* Accueil — intention ------------------------------------------------------ */

.intention {
  padding: clamp(100px, 14vw, 210px) 0;
  text-align: center;
  border-top: 1px solid var(--filet);
}
.intention .signe { margin-bottom: 56px; }
.intention__texte {
  font-family: var(--display);
  font-size: clamp(1.55rem, 3vw, 2.55rem);
  line-height: 1.32;
  letter-spacing: -.01em;
  max-width: 23em;
  margin: 0 auto;
}
.intention__signature { margin-top: 48px; font-style: italic; color: var(--doux); }

/* Accueil — tableaux (assiettes) ------------------------------------------- */

.tableaux { padding-bottom: clamp(100px, 12vw, 190px); }

.tableaux__intro { grid-column: 7 / 12; grid-row: 1; align-self: start; padding-top: clamp(20px, 5vw, 80px); }
.tableaux__intro h2 { font-size: clamp(2.4rem, 4.6vw, 4.2rem); margin: 20px 0 24px; }
.tableaux__intro p { color: var(--doux); max-width: 24em; }

.tableau img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.tableau--1 { grid-column: 1 / 6; grid-row: 1 / 3; }
.tableau--2 { grid-column: 8 / 12; grid-row: 2; margin-top: 72px; }
.tableau--3 { grid-column: 2 / 6; grid-row: 3; margin-top: 140px; }
.tableau--4 { grid-column: 7 / 12; grid-row: 3; margin-top: 300px; }

.tableau figcaption {
  display: grid;
  grid-template-columns: 2.2rem 1fr;
  column-gap: 12px;
  padding-top: 18px;
}
.tableau__numero {
  grid-row: span 2;
  font-family: var(--display);
  font-style: italic;
  font-size: 1.35rem;
  line-height: 1.2;
  color: var(--accent);
}
.tableau__nom { font-family: var(--display); font-size: 1.35rem; line-height: 1.25; }
.tableau__desc { font-style: italic; color: var(--doux); font-size: 1.05rem; }

.tableaux__suite { grid-column: 1 / -1; text-align: center; margin-top: clamp(64px, 8vw, 120px); }

@media (max-width: 860px) {
  .tableaux .grille { grid-template-columns: 1fr; row-gap: 56px; }
  .tableaux__intro,
  .tableau { grid-column: 1; grid-row: auto; margin-top: 0; }
  .tableau--2,
  .tableau--4 { width: 82%; justify-self: end; }
  .tableau--3 { width: 82%; }
  .tableaux__suite { margin-top: 0; }
}

/* Accueil — aperçu de la carte --------------------------------------------- */

.apercu { background: var(--fond-2); padding: clamp(100px, 12vw, 190px) 0; }
.apercu .grille { align-items: center; }
.apercu__image { grid-column: 1 / 8; grid-row: 1; }
.apercu__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

.feuillet {
  grid-column: 7 / 12;
  grid-row: 1;
  position: relative;
  z-index: 1;
  background: var(--papier);
  color: var(--encre);
  text-align: center;
  padding: clamp(44px, 5vw, 76px) clamp(28px, 4vw, 64px);
  outline: 1px solid rgba(30, 22, 19, .22);
  outline-offset: -12px;
  box-shadow: 0 50px 80px -30px rgba(0, 0, 0, .6);
}
.feuillet .capitales { color: var(--bordeaux); }
.feuillet__logo { width: 120px; margin: 0 auto 36px; }
.feuillet h2 { font-size: clamp(1.9rem, 2.6vw, 2.4rem); margin: 14px 0 28px; }
.feuillet ol { list-style: none; margin: 0 0 32px; padding: 0; }
.feuillet li { font-style: italic; font-size: 1.15rem; line-height: 1.4; }
.feuillet li + li::before {
  content: "";
  display: block;
  width: 18px;
  height: 1px;
  background: rgba(30, 22, 19, .3);
  margin: 14px auto;
}
.feuillet__prix { font-family: var(--display); font-size: 1.7rem; margin-bottom: 4px; }
.feuillet__accord { color: rgba(30, 22, 19, .62); font-size: 1.05rem; }
.feuillet .lien { text-decoration-color: rgba(30, 22, 19, .3); }

@media (max-width: 860px) {
  .apercu .grille { grid-template-columns: 1fr; }
  .apercu__image,
  .feuillet { grid-column: 1; grid-row: auto; }
  .feuillet { margin: -96px 14px 0; }
}

/* Accueil — cave ----------------------------------------------------------- */

.cave-accueil { padding: clamp(100px, 12vw, 190px) 0; }
.cave-accueil .grille { align-items: end; }
.cave-accueil__texte { grid-column: 1 / 6; grid-row: 1; padding-bottom: 8px; }
.cave-accueil__texte h2 { font-size: clamp(2.4rem, 4.6vw, 4.2rem); margin: 20px 0 28px; }
.cave-accueil__texte > p { color: var(--doux); max-width: 25em; }
.cave-accueil__image { grid-column: 7 / 13; grid-row: 1; }
.cave-accueil__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

.au-verre { list-style: none; margin: 40px 0 36px; padding: 0; border-top: 1px solid var(--filet); }
.au-verre li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 24px;
  padding: 14px 0;
  border-bottom: 1px solid var(--filet);
}
.au-verre span:first-child { font-family: var(--display); font-size: 1.1rem; }
.au-verre em { grid-column: 1; color: var(--doux); font-size: 1rem; }
.au-verre .chiffres { grid-row: 1; grid-column: 2; }

@media (max-width: 860px) {
  .cave-accueil .grille { grid-template-columns: 1fr; }
  .cave-accueil__texte,
  .cave-accueil__image { grid-column: 1; grid-row: auto; }
  .cave-accueil__image { order: -1; margin-bottom: 48px; }
}

/* Réserver (bas de page) --------------------------------------------------- */

.reserver {
  padding: clamp(100px, 12vw, 190px) 0 clamp(80px, 9vw, 130px);
  border-top: 1px solid var(--filet);
  text-align: center;
}
.reserver h2 {
  font-size: clamp(2.8rem, 7.4vw, 6.8rem);
  font-style: italic;
  margin: 24px 0 28px;
}
.reserver__tel { font-family: var(--display); font-size: clamp(1.5rem, 2.4vw, 2rem); }
.reserver__note { color: var(--doux); margin-top: 12px; }
.reserver__action { margin-top: 36px; }

.infos-ligne {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: clamp(72px, 9vw, 120px);
  padding-top: 40px;
  border-top: 1px solid var(--filet);
  text-align: center;
}
.infos-ligne .capitales { margin-bottom: 14px; }
.infos-ligne p { margin: 0; }

@media (max-width: 760px) {
  .infos-ligne { grid-template-columns: 1fr; gap: 36px; }
}

/* Pages intérieures -------------------------------------------------------- */

.titre-page {
  padding: clamp(72px, 10vw, 150px) 0 clamp(64px, 8vw, 110px);
  text-align: center;
}
.titre-page h1 {
  font-size: clamp(3.2rem, 8.4vw, 7.6rem);
  letter-spacing: -.02em;
  margin: 22px 0 28px;
}
.titre-page__chapeau {
  font-style: italic;
  font-size: 1.3rem;
  line-height: 1.5;
  color: var(--doux);
  max-width: 28em;
  margin: 0 auto;
}

/* La carte (feuille imprimée) */
.menu { max-width: 700px; margin: 0 auto; text-align: center; padding-bottom: clamp(80px, 10vw, 140px); }

.menu__dejeuner {
  padding: 28px 0;
  border-top: 1px solid var(--filet);
  border-bottom: 1px solid var(--filet);
  font-style: italic;
  color: var(--doux);
}
.menu__dejeuner strong { font-style: normal; font-weight: 400; color: var(--ink); }

.menu__rubrique { padding: clamp(64px, 8vw, 100px) 0 0; }
.menu__rubrique h2 { font-size: clamp(2.2rem, 4vw, 3rem); margin: 18px 0 8px; }

.plat { margin: 40px 0 0; }
.plat__nom { font-family: var(--display); font-size: 1.45rem; line-height: 1.25; margin: 0; }
.plat__desc { font-style: italic; color: var(--doux); margin: 6px 0 4px; }
.plat__prix { font-size: 1.05rem; letter-spacing: .06em; margin: 0; }

.menu__image { width: min(320px, 72%); margin: clamp(72px, 9vw, 110px) auto 0; }
.menu__image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.menu__image .legende { justify-content: center; }

.degustation {
  margin-top: clamp(72px, 9vw, 110px);
  padding: clamp(48px, 6vw, 80px) clamp(24px, 5vw, 72px);
  border: 1px solid var(--filet);
  outline: 1px solid var(--filet);
  outline-offset: -10px;
}
.degustation h2 { font-size: clamp(2.2rem, 4vw, 3rem); margin: 18px 0 8px; }
.degustation ol { list-style: none; margin: 40px 0; padding: 0; }
.degustation li { padding: 12px 0; font-family: var(--display); font-size: 1.3rem; line-height: 1.3; }
.degustation__romain {
  display: block;
  font-family: var(--display);
  font-style: italic;
  color: var(--accent);
  font-size: 1.1rem;
}
.degustation__prix { font-family: var(--display); font-size: 2rem; margin: 0; }

.mentions-carte {
  margin-top: clamp(64px, 8vw, 100px);
  font-size: 1rem;
  font-style: italic;
  color: var(--doux);
}
.mentions-carte p { margin: 0 0 .3em; }

/* La cave */
.vins .grille { align-items: start; }
.vins__liste { grid-column: 1 / 8; }
.vins__visuel { grid-column: 9 / 13; position: sticky; top: 130px; }
.vins__visuel img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

.vins__rubrique + .vins__rubrique { margin-top: clamp(64px, 8vw, 100px); }
.vins__rubrique h2 { font-size: clamp(2rem, 3.4vw, 2.6rem); padding-bottom: 18px; }

.vin,
.vins__entetes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px 64px;
  column-gap: 20px;
}
.vins__entetes {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--filet);
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--doux);
}
.vins__entetes span,
.vin .chiffres { text-align: right; }
.vin { padding: 18px 0; border-bottom: 1px solid var(--filet); }
.vin__nom { font-family: var(--display); font-size: 1.2rem; line-height: 1.3; }
.vin__detail { grid-column: 1; font-style: italic; color: var(--doux); font-size: 1.02rem; }
.vin .chiffres { grid-row: 1; padding-top: 2px; }
.vin__verre { grid-column: 2; }
.vin__btl { grid-column: 3; }

.vins__mentions { margin-top: 56px; font-style: italic; color: var(--doux); font-size: 1rem; }

@media (max-width: 860px) {
  .vins .grille { grid-template-columns: 1fr; }
  .vins__liste,
  .vins__visuel { grid-column: 1; }
  .vins__visuel { position: static; order: -1; width: 72%; margin: 0 auto 72px; }
}
@media (max-width: 520px) {
  .vin,
  .vins__entetes { grid-template-columns: minmax(0, 1fr) 40px 40px; column-gap: 14px; }
}

/* La maison : chapitres */
.chapitre { padding: clamp(80px, 10vw, 150px) 0; border-top: 1px solid var(--filet); }
.chapitre .grille { align-items: center; }
.chapitre h2 { font-size: clamp(2.2rem, 4.2vw, 3.8rem); margin: 20px 0 32px; }
.chapitre__texte p { color: var(--doux); }
.chapitre__texte p:first-of-type { color: var(--ink); }
.chapitre img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

.chapitre--a .chapitre__image { grid-column: 1 / 6; }
.chapitre--a .chapitre__texte { grid-column: 7 / 12; }
.chapitre--b .chapitre__texte { grid-column: 2 / 6; grid-row: 1; }
.chapitre--b .chapitre__image { grid-column: 7 / 13; grid-row: 1; }

.chapitre--c { text-align: center; }
.chapitre--c .chapitre__image { grid-column: 4 / 10; }
.chapitre--c .chapitre__texte { grid-column: 3 / 11; margin-top: 64px; }
.chapitre--c .chapitre__texte p { max-width: 30em; margin-left: auto; margin-right: auto; }

@media (max-width: 860px) {
  .chapitre .grille { grid-template-columns: 1fr; row-gap: 48px; }
  .chapitre .chapitre__image,
  .chapitre .chapitre__texte { grid-column: 1; grid-row: auto; margin-top: 0; }
}

.galerie { padding: clamp(80px, 10vw, 150px) 0; border-top: 1px solid var(--filet); }
.galerie h2 { grid-column: 1 / -1; text-align: center; font-size: clamp(2.2rem, 4.2vw, 3.8rem); margin: 20px 0 clamp(56px, 7vw, 96px); }
.galerie .capitales { grid-column: 1 / -1; text-align: center; }
.galerie img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.galerie figure:nth-of-type(1) { grid-column: 1 / 5; }
.galerie figure:nth-of-type(2) { grid-column: 6 / 9; margin-top: 160px; }
.galerie figure:nth-of-type(3) { grid-column: 10 / 13; margin-top: 60px; }
.galerie figure:nth-of-type(4) { grid-column: 2 / 5; margin-top: 64px; }
.galerie figure:nth-of-type(5) { grid-column: 6 / 10; margin-top: 56px; }
.galerie figure:nth-of-type(6) { grid-column: 10 / 13; margin-top: 180px; }

@media (max-width: 860px) {
  .galerie .grille { grid-template-columns: 1fr 1fr; row-gap: 16px; }
  .galerie figure:nth-of-type(n) { grid-column: auto; margin-top: 0; }
  .galerie figure:nth-of-type(even) { margin-top: 48px; }
}

/* Infos & réservation */
.reservation { padding-bottom: clamp(80px, 10vw, 150px); }
.reservation .grille { align-items: start; }
.reservation__texte { grid-column: 1 / 6; }
.reservation__texte h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); margin: 20px 0 20px; }
.reservation__texte p { color: var(--doux); }
.reservation__texte .reserver__tel { display: inline-block; margin: 8px 0 28px; color: var(--ink); }
.module-reservation {
  grid-column: 7 / 13;
  min-height: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px;
  border: 1px solid var(--filet);
  outline: 1px solid var(--filet);
  outline-offset: -10px;
  font-style: italic;
  color: var(--doux);
}

@media (max-width: 860px) {
  .reservation .grille { grid-template-columns: 1fr; row-gap: 56px; }
  .reservation__texte,
  .module-reservation { grid-column: 1; }
  .module-reservation { min-height: 320px; }
}

.pratique { padding: clamp(80px, 10vw, 150px) 0; border-top: 1px solid var(--filet); }
.pratique .grille { row-gap: 48px; }
.pratique__bloc { grid-column: span 4; }
.pratique__bloc .capitales { margin-bottom: 18px; }
.pratique__bloc p { margin-bottom: .4em; }
.pratique__bloc .doux { color: var(--doux); }

.horaires { width: 100%; border-collapse: collapse; }
.horaires th,
.horaires td {
  font-weight: 400;
  text-align: left;
  vertical-align: top;
  padding: 10px 0;
  border-bottom: 1px solid var(--filet);
}
.horaires tr:first-child th,
.horaires tr:first-child td { border-top: 1px solid var(--filet); }
.horaires td { text-align: right; font-variant-numeric: lining-nums; }

.plan {
  grid-column: 1 / -1;
  aspect-ratio: 21 / 8;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--filet);
  font-style: italic;
  color: var(--doux);
}

@media (max-width: 860px) {
  .pratique__bloc { grid-column: 1 / -1; }
  .plan { aspect-ratio: 4 / 3; }
}

/* Texte courant */
.texte-courant { max-width: 40em; margin: 0 auto; padding-bottom: clamp(80px, 10vw, 140px); }
.texte-courant h2 { font-size: 1.8rem; margin: 56px 0 16px; }
.texte-courant h2:first-child { margin-top: 0; }

/* Pied de page ------------------------------------------------------------- */

.pied { padding: 80px 0 40px; border-top: 1px solid var(--filet); text-align: center; }
.pied .signe { margin-bottom: 36px; }
.pied ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 36px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.pied ul a:hover { color: var(--accent); }
.pied__adresse { margin: 36px 0 0; font-style: italic; color: var(--doux); }
.pied__bas {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 64px;
  padding-top: 24px;
  border-top: 1px solid var(--filet);
  font-size: .95rem;
  color: var(--doux);
}
.pied__bas p { margin: 0; }
.pied__bas a:hover { color: var(--ink); }

@media (max-width: 600px) {
  .pied__bas { justify-content: center; text-align: center; }
}


/* ========================================================================
   Ajustements ciblés (brief) — aucune modification de la palette originale
   ======================================================================== */

/* Navbar : logo original à gauche et burger seul à droite, à toute largeur. */
.entete__ligne {
  display: flex;
  justify-content: space-between;
  height: 88px;
  gap: 24px;
}
.entete__logo { display: inline-flex; flex: 0 0 auto; align-items: center; }
.entete__logo img { width: 150px; }
.entete .menu-bouton { display: inline-flex; align-items: center; justify-content: flex-end; gap: 15px; flex: 0 0 auto; }
.menu-bouton__icone { display: inline-flex; width: 30px; flex-direction: column; gap: 7px; }
.menu-bouton__icone span { display: block; height: 1px; width: 100%; background: currentColor; }
.menu-bouton__texte { line-height: 1; }
.menu-fermer { display: inline-flex; align-items: center; gap: 12px; }
.menu-fermer__croix { font: 400 1.85rem/1 var(--texte); }
.menu-mobile nav { flex: 1; overflow-y: auto; min-height: 0; }
.menu-mobile nav ul { margin: clamp(28px, 6vh, 56px) 0 30px; }
.menu-mobile li a { font-size: clamp(1.7rem, 4.3vw, 3rem); padding: clamp(8px, 1.4vh, 15px) 0; }
.menu-mobile__pied { padding-top: 18px; border-top: 1px solid rgba(239,230,216,.16); }
.menu-bouton:focus-visible, .entete__logo:focus-visible,
.menu-mobile a:focus-visible { outline: 2px solid var(--laiton); outline-offset: 5px; }

/* Hero bord à bord : photographie pleine largeur + titres/couleurs d'origine. */
.prelude { position: relative; isolation: isolate; padding: 0; overflow: hidden; }
.prelude::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(19,13,10,.78) 0%, rgba(19,13,10,.44) 48%, rgba(19,13,10,.06) 100%),
              linear-gradient(0deg, rgba(19,13,10,.6) 0%, transparent 65%);
}
.prelude__figure { position: absolute; inset: 0; width: 100%; height: 100%; }
.prelude__figure img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 52%; aspect-ratio: auto; }
.prelude__contenu {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: clamp(620px, calc(100svh - 88px), 940px);
  padding-top: clamp(72px, 10vh, 140px);
  padding-bottom: clamp(56px, 7vw, 105px);
}
.prelude__titre {
  width: 100%;
  max-width: 860px;
  font-size: clamp(3rem, 5.8vw, 6.15rem);
  letter-spacing: -.02em;
  margin: 0 0 26px;
}
.prelude__pied { max-width: 38rem; }
.prelude__pied p { color: rgba(239,230,216,.9); max-width: 33rem; }
.prelude__actions { margin-top: 22px; }
.prelude .lien { color: var(--ivoire); }

/* Original Maison content now lives on the home page. */
.ancre-section { height: 0; }
.maison__entete { text-align: center; padding-top: clamp(80px, 10vw, 150px); padding-bottom: clamp(56px, 6vw, 85px); }
.maison__entete h2 { font-size: clamp(2.5rem, 5vw, 4.6rem); margin-top: 14px; }
.maison__entete + .chapitre { border-top: 1px solid var(--filet); }

/* Galerie resserrée : 3 colonnes volontairement décalées comme la référence. */
.galerie--accueil { padding-top: clamp(88px, 10vw, 145px); padding-bottom: clamp(88px, 10vw, 145px); }
.galerie--accueil .capitales { text-align: center; }
.galerie--accueil h2 { font-size: clamp(2.4rem, 4.2vw, 3.8rem); text-align: center; margin: 20px 0 clamp(42px, 5.5vw, 70px); }
.galerie__mosaique { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.1vw, 16px); align-items: start; }
.galerie__col { display: flex; flex-direction: column; gap: clamp(10px, 1.1vw, 16px); min-width: 0; }
.galerie__col--2 { padding-top: clamp(55px, 10vw, 150px); }
.galerie__col--3 { padding-top: clamp(20px, 4vw, 65px); }
.galerie--accueil .galerie__col figure { margin: 0; }
.galerie--accueil .galerie__col img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.galerie--accueil .galerie__col--1 figure:first-child img { aspect-ratio: 5 / 4; }
.galerie--accueil .galerie__col--2 figure:first-child img { aspect-ratio: 4 / 5; }
.galerie--accueil .galerie__col--3 figure:nth-child(2) img { aspect-ratio: 4 / 5; }

/* Formulaire encore à brancher dans le prototype, sans fausse réservation. */
.module-reservation--accueil { width: min(100%, 680px); min-height: 170px; margin: 48px auto 0; }

@media (max-width: 860px) {
  .entete__ligne { height: 72px; }
  .entete__logo img { width: 118px; }
  .prelude__contenu { min-height: clamp(580px, calc(100svh - 72px), 860px); }
  .prelude__figure img { object-position: 50% 50%; }
  .prelude__titre { font-size: clamp(2.6rem, 8vw, 4.5rem); max-width: 720px; margin-bottom: 24px; }
  .prelude__pied { margin: 0; }
  .galerie--accueil .galerie__col figure:nth-of-type(n) { margin-top: 0; }
}
@media (max-width: 640px) {
  .menu-bouton__icone { width: 27px; }
  .prelude__contenu { min-height: clamp(630px, calc(100svh - 72px), 850px); padding-top: 74px; padding-bottom: 54px; }
  .prelude__figure img { object-position: 53% 50%; }
  .prelude::after { background: linear-gradient(0deg, rgba(19,13,10,.88) 0%, rgba(19,13,10,.43) 58%, rgba(19,13,10,.12) 100%); }
  .prelude__titre { font-size: clamp(2.35rem, 10.1vw, 3.7rem); line-height: 1.02; margin-bottom: 22px; }
  .prelude__pied p { line-height: 1.4; }
  .prelude__actions { gap: 15px 22px; margin-top: 18px; }
  .galerie__mosaique { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .galerie__col { gap: 9px; }
  .galerie__col--2 { padding-top: 40px; }
  .galerie__col--3 { grid-column: 1 / -1; padding-top: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; align-items: start; }
  .galerie--accueil .galerie__col--3 figure:nth-child(3) { grid-column: 1 / -1; width: calc(50% - 5px); justify-self: center; }
  .module-reservation--accueil { min-height: 150px; padding: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* ========================================================================
   Ajustements éditoriaux — version détaillée, sans changer la DA d'origine
   ======================================================================== */

/* Titre et accroche alignés au centre du hero bord à bord. */
.prelude__contenu {
  align-items: center;
  justify-content: center;
  text-align: center;
}
.prelude::after {
  background: linear-gradient(0deg, rgba(19, 13, 10, .67), rgba(19, 13, 10, .34) 53%, rgba(19, 13, 10, .44));
}
.prelude__titre {
  max-width: none;
  margin: 0;
  font-size: clamp(3.4rem, 8vw, 8rem);
  line-height: 1.04;
}
.prelude__sous-titre {
  color: var(--ivoire);
  margin: 20px auto 0;
  font-size: clamp(1.25rem, 2.1vw, 1.9rem);
  line-height: 1.35;
  max-width: 32rem;
}
.prelude__pied { width: 100%; max-width: none; }
.prelude__actions { justify-content: center; margin-top: clamp(30px, 4.5vw, 52px); }
.prelude .lien--droit, .lien--droit { font-style: normal; }
.prelude__pied .lien { font-style: normal; }

/* Texte institutionnel sans signature de chef. */
.intention__texte {
  font-size: clamp(1.45rem, 2.55vw, 2.15rem);
  max-width: 29em;
  line-height: 1.48;
}

/* Une seule couleur, aucune italique pour les titres éditoriaux demandés. */
.tableaux__intro h2, .cave-accueil__texte h2 { color: var(--ink); font-style: normal; }
.tableaux__intro h2 { margin-top: 0; font-size: clamp(2.1rem, 3.7vw, 3.3rem); line-height: 1.18; }
.tableaux .tableau { overflow: hidden; }
.tableaux__suite .lien { font-style: normal; }
.cave-accueil__texte h2 { margin-top: 0; }

/* Carte DigiChef : on conserve le feuillet papier et la cave sombre du site. */
.digichef-apercu { width: 100%; }
.digichef-apercu__categorie + .digichef-apercu__categorie { margin-top: 22px; }
.digichef-apercu__titre {
  font: 500 .75rem/1.4 var(--texte);
  letter-spacing: .16em;
  text-transform: uppercase;
  margin: 0 0 6px;
  color: var(--accent);
}
.digichef-apercu--papier .digichef-apercu__titre { color: var(--bordeaux); }
.digichef-item--compact { text-align: center; }
.digichef-item__nom {
  font-family: var(--texte);
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.35;
  overflow-wrap: anywhere;
  margin: 0;
}
.digichef-item__prix {
  display: block;
  font-size: .98rem;
  font-style: normal;
  white-space: normal;
  margin-top: 4px;
  color: var(--doux);
}
.digichef-apercu--papier .digichef-item__prix { color: rgba(30, 22, 19, .66); }
.digichef-cta { margin: 34px 0 0; }
.digichef-cta .bouton { text-align: center; }
.bouton--papier { color: var(--encre); border-color: rgba(30, 22, 19, .42); }
.bouton--papier:hover { color: var(--papier); background: var(--encre); border-color: var(--encre); }
.digichef-etat { font-size: .98rem; font-style: normal; line-height: 1.4; color: var(--doux); margin: 16px 0 0; }
.digichef-apercu--papier .digichef-etat { color: rgba(30, 22, 19, .60); }
.digichef-etat .lien { display: inline-block; font-size: inherit; }
.digichef-apercu--vins { margin-top: 36px; }
.digichef-apercu--vins .digichef-apercu__categorie {
  padding: 16px 0;
  border-bottom: 1px solid var(--filet);
}
.digichef-apercu--vins .digichef-apercu__categorie:first-child { border-top: 1px solid var(--filet); }
.digichef-apercu--vins .digichef-apercu__categorie + .digichef-apercu__categorie { margin-top: 0; }
.digichef-apercu--vins .digichef-item--compact { text-align: left; }
.digichef-apercu--vins .digichef-item__prix { text-align: left; }
.cave-accueil .digichef-cta { margin-top: 28px; }
.cave-accueil .digichef-cta .bouton { max-width: 100%; }

/* Page Carte live : hiérarchie et rythme hérités de la feuille de style. */
.carte-onglets { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 36px; margin: 38px 0 0; }
.carte-onglets a { border-bottom: 1px solid var(--filet); padding-bottom: 8px; font-size: 1.1rem; }
.carte-onglets a:hover { border-color: var(--accent); }
.carte-dynamique { border-top: 1px solid var(--filet); padding-top: clamp(72px, 9vw, 120px); }
.carte-dynamique--vins { background: var(--fond-2); }
.carte-dynamique--vins .signe { margin-bottom: 24px; }
.carte-dynamique__titre { text-align: center; font-size: clamp(2.4rem, 5vw, 4.5rem); margin-bottom: clamp(4px, 2vw, 26px); }
.carte-dynamique .menu { padding-bottom: clamp(90px, 10vw, 145px); }
.carte-dynamique .digichef-rubrique { padding-top: clamp(50px, 7vw, 90px); }
.digichef-rubrique__titre { font-size: clamp(1.65rem, 3.5vw, 2.5rem); margin-bottom: 24px; }
.digichef-rubrique .digichef-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 18px; row-gap: 3px; margin: 0; padding: 17px 0; border-bottom: 1px solid var(--filet); }
.digichef-rubrique .digichef-item__nom { font-size: clamp(1.15rem, 2.1vw, 1.4rem); font-family: var(--display); text-align: left; }
.digichef-rubrique .digichef-item__prix { grid-column: 2; grid-row: 1; font-size: 1rem; margin: 1px 0 0; text-align: right; max-width: 13rem; }
.digichef-rubrique .digichef-item__detail { grid-column: 1 / -1; font-size: 1rem; font-style: normal; color: var(--doux); text-align: left; margin: 0; }
.carte-dynamique .digichef-etat { text-align: center; margin: 42px 0; }

@media (max-width: 640px) {
  .prelude__contenu { justify-content: center; padding-top: 90px; padding-bottom: 80px; }
  .prelude__titre { font-size: clamp(3.1rem, 13.5vw, 4.6rem); margin: 0; }
  .prelude__sous-titre { font-size: 1.25rem; max-width: 17rem; margin-top: 22px; }
  .prelude__actions { flex-direction: column; gap: 18px; margin-top: 32px; }
  .intention__texte { font-size: 1.45rem; }
  .tableaux__intro h2 { font-size: clamp(2.15rem, 8.5vw, 2.85rem); }
  .digichef-rubrique .digichef-item { grid-template-columns: minmax(0, 1fr); }
  .digichef-rubrique .digichef-item__prix { grid-column: 1; grid-row: auto; text-align: left; margin-top: 2px; }
  .digichef-rubrique .digichef-item__detail { grid-column: 1; }
}


/* ========================================================================
   Retouches V3 : espacements des tableaux + réservation OpenTable fictive
   ======================================================================== */

/* Les décalages sont divisés par deux pour conserver l'asymétrie d'origine
   tout en rapprochant les quatre photographies. */
.tableau--2 { margin-top: 36px; }
.tableau--3 { margin-top: 70px; }
.tableau--4 { margin-top: 150px; }

/* Même taille et même graisse que le titre « La carte des vins ». */
.reserver h2 {
  font-size: clamp(2.4rem, 4.6vw, 4.2rem);
  font-style: normal;
  margin-bottom: 34px;
}

/* Visuel de réservation : pas de faux contrôles interactifs. */
.module-reservation--accueil.opentable-placeholder {
  display: block;
  width: min(100%, 880px);
  min-height: 0;
  margin: 34px auto 0;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid var(--filet);
  outline: none;
  background: var(--fond-2);
  color: var(--ink);
  font-style: normal;
}
.opentable-placeholder__entete { margin: 0 auto 24px; }
.opentable-placeholder__entete p { margin: 10px 0 0; font-size: 1.2rem; }
.opentable-placeholder__marque {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font: 600 1.2rem/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: -.03em;
  text-transform: none;
}
.opentable-placeholder__symbole {
  width: 20px;
  height: 20px;
  border: 6px solid var(--bordeaux);
  border-radius: 50%;
}
.opentable-placeholder__champs {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr auto;
  gap: 10px;
  align-items: stretch;
  text-align: left;
}
.opentable-placeholder__champ {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 10px 14px;
  border: 1px solid var(--filet);
  background: var(--fond);
}
.opentable-placeholder__libelle {
  color: var(--doux);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.opentable-placeholder__valeur {
  font-size: 1.13rem;
  line-height: 1.45;
  white-space: nowrap;
}
.opentable-placeholder__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  background: var(--bordeaux);
  color: var(--ivoire);
  font-size: .83rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .035em;
  text-align: center;
  white-space: nowrap;
}
.opentable-placeholder__note {
  color: var(--doux);
  font-size: .88rem;
  font-style: normal;
  line-height: 1.4;
  margin: 20px 0 0;
}
.infos-ligne a { text-decoration: underline; text-decoration-color: var(--filet); text-underline-offset: 5px; }
.infos-ligne a:hover { text-decoration-color: var(--accent); }

@media (max-width: 860px) {
  .tableaux .grille { row-gap: 28px; }
  .tableau--2, .tableau--3, .tableau--4 { margin-top: 0; }
  .opentable-placeholder__champs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .opentable-placeholder__cta { grid-column: 1 / -1; min-height: 48px; }
}
@media (max-width: 540px) {
  .opentable-placeholder__champs { grid-template-columns: 1fr; }
  .opentable-placeholder__champ { min-height: 58px; }
  .opentable-placeholder__cta { grid-column: 1; }
  .opentable-placeholder__valeur { white-space: normal; }
}


/* Retouche V3.1 : placeholder OpenTable fourni par le client */
.module-reservation--accueil.opentable-placeholder {
  max-width: 340px;
  margin: 0 auto 48px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.opentable-placeholder__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
}

/* ========================================================================
   Retouches V4 — navigation, aperçus et cartes DigiChef sur fond sombre
   ======================================================================== */

/* En-tête plus fin sans réduire excessivement la zone cliquable du burger. */
.entete__ligne { height: 74px; }
.entete__logo img { width: 133px; }
.entete .menu-bouton { min-height: 44px; }
.menu-bouton__icone span { transition: transform .3s ease, opacity .2s ease; transform-origin: center; }
body.menu-ouvert .entete .menu-bouton__icone span:first-child { transform: translateY(4px) rotate(45deg); }
body.menu-ouvert .entete .menu-bouton__icone span:last-child { transform: translateY(-4px) rotate(-45deg); }

/* Ouverture/fermeture douce du panneau ; liens centrés sur les deux axes. */
.menu-mobile {
  display: flex;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-12px);
  transition: opacity .34s ease, transform .42s cubic-bezier(.2,.75,.3,1), visibility 0s linear .42s;
}
body.menu-ouvert .menu-mobile {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity .34s ease, transform .42s cubic-bezier(.2,.75,.3,1), visibility 0s;
}
.menu-mobile__haut { height: 68px; flex: 0 0 auto; }
.menu-mobile nav { display: flex; align-items: center; justify-content: center; text-align: center; }
.menu-mobile nav ul { width: 100%; margin: auto 0; padding: 20px 0; }
.menu-mobile li a { font-style: normal; }
.menu-mobile li a[aria-current="page"] { font-style: normal; color: inherit; }
.menu-mobile__pied { flex: 0 0 auto; text-align: center; }
.menu-fermer__croix { display: inline-block; transition: transform .35s ease; }
body.menu-ouvert .menu-fermer__croix { transform: rotate(90deg); }
@keyframes remMenuEntree {
  from { opacity: 0; transform: translateY(13px); }
  to { opacity: 1; transform: translateY(0); }
}
body.menu-ouvert .menu-mobile nav li { animation: remMenuEntree .42s ease both; }
body.menu-ouvert .menu-mobile nav li:nth-child(1) { animation-delay: .07s; }
body.menu-ouvert .menu-mobile nav li:nth-child(2) { animation-delay: .11s; }
body.menu-ouvert .menu-mobile nav li:nth-child(3) { animation-delay: .15s; }
body.menu-ouvert .menu-mobile nav li:nth-child(4) { animation-delay: .19s; }
body.menu-ouvert .menu-mobile nav li:nth-child(5) { animation-delay: .23s; }

/* Le lien « Voir la carte » reste proche de la fin de la section photographique. */
.tableaux { padding-bottom: clamp(50px, 6vw, 94px); }
.tableaux__suite { margin-bottom: 0; }

/* Aperçus éditoriaux : pas de tarif ni de contenance, sans filet entre vins. */
.digichef-apercu--papier .digichef-item--compact + .digichef-item--compact { margin-top: 15px; }
.digichef-apercu--vins .digichef-apercu__categorie { border: 0; padding: 12px 0; }
.digichef-apercu--vins .digichef-apercu__categorie:first-child { border: 0; }
.digichef-apercu--vins .digichef-apercu__categorie + .digichef-apercu__categorie { margin-top: 0; }

/* La page Carte utilise exactement l'ambiance sombre de l'accueil. */
.titre-page--carte { padding: clamp(68px, 8vw, 112px) 0 clamp(54px, 6vw, 85px); }
.titre-page--carte h1 {
  font-size: clamp(2.4rem, 4.2vw, 3.8rem); /* même échelle que « À la table du Reminet » */
  margin: 0;
}
.carte-onglets { margin-top: 36px; gap: 13px 34px; }
.carte-onglets a { font-size: 1.08rem; transition: border-color .25s ease, color .25s ease; }
.carte-onglets a:hover, .carte-onglets a:focus-visible { color: var(--accent); border-color: var(--accent); }
.carte-dynamique--alternative { background: var(--fond-2); }
.carte-dynamique__titre { font-size: clamp(2.1rem, 4vw, 3.5rem); }
.digichef-sous-rubrique__titre {
  margin: 35px 0 10px;
  font: italic 1.15rem/1.4 var(--texte);
  color: var(--doux);
  text-align: left;
}
.digichef-rubrique .digichef-item__prix { color: var(--ink); }
.cartes-menus > .digichef-etat { text-align: center; padding: 60px var(--gouttiere) 110px; }
.carte-sans-script { text-align: center; padding-bottom: 70px; }
.carte-sans-script a { text-decoration: underline; }

@media (max-width: 860px) {
  .entete__ligne { height: 64px; }
  .entete__logo img { width: 116px; }
  .prelude__contenu { min-height: clamp(580px, calc(100svh - 64px), 860px); }
  .menu-mobile__haut { height: 64px; }
  .tableaux { padding-bottom: 58px; }
}
@media (max-width: 640px) {
  .prelude__contenu { min-height: clamp(630px, calc(100svh - 64px), 850px); }
  .menu-mobile li a { padding: 9px 0; }
  .titre-page--carte { padding: 60px 0 50px; }
  .carte-onglets { margin-top: 28px; gap: 12px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; }
}

/* État réseau : aucune redirection hors du site et aucun contenu figé. */
.digichef-reessayer {
  display: block;
  margin: 15px auto 84px;
  font-family: inherit;
  color: var(--ink);
  background: transparent;
  cursor: pointer;
}
.digichef-reessayer:hover,
.digichef-reessayer:focus-visible {
  background: var(--ink);
  color: var(--fond);
}

/* Retouches ciblées Carte — sans modifier la direction artistique globale. */
.visuellement-cache {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.page-carte .titre-page--carte {
  padding-top: clamp(48px, 6vw, 72px);
  padding-bottom: clamp(40px, 5vw, 65px);
}
.page-carte .carte-onglets { margin-top: 0; }
/* Aucun filet entre onglets, menus, plats et pied de page sur la page Carte. */
.page-carte .carte-onglets a,
.page-carte .carte-onglets a:hover,
.page-carte .carte-onglets a:focus-visible,
.page-carte .carte-dynamique,
.page-carte .digichef-rubrique .digichef-item,
.page-carte .pied { border: 0; }


/* Réservation Zenchef : pas d'aplat de fond ou de cadre forcé. */
.zenchef-reservation {
  margin: 34px auto 48px;
  text-align: center;
}
.zenchef-reservation__bouton {
  color: var(--ink);
  font-family: var(--texte);
  font-style: normal;
  cursor: pointer;
}
@media (max-width: 640px) {
  .zenchef-reservation { margin-top: 24px; }
}
