/* Menu public - finitions (chantier feat/public-menu-polish). Charge APRES menu-editorial.css.
   Deux sujets seulement : voile des categories (plaque de titre) et badges des cartes (texte 12 px).
   L'en-tete et le cadrage des photos de plat restent ceux de la production (retour demande le 14/10).
   Jamais de couleur du restaurant modifiee : le fond du titre est un noir neutre translucide. */

/* 1) Categories : plus de voile sombre sur toute la photo. Le titre reste lisible grace a une plaque
      limitee au texte (fond sombre translucide + flou), placee en bas a gauche, et a une ombre legere. */
.ed-page #menu-explorer .mexplorer-cat .mexplorer-cat-img-wrap::after,
.ed-page #menu-explorer .mexplorer-cat--featured .mexplorer-cat-img-wrap::after {
  background: none !important;
}
/* Plaque : uniquement la ou le titre est POSE SUR la photo (telephone <= 767px, et tuile "Best-Sellers" a toute
   largeur). Sur ordinateur les titres sont sous l'image : rien n'est change. */
.ed-page #menu-explorer .mexplorer-cat--featured .mexplorer-cat-label {
  inset-inline-start: 8px !important;
  inset-inline-end: auto !important;
  bottom: 8px !important;
  max-width: calc(100% - 16px) !important;
  box-sizing: border-box !important;
  padding: 6px 10px 7px !important;
  border-radius: 10px !important;
  background: rgba(14, 14, 16, .7) !important;
  -webkit-backdrop-filter: blur(8px) saturate(1.15);
  backdrop-filter: blur(8px) saturate(1.15);
}
@media (max-width: 767px) {
  .ed-page #menu-explorer .mexplorer-cat .mexplorer-cat-label {
    inset-inline-start: 8px !important;
    inset-inline-end: auto !important;
    bottom: 8px !important;
    max-width: calc(100% - 16px) !important;
    box-sizing: border-box !important;
    padding: 6px 10px 7px !important;
    border-radius: 10px !important;
    background: rgba(14, 14, 16, .7) !important;
    -webkit-backdrop-filter: blur(8px) saturate(1.15);
    backdrop-filter: blur(8px) saturate(1.15);
  }
  .ed-page #menu-explorer .mexplorer-cat .mexplorer-cat-name {
    text-wrap: balance;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .45) !important;
  }
}
.ed-page #menu-explorer .mexplorer-cat--featured .mexplorer-cat-name {
  text-wrap: balance;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .45) !important;
}
/* Sans photo : la surface est deja sombre, pas de plaque supplementaire. */
@media (max-width: 767px) {
  .ed-page #menu-explorer .mexplorer-cat.no-img .mexplorer-cat-label {
    background: none !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* Tres petits ecrans (320 px) : titre un peu plus compact pour que la plaque ne couvre pas la moitie de la tuile. */
@media (max-width: 340px) {
  .ed-page #menu-explorer .mexplorer-cat .mexplorer-cat-name { font-size: .95rem !important; }
}

/* 4) Badges sur les photos : emprise reduite (telephone). Meme design valide (fond pose ligne par ligne, une ligne
      quand le libelle tient, deux lignes au plus, aucun libelle tronque) : texte 12 px au lieu de 13 px, marges
      reduites. Les demi-cartes sont regies par des selecteurs tres specifiques (menu-editorial.css, regles
      :not(:is(...))) : ils sont repris a l'identique ici, plus loin dans la cascade. Ni regle de priorite ni
      limitation du nombre de badges. */
@media (max-width: 767px) {
  html:not([dir="rtl"]) .ed-page [data-category-section].ed-grid .dish-card:not(:is(.ed-grid:not(.ed-grid--n4.ed-grid--m3-2):not(:has(> .dish-card[hidden])) > :nth-of-type(3n+1), .ed-grid--n4.ed-grid--m3-2:not(:has(> .dish-card[hidden])) > :nth-of-type(3n+1):not(:nth-last-of-type(2)), .ed-grid--n2:not(:has(> .dish-card[hidden])) > :last-of-type)) .dish-emoji-badge__text { font-size: .75rem !important; padding: 1.5px 6px !important; }
  html[dir="rtl"] .ed-page [data-category-section].ed-grid .dish-card:not(:is(.ed-grid:not(.ed-grid--n4.ed-grid--m3-2):not(:has(> .dish-card[hidden])) > :nth-of-type(3n+1), .ed-grid--n4.ed-grid--m3-2:not(:has(> .dish-card[hidden])) > :nth-of-type(3n+1):not(:nth-last-of-type(2)), .ed-grid--n2:not(:has(> .dish-card[hidden])) > :last-of-type)) .dish-emoji-badge__text { font-size: .75rem !important; }
  html:not([dir="rtl"]) body.ed-page [data-category-section].ed-grid .dish-card .dish-emoji-badge__text { font-size: .75rem !important; padding: 1.5px 6px !important; }
  html[dir="rtl"] body.ed-page [data-category-section].ed-grid .dish-card .dish-emoji-badge__text { font-size: .75rem !important; }
}

/* 5) Lisibilite (decision du 14/10) : noms de plats jusqu'a trois lignes sur telephone (les cartes d'une meme rangee
      gardent la meme hauteur, le prix reste en bas), libelles de navigation a 12 px, badges ordinateur a 12 px et
      mentions midi/soir a 11 px. Aucun changement d'en-tete ni de cadrage. */
@media (max-width: 767px) {
  html body.ed-page [data-category-section] .dish-card .dish-name { -webkit-line-clamp: 3 !important; }
  html body.ed-page--menu .mobile-bottom-nav .mobile-bottom-nav__label { font-size: .75rem !important; }
}
@media (min-width: 768px) {
  html body.ed-page [data-category-section] .dish-card .dish-emoji-badge__text { font-size: .75rem !important; }
  html body.ed-page [data-category-section] .dish-card .dual-price-badge { font-size: .6875rem !important; }
}

/* 6) Categories (toutes largeurs) : nom + nombre de choix SUR la photo, texte blanc, petite plaque sombre semi-transparente limitee
      au texte (aucun voile sur la photo), meme style pour toutes les categories ; titres complets (plaque ajustee, aucun mot coupe,
      aucune limite de lignes), compteur >= 12 px. Les grilles de chaque largeur sont conservees : telephone (<= 639 px) =
      premiere categorie en grand format puis deux colonnes (photos 3:2) ; 640-767 px = tuiles carrees ; >= 768 px = rangee
      de tuiles 16:10. Ordre, couleurs et reglages du restaurant inchanges. */
/* tuile = grille a une cellule : photo et plaque dans la meme cellule ; si le titre est plus haut que la photo, la tuile grandit
   (jamais de texte coupe ni de plaque qui deborde de la photo) */
html body.ed-page #menu-explorer .mexplorer-cats .mexplorer-cat { display: grid !important; grid-template: minmax(0, auto) / minmax(0, 1fr) !important; container-type: inline-size !important; }
html body.ed-page #menu-explorer .mexplorer-cats .mexplorer-cat .mexplorer-cat-img-wrap { grid-area: 1 / 1 !important; align-self: stretch !important; }
html body.ed-page #menu-explorer .mexplorer-cats .mexplorer-cat .mexplorer-cat-label {
  grid-area: 1 / 1 !important; align-self: end !important; justify-self: start !important;
  position: relative !important; inset: auto !important; z-index: 2 !important; width: auto !important; max-width: calc(100% - 16px) !important;
  margin: 0 8px 8px !important;
  padding: 5px 8px 6px !important; border-radius: 8px !important; box-sizing: border-box !important; text-align: start !important;
  background: rgba(18, 18, 20, .55) !important;
  -webkit-backdrop-filter: blur(7px) saturate(1.25) !important; backdrop-filter: blur(7px) saturate(1.25) !important;
  /* plaque = largeur reelle du texte le plus large (nom ou compteur) : colonne, aucune largeur imposee */
  display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: flex-start !important;
  width: fit-content !important; min-width: 0 !important; gap: 1px !important; text-align: start !important;
}
html body.ed-page #menu-explorer .mexplorer-cats .mexplorer-cat .mexplorer-cat-name {
  display: block !important; -webkit-line-clamp: none !important; overflow: visible !important;
  font-size: .875rem !important; font-size: clamp(12px, 8.8cqw, 15px) !important; font-weight: 650 !important; line-height: 1.2 !important; letter-spacing: 0 !important;
  color: #FFFFFF !important; text-shadow: 0 1px 1px rgba(0, 0, 0, .3) !important; width: auto !important; min-width: 0 !important; flex: 0 1 auto !important;
  overflow-wrap: break-word !important; word-break: normal !important; hyphens: none !important; text-wrap: pretty; max-width: 100% !important;
}
html body.ed-page #menu-explorer .mexplorer-cats .mexplorer-cat .mexplorer-cat-count {
  font-size: .75rem !important; font-weight: 500 !important; line-height: 1.25 !important;
  color: rgba(255, 255, 255, .92) !important; text-shadow: 0 1px 1px rgba(0, 0, 0, .3) !important; white-space: nowrap !important; width: auto !important; flex: 0 0 auto !important;
}
/* contour de la tuile mise en avant : 1,5 px ; aucun voile sur la photo */
html body.ed-page #menu-explorer .mexplorer-cat--featured .mexplorer-cat-img-wrap::after {
  inset: 0 !important; width: auto !important; height: auto !important; border-radius: inherit !important;
  background: none !important; box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--ed-accent-ink) 80%, transparent) !important;
}

