/* ==========================================================================
   CDG — Charte graphique  (FICHIER PERSONNALISÉ)
   ==========================================================================

   C'est LE fichier à modifier pour habiller le site : couleurs, logo et
   polices. Il ne contient que des variables — aucune règle de mise en forme.
   Son pendant, theme.css, contient les composants et ne change pas d'un CDG
   à l'autre : il se contente de consommer les variables déclarées ici.

   Il est chargé APRÈS theme.css (cf. partials/head-assets.html) : toute règle
   ajoutée ici l'emporte donc sur celle du thème, à spécificité égale. C'est
   l'endroit prévu pour vos surcharges locales.

   Fichier maintenu à la main. Il a été un temps généré depuis la maquette
   WordPress par un script (update-charte.py, supprimé le 17/08/2026, ainsi
   que le catalogue séparé chartes.css dont le contenu est désormais inscrit
   plus bas en commentaires) : plus aucun outil ne réécrit ce fichier, les
   modifications faites ici sont donc définitives.

   Quatre zones, dans cet ordre :

     1. palette active      — les 18 couleurs et le logo effectivement
                              appliqués.
     2. catalogue           — les 14 palettes de la maquette en commentaires,
                              dont celle du dessus. Pour en activer une,
                              décommenter son bloc (voir le mode d'emploi
                              juste avant le catalogue).
     3. surcharges locales  — ce que le gabarit impose quelle que soit la
                              palette ; déclarées APRÈS le catalogue, donc
                              prioritaires sur toute palette activée.
     4. polices, valeurs dérivées et pont vers Bootstrap.
   ========================================================================== */

