
/* ———— ex-bloc: nav-lisible ———— */
#nav.nav:not(.scrolled):not(#_):not(#__){background-color:transparent!important;background-image:linear-gradient(180deg,rgba(6,11,20,.94),rgba(6,11,20,.88))!important}#nav.nav:not(.scrolled):not(#_):not(#__)::after{content:"";position:absolute;left:0;right:0;top:100%;height:40px;pointer-events:none;background:linear-gradient(180deg,rgba(6,11,20,.42),rgba(6,11,20,0))}
/* ———— ex-bloc: etLightFix ———— */
/* Reparation contraste theme clair - tache #91.
   Portee : inerte en mode sombre (chaque selecteur est prefixe html.et-plight
   ou html.et-jlight).

   PRINCIPE DE CASCADE : pour les encres GLOBALES (liens, kick, accents inline)
   on reprend le selecteur d'origine A L'IDENTIQUE et on se contente d'arriver
   plus tard dans la cascade. Elever la specificite cassait tout l'ecosysteme
   d'exceptions deja en place (pghero, footer, .btn, .mkt-nav, .ppt-cta...) :
   la premiere version de ce bloc a fait passer les echecs de 314 a 1016.
   Pour les ILOTS SOMBRES, au contraire, on vise juste au-dessus de la regle
   de base html.et-plight main span:not(#_) = (1,1,3). */

/* ---- G1 : neutraliser les degrades clippes sur le texte (52 echecs) ----
   Lecon 42 : poser `color` ne fait rien sur un texte peint par
   background-clip:text. Il faut couper l'image de fond ET remettre
   -webkit-text-fill-color. currentColor laisse gagner la regle d'encre. */
