:root{--cream:#e8d8c3;--paper:#f1e6d7;--red:#8f1717;--ink:#251c18;--muted:#766b64}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-weight:300}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:rgba(241,230,215,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid #e8e0d5}.brand{font-family:'Cormorant Garamond',serif;color:var(--red);font-size:25px;letter-spacing:.04em;text-decoration:none}.brand small{display:block;font:8px Inter,sans-serif;letter-spacing:.14em;color:#756b65;margin-top:2px}nav{display:flex;gap:28px;align-items:center}nav a{font-size:12px;color:#453b35;text-decoration:none}nav a:hover{color:var(--red)}.book,.cta{background:var(--red)!important;color:white!important;padding:14px 24px;text-transform:uppercase;letter-spacing:.12em;font-size:10px!important}.hamb{display:none;background:none;border:0;font-size:24px}.hero{height:78vh;min-height:610px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,15,10,.66),rgba(25,15,10,.1) 70%)}.heroText{position:absolute;left:7vw;top:50%;transform:translateY(-50%);color:white;max-width:560px}.heroText>p:first-child,.eyebrow{font-size:10px;letter-spacing:.18em}.hero h1{font:500 clamp(64px,8vw,112px)/.72 'Cormorant Garamond',serif;text-transform:uppercase;margin:25px 0}.heroText span{text-transform:uppercase;letter-spacing:.18em}.intro{font-family:'Cormorant Garamond',serif;font-size:22px}.ghost{color:white;margin-left:28px;text-decoration:none;border-bottom:1px solid white;padding-bottom:4px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.story{display:grid;grid-template-columns:1fr 1fr;min-height:650px;align-items:center}.story>div{padding:8vw}.story img{width:100%;height:650px;object-fit:cover}.eyebrow{color:#9c776c}.story h2,.menu h2,.formules h2,.simple h2,.reserve h2{font:500 clamp(42px,5vw,68px)/.95 'Cormorant Garamond',serif;margin:20px 0 35px}.story p:not(.eyebrow){max-width:520px;line-height:1.9;color:#655b55}.menu{background:var(--cream);padding:110px 6vw}.menuHead{text-align:center;max-width:850px;margin:auto auto 80px}.menuHead p:last-child{color:var(--muted);line-height:1.7}.menuLayout{display:grid;grid-template-columns:230px 1fr;gap:70px;max-width:1280px;margin:auto}aside{position:sticky;top:110px;height:max-content}aside a{display:block;padding:14px 0;border-bottom:1px solid #ded4c8;color:#5b5049;text-decoration:none;font-size:12px}aside a.active{color:var(--red)}.menuSection{padding:0 0 75px}.menuSection h3{font:500 42px 'Cormorant Garamond',serif;margin:0 0 30px}.subhead{font:500 26px 'Cormorant Garamond',serif;margin:40px 0 10px}.dish{display:grid;grid-template-columns:150px 1fr auto;gap:28px;align-items:center;padding:14px 0;border-bottom:1px solid #ded4c8}.dishPhoto{height:92px;background:linear-gradient(135deg,#e8d9c8,#c7a98f);display:flex;align-items:center;justify-content:center;color:#7e6757;font:italic 14px 'Cormorant Garamond',serif;text-align:center;padding:10px}.dish h4{font:500 20px 'Cormorant Garamond',serif;margin:0}.dish .code{color:#a98d80;font:10px Inter}.price{color:var(--red);font-size:13px;white-space:nowrap}.formules,.simple{padding:110px 7vw}.formulaGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ded4c8;margin-top:50px}.formulaGrid article{background:var(--paper);padding:40px}.formulaGrid span{font-size:10px;letter-spacing:.15em;color:var(--red)}.formulaGrid h3{font:500 27px 'Cormorant Garamond',serif}.formulaGrid p,.simple p{line-height:1.7;color:var(--muted)}.simple{background:var(--cream);text-align:center}.reserve{min-height:420px;background:linear-gradient(rgba(38,18,12,.65),rgba(38,18,12,.65)),url('resource/img/cadre_2.jpeg') center/cover;display:flex;align-items:center;justify-content:center;text-align:center;color:white}.reserve h2{margin-bottom:15px}.reserve .cta{display:inline-block;margin-top:20px;text-decoration:none}footer{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding:65px 6vw;background:#eadcca;border-top:1px solid #e1d7ca;font-size:12px;line-height:1.7}footer b{text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-size:10px}@media(max-width:850px){header{height:70px}.hamb{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column}nav.open{display:flex}.hero{height:72vh}.heroText{left:8vw}.story{grid-template-columns:1fr}.story img{height:420px}.menu{padding:80px 5vw}.menuLayout{grid-template-columns:1fr;gap:30px}aside{position:static;display:flex;overflow:auto;gap:20px}aside a{min-width:max-content}.dish{grid-template-columns:100px 1fr auto}.dishPhoto{height:75px}.formulaGrid{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}.ghost{display:inline-block;margin:20px 0 0 20px}}@media(max-width:520px){.hero h1{font-size:58px}.dish{grid-template-columns:82px 1fr}.dish .price{grid-column:2}.formulaGrid,footer{grid-template-columns:1fr}.story>div{padding:70px 8vw}}

/* Google Maps — contact */
.map-section{padding:72px 5vw 80px;background:#e8d8c3;border-top:1px solid rgba(93,23,28,.12)}
.map-section .map-head{max-width:1180px;margin:0 auto 28px;display:flex;align-items:end;justify-content:space-between;gap:24px}
.map-section h2{margin:.15em 0 0;font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,64px);font-weight:500;color:#54151b}
.map-section .address{margin:0;text-align:right;line-height:1.6}
.map-wrap{max-width:1180px;height:430px;margin:0 auto;overflow:hidden;border-radius:2px;background:#e9e0d3}
.map-wrap iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:700px){.map-section{padding:52px 20px 60px}.map-section .map-head{align-items:start;flex-direction:column}.map-section .address{text-align:left}.map-wrap{height:360px}}

/* Formules — version détaillée */
.formules{background:var(--paper);padding:110px 7vw}.formulaIntro{max-width:760px;margin-bottom:58px}.formulaIntro>p:last-child{color:var(--muted);line-height:1.8}.formulaList{max-width:1180px;margin:auto}.formulaCard{padding:48px 0 52px;border-top:1px solid #d9cec1}.formulaCard:last-child{border-bottom:1px solid #d9cec1}.formulaTitle{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:36px}.formulaTitle span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}.formulaTitle h3{font:500 clamp(32px,4vw,48px)/1 'Cormorant Garamond',serif;margin:9px 0 7px}.formulaTitle small{color:var(--muted);font-size:11px}.formulaTitle strong{font:500 24px 'Cormorant Garamond',serif;color:var(--red);white-space:nowrap}.formulaCourses{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.formulaCourses>div{padding-right:25px}.formulaCourses h4{font:500 20px 'Cormorant Garamond',serif;color:var(--red);margin:0 0 18px}.formulaCourses p{margin:0;padding:8px 0;border-bottom:1px solid #ebe2d7;color:#4e443e;font-size:13px;line-height:1.5}.formulaCourses em{display:block;margin-top:14px;color:#8a7d74;font:italic 16px 'Cormorant Garamond',serif}.sharingMenu{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.sharingMenu p{display:grid;grid-template-columns:38px 1fr;gap:8px;margin:0;padding:13px 0;border-bottom:1px solid #e7ddd1;font:500 18px 'Cormorant Garamond',serif}.sharingMenu b{font:500 10px Inter,sans-serif;color:#ad8c80;letter-spacing:.08em;padding-top:5px}@media(max-width:850px){.formulaCourses{grid-template-columns:1fr;gap:35px}.sharingMenu{grid-template-columns:1fr}.formulaTitle{align-items:flex-end}}@media(max-width:520px){.formules{padding:75px 7vw}.formulaTitle{display:block}.formulaTitle strong{display:block;margin-top:16px;font-size:22px}.formulaCard{padding:38px 0 42px}}

/* Navigation en rubriques, sans modifier la DA d'origine */
body.pages-ready main>[data-panel]{display:none}body.pages-ready main>[data-panel].panel-active{display:block}
.homeIntro{padding:85px 7vw 95px;text-align:center;background:var(--paper)}.homeIntro h2{font:500 clamp(40px,5vw,66px)/1 'Cormorant Garamond',serif;margin:18px auto 24px;max-width:760px}.homeIntro>p:not(.eyebrow){max-width:680px;margin:0 auto;color:var(--muted);line-height:1.8}.homeLinks{display:flex;justify-content:center;gap:30px;margin-top:30px}.ghostDark{color:var(--red);text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:5px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.phoneLink{color:inherit;text-decoration:none}nav a.current{color:var(--red)}
#backToTop{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;border:0;background:var(--red);color:#fff;font-size:21px;cursor:pointer;z-index:90;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;box-shadow:0 8px 24px rgba(50,20,15,.18)}#backToTop.visible{opacity:1;visibility:visible;transform:none}
@media(max-width:700px){.homeIntro{padding:65px 8vw 75px}.homeLinks{flex-direction:column;align-items:center;gap:18px}#backToTop{right:15px;bottom:15px;width:42px;height:42px}}

/* Accueil enrichi, toujours épuré */
.homeFeature{display:grid;grid-template-columns:1fr 1fr;min-height:560px;align-items:stretch;background:var(--paper)}
.homeFeature.reverse{background:var(--cream)}
.homeFeature.reverse .homeFeatureText{order:2}.homeFeature.reverse img{order:1}
.homeFeatureText{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.homeFeatureText h2{font:500 clamp(38px,5vw,62px)/1 'Cormorant Garamond',serif;margin:18px 0 25px}
.homeFeatureText p:not(.eyebrow){max-width:540px;line-height:1.9;color:#655b55;margin:0 0 28px}
.homeFeature img{width:100%;height:100%;min-height:560px;object-fit:cover}
.homeMap{border-top:0}
@media(max-width:850px){.homeFeature{grid-template-columns:1fr;min-height:0}.homeFeature.reverse .homeFeatureText,.homeFeature.reverse img{order:initial}.homeFeatureText{padding:70px 8vw}.homeFeature img{min-height:360px;height:420px}}

/* PDF officiel des boissons */
.drinksPdf{padding:90px 6vw 100px;background:var(--cream)}
.drinksHead{text-align:center;max-width:760px;margin:0 auto 45px}.drinksHead h2{font:500 clamp(42px,5vw,68px)/.95 'Cormorant Garamond',serif;margin:20px 0 20px}.drinksHead>p:not(.eyebrow){color:var(--muted);line-height:1.8;margin-bottom:28px}.pdfOpen{display:inline-block;text-decoration:none}
.pdfFrame{max-width:1100px;height:760px;margin:auto;background:#fff;border:1px solid #dfd4c7;box-shadow:0 14px 40px rgba(50,30,20,.06)}.pdfFrame iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:700px){.drinksPdf{padding:65px 20px 75px}.pdfFrame{height:620px}}

/* Menu du midi — alternative Pad Thaï */
.lunchMainChoice .lunchOption{padding:8px 0}
.lunchMainChoice .lunchOption p{margin-bottom:4px}
.lunchMainChoice .lunchOr{
  margin:3px 0;
  color:#7c2028;
  font-family:Georgia,serif;
  font-size:12px;
  font-style:italic;
  text-transform:lowercase;
}
.lunchMainChoice .padThaiOption{
  padding-top:10px;
  border-top:1px solid rgba(48,39,35,.13);
}
.lunchMainChoice em{display:block;color:#746963}

/* Menu midi — présentation 2 colonnes */
.lunchMainChoice .lunchChoiceColumns{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);
  align-items:stretch;
  margin-top:12px;
}
.lunchMainChoice .lunchChoiceColumns .lunchOption{
  display:flex;
  min-height:84px;
  padding:14px 18px;
  flex-direction:column;
  justify-content:center;
}
.lunchMainChoice .lunchChoiceColumns .suggestionOption{text-align:right}
.lunchMainChoice .lunchChoiceColumns .padThaiOption{
  border-top:0;
  text-align:left;
}
.lunchMainChoice .lunchChoiceColumns .lunchDivider{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lunchMainChoice .lunchChoiceColumns .lunchDivider:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background:rgba(48,39,35,.20);
}
.lunchMainChoice .lunchChoiceColumns .lunchDivider span{
  position:relative;
  z-index:1;
  padding:7px 0;
  background:#f1e6d7;
  color:#7c2028;
  font-family:Georgia,serif;
  font-size:12px;
  font-style:italic;
}
@media(max-width:700px){
  .lunchMainChoice .lunchChoiceColumns{grid-template-columns:1fr}
  .lunchMainChoice .lunchChoiceColumns .suggestionOption,
  .lunchMainChoice .lunchChoiceColumns .padThaiOption{text-align:center}
  .lunchMainChoice .lunchChoiceColumns .lunchDivider{height:34px}
  .lunchMainChoice .lunchChoiceColumns .lunchDivider:before{
    top:50%;bottom:auto;left:0;right:0;width:auto;height:1px;
  }
  .lunchMainChoice .lunchChoiceColumns .lunchDivider span{padding:0 10px}
}

/* Footer légal et pages d'informations */
footer{grid-template-columns:1.15fr 1.15fr .9fr .8fr .9fr}
.footerLegal a{color:inherit;text-decoration:none;line-height:1.9}
.footerLegal a:hover{text-decoration:underline}
.legalBar{display:flex;justify-content:space-between;gap:20px;padding:15px 5.5%;background:#2b2725;color:rgba(255,255,255,.58);border-top:1px solid rgba(255,255,255,.10);font-size:11px;letter-spacing:.04em}
.legalPage{padding:86px 7% 100px;background:#e8d8c3}
.legalInner{max-width:1080px;margin:0 auto}
.legalPage h1{margin:8px 0 14px;font-family:Georgia,serif;font-size:clamp(42px,6vw,72px);font-weight:400;line-height:1}
.legalLead{max-width:680px;margin:0 0 48px;color:#746963;font-size:17px;line-height:1.7}
.legalGrid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(48,39,35,.18)}
.legalGrid article{padding:32px 36px 34px 0;border-bottom:1px solid rgba(48,39,35,.18)}
.legalGrid article:nth-child(even){padding-left:36px;border-left:1px solid rgba(48,39,35,.18)}
.legalGrid h2{margin:0 0 15px;font-family:Georgia,serif;font-size:23px;font-weight:400}
.legalGrid p{margin:0 0 10px;color:#5f5550;line-height:1.75}
.legalGrid a{color:#7c2028}
.toComplete{color:#7c2028;font-style:italic}
@media(max-width:900px){footer{grid-template-columns:1fr 1fr}.footerLegal{grid-column:1/-1}.legalBar{flex-direction:column;gap:6px}}
@media(max-width:700px){.legalPage{padding:58px 6% 70px}.legalGrid{grid-template-columns:1fr}.legalGrid article,.legalGrid article:nth-child(even){padding:25px 0;border-left:0}.legalLead{margin-bottom:30px}.legalBar{padding:14px 6%;font-size:10px}}

/* Aperçu palette uniforme Cathay Palace
   Corps : blanc cassé beige chaud
   En-tête + pied de page : beige taupe
   Bordeaux existant conservé
*/
html, body, main, .page,
section, .section, .menu-section, .formula-section,
.restaurant-section, .contact-section, .legal-section,
.home-intro, .home-feature, .homeMap, .map-section,
.menu-wrap, .menu-main, .menu-content,
.formulas, .formula, .drinks, .restaurant, .contact {
  background-color: #F0E3D2 !important;
}
header, footer {
  background-color: #D8C2A8 !important;
}

/* Ajustement demandé : en-tête et pied de page plus clairs que le corps */
header, footer {
  background-color: #F7EFE4 !important;
}

/* Boissons / zone PDF : même beige que le corps du site */
[data-panel="boissons"],
[data-panel="boissons"] section,
[data-panel="boissons"] .drinks,
[data-panel="boissons"] .pdf-wrap,
[data-panel="boissons"] .pdf-container,
[data-panel="boissons"] iframe {
  background-color: #F0E3D2 !important;
}

/* PDF boissons — suppression du contour blanc autour du lecteur */
[data-panel="boissons"] .pdf-wrap,
[data-panel="boissons"] .pdf-container,
[data-panel="boissons"] iframe,
.pdf-wrap,
.pdf-container {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
[data-panel="boissons"] .pdf-wrap,
[data-panel="boissons"] .pdf-container,
.pdf-wrap,
.pdf-container {
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: #F0E3D2 !important;
}
[data-panel="boissons"] iframe {
  display: block !important;
  width: 100% !important;
  background: #F0E3D2 !important;
}

/* Boissons : entourage identique au corps du site */
#boissons, [data-panel="boissons"],
[data-panel="boissons"] section,
[data-panel="boissons"] .pdf-wrap,
[data-panel="boissons"] .pdf-container {
  background: #F0E3D2 !important;
}

/* Carte des boissons — adaptation téléphone */
[data-panel="boissons"] .pdf-wrap,
[data-panel="boissons"] .pdf-container {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

[data-panel="boissons"] iframe[src*="carte_boissons_vins.pdf"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  border: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 700px) {
  [data-panel="boissons"] .pdf-wrap,
  [data-panel="boissons"] .pdf-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  [data-panel="boissons"] iframe[src*="carte_boissons_vins.pdf"] {
    width: 100% !important;
    height: 78vh !important;
    min-height: 560px !important;
  }
}

/* Carte des boissons : intégrée directement au site, taille volontairement contenue */
.carte-boissons-integree {
  width: min(100%, 760px);
  margin: 32px auto 0;
  padding: 0;
  background: #F0E3D2;
}
.carte-boissons-integree img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto 22px;
  padding: 0;
  border: 0;
  box-shadow: none;
}
@media (max-width: 700px) {
  .carte-boissons-integree {
    width: min(92vw, 560px);
    margin-top: 24px;
  }
  .carte-boissons-integree img {
    margin-bottom: 16px;
  }
}

/* === CORRECTION STRUCTURELLE CARTE BOISSONS === */
[data-panel="boissons"] {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
[data-panel="boissons"] section,
[data-panel="boissons"] .section,
[data-panel="boissons"] .panel-inner,
[data-panel="boissons"] .content,
[data-panel="boissons"] .drinks {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: relative !important;
}

.carte-boissons-integree {
  position: relative !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  display: block !important;
  width: min(100% - 48px, 680px) !important;
  max-width: 680px !important;
  height: auto !important;
  margin: 38px auto 72px !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  z-index: auto !important;
}
.carte-boissons-integree img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto 24px !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
.carte-boissons-integree img:last-child {
  margin-bottom: 0 !important;
}

/* Le footer doit toujours commencer après la carte, jamais derrière elle. */
.site-footer, footer {
  position: relative !important;
  clear: both !important;
  z-index: 1 !important;
}

@media (max-width: 700px) {
  .carte-boissons-integree {
    width: calc(100% - 32px) !important;
    max-width: 520px !important;
    margin: 26px auto 48px !important;
  }
  .carte-boissons-integree img {
    margin-bottom: 14px !important;
  }
}

/* === BOISSONS — correction finale du conteneur ===
   La carte doit participer à la hauteur réelle de la page : aucun débordement sur le footer. */
.drinksPdf {
  display: block;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding-bottom: 90px !important;
}
.drinksPdf .pdfFrame {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.drinksPdf .carte-boissons-integree {
  display: block !important;
  position: static !important;
  width: min(680px, calc(100% - 48px)) !important;
  max-width: 680px !important;
  height: auto !important;
  margin: 38px auto 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
.drinksPdf .carte-boissons-integree img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 0 24px !important;
  object-fit: contain !important;
}
.drinksPdf .carte-boissons-integree img:last-child { margin-bottom: 0 !important; }
@media (max-width:700px) {
  .drinksPdf { padding-bottom: 60px !important; }
  .drinksPdf .carte-boissons-integree {
    width: calc(100% - 16px) !important;
    max-width: 520px !important;
    margin-top: 26px !important;
  }
  .drinksPdf .carte-boissons-integree img { margin-bottom: 14px !important; }
}

/* =========================================================
   PALETTE MODERNE UNIFORME — toutes les pages
   ========================================================= */
:root {
  --cp-bg: #F4F2EF;
  --cp-chrome: #FBFAF8;
  --cp-text: #302C2A;
  --cp-muted: #746E69;
  --cp-wine: #7C2028;
}

/* Un seul fond pour absolument tout le contenu du site */
html,
body,
main,
.page,
.panel,
[data-panel],
[data-panel] > section,
section,
.section,
.home-section,
.hero,
.home-hero,
.intro,
.story,
.restaurant,
.restaurant-section,
.menu-page,
.menu-section,
.menu-content,
.menu-list,
.menu-category,
.formules,
.formules-section,
.boissons,
.drinks,
.restaurant-page,
.contact,
.contact-map,
.legal,
.privacy,
.pdf-wrap,
.pdf-container,
.carte-boissons-integree {
  background: var(--cp-bg) !important;
  background-color: var(--cp-bg) !important;
}

/* Supprime les alternances de bandes plus claires / plus foncées */
section:nth-child(odd),
section:nth-child(even),
[data-panel] section:nth-child(odd),
[data-panel] section:nth-child(even),
.alt,
.light,
.cream,
.beige {
  background: var(--cp-bg) !important;
  background-color: var(--cp-bg) !important;
}

/* Header et footer clair : même teinte sur toutes les rubriques */
.site-header,
header,
.navbar,
.topbar,
.site-footer,
footer,
.footer-main {
  background: var(--cp-chrome) !important;
  background-color: var(--cp-chrome) !important;
}

/* Texte + identité */
body { color: var(--cp-text) !important; }
.brand,
.logo,
.site-title,
.nav a.active,
nav a.active,
[data-nav].active {
  color: var(--cp-wine) !important;
}
.reserve,
.reserve-btn,
.btn-reserve,
a[href^="tel:"].reserve {
  background: var(--cp-wine) !important;
  color: #fff !important;
}

/* Les cartes/formules ne doivent pas recréer des grands aplats différents */
.formula-card,
.menu-card,
.content-card,
.info-card {
  background: transparent !important;
}

/* Mobile : exactement la même palette */
@media (max-width: 700px) {
  html, body, main, .page, .panel, [data-panel],
  [data-panel] > section, section, .section,
  .menu-page, .menu-section, .menu-content,
  .formules, .boissons, .drinks, .restaurant-page, .contact {
    background: var(--cp-bg) !important;
    background-color: var(--cp-bg) !important;
  }
}

/* Boissons — alignement strict avec le fond uniforme du reste du site */
html body [data-panel="boissons"],
html body [data-panel="boissons"] > *,
html body [data-panel="boissons"] section,
html body [data-panel="boissons"] .section,
html body [data-panel="boissons"] .drinks,
html body [data-panel="boissons"] .content,
html body [data-panel="boissons"] .panel-inner,
html body [data-panel="boissons"] .pdf-wrap,
html body [data-panel="boissons"] .pdf-container,
html body [data-panel="boissons"] .carte-boissons-integree {
  background: #F4F2EF !important;
  background-color: #F4F2EF !important;
  background-image: none !important;
}

/* =========================================================
   BOISSONS V2 — AUCUNE CARTE / AUCUN APLAT DIFFÉRENT
   Même fond continu que toutes les autres pages.
   ========================================================= */
html body [data-panel="boissons"],
html body [data-panel="boissons"] main,
html body [data-panel="boissons"] section,
html body [data-panel="boissons"] section > *,
html body [data-panel="boissons"] .section,
html body [data-panel="boissons"] .section > *,
html body [data-panel="boissons"] .content,
html body [data-panel="boissons"] .panel-inner,
html body [data-panel="boissons"] .drinks,
html body [data-panel="boissons"] .drinks > *,
html body [data-panel="boissons"] .boissons-intro,
html body [data-panel="boissons"] .takeaway,
html body [data-panel="boissons"] .takeaway-offer,
html body [data-panel="boissons"] .offer,
html body [data-panel="boissons"] .notice,
html body [data-panel="boissons"] .pdf-wrap,
html body [data-panel="boissons"] .pdf-container,
html body [data-panel="boissons"] .carte-boissons-integree {
  background: #F4F2EF !important;
  background-color: #F4F2EF !important;
  background-image: none !important;
}

/* Les blocs éditoriaux restent structurés par l'espace, pas par des rectangles */
html body [data-panel="boissons"] .boissons-intro,
html body [data-panel="boissons"] .takeaway,
html body [data-panel="boissons"] .takeaway-offer,
html body [data-panel="boissons"] .offer,
html body [data-panel="boissons"] .notice {
  border: 0 !important;
  box-shadow: none !important;
}

/* Le fond global derrière le panneau est lui aussi identique */
html body,
html body main,
html body .page,
html body .panel {
  background: #F4F2EF !important;
  background-color: #F4F2EF !important;
}

/* BOISSONS V3 — correction exacte des blocs réellement présents */
body .drinksPdf,
body .drinksPdf .drinksHead,
body .drinksPdf .drinksTakeaway,
body .drinksPdf .pdfFrame,
body .drinksPdf .carte-boissons-integree {
    background: #F4F2EF !important;
    background-color: #F4F2EF !important;
    background-image: none !important;
}

body .drinksPdf .drinksHead,
body .drinksPdf .drinksTakeaway {
    border: 0 !important;
    box-shadow: none !important;
}

body .drinksPdf .drinksTakeaway {
    outline: 0 !important;
}

/* Le panneau entier ne doit plus reprendre l'ancien beige */
body section.drinksPdf {
    background: #F4F2EF !important;
    background-color: #F4F2EF !important;
}

/* ============================================================
   BOISSONS V4 — surface réellement uniforme
   Même logique visuelle que Carte / Formules :
   aucun encadrement ou bloc avec une couleur différente.
   ============================================================ */
body section.drinksPdf,
body section.drinksPdf > div,
body section.drinksPdf .drinksHead,
body section.drinksPdf .drinksHead *,
body section.drinksPdf .drinksTakeaway,
body section.drinksPdf .drinksTakeaway *,
body section.drinksPdf .pdfFrame,
body section.drinksPdf .carte-boissons-integree {
  background-color: #F4F2EF !important;
  background-image: none !important;
}

/* Supprime tout effet d'encadrement des blocs texte */
body section.drinksPdf .drinksHead,
body section.drinksPdf .drinksTakeaway,
body section.drinksPdf .pdfFrame {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Le conteneur général autour de la rubrique doit être identique */
body main,
body .page,
body .panel,
body [data-panel="boissons"] {
  background-color: #F4F2EF !important;
}

/* On conserve les images de la carte telles quelles ; seuls leurs conteneurs
   sont fondus dans le fond général. */
body section.drinksPdf .carte-boissons-integree img {
  background: transparent !important;
}

/* BOISSONS V5 — fond unique, wrappers transparents */
html body #boissons.drinksPdf {
  background: #F4F2EF !important;
}
html body #boissons.drinksPdf > .drinksHead,
html body #boissons.drinksPdf > .drinksTakeaway,
html body #boissons.drinksPdf > .pdfFrame,
html body #boissons.drinksPdf .carte-boissons-integree {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   DA V6 — raffinements demandés
   ============================================================ */

/* 1. Restaurant : texte de la table / bloc Cathay Palace lisible en noir */
#restaurant table,
#restaurant table td,
#restaurant table th,
[data-panel="restaurant"] table,
[data-panel="restaurant"] table td,
[data-panel="restaurant"] table th,
[data-panel="restaurant"] .table,
[data-panel="restaurant"] .table * {
  color: #302C2A !important;
}

/* 2. Boissons : séparateurs bordeaux fins pour rythmer les blocs */
#boissons .drinksHead {
  position: relative !important;
  padding-bottom: 42px !important;
  margin-bottom: 34px !important;
}
#boissons .drinksHead::after {
  content: "" !important;
  display: block !important;
  width: min(180px, 28vw) !important;
  height: 1px !important;
  background: #7C2028 !important;
  margin: 34px auto 0 !important;
}

#boissons .drinksTakeaway {
  border-top: 1px solid #7C2028 !important;
  border-bottom: 1px solid #7C2028 !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  margin-top: 0 !important;
  margin-bottom: 42px !important;
}

/* Carte intégrée : respiration et séparation légère après chaque page */
#boissons .carte-boissons-integree img {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#boissons .carte-boissons-integree img + img {
  margin-top: 34px !important;
}

/* 3. Accueil : suppression de l'effet rectangle gris/blanc autour du texte
      et retour à une typographie bordeaux/noire directement sur le fond. */
#accueil .home-tradition,
[data-panel="accueil"] .home-tradition {
  background: transparent !important;
  color: #302C2A !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Le bloc d'introduction de l'accueil ne doit pas être une carte grise */
#accueil .hero-copy,
#accueil .hero-content,
#accueil .intro-copy,
#accueil .intro-text,
[data-panel="accueil"] .hero-copy,
[data-panel="accueil"] .hero-content,
[data-panel="accueil"] .intro-copy,
[data-panel="accueil"] .intro-text {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Les petits surtitres / identité restent bordeaux */
#accueil .eyebrow,
#accueil .kicker,
#accueil .overline,
[data-panel="accueil"] .eyebrow,
[data-panel="accueil"] .kicker,
[data-panel="accueil"] .overline {
  color: #7C2028 !important;
}

/* Mobile : traits plus courts et espacements adaptés */
@media (max-width: 700px) {
  #boissons .drinksHead {
    padding-bottom: 30px !important;
    margin-bottom: 28px !important;
  }
  #boissons .drinksHead::after {
    width: 120px !important;
    margin-top: 26px !important;
  }
  #boissons .drinksTakeaway {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    margin-bottom: 32px !important;
  }
}

/* === DA V7 : corrections d'après captures === */

/* Accueil : enlever définitivement le rectangle blanc autour de la baseline */
#accueil .home-tradition,
[data-panel="accueil"] .home-tradition,
#accueil .hero p.home-tradition,
[data-panel="accueil"] .hero p.home-tradition {
  display: inline !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  outline: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* Boissons : le bloc "À emporter" devient un vrai encadrement bordeaux élégant */
#boissons .drinksTakeaway,
body section.drinksPdf .drinksTakeaway {
  width: min(100% - 48px, 1180px) !important;
  margin: 36px auto 52px !important;
  padding: 24px 30px !important;
  border: 1px solid #7C2028 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* On garde le séparateur fin sous l'introduction */
#boissons .drinksHead::after {
  width: min(180px, 28vw) !important;
  height: 1px !important;
  background: #7C2028 !important;
}

@media (max-width:700px){
  #boissons .drinksTakeaway,
  body section.drinksPdf .drinksTakeaway {
    width: calc(100% - 32px) !important;
    padding: 20px 18px !important;
    margin: 28px auto 38px !important;
  }
}

/* DA V8 — À emporter : uniquement un trait bordeaux en haut et en bas */
html body #boissons .drinksTakeaway,
html body section.drinksPdf .drinksTakeaway {
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 1px solid #7C2028 !important;
  border-bottom: 1px solid #7C2028 !important;
  border-radius: 0 !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* DA V9 — baseline accueil : lettres seules, zéro rectangle */
html body .home-tradition-v9 {
  display: inline !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #fff !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.28) !important;
}
html body .home-tradition-v9::before,
html body .home-tradition-v9::after { content:none !important; display:none !important; }

/* Le parent direct de la baseline ne doit lui non plus créer aucun fond */
html body #accueil .heroText p,
html body #accueil .hero-text p,
html body [data-panel="accueil"] .heroText p,
html body [data-panel="accueil"] .hero-text p {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* DA V10 — Restaurant : titre et sous-titre en noir */
html body #restaurant h1,
html body #restaurant h2,
html body #restaurant .restaurant-title,
html body #restaurant .restaurant-subtitle,
html body [data-panel="restaurant"] h1,
html body [data-panel="restaurant"] h2,
html body [data-panel="restaurant"] .restaurant-title,
html body [data-panel="restaurant"] .restaurant-subtitle {
  color: #302C2A !important;
  text-shadow: none !important;
}

/* DA V11 — Restaurant : phrase descriptive également en noir */
html body #restaurant p,
html body #restaurant .restaurant-subtitle,
html body #restaurant .restaurant-intro,
html body [data-panel="restaurant"] p,
html body [data-panel="restaurant"] .restaurant-subtitle,
html body [data-panel="restaurant"] .restaurant-intro {
  color: #302C2A !important;
  text-shadow: none !important;
}

/* ==========================================================
   V12 — PALETTE MOBILE IDENTIQUE À LA VERSION ORDINATEUR
   ========================================================== */
@media (max-width: 700px) {
  html,
  body,
  main,
  .page,
  .panel,
  [data-panel],
  [data-panel] > section,
  section,
  .section,
  .home-section,
  .menu-page,
  .menu-section,
  .menu-content,
  .formules,
  .boissons,
  .drinks,
  .restaurant-page,
  .contact,
  #boissons,
  #restaurant {
    background: #F4F2EF !important;
    background-color: #F4F2EF !important;
  }

  /* Header mobile : même ivoire clair que sur ordinateur */
  .site-header,
  header,
  .navbar,
  .topbar {
    background: #FBFAF8 !important;
    background-color: #FBFAF8 !important;
  }

  /* Menu hamburger ouvert : même fond moderne que le corps */
  nav,
  .nav,
  .main-nav,
  .mobile-nav,
  .nav-links,
  .menu-open,
  header nav,
  .site-header nav {
    background: #F4F2EF !important;
    background-color: #F4F2EF !important;
  }

  /* Footer */
  .site-footer,
  footer,
  .footer-main {
    background: #FBFAF8 !important;
    background-color: #FBFAF8 !important;
  }

  /* Aucun ancien beige dans les blocs boissons */
  #boissons .drinksHead,
  #boissons .drinksTakeaway,
  #boissons .pdfFrame,
  #boissons .carte-boissons-integree {
    background: transparent !important;
    background-color: transparent !important;
  }
}

/* ==========================================================
   V13 — MOBILE : nouvelle palette sur TOUT le site, pas seulement le menu
   ========================================================== */
@media (max-width: 700px) {
  html, body, #app, main,
  .page, .panel, .panel.active,
  [data-panel], [data-panel].active,
  [data-panel] > *, [data-panel] > section,
  section, section > div,
  .section, .section-inner, .container, .wrap,
  .home-section, .intro, .story, .restaurant,
  .menu-page, .menu-section, .menu-content, .menu-list, .menu-category,
  .formules, .formules-section,
  .drinksPdf, .drinksHead, .drinksTakeaway, .pdfFrame,
  .restaurant-page, .contact, .contact-map,
  .legal, .privacy {
    background-color: #F4F2EF !important;
  }

  /* Neutraliser les anciens aplats beige mobile */
  [data-panel]::before, [data-panel]::after,
  section::before, section::after,
  .section::before, .section::after {
    background-color: transparent !important;
  }

  /* Header/footer restent volontairement plus clairs */
  header, .site-header, .navbar, .topbar,
  footer, .site-footer, .footer-main {
    background-color: #FBFAF8 !important;
  }

  /* Le hero Accueil reste une photo : ne pas lui mettre le fond uni */
  #accueil .hero, [data-panel="accueil"] .hero,
  #accueil .home-hero, [data-panel="accueil"] .home-hero {
    background-color: transparent !important;
  }

  /* Menu mobile ouvert */
  nav, .nav, .main-nav, .mobile-nav, .nav-links,
  .menu-open, header nav, .site-header nav {
    background-color: #F4F2EF !important;
  }

  /* Les éléments qui doivent rester transparents */
  #boissons .drinksHead,
  #boissons .drinksTakeaway,
  #boissons .pdfFrame,
  #boissons .carte-boissons-integree,
  .formula-card, .menu-card, .content-card, .info-card {
    background-color: transparent !important;
  }
}

/* ==========================================================
   V14 — MENU MOBILE : MÊME COULEUR QUE LE CORPS DES PAGES
   ========================================================== */
@media (max-width: 700px) {
  html body header nav,
  html body .site-header nav,
  html body nav.main-nav,
  html body .main-nav,
  html body .mobile-nav,
  html body .nav-links,
  html body .nav-open,
  html body .menu-open,
  html body header .nav,
  html body .site-header .nav {
    background: #F4F2EF !important;
    background-color: #F4F2EF !important;
    background-image: none !important;
  }

  /* Tous les éléments qui remplissent le panneau prennent le même fond */
  html body header nav > *,
  html body .site-header nav > *,
  html body .mobile-nav > *,
  html body .nav-links > * {
    background-color: transparent !important;
  }
}

/* ==========================================================
   V15 — ACCUEIL MOBILE : PHOTOS RÉTABLIES
   ========================================================== */
@media (max-width: 700px) {
  /* Hero principal */
  html body #accueil.hero {
    display: block !important;
    position: relative !important;
    height: 72vh !important;
    min-height: 520px !important;
    overflow: hidden !important;
    background: transparent !important;
  }

  html body #accueil.hero > img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 520px !important;
    object-fit: cover !important;
    object-position: center center !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background: transparent !important;
  }

  html body #accueil.hero > .shade {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(90deg,rgba(25,15,10,.62),rgba(25,15,10,.12) 75%) !important;
  }

  html body #accueil.hero > .heroText {
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
  }

  /* Les deux photos d'ambiance de la page d'accueil */
  html body [data-panel="accueil"].homeFeature img,
  html body .homeFeature[data-panel="accueil"] img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    background: transparent !important;
  }
}

/* ==========================================================
   V16 — ACCUEIL MOBILE : texte directement sur la photo
   Suppression du grand panneau blanc du hero.
   ========================================================== */
@media (max-width: 700px) {
  html body #accueil.hero > .heroText,
  html body #accueil.hero .heroText,
  html body [data-panel="accueil"].hero > .heroText,
  html body [data-panel="accueil"].hero .heroText {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  html body #accueil.hero .heroText *,
  html body [data-panel="accueil"].hero .heroText * {
    background-color: transparent !important;
  }

  /* Le bouton principal garde volontairement son aplat bordeaux */
  html body #accueil.hero .heroText .btn.primary,
  html body #accueil.hero .heroText a.primary {
    background: #7C2028 !important;
    background-color: #7C2028 !important;
  }

  /* Lisibilité des textes directement sur la photo */
  html body #accueil.hero .heroText h1,
  html body #accueil.hero .heroText p,
  html body #accueil.hero .heroText .eyebrow,
  html body #accueil.hero .heroText .home-tradition-v9 {
    color: #fff !important;
    text-shadow: 0 1px 4px rgba(0,0,0,.38) !important;
  }
}

/* ==========================================================
   V17 HARD FIX — AUCUN PANNEAU BLANC DANS LE HERO MOBILE
   ========================================================== */
@media (max-width: 700px) {
  html body #accueil.hero .heroText,
  html body #accueil.hero .heroText::before,
  html body #accueil.hero .heroText::after,
  html body #accueil.hero .heroText > div,
  html body #accueil.hero .heroText > p,
  html body #accueil.hero .heroText > h1,
  html body #accueil.hero .heroText > span,
  html body #accueil.hero .heroText .home-tradition,
  html body #accueil.hero .heroText .home-tradition-v9 {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  html body #accueil.hero .heroText::before,
  html body #accueil.hero .heroText::after {
    content: none !important;
    display: none !important;
  }

  /* Textes seuls sur la photo */
  html body #accueil.hero .heroText h1,
  html body #accueil.hero .heroText p,
  html body #accueil.hero .heroText span:not(.btn) {
    color: #fff !important;
  }

  /* Seul ce bouton conserve un fond */
  html body #accueil.hero .heroText .btn.primary,
  html body #accueil.hero .heroText a.primary {
    background: #7C2028 !important;
    background-color: #7C2028 !important;
  }
}

/* V20 — FR / EN */
.langSwitch{display:inline-flex;align-items:center;gap:6px;margin-left:2px;font-size:12px;letter-spacing:.08em;white-space:nowrap}.langSwitch button{appearance:none;border:0;background:transparent;color:#302C2A;font:inherit;cursor:pointer;padding:6px 2px;opacity:.5}.langSwitch button.active{color:#7C2028;opacity:1;font-weight:600}.langSwitch span{opacity:.28}@media(max-width:760px){header nav .langSwitch{display:flex;justify-content:center;margin:8px 0 2px}.langSwitch button{font-size:13px;padding:7px}}

/* V21 — Bandeau supérieur bordeaux */
html body header,
html body .site-header,
html body .navbar,
html body .topbar {
  background: #7C2028 !important;
  background-color: #7C2028 !important;
  border-bottom-color: rgba(244,242,239,.22) !important;
}
html body header .brand,
html body header .brand small,
html body header nav a,
html body .site-header nav a,
html body header .hamb,
html body header .langSwitch button,
html body header .langSwitch span {
  color: #F4F2EF !important;
}
html body header nav a:hover,
html body header nav a.current,
html body header nav a.active,
html body header .langSwitch button.active {
  color: #F4F2EF !important;
  opacity: 1 !important;
}
html body header .langSwitch button:not(.active) { opacity: .62 !important; }
html body header .langSwitch span { opacity: .42 !important; }
html body header .book,
html body header nav a.book {
  background: #F4F2EF !important;
  color: #7C2028 !important;
}
@media (max-width: 850px) {
  html body header nav,
  html body .site-header nav,
  html body header nav.open,
  html body .site-header nav.open {
    background: #7C2028 !important;
    background-color: #7C2028 !important;
  }
}

/* V22 — Bandeau inférieur assorti au bandeau supérieur */
html body footer,
html body .site-footer,
html body .footer-main {
  background: #7C2028 !important;
  background-color: #7C2028 !important;
  color: #F4F2EF !important;
  border-top-color: rgba(244,242,239,.22) !important;
}
html body footer b,
html body footer strong,
html body footer h2,
html body footer h3,
html body footer h4,
html body footer p,
html body footer span,
html body footer address,
html body footer a,
html body .site-footer a,
html body .footer-main a,
html body .footerLegal a {
  color: #F4F2EF !important;
}
html body footer a:hover,
html body .site-footer a:hover,
html body .footer-main a:hover {
  color: #F4F2EF !important;
  opacity: .78;
}
html body footer iframe {
  border-color: rgba(244,242,239,.28) !important;
}

/* V23 — Lisibilité du footer + nom du restaurant plus présent */
/* En-tête : Cathay Palace est le titre principal de la marque */
html body header .brand {
  font-size: 30px !important;
  line-height: .95 !important;
  letter-spacing: .045em !important;
}
html body header .brand small {
  font-size: 9px !important;
  line-height: 1.25 !important;
  margin-top: 7px !important;
}

/* Pied de page : hiérarchie demandée */
html body footer .brand {
  color: #171313 !important;
}
html body footer .brand small {
  color: #F4F2EF !important;
}
html body footer b {
  color: #171313 !important;
}
/* Le contenu sous les rubriques reste clair sur le bordeaux */
html body footer p,
html body footer p a,
html body footer .phoneLink,
html body footer .footerLegal a {
  color: #F4F2EF !important;
}

@media (max-width: 760px) {
  html body header .brand {
    font-size: 25px !important;
  }
  html body header .brand small {
    font-size: 8px !important;
  }
}

/* V24 — Footer inversé + marque d'en-tête encore plus présente */
/* En-tête : agrandir encore Cathay Palace */
html body header .brand {
  font-size: 34px !important;
  line-height: .93 !important;
  letter-spacing: .04em !important;
}
html body header .brand small {
  font-size: 9px !important;
  line-height: 1.2 !important;
  margin-top: 8px !important;
}

/* Footer : marque et titres en clair */
html body footer .brand,
html body footer b {
  color: #F4F2EF !important;
}
/* Footer : sous-titre et contenus en sombre */
html body footer .brand small,
html body footer p,
html body footer p a,
html body footer .phoneLink,
html body footer .footerLegal a {
  color: #171313 !important;
}
html body footer a:hover,
html body footer .footerLegal a:hover {
  color: #171313 !important;
  opacity: .72;
}

@media (max-width: 760px) {
  html body header .brand {
    font-size: 28px !important;
  }
  html body header .brand small {
    font-size: 8px !important;
  }
}

/* V25 — Test photo réelle du plat 41 : ouverture au clic */
.dish.hasRealPhoto{cursor:pointer;grid-template-columns:150px 1fr auto;transition:background .2s ease}
.dish.hasRealPhoto:hover{background:rgba(143,23,23,.035)}
.dish.hasRealPhoto .dishPhoto{overflow:hidden;background:#fff;padding:0}
.dish.hasRealPhoto .dishPhoto img{width:100%;height:100%;object-fit:cover;display:block}
.dishReveal{display:none;grid-column:1/-1;grid-template-columns:minmax(300px,1.35fr) minmax(220px,.65fr);gap:34px;align-items:center;margin:10px 0 14px;padding:24px;background:#8f1717;color:#fff}
.dish.open .dishReveal{display:grid}
.dishRevealPhoto{background:#fff;box-shadow:0 16px 35px rgba(25,10,10,.24);overflow:hidden}
.dishRevealPhoto img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.dishRevealText .code{color:#eadcca!important;letter-spacing:.16em}
.dishRevealText h4{font:500 34px/1.05 'Cormorant Garamond',serif;color:#fff;margin:8px 0 14px}
.dishRevealText .price{color:#fff;font-size:14px}
@media(max-width:850px){.dish.hasRealPhoto{grid-template-columns:100px 1fr auto}.dishReveal{grid-template-columns:1fr;padding:18px;gap:18px}.dishRevealText h4{font-size:29px}}
@media(max-width:520px){.dish.hasRealPhoto{grid-template-columns:82px 1fr}.dish.hasRealPhoto>.price{grid-column:2}.dishReveal{grid-column:1/-1}.dishRevealPhoto img{aspect-ratio:4/3}}

/* V26 — Plat 41 : cadrage centré sur le centre réel de l’assiette */
.dish.hasRealPhoto .dishPhoto img,
.dishRevealPhoto img{object-position:50% 50% !important;}

/* V27 — Le centre du cadre est le centre de l’assiette (plat 41) */
.dish.hasRealPhoto .dishPhoto img,
.dishRevealPhoto img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff;
}

/* V28 — fichier photo centré sur l’assiette */
.dish.hasRealPhoto .dishPhoto img,.dishRevealPhoto img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:50% 50%!important;background:#fff;}
.dishRevealPhoto{aspect-ratio:4/3;}
.dishRevealPhoto img{aspect-ratio:auto!important;}
/* V29 — vignette photo sans bandes blanches */
.dish.hasRealPhoto .dishPhoto{
  width:150px;
  height:auto !important;
  aspect-ratio:4/3;
  padding:0 !important;
  background:transparent !important;
  overflow:hidden;
}
.dish.hasRealPhoto .dishPhoto img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:50% 50% !important;
  display:block;
  background:transparent !important;
}
@media(max-width:850px){.dish.hasRealPhoto .dishPhoto{width:100px}}
@media(max-width:520px){.dish.hasRealPhoto .dishPhoto{width:82px}}

/* V36 — Commander à emporter */
header nav .orderNav{
  white-space:nowrap;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:5px;
}
@media(max-width:900px){
  header nav .orderNav{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:13px 18px;
    border:1px solid currentColor;
    text-decoration:none;
  }
}

/* V49 — cadrage validé : photo originale entière dans son cadre */
.dishRevealPhoto img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* V50 — photo originale avec cadrage large validé */
.dishRevealPhoto img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* V51 — cadrage identique desktop/mobile, sans bandes blanches ajoutées */
.dishRevealPhoto{
  aspect-ratio:4 / 3 !important;
  background:transparent !important;
  overflow:hidden !important;
}
.dishRevealPhoto img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
}
@media (max-width:900px){
  .dishRevealPhoto{
    width:100% !important;
    aspect-ratio:4 / 3 !important;
  }
  .dishRevealPhoto img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
}

/* V52 — correction DESKTOP uniquement : masquer le coin parasite en haut à droite */
@media (min-width:901px){
  .dishRevealPhoto img{
    width:104% !important;
    height:104% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:47% 52% !important;
    transform:translate(-1.5%, -1.5%) !important;
  }
}
/* Mobile V51 conservé exactement */
@media (max-width:900px){
  .dishRevealPhoto img{
    transform:none !important;
    object-position:center center !important;
  }
}

/* V53 — ordinateur : plat environ 20 % plus proche.
   Mobile conservé exactement comme validé en V51. */
@media (min-width:901px){
  .dishRevealPhoto img{
    width:120% !important;
    height:120% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:47% 52% !important;
    transform:translate(-8.3%, -8.3%) !important;
  }
}
@media (max-width:900px){
  .dishRevealPhoto img{
    width:100% !important;
    height:100% !important;
    transform:none !important;
    object-position:center center !important;
  }
}

/* V54 — correction uniquement des petites vignettes */
.dish.hasRealPhoto .dishPhoto{
  overflow:hidden !important;
}
.dish.hasRealPhoto .dishPhoto img{
  width:112% !important;
  height:112% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:translate(-5.35%, -5.35%) !important;
}

/* V55 — petites miniatures réellement centrées */
.dish.hasRealPhoto .dishPhoto{
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.dish.hasRealPhoto .dishPhoto img{
  width:112% !important;
  height:112% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:50% 50% !important;
  transform:none !important;
  margin:auto !important;
}

/* V56 — vignette dédiée, centrée sur le plat réel */
.dish.hasRealPhoto .dishPhoto{overflow:hidden!important;padding:0!important}
.dish.hasRealPhoto .dishPhoto img{
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:center center!important;
  transform:none!important;margin:0!important;
}

/* V57 — miniatures séparées ordinateur / téléphone */
.dish.hasRealPhoto .dishPhoto picture{
  display:block!important;width:100%!important;height:100%!important;
}
.dish.hasRealPhoto .dishPhoto picture img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center center!important;
}
@media(max-width:900px){
  .dish.hasRealPhoto .dishPhoto{
    aspect-ratio:1 / 1!important;
    height:auto!important;
  }
}

/* V58 — DESKTOP FIGÉ. Correction grande photo MOBILE uniquement */
@media (max-width:900px){
  .dishRevealPhoto{
    overflow:hidden !important;
  }
  .dishRevealPhoto img{
    width:108% !important;
    height:108% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:46% 50% !important;
    transform:translate(-3.7%, -3.7%) !important;
  }
}

/* V67 — plat 102 : cadrage grande photo mobile harmonisé */
@media (max-width:900px){
  .dishRevealPhoto img[src$="plat-102.jpg"]{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:50% 54% !important;
    transform:none !important;
  }
}

/* V68 — plat 48 : cadrage grande photo mobile harmonisé */
@media (max-width:900px){
  .dishRevealPhoto img[src$="plat-48.jpg"]{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:50% 54% !important;
    transform:none !important;
  }
}

/* V69 — 102 mobile : vrai recadrage serré sur le panier, sans la zone parasite à gauche */
@media (max-width:900px){
  .dishRevealPhoto img[src$="plat-102.jpg"]{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(1.22) !important;
    transform-origin:61% 53% !important;
  }
}

/* V70 — 48 mobile : vrai recadrage serré, harmonisé avec le 102 */
@media (max-width:900px){
  .dishRevealPhoto img[src$="plat-48.jpg"]{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(1.22) !important;
    transform-origin:50% 54% !important;
  }
}

/* V87 — Mobile uniquement : panneau agrandi hors du flux.
   Sa fermeture ne change plus la hauteur du document et ne provoque
   ni saut de défilement ni espace fantôme. Desktop inchangé. */
@media (max-width:900px){
  .dish.hasRealPhoto.open{position:relative;z-index:20;}
  .dish.hasRealPhoto.open .dishReveal{
    position:absolute;top:100%;left:0;right:0;
    margin:0;z-index:21;box-shadow:0 12px 25px rgba(0,0,0,.15);
  }
}

/* V89: prevent browser scroll anchoring on floating mobile photo only */
@media(max-width:900px){.dish.hasRealPhoto.open .dishReveal{overflow-anchor:none;}}

/* V90 — navigation des sous-rubriques existantes */
.subnav-v90{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0 25px;align-items:center}
.subnav-v90-button{appearance:none;border:1px solid rgba(111,46,46,.24);background:transparent;color:#6b3030;border-radius:999px;padding:9px 15px;font:inherit;font-size:13px;line-height:1.3;cursor:pointer;transition:background .18s,border-color .18s}
.subnav-v90-button:hover,.subnav-v90-button:focus-visible{background:rgba(111,46,46,.07);border-color:#793a3a;outline-offset:2px}
@media(max-width:900px){.subnav-v90{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:8px;margin:12px 0 22px;padding:2px 0 7px;-webkit-overflow-scrolling:touch}.subnav-v90::-webkit-scrollbar{display:none}.subnav-v90-button{white-space:nowrap;flex:none;padding:9px 13px}}

/* V93 : sous-rubriques visibles sur mobile, défilement horizontal discret. */

/* V97 — Mobile uniquement : empêcher les boutons de sous-rubriques
   d'élargir la grille et de provoquer un affichage type ordinateur. */
@media (max-width:900px){
  .menuLayout, .menuLayout > *, #menuContent, #menuContent > .menuSection{
    min-width:0;
    max-width:100%;
  }
  .menuLayout{grid-template-columns:minmax(0,1fr)}
  .subnav-v90{
    width:100%;max-width:100%;min-width:0;
    overflow-x:auto;overflow-y:hidden;
    flex-wrap:nowrap;
    overscroll-behavior-x:contain;
  }
  .menuSection h3{overflow-wrap:break-word}
}



/* V108 — aucun plat ni assiette rogne, tous formats */
.dish.hasRealPhoto .dishPhoto img,
.dish.hasRealPhoto .dishPhoto picture img,
.dishRevealPhoto img {
  width:100% !important; height:100% !important; max-width:100% !important;
  object-fit:contain !important; object-position:center center !important;
  transform:none !important; transform-origin:center center !important;
}
.dish.hasRealPhoto .dishPhoto, .dishRevealPhoto {background:#fff !important;}
@media(max-width:900px){
 .dish.hasRealPhoto .dishPhoto img, .dish.hasRealPhoto .dishPhoto picture img, .dishRevealPhoto img {
  width:100% !important; height:100% !important; max-width:100% !important;
  object-fit:contain !important; object-position:center center !important; transform:none !important;
 }
}

/* V109 — Restaurer les cadres remplis sans bandes sur ordinateur.
   Les images sources restent intactes ; les miniatures mobiles 100/102
   sont recadrees separement pour conserver panier et couvercle. */
@media (min-width:901px){
 .dish.hasRealPhoto .dishPhoto img,
 .dish.hasRealPhoto .dishPhoto picture img,
 .dishRevealPhoto img{object-fit:cover!important;object-position:center!important;background:transparent!important;}
 .dish.hasRealPhoto .dishPhoto,.dishRevealPhoto{background:transparent!important;}
}
@media (max-width:900px){
 .dish.hasRealPhoto .dishPhoto img,
 .dish.hasRealPhoto .dishPhoto picture img{object-fit:cover!important;object-position:center!important;background:transparent!important;}
}

/* V116 — uniquement les petites miniatures : remplissage et zoom, desktop et mobile.
   Les grandes photos (.dishRevealPhoto) et les quatre cadrages validés restent inchangés. */
.dish.hasRealPhoto .dishPhoto { overflow:hidden!important; padding:0!important; background:transparent!important; }
.dish.hasRealPhoto .dishPhoto picture { width:100%!important; height:100%!important; overflow:hidden!important; }
.dish.hasRealPhoto .dishPhoto picture img {
  display:block!important; width:100%!important; height:100%!important;
  max-width:none!important; object-fit:cover!important; object-position:center!important;
  transform:scale(1.14)!important; transform-origin:center center!important;
  background:transparent!important;
}
/* Ces plats ont déjà un recadrage renforcé dans leurs JPEG V115. */
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-A24.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-60.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-65.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-66.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-72.jpg"] { transform:scale(1.08)!important; }
/* Ne pas toucher aux quatre miniatures approuvées. */
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-11.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-98.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-100.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-102.jpg"] { transform:none!important; }

/* V117 — grandes photos de la carte uniquement : cadrage plus serre.
   Les miniatures V116, les fichiers images et les autres sections sont inchanges. */
.dishRevealPhoto { overflow:hidden!important; background:transparent!important; }
.dishRevealPhoto img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:scale(1.22)!important;
  transform-origin:center center!important;
  background:transparent!important;
}

/* V122: harmonisation uniquement des cinq miniatures, sur ordinateur et mobile. */
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-A24.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-60.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-65.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-66.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-72.jpg"] {transform:none!important;object-fit:cover!important;object-position:center!important;}

/* V133 : mobile uniquement, miniatures 20/34/96/62/61 sans zoom supplementaire. */
@media (max-width:900px) {
  .dish.hasRealPhoto .dishPhoto picture img[src*="plat-20.jpg"],
  .dish.hasRealPhoto .dishPhoto picture img[src*="plat-34.jpg"],
  .dish.hasRealPhoto .dishPhoto picture img[src*="plat-96.jpg"],
  .dish.hasRealPhoto .dishPhoto picture img[src*="plat-62.jpg"],
  .dish.hasRealPhoto .dishPhoto picture img[src*="plat-61.jpg"] {
    transform:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* V136 — Dessert rows use the same card typography and price alignment as dishes. */
.dessertDish{grid-template-columns:minmax(0,1fr) auto!important;gap:24px;padding:19px 0}.dessertDish h4{font:500 20px 'Cormorant Garamond',serif;margin:0}.dessertDish .price{justify-self:end;text-align:right}@media(max-width:520px){.dessertDish{grid-template-columns:minmax(0,1fr) auto!important}.dessertDish .price{grid-column:2!important;align-self:center}}

/* V138 : desserts photographies dans la presentation de la carte */
/* V139 : dessert images follow precisely the same thumbnail and expanded-image framing rules as other dishes. */

/* V140 — étoile discrète pour les plats sélectionnés */
.bestsellerStar{display:inline-block;margin-left:7px;color:#b89245;font-family:Arial,sans-serif;font-size:.67em;line-height:1;vertical-align:baseline;font-weight:400}

/* Légende discrète des plats favoris */
.bestsellerLegend{margin:10px 0 0;font-size:13px;line-height:1.5;color:#765b48;font-weight:400}.bestsellerLegend span{color:#b89245;font-size:14px;margin-right:5px}

/* V145 : étoiles plus lisibles, sans modifier les photos */
.bestsellerStar{font-size:17px;font-weight:400;margin-left:6px;vertical-align:baseline;line-height:1}
.bestsellerLegend span{font-size:17px}

/* V150 : étoile de même taille que les numéros de plats (10 px). */
.code .bestsellerStar{font-size:10px;margin-left:5px;vertical-align:baseline}

/* V151 — Navigation simplifiée, carte regroupée, fenêtre Commander et pied de page */
header{padding-top:22px!important;padding-bottom:22px!important}
header nav{gap:clamp(12px,1.65vw,27px)!important}
header nav a,header nav .orderNav{font-size:clamp(13px,1.05vw,16px)!important}
header nav .orderNav{appearance:none;border:0;background:transparent;color:inherit;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:5px;padding:10px 0}
header .brand{font-size:clamp(20px,2vw,29px)!important}
.carteMoreNav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:35px 18px 25px;background:#f6ede2}
.carteMoreNav a{padding:14px 24px;background:#72262b;color:white;text-decoration:none;border-radius:5px;font-size:16px;font-weight:600}
#carte #formules,#carte #boissons{display:block!important;position:relative;scroll-margin-top:110px}
#carte #formules{padding-top:30px}
#carte #boissons{padding-top:35px}
body.order-modal-open{overflow:hidden}
.orderModal[hidden]{display:none!important}
.orderModal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}
.orderModalBackdrop{position:absolute;inset:0;background:rgba(18,12,12,.70)}
.orderModalCard{position:relative;width:min(100%,490px);background:#f6ede2;color:#342521;text-align:center;border-radius:12px;padding:55px 30px 45px;box-shadow:0 22px 80px #0007}
.orderModalClose{position:absolute;right:15px;top:10px;font-size:32px;border:0;background:transparent;color:#593a34;cursor:pointer}
.orderModalEyebrow{color:#8d693c;letter-spacing:.18em;font-size:13px;font-weight:700}
.orderModalCard h2{font-size:clamp(28px,4vw,40px);font-family:'Cormorant Garamond',Georgia,serif;margin:16px 0 18px}
.orderModalNumber{display:block;font-size:clamp(28px,5vw,40px);font-weight:700;color:#72262b;text-decoration:none;margin:12px 0}
.orderModalCard p{font-size:16px;line-height:1.5}
.orderModalCall{display:inline-block;margin-top:22px;padding:14px 27px;background:#72262b;color:white!important;text-decoration:none;border-radius:5px;font-weight:600}
html body footer .brand{font-size:clamp(27px,2.5vw,40px)!important;line-height:1.1!important;color:#f4d6a2!important}
html body footer b{font-size:clamp(16px,1.25vw,19px)!important;color:#f4d6a2!important;letter-spacing:.07em!important}
html body footer .brand small,html body footer p,html body footer p a,html body footer .phoneLink,html body footer .footerLegal a{color:#f8efe2!important;font-size:clamp(13px,1vw,15px)!important}
html body footer a:hover{color:#fff!important}
@media(max-width:900px){header{padding-top:16px!important;padding-bottom:16px!important}header nav .orderNav{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:12px 0}}
@media(max-width:600px){.carteMoreNav a{width:100%;max-width:300px;text-align:center}.orderModalCard{padding:45px 20px 35px}}

/* V152 — intégration des rubriques 07/08 dans la carte et téléphone sobre */
#carte .carteExtraSection{display:block;width:100%;max-width:100%;scroll-margin-top:110px}
#carte #formules{padding-top:65px}
#carte #boissons{padding-top:65px}
.orderModalCard{width:auto!important;min-width:min(390px,90vw)!important;max-width:90vw!important;padding:54px 40px 42px!important;border-radius:8px!important;text-align:center!important;box-shadow:0 16px 50px rgba(0,0,0,.16)!important}
.orderModalNumber{display:block!important;font-size:clamp(26px,3vw,38px)!important;letter-spacing:.035em!important;text-decoration:none!important;font-weight:500!important;white-space:nowrap}
@media(max-width:900px){.orderModal{display:none!important}}

/* V154 — indication sous le numéro de commande */
.orderModalCallHint{margin:14px 0 0;color:#70554a;font-size:16px;font-weight:500;letter-spacing:.01em}

/* V155 — Commander en or, sobre et lisible, comme les accents Cathay Palace */
header nav .orderNav{background:#B89150!important;color:#201812!important;border:1px solid #D4B575!important;border-radius:5px!important;text-decoration:none!important;font-weight:700!important;letter-spacing:.025em!important;padding:11px 20px!important;box-shadow:0 2px 9px rgba(0,0,0,.13)!important;transition:background .2s ease,transform .2s ease!important}
header nav .orderNav:hover,header nav .orderNav:focus-visible{background:#D5B878!important;color:#1C1712!important;transform:translateY(-1px)}
@media(max-width:900px){header nav .orderNav{width:fit-content!important;min-height:44px!important;justify-content:center!important;padding:12px 22px!important}}

/* V156 : separation visuelle accueil et section sans photo en doublon */
.homeSectionDivider{background:var(--paper);display:flex;justify-content:center;padding:0 7vw}
.homeSectionDivider span{display:block;width:min(220px,45vw);height:1px;background:#b99b64}
.homeFeatureNoPhoto{display:block;min-height:auto;text-align:center}
.homeFeatureNoPhoto .homeFeatureText{padding:70px 7vw;align-items:center;max-width:900px;margin:auto}
.homeFeatureNoPhoto .homeFeatureText p{max-width:750px}
@media(max-width:700px){.homeFeatureNoPhoto .homeFeatureText{padding:50px 7vw}}

/* V157 : trait doré centré sur le milieu exact de la largeur de la page */
.homeSectionDivider{position:relative!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0 auto!important;padding:0!important;display:flex!important;justify-content:center!important;align-items:center!important;left:auto!important;right:auto!important;transform:none!important}
.homeSectionDivider span{display:block!important;flex:none!important;width:min(220px,45vw)!important;height:1px!important;margin:0 auto!important;background:#b99b64!important}

/* V161 — Accueil plus compact, separation entre les deux presentations */
body .homeIntro{padding-top:54px;padding-bottom:54px}
body .homeLinks{margin-top:22px}
body .homeFeature{min-height:420px}
body .homeFeatureText{padding:55px 6vw}
body .homeFeature img{min-height:420px}
body .homeSectionDivider{padding-top:12px!important;padding-bottom:12px!important}
@media(max-width:850px){body .homeIntro{padding:42px 7vw 45px}body .homeFeature{min-height:0}body .homeFeatureText{padding:38px 7vw}body .homeFeature img{min-height:0;height:310px}body .homeSectionDivider{padding-top:8px!important;padding-bottom:8px!important}}

/* V163 — les deux traits de separation de l’accueil en bordeaux */
body .homeSectionDivider span{background:#72262b!important}

/* V166 — Les deux séparateurs bordeaux sont réservés à l’accueil. */
body.pages-ready main > .homeSectionDivider:not(.panel-active) { display:none !important; }

/* V169 — Correctif définitif : les séparateurs n’existent visuellement que sur Accueil.
   Cette règle surclasse les anciens display:flex!important. */
body.pages-ready main > .homeSectionDivider[data-panel="accueil"] { display:none !important; }
body.pages-ready main > .homeSectionDivider[data-panel="accueil"].panel-active { display:flex !important; }

/* V179: cadrage securise plats 12 et 92, sans recoupe de panier/assiettes */
.dish.hasRealPhoto .dishPhoto img[src*="plat-12.jpg"],
.dish.hasRealPhoto .dishPhoto img[src*="plat-92.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-12.jpg"],
.dish.hasRealPhoto .dishPhoto picture img[src*="plat-92.jpg"],
.dishRevealPhoto img[src*="plat-12.jpg"],
.dishRevealPhoto img[src*="plat-12-mobile.jpg"],
.dishRevealPhoto img[src*="plat-92.jpg"] {object-fit:contain!important;object-position:center center!important;transform:none!important;width:100%!important;height:100%!important;max-width:100%!important;}

/* V181 : plats 12/92 — pas de zoom CSS ni de bande artificielle ; photo 4:3 bord à bord.
   Miniatures téléphone conservées telles quelles. */
@media (min-width:901px) {
 .dish.hasRealPhoto .dishPhoto img[src*="plat-12.jpg"],
 .dish.hasRealPhoto .dishPhoto img[src*="plat-92.jpg"] {width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;object-position:center!important;transform:none!important;margin:0!important;background:transparent!important;}
}
.dishRevealPhoto:has(img[src*="plat-12.jpg"]),
.dishRevealPhoto:has(img[src*="plat-92.jpg"]) {aspect-ratio:4/3!important;overflow:hidden!important;background:transparent!important;}
.dishRevealPhoto picture:has(img[src*="plat-12.jpg"]) {display:block!important;width:100%!important;height:100%!important;}
.dishRevealPhoto img[src*="plat-12.jpg"],
.dishRevealPhoto img[src*="plat-12-mobile.jpg"],
.dishRevealPhoto img[src*="plat-92.jpg"] {display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;object-position:center center!important;transform:none!important;margin:0!important;background:transparent!important;}

/* V183: le sommaire de La Carte ne doit pas rester fixe ni recouvrir les plats. */
#carte .menuLayout > #cats { position: static !important; top: auto !important; align-self: start; z-index: auto !important; }

/* V184 — correction de la navigation des categories en fenetre intermediaire.
   Aucune modification des photos ou du contenu des plats. */
@media (min-width: 851px) and (max-width: 1199px) {
  #carte .menuLayout {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:24px !important;
    width:100%;
  }
  #carte .menuLayout > #cats {
    position:static !important;
    top:auto !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:16px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:0 0 10px !important;
    height:auto !important;
    z-index:auto !important;
  }
  #carte #cats a {
    flex:0 0 auto !important;
    min-width:max-content !important;
    white-space:nowrap !important;
    padding:12px 0 !important;
  }
  #carte #menuContent { min-width:0 !important; width:100% !important; }
  #carte .menuSection { min-width:0 !important; }
}

/* V193 — subtle, responsive dessert slideshow. */
.dessertCarousel .dessertSlideFrame{position:relative;overflow:hidden;touch-action:pan-y;}
.dessertCarousel .dessertSlideFrame img{transform:none!important;object-fit:cover!important;object-position:center center!important;}
.dessertCarousel .dessertSlideFrame picture{display:block;width:100%;height:100%;}
.dessertCarousel .dessertSlideFrame picture img{width:100%!important;height:100%!important;}
.dessertCarousel .dessertSlideArrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);border:0;border-radius:50%;width:29px;height:29px;background:rgba(45,34,30,.50);color:white;cursor:pointer;font-size:24px;line-height:24px;padding:0;display:flex;align-items:center;justify-content:center;opacity:.8;}
.dessertCarousel .dessertPrev{left:6px}.dessertCarousel .dessertNext{right:6px}
.dessertCarousel .dessertSlideArrow:hover,.dessertCarousel .dessertSlideArrow:focus-visible{opacity:1;background:rgba(45,34,30,.8);}
.dessertCarousel .dessertSlideLabel{display:block;margin-top:5px;font-size:12px;letter-spacing:.04em;color:#8a7669;}
.dessertCarousel .dishRevealPhoto .dessertSlideArrow{width:38px;height:38px;font-size:30px;}
@media(max-width:900px){.dessertCarousel .dessertSlideArrow{width:27px;height:27px;opacity:.85}}

/* V194 — dessert carousel: reliable desktop arrows and studio-free mobile crop */
.dish.dessertCarousel .dishPhoto.dessertSlideFrame{position:relative!important;isolation:isolate;overflow:hidden!important;padding:0!important;}
.dish.dessertCarousel .dishPhoto.dessertSlideFrame picture{position:relative!important;z-index:0!important;display:block!important;width:100%!important;height:100%!important;}
.dish.dessertCarousel .dishPhoto.dessertSlideFrame picture img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;transform:none!important;}
.dish.dessertCarousel .dessertSlideArrow{display:flex!important;visibility:visible!important;opacity:.95!important;position:absolute!important;z-index:20!important;top:50%!important;transform:translateY(-50%)!important;pointer-events:auto!important;align-items:center!important;justify-content:center!important;color:#fff!important;background:rgba(40,28,25,.68)!important;border:1px solid rgba(255,255,255,.35)!important;box-shadow:0 1px 5px rgba(0,0,0,.15)!important;}
.dish.dessertCarousel .dessertPrev{left:4px!important;right:auto!important;}
.dish.dessertCarousel .dessertNext{right:4px!important;left:auto!important;}
.dish.dessertCarousel .dishRevealPhoto.dessertSlideFrame{position:relative!important;isolation:isolate;overflow:hidden!important;}
.dish.dessertCarousel .dishRevealPhoto.dessertSlideFrame>img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;}
@media(max-width:520px){.dish.dessertCarousel .dishPhoto .dessertSlideArrow{width:22px!important;height:22px!important;font-size:20px!important;line-height:1!important;}.dish.dessertCarousel .dishPhoto .dessertPrev{left:2px!important;}.dish.dessertCarousel .dishPhoto .dessertNext{right:2px!important;}}

.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A19.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A6.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A13.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-98.jpg"]),.dish.dessertWithPhoto:has(img[src*="dessert-mystere"]) .dishPhoto,.dish.dessertWithPhoto:has(img[src*="dessert-colonel"]) .dishPhoto,.dish.dessertWithPhoto:has(img[src*="dessert-fruits-frais"]) .dishPhoto{padding:0!important;border:0!important;background:transparent!important;overflow:hidden!important;aspect-ratio:1/1!important;height:auto!important;}
.dish.hasRealPhoto .dishPhoto img[src*="plat-A19.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="plat-A6.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="plat-A13.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="plat-98.jpg"],.dish.dessertWithPhoto:has(img[src*="dessert-mystere"]) .dishPhoto img,.dish.dessertWithPhoto:has(img[src*="dessert-colonel"]) .dishPhoto img,.dish.dessertWithPhoto:has(img[src*="dessert-fruits-frais"]) .dishPhoto img{width:100%!important;height:100%!important;aspect-ratio:1/1!important;object-fit:fill!important;object-position:center!important;transform:none!important;display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;max-width:none!important;}
.dish.dessertWithPhoto:has(img[src*="dessert-mystere"]) .dishRevealPhoto,.dish.dessertWithPhoto:has(img[src*="dessert-colonel"]) .dishRevealPhoto,.dish.dessertWithPhoto:has(img[src*="dessert-fruits-frais"]) .dishRevealPhoto{aspect-ratio:1/1!important;background:transparent!important;padding:0!important;border:0!important;}
.dish.dessertWithPhoto:has(img[src*="dessert-mystere"]) .dishRevealPhoto img,.dish.dessertWithPhoto:has(img[src*="dessert-colonel"]) .dishRevealPhoto img,.dish.dessertWithPhoto:has(img[src*="dessert-fruits-frais"]) .dishRevealPhoto img{aspect-ratio:1/1!important;object-fit:fill!important;width:100%!important;height:100%!important;transform:none!important;background:transparent!important;}
.dishRevealPhoto:has(img[src*="plat-A19.jpg"]),.dishRevealPhoto:has(img[src*="plat-A6.jpg"]),.dishRevealPhoto:has(img[src*="plat-A13.jpg"]),.dishRevealPhoto:has(img[src*="plat-98.jpg"]){aspect-ratio:1/1!important;background:transparent!important;padding:0!important;border:0!important;}
.dishRevealPhoto img[src*="plat-A19.jpg"],.dishRevealPhoto img[src*="plat-A6.jpg"],.dishRevealPhoto img[src*="plat-A13.jpg"],.dishRevealPhoto img[src*="plat-98.jpg"]{width:100%!important;height:100%!important;aspect-ratio:1/1!important;object-fit:fill!important;transform:none!important;background:transparent!important;}

/* V212: n°98 — garder le panier et le couvercle complets, sans zoom ni carré imposé */
.dishRevealPhoto:has(img[src*="plat-98.jpg"]){aspect-ratio:auto!important;height:auto!important;overflow:visible!important;}
.dishRevealPhoto img[src*="plat-98.jpg"]{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;}
.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-98.jpg"]){overflow:hidden!important;}
.dish.hasRealPhoto .dishPhoto img[src*="plat-98.jpg"]{object-fit:contain!important;object-position:center!important;transform:none!important;}

/* V212 specific correction: natural image and no zoom for 98 and souffle */
.dish.hasRealPhoto:has(img[src*="plat-98.jpg"]) .dishRevealPhoto,
.dish.dessertWithPhoto:has(img[src*="dessert-souffle-cafe"]) .dishRevealPhoto{height:auto!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible!important;padding:0!important;background:transparent!important;}
.dish.hasRealPhoto .dishRevealPhoto img[src*="plat-98.jpg"],
.dish.dessertWithPhoto .dishRevealPhoto img[src*="dessert-souffle-cafe.jpg"]{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;transform:none!important;max-width:100%!important;}
.dish.hasRealPhoto .dishPhoto img[src*="plat-98.jpg"]{object-fit:contain!important;transform:none!important;object-position:center!important;}


/* Harmonisation : memes formats que les miniatures habituelles du site. */
.dish .dishPhoto:has(img[src*="dessert-mystere.jpg"]),.dish .dishPhoto:has(img[src*="plat-A19.jpg"]),.dish .dishPhoto:has(img[src*="plat-A6.jpg"]),.dish .dishPhoto:has(img[src*="dessert-colonel.jpg"]),.dish .dishPhoto:has(img[src*="plat-98.jpg"]),.dish .dishPhoto:has(img[src*="plat-A13.jpg"]),.dish .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]){aspect-ratio:4/3!important;height:auto!important;overflow:hidden!important;padding:0!important;border:0!important;background:transparent!important;}
.dish .dishPhoto:has(img[src*="dessert-mystere.jpg"]) picture img,.dish .dishPhoto:has(img[src*="plat-A19.jpg"]) picture img,.dish .dishPhoto:has(img[src*="plat-A6.jpg"]) picture img,.dish .dishPhoto:has(img[src*="dessert-colonel.jpg"]) picture img,.dish .dishPhoto:has(img[src*="plat-98.jpg"]) picture img,.dish .dishPhoto:has(img[src*="plat-A13.jpg"]) picture img,.dish .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]) picture img,.dish .dishPhoto:has(img[src*="dessert-mystere.jpg"]) > img,.dish .dishPhoto:has(img[src*="plat-A19.jpg"]) > img,.dish .dishPhoto:has(img[src*="plat-A6.jpg"]) > img,.dish .dishPhoto:has(img[src*="dessert-colonel.jpg"]) > img,.dish .dishPhoto:has(img[src*="plat-98.jpg"]) > img,.dish .dishPhoto:has(img[src*="plat-A13.jpg"]) > img,.dish .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]) > img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;transform:none!important;margin:0!important;padding:0!important;}
@media(max-width:900px){.dish .dishPhoto:has(img[src*="dessert-mystere.jpg"]),.dish .dishPhoto:has(img[src*="plat-A19.jpg"]),.dish .dishPhoto:has(img[src*="plat-A6.jpg"]),.dish .dishPhoto:has(img[src*="dessert-colonel.jpg"]),.dish .dishPhoto:has(img[src*="plat-98.jpg"]),.dish .dishPhoto:has(img[src*="plat-A13.jpg"]),.dish .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]){aspect-ratio:1/1!important;}.dish .dishPhoto:has(img[src*="dessert-mystere.jpg"]) picture img,.dish .dishPhoto:has(img[src*="plat-A19.jpg"]) picture img,.dish .dishPhoto:has(img[src*="plat-A6.jpg"]) picture img,.dish .dishPhoto:has(img[src*="dessert-colonel.jpg"]) picture img,.dish .dishPhoto:has(img[src*="plat-98.jpg"]) picture img,.dish .dishPhoto:has(img[src*="plat-A13.jpg"]) picture img,.dish .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]) picture img,.dish .dishPhoto:has(img[src*="dessert-mystere.jpg"]) > img,.dish .dishPhoto:has(img[src*="plat-A19.jpg"]) > img,.dish .dishPhoto:has(img[src*="plat-A6.jpg"]) > img,.dish .dishPhoto:has(img[src*="dessert-colonel.jpg"]) > img,.dish .dishPhoto:has(img[src*="plat-98.jpg"]) > img,.dish .dishPhoto:has(img[src*="plat-A13.jpg"]) > img,.dish .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]) > img{object-fit:cover!important;transform:none!important;}}


/* V219 : un seul reglage ordinateur, sans les surcharges V214-V218. */
@media(min-width:901px){
.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-mystere.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A19.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A6.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-colonel.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-98.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A13.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]){box-sizing:border-box!important;width:150px!important;min-width:150px!important;max-width:150px!important;height:112.5px!important;min-height:112.5px!important;max-height:112.5px!important;aspect-ratio:4/3!important;overflow:hidden!important;padding:0!important;}
.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-mystere.jpg"]) picture img,.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-mystere.jpg"]) > img,.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A19.jpg"]) picture img,.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A19.jpg"]) > img,.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A6.jpg"]) picture img,.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A6.jpg"]) > img,.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-colonel.jpg"]) picture img,.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-colonel.jpg"]) > img,.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-98.jpg"]) picture img,.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-98.jpg"]) > img,.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A13.jpg"]) picture img,.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A13.jpg"]) > img,.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]) picture img,.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]) > img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:50% 50%!important;transform:none!important;transition:none!important;}
}

