/* ============================================================
   THÈME « BLEU CLAIR » — v1.14.2 (14/11/2026, fil TYPO SITE)
   Demande de Luc : « deploie ce theme partout dans le site » (après l'accueil bleu clair v1.14.1).
   Activation : private/theme.php -> return 'bleu-clair';  retour au thème sombre : 'novembre-2026'.
   Base : style.css (charte claire), puis assets/accueil-bleu.css (règles générales body.pg-bleu
   et haut de page de l'accueil), puis ce fichier (en-tête, en-têtes de pages intérieures, bandes
   encore sombres dans style.css). Les petits panneaux marine (pastilles, cartes d'appel) restent
   marine : ils servent d'accent sur le fond clair.
   ============================================================ */

/* ---------- en-tête : verre bleu clair, texte marine, dès le chargement ---------- */
body.pg-bleu header{
  --ng-glass:rgba(31,58,95,.06);--ng-brd:rgba(31,58,95,.16);--ng-tx:#1F3A5F;--ng-tx-on:#1F3A5F;--ng-hi:rgba(31,58,95,.10);
  background:rgba(234,245,253,.82);box-shadow:0 1px 0 var(--line)}
body.pg-bleu header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
body.pg-bleu .burger span{background:var(--marine)}
@media(min-width:1251px){
  body.pg-bleu nav a{color:var(--marine)}
  body.pg-bleu nav a:hover,body.pg-bleu nav a.active{color:var(--framboise)}
}

