/**
 * CHARTE GRAPHIQUE IFG - Intelligence Fiscale Générale
 * Couleurs principales et variables CSS
 */

:root {
  /* Couleurs principales */
  --ifg-dark-blue: #1A2942;      /* Bleu foncé - Principal */
  --ifg-medium-blue: #234876;    /* Bleu moyen - Secondaire */
  --ifg-gold: #C5A572;           /* Or - Accent premium */
  --ifg-light-gray: #f2f3f4;     /* Gris clair - Fond */
  
  /* Variations pour UI */
  --ifg-primary: var(--ifg-dark-blue);
  --ifg-secondary: var(--ifg-medium-blue);
  --ifg-accent: var(--ifg-gold);
  --ifg-background: var(--ifg-light-gray);
  
  /* Variations de teintes */
  --ifg-dark-blue-hover: #0f1a2e;
  --ifg-medium-blue-hover: #1a3a5f;
  --ifg-gold-hover: #b39563;
  
  /* Transparences */
  --ifg-dark-blue-alpha-10: rgba(26, 41, 66, 0.1);
  --ifg-dark-blue-alpha-20: rgba(26, 41, 66, 0.2);
  --ifg-dark-blue-alpha-90: rgba(26, 41, 66, 0.9);
  
  --ifg-gold-alpha-10: rgba(197, 165, 114, 0.1);
  --ifg-gold-alpha-20: rgba(197, 165, 114, 0.2);
  
  /* Texte */
  --ifg-text-primary: var(--ifg-dark-blue);
  --ifg-text-secondary: var(--ifg-medium-blue);
  --ifg-text-light: #ffffff;
  --ifg-text-muted: #6c757d;
  
  /* Bordures */
  --ifg-border-light: #e0e0e0;
  --ifg-border-medium: var(--ifg-medium-blue);
  
  /* Status colors */
  --ifg-success: #28a745;
  --ifg-warning: var(--ifg-gold);
  --ifg-danger: #dc3545;
  --ifg-info: var(--ifg-medium-blue);
}

/* Classes utilitaires */
.bg-ifg-primary { background-color: var(--ifg-primary); }
.bg-ifg-secondary { background-color: var(--ifg-secondary); }
.bg-ifg-accent { background-color: var(--ifg-accent); }
.bg-ifg-light { background-color: var(--ifg-background); }

.text-ifg-primary { color: var(--ifg-primary); }
.text-ifg-secondary { color: var(--ifg-secondary); }
.text-ifg-accent { color: var(--ifg-accent); }

.border-ifg-primary { border-color: var(--ifg-primary); }
.border-ifg-accent { border-color: var(--ifg-accent); }

/* Boutons IFG */
.btn-ifg-primary {
  background-color: var(--ifg-primary);
  color: var(--ifg-text-light);
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-ifg-primary:hover {
  background-color: var(--ifg-dark-blue-hover);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--ifg-dark-blue-alpha-20);
}

.btn-ifg-accent {
  background-color: var(--ifg-accent);
  color: var(--ifg-primary);
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-ifg-accent:hover {
  background-color: var(--ifg-gold-hover);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--ifg-gold-alpha-20);
}

/* Cards IFG */
.card-ifg {
  background: white;
  border: 1px solid var(--ifg-border-light);
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 8px var(--ifg-dark-blue-alpha-10);
  transition: all 0.3s ease;
}

.card-ifg:hover {
  box-shadow: 0 8px 24px var(--ifg-dark-blue-alpha-20);
  transform: translateY(-4px);
}

.card-ifg-premium {
  background: linear-gradient(135deg, var(--ifg-dark-blue) 0%, var(--ifg-medium-blue) 100%);
  color: var(--ifg-text-light);
  border: 2px solid var(--ifg-accent);
}

/* Header IFG */
.header-ifg {
  background: linear-gradient(135deg, var(--ifg-dark-blue) 0%, var(--ifg-medium-blue) 100%);
  color: var(--ifg-text-light);
  padding: 20px 0;
  box-shadow: 0 4px 12px var(--ifg-dark-blue-alpha-20);
}

/* Footer IFG */
.footer-ifg {
  background-color: var(--ifg-dark-blue);
  color: var(--ifg-text-light);
  padding: 40px 0;
}

/* Badge premium */
.badge-ifg-premium {
  background: linear-gradient(135deg, var(--ifg-gold) 0%, var(--ifg-gold-hover) 100%);
  color: var(--ifg-primary);
  padding: 6px 12px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Gradient backgrounds */
.gradient-ifg-primary {
  background: linear-gradient(135deg, var(--ifg-dark-blue) 0%, var(--ifg-medium-blue) 100%);
}

.gradient-ifg-accent {
  background: linear-gradient(135deg, var(--ifg-gold) 0%, var(--ifg-gold-hover) 100%);
}

/* Animations */
@keyframes ifg-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.ifg-pulse {
  animation: ifg-pulse 2s ease-in-out infinite;
}

@keyframes ifg-shine {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.ifg-shine {
  background: linear-gradient(
    90deg,
    var(--ifg-gold) 0%,
    #ffffff 50%,
    var(--ifg-gold) 100%
  );
  background-size: 200% auto;
  animation: ifg-shine 3s linear infinite;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
