/* Lot D : lisibilité (forme seulement : police, tailles, couleurs, encadrés). Le contenu et l'organisation des pages ne changent pas.
   Chargée sur toutes les pages, après leur style propre, dont elle corrige l'apparence. */
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --police-texte:'Source Sans 3',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --encre:#1E293B;--encre-douce:#334155;--trait:#E2E8F0;--fond-doux:#F8FAFC;--icone:#3F4E6B;
}

/* 1. POLICE : le texte courant passe en Source Sans 3 ; Syne reste pour le menu, les boutons, les intitulés et les petits titres */
body{font-family:var(--police-texte)}
main :is(p,li,dd,dt,td,th,blockquote,figcaption,label,input,textarea,select,.faq-a,[class*="desc"],[class*="intro"],[class*="sub"],[class*="excerpt"],[class*="quote"],[class*="detail"]){font-family:var(--police-texte)!important}
footer :is(p,.pied-identite,.pied-mentions){font-family:var(--police-texte)}
:is(nav,.nav-cta,[class*="btn"],[class*="label"]:not(.dif-badge-label),[class*="eyebrow"],.hero-tag,.faq-q,main h3,main h4,[class*="title"]:not(title)){font-family:'Syne',sans-serif}

/* 2. TAILLES : texte courant à 16 px (17 px dans les articles), étiquettes et mentions à 13 px au moins */
main :is(p,li,dd,.faq-a,[class*="desc"],[class*="excerpt"],[class*="quote"]):not(:is([class*="hero"],.fil,[class*="badge"],[class*="tag"]) *){font-size:1rem!important;line-height:1.65!important}
main .article-body :is(p,li){font-size:1.0625rem!important;line-height:1.75!important}
main [class*="hero"] :is(p,[class*="sub"]){font-size:1.05rem!important;line-height:1.65!important}
main :is([class*="label"],[class*="badge"],[class*="tag"],[class*="meta"],[class*="count"],[class*="author"]):not([class*="num"]):not([class*="dot"]):not(.hero-badges):not(.local-tags){font-size:.8125rem!important}
footer .pied-mentions{font-size:.8125rem}
main :is(.formation-num,.step-num,[class*="eyebrow"],.local-tags span,.fil li,.fil a){font-size:.8125rem!important}
main :is(th,.fiche-infos dt,.fiche-module h3 span,.theme-dif,.pdf-free,.module-duree,.module-outil,.exemple-famille,.filter-btn,.card-read,[style*="font-size:.7rem"],[style*="font-size:.75rem"],[style*="font-size:.78rem"]){font-size:.8125rem!important}
footer :is(.pied-identite,.pied-liens){font-size:.8125rem}

/* 3. LONGUEUR DES LIGNES : environ 70 caractères pour les paragraphes longs */
main :is(.seo-intro,.section-intro,.article-intro){max-width:42rem}
main :is(.seo-inner,.section-inner)>p{max-width:42rem}

/* 4. COULEURS : texte courant en ardoise foncée ; la couleur du public reste pour les titres, les liens et les étiquettes.
   Les blocs sombres (haut de page, appels à l'action, encadrés bleu nuit) gardent leur texte clair. */
main :is(p,li,dd,.faq-a,[class*="desc"],[class*="excerpt"],[class*="quote"]):not(:is([class*="hero"],[class*="cta"],[class*="featured"],.pdf-block,.pdf-inline,.dif-badge,.fil,.sombre,[style*="background:#0D1F3C"],[style*="background:#431407"],[style*="background:#0D3320"],[style*="background:#0C447C"],[style*="background:#085041"],[style*="background:#633806"],[style*="background:var(--text-mid)"],[style*="background:var(--navy)"],[class*="badge"],[class*="tag"]) *){color:var(--encre-douce)!important}
main :is(p,li) a:not([class*="btn"]):not(:is([class*="hero"],[class*="cta"],[class*="featured"],.pdf-block,.pdf-inline,.dif-badge,.fil,.sombre,[style*="background:#0D1F3C"],[style*="background:#431407"],[style*="background:#0D3320"],[style*="background:#0C447C"],[style*="background:#085041"],[style*="background:#633806"],[style*="background:var(--text-mid)"],[style*="background:var(--navy)"]) *){color:#1C4ED8}
main :is([style*="background:#EFF6FF"],[style*="background:#F0FDF9"],[style*="background:#FFFBEB"],[style*="background:#E1F5EE"],[style*="background:#F5F3FF"],[style*="background:var(--blue-light)"],[style*="background:var(--teal-light)"],[style*="background:var(--amber-light)"],[style*="background:#F4F6FA"]):not(span):not([class*="icon"]){background:var(--fond-doux)!important}

main :is(.famille-list,.theme-list) li a{color:#1C4ED8!important;text-decoration-color:rgba(28,78,216,.35)!important}
main :is(.famille-list,.theme-list) li a:hover{color:#0D1F3C!important;text-decoration-color:currentColor!important}

/* 5. ENCADRÉS : un seul modèle de carte (fond blanc, filet gris, coins arrondis) */
main :is(.seo-card,.formation-card,.service-card,.exercice-step,.temoignage,.faq-item,.famille-card,.theme-card,.formateur-card,.modalite-card,.exemple-card,.related-card,.blog-card){background:#fff!important;border:1px solid var(--trait)!important;border-radius:12px!important;box-shadow:none!important}
main :is(.seo-card,.formation-card,.service-card,.exercice-step,.temoignage,.famille-card,.theme-card,.formateur-card,.modalite-card,.exemple-card) :is(h3,[class*="title"]){color:var(--encre)!important}

/* Cartes cliquables : le filet et le titre passent en bleu au survol ou au clavier */
main a:is(.formation-card,.exemple-card):is(:hover,:focus-visible){border-color:#1C4ED8!important}
main a:is(.formation-card,.exemple-card):is(:hover,:focus-visible) :is(.formation-title,.exemple-title){color:#1C4ED8!important}

/* 6. ICÔNES AU TRAIT (à la place des émojis) */
:is(.famille-icon,.theme-icon,.formateur-icon,.service-card-icon,.contact-icon,.atout-icon,.card-icon,.pdf-icon) svg{display:block}
main :is(.famille-icon,.theme-icon,.formateur-icon,.service-card-icon,.contact-icon,.atout-icon,.card-icon):not(:is([class*="hero"],[class*="cta"],[class*="featured"],.pdf-block,.pdf-inline,.dif-badge,.fil,.sombre,[style*="background:#0D1F3C"],[style*="background:#431407"],[style*="background:#0D3320"],[style*="background:#0C447C"],[style*="background:#085041"],[style*="background:#633806"],[style*="background:var(--text-mid)"],[style*="background:var(--navy)"]) *){color:var(--icone)}
main :is(h2,h3,p,li) > span[aria-hidden="true"] svg{display:inline-block;vertical-align:-.2em}
