/* Pages légales uniquement : /mentions-legales et /en/legal-notice.
   Mise en forme seule (19/10/2026) : aucun mot du texte n'est changé.
   Toutes les règles sont bornées à main.ml-legal : aucune autre page n'est touchée.
   Appel avec ?v=AAAAMMJJ, à changer à chaque modification. */

html:root body main.ml-legal > section[id]{
  padding-top:72px !important;
  padding-bottom:72px !important;
  padding-right:24px;
  padding-left:24px;
  margin:0 !important;
}
html:root body main.ml-legal > section[id]:nth-of-type(odd){background:#fdfcfa !important;color:#1a2538 !important;}
html:root body main.ml-legal > section[id]:nth-of-type(even){background:#0d1f35 !important;color:rgba(255,255,255,.86) !important;border-top:1px solid rgba(184,133,106,.18);}
html:root body main.ml-legal .ml-si{max-width:1160px;margin:0 auto;}

/* Titres de section */
html:root body main.ml-legal > section[id] h2{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-weight:300 !important;
  font-size:clamp(2rem,3.4vw,2.8rem) !important;
  line-height:1.1 !important;
  letter-spacing:-.005em;
  margin:0 0 30px !important;
  max-width:none !important;
}
html:root body main.ml-legal > section[id] h2::before{
  content:"";display:block;width:40px;height:1px;background:#b8856a;margin-bottom:22px;
}
html:root body main.ml-legal > section[id]:nth-of-type(odd) h2{color:#0d1f35 !important;}
html:root body main.ml-legal > section[id]:nth-of-type(even) h2{color:#fff !important;}

/* Sous-titres (4.1, 4.2…) */
html:root body main.ml-legal > section[id] h3{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-weight:500 !important;
  font-size:1.45rem !important;
  line-height:1.25 !important;
  margin:0 0 14px !important;
}
html:root body main.ml-legal > section[id]:nth-of-type(even) h3{color:#c9977c !important;}

/* Paragraphes et listes, aérés */
html:root body main.ml-legal > section[id] p,
html:root body main.ml-legal > section[id] li{
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:1.05rem !important;
  line-height:1.8 !important;
  font-weight:400 !important;
  max-width:none !important;
}
html:root body main.ml-legal > section[id] p{margin:0 0 1.1em !important;}
html:root body main.ml-legal > section[id] p:last-child{margin-bottom:0 !important;}
html:root body main.ml-legal > section[id]:nth-of-type(odd) p,html:root body main.ml-legal > section[id]:nth-of-type(odd) li{color:#1a2538 !important;}
html:root body main.ml-legal > section[id]:nth-of-type(even) p,html:root body main.ml-legal > section[id]:nth-of-type(even) li{color:rgba(255,255,255,.86) !important;}
html:root body main.ml-legal > section[id]:nth-of-type(odd) strong{color:#0d1f35 !important;font-weight:600 !important;}
html:root body main.ml-legal > section[id]:nth-of-type(even) strong{color:#fff !important;font-weight:600 !important;}

html:root body main.ml-legal > section[id] ul{list-style:none !important;margin:0 0 1.3em !important;padding:0 !important;}
html:root body main.ml-legal > section[id] ul:last-child{margin-bottom:0 !important;}
html:root body main.ml-legal > section[id] li{position:relative;padding-left:24px !important;margin:0 0 .55em !important;list-style:none !important;}
html:root body main.ml-legal > section[id] li::before{
  content:"";position:absolute;left:2px;top:.78em;width:7px;height:7px;border-radius:50%;background:#b8856a;
}

/* Liens soulignés, lisibles sur les deux fonds */
html:root body main.ml-legal > section[id] a{text-decoration:underline !important;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:500;}
html:root body main.ml-legal > section[id]:nth-of-type(even) a{color:#d9a88c !important;}
@media (hover:hover) and (pointer:fine){
  html:root body main.ml-legal > section[id] a:hover{text-decoration-thickness:2px;}
}

/* Coordonnées (paragraphe à lignes) : carte */
html:root body main.ml-legal > section[id] p:has(> br){
  padding:22px 26px !important;
  border-left:3px solid #b8856a;
  line-height:1.75 !important;
}
html:root body main.ml-legal > section[id]:nth-of-type(odd) p:has(> br){background:#f3eee7 !important;}
html:root body main.ml-legal > section[id]:nth-of-type(even) p:has(> br){background:#162844 !important;}

/* Sous-parties de la section Données personnelles : cartes */
html:root body main.ml-legal .ml-sub{
  margin:30px 0 0;
  padding:26px 28px;
  border-left:3px solid #b8856a;
}
html:root body main.ml-legal > section[id]:nth-of-type(odd) .ml-sub{background:#f7f4ef;border-top:1px solid #e7e1d8;border-right:1px solid #e7e1d8;border-bottom:1px solid #e7e1d8;}
html:root body main.ml-legal > section[id]:nth-of-type(even) .ml-sub{background:#162844;border-top:1px solid rgba(184,133,106,.18);border-right:1px solid rgba(184,133,106,.18);border-bottom:1px solid rgba(184,133,106,.18);}

/* Ordinateur : colonne pleine largeur comme la prod (1500 px). Marge gauche 80 px :
   les boutons fixes FR/EN occupent x 24–64 ; le texte commence après (≥ 72 px). Marge droite 56 px. */
@media (min-width:1000px){
  html:root body main.ml-legal > section[id]{padding-left:80px !important;padding-right:56px !important;padding-top:84px !important;padding-bottom:84px !important;}
  html:root body main.ml-legal .ml-si{max-width:1500px;}
  html:root body main.ml-legal > section[id] p,
  html:root body main.ml-legal > section[id] li{font-size:1.12rem !important;}
  html:root body main.ml-legal .ml-sub{padding:30px 36px;}
}

/* Téléphone : la marge gauche reste celle de la charte (gouttière FR/EN) */
@media (max-width:900px){
  html:root body main.ml-legal > section[id]{padding-top:52px !important;padding-bottom:52px !important;padding-right:20px !important;}
  html:root body main.ml-legal > section[id] h2{font-size:1.85rem !important;margin-bottom:22px !important;}
  html:root body main.ml-legal > section[id] h3{font-size:1.3rem !important;}
  html:root body main.ml-legal > section[id] p,
  html:root body main.ml-legal > section[id] li{font-size:1rem !important;line-height:1.75 !important;}
  html:root body main.ml-legal > section[id] p:has(> br){padding:18px 18px !important;}
  html:root body main.ml-legal .ml-sub{padding:18px 14px;margin-top:22px;}
  html:root body main.ml-legal > section[id] p{overflow-wrap:anywhere;}
}

/* Ordinateur : le sommaire allume le bon lien après un clic.
   scroll-padding (120 px) + scroll-margin (120 px) posaient la section à 240 px,
   au-delà du seuil du script (150 px) : le lien précédent restait allumé.
   Le titre reste sous la barre (marge haute de la section). */
@media (min-width:1101px){
  html:root body main.ml-legal > section[id]{scroll-margin-top:16px !important;}
}

/* De 901 à 999 px : même marge gauche que sur ordinateur, pour passer à droite des boutons FR/EN (x 24–64). */
@media (min-width:901px) and (max-width:999px){
  html:root body main.ml-legal > section[id]{padding-left:80px !important;padding-right:32px !important;}
}

/* Bande vide sous « Page mise à jour » (FR, depuis le 25/08) : la feuille interne de
   /mentions-legales donne à la barre de sommaire une bordure haute de 72 px translucide.
   Elle restait collée avec la barre au défilement et laissait voir le texte au travers.
   On revient à 1 px, comme /en/legal-notice. */
html:root body main.ml-legal > nav.sec-nav{border-top-width:1px !important;}

/* « Page mise à jour le… » : la barre de sommaire porte un ::before (charte) qui
   remonte de 3 à 12 px ; sans espace dessous, il rognait le bas de la ligne (FR et EN).
   Même espace dessous que dessus (18 px). */
html:root body main.ml-legal > .last-updated{padding-bottom:18px !important;}

/* Haut de page commun FR/EN (19/10, validé par le Dr) : même photo, même disposition.
   FR : header.ph > .ph-inner > .ph-text + .ph-photo. EN : header.page-hero > .ph-bg + .ph-content.
   Ordinateur (≥ 901 px) : texte à gauche (marge 80 px, boutons FR/EN), photo à droite.
   Téléphone : texte puis photo, jamais bord à bord (gouttière de la charte à gauche, 20 px à droite). */
html:root body main.ml-legal > header.ph,
html:root body main.ml-legal > header.page-hero{
  display:block !important;min-height:0 !important;padding:0 !important;margin:0 !important;
  background:#0d1f35 !important;position:relative !important;overflow:hidden !important;
}
html:root body main.ml-legal > header.ph > .ph-inner,
html:root body main.ml-legal > header.page-hero{
  display:grid !important;grid-template-columns:1fr 1fr !important;align-items:stretch !important;min-height:520px !important;
}
html:root body main.ml-legal > header.page-hero > .ph-ov,
html:root body main.ml-legal > header.page-hero > .ph-ov2{display:none !important;}
html:root body main.ml-legal > header.ph .ph-text,
html:root body main.ml-legal > header.page-hero > .ph-content{
  grid-column:1 !important;grid-row:1 !important;order:0 !important;
  display:flex !important;flex-direction:column !important;justify-content:flex-end !important;align-items:flex-start !important;
  max-width:none !important;width:auto !important;margin:0 !important;
  padding:140px 52px 64px 80px !important;position:relative !important;z-index:1 !important;color:#fff !important;
}
html:root body main.ml-legal > header.ph .ph-photo,
html:root body main.ml-legal > header.page-hero > .ph-bg{
  grid-column:2 !important;grid-row:1 !important;order:0 !important;
  position:relative !important;inset:auto !important;width:auto !important;height:auto !important;min-height:0 !important;
  margin:0 !important;overflow:hidden !important;background:#0a1828 !important;
}
html:root body main.ml-legal > header.ph .ph-photo picture,
html:root body main.ml-legal > header.page-hero > .ph-bg picture{position:absolute !important;inset:0 !important;display:block !important;width:100% !important;height:100% !important;}
html:root body main.ml-legal > header.ph .ph-photo img,
html:root body main.ml-legal > header.page-hero > .ph-bg img{
  position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;max-width:none !important;
  object-fit:cover !important;object-position:center 35% !important;display:block !important;opacity:1 !important;filter:none !important;
}
html:root body main.ml-legal > header.ph .ph-photo::after,
html:root body main.ml-legal > header.page-hero > .ph-bg::after{
  content:"" !important;display:block !important;position:absolute !important;top:0;left:0;bottom:0;width:120px;z-index:1;
  background:linear-gradient(to right,#0d1f35 0%,rgba(13,31,53,0) 100%) !important;pointer-events:none;
}
html:root body main.ml-legal > header .ph-eyebrow{margin:0 0 24px !important;}
html:root body main.ml-legal > header .ph-h1{color:#fff !important;margin:0 0 24px !important;}
html:root body main.ml-legal > header .ph-desc{color:rgba(255,255,255,.82) !important;margin:0 !important;max-width:560px !important;}

@media (max-width:900px){
  html:root body main.ml-legal > header.ph > .ph-inner,
  html:root body main.ml-legal > header.page-hero{grid-template-columns:1fr !important;min-height:0 !important;}
  html:root body main.ml-legal > header.ph .ph-text,
  html:root body main.ml-legal > header.page-hero > .ph-content{
    grid-row:1 !important;grid-column:1 !important;
    padding:calc(var(--nav-h, 72px) + 40px) 20px 28px 54px !important;
  }
  html:root body main.ml-legal > header.ph .ph-photo,
  html:root body main.ml-legal > header.page-hero > .ph-bg{
    grid-row:2 !important;grid-column:1 !important;height:220px !important;margin:0 20px 28px 54px !important;
  }
  html:root body main.ml-legal > header.ph .ph-photo::after,
  html:root body main.ml-legal > header.page-hero > .ph-bg::after{display:none !important;}
  html:root body main.ml-legal > header .ph-h1{font-size:clamp(1.85rem,8vw,2.35rem) !important;line-height:1.08 !important;margin-bottom:14px !important;}
  html:root body main.ml-legal > header .ph-desc{font-size:.95rem !important;line-height:1.55 !important;}
}
@media(max-width:900px){main.ml-legal .last-updated{padding-left:54px}}
@media(max-width:360px){main.ml-legal .last-updated{padding-right:64px}}

/* === Menu ordinateur repris de gabarit-article-v18.css (#650, 5f20d16d), pages légales uniquement (v=20261019g) === */
/* === Menu ordinateur (8e passe, v=20261019k) : disposition de l'article reconstruction en ligne, avec tailles minimales lisibles.
   Grand écran (FR ≥1780, EN ≥1800) : rendu exact de la prod. En dessous : proportions de la prod (--u), mais liens ≥ 11 px, boutons ≥ 9.5 px ; on réduit d'abord marges et espacements. */
@media (min-width:1101px){html[lang=fr]{--u:min(1px,calc(100vw / 1780))}}
@media (min-width:1101px){html[lang=en]{--u:min(1px,calc(100vw / 1800))}}
@media (min-width:1101px){
  html:root[lang=fr] body nav.nav,html:root[lang=fr] body #nav{padding:0 max(8px,calc(var(--u)*42 - 14px)) !important;gap:0 !important;max-width:100vw !important;box-sizing:border-box !important;overflow:visible !important}
  html:root[lang=fr] body .nav-l{min-width:max-content !important;gap:max(6px,calc(var(--u)*10)) !important;flex:0 0 auto !important}
  html:root[lang=fr] body .nav-id .nn{font-size:max(12px,calc(var(--u)*16.6144)) !important;letter-spacing:.01em !important}
  html:root[lang=fr] body .nav-id .ns{font-size:max(9px,calc(var(--u)*10.9504)) !important;letter-spacing:.1em !important}
  html:root[lang=fr] body .nav-menu{min-width:min-content !important;flex:1 1 0% !important;margin-left:max(4px,calc(var(--u)*24 - 8px)) !important;overflow:visible !important}
  html:root[lang=fr] body .nav-menu > li > a{font-size:max(11px,calc(var(--u)*11.328)) !important;letter-spacing:max(0px,calc(var(--u)*.54 - .2px)) !important;padding:0 max(2px,calc(var(--u)*9 - 3px)) !important}
  html:root[lang=fr] body #nav .nav-menu > li:last-child > a{padding-left:max(2px,calc(var(--u)*9 - 3px)) !important;padding-right:max(2px,calc(var(--u)*9 - 3px)) !important}
  html:root[lang=fr] body #nav .nav-ctas{display:flex !important;margin-left:max(6px,calc(var(--u)*12)) !important;gap:max(4px,calc(var(--u)*8)) !important;flex:0 0 auto !important}
  html:root[lang=fr] body #nav .nav-rdv-rappel,html:root[lang=fr] body #nav .nav-rdv-doctolib{display:block !important;font-size:max(9.5px,calc(var(--u)*9.8176)) !important;letter-spacing:max(.04em,calc(var(--u)*.785 - .3px)) !important;padding:max(7px,calc(var(--u)*9)) max(6px,calc(var(--u)*19 - 4px)) !important;white-space:nowrap !important}
}
@media (min-width:1101px){
  html:root[lang=en] body nav.nav,html:root[lang=en] body #nav{padding:0 max(8px,calc(var(--u)*42 - 14px)) !important;gap:0 !important;max-width:100vw !important;box-sizing:border-box !important;overflow:visible !important}
  html:root[lang=en] body .nav-l{min-width:max-content !important;gap:max(6px,calc(var(--u)*10)) !important;flex:0 0 auto !important}
  html:root[lang=en] body .nav-id .nn{font-size:max(12px,calc(var(--u)*15.7696)) !important;letter-spacing:.01em !important}
  html:root[lang=en] body .nav-id .ns{font-size:max(9px,calc(var(--u)*10.3936)) !important;letter-spacing:.1em !important}
  html:root[lang=en] body .nav-menu{min-width:min-content !important;flex:1 1 0% !important;margin-left:max(4px,calc(var(--u)*24 - 8px)) !important;overflow:visible !important}
  html:root[lang=en] body .nav-menu > li > a{font-size:max(11px,calc(var(--u)*10.752)) !important;letter-spacing:max(0px,calc(var(--u)*.54 - .2px)) !important;padding:0 max(2px,calc(var(--u)*9 - 3px)) !important}
  html:root[lang=en] body #nav .nav-menu > li:last-child > a{padding-left:max(2px,calc(var(--u)*9 - 3px)) !important;padding-right:max(2px,calc(var(--u)*9 - 3px)) !important}
  html:root[lang=en] body #nav .nav-ctas{display:flex !important;margin-left:max(6px,calc(var(--u)*12)) !important;gap:max(4px,calc(var(--u)*8)) !important;flex:0 0 auto !important}
  html:root[lang=en] body #nav .nav-rdv-rappel,html:root[lang=en] body #nav .nav-rdv-doctolib{display:block !important;font-size:max(9.5px,calc(var(--u)*9.3184)) !important;letter-spacing:max(.04em,calc(var(--u)*.785 - .3px)) !important;padding:max(7px,calc(var(--u)*9)) max(6px,calc(var(--u)*19 - 4px)) !important;white-space:nowrap !important}
}
@media (min-width:1101px){html:root body #nav .nav-id .ns{white-space:normal !important;line-height:1.3 !important}html:root[lang=fr] body #nav .nav-id .ns{max-width:max(140px,calc(var(--u,1px)*312)) !important}html:root[lang=en] body #nav .nav-id .ns{max-width:max(140px,calc(var(--u,1px)*325)) !important}html:root body #nav .nav-id .nn{white-space:nowrap !important}}
/* Paliers (mesurés) : liens 11 px et spécialité visible quand tout tient ; sinon spécialité masquée, puis liens 10 px.
   FR : ≥1601 complet ; 1381-1600 sans spécialité ; ≤1380 liens 10 px. EN : ≥1681 ; 1421-1680 ; ≤1420.
   */
@media (min-width:1101px) and (max-width:1600px){html:root[lang=fr] body #nav .nav-id .ns{display:none !important}}
@media (min-width:1101px) and (max-width:1380px){html:root[lang=fr] body #nav .nav-menu > li > a{font-size:11px !important}}
@media (min-width:1101px) and (max-width:1680px){html:root[lang=en] body #nav .nav-id .ns{display:none !important}}
@media (min-width:1101px) and (max-width:1420px){html:root[lang=en] body #nav .nav-menu > li > a{font-size:11px !important}}
/* 9e passe (v=20261019n) : compression limitée à 1101-1380 px pour que les deux boutons tiennent en texte entier.
   1) nom court « Dr Zeitoun » affiché, nom complet conservé pour les lecteurs d'écran (masquage visuel accessible) ;
   2) marges et espacements réduits ; les libellés longs passent sur 2 lignes seulement si la place manque (texte inchangé) (bord, logo/nom, nom/menu, entre liens, entre boutons, rembourrage des boutons).
   Aucun bouton en icône : « Être rappelée » et « Prendre RDV » restent en texte. Liens 11 px, boutons 9,5 px (planchers). */
#nav .nav-id .nn-court{display:none}
@media (min-width:1101px) and (max-width:1380px){
  html:root[lang] body #nav .nav-id .nn-long{position:absolute !important;width:1px !important;height:1px !important;margin:-1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important}
  html:root[lang] body #nav .nav-id .nn-court{display:inline !important}
  html:root[lang] body nav.nav,html:root[lang] body #nav{padding:0 6px !important}
  html:root[lang] body #nav .nav-l{gap:5px !important}
  html:root[lang] body #nav .nav-logo img{width:36px !important;height:36px !important}
  html:root[lang] body #nav .nav-menu{margin-left:10px !important}
  html:root[lang] body #nav .nav-menu > li > a,html:root[lang] body #nav .nav-menu > li:last-child > a{padding:0 max(3px,calc((100vw - 1101px) * .02)) !important;letter-spacing:0 !important;white-space:normal !important;text-align:center !important;line-height:1.2 !important}
  html:root[lang] body #nav .nav-ctas{margin-left:4px !important;gap:4px !important}
  html:root[lang] body #nav .nav-rdv-rappel,html:root[lang] body #nav .nav-rdv-doctolib{padding:7px 5px !important;letter-spacing:.02em !important}
}
/* EN : liens à 11 px jusqu'à 1420, la compression va donc jusqu'à 1420 en anglais */
@media (min-width:1381px) and (max-width:1420px){
  html:root[lang=en] body #nav .nav-id .nn-long{position:absolute !important;width:1px !important;height:1px !important;margin:-1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important}
  html:root[lang=en] body #nav .nav-id .nn-court{display:inline !important}
  html:root[lang=en] body nav.nav,html:root[lang=en] body #nav{padding:0 6px !important}
  html:root[lang=en] body #nav .nav-l{gap:5px !important}
  html:root[lang=en] body #nav .nav-logo img{width:36px !important;height:36px !important}
  html:root[lang=en] body #nav .nav-menu{margin-left:10px !important}
  html:root[lang=en] body #nav .nav-menu > li > a,html:root[lang=en] body #nav .nav-menu > li:last-child > a{padding:0 max(3px,calc((100vw - 1101px) * .02)) !important;letter-spacing:0 !important;white-space:normal !important;text-align:center !important;line-height:1.2 !important}
  html:root[lang=en] body #nav .nav-ctas{margin-left:4px !important;gap:4px !important}
  html:root[lang=en] body #nav .nav-rdv-rappel,html:root[lang=en] body #nav .nav-rdv-doctolib{padding:7px 5px !important;letter-spacing:.02em !important}
}

/* Menu large, réparti sur toute la largeur (comme l'article reconstruction) ; bouton RDV cuivre #b8856a texte blanc ; « Être rappelée » toujours visible */
@media (min-width:1101px){
  html:root body #nav .nav-menu{display:flex !important;justify-content:space-around !important}
  html:root body #nav .nav-menu > li > a{display:flex !important;align-items:center !important}
  html:root body #nav .nav-rdv-rappel{display:block !important;visibility:visible !important}
  html:root body #nav .nav-rdv-doctolib{background:#b8856a !important;border-color:#b8856a !important;color:#fff !important}
  html:root body #nav .nav-rdv-doctolib:hover{background:#a06e55 !important;border-color:#a06e55 !important;color:#fff !important}
  html:root body #nav .nav-logo{width:auto !important;height:auto !important}
}
@media (min-width:1101px) and (max-width:1380px){html:root[lang] body #nav .nav-logo{width:36px !important;height:36px !important}}
@media (min-width:1381px) and (max-width:1420px){html:root[lang=en] body #nav .nav-logo{width:36px !important;height:36px !important}}
/* EN 1421-1700 : libellés longs sur 2 lignes si la place manque, pour que « Book on Doctolib » ne soit jamais coupé */
@media (min-width:1421px) and (max-width:1700px){html:root[lang=en] body #nav .nav-menu > li > a{white-space:normal !important;text-align:center !important;line-height:1.2 !important}}
