/*
Systeme de design AZUFA, aligne sur www.diaspora-cameroun.org (meme
portefeuille KAGEDEV). Valeurs extraites par inspection live du site source
le 25/07/2026 -- ne pas modifier ces valeurs sans re-vérifier la source.

Ce fichier ne contient QUE des tokens (variables) + une couche minimale de
classes utilitaires de composants (boutons, cartes, badges). Il ne doit
JAMAIS contenir de texte, de contenu, ni de règle spécifique à une page.
*/

:root {
  /* Typographie -- Montserrat (700/800 titres, 600 semi-gras) et
     Source Sans 3 (400 texte, 500 UI/boutons/nav), AUTO-HEBERGEES via les
     regles @font-face ci-dessous (fichiers dans core/static/core/fonts/,
     sous-ensembles latin + latin-ext). AUCUN lien vers un CDN de police
     tiers (Google Fonts, etc.) ne doit etre ajoute dans les templates --
     une decision RGPD deliberee deja en place sur azufa.de (eviter tout
     transfert d'IP visiteur hors UE) doit etre respectee partout, pas
     seulement sur les pages ou elle etait deja documentee. */
  --azufa-font-heading: 'Montserrat', 'Montserrat Fallback', sans-serif;
  --azufa-font-body: 'Source Sans 3', 'Source Sans 3 Fallback', sans-serif;

  /* Couleurs de marque */
  --azufa-green: #0A3D2C;       /* vert institutionnel : titres h2, footer, hero, nav */
  --azufa-green-rgb: 10, 61, 44;
  --azufa-red: #C8102E;         /* rouge institutionnel : CTA primaire / actions fortes */
  --azufa-gold: #F5C842;        /* or : CTA secondaire */
  --azufa-gold-text: #1C1503;   /* texte sombre sur fond or */
  --azufa-card-border: #DDE4DF; /* bordure fine des cartes (sauge tres clair) */
  --azufa-header-bg: rgba(255, 255, 255, 0.9);

  /* Texte / neutres (à conserver cohérents avec le reste du site, non
     redéfinis en profondeur -- l'essentiel du langage vient des couleurs
     de marque ci-dessus et de la typographie) */
  --azufa-text: #1E293B;
  --azufa-text-muted: #64748B;
  --azufa-bg: #F8FAFC;
  --azufa-white: #FFFFFF;

  /* Rayons et espacements (institutionnel : angles nets, pas de style
     "pilule" arrondi) */
  --azufa-radius-sm: 4px;   /* boutons */
  --azufa-radius-md: 6px;   /* cartes */
  --azufa-btn-padding: 8px 20px;
}

/* --- Polices auto-hebergees (Montserrat + Source Sans 3, latin + latin-ext,
   telechargees depuis fonts.bunny.net -- miroir RGPD-compatible des memes
   fichiers Google Fonts, aucune requete tierce au runtime). --- */
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/montserrat-500-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; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/montserrat-500-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/montserrat-600-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; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/montserrat-600-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/montserrat-700-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; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/montserrat-700-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/montserrat-800-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; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/montserrat-800-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/source-sans-3-400-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; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/source-sans-3-400-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/source-sans-3-500-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; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/source-sans-3-500-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/source-sans-3-600-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; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/source-sans-3-600-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/source-sans-3-700-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; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/source-sans-3-700-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* --- Composants de base --- */

.azufa-h1, h1.azufa-title {
  font-family: var(--azufa-font-heading);
  font-weight: 700;
  color: var(--azufa-white);
}

.azufa-h2, h2.azufa-title {
  font-family: var(--azufa-font-heading);
  font-weight: 700;
  font-size: 30px;
  color: var(--azufa-green);
}

body, .azufa-body-font {
  font-family: var(--azufa-font-body);
  color: var(--azufa-text);
}

/* Boutons */
.azufa-btn {
  display: inline-block;
  font-family: var(--azufa-font-body);
  font-weight: 500;
  font-size: 15px;
  padding: var(--azufa-btn-padding);
  border-radius: var(--azufa-radius-sm);
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: filter 0.15s ease;
}
.azufa-btn:hover { filter: brightness(0.92); }

.azufa-btn-primary {
  background: var(--azufa-red);
  color: var(--azufa-white);
}

.azufa-btn-secondary {
  background: var(--azufa-gold);
  color: var(--azufa-gold-text);
}

.azufa-btn-ghost {
  background: transparent;
  color: var(--azufa-green);
  border-color: var(--azufa-green);
}

/* Cartes */
.azufa-card {
  background: var(--azufa-white);
  border: 1px solid var(--azufa-card-border);
  border-radius: var(--azufa-radius-md);
  box-shadow: none;
}

/* En-tete */
.azufa-header {
  background: var(--azufa-header-bg);
  backdrop-filter: saturate(180%) blur(6px);
}
.azufa-nav-link {
  font-family: var(--azufa-font-body);
  font-weight: 500;
  font-size: 14px;
  color: var(--azufa-green);
}

/* Pied de page */
.azufa-footer {
  background: var(--azufa-green);
  color: var(--azufa-white);
}

/* Badge / etiquette */
.azufa-badge {
  display: inline-block;
  font-family: var(--azufa-font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid rgba(var(--azufa-green-rgb), 0.35);
  color: var(--azufa-white);
  background: transparent;
}