/* categories sans photo : fond derive du theme, icone centree */
html body.ed-page #menu-explorer .mexplorer-cat.no-img .mexplorer-cat-img-wrap {
  background:
    radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--ed-accent) 26%, transparent), transparent 68%),
    color-mix(in srgb, var(--ed-accent) 12%, var(--ed-card)) !important;
}
html body.ed-page #menu-explorer .mexplorer-cat.no-img .mexplorer-cat-img-wrap::before {
  content: "" !important; position: absolute !important; z-index: 0 !important;
  inset: auto !important; top: 42% !important; left: 50% !important; right: auto !important; bottom: auto !important; margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  width: clamp(30px, 30%, 52px) !important; height: auto !important; aspect-ratio: 1 / 1 !important; border-radius: 50% !important;
  background: radial-gradient(circle, transparent 0 34%, color-mix(in srgb, var(--ed-accent-ink) 55%, transparent) 35% 41%, transparent 42% 60%, color-mix(in srgb, var(--ed-accent-ink) 55%, transparent) 61% 68%, transparent 69%) !important;
}

/* >= 768 px : le titre n'est plus sous la photo ; la tuile = la photo (meme grille) */
@media (min-width: 768px) {
  html body.ed-page #menu-explorer .mexplorer-cats .mexplorer-cat { position: relative !important; gap: 0 !important; }
    }