html.et-plight main em:not(#_):not(#__),
html.et-plight main i:not(#_):not(#__),
html.et-plight body>section em:not(#_):not(#__),
html.et-plight body>section i:not(#_):not(#__),
html.et-plight .apps-creed:not(#_):not(#__),
html.et-jlight main em:not(#_):not(#__),
html.et-jlight main i:not(#_):not(#__),
html.et-jlight .apps-creed:not(#_):not(#__){
  background-image:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
}

/* ---- G2 : encres d'accent inline assombries (selecteurs d'origine) ---- */
html.et-plight [style*="34D399"]:not(#_){color:#094E37!important}
html.et-plight [style*="E8C36A"]:not(#_),
html.et-plight [style*="F0CE82"]:not(#_){color:#7A570E!important}
html.et-plight [style*="075E42"]:not(#_){color:#06533B!important}
html.et-plight [style*="B4700A"]:not(#_){color:#9E6209!important}

/* ---- G3 : bleu de lien assombri #155FA8 -> #0E4172 (4.60:1) ----
   Selecteurs d'origine, mot pour mot. */
html.et-plight main a:not(#_){color:#0E4172!important}
html.et-plight body>section a:not(#_){color:#0E4172!important}
html.et-plight .wrap>a:not([class]):not(#_):not(#__){
  text-decoration:underline!important;color:#0E4172!important}
html.et-jlight a:not(#_):not(.jback):not(.jlang){color:#0E4172}

/* ---- G4 : or de titraille #6B500F -> #4C380B (4.63:1) ----
   Selecteurs d'origine, mot pour mot. */
html.et-plight main .kick:not(#_),
html.et-plight main [class*="kick"]:not(#_),
html.et-plight main h1 em:not(#_),
html.et-plight main h2 em:not(#_){color:#4C380B!important}
html.et-jlight h1 em:not(#_),
html.et-jlight h2 em:not(#_),
html.et-jlight .jkick:not(#_),
html.et-jlight .sc-lb:not(#_),
html.et-jlight .cb-k:not(#_){color:#4C380B!important}
html.et-plight body>section [class*="kick"]:not(#_),
html.et-plight body>section h2 em:not(#_),
html.et-plight body>section [class*="-no"]:not(#_),
html.et-plight body>section [class*="-k"]:not(#_){color:#4C380B!important}
html.et-jlight .more-k:not(#_){color:#4C380B!important}
html.et-plight .pgr-dir:not(#_){color:#4C380B!important}
html.et-plight main section.hero h1 em:not(#_):not(#__){
  background:none!important;-webkit-text-fill-color:#4C380B!important;color:#4C380B!important}
html.et-plight main code:not(#_):not(#__),
html.et-plight body>section code:not(#_):not(#__){
  color:#4C380B!important;background:rgba(76,56,11,.09)!important}

/* ==== ILOTS SOMBRES : rendre l'encre claire, garder la surface sombre ==== */

/* ---- I1 : heros photo, balises manquantes du bloc d'exception (lecon 43) ----
   h1/p/li/span/a/.pgk sont deja traites en amont : on ne les reprend pas,
   pour ne pas ecraser la hierarchie voulue du hero.
   On NE cible PAS [class*="hero"] : section.hero est une surface CLAIRE sur
   plusieurs pages (cibles-2030, projets) — seuls .pghero, header[class*=hero]
   et .diapo sont des surfaces photo. */
html.et-plight main .pghero :is(i,em,strong,b,small,dt,dd,td,th,label,figcaption,blockquote,summary):not(#_),
html.et-plight main header[class*="hero"] :is(i,em,strong,b,small,dt,dd,td,th,label,figcaption,blockquote,summary):not(#_),
html.et-plight main .diapo :is(i,em,strong,b,small,dt,dd,td,th,label,figcaption,blockquote,summary):not(#_){
  color:#EAF0F8!important;-webkit-text-fill-color:#EAF0F8!important;
  background-image:none!important;
  -webkit-background-clip:border-box!important;background-clip:border-box!important;
}
/* I2 : pastille or active du hero -> encre sombre restauree */
html.et-plight main .pgc-node.is-on:not(#_),
html.et-plight main .pgc-node.is-on :not(#_){
  color:#121D31!important;-webkit-text-fill-color:#121D31!important;
}

/* ---- I3 : sous-navigation de pole (37 echecs) ---- */
html.et-plight .pole-subnav :not(#_){
  color:#CBD5E3!important;-webkit-text-fill-color:#CBD5E3!important;
}
html.et-plight .pole-subnav .psn-home:not(#_),
html.et-plight .pole-subnav a:not(#_){
  color:#EAD9A8!important;-webkit-text-fill-color:#EAD9A8!important;
}

/* ---- I4 : cartes .fp-card a voile (32 echecs) ---- */
html.et-plight .fp-card :not(#_){
  color:#F5F7FA!important;-webkit-text-fill-color:#F5F7FA!important;
}
html.et-plight .fp-card .fp-badge:not(#_){
  color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;
}

/* ---- I5 : cartes .adx code couleur par pole (17 echecs) ---- */
html.et-plight .adx:not(#_),
html.et-plight .adx :not(#_){
  color:#F5F7FA!important;-webkit-text-fill-color:#F5F7FA!important;
}
html.et-plight .adx .eyebrow:not(#_){
  color:var(--ac,#EAD9A8)!important;-webkit-text-fill-color:var(--ac,#EAD9A8)!important;
}

/* ---- I6 : cartes contact presse .cp-ct (20 echecs) ----
   Doit battre html.et-plight main .cp-ct a:not(#_) b = (1,3,4). */
html.et-plight main .cp-ct a:not(#_):not(#__),
html.et-plight main .cp-ct a:not(#_):not(#__) span{
  color:#EAF0F8!important;-webkit-text-fill-color:#EAF0F8!important;
}
html.et-plight main .cp-ct a:not(#_):not(#__) b{
  color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;
}

/* ---- I7 : bouton .fl-cta sur degrade bleu ---- */
html.et-plight .fl-cta:not(#_),
html.et-plight .fl-cta :not(#_){
  color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;
}

/* ---- I8 : boutons fantomes .fcta-s, encre = fond (ratio 1.00) ----
   Doit battre html.et-plight [class^="fcta"]:not(#_):not(#__):not(#___). */
html.et-plight .fcta-s:not(#_):not(#__):not(#___):not(#____),
html.et-plight .fcta-s :not(#_):not(#__):not(#___):not(#____){
  color:#F5F7FA!important;-webkit-text-fill-color:#F5F7FA!important;
}

/* ---- I9 : badge .dchg-badge (tchaditude) ---- */
html.et-plight .dchg-badge:not(#_){
  color:#EAF0F8!important;-webkit-text-fill-color:#EAF0F8!important;
}

/* ---- I10 : pastilles .dkpi (aval/distribution) ---- */
html.et-plight .dkpi span:not(#_){
  color:#EAF0F8!important;-webkit-text-fill-color:#EAF0F8!important;
}

/* ---- I11 : legend de formulaire, blanc sur creme ---- */
html.et-plight main legend:not(#_):not(#__){
  color:#2A3648!important;-webkit-text-fill-color:#2A3648!important;
}

/* ---- I12 : marque du pied de page des carnets (36 echecs, lecon 48) ----
   html.et-jlight redefinit --blue-l / --gold-l pour une surface claire, mais
   le pied de page reste #121D31. On restaure les valeurs sombres, limitees
   au footer, sans toucher --ink / --mut / --hair. */
html.et-jlight footer,
html.et-jlight .jfoot,
html.et-plight footer{
  --blue-l:#5AA7F0!important;
  --gold-l:#E8C36A!important;
}

/* ---- I13 : bouton .pof-cta de la colonne or ----
   ATTENTION, correctif REECRIT : la version precedente eclaircissait
   `.pof-col a`, sur la foi de cause.js qui avait vu un `::before` sombre.
   Ce ::before est en realite un FILET de 2 px en haut de carte, pas un voile :
   en theme clair .pof-col est une carte CLAIRE (#F7F9FC) sur les trois pages.
   La regle a donc casse deux liens (intermediaire/index 1.01, aval/index 1.22)
   sans corriger sa cible. Le vrai defaut est l'or #9A6D12 du bouton, a 3.36
   sur le fond de carte teinte a 8 %. On assombrit la seule encre du bouton,
   sans toucher a --c qui dessine aussi la bordure et le halo. */
html.et-plight .pof-col .pof-cta a:not(#_):not(#__){
  color:#6E4D0C!important;-webkit-text-fill-color:#6E4D0C!important;
}

/* ---- I14 : legendes du schema SVG de brochure.html ----
   Deux div en style inline poses sur un voile marine ; l'encre globale les
   fait basculer sombre. On les rend claires. */
html.et-plight [style*="position:absolute"][style*="bottom:0"]:not(#_) > div:not(#_){
  color:#EAF0F8!important;-webkit-text-fill-color:#EAF0F8!important;
}
html.et-plight [style*="position:absolute"][style*="bottom:0"]:not(#_) > div[style*="var(--blue-l)"]:not(#_){
  color:#8EC5FF!important;-webkit-text-fill-color:#8EC5FF!important;
}

/* ---- I15 : pastilles .dlnk (aval/distribution) ---- */
html.et-plight .dlnk a:not(#_){
  color:#F5F7FA!important;-webkit-text-fill-color:#F5F7FA!important;
}

/* ---- I16 : chips de synthese .ppj-syn (pages de pole) ---- */
html.et-plight .ppj-syn:not(#_),
html.et-plight .ppj-syn :not(#_){
  color:#EAF0F8!important;-webkit-text-fill-color:#EAF0F8!important;
}

/* ---- I17 : chaine de poles du hero de brochure.html ----
   Ce HEADER.hero n'est PAS dans <main> : les regles en `main ...` ne
   l'atteignent pas. Doit battre G2 [style*="E8C36A"]:not(#_) = (1,2,1). */
html.et-plight .hchain a:not(#_):not(#__),
html.et-plight .hchain a :not(#_):not(#__){
  color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;
}

/* ---- I18 : mots-marques peints par un degrade clippe en style inline ----
   ex. « Tchaditude™ » : background-clip:text + text-fill-color:transparent,
   degrade or prevu pour un fond sombre, illisible sur le creme. */
html.et-plight main [style*="text-fill-color:transparent"]:not(#_){
  background-image:none!important;
  -webkit-background-clip:border-box!important;background-clip:border-box!important;
  color:#4C380B!important;-webkit-text-fill-color:#4C380B!important;
}
/* ———— ex-bloc: etDarkFix ———— */
/* Reparation contraste theme sombre - tache #92.
   Portee : inerte des que html porte .et-plight ou .et-jlight (theme clair).
   Quatre couches, toutes mesurees au pixel (essai.js, 93/93 cibles >= 4.5:1,
   marge minimale +0.34) :

   D1. Fond — assombrit le voile du decor photo plein ecran (.subland::after,
       .54/.66 -> .50/.60) et pose les sections dessus a .45 - alleges le 31/07/2026 sur directive (page jugee trop sombre), axe contraste reverifie a zero apres allegement.
       Specificite :not(#_):not(#__) = (0,2,2) pour depasser la regle subland
       (0,1,2) en restant sous les regles a id.
   D2. Encres — releve en mode sombre les jetons trop sombres pour un fond
       nocturne (--green #1E7A55 est arithmetiquement plafonne a 3.97:1 sur
       noir pur) et les hexas poses en style inline via des selecteurs
       d'attribut, meme technique que la feuille subland d'origine.
   D3. Heros photo — un voile discret sur ::before (libre : ::after porte
       l'accent du pole). bundle_core_a1.css force opacity:.1 sur
       header.pghero::before, d'ou opacity:1!important. isolation:isolate
       cree le contexte d'empilement pour z-index:-1 sans toucher aux enfants
       positionnes (le badge "image d'illustration" reste en place) ;
       header.jtop garde son position:sticky.
   D4. Points durs du hero — pastille opaque sous .pgh-live, encre claire pour
       la chaine integree (.pgc-lab etait a 1.40:1 sur la photo amont). */

/* D1 — fond */
html:not(.et-plight):not(.et-jlight) .subland::after{
  background:linear-gradient(180deg,rgba(7,12,21,.50) 0%,rgba(7,12,21,.60) 100%)!important;
}
html:not(.et-plight):not(.et-jlight) main>section:not(#_):not(#__){
  background:rgba(14,22,38,.45)!important;
  border-radius:22px!important;
}

/* D2 — encres */
html:not(.et-plight):not(.et-jlight){
  --green:#2E9E6B!important;
  --blue-l:#7FB8F5!important;
  --amber-l:#FBBF24!important;
  --inter-l:#5CC8FA!important;
  --green-l:#4FDCAA!important;
}
html:not(.et-plight):not(.et-jlight) main [style*="color:#2F6FB0"],
html:not(.et-plight):not(.et-jlight) main [style*="color: #2F6FB0"]{color:#7FB8F5!important}
html:not(.et-plight):not(.et-jlight) main [style*="color:#B06A3A"],
html:not(.et-plight):not(.et-jlight) main [style*="color: #B06A3A"]{color:#C98A5E!important}
html:not(.et-plight):not(.et-jlight) main [style*="color:#2E8C56"],
html:not(.et-plight):not(.et-jlight) main [style*="color: #2E8C56"]{color:#3FBF7F!important}
html:not(.et-plight):not(.et-jlight) main [style*="color:#D177B4"],
html:not(.et-plight):not(.et-jlight) main [style*="color: #D177B4"]{color:#E2A0CE!important}
html:not(.et-plight):not(.et-jlight) main [style*="color:#1FA496"],
html:not(.et-plight):not(.et-jlight) main [style*="color: #1FA496"]{color:#35C4B4!important}
html:not(.et-plight):not(.et-jlight) .ec-tier.bronze{--tc:#C99A6E!important}

/* D3 — voile des heros photo */
html:not(.et-plight):not(.et-jlight) .hero:not(#_){position:relative}
html:not(.et-plight):not(.et-jlight) header.pghero,
html:not(.et-plight):not(.et-jlight) header.jtop,
html:not(.et-plight):not(.et-jlight) .hero{isolation:isolate}
html:not(.et-plight):not(.et-jlight) header.pghero::before,
html:not(.et-plight):not(.et-jlight) header.jtop::before,
html:not(.et-plight):not(.et-jlight) .hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  opacity:1!important;filter:none!important;
  background:
    linear-gradient(90deg,rgba(6,11,20,.40) 0%,rgba(6,11,20,.32) 46%,rgba(6,11,20,.14) 76%,rgba(6,11,20,.05) 100%),
    linear-gradient(180deg,rgba(6,11,20,.26) 0%,rgba(6,11,20,.14) 45%,rgba(6,11,20,.38) 100%);
}

/* D4 — points durs du hero */
html:not(.et-plight):not(.et-jlight) header.pghero .pgh-live,
html:not(.et-plight):not(.et-jlight) header.jtop .pgh-live,
html:not(.et-plight):not(.et-jlight) .hero .pgh-live{background:rgba(6,11,20,.58)!important}
html:not(.et-plight):not(.et-jlight) header.pghero :is(.pgc-lab,.pgc-tail,.pgc-arr,.pgh-flabel),
html:not(.et-plight):not(.et-jlight) header.jtop :is(.pgc-lab,.pgc-tail,.pgc-arr,.pgh-flabel),
html:not(.et-plight):not(.et-jlight) .hero :is(.pgc-lab,.pgc-tail,.pgc-arr,.pgh-flabel){color:rgba(245,247,250,.88)!important}
/* ———— ex-bloc: et-mhf ———— */
@media(max-width:760px){
#mLang:not(#_):not(#__){display:inline-flex;align-items:center;font-family:var(--fm,ui-monospace,monospace);font-size:.7rem;letter-spacing:.04em;color:var(--cream,#E9EEF5);border:1px solid var(--hair,rgba(255,255,255,.22));border-radius:20px;padding:6px 11px;text-decoration:none;margin-right:9px;white-space:nowrap}
#mLang b{font-weight:800}
html.et-plight #mLang:not(#_):not(#__),html.et-jlight #mLang:not(#_):not(#__){color:#1A2330;border-color:rgba(26,35,48,.28)}
html.et-plight .nav:not(#_):not(#__):not(#___){background:rgba(250,247,241,.74)!important;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
html.et-plight .nav.scrolled:not(#_):not(#__):not(#___){background:rgba(250,247,241,.88)!important}
footer .foot-grid .foot-col{border-top:1px solid rgba(128,128,128,.22);margin:0!important;padding:0!important}
footer .foot-grid .foot-col>h3{position:relative;margin:0!important;padding:15px 26px 15px 0!important;cursor:pointer;-webkit-tap-highlight-color:transparent}
footer .foot-grid .foot-col>h3::before{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-54%);font-size:var(--ts-8,clamp(1rem,1.8vw,1.25rem));font-weight:400;opacity:.55;font-family:var(--fm,ui-monospace,monospace)}
footer .foot-grid .foot-col.open>h3::before{content:"−"}
footer .foot-grid .foot-col:not(.open)>*:not(h3){display:none!important}
footer .foot-grid .foot-col.open{padding-bottom:12px!important}
footer .foot-grid .foot-col>a{display:block;padding:9px 0!important;margin:0!important}
#toTop:not(#_):not(#__):not(#___){transform:scale(.82);transform-origin:bottom right;opacity:.68;transition:opacity .3s}
#toTop:not(#_):not(#__):not(#___):active{opacity:1}
footer .foot-legal{padding-bottom:10px!important}
}
@media(max-width:560px){.nav .brand-tx small:not(#_){display:block!important}}
