/* ===== ADAPTATIONS DARK MODE POUR LA PAGE D'ACCUEIL ===== */

/* Variables spécifiques à la homepage */
[data-theme="dark"] {
  /* Couleurs spécifiques homepage */
  --hero-text-primary: #ffffff;
  --hero-text-secondary: #cccccc;
  --hero-bg: linear-gradient(135deg, #0c0f1a 0%, #1a1f35 100%);
  --section-bg-dark: #0c0f1a;
  --section-bg-light: #1a1f35;
  --card-bg: rgba(255, 255, 255, 0.05);
  --card-border: rgba(255, 255, 255, 0.1);
  --accent-primary: #667eea;
  --accent-secondary: #764ba2;
}

/* Hero Section */
[data-theme="dark"] .hero {
  background: transparent;
  color: var(--hero-text-primary);
}

[data-theme="dark"] .hero h1 {
  color: var(--hero-text-primary) !important;
}

[data-theme="dark"] .hero .text-secondary {
  color: var(--hero-text-secondary) !important;
}

[data-theme="dark"] .hero p {
  color: var(--hero-text-secondary);
}


/* Buttons */
[data-theme="dark"] .btn-primary {
  background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
  border-color: var(--accent-primary);
  color: white;
}

[data-theme="dark"] .btn-primary:hover {
  background: linear-gradient(135deg, #5a6fd8, #6b42a0);
  border-color: #5a6fd8;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

[data-theme="dark"] .btn-outline-primary {
  border-color: var(--accent-primary);
  color: var(--accent-primary);
  background: transparent;
}

[data-theme="dark"] .btn-outline-primary:hover {
  background: var(--accent-primary);
  border-color: var(--accent-primary);
  color: white;
}

/* Sections avec fond sombre */
[data-theme="dark"] .bg-dark {
  background-color: var(--section-bg-dark) !important;
}

[data-theme="dark"] .container-fluid.bg-dark {
  background: linear-gradient(135deg, var(--section-bg-dark) 0%, #1f1f1f 100%) !important;
}

/* Textes dans les sections sombres */
[data-theme="dark"] .text-white {
  color: var(--hero-text-primary) !important;
}

/* Augmentation de la taille des text-secondary pour tous les modes */
.text-secondary {
  font-size: 1.2em;
}

[data-theme="dark"] .text-secondary {
  color: #91793c !important;
  font-size: 1.2em;
}

/* Exception pour numero-etape qui doit garder sa taille originale */
[data-theme="dark"] .numero-etape.text-secondary {
  font-size: 150px !important;
}

@media (max-width: 768px) {
  [data-theme="dark"] .numero-etape.text-secondary {
    font-size: 100px !important;
  }
}

/* Cards et éléments de contenu */
[data-theme="dark"] .card {
  background-color: var(--card-bg);
  border: 1px solid var(--card-border);
  color: var(--hero-text-primary);
}

[data-theme="dark"] .card-body {
  color: var(--hero-text-primary);
}

[data-theme="dark"] .card-title {
  color: var(--hero-text-primary);
}

[data-theme="dark"] .card-text {
  color: var(--hero-text-secondary);
}

/* Services section */
[data-theme="dark"] .service-card {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  transition: all 0.3s ease;
}

[data-theme="dark"] .service-card:hover {
  background: #363636;
  border-color: var(--accent-primary);
  box-shadow: 0 10px 30px rgba(102, 126, 234, 0.2);
}

/* FAQ Section */
[data-theme="dark"] .accordion-item {
  background-color: var(--card-bg);
  border: 1px solid var(--card-border);
}

[data-theme="dark"] .accordion-button {
  background-color: var(--card-bg);
  color: var(--hero-text-primary);
  border: none;
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
  background-color: var(--section-bg-light);
  color: var(--accent-primary);
  box-shadow: none;
}

[data-theme="dark"] .accordion-button::after {
  filter: invert(1);
}

[data-theme="dark"] .accordion-body {
  background-color: var(--card-bg);
  color: var(--hero-text-secondary);
}

/* Contact Section */
[data-theme="dark"] .contact-section {
  background: var(--section-bg-light);
}

[data-theme="dark"] .form-control {
  background-color: var(--card-bg);
  border: 1px solid var(--card-border);
  color: var(--hero-text-primary);
}

[data-theme="dark"] .form-control:focus {
  background-color: var(--card-bg);
  border-color: var(--accent-primary);
  color: var(--hero-text-primary);
  box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}

[data-theme="dark"] .form-control::placeholder {
  color: var(--hero-text-secondary);
  opacity: 0.7;
}

[data-theme="dark"] .form-label {
  color: var(--hero-text-primary);
}

/* Footer */
[data-theme="dark"] footer {
  background: var(--section-bg-dark) !important;
  color: var(--hero-text-primary);
}

[data-theme="dark"] footer a {
  color: var(--hero-text-secondary);
  transition: color 0.3s ease;
}

[data-theme="dark"] footer a:hover {
  color: var(--accent-primary);
}

/* Réalisations/Portfolio */
[data-theme="dark"] .portfolio-item {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
}

[data-theme="dark"] .portfolio-item:hover {
  border-color: var(--accent-primary);
  box-shadow: 0 10px 30px rgba(102, 126, 234, 0.2);
}

/* Badges et labels */
[data-theme="dark"] .badge {
  background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
  color: white;
}

/* Scroll button */
[data-theme="dark"] .scroll-div a span {
  border: 2px solid var(--hero-text-secondary);
}

[data-theme="dark"] .scroll-div a span::before {
  background: var(--hero-text-secondary);
}

/* Animations et effets hover */
[data-theme="dark"] .survol:hover {
  transform: translateY(-5px);
  transition: all 0.3s ease;
}

/* Images - ajuster l'opacité en dark mode si nécessaire */
[data-theme="dark"] img {
  transition: opacity 0.3s ease;
}

/* Éléments décoratifs */
[data-theme="dark"] .overlay-hero img {
  opacity: 0.3;
  filter: brightness(0.7);
}

/* Responsive adjustments pour dark mode */
@media (max-width: 768px) {
  [data-theme="dark"] .hero {
    background: linear-gradient(135deg, #1a1a1a 0%, #252525 100%);
  }
  
  [data-theme="dark"] .card {
    border: 1px solid rgba(255, 255, 255, 0.08);
  }
}

/* Transitions globales pour un changement fluide - DÉSACTIVÉ pour éviter les conflits avec BB-8 */
/* [data-theme="dark"] * {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
} */

/* Amélioration de la lisibilité */
[data-theme="dark"] h1, 
[data-theme="dark"] h2, 
[data-theme="dark"] h3, 
[data-theme="dark"] h4, 
[data-theme="dark"] h5, 
[data-theme="dark"] h6 {
  color: var(--hero-text-primary);
}

[data-theme="dark"] p {
  color: var(--hero-text-secondary);
  line-height: 1.6;
}

/* Amélioration du contraste pour l'accessibilité */
[data-theme="dark"] .text-muted {
  color: #999999 !important;
}

/* Correction des classes text-dark en mode sombre */
[data-theme="dark"] .text-dark {
  color: var(--hero-text-primary) !important;
}

[data-theme="dark"] h1.text-dark,
[data-theme="dark"] h2.text-dark,
[data-theme="dark"] h3.text-dark,
[data-theme="dark"] h4.text-dark,
[data-theme="dark"] h5.text-dark,
[data-theme="dark"] h6.text-dark {
  color: var(--hero-text-primary) !important;
}

[data-theme="dark"] p.text-dark {
  color: var(--hero-text-secondary) !important;
}

/* Correction des boutons avec text-dark */
[data-theme="dark"] .btn.text-dark {
  color: var(--hero-text-primary) !important;
}

[data-theme="dark"] .accordion-button.text-dark {
  color: var(--hero-text-primary) !important;
}

[data-theme="dark"] .border {
  border-color: var(--card-border) !important;
}

[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end {
  border-color: var(--card-border) !important;
}