/* ===================================================================
   Novahé - surcharge de charte (chargée APRÈS tokens.css + chrome.css)
   Décline le design system Constellation aux couleurs Novahé :
   or #EFB31F (accent) · charbon #2D3436 (encre) · Urbanist (titres).
   =================================================================== */

:root{
  --c-primary:#4192A6;          /* bleu Novahé (dominant) */
  --c-primary-hover:#367C8E;
  --c-primary-soft:#2E6E7E;     /* bleu profond, lisible pour titres/liens sur blanc (AA) */
  --c-accent:#EFB31F;           /* or Novahé (accent - touche de jaune) */
  --c-navy:#234E5A;
  --c-ink:#285C6B;
  --c-text:#2D3436;
  --c-text-2:#5A6063;
  --c-muted:#7A8084;
  --c-border:#ECEEF0;
  --c-border-strong:#DDE1E3;
  --c-bg:#FFFFFF;
  --c-bg-alt:#F4F5F7;
  --c-tint:#FBF1D4;             /* or très clair pour badges/pastilles (touche de jaune) */
  --c-surface:#FFFFFF;
  --c-surface-hover:#F4F5F7;
  --c-footer-bg:#4192A6;        /* bleu de marque Novahé */
  --c-btn-on-primary:#FFFFFF;   /* texte blanc sur bouton bleu */
}

[data-theme="dark"]{
  --c-primary:#7FB8C6;
  --c-primary-hover:#97C9D4;
  --c-primary-soft:#A3D0DA;
  --c-accent:#EFB31F;
  --c-ink:#F2F4F5;
  --c-text:#F2F4F5;
  --c-text-2:#C6CACB;
  --c-bg:#16303A;
  --c-bg-alt:#1C3C47;
  --c-tint:rgba(239,179,31,.14);
  --c-surface:#1C3C47;
  --c-surface-hover:#234B57;
  --c-footer-bg:#122831;
  --c-btn-on-primary:#10262E;
  --c-muted:#B4BEC1; /* 30/09/2026 : absent du mode sombre, restait #7A8084 (3,2-3,5:1) */
}

/* Titres en Urbanist (display Novahé), corps en Poppins */
h1,h2,h3,h4,.logo-wordmark{ font-family:'Poppins', sans-serif; }

/* Bouton primaire : or à texte charbon */
.btn-primary{ color:var(--c-btn-on-primary); }
.btn-primary:hover{ color:var(--c-btn-on-primary); }

/* Nav CTA : bordure or au survol (texte charbon) */
.nav-cta:hover, .nav-kapela .nav-cta:hover{ border-color:var(--c-primary) !important; }