/* V222: six nouvelles vignettes ordinateur, dimensions et comportement identiques aux vignettes historiques. */
@media(min-width:901px){.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A6.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A13.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A19.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-mystere.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-colonel.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]){width:150px!important;min-width:150px!important;max-width:150px!important;height:112.5px!important;min-height:112.5px!important;max-height:112.5px!important;aspect-ratio:4/3!important;overflow:hidden!important;}.dish.hasRealPhoto .dishPhoto img[src*="plat-A6.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="plat-A13.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="plat-A19.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="dessert-mystere.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="dessert-colonel.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="dessert-fruits-frais.jpg"]{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;transform:none!important;}}

/* V224: six ajouts, meme comportement stable que le numero 98; aucun recadrage CSS */
.dishRevealPhoto:has(img[src*="plat-A6.jpg"]),.dishRevealPhoto:has(img[src*="plat-A13.jpg"]),.dishRevealPhoto:has(img[src*="plat-A19.jpg"]),.dishRevealPhoto:has(img[src*="dessert-mystere.jpg"]),.dishRevealPhoto:has(img[src*="dessert-colonel.jpg"]),.dishRevealPhoto:has(img[src*="dessert-fruits-frais.jpg"]){height:auto!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible!important;padding:0!important;}
.dishRevealPhoto img[src*="plat-A6.jpg"],.dishRevealPhoto img[src*="plat-A13.jpg"],.dishRevealPhoto img[src*="plat-A19.jpg"],.dishRevealPhoto img[src*="dessert-mystere.jpg"],.dishRevealPhoto img[src*="dessert-colonel.jpg"],.dishRevealPhoto img[src*="dessert-fruits-frais.jpg"]{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;transform:none!important;}
@media(min-width:901px){.dish.hasRealPhoto .dishPhoto img[src*="plat-A6.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="plat-A13.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="plat-A19.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="dessert-mystere.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="dessert-colonel.jpg"],.dish.hasRealPhoto .dishPhoto img[src*="dessert-fruits-frais.jpg"]{object-fit:contain!important;object-position:center!important;transform:none!important;}}

/* V225 — six miniatures : cadre identique au 98 valide, aucun recadrage responsive. */
@media (min-width:901px){
.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A6.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A13.jpg"]),.dish.hasRealPhoto .dishPhoto:has(img[src*="plat-A19.jpg"]),.dish.dessertWithPhoto .dishPhoto:has(img[src*="dessert-mystere.jpg"]),.dish.dessertWithPhoto .dishPhoto:has(img[src*="dessert-colonel.jpg"]),.dish.dessertWithPhoto .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]){aspect-ratio:4/3!important;height:auto!important;overflow:hidden!important;}
.dish .dishPhoto img[src*="plat-A6.jpg"],.dish .dishPhoto img[src*="plat-A13.jpg"],.dish .dishPhoto img[src*="plat-A19.jpg"],.dish .dishPhoto img[src*="dessert-mystere.jpg"],.dish .dishPhoto img[src*="dessert-colonel.jpg"],.dish .dishPhoto img[src*="dessert-fruits-frais.jpg"]{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;transform:none!important;transition:none!important;}
}

/* V226 — six photos : meme cadrage 4:3 dans la miniature et la grande image ; aucun zoom responsive. */
@media (min-width:901px){
.dish .dishPhoto:has(img[src*="plat-A6.jpg"]),
.dish .dishPhoto:has(img[src*="plat-A13.jpg"]),
.dish .dishPhoto:has(img[src*="plat-A19.jpg"]),
.dish .dishPhoto:has(img[src*="dessert-mystere.jpg"]),
.dish .dishPhoto:has(img[src*="dessert-colonel.jpg"]),
.dish .dishPhoto:has(img[src*="dessert-fruits-frais.jpg"]){aspect-ratio:4/3!important;height:auto!important;overflow:hidden!important;}
.dish .dishPhoto img[src*="plat-A6.jpg"],
.dish .dishPhoto img[src*="plat-A13.jpg"],
.dish .dishPhoto img[src*="plat-A19.jpg"],
.dish .dishPhoto img[src*="dessert-mystere.jpg"],
.dish .dishPhoto img[src*="dessert-colonel.jpg"],
.dish .dishPhoto img[src*="dessert-fruits-frais.jpg"]{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;aspect-ratio:auto!important;object-fit:fill!important;object-position:center!important;transform:none!important;transition:none!important;margin:0!important;padding:0!important;}
}
.dishRevealPhoto img[src*="plat-A6.jpg"],
.dishRevealPhoto img[src*="plat-A13.jpg"],
.dishRevealPhoto img[src*="plat-A19.jpg"],
.dishRevealPhoto img[src*="dessert-mystere.jpg"],
.dishRevealPhoto img[src*="dessert-colonel.jpg"],
.dishRevealPhoto img[src*="dessert-fruits-frais.jpg"]{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;aspect-ratio:auto!important;object-fit:fill!important;object-position:center!important;transform:none!important;margin:0!important;padding:0!important;}

/* V227 — Six nouveaux plats : aucun recadrage ni déformation, miniature et photo développée.
   Le numéro 98 et les autres plats ne sont pas concernés. */
.dish:has(img[src*="plat-A6.jpg"]),.dish:has(img[src*="plat-A13.jpg"]),.dish:has(img[src*="plat-A19.jpg"]),.dish:has(img[src*="dessert-mystere.jpg"]),.dish:has(img[src*="dessert-colonel.jpg"]),.dish:has(img[src*="dessert-fruits-frais.jpg"]){--new-photo-ratio:4/3;}
.dish:has(img[src*="plat-A6.jpg"]) .dishRevealPhoto,
.dish:has(img[src*="plat-A13.jpg"]) .dishRevealPhoto,
.dish:has(img[src*="plat-A19.jpg"]) .dishRevealPhoto,
.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto,
.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto,
.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto {aspect-ratio:4/3!important;height:auto!important;max-height:none!important;overflow:hidden!important;background:transparent!important;}
.dish:has(img[src*="plat-A6.jpg"]) .dishRevealPhoto img,
.dish:has(img[src*="plat-A13.jpg"]) .dishRevealPhoto img,
.dish:has(img[src*="plat-A19.jpg"]) .dishRevealPhoto img,
.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto img,
.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto img,
.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto img {display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center center!important;transform:none!important;margin:0!important;padding:0!important;}
@media(min-width:901px){
.dish:has(img[src*="plat-A6.jpg"]) .dishPhoto,
.dish:has(img[src*="plat-A13.jpg"]) .dishPhoto,
.dish:has(img[src*="plat-A19.jpg"]) .dishPhoto,
.dish:has(img[src*="dessert-mystere.jpg"]) .dishPhoto,
.dish:has(img[src*="dessert-colonel.jpg"]) .dishPhoto,
.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishPhoto {width:150px!important;height:112.5px!important;aspect-ratio:4/3!important;overflow:hidden!important;padding:0!important;}
.dish:has(img[src*="plat-A6.jpg"]) .dishPhoto img,
.dish:has(img[src*="plat-A13.jpg"]) .dishPhoto img,
.dish:has(img[src*="plat-A19.jpg"]) .dishPhoto img,
.dish:has(img[src*="dessert-mystere.jpg"]) .dishPhoto img,
.dish:has(img[src*="dessert-colonel.jpg"]) .dishPhoto img,
.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishPhoto img {display:block!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center center!important;transform:none!important;}
}

/* V228: same proportional image presentation as existing reference dishes. */
.dish:has(img[src*="plat-A6.jpg"]) .dishRevealPhoto,.dish:has(img[src*="plat-A13.jpg"]) .dishRevealPhoto,.dish:has(img[src*="plat-A19.jpg"]) .dishRevealPhoto,.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto,.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto,.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto{aspect-ratio:3/2!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;background:transparent!important;}
.dish:has(img[src*="plat-A6.jpg"]) .dishRevealPhoto img,.dish:has(img[src*="plat-A13.jpg"]) .dishRevealPhoto img,.dish:has(img[src*="plat-A19.jpg"]) .dishRevealPhoto img,.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto img,.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto img,.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important;object-position:center!important;transform:none!important;max-height:none!important;}
@media(min-width:901px){.dish:has(img[src*="plat-A6.jpg"]) .dishPhoto,.dish:has(img[src*="plat-A13.jpg"]) .dishPhoto,.dish:has(img[src*="plat-A19.jpg"]) .dishPhoto,.dish:has(img[src*="dessert-mystere.jpg"]) .dishPhoto,.dish:has(img[src*="dessert-colonel.jpg"]) .dishPhoto,.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishPhoto{width:150px!important;height:112.5px!important;aspect-ratio:4/3!important;overflow:hidden!important;}.dish:has(img[src*="plat-A6.jpg"]) .dishPhoto img,.dish:has(img[src*="plat-A13.jpg"]) .dishPhoto img,.dish:has(img[src*="plat-A19.jpg"]) .dishPhoto img,.dish:has(img[src*="dessert-mystere.jpg"]) .dishPhoto img,.dish:has(img[src*="dessert-colonel.jpg"]) .dishPhoto img,.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishPhoto img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;}}

