/* 
 * ACDC Branding - Action Citoyenne Démocratique
 * Identité visuelle pour la Tournée Souveraineté Populaire 2025-2026
 * 
 * Palette principale:
 * - Bleu minuit (#0F1A2E) : Souveraineté, structure, puissance
 * - Bleu démocratique (#2243A2) : Confiance, clarté
 * - Blanc pur (#FFFFFF) : Transparence, vérité
 * - Or civique (#D4A526) : Valeur, souveraineté, fondations
 * - Rouge action (#C64141) : Courage, refus du statu quo
 * 
 * Palette secondaire:
 * - Gris perle (#E5E5E5) – Neutralité et documentation
 * - Vert citoyen (#2EA673) – Espoir, vitalité, santé civique
 */

/* ========================================
   OVERRIDES GLOBAUX ACDC - PRÉDOMINANCE
   ======================================== */

/* Application globale des couleurs ACDC sur les éléments de base */
:root {
  /* Surcharge des variables principales avec ACDC */
  --primary-color: var(--acdc-bleu-democratique, #2243A2) !important;
  --secondary-color: var(--acdc-or-civique, #D4A526) !important;
  --success-color: var(--acdc-vert-citoyen, #2EA673) !important;
  --error-color: var(--acdc-rouge-action, #C64141) !important;
  --warning-color: var(--acdc-or-civique, #D4A526) !important;
  --info-color: var(--acdc-bleu-democratique, #2243A2) !important;
  --danger-color: var(--acdc-rouge-action, #C64141) !important;
  
  /* Couleurs de texte avec ACDC */
  --text-color: var(--acdc-bleu-minuit, #0F1A2E) !important;
  --background-color: var(--acdc-blanc-pur, #FFFFFF) !important;
  --surface-color: var(--acdc-blanc-pur, #FFFFFF) !important;
  --surface-variant: var(--acdc-gris-perle, #E5E5E5) !important;
  --border-color: var(--acdc-gris-perle-dark, #d0d0d0) !important;
  
  /* Typographie ACDC par défaut */
  --font-family: var(--acdc-font-paragraph, 'Inter', 'Lato', sans-serif) !important;
  --heading-font: var(--acdc-font-title, 'Montserrat', 'Oswald', sans-serif) !important;
}

/* Application globale des couleurs ACDC sur le body */
body {
  font-family: var(--acdc-font-paragraph, 'Inter', 'Lato', sans-serif) !important;
  color: var(--acdc-bleu-minuit, #0F1A2E) !important;
  background-color: var(--acdc-gris-perle, #E5E5E5) !important;
}

/* Typographie ACDC - Application globale */
h1, h2, h3, h4, h5, h6,
.uman-title, 
.uman-detail-title,
.uman-section-title,
.uman-card-title,
.acdc-title {
  font-family: var(--acdc-font-title, 'Montserrat', 'Oswald', sans-serif);
  font-weight: 800; /* ExtraBold pour Montserrat */
  color: var(--acdc-bleu-minuit, #0F1A2E);
}

/* Paragraphes et texte de corps */
p,
.uman-subtitle,
.uman-detail-description,
.uman-card-description,
.acdc-body {
  font-family: var(--acdc-font-paragraph, 'Inter', 'Lato', sans-serif);
  font-weight: 400;
  color: var(--acdc-bleu-minuit, #0F1A2E);
}

/* Documents officiels */
.official-document,
.constitution-document,
.merriweather-text,
.acdc-official {
  font-family: var(--acdc-font-official, 'Merriweather', serif);
  font-weight: 400;
  color: var(--acdc-bleu-minuit, #0F1A2E);
}

/* Classes utilitaires pour les couleurs ACDC */
.acdc-bg-bleu-minuit { background-color: var(--acdc-bleu-minuit, #0F1A2E); }
.acdc-bg-bleu-democratique { background-color: var(--acdc-bleu-democratique, #2243A2); }
.acdc-bg-or-civique { background-color: var(--acdc-or-civique, #D4A526); }
.acdc-bg-rouge-action { background-color: var(--acdc-rouge-action, #C64141); }
.acdc-bg-vert-citoyen { background-color: var(--acdc-vert-citoyen, #2EA673); }
.acdc-bg-gris-perle { background-color: var(--acdc-gris-perle, #E5E5E5); }

.acdc-text-bleu-minuit { color: var(--acdc-bleu-minuit, #0F1A2E); }
.acdc-text-bleu-democratique { color: var(--acdc-bleu-democratique, #2243A2); }
.acdc-text-or-civique { color: var(--acdc-or-civique, #D4A526); }
.acdc-text-rouge-action { color: var(--acdc-rouge-action, #C64141); }
.acdc-text-vert-citoyen { color: var(--acdc-vert-citoyen, #2EA673); }
.acdc-text-blanc-pur { color: var(--acdc-blanc-pur, #FFFFFF); }

/* Boutons avec branding ACDC */
.acdc-btn-primary {
  background: var(--acdc-gradient-primary);
  color: var(--acdc-blanc-pur);
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-family: var(--acdc-font-title, 'Montserrat', 'Oswald', sans-serif);
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
}

.acdc-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(15, 26, 46, 0.3);
}

.acdc-btn-action {
  background: var(--acdc-rouge-action);
  color: var(--acdc-blanc-pur);
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-family: var(--acdc-font-title, 'Montserrat', 'Oswald', sans-serif);
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
}

.acdc-btn-action:hover {
  background: var(--acdc-rouge-action-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(198, 65, 65, 0.3);
}

/* Badges ACDC */
.acdc-badge-sovereignty {
  background: var(--acdc-bleu-minuit);
  color: var(--acdc-blanc-pur);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 600;
}

.acdc-badge-action {
  background: var(--acdc-rouge-action);
  color: var(--acdc-blanc-pur);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 600;
}

.acdc-badge-civic {
  background: var(--acdc-or-civique);
  color: var(--acdc-bleu-minuit);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 600;
}

/* Cartes avec branding ACDC */
.acdc-card {
  background: var(--acdc-blanc-pur);
  border: 2px solid var(--acdc-gris-perle);
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 4px 12px rgba(15, 26, 46, 0.1);
  transition: all 0.3s ease;
}

.acdc-card:hover {
  border-color: var(--acdc-bleu-democratique);
  box-shadow: 0 8px 24px rgba(34, 67, 162, 0.15);
  transform: translateY(-2px);
}

/* Hero section avec branding ACDC */
.acdc-hero {
  background: var(--acdc-gradient-primary);
  color: var(--acdc-blanc-pur);
  padding: 60px 24px;
  text-align: center;
}

.acdc-hero-title {
  font-family: var(--acdc-font-title, 'Montserrat', 'Oswald', sans-serif);
  font-size: 3.5rem;
  font-weight: 800;
  color: var(--acdc-blanc-pur);
  margin: 0 0 16px 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.acdc-hero-subtitle {
  font-family: var(--acdc-font-paragraph, 'Inter', 'Lato', sans-serif);
  font-size: 1.25rem;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Formule clé ACDC */
.acdc-formula {
  font-family: var(--acdc-font-official, 'Merriweather', serif);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--acdc-bleu-minuit);
  font-style: italic;
  text-align: center;
  padding: 24px;
  background: var(--acdc-gris-perle);
  border-left: 4px solid var(--acdc-or-civique);
  border-radius: 8px;
  margin: 24px 0;
}

/* ========================================
   OVERRIDES POUR COMPOSANTS COMMUNS
   ======================================== */

/* Boutons génériques avec branding ACDC */
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
  background: var(--acdc-gradient-primary) !important;
  color: var(--acdc-blanc-pur) !important;
  border-color: transparent !important;
  font-family: var(--acdc-font-title, 'Montserrat', 'Oswald', sans-serif) !important;
  font-weight: 700 !important;
}

.btn-primary:hover {
  background: linear-gradient(135deg, var(--acdc-bleu-democratique-light) 0%, var(--acdc-bleu-democratique) 100%) !important;
  box-shadow: 0 8px 20px rgba(34, 67, 162, 0.3) !important;
}

.btn-secondary {
  background: var(--acdc-blanc-pur) !important;
  color: var(--acdc-bleu-democratique) !important;
  border-color: var(--acdc-bleu-democratique) !important;
}

.btn-secondary:hover {
  background: var(--acdc-gris-perle) !important;
  color: var(--acdc-bleu-minuit) !important;
}

.btn-success {
  background: var(--acdc-vert-citoyen) !important;
  color: var(--acdc-blanc-pur) !important;
}

.btn-danger,
.btn-error {
  background: var(--acdc-rouge-action) !important;
  color: var(--acdc-blanc-pur) !important;
}

.btn-warning {
  background: var(--acdc-or-civique) !important;
  color: var(--acdc-bleu-minuit) !important;
}

/* Cartes et conteneurs avec branding ACDC */
.card,
.modern-card,
.stat-card {
  background: var(--acdc-blanc-pur) !important;
  border-color: var(--acdc-gris-perle-dark) !important;
}

.card:hover,
.modern-card:hover {
  border-color: var(--acdc-bleu-democratique) !important;
  box-shadow: 0 8px 24px rgba(34, 67, 162, 0.15) !important;
}

/* Liens avec branding ACDC */
a {
  color: var(--acdc-bleu-democratique) !important;
}

a:hover {
  color: var(--acdc-bleu-minuit) !important;
}

/* Inputs et formulaires avec branding ACDC */
input:focus,
textarea:focus,
select:focus {
  border-color: var(--acdc-bleu-democratique) !important;
  box-shadow: 0 0 0 3px rgba(34, 67, 162, 0.1) !important;
}

/* Badges génériques avec branding ACDC */
.badge,
.status-badge {
  font-family: var(--acdc-font-paragraph, 'Inter', 'Lato', sans-serif) !important;
}

.badge-primary,
.status-active {
  background: var(--acdc-bleu-democratique) !important;
  color: var(--acdc-blanc-pur) !important;
}

.badge-success {
  background: var(--acdc-vert-citoyen) !important;
  color: var(--acdc-blanc-pur) !important;
}

.badge-danger,
.badge-error {
  background: var(--acdc-rouge-action) !important;
  color: var(--acdc-blanc-pur) !important;
}

.badge-warning {
  background: var(--acdc-or-civique) !important;
  color: var(--acdc-bleu-minuit) !important;
}

/* Hero sections avec branding ACDC */
.hero-section,
.hero-content {
  background: var(--acdc-gradient-primary) !important;
  color: var(--acdc-blanc-pur) !important;
}

/* Navigation avec branding ACDC */
.nav-link.is-active,
.nav-link.active {
  color: var(--acdc-bleu-democratique) !important;
}

.nav-link:hover {
  color: var(--acdc-bleu-democratique) !important;
}

/* Toast notifications avec branding ACDC */
.toast.success {
  border-left-color: var(--acdc-vert-citoyen) !important;
  background: linear-gradient(135deg, rgba(46, 166, 115, 0.1) 0%, var(--acdc-blanc-pur) 100%) !important;
}

.toast.error {
  border-left-color: var(--acdc-rouge-action) !important;
  background: linear-gradient(135deg, rgba(198, 65, 65, 0.1) 0%, var(--acdc-blanc-pur) 100%) !important;
}

.toast.warning {
  border-left-color: var(--acdc-or-civique) !important;
  background: linear-gradient(135deg, rgba(212, 165, 38, 0.1) 0%, var(--acdc-blanc-pur) 100%) !important;
}

.toast.info {
  border-left-color: var(--acdc-bleu-democratique) !important;
  background: linear-gradient(135deg, rgba(34, 67, 162, 0.1) 0%, var(--acdc-blanc-pur) 100%) !important;
}

.toast.success .toast-icon {
  background: var(--acdc-vert-citoyen) !important;
}

.toast.error .toast-icon {
  background: var(--acdc-rouge-action) !important;
}

.toast.warning .toast-icon {
  background: var(--acdc-or-civique) !important;
}

.toast.info .toast-icon {
  background: var(--acdc-bleu-democratique) !important;
}

/* Responsive */
@media (max-width: 768px) {
  .acdc-hero-title {
    font-size: 2.5rem;
  }
  
  .acdc-hero-subtitle {
    font-size: 1.125rem;
  }
}