/* telephone (<= 639 px) : premiere categorie en grand format puis deux colonnes ; 1 ou 2 categories equilibrees */
@media (max-width: 639px) {
  html body.ed-page #menu-explorer .mexplorer-cats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  html body.ed-page #menu-explorer .mexplorer-cats:has(> .mexplorer-cat:nth-child(3)) > .mexplorer-cat:nth-child(1) { grid-column: 1 / -1 !important; aspect-ratio: 2 / 1 !important; }
  html body.ed-page #menu-explorer .mexplorer-cats:has(> .mexplorer-cat:nth-child(3)) > .mexplorer-cat:nth-child(1) .mexplorer-cat-name { font-size: 1.0625rem !important; }
  /* suivantes (ou toutes pour 1 a 2 categories) : photo 3:2 avec plaque sur la photo */
  html body.ed-page #menu-explorer .mexplorer-cats:has(> .mexplorer-cat:nth-child(3)) > .mexplorer-cat:not(:nth-child(1)),
  html body.ed-page #menu-explorer .mexplorer-cats:not(:has(> .mexplorer-cat:nth-child(3))) > .mexplorer-cat { aspect-ratio: auto !important; position: relative !important; min-width: 0 !important; height: auto !important; }
  html body.ed-page #menu-explorer .mexplorer-cats:has(> .mexplorer-cat:nth-child(3)) > .mexplorer-cat:not(:nth-child(1)) .mexplorer-cat-img-wrap,
  html body.ed-page #menu-explorer .mexplorer-cats:not(:has(> .mexplorer-cat:nth-child(3))) > .mexplorer-cat .mexplorer-cat-img-wrap {
    position: relative !important; inset: auto !important; width: 100% !important; height: auto !important;
    aspect-ratio: 3 / 2 !important; border-radius: 16px !important; flex: none !important;
  }
  html body.ed-page #menu-explorer .mexplorer-cats:has(> .mexplorer-cat:nth-child(3)) > .mexplorer-cat:not(:nth-child(1)) .mexplorer-cat-img-wrap::after,
  html body.ed-page #menu-explorer .mexplorer-cats:not(:has(> .mexplorer-cat:nth-child(3))) > .mexplorer-cat .mexplorer-cat-img-wrap::after { border-radius: 16px !important; }
  /* petites tuiles : plaque plus serree pour que les mots longs tiennent entiers */
  html body.ed-page #menu-explorer .mexplorer-cats:has(> .mexplorer-cat:nth-child(3)) > .mexplorer-cat:not(:nth-child(1)) .mexplorer-cat-label,
  html body.ed-page #menu-explorer .mexplorer-cats:not(:has(> .mexplorer-cat:nth-child(3))) > .mexplorer-cat .mexplorer-cat-label { margin: 0 6px 6px !important; max-width: calc(100% - 12px) !important; padding: 5px 8px 6px !important; }
  /* une seule categorie : pleine largeur */
  html body.ed-page #menu-explorer .mexplorer-cats:not(:has(> .mexplorer-cat:nth-child(2))) > .mexplorer-cat { grid-column: 1 / -1 !important; }

}