/* V229 — uniquement les GRANDES photos des trois desserts.
   Même cadre 4:3 que les desserts de référence, sans étirement ni recadrage.
   Les miniatures (.dishPhoto) ne sont pas concernées. */
.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto,
.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto,
.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto {
  width:100% !important;
  aspect-ratio:4 / 3 !important;
  height:auto !important;
  overflow:hidden !important;
  padding:0 !important;
}
.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto img,
.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto img,
.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* V230 : grandes photos des trois desserts, meme proportion native 3:2 que les references. */
.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto,
.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto,
.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto {
 aspect-ratio:3 / 2 !important; height:auto !important; width:100% !important; overflow:hidden !important; padding:0 !important; background:transparent !important;
}
.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto img,
.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto img,
.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto img {
 display:block !important; width:100% !important; height:auto !important; aspect-ratio:3 / 2 !important; object-fit:contain !important; object-position:center center !important; transform:none !important; max-width:100% !important; max-height:none !important; margin:0 !important; padding:0 !important;
}

/* V231 — uniquement cinq grandes photos, proportions natives et aucun recadrage CSS. */
.dish:has(img[src*="plat-A6.jpg"]) .dishRevealPhoto,.dish:has(img[src*="plat-A19.jpg"]) .dishRevealPhoto,.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto,.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto,.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto{width:100%!important;height:auto!important;aspect-ratio:3/2!important;max-height:none!important;overflow:hidden!important;padding:0!important;}
.dish:has(img[src*="plat-A6.jpg"]) .dishRevealPhoto img,.dish:has(img[src*="plat-A19.jpg"]) .dishRevealPhoto img,.dish:has(img[src*="dessert-mystere.jpg"]) .dishRevealPhoto img,.dish:has(img[src*="dessert-colonel.jpg"]) .dishRevealPhoto img,.dish:has(img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;max-height:none!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;}