:root {
  /* ── 1. Palette active : CDG 65 — Actuel ─────────────────────────────
     brand = couleur principale (titres, menu, pied de page),
     brand-dark = boutons « en lire plus », brand-bg = fonds de sections,
     cta = boutons d'action / icônes / puces, link-hover = survols.
     NB : certaines variables (secondary, muted, placeholder…) ne sont pas
     encore utilisées par les gabarits — elles complètent la charte de la
     maquette pour les gabarits suivants. */
  --cdg-primary: #CC3366;
  --cdg-secondary: #6C757D;
  --cdg-text: #7A7A7A;
  --cdg-accent: #61CE70;
  --cdg-border: #EEEEEE;
  --cdg-dark: #333333;
  --cdg-light: #FAFAFA;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #6F42C1;
  --cdg-brand-dark: #572FA2;
  --cdg-brand-bg: #F6F1FF;
  --cdg-cta: #FF7A00;
  --cdg-info: #5EC2D2;
  --cdg-link-hover: #BE1D52;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");

  /* ── 2. Catalogue des chartes de la maquette ────────────────────────────

     MODE D'EMPLOI — pour appliquer une de ces palettes, décommenter son
     bloc : supprimer sa ligne de titre et la ligne de fermeture de
     commentaire qui le termine. C'est tout, et il n'y a AUCUN HTML à
     toucher : le logo fait partie de la palette (--cdg-logo), theme.css
     l'applique aux images de l'en-tête et du menu collant.

     Les 14 palettes déclarent exactement les mêmes 18 variables : celle que
     vous décommentez recouvre donc intégralement la palette active
     ci-dessus, sans reliquat. Inutile de commenter cette dernière — mais
     n'en décommentez qu'une seule à la fois, sinon c'est la dernière du
     fichier qui gagne.

     Chaque bloc est un commentaire autonome, et non un grand commentaire
     englobant : les commentaires CSS ne s'imbriquent pas, il aurait fallu
     tout redécouper à la main pour en activer un.

     ATTENTION : les surcharges locales de la zone 3 sont déclarées après ce
     catalogue et l'emportent donc — --cdg-primary et --cdg-link-hover
     resteront sur le violet de marque, quelle que soit la palette activée.
     Pour qu'une palette impose SES valeurs, supprimer aussi les deux lignes
     concernées en zone 3. */

  /* ── CDG 65 — Actuel ──
     État d'origine de la palette active ci-dessus. Conservé ici exprès : si
     vous retouchez les couleurs de la zone 1, ceci reste le point de
     comparaison et le chemin du retour.
  --cdg-primary: #CC3366;
  --cdg-secondary: #6C757D;
  --cdg-text: #7A7A7A;
  --cdg-accent: #61CE70;
  --cdg-border: #EEEEEE;
  --cdg-dark: #333333;
  --cdg-light: #FAFAFA;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #6F42C1;
  --cdg-brand-dark: #572FA2;
  --cdg-brand-bg: #F6F1FF;
  --cdg-cta: #FF7A00;
  --cdg-info: #5EC2D2;
  --cdg-link-hover: #BE1D52;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");
  */
  /* ── Bleu République ──
  --cdg-primary: #1E40AF;
  --cdg-secondary: #6C757D;
  --cdg-text: #374151;
  --cdg-accent: #3B82F6;
  --cdg-border: #DBEAFE;
  --cdg-dark: #1E3A8A;
  --cdg-light: #F0F7FF;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #1E40AF;
  --cdg-brand-dark: #1E3A8A;
  --cdg-brand-bg: #EFF6FF;
  --cdg-cta: #F59E0B;
  --cdg-info: #60A5FA;
  --cdg-link-hover: #1E3A8A;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");
  */
  /* ── Vert Pyrénées ──
  --cdg-primary: #065F46;
  --cdg-secondary: #6B7280;
  --cdg-text: #374151;
  --cdg-accent: #10B981;
  --cdg-border: #D1FAE5;
  --cdg-dark: #064E3B;
  --cdg-light: #ECFDF5;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #065F46;
  --cdg-brand-dark: #064E3B;
  --cdg-brand-bg: #ECFDF5;
  --cdg-cta: #F59E0B;
  --cdg-info: #34D399;
  --cdg-link-hover: #064E3B;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");
  */
  /* ── Bordeaux Prestige ──
  --cdg-primary: #881337;
  --cdg-secondary: #6B7280;
  --cdg-text: #374151;
  --cdg-accent: #E11D48;
  --cdg-border: #FFE4E6;
  --cdg-dark: #500724;
  --cdg-light: #FFF1F2;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #881337;
  --cdg-brand-dark: #500724;
  --cdg-brand-bg: #FFF1F2;
  --cdg-cta: #EA580C;
  --cdg-info: #FB7185;
  --cdg-link-hover: #500724;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");
  */
  /* ── Bleu Marine & Or ──
  --cdg-primary: #1A3A6B;
  --cdg-secondary: #6B7280;
  --cdg-text: #1E293B;
  --cdg-accent: #C9A227;
  --cdg-border: #E8F0FE;
  --cdg-dark: #081B3A;
  --cdg-light: #EEF4FF;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #0F2D5E;
  --cdg-brand-dark: #081B3A;
  --cdg-brand-bg: #E8F0FE;
  --cdg-cta: #C9A227;
  --cdg-info: #4A9EBF;
  --cdg-link-hover: #081B3A;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");
  */
  /* ── Garance ──
  --cdg-primary: #B91C1C;
  --cdg-secondary: #6B7280;
  --cdg-text: #1C1917;
  --cdg-accent: #D97706;
  --cdg-border: #FEE2E2;
  --cdg-dark: #7F1D1D;
  --cdg-light: #FEF2F2;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #B91C1C;
  --cdg-brand-dark: #991B1B;
  --cdg-brand-bg: #FEF2F2;
  --cdg-cta: #D97706;
  --cdg-info: #F87171;
  --cdg-link-hover: #7F1D1D;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");
  */
  /* ── Indigo Nuit ──
  --cdg-primary: #3730A3;
  --cdg-secondary: #6B7280;
  --cdg-text: #1E1B4B;
  --cdg-accent: #F97316;
  --cdg-border: #E0E7FF;
  --cdg-dark: #312E81;
  --cdg-light: #EEF2FF;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #3730A3;
  --cdg-brand-dark: #312E81;
  --cdg-brand-bg: #EEF2FF;
  --cdg-cta: #F97316;
  --cdg-info: #818CF8;
  --cdg-link-hover: #1E1B4B;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");
  */
  /* ── Forêt Sombre ──
  --cdg-primary: #15803D;
  --cdg-secondary: #6B7280;
  --cdg-text: #14532D;
  --cdg-accent: #D97706;
  --cdg-border: #DCFCE7;
  --cdg-dark: #14532D;
  --cdg-light: #F0FDF4;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #166534;
  --cdg-brand-dark: #14532D;
  --cdg-brand-bg: #F0FDF4;
  --cdg-cta: #D97706;
  --cdg-info: #4ADE80;
  --cdg-link-hover: #052E16;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");
  */
  /* ── Horizon ──
  --cdg-primary: #0284C7;
  --cdg-secondary: #6B7280;
  --cdg-text: #0C4A6E;
  --cdg-accent: #F97316;
  --cdg-border: #E0F2FE;
  --cdg-dark: #0C4A6E;
  --cdg-light: #F0F9FF;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #0369A1;
  --cdg-brand-dark: #0C4A6E;
  --cdg-brand-bg: #E0F2FE;
  --cdg-cta: #F97316;
  --cdg-info: #38BDF8;
  --cdg-link-hover: #075985;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo_cdg.png");
  */
  /* ── CDG 87 — Haute-Vienne ──
  --cdg-primary: #006B78;
  --cdg-secondary: #6C757D;
  --cdg-text: #2C3A3C;
  --cdg-accent: #E07020;
  --cdg-border: #D0EAED;
  --cdg-dark: #004B54;
  --cdg-light: #E8F7F9;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #006B78;
  --cdg-brand-dark: #004B54;
  --cdg-brand-bg: #E0F4F6;
  --cdg-cta: #E07020;
  --cdg-info: #3AABB8;
  --cdg-link-hover: #003840;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo-cdg87.png");
  */
  /* ── CDG 19 — Corrèze ──
  --cdg-primary: #1A2F70;
  --cdg-secondary: #6C757D;
  --cdg-text: #2C2C2C;
  --cdg-accent: #CC2B2B;
  --cdg-border: #E0E5F5;
  --cdg-dark: #0D1840;
  --cdg-light: #EEF1FB;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #1A2F70;
  --cdg-brand-dark: #0D1840;
  --cdg-brand-bg: #EEF1FB;
  --cdg-cta: #CC2B2B;
  --cdg-info: #4466A8;
  --cdg-link-hover: #8B1818;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo-cdg19.png");
  */
  /* ── CDG 23 — Creuse ──
  --cdg-primary: #8E1E50;
  --cdg-secondary: #6C757D;
  --cdg-text: #2C3547;
  --cdg-accent: #C8911F;
  --cdg-border: #EAF0FA;
  --cdg-dark: #0F2248;
  --cdg-light: #EAF0FA;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #1C3E80;
  --cdg-brand-dark: #0F2248;
  --cdg-brand-bg: #EAF0FA;
  --cdg-cta: #C8911F;
  --cdg-info: #9BBF73;
  --cdg-link-hover: #8E1E50;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo-cdg23.png");
  */
  /* ── CDG 24 — Dordogne ──
  --cdg-primary: #7651A0;
  --cdg-secondary: #6C757D;
  --cdg-text: #1A1A1A;
  --cdg-accent: #00A6A8;
  --cdg-border: #DFFAFA;
  --cdg-dark: #006869;
  --cdg-light: #EFFCFD;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #00A6A8;
  --cdg-brand-dark: #006869;
  --cdg-brand-bg: #DFFAFA;
  --cdg-cta: #F5881A;
  --cdg-info: #7651A0;
  --cdg-link-hover: #004849;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo-cdg24.jpg");
  */
  /* ── CDG 47 — Lot-et-Garonne ──
  --cdg-primary: #2B2869;
  --cdg-secondary: #6C757D;
  --cdg-text: #1A192E;
  --cdg-accent: #E09920;
  --cdg-border: #E0DFF5;
  --cdg-dark: #181740;
  --cdg-light: #EEEDF8;
  --cdg-gray: #8F8F8F;
  --cdg-muted: #ABABAB;
  --cdg-placeholder: #B6B6B6;
  --cdg-brand: #2B2869;
  --cdg-brand-dark: #181740;
  --cdg-brand-bg: #EEEDF8;
  --cdg-cta: #E09920;
  --cdg-info: #5350A0;
  --cdg-link-hover: #181740;
  --cdg-white: #FFFFFF;
  --cdg-logo: url("../img/logo-cdg47.png");
  */

  /* ── 3. Surcharges locales ──────────────────────────────────────────────
     Ce que le gabarit impose quelle que soit la palette. Déclarées APRÈS le
     catalogue, donc prioritaires sur une palette qu'on y décommenterait.
     Supprimer une ligne pour laisser la palette décider.

     · survols : la palette d'origine donne #BE1D52, le gabarit les veut sur
       le violet de marque ;
     · primary : la palette d'origine donne #CC3366 (le rose qui servait
       d'accent aux pages internes — marqueurs d'accordéon, titres de niveau
       3, liens de documents). Le gabarit l'aligne sur le violet de marque.
       --bs-code-color en dérive et suit donc automatiquement.

     Les deux pointent sur --cdg-brand : elles suivront donc la palette
     active. Pour figer une teinte quelle que soit la palette, remplacer par
     une valeur littérale. */
  --cdg-link-hover: var(--cdg-brand);
  --cdg-primary: var(--cdg-brand);

  /* Familles typographiques (auto-hébergées, cf. assets/fonts/fonts.css) */
  --cdg-font-body: "Archivo", sans-serif;
  --cdg-font-title: "Bricolage Grotesque", sans-serif;
  --cdg-font-card: "Archivo Narrow", sans-serif;
  /* Étroite : Archivo Narrow depuis le 17/08/2026, en remplacement de Barlow
     Condensed (supprimée). « Archivo Condensed » n'existe pas — le fichier
     archivo.woff2 n'a qu'un axe de graisse, pas d'axe de largeur — mais
     Archivo Narrow EST la déclinaison étroite de la famille, et elle était
     déjà livrée pour --cdg-font-card et --cdg-font-btn : le remplacement n'a
     donc rien coûté en téléchargement et a permis de retirer 43,7 Ko. */
  --cdg-font-condensed: "Archivo Narrow", sans-serif;
  --cdg-font-ui: "Archivo", sans-serif;
  --cdg-font-btn: "Archivo Narrow", sans-serif;

  /* Dégradé unique des pastilles et ronds d'icônes (suit la palette) */
  --cdg-gradient: linear-gradient(160deg,
                  color-mix(in srgb, var(--cdg-cta) 60%, #FFD34D),
                  var(--cdg-cta));

  /* Gris de texte secondaire conforme AA. Le --cdg-text de la charte
     (#7A7A7A) ne donne que 4,29:1 sur blanc — sous le seuil de 4,5:1 du
     RGAA pour du texte courant. On l'assombrit sans sortir de la palette :
     la valeur suit automatiquement un changement de charte. */
  --cdg-text-aa: color-mix(in srgb, var(--cdg-text) 80%, #000);

  /* Zébrure des tableaux de contenu : un GRIS depuis le 17/08/2026 (demande
     client), en remplacement du lilas --cdg-brand-bg. L'entête de tableau
     ayant été allégée en violet clair le même jour, garder du lilas une
     ligne sur deux entretenait la confusion entre entête et données.
     Dérivée de --cdg-text, donc elle suit la palette.
     Le pourcentage est CHOISI PAR LA MESURE : à 8 %, l'écart au blanc vaut
     1,100 contre 1,108 pour le lilas qu'elle remplace — la zébrure garde
     donc exactement la même force visuelle, seule la teinte change. Tout ce
     qu'une cellule peut contenir reste conforme AA sur ce fond : texte
     11,5:1, lien violet 5,9:1, gris secondaire 5,6:1, <code> 7,4:1. */
  --cdg-table-stripe: color-mix(in srgb, var(--cdg-text) 8%, #fff);

  /* Titres de contenu de niveau 4 : un violet adouci vers le gris, pour
     s'intercaler entre le violet franc des niveaux 2-3 et le gris des
     niveaux 5-6. Dérivée, donc elle suit la palette. Mesuré : 6,55:1 sur
     blanc — au-dessus du seuil AA de 4,5 alors que le corps ne fait que
     18 px. Arbitrage du 17/08/2026 : la hiérarchie des titres de contenu
     se joue sur la COULEUR, la typographie ne bougeant pas. */
  --cdg-title-mid: color-mix(in srgb, var(--cdg-brand) 60%, var(--cdg-text-aa));

  /* Couleur des erreurs de formulaire. La charte n'a pas de rouge — c'est
     l'arbitrage retenu pour les alertes, où danger dérive de --cdg-primary :
     l'erreur de champ parle donc la même langue que l'alerte qui la résume,
     sinon un formulaire refusé afficherait un bandeau violet et des messages
     rouges. Dérivée, elle suit la charte.
     Mesuré : 8,15:1 sur blanc, 7,35:1 sur le lilas --cdg-brand-bg, 7,81:1 sur
     --cdg-light. Le #DC3545 de Bootstrap, lui, ÉCHOUE (4,53 / 4,08 / 4,34:1).
     Si le rouge conventionnel est finalement préféré à la cohérence de
     charte, remplacer par #B02A37 (6,50 / 5,86 / 6,22:1 — AA également) :
     il n'y a rien d'autre à changer, tout en dérive. */
  --cdg-error: color-mix(in srgb, var(--cdg-primary) 85%, #000);

  /* Pont vers Bootstrap */
  --bs-body-font-family: var(--cdg-font-body);
  --bs-body-font-size: 1.1875rem;           /* 19px comme la maquette */
  --bs-body-color: var(--cdg-dark);
  --bs-link-color: var(--cdg-dark);
  --bs-link-hover-color: var(--cdg-link-hover);

  /* Couleur des <code>. Le #D63384 de Bootstrap ne passe que sur blanc
     (4,50:1) et échoue sur tous les fonds clairs de la charte (3,76 à
     4,06:1). On assombrit --cdg-primary de 15 % : 6,40:1 sur blanc et
     5,34:1 au pire (fond lilas #EEE8F8). Dérivée, donc elle suit la
     charte — même motif que --cdg-text-aa. */
  --bs-code-color: color-mix(in srgb, var(--cdg-primary) 85%, #000);

  /* États de validation Bootstrap : mêmes variables que le framework, donc
     .is-invalid / .was-validated / .valid-feedback fonctionnent sans réécrire
     de règle.
     Le vert de Bootstrap (#198754) est repris de la même façon que le rouge,
     et pour la même raison — mesuré, il ÉCHOUE : 4,53:1 sur blanc, 4,09:1 sur
     le lilas, 4,34:1 sur --cdg-light. On dérive donc le succès de
     --cdg-accent avec la formule déjà retenue pour le texte des alertes
     (55 % sur noir) : #35713E, soit 5,86 / 5,29 / 5,62:1. Un message de
     réussite de champ et le bandeau alert-success ont ainsi la même teinte. */
  --bs-form-invalid-color: var(--cdg-error);
  --bs-form-invalid-border-color: var(--cdg-error);
  --bs-form-valid-color: color-mix(in srgb, var(--cdg-accent) 55%, #000);
  --bs-form-valid-border-color: var(--bs-form-valid-color);
}