/* Wordmark textuel (remplace le logo image) */
.logo-wordmark{
  display:inline-flex; align-items:baseline; text-decoration:none;
  font-weight:800; font-size:23px; letter-spacing:-.02em; color:#285C6B; line-height:1;
}
.logo-wordmark .acc{ color:#EFB31F; }
.logo-wordmark .by{
  margin-left:8px; font-family:'Poppins', sans-serif; font-weight:500;
  font-size:13px; letter-spacing:.02em; color:#7A8084; align-self:center;
}

/* Puce d'accent devant les kickers */
.kicker{ color:var(--c-primary-soft); }

/* Liste de features à puces or */
.feat-list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.feat-list li{ position:relative; padding-left:26px; color:var(--c-text-2); font-size:15px; line-height:1.55; }
.feat-list li::before{
  content:""; position:absolute; left:0; top:9px; width:10px; height:10px;
  border-radius:3px; background:var(--c-primary); transform:rotate(45deg);
}

/* Pastille numérotée (méthodologie) */
.step-num{
  display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%;
  background:var(--c-tint); color:#8A6A00; font-weight:800; font-family:'Poppins', sans-serif;
  font-size:15px; margin-bottom:14px;
}

/* Bandeau partenaires */
.partner-row{ display:flex; flex-wrap:wrap; gap:14px; }
.partner-chip{
  display:inline-flex; align-items:center; gap:8px; padding:12px 20px;
  border:1px solid var(--c-border-strong); border-radius:8px; background:#fff;
  font-weight:600; color:var(--c-ink); font-size:15px;
}
.partner-chip .tag{ font-size:13px; font-weight:600; color:var(--c-primary-soft); }

/* Ruban de stats (accueil pages internes) */
.stat .num{ color:var(--c-ink); }
.stat .num em{ font-style:normal; color:var(--c-accent); }

/* Carte cliquable actualité */
.card-link{ text-decoration:none; color:inherit; display:block; }
.card-link:hover .card{ box-shadow:0 6px 14px rgba(45,52,54,.08),0 18px 42px rgba(45,52,54,.10); transform:translateY(-3px); }
.card-link .card{ transition:transform .25s ease, box-shadow .25s ease; height:100%; }
.tag-pill{
  display:inline-block; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:#8A6A00; background:var(--c-tint); padding:5px 11px; border-radius:999px; margin-bottom:12px;
}

/* ===== Encart hero (haut de page) - charte Novahé ===== */
.hero-band{ position:relative; overflow:hidden; text-align:center;
  background:radial-gradient(120% 120% at 50% 0%, #35707E 0%, #285C6B 45%, #1E4A55 100%);
  padding:96px 24px 104px; }
.hero-band::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.4;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:56px 56px; -webkit-mask-image:radial-gradient(90% 90% at 50% 30%,#000 0%,transparent 78%); mask-image:radial-gradient(90% 90% at 50% 30%,#000 0%,transparent 78%); }
.hero-band .hero-inner{ position:relative; max-width:960px; margin:0 auto; }
.hero-band .hero-kicker{ display:inline-block; margin:0 0 22px; font-size:13px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:#EFB31F; }
.hero-band h1{ margin:0 0 24px; color:#fff; font-family:'Poppins', sans-serif;
  font-weight:800; letter-spacing:-.02em; font-size:clamp(30px, 5vw, 45px); line-height:1.04; }
.hero-band h1 .accent{ display:block; color:#EFB31F; }
.hero-band p{ margin:0 auto 40px; max-width:720px; color:rgba(255,255,255,.78);
  font-size:15px; line-height:1.6; }
.hero-cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.hero-btn-primary{ display:inline-flex; align-items:center; gap:10px; text-decoration:none;
  background:#EFB31F; color:#234E5A; font-weight:600; font-size:15px; padding:16px 32px; border-radius:999px;
  transition:transform .2s ease, box-shadow .2s ease; }
.hero-btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(0,0,0,.35); }
.hero-btn-ghost{ display:inline-flex; align-items:center; text-decoration:none; color:#fff; font-weight:600; font-size:15px;
  padding:16px 32px; border-radius:999px; border:1.5px solid rgba(255,255,255,.4); transition:background .2s ease, border-color .2s ease; }
.hero-btn-ghost:hover{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.72); }
@media(max-width:640px){ .hero-band{ padding:66px 20px 72px; } }

/* ===== Corrections review CNS (2026-07-21) : coins ≤ 8px, blocs plus compacts ===== */
:root{ --radius-card:8px; --radius-btn:8px; }
.card{ border-radius:8px; }
.section{ padding:56px 0; }
@media(max-width:640px){ .section{ padding:44px 0; } }

/* ===== Classes utilitaires (2026-07-22) : variantes de fond CTA + grille configurable ===== */
.cta-dark.cta-grad{ background:linear-gradient(135deg,var(--c-navy,#2a376a) 0%,var(--c-primary,#40a8b0) 100%); }
.cta-dark.cta-img{ position:relative; overflow:hidden; }
.cta-dark.cta-img::before{ content:""; position:absolute; inset:0; background:var(--cta-img) center/cover no-repeat; opacity:.28; z-index:0; }
.cta-dark.cta-img > *{ position:relative; z-index:1; }
.grid-cols-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.grid-cols-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media(max-width:980px){ .grid-cols-3{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .grid-cols-2,.grid-cols-3{ grid-template-columns:1fr; } }

/* ===== Bandeau nav Novahé : fond bleu de marque + texte blanc (2026-08-14) =====
   Ne touche PAS au surmenu groupe (.top-bar avec logo Constellation).
   Ne touche PAS au panneau déroulant (.nav-sub, fond clair). */
.site-header .nav{ background:#4192A6; border-bottom-color:rgba(255,255,255,.18); }
.site-header .nav .logo-wordmark{ color:#fff; }
.site-header .nav .logo-wordmark .by{ color:rgba(255,255,255,.78); }
.site-header .nav .nav-links > a,
.site-header .nav .nav-dd > .nav-dt,
.site-header .nav .nav-cta,
.site-header .nav .theme-toggle{ color:#fff; }
.site-header .nav .nav-links > a:hover,
.site-header .nav .nav-dd > .nav-dt:hover{ color:#fff; opacity:.82; }
.site-header .nav .nav-cta{ border-color:rgba(255,255,255,.55); }
.site-header .nav .nav-cta:hover{ border-color:#fff !important; background:rgba(255,255,255,.12); }
.site-header .nav .nav-burger span{ background:#fff; }

/* ===== Footer sur fond bleu #4192A6 : contraste texte lisible (2026-08-14) =====
   Force les gris clairs (.muted, #DDE1E3 inline) en blanc/blanc atténué. */
.footer h4{ color:#fff !important; }
.footer a{ color:#fff !important; }
.footer a:hover{ color:#fff !important; opacity:.82; }
.footer p, .footer label, .footer li{ color:rgba(255,255,255,.92) !important; }
.footer .muted{ color:rgba(255,255,255,.86) !important; }
.footer .bottom, .footer .bottom span{ color:rgba(255,255,255,.82) !important; border-top-color:rgba(255,255,255,.22) !important; }

/* 30/09/2026 mode sombre : etiquettes et pastilles en jaune clair (le #8A6A00 tombait a 1,9:1 sur la teinte jaune sombre) */
[data-theme="dark"] .tag-pill,[data-theme="dark"] .step-num{color:var(--c-accent,#EFB31F);}