/* 7) En-tete « simple » (retenu le 16/10) : identite posee directement sur le fond de la page (aucune carte, bordure ni ombre),
      logo centre sur un support uni arrondi (proportions respectees), nom, adresse et informations en texte ; boutons du haut
      reduits a leurs icones (trois points / drapeau + chevron, noms accessibles conserves) ; bloc reseaux entre l'identite et la
      roulette, sur le fond ; panneaux « Plus » et langues aux couleurs du menu. Couleurs : variables du theme du restaurant. */
html body.ed-page #menu-explorer .mexplorer-search-wrap, html body.ed-page #menu-explorer .mexplorer-popular { box-shadow: none !important; border-radius: 14px !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet {
  --hero-text: var(--ed-ink); --hero-subtext: var(--ed-muted);
  background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; clip-path: none !important; color: var(--ed-ink) !important;
  display: grid !important; grid-template-columns: minmax(0, 1fr) !important; justify-items: center !important; text-align: center !important;
  grid-template-areas: "tools" "logo" "name" "addr" "meta" "actions" !important; gap: 0 !important; padding: 4px 2px 10px !important;
}
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-main,
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-identity,
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-copy { display: contents !important; }
/* barre haute : « Plus » (trois points) a gauche, langue a droite ; icones seules, cibles >= 44 px, fond teinte leger sans contour */
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-top { grid-area: tools !important; width: 100% !important; margin: 0 !important; justify-self: stretch !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-top-right { width: 100% !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .rh-more-open-btn { order: -1 !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .lang-trigger,
html body.ed-page--menu .menu-app .restaurant-sheet-hero .rh-more-open-btn {
  height: 44px !important; min-height: 44px !important; border: 0 !important; box-shadow: none !important; border-radius: 14px !important;
  background: color-mix(in srgb, var(--ed-ink) 9%, transparent) !important; color: var(--ed-ink) !important;
}
html body.ed-page--menu .menu-app .restaurant-sheet-hero .rh-more-open-btn { width: 48px !important; min-width: 48px !important; padding: 0 !important; justify-content: center !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .rh-more-open-btn svg { width: 20px !important; height: 20px !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .lang-trigger { width: auto !important; min-width: 64px !important; padding: 0 12px !important; gap: 8px !important; justify-content: center !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .lang-trigger__label,
html body.ed-page--menu .menu-app .restaurant-sheet-hero .rh-more-open-btn > span {
  position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; margin: -1px !important; padding: 0 !important; border: 0 !important; white-space: nowrap !important;
}
html body.ed-page--menu .menu-app .restaurant-sheet-hero .lang-trigger .lang-trigger__flag { width: 28px !important; height: 21px !important; min-width: 28px !important; border-radius: 5px !important; box-shadow: none !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .lang-trigger__chevron { width: 13px !important; height: 13px !important; opacity: .9 !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .lang-trigger:focus-visible,
html body.ed-page--menu .menu-app .restaurant-sheet-hero .rh-more-open-btn:focus-visible { outline: 2px solid var(--ed-ink) !important; outline-offset: 2px !important; }
/* logo : taille moderee, support uni arrondi, aucun contour ni ombre ; jamais recadre ni deforme */
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-logo {
  grid-area: logo !important; width: auto !important; height: auto !important; max-height: 104px !important; max-width: min(54vw, 210px) !important;
  object-fit: contain !important; box-sizing: border-box !important; padding: 0 !important; margin: 14px 0 0 !important; justify-self: center !important;
  border: 0 !important; box-shadow: none !important; border-radius: 26px !important; background: color-mix(in srgb, var(--ed-ink) 8%, var(--ed-inner)) !important;
}
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-copy .restaurant-sheet-name {
  grid-area: name !important; justify-self: center !important; text-align: center !important; margin: 18px 0 0 !important; max-width: 100% !important;
  font-size: clamp(1.5rem, 6.8vw, 1.8rem) !important; line-height: 1.15 !important; letter-spacing: -.022em !important; font-weight: 700 !important; color: var(--ed-ink) !important; text-wrap: balance;
}
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-copy .restaurant-sheet-name::after { content: none !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-address {
  grid-area: addr !important; justify-self: center !important; display: block !important; text-align: center !important;
  margin: 8px 0 0 !important; font-size: 1rem !important; line-height: 1.4 !important; color: var(--ed-muted) !important; opacity: 1 !important; max-width: 30em !important;
}
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-address svg { display: inline-block !important; margin: 0 6px 0 0 !important; vertical-align: -1px !important; }
html[dir="rtl"] body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-address svg { margin: 0 0 0 6px !important; }
/* informations : texte sur le fond, sans pastille, contour ni separateur ; le point de statut est conserve */
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-badges {
  grid-area: meta !important; justify-self: center !important; justify-content: center !important; margin: 12px 0 0 !important; padding: 0 !important;
  border: 0 !important; gap: 4px 18px !important; width: 100% !important; flex-wrap: wrap !important; align-items: center !important;
}
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-badges .hero-badge,
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-badges .hero-badge + .hero-badge,
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-badges .hero-badge:first-child {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; max-width: 100% !important; margin: 0 !important;
  padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; text-align: center !important;
  color: var(--ed-ink) !important; font-size: .9375rem !important; font-weight: 600 !important; line-height: 1.35 !important; white-space: normal !important; overflow-wrap: anywhere !important;
}
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-badges .restaurant-badge-status { flex-basis: 100% !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-actions { grid-area: actions !important; width: 100% !important; margin-top: 14px !important; border-top: 0 !important; padding-top: 0 !important; }
html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-quick-actions { justify-content: center !important; }
/* bloc reseaux : entre l'en-tete et la roulette, sur le fond ; aucune carte, aucun cadre, aucun separateur */
.restaurant-sheet-social {
  display: flex; align-items: flex-start; justify-content: space-evenly; gap: 4px; box-sizing: border-box; margin: 6px 0 14px; padding: 6px 0; background: none; border: 0; color: var(--ed-ink);
}
.restaurant-sheet-social .rss-item {
  flex: 1 1 0; min-width: 0; max-width: 200px; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 4px; min-height: 44px;
  text-decoration: none; color: var(--ed-ink); border: 0; border-radius: 14px; text-align: center;
}
.restaurant-sheet-social .rss-icon, .restaurant-sheet-social .rss-icon svg { width: 36px; height: 36px; display: inline-flex; }
.restaurant-sheet-social .rss-text { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; }
.restaurant-sheet-social .rss-name { font-size: 1rem; font-weight: 700; line-height: 1.2; color: var(--ed-ink); }
.restaurant-sheet-social .rss-cta { font-size: .8125rem; font-weight: 500; line-height: 1.25; color: var(--ed-muted); overflow-wrap: anywhere; }
.restaurant-sheet-social .rss-item:hover { background: color-mix(in srgb, var(--ed-ink) 6%, transparent); }
.restaurant-sheet-social .rss-item:focus-visible { outline: 2px solid var(--ed-accent-ink, var(--ed-ink)); outline-offset: 2px; }
@media (max-width: 359px) {
  .restaurant-sheet-social .rss-name { font-size: .9rem; }
  .restaurant-sheet-social .rss-cta { font-size: .75rem; }
}
/* tablette / ordinateur (>= 721 px) : composition horizontale ; reseaux repartis au centre de la largeur */
@media (min-width: 721px) {
  html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet {
    grid-template-columns: auto minmax(0, 1fr) auto !important; justify-items: start !important; text-align: start !important; align-items: center !important;
    grid-template-areas: "logo name tools" "logo addr tools" "logo meta tools" "actions actions actions" !important; gap: 0 20px !important; padding: 8px 2px 12px !important;
  }
  html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-top { width: auto !important; align-self: start !important; justify-self: end !important; }
  html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-top-right { gap: 8px !important; width: auto !important; }
  html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-logo { margin: 0 !important; max-width: 190px !important; }
  html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-copy .restaurant-sheet-name { justify-self: start !important; text-align: start !important; margin: 0 !important; font-size: 1.75rem !important; align-self: end !important; }
  html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-address { justify-self: start !important; text-align: start !important; margin: 4px 0 0 !important; }
  html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-badges { justify-self: start !important; justify-content: flex-start !important; margin: 8px 0 0 !important; }
  html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-sheet-badges .restaurant-badge-status { flex-basis: auto !important; }
  html body.ed-page--menu .menu-app .restaurant-sheet-hero .restaurant-quick-actions { justify-content: flex-start !important; }
  .restaurant-sheet-social { max-width: 720px; margin-inline: auto; padding: 8px 0; }
  .restaurant-sheet-social .rss-item { flex: 1 1 0; max-width: 240px; flex-direction: row; justify-content: center; gap: 12px; }
  .restaurant-sheet-social .rss-icon, .restaurant-sheet-social .rss-icon svg { width: 32px; height: 32px; }
  .restaurant-sheet-social .rss-text { align-items: flex-start; text-align: start; }
}

/* 8) Panneaux « Plus » et langues : couleurs, typographie et arrondis du menu (aucun fond bleu impose), etats survol / focus soignes.
      Limites a la page menu (body.ed-page--menu) : les autres pages gardent leur panneau actuel. */
body.ed-page--menu .rh-more-overlay, body.ed-page--menu .lang-overlay { background: rgba(0, 0, 0, .38) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
body.ed-page--menu .rh-more-panel, body.ed-page--menu .lang-panel {
  background: var(--ed-inner) !important; color: var(--ed-ink) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  border: 1px solid var(--ed-hairline, color-mix(in srgb, var(--ed-ink) 14%, transparent)) !important; box-shadow: 0 14px 40px rgba(0, 0, 0, .22) !important; font-family: var(--ed-font, inherit);
}
@media (max-width: 720px) {
  body.ed-page--menu .rh-more-panel, body.ed-page--menu .lang-panel { border-radius: 24px 24px 0 0 !important; box-shadow: 0 -10px 36px rgba(0, 0, 0, .25) !important; }
}
@media (min-width: 721px) {
  body.ed-page--menu .rh-more-panel, body.ed-page--menu .lang-panel { border-radius: 20px !important; }
}
body.ed-page--menu .rh-more-handle, body.ed-page--menu .lang-panel__handle { background: color-mix(in srgb, var(--ed-ink) 22%, transparent) !important; }
body.ed-page--menu .rh-more-section + .rh-more-section { border-top-color: var(--ed-hairline, color-mix(in srgb, var(--ed-ink) 12%, transparent)) !important; }
body.ed-page--menu .rh-more-section-label, body.ed-page--menu .lang-panel__label { color: var(--ed-muted) !important; letter-spacing: .1em !important; font-size: .7rem !important; }
/* Ecritures cursives (arabe, ourdou) : pas d'espacement entre les lettres, qui casserait la liaison */
html[dir="rtl"] body.ed-page--menu .rh-more-section-label, html[dir="rtl"] body.ed-page--menu .lang-panel__label { letter-spacing: 0 !important; text-transform: none !important; }
body.ed-page--menu .rh-more-item, body.ed-page--menu .lang-panel__item {
  color: var(--ed-ink) !important; font-family: inherit; text-align: start !important; border-radius: 12px; margin: 0 6px; width: calc(100% - 12px) !important; padding-inline: 12px !important;
  transition: background .15s ease, color .15s ease;
}
body.ed-page--menu .rh-more-item { padding-block: 10px !important; font-size: .9375rem !important; font-weight: 600 !important; }
body.ed-page--menu .lang-panel__item { padding-block: 10px !important; box-sizing: border-box; }
body.ed-page--menu .rh-more-item__label { color: var(--ed-ink) !important; }
body.ed-page--menu .rh-more-item:hover, body.ed-page--menu .lang-panel__item:hover { background: color-mix(in srgb, var(--ed-ink) 7%, transparent) !important; color: var(--ed-ink) !important; }
body.ed-page--menu .rh-more-item:active { background: color-mix(in srgb, var(--ed-ink) 11%, transparent) !important; }
body.ed-page--menu .rh-more-item:focus-visible, body.ed-page--menu .lang-panel__item:focus-visible {
  outline: 2px solid var(--ed-accent-ink, var(--ed-ink)) !important; outline-offset: -2px !important; background: color-mix(in srgb, var(--ed-ink) 7%, transparent) !important; color: var(--ed-ink) !important;
}
body.ed-page--menu .rh-more-item__icon { background: color-mix(in srgb, var(--ed-ink) 8%, transparent) !important; color: var(--ed-ink) !important; border-radius: 12px !important; }
body.ed-page--menu .rh-more-item__arrow, body.ed-page--menu .lang-panel__arrow { color: var(--ed-muted) !important; margin-inline-start: auto !important; margin-left: 0 !important; }
html[dir="rtl"] body.ed-page--menu .rh-more-item__arrow, html[dir="rtl"] body.ed-page--menu .lang-panel__arrow { transform: scaleX(-1); }
body.ed-page--menu .lang-panel__flag { background: color-mix(in srgb, var(--ed-ink) 8%, transparent) !important; border-radius: 12px !important; }
body.ed-page--menu .lang-panel__item.is-active { background: color-mix(in srgb, var(--ed-accent, var(--ed-ink)) 14%, transparent) !important; color: var(--ed-ink) !important; }
body.ed-page--menu .lang-panel__item.is-active .lang-panel__name { font-weight: 800; }
body.ed-page--menu .lang-panel__check { color: var(--ed-accent-ink, var(--ed-ink)) !important; }