/* ---------- en-têtes des pages intérieures ---------- */
body.pg-bleu .page-hero{background:linear-gradient(180deg,#f4faff,var(--sky-2));color:var(--ink);padding:150px 0 56px;border-bottom:1px solid var(--line)}
body.pg-bleu .page-hero::before{background-image:linear-gradient(rgba(31,58,95,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(31,58,95,.05) 1px,transparent 1px)}
body.pg-bleu .page-hero .techscene{display:none}
body.pg-bleu .page-hero h1{color:var(--marine);font-weight:600;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.18;letter-spacing:-.01em}
body.pg-bleu .page-hero h1 em{font-style:normal;color:inherit}
body.pg-bleu .page-hero p{color:var(--muted)}
body.pg-bleu .crumb{color:var(--muted)}
body.pg-bleu .crumb a:hover{color:var(--framboise)}
body.pg-bleu .page-hero .btn-ghost{color:var(--marine);border-color:rgba(31,58,95,.35)}
body.pg-bleu .page-hero .btn-ghost:hover{background:#fff;border-color:var(--marine)}
@media(max-width:900px){body.pg-bleu .page-hero{padding:120px 0 44px}}

/* cartes de verre posées sur les anciens fonds sombres */
body.pg-bleu .glass-card{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.92);outline:1px solid var(--line);outline-offset:-1px;border-radius:12px;color:var(--ink)}
body.pg-bleu .glass-card h3{color:var(--marine)}

/* boutons « fantômes » (prévus pour fond sombre) : marine sur fond clair, sauf dans les panneaux marine */
body.pg-bleu .btn-ghost{color:var(--marine);border:1.5px solid rgba(31,58,95,.35);background:transparent}
body.pg-bleu .btn-ghost:hover{background:#fff;border-color:var(--marine);color:var(--marine)}
body.pg-bleu .links-note .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}

/* ---------- section IA (page /ia et autres) ---------- */
body.pg-bleu .ia{background:transparent;color:var(--ink)}
body.pg-bleu .ia .techscene{display:none}
body.pg-bleu .ia h2.title{color:var(--marine)}
body.pg-bleu .ia .kicker{color:var(--framboise)}
body.pg-bleu .ia-item{border-color:var(--line);background:rgba(255,255,255,.5)}
body.pg-bleu .ia-item:hover{background:#fff;border-color:var(--line)}
body.pg-bleu .ia-item .num{color:var(--framboise)}
body.pg-bleu .ia-item p{color:var(--muted)}
body.pg-bleu .ia-panel{background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:12px}
body.pg-bleu .ia-panel .glow{display:none}
body.pg-bleu .flow-row .node{background:#fff;border-color:var(--line);color:var(--ink)}
body.pg-bleu .flow-row .arrow{color:var(--framboise)}
body.pg-bleu .chip{background:#fff;border-color:var(--line);color:var(--marine)}
body.pg-bleu .chip.on{background:var(--marine);color:#fff;border-color:var(--marine)}

/* ---------- carrousel « sécurité de l'IA » : fond clair autour de l'écran ---------- */
body.pg-bleu .deck-sec{background:transparent}
body.pg-bleu .deck-sec .kicker{color:var(--framboise)}
body.pg-bleu .deck-sec h2.title{color:var(--marine)}
body.pg-bleu .deck-sec .sec-head p{color:var(--muted)}
body.pg-bleu .deck-screen{box-shadow:0 18px 44px rgba(31,58,95,.16);border:1px solid var(--line)}

/* ---------- onglets RSS / NEWS / GANTT : bande claire ---------- */
body.pg-bleu .ong3d{background:var(--sky-2);border-bottom:1px solid var(--line)}
body.pg-bleu .ong3d-t{color:var(--marine)}
body.pg-bleu .ong3d-t.on{color:#fff}
body.pg-bleu .ong3d-ic{filter:none}
body.pg-bleu .ong3d-t:focus-visible .ong3d-face{outline-color:var(--marine)}

/* ---------- retours de revue (v1.14.2) ---------- */
/* framboise plus foncé pour les petits textes d'accent : contraste AA sur le ciel */
body.pg-bleu{--framboise-tx:#b5112f}
/* NEWS : lien « S'abonner au flux RSS » posé dans l'en-tête de page, désormais clair */
body.pg-bleu .page-hero .nw-abo>summary,body.pg-bleu .page-hero .nw-rss>a{color:var(--marine)}
/* /ia : schéma animé sur fond clair */
body.pg-bleu .ia-flowsvg{background:linear-gradient(180deg,#f4faff,var(--sky-2));border-color:var(--line);box-shadow:none}
body.pg-bleu .ia-flowsvg .ia-lab{fill:var(--marine)}
body.pg-bleu .ia-flowsvg .ia-disc{fill:#fff;stroke:rgba(31,58,95,.3)}
body.pg-bleu #iaPath{stroke:rgba(31,58,95,.12)}
body.pg-bleu #iaGrid path{stroke:rgba(31,58,95,.06)}
/* pages « en construction » : pas de décor sombre sur le ciel */
body.pg-bleu .construction .techscene{display:none}
/* onglets RSS / NEWS / GANTT : capsules visibles sur la bande claire */
body.pg-bleu .ong3d-t{background:rgba(255,255,255,.6);border-color:var(--line)}

/* ---------- retouches v1.14.3 (seconde relecture) ---------- */
/* NEWS : le texte de la fenêtre sombre « S'abonner au flux RSS » reste clair */
body.pg-bleu .page-hero .nw-abo-box p{color:#d3e0f4}
/* /ia : le disque central « Agent LLM » garde son accent framboise */
body.pg-bleu .ia-flowsvg .ia-core .ia-disc{fill:rgba(220,20,60,.12);stroke:rgba(220,20,60,.6)}
/* onglets RSS / NEWS / GANTT : survol visible sur la capsule claire */
body.pg-bleu .ong3d-t:not(.on):hover .ong3d-face{background:#fff}

/* ---------- v1.14.4 : blocs restés sombres, alignés sur le thème (demande de Luc) ---------- */
/* bandeau CYBER-NEWS (/liens) */
body.pg-bleu .cybernews{background:rgba(255,255,255,.7);border:1px solid var(--line);box-shadow:0 10px 28px rgba(31,58,95,.08)}
body.pg-bleu .cn-head{border-bottom-color:var(--line)}
body.pg-bleu .cn-head-l h3{color:var(--marine)}
body.pg-bleu .cn-updated{color:var(--muted)}
body.pg-bleu .cn-src{color:var(--framboise-tx)}
body.pg-bleu .cn-src:hover{color:var(--marine)}
body.pg-bleu .cn-screen{background:repeating-linear-gradient(90deg,rgba(31,58,95,.04) 0 1px,transparent 1px 46px),#e3f0fa}
body.pg-bleu .cn-screen::before{background:linear-gradient(90deg,#e3f0fa,transparent)}
body.pg-bleu .cn-screen::after{background:linear-gradient(270deg,#e3f0fa,transparent)}
body.pg-bleu .cn-loading,body.pg-bleu .cn-item-date{color:var(--muted)}
body.pg-bleu .cn-item-title{color:var(--ink)}
body.pg-bleu .cn-item:hover .cn-item-title{color:var(--marine)}
body.pg-bleu .cn-foot{border-top-color:var(--line);color:var(--muted)}
body.pg-bleu .cn-foot-ico{color:var(--framboise-tx)}
body.pg-bleu .cn-pause{background:rgba(31,58,95,.08);color:var(--marine)}
body.pg-bleu .cn-pause:hover{background:rgba(31,58,95,.16);color:var(--marine)}
body.pg-bleu .cn-pause.on{background:var(--framboise);color:#fff}
/* Télécoms : tuiles de chiffres et en-tête du tableau */
body.pg-bleu .tel-stat{background:rgba(255,255,255,.7);border:1px solid var(--line);color:var(--marine)}
body.pg-bleu .tel-stat .ts-lab{color:var(--muted)}
body.pg-bleu .tel-table thead th{background:var(--sky-2);color:var(--marine)}
body.pg-bleu .tel-table thead th:hover:not(.th-map){background:var(--sky-3)}
body.pg-bleu .tel-table tbody tr:nth-child(even){background:rgba(234,245,253,.6)}
body.pg-bleu .tel-table tbody tr:hover{background:var(--paper)}
/* RH : cartes du carrousel (recto) et en-tête des annonces */
body.pg-bleu .rhc-recto{background:linear-gradient(160deg,#fff,#e3f0fa);color:var(--ink)}
body.pg-bleu .rhc-item.actif .rhc-recto{box-shadow:0 18px 40px rgba(31,58,95,.16)}
body.pg-bleu .rhc-num{color:rgba(31,58,95,.14)}
body.pg-bleu .rhc-titre{color:var(--marine)}
body.pg-bleu .rhc-lieu,body.pg-bleu .rhc-date{color:var(--muted)}
body.pg-bleu .rhc-lieu::before{background:var(--framboise)}
body.pg-bleu .rhc-acc{color:var(--ink)}
body.pg-bleu .rhc-recto .rhc-chips li{background:#fff;border-color:var(--line);color:var(--marine)}
body.pg-bleu .rhc-recto .rhc-tourner{color:var(--marine)}
body.pg-bleu .rhc-region{background:rgba(31,58,95,.08);color:var(--marine)}
body.pg-bleu .rh-head{background:linear-gradient(180deg,#f4faff,var(--sky-2));color:var(--ink);border-bottom:1px solid var(--line)}
body.pg-bleu .rh-head h2{color:var(--marine)}
body.pg-bleu .rh-head .rh-pill{background:#fff;color:var(--marine)}
body.pg-bleu .rh-head .rh-pill.accent{background:var(--framboise);color:#fff}
body.pg-bleu .rh-head .rh-lieu{color:var(--muted)}
/* cadres des atlas (l'iframe de la heatmap est stylée dans france.php) */
body.pg-bleu .hosts-frame{background:var(--sky);border-color:var(--line);box-shadow:0 10px 28px rgba(31,58,95,.08)}

/* ---------- pied de page : marine, il ferme la page claire ---------- */
body.pg-bleu footer{background:var(--marine)}
