/* ═══════════════════════════════════════════════════════════════════════════════════════
   CaleDoAlerte · feuille COMMUNE · 03/08/2026
   ═══════════════════════════════════════════════════════════════════════════════════════
   🔴 CE QUE CE FICHIER REPARE
   Le site a trois familles de pages, decouvertes en mesurant :
     52 pages chargent `css/main.css`
      1 page  charge  `css/cda-socle.css`  (l accueil)
     23 pages ne chargent NI l une NI l autre : elles portent tout leur style en ligne.
   Toute regle posee dans les deux feuilles laissait donc 23 pages de cote, dont `plaque.html`,
   la fonction la plus utilisee du site. Kurt : « a regler partout ».

   ⛔ CE FICHIER RESTE VOLONTAIREMENT MINIMAL. Il ne porte QUE ce qui doit valoir partout :
   la police et les regles de coupure de ligne. Pas de couleurs, pas de variables de theme,
   pas de mise en page. Ces 23 pages ont chacune leur propre systeme, souvent avec ses
   couleurs en dur : y injecter un theme casserait plus que ca ne reparerait, et il faudrait
   les reprendre une par une.

   ⚠️ Le @font-face y est REPETE. Ce n est pas une duplication inutile : une page qui ne
   charge aucune des deux autres feuilles n a aucun autre moyen d obtenir Outfit, et le
   navigateur ne telecharge de toute facon le fichier qu une seule fois.
   ═══════════════════════════════════════════════════════════════════════════════════════ */

@font-face{font-family:"Outfit";font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/outfit-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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Outfit";font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/outfit-latinext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ── Coupures de ligne ────────────────────────────────────────────────────────────────
   `balance` repartit un titre court sur des lignes de longueur proche, au lieu de remplir
   la premiere et d abandonner un mot seul sur la seconde. `pretty` traite la ligne veuve
   des paragraphes. Les deux sont ignores en silence par un navigateur qui ne les connait
   pas : jamais de rendu pire qu avant. */
h1,h2,h3,h4{text-wrap:balance}
p,li,figcaption,summary{text-wrap:pretty}

/* Ce qui ne doit jamais se couper en deux : une heure, un pourcentage, un badge. */
.eti,.fia,.dem,.badge,.pill,time{white-space:nowrap}

/* ⛔ Les controles de formulaire n heritent PAS de la police de la page : sans cette ligne,
   un <button> retombe en Arial 13 px au milieu d une page en Outfit. Defaut constate le
   03/08 sur l ensemble du parc. */
button,input,select,textarea{font-family:inherit}

/* ═══════════════════════════════════════════════════════════════════════════════════════
   FOND DE PAGE · 03/08/2026 au soir
   ═══════════════════════════════════════════════════════════════════════════════════════
   🔴 CE QUE J AI MESURE, PAS LU
   `etat.html` en theme clair : 36 textes sur 100 sous le rapport 3:1, dont le titre
   « CaleDoAlerte » a 1,13. La cause n est pas subtile : le texte de ces pages est
   `rgb(234,242,255)`, presque blanc, et le fond retombait sur du blanc. Texte blanc sur
   fond blanc, la page etait vide a l ecran.

   Pourquoi ca ne se voyait pas avant : `js/cdv-modern.js` ecrivait 'dark' dans la memoire
   du navigateur des la premiere page vue, donc tout le monde finissait en sombre et le
   defaut restait cache. Ce report est corrige (voir l en-tete de `cdv-modern.js`), ce qui
   met ce probleme-ci a nu au lieu de le masquer.

   🔑 CE QUE FAIT CE BLOC, ET CE QU IL NE FAIT PAS
   Il pose le fond navy du site sur ces 23 pages, dans LES DEUX themes. Ce n est pas un
   choix esthetique : c est le fond pour lequel leurs couleurs en dur ont ete ecrites, et
   c est deja celui que `js/app.js` (`#cdv-sober-bg`) impose aux 14 d entre elles qui le
   chargent. Le rendu de ces 14 pages ne bouge donc pas d un pixel ; les 9 autres cessent
   d etre illisibles et rejoignent le meme aspect.

   ⛔ CE BLOC N EST PAS LA FIN DU CHANTIER. Rendre ces 23 pages reellement claires demande
   de reprendre leurs couleurs une par une (c est le chantier n°4 du document de reprise).
   Tant que ce n est pas fait, mieux vaut une page sombre lisible qu une page claire vide.
   Le jour ou une page est reprise, il suffit de l exclure d ici.

   ⚠️ MISE A JOUR, quelques minutes plus tard, apres decision de Kurt : le site est CLAIR
   par defaut et devient navy au bouton. Ce fond navy est donc desormais conditionne au
   theme sombre, et la contrepartie claire est posee juste en dessous.
   ⛔ La condition est `:not([data-theme="light"])` et non `[data-theme="dark"]` : sur une
   page ou `js/cda-theme.js` ne serait pas charge, l attribut est absent, et il vaut mieux
   un fond navy avec un texte clair qu un fond blanc avec ce meme texte clair, c est a dire
   une page vide a l ecran.
   ═══════════════════════════════════════════════════════════════════════════════════════ */
html:not([data-theme="light"]):not([data-theme="clair"]) body{
  background:
    radial-gradient(75% 42% at 50% -8%, rgba(255,255,255,.07), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, #0c1e38 0, #0a1424 600px);
  background-color:#0a1424;
  background-attachment:scroll;
}

/* ── La contrepartie claire ───────────────────────────────────────────────────────────
   Ces 23 pages portent leurs couleurs en dur dans leur propre balise `<style>`, avec la
   meme charte que `main.css` : `#132743` pour les surfaces, `#eaf2ff` pour l encre. On
   pose donc ici la meme conversion que celle generee pour `main.css`, sur les couleurs
   les plus repandues. C est volontairement large et sans selecteur precis : ces pages
   n ont pas de classes communes, seulement des couleurs communes.

   ⚠️ Ce que ce bloc NE PEUT PAS faire : une couleur ecrite dans un attribut `style=""`
   en ligne sur un element gagne toujours. Ces cas-la se voient a la mesure, page par page. */
html[data-theme="light"] body,html[data-theme="clair"] body{
  background:#ffffff !important;
  color:#0d1b2a !important;
}