/* V232 — Grandes images UNIQUEMENT des trois desserts ajoutes.
   Respecter le format photographique 1500x1000 (3:2) et ne pas etirer.
   Aucune regle pour les miniatures. */
.dish.dessertWithPhoto:has(.dishRevealPhoto img[src*="dessert-mystere.jpg"]) .dishRevealPhoto,
.dish.dessertWithPhoto:has(.dishRevealPhoto img[src*="dessert-colonel.jpg"]) .dishRevealPhoto,
.dish.dessertWithPhoto:has(.dishRevealPhoto img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto {
  width:100% !important; height:auto !important; aspect-ratio:3 / 2 !important;
  min-height:0 !important; max-height:none !important; overflow:hidden !important;
  padding:0 !important; box-sizing:border-box !important;
}
.dish.dessertWithPhoto:has(.dishRevealPhoto img[src*="dessert-mystere.jpg"]) .dishRevealPhoto > img,
.dish.dessertWithPhoto:has(.dishRevealPhoto img[src*="dessert-colonel.jpg"]) .dishRevealPhoto > img,
.dish.dessertWithPhoto:has(.dishRevealPhoto img[src*="dessert-fruits-frais.jpg"]) .dishRevealPhoto > img {
  display:block !important; width:100% !important; height:auto !important;
  aspect-ratio:3 / 2 !important; object-fit:contain !important;
  object-position:center center !important; transform:none !important;
  max-height:none !important; max-width:100% !important; min-height:0 !important;
  margin:0 !important; padding:0 !important;
}

/* V234 - section photo table sur accueil seulement */
.homeTable{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);align-items:center;gap:5vw;padding:72px 7vw;background:#f1e6d7}.homeTablePhoto{min-width:0;overflow:hidden}.homeTablePhoto img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.homeTableText{max-width:520px}.homeTableText h2{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,4vw,64px);line-height:1.02;font-weight:500;color:#8f1717;margin:12px 0 20px}.homeTableText>p:not(.eyebrow){line-height:1.8;margin-bottom:30px}@media(max-width:760px){.homeTable{grid-template-columns:1fr;gap:26px;padding:38px 6vw}.homeTableText h2{font-size:42px}.homeTablePhoto img{aspect-ratio:3/2}}

/* V235 : section photo intégrée, sans étirement ni cadre */
.homeTable{position:relative;display:block!important;padding:0!important;margin:0!important;min-height:0!important;background:#26140e!important;overflow:hidden;isolation:isolate}
.homeTablePhoto{position:relative;width:100%;height:clamp(410px,42vw,630px);overflow:hidden}
.homeTablePhoto img{display:block;width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover!important;object-position:center 52%!important;transform:none!important}
.homeTablePhoto:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,13,10,.79) 0%,rgba(28,13,10,.55) 29%,rgba(28,13,10,.10) 66%,transparent 100%);pointer-events:none}
.homeTableText{position:absolute;z-index:2;left:clamp(25px,8vw,135px);top:50%;transform:translateY(-50%);max-width:470px;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.homeTableText .eyebrow{color:#e8cfa9!important}
.homeTableText h2{color:#fff!important;font-size:clamp(44px,4.7vw,70px)!important;line-height:1.03}
.homeTableText>p:not(.eyebrow){color:#f7eee6!important;line-height:1.65}
.homeTableText .ghostDark{color:#fff!important;border-color:#e7c89b!important;background:rgba(65,12,13,.55)!important}
@media(max-width:700px){.homeTablePhoto{height:auto!important;aspect-ratio:auto!important}.homeTablePhoto img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}.homeTablePhoto:after{display:none}.homeTableText{position:relative;left:auto;top:auto;transform:none;max-width:none;padding:32px 7vw 40px;background:#7c191d;color:#fff}.homeTableText h2{font-size:42px!important}.homeTableText>p:not(.eyebrow){margin-bottom:20px}}

/* V236 — photo authentique de la salle, proportions conservées */
.homeFeature.reverse {background:#f4efe8;}
.homeFeature.reverse img {object-fit:cover;object-position:center center;}
.homeFeature.reverse .homeFeatureText {background:linear-gradient(110deg,#f4efe8 0%,#f9f5ef 100%);}
@media (max-width:850px) {.homeFeature.reverse img {object-position:center center;}}

/* V237 — Salle : composition immersive sur téléphone uniquement.
   Photo non étirée ; texte lisible fondu dans le bas de l'image. */
@media (max-width: 700px) {
  body .homeFeature.reverse[data-panel="accueil"] {
    position: relative !important;
    display: block !important;
    height: 490px !important;
    min-height: 490px !important;
    overflow: hidden !important;
    isolation: isolate;
    background: #38251d !important;
  }
  body .homeFeature.reverse[data-panel="accueil"] > img {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: 54% center !important;
    transform: none !important;
    z-index: 0 !important;
  }
  body .homeFeature.reverse[data-panel="accueil"]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(to bottom,
      rgba(22,13,10,0) 18%,
      rgba(22,13,10,.12) 42%,
      rgba(22,13,10,.67) 69%,
      rgba(22,13,10,.91) 100%);
  }
  body .homeFeature.reverse[data-panel="accueil"] > .homeFeatureText {
    position: absolute !important;
    inset: auto 0 0 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 7vw 32px !important;
    margin: 0 !important;
    background: transparent !important;
    text-align: left !important;
    color: #fff !important;
  }
  body .homeFeature.reverse[data-panel="accueil"] .homeFeatureText .eyebrow {
    color: #e9d2af !important;
    margin-bottom: 8px !important;
  }
  body .homeFeature.reverse[data-panel="accueil"] .homeFeatureText h2 {
    color: #fff !important;
    font-size: clamp(36px, 9vw, 48px) !important;
    line-height: 1.02 !important;
    margin: 6px 0 12px !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.3);
  }
  body .homeFeature.reverse[data-panel="accueil"] .homeFeatureText p:not(.eyebrow) {
    color: #fff6ee !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    max-width: 410px !important;
  }
}
@media (max-width: 370px) {
  body .homeFeature.reverse[data-panel="accueil"] {height: 510px !important;min-height:510px !important;}
}

/* V238 — les DEUX textes sont superposés à leur photographie, à toutes tailles. */
body .homeTable[data-panel="accueil"] {
 position:relative!important;display:block!important;min-height:0!important;
 height:clamp(430px,44vw,620px)!important;padding:0!important;
 overflow:hidden!important;isolation:isolate;background:#241710!important;
}
body .homeTable[data-panel="accueil"] .homeTablePhoto {
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 aspect-ratio:auto!important;overflow:hidden!important;
}
body .homeTable[data-panel="accueil"] .homeTablePhoto img {
 display:block!important;width:100%!important;height:100%!important;
 aspect-ratio:auto!important;object-fit:cover!important;object-position:center 52%!important;
}
body .homeTable[data-panel="accueil"] .homeTablePhoto::after {
 display:block!important;content:"";position:absolute;inset:0;
 background:linear-gradient(90deg,rgba(24,13,11,.82),rgba(24,13,11,.43) 48%,transparent 85%);
}
body .homeTable[data-panel="accueil"] .homeTableText {
 position:absolute!important;z-index:2!important;left:clamp(24px,8vw,130px)!important;
 top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
 width:min(510px,78%)!important;max-width:510px!important;
 padding:0!important;margin:0!important;background:transparent!important;color:white!important;
}
body .homeTable[data-panel="accueil"] .homeTableText h2,
body .homeFeature.reverse[data-panel="accueil"] .homeFeatureText h2 {color:#fff!important;}
body .homeTable[data-panel="accueil"] .homeTableText p,
body .homeFeature.reverse[data-panel="accueil"] .homeFeatureText p {color:#fff5ea!important;}
body .homeTable[data-panel="accueil"] .homeTableText .eyebrow,
body .homeFeature.reverse[data-panel="accueil"] .homeFeatureText .eyebrow {color:#e8d0a9!important;}
body .homeFeature.reverse[data-panel="accueil"] {
 position:relative!important;display:block!important;min-height:0!important;
 height:clamp(430px,44vw,620px)!important;overflow:hidden!important;
 isolation:isolate;background:#241710!important;padding:0!important;
}
body .homeFeature.reverse[data-panel="accueil"] > img {
 position:absolute!important;inset:0!important;display:block!important;
 width:100%!important;height:100%!important;max-width:none!important;
 min-height:0!important;object-fit:cover!important;object-position:center center!important;
 transform:none!important;z-index:0!important;
}
body .homeFeature.reverse[data-panel="accueil"]::after {
 content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background:linear-gradient(90deg,rgba(24,13,11,.79),rgba(24,13,11,.40) 48%,transparent 85%);
}
body .homeFeature.reverse[data-panel="accueil"] > .homeFeatureText {
 position:absolute!important;z-index:2!important;left:clamp(24px,8vw,130px)!important;
 top:50%!important;bottom:auto!important;right:auto!important;
 transform:translateY(-50%)!important;display:block!important;
 width:min(510px,78%)!important;max-width:510px!important;
 padding:0!important;margin:0!important;background:transparent!important;
 color:white!important;text-align:left!important;
}
@media(max-width:700px) {
 body .homeTable[data-panel="accueil"],
 body .homeFeature.reverse[data-panel="accueil"] {
  height:clamp(510px,145vw,640px)!important;min-height:0!important;
 }
 body .homeTable[data-panel="accueil"] .homeTablePhoto::after,
 body .homeFeature.reverse[data-panel="accueil"]::after {
  background:linear-gradient(to bottom,rgba(20,12,10,.05) 0%,
  rgba(20,12,10,.14) 30%,rgba(20,12,10,.70) 64%,rgba(20,12,10,.93) 100%)!important;
 }
 body .homeTable[data-panel="accueil"] .homeTablePhoto img {
  object-position:53% center!important;
 }
 body .homeFeature.reverse[data-panel="accueil"] > img {
  object-position:53% center!important;
 }
 body .homeTable[data-panel="accueil"] .homeTableText,
 body .homeFeature.reverse[data-panel="accueil"] > .homeFeatureText {
  position:absolute!important;left:0!important;right:0!important;
  top:auto!important;bottom:0!important;transform:none!important;
  width:100%!important;max-width:none!important;box-sizing:border-box!important;
  padding:0 7vw 35px!important;margin:0!important;
  background:transparent!important;display:block!important;
 }
 body .homeTable[data-panel="accueil"] .homeTableText h2,
 body .homeFeature.reverse[data-panel="accueil"] .homeFeatureText h2 {
  font-size:clamp(34px,9vw,46px)!important;line-height:1.05!important;
 }
 body .homeTable[data-panel="accueil"] .homeTableText p:not(.eyebrow),
 body .homeFeature.reverse[data-panel="accueil"] .homeFeatureText p:not(.eyebrow) {
  font-size:14px!important;line-height:1.55!important;
 }
}

/* V240 : priorité absolue à la navigation par rubrique.
   Les panneaux de l’accueil ne doivent jamais s’afficher dans Carte, Formules ou Boissons. */
body.pages-ready main > [data-panel]:not(.panel-active) { display: none !important; }

/* V241 : supprimer uniquement les deux separateurs de l accueil */
body main > .homeSectionDivider[data-panel="accueil"], body.pages-ready main > .homeSectionDivider[data-panel="accueil"].panel-active { display:none !important; }

/* V243 : uniquement le lien sur la photo de la table, sans fond bordeaux */
body .homeTable[data-panel="accueil"] .homeTableText a.ghostDark, body .homeTable[data-panel="accueil"] .homeTableText a.ghostDark:hover, body .homeTable[data-panel="accueil"] .homeTableText a.ghostDark:focus { background:transparent!important; background-color:transparent!important; box-shadow:none!important; }

/* V244: sous-titre du bandeau principal, FR et EN, toutes tailles */
html body section#accueil.hero > .heroText > p:first-child, html body section.hero[data-panel="accueil"] > .heroText > p:first-child { color: #e8d0a9 !important; }
