/* src/styles/dark-mode.css */
/* 🌙 Surcharge Bootstrap pour le thème sombre */
/* À importer APRÈS Bootstrap et variables.css */

/* ================================================
   BASE - Body, HTML, Containers
   ================================================ */
[data-theme="dark"] body,
[data-theme="dark"],
html.dark body,
html.dark,
body.dark-mode {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .container,
[data-theme="dark"] .container-fluid {
  background-color: transparent;
}

/* ================================================
   CARDS
   ================================================ */
[data-theme="dark"] .card {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .card-header {
  background-color: var(--bg-tertiary) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .card-footer {
  background-color: var(--bg-tertiary) !important;
  border-top-color: var(--border-color) !important;
}

[data-theme="dark"] .card-body {
  background-color: transparent;
  color: var(--text-primary);
}

/* ================================================
   TABLES
   ================================================ */
[data-theme="dark"] .table {
  color: var(--text-primary) !important;
  --bs-table-bg: transparent;
  --bs-table-color: var(--text-primary);
}

[data-theme="dark"] .table > :not(caption) > * > * {
  background-color: transparent;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary);
}

[data-theme="dark"] .table-light,
[data-theme="dark"] .table-light > th,
[data-theme="dark"] .table-light > td,
[data-theme="dark"] thead.table-light,
[data-theme="dark"] thead.table-light th {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  --bs-table-bg: var(--bg-tertiary);
}

[data-theme="dark"] .table-hover > tbody > tr:hover > * {
  background-color: var(--bg-tertiary) !important;
  --bs-table-hover-bg: var(--bg-tertiary);
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(255, 255, 255, 0.02) !important;
}

[data-theme="dark"] .table-warning,
[data-theme="dark"] .table-warning > td,
[data-theme="dark"] .table-warning > th {
  background-color: rgba(255, 193, 7, 0.15) !important;
  color: #ffc107 !important;
}

[data-theme="dark"] .table-success,
[data-theme="dark"] .table-success > td,
[data-theme="dark"] .table-success > th {
  background-color: rgba(25, 135, 84, 0.15) !important;
  color: #75b798 !important;
}

[data-theme="dark"] .table-danger,
[data-theme="dark"] .table-danger > td,
[data-theme="dark"] .table-danger > th {
  background-color: rgba(220, 53, 69, 0.15) !important;
  color: #ea868f !important;
}

[data-theme="dark"] .table-info,
[data-theme="dark"] .table-info > td,
[data-theme="dark"] .table-info > th {
  background-color: rgba(13, 202, 240, 0.15) !important;
  color: #6edff6 !important;
}

/* ================================================
   MODALS
   ================================================ */
[data-theme="dark"] .modal-content {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .modal-header {
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .modal-footer {
  border-top-color: var(--border-color) !important;
}

[data-theme="dark"] .modal-backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}

/* Headers colorés dans les modals */
[data-theme="dark"] .modal-header.bg-warning {
  background-color: #ffc107 !important;
}
[data-theme="dark"] .modal-header.bg-warning,
[data-theme="dark"] .modal-header.bg-warning * {
  color: #212529 !important;
}

[data-theme="dark"] .modal-header.bg-success {
  background-color: #198754 !important;
}
[data-theme="dark"] .modal-header.bg-success,
[data-theme="dark"] .modal-header.bg-success * {
  color: #fff !important;
}

[data-theme="dark"] .modal-header.bg-danger {
  background-color: #dc3545 !important;
}
[data-theme="dark"] .modal-header.bg-danger,
[data-theme="dark"] .modal-header.bg-danger * {
  color: #fff !important;
}

[data-theme="dark"] .modal-header.bg-primary {
  background-color: #0d6efd !important;
}
[data-theme="dark"] .modal-header.bg-primary,
[data-theme="dark"] .modal-header.bg-primary * {
  color: #fff !important;
}

[data-theme="dark"] .modal-header.bg-info {
  background-color: #0dcaf0 !important;
}
[data-theme="dark"] .modal-header.bg-info,
[data-theme="dark"] .modal-header.bg-info * {
  color: #212529 !important;
}

/* ================================================
   FORMS
   ================================================ */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .form-control::placeholder {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly],
[data-theme="dark"] .form-select:disabled {
  background-color: var(--bg-dark) !important;
  color: var(--text-muted) !important;
}

[data-theme="dark"] .form-label {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .form-text {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .input-group-text {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .form-check-input {
  background-color: var(--bg-tertiary);
  border-color: var(--border-color);
}

[data-theme="dark"] .form-check-input:checked {
  background-color: var(--primary);
  border-color: var(--primary);
}

/* ================================================
   BUTTONS - Base
   ================================================ */
[data-theme="dark"] .btn-light {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .btn-light:hover {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .btn-outline-secondary {
  border-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .btn-outline-secondary:hover {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .btn-outline-dark {
  border-color: var(--text-secondary) !important;
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .btn-outline-dark:hover {
  background-color: var(--text-secondary) !important;
  color: var(--bg-primary) !important;
}

[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

/* ================================================
   DROPDOWNS
   ================================================ */
[data-theme="dark"] .dropdown-menu {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  box-shadow: var(--shadow-lg);
}

[data-theme="dark"] .dropdown-item {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-item.active,
[data-theme="dark"] .dropdown-item:active {
  background-color: var(--primary) !important;
  color: white !important;
}

[data-theme="dark"] .dropdown-divider {
  border-top-color: var(--border-color) !important;
}

[data-theme="dark"] .dropdown-header {
  color: var(--text-muted) !important;
}

/* ================================================
   ALERTS
   ================================================ */
[data-theme="dark"] .alert {
  border-color: transparent;
}

[data-theme="dark"] .alert-light {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .alert-info {
  background-color: rgba(13, 202, 240, 0.15) !important;
  color: #6edff6 !important;
  border-color: rgba(13, 202, 240, 0.3) !important;
}

[data-theme="dark"] .alert-warning {
  background-color: rgba(255, 193, 7, 0.15) !important;
  color: #ffda6a !important;
  border-color: rgba(255, 193, 7, 0.3) !important;
}

[data-theme="dark"] .alert-success {
  background-color: rgba(25, 135, 84, 0.15) !important;
  color: #75b798 !important;
  border-color: rgba(25, 135, 84, 0.3) !important;
}

[data-theme="dark"] .alert-danger {
  background-color: rgba(220, 53, 69, 0.15) !important;
  color: #ea868f !important;
  border-color: rgba(220, 53, 69, 0.3) !important;
}

/* ================================================
   LIST GROUPS
   ================================================ */
[data-theme="dark"] .list-group-item {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .list-group-item:hover {
  background-color: var(--bg-tertiary) !important;
}

[data-theme="dark"] .list-group-item.active {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

/* ================================================
   PAGINATION
   ================================================ */
[data-theme="dark"] .page-link {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .page-link:hover {
  background-color: var(--bg-tertiary) !important;
  color: var(--primary) !important;
}

[data-theme="dark"] .page-item.active .page-link {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: white !important;
}

[data-theme="dark"] .page-item.disabled .page-link {
  background-color: var(--bg-dark) !important;
  color: var(--text-muted) !important;
}

/* ================================================
   NAV & TABS
   ================================================ */
[data-theme="dark"] .nav-tabs {
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .nav-tabs .nav-link {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .nav-tabs .nav-link:hover {
  border-color: var(--border-color) var(--border-color) transparent !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .nav-tabs .nav-link.active {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) var(--border-color) var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .nav-pills .nav-link {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .nav-pills .nav-link.active {
  background-color: var(--primary) !important;
  color: white !important;
}

/* ================================================
   TOASTS
   ================================================ */
[data-theme="dark"] .toast {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .toast-header {
  background-color: var(--bg-tertiary) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* ================================================
   PROGRESS
   ================================================ */
[data-theme="dark"] .progress {
  background-color: var(--bg-tertiary) !important;
}

/* ================================================
   BORDERS & BACKGROUNDS - Neutres
   ================================================ */
[data-theme="dark"] .border {
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end {
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .bg-light {
  background-color: var(--bg-tertiary) !important;
}

[data-theme="dark"] .bg-white {
  background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .bg-body {
  background-color: var(--bg-primary) !important;
}

/* ================================================
   TEXT COLORS - Neutres
   ================================================ */
[data-theme="dark"] .text-dark {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .text-body {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .text-muted {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .text-secondary {
  color: var(--text-secondary) !important;
}

/* ================================================
   SHADOWS
   ================================================ */
[data-theme="dark"] .shadow,
[data-theme="dark"] .shadow-sm,
[data-theme="dark"] .shadow-lg {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.4) !important;
}

/* ================================================
   SCROLLBARS
   ================================================ */
[data-theme="dark"] ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
  background: var(--bg-secondary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: var(--text-muted);
}

/* ================================================
   CODE & PRE
   ================================================ */
[data-theme="dark"] code {
  background-color: var(--bg-tertiary);
  color: #e83e8c;
}

[data-theme="dark"] pre {
  background-color: var(--bg-tertiary);
  border-color: var(--border-color);
  color: var(--text-primary);
}

/* ================================================
   ACCORDION
   ================================================ */
[data-theme="dark"] .accordion-item {
  background-color: var(--bg-secondary);
  border-color: var(--border-color);
}

[data-theme="dark"] .accordion-button {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
}

[data-theme="dark"] .accordion-button::after {
  filter: invert(1);
}

/* ================================================
   OFFCANVAS
   ================================================ */
[data-theme="dark"] .offcanvas {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .offcanvas-header {
  border-bottom-color: var(--border-color) !important;
}

/* ================================================
   POPOVER & TOOLTIP
   ================================================ */
[data-theme="dark"] .popover {
  background-color: var(--bg-secondary);
  border-color: var(--border-color);
}

[data-theme="dark"] .popover-header {
  background-color: var(--bg-tertiary);
  border-bottom-color: var(--border-color);
  color: var(--text-primary);
}

[data-theme="dark"] .popover-body {
  color: var(--text-primary);
}

[data-theme="dark"] .tooltip-inner {
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
}

/* ================================================
   BREADCRUMB
   ================================================ */
[data-theme="dark"] .breadcrumb {
  background-color: transparent;
}

[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-muted);
}

[data-theme="dark"] .breadcrumb-item.active {
  color: var(--text-secondary);
}

/* ================================================
   HR
   ================================================ */
[data-theme="dark"] hr {
  border-color: var(--border-color);
  opacity: 1;
}

/* ================================================
   SPINNER
   ================================================ */
[data-theme="dark"] .spinner-border,
[data-theme="dark"] .spinner-grow {
  color: var(--primary);
}

/* ================================================
   SELECTION
   ================================================ */
[data-theme="dark"] ::selection {
  background-color: var(--primary);
  color: white;
}

/* ================================================
   CONTENEURS COLORÉS - Préserver TOUS les enfants
   ================================================ */

/* Fond Success - Texte blanc */
[data-theme="dark"] .bg-success.text-white,
[data-theme="dark"] .bg-success.text-white * {
  color: #ffffff !important;
}
[data-theme="dark"] .bg-success.text-white .text-muted,
[data-theme="dark"] .bg-success.text-white .opacity-75 {
  color: rgba(255, 255, 255, 0.75) !important;
}
[data-theme="dark"] .bg-success.text-white .btn {
  color: inherit;
}
[data-theme="dark"] .bg-success.text-white .btn-dark {
  background-color: #212529 !important;
  border-color: #212529 !important;
  color: #fff !important;
}
[data-theme="dark"] .bg-success.text-white .btn-outline-light {
  border-color: rgba(255,255,255,0.5) !important;
  color: #fff !important;
}

/* Fond Warning - Texte sombre */
[data-theme="dark"] .bg-warning.text-dark,
[data-theme="dark"] .bg-warning.text-dark * {
  color: #212529 !important;
}
[data-theme="dark"] .bg-warning.text-dark .text-muted,
[data-theme="dark"] .bg-warning.text-dark .opacity-75 {
  color: rgba(0, 0, 0, 0.6) !important;
}
[data-theme="dark"] .bg-warning.text-dark .btn-dark {
  background-color: #212529 !important;
  border-color: #212529 !important;
  color: #fff !important;
}
[data-theme="dark"] .bg-warning.text-dark .btn-outline-dark {
  border-color: #212529 !important;
  color: #212529 !important;
}

/* Fond Primary - Texte blanc */
[data-theme="dark"] .bg-primary.text-white,
[data-theme="dark"] .bg-primary.text-white * {
  color: #ffffff !important;
}
[data-theme="dark"] .bg-primary.text-white .text-muted,
[data-theme="dark"] .bg-primary.text-white .opacity-75 {
  color: rgba(255, 255, 255, 0.75) !important;
}
[data-theme="dark"] .bg-primary.text-white .btn-dark {
  background-color: #212529 !important;
  border-color: #212529 !important;
  color: #fff !important;
}

/* Fond Danger - Texte blanc */
[data-theme="dark"] .bg-danger.text-white,
[data-theme="dark"] .bg-danger.text-white * {
  color: #ffffff !important;
}
[data-theme="dark"] .bg-danger.text-white .text-muted,
[data-theme="dark"] .bg-danger.text-white .opacity-75 {
  color: rgba(255, 255, 255, 0.75) !important;
}
[data-theme="dark"] .bg-danger.text-white .btn-dark {
  background-color: #212529 !important;
  border-color: #212529 !important;
  color: #fff !important;
}

/* Fond Info - Texte sombre */
[data-theme="dark"] .bg-info.text-dark,
[data-theme="dark"] .bg-info.text-dark * {
  color: #212529 !important;
}
[data-theme="dark"] .bg-info.text-dark .text-muted,
[data-theme="dark"] .bg-info.text-dark .opacity-75 {
  color: rgba(0, 0, 0, 0.6) !important;
}
[data-theme="dark"] .bg-info.text-dark .btn-dark {
  background-color: #212529 !important;
  border-color: #212529 !important;
  color: #fff !important;
}

/* Fond Secondary - Texte blanc */
[data-theme="dark"] .bg-secondary.text-white,
[data-theme="dark"] .bg-secondary.text-white * {
  color: #ffffff !important;
}
[data-theme="dark"] .bg-secondary.text-white .text-muted,
[data-theme="dark"] .bg-secondary.text-white .opacity-75 {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Fond Dark - Texte blanc */
[data-theme="dark"] .bg-dark.text-white,
[data-theme="dark"] .bg-dark.text-white * {
  color: #ffffff !important;
}

/* ================================================
   PRÉSERVER LES CLASSES UTILITAIRES BOOTSTRAP
   ================================================ */

/* Backgrounds colorés - Préserver les couleurs */
[data-theme="dark"] .bg-primary { background-color: #0d6efd !important; }
[data-theme="dark"] .bg-secondary { background-color: #6c757d !important; }
[data-theme="dark"] .bg-success { background-color: #198754 !important; }
[data-theme="dark"] .bg-danger { background-color: #dc3545 !important; }
[data-theme="dark"] .bg-warning { background-color: #ffc107 !important; }
[data-theme="dark"] .bg-info { background-color: #0dcaf0 !important; }
[data-theme="dark"] .bg-dark { background-color: #212529 !important; }

/* Textes colorés - Préserver (hors conteneurs) */
[data-theme="dark"] .text-white { color: #ffffff !important; }
[data-theme="dark"] .text-success:not(.bg-success *) { color: #75b798 !important; }
[data-theme="dark"] .text-danger:not(.bg-danger *) { color: #ea868f !important; }
[data-theme="dark"] .text-warning:not(.bg-warning *) { color: #ffda6a !important; }
[data-theme="dark"] .text-info:not(.bg-info *) { color: #6edff6 !important; }
[data-theme="dark"] .text-primary:not(.bg-primary *) { color: #6ea8fe !important; }

/* Boutons colorés - Préserver */
[data-theme="dark"] .btn-primary { background-color: #0d6efd !important; border-color: #0d6efd !important; color: #fff !important; }
[data-theme="dark"] .btn-secondary { background-color: #6c757d !important; border-color: #6c757d !important; color: #fff !important; }
[data-theme="dark"] .btn-success { background-color: #198754 !important; border-color: #198754 !important; color: #fff !important; }
[data-theme="dark"] .btn-danger { background-color: #dc3545 !important; border-color: #dc3545 !important; color: #fff !important; }
[data-theme="dark"] .btn-warning { background-color: #ffc107 !important; border-color: #ffc107 !important; color: #212529 !important; }
[data-theme="dark"] .btn-info { background-color: #0dcaf0 !important; border-color: #0dcaf0 !important; color: #212529 !important; }
[data-theme="dark"] .btn-dark { background-color: #212529 !important; border-color: #212529 !important; color: #fff !important; }

/* Boutons outline - Préserver */
[data-theme="dark"] .btn-outline-primary { border-color: #0d6efd !important; color: #6ea8fe !important; }
[data-theme="dark"] .btn-outline-primary:hover { background-color: #0d6efd !important; color: #fff !important; }
[data-theme="dark"] .btn-outline-success { border-color: #198754 !important; color: #75b798 !important; }
[data-theme="dark"] .btn-outline-success:hover { background-color: #198754 !important; color: #fff !important; }
[data-theme="dark"] .btn-outline-danger { border-color: #dc3545 !important; color: #ea868f !important; }
[data-theme="dark"] .btn-outline-danger:hover { background-color: #dc3545 !important; color: #fff !important; }
[data-theme="dark"] .btn-outline-warning { border-color: #ffc107 !important; color: #ffda6a !important; }
[data-theme="dark"] .btn-outline-warning:hover { background-color: #ffc107 !important; color: #212529 !important; }
[data-theme="dark"] .btn-outline-info { border-color: #0dcaf0 !important; color: #6edff6 !important; }
[data-theme="dark"] .btn-outline-info:hover { background-color: #0dcaf0 !important; color: #212529 !important; }
[data-theme="dark"] .btn-outline-light { border-color: #f8f9fa !important; color: #f8f9fa !important; }
[data-theme="dark"] .btn-outline-light:hover { background-color: #f8f9fa !important; color: #212529 !important; }

/* Badges - Préserver */
[data-theme="dark"] .badge.bg-primary { background-color: #0d6efd !important; color: #fff !important; }
[data-theme="dark"] .badge.bg-secondary { background-color: #6c757d !important; color: #fff !important; }
[data-theme="dark"] .badge.bg-success { background-color: #198754 !important; color: #fff !important; }
[data-theme="dark"] .badge.bg-danger { background-color: #dc3545 !important; color: #fff !important; }
[data-theme="dark"] .badge.bg-warning { background-color: #ffc107 !important; color: #212529 !important; }
[data-theme="dark"] .badge.bg-info { background-color: #0dcaf0 !important; color: #212529 !important; }
[data-theme="dark"] .badge.bg-dark { background-color: #212529 !important; color: #fff !important; }
[data-theme="dark"] .badge.bg-light { background-color: var(--bg-tertiary) !important; color: var(--text-primary) !important; }

/* Border colors */
[data-theme="dark"] .border-primary { border-color: #0d6efd !important; }
[data-theme="dark"] .border-success { border-color: #198754 !important; }
[data-theme="dark"] .border-danger { border-color: #dc3545 !important; }
[data-theme="dark"] .border-warning { border-color: #ffc107 !important; }
[data-theme="dark"] .border-info { border-color: #0dcaf0 !important; }

/* ================================================
   HERO SECTIONS - Conteneurs spéciaux
   ================================================ */
[data-theme="dark"] .intro {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
}

/* ================================================
   FIX SPÉCIFIQUES
   ================================================ */

/* Icônes dans les conteneurs colorés */
[data-theme="dark"] .bg-success i,
[data-theme="dark"] .bg-primary i,
[data-theme="dark"] .bg-danger i,
[data-theme="dark"] .bg-secondary i,
[data-theme="dark"] .bg-dark i {
  color: inherit !important;
}

[data-theme="dark"] .bg-warning i,
[data-theme="dark"] .bg-info i {
  color: inherit !important;
}

/* Strong, small dans conteneurs */
[data-theme="dark"] .bg-success strong,
[data-theme="dark"] .bg-success small,
[data-theme="dark"] .bg-primary strong,
[data-theme="dark"] .bg-primary small,
[data-theme="dark"] .bg-danger strong,
[data-theme="dark"] .bg-danger small {
  color: inherit !important;
}

[data-theme="dark"] .bg-warning strong,
[data-theme="dark"] .bg-warning small,
[data-theme="dark"] .bg-info strong,
[data-theme="dark"] .bg-info small {
  color: inherit !important;
}

/* Liens dans les conteneurs colorés */
[data-theme="dark"] .bg-success a:not(.btn),
[data-theme="dark"] .bg-primary a:not(.btn),
[data-theme="dark"] .bg-danger a:not(.btn) {
  color: rgba(255, 255, 255, 0.9) !important;
  text-decoration: underline;
}

[data-theme="dark"] .bg-warning a:not(.btn),
[data-theme="dark"] .bg-info a:not(.btn) {
  color: rgba(0, 0, 0, 0.8) !important;
  text-decoration: underline;
}