/* =================================================================
   DARK MODE – CSS Global (Site Statique)
   Couleur signature #DD9933 conservée ✅
   ================================================================= */

/* ==================== TRANSITION GLOBALE ==================== */
/* Transitions uniquement pendant le toggle (classe temporaire ajoutée par JS) */
html.animating-theme,
html.animating-theme *,
html.animating-theme *::before,
html.animating-theme *::after {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, fill 0.3s ease !important;
}

/* ==================== STRUCTURE GLOBALE ==================== */
html.dark-mode,
body.dark-mode {
    background: #1a1a2e !important;
    color: #e8e8e8 !important;
}



/* ==================== HEADER ==================== */
body.dark-mode .header {
    background: #16213e !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .header.scrolled {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.4) !important;
}

body.dark-mode .nav-link,
body.dark-mode .nav-link:visited,
body.dark-mode .nav-link:link {
    color: #e8e8e8 !important;
}

body.dark-mode .nav-link:hover,
body.dark-mode .nav-link.active {
    color: #DD9933 !important;
}

body.dark-mode .burger-line {
    background: #e8e8e8 !important;
}

body.dark-mode .burger-menu.active .burger-line:nth-child(1),
body.dark-mode .burger-menu.active .burger-line:nth-child(3) {
    background: #DD9933 !important;
}

/* Menu mobile slide-in */
body.dark-mode .header-nav {
    background: #16213e !important;
}

body.dark-mode .nav-overlay.active {
    background: rgba(0, 0, 0, 0.6) !important;
}

/* ==================== FOOTER ==================== */
body.dark-mode .footer {
    background: #16213e !important;
    box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .footer-title {
    color: #e8e8e8 !important;
}

body.dark-mode .footer-copyright {
    color: #888888 !important;
}

body.dark-mode .footer-copyright strong {
    color: #e8e8e8 !important;
}

body.dark-mode .social-icon {
    background: #0f3460 !important;
}

body.dark-mode .social-icon svg {
    fill: #b0b0b0 !important;
}

body.dark-mode .social-icon:hover svg {
    fill: white !important;
}

body.dark-mode .legal-link,
body.dark-mode .legal-link:visited,
body.dark-mode .legal-link:link {
    color: #e8e8e8 !important;
}

body.dark-mode .legal-link:hover {
    color: #DD9933 !important;
}

body.dark-mode .footer-bottom {
    border-top-color: #2a2a4a !important;
}

body.dark-mode .footer-bottom-text {
    color: #888888 !important;
}

body.dark-mode .footer-bottom-text a {
    color: #DD9933 !important;
}

/* ==================== PAGE ACCUEIL ==================== */

/* Hero */
body.dark-mode .hero-title {
    color: #e8e8e8 !important;
}

body.dark-mode .hero-description {
    color: #b0b0b0 !important;
}

body.dark-mode .hero-description strong {
    color: #DD9933 !important;
}

body.dark-mode .btn-secondary {
    background: transparent !important;
    color: #DD9933 !important;
    border-color: #DD9933 !important;
}

body.dark-mode .btn-secondary:hover {
    background: #DD9933 !important;
    color: white !important;
}

body.dark-mode .hero-social-icon {
    background: #16213e !important;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .hero-social-icon svg {
    fill: #b0b0b0 !important;
}

body.dark-mode .hero-social-icon:hover {
    box-shadow: 0 6px 20px rgba(221, 153, 51, 0.3) !important;
}

body.dark-mode .hero-social-icon:hover svg {
    fill: #DD9933 !important;
}

body.dark-mode .photo-placeholder {
    background: linear-gradient(135deg, #16213e 0%, #0f3460 100%) !important;
}

body.dark-mode .floating-badge {
    background: #16213e !important;
    color: #e8e8e8 !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.25) !important;
}

/* Logo Cisco noir → blanc en dark mode */
body.dark-mode img[alt="Cisco"] {
    filter: brightness(0) invert(1) !important;
}


/* Compétences */
body.dark-mode .competence-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .competence-card:hover {
    box-shadow: 0 20px 50px rgba(221, 153, 51, 0.15) !important;
}

body.dark-mode .competence-icon {
    background: #0f3460 !important;
}

body.dark-mode .competence-title {
    color: #DD9933 !important;
}

/* Protéger les logos entreprise et école du dark mode */
/* Un filter sur un PARENT affecte tous les enfants, même avec filter:none */
body.dark-mode .entreprise-card,
body.dark-mode .entreprise-logo,
body.dark-mode .ecole-card,
body.dark-mode .ecole-logo {
    filter: none !important;
    -webkit-filter: none !important;
}

body.dark-mode .entreprise-logo img,
body.dark-mode .entreprise-card img,
body.dark-mode .ecole-logo img,
body.dark-mode .ecole-card img,
body.dark-mode img[alt="Groupe SEMIN"] {
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    color-scheme: light !important;
}

body.dark-mode .competence-description {
    color: #b0b0b0 !important;
}

/* Stats */
body.dark-mode .stat-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .stat-card:hover {
    box-shadow: 0 20px 50px rgba(221, 153, 51, 0.15) !important;
}

body.dark-mode .stat-number {
    color: #e8e8e8 !important;
}

body.dark-mode .stat-label {
    color: #b0b0b0 !important;
}

body.dark-mode .intro-text {
    color: #b0b0b0 !important;
}

body.dark-mode .intro-text strong {
    color: #e8e8e8 !important;
}

/* Veille */
body.dark-mode .veille-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .veille-text {
    color: #b0b0b0 !important;
}

body.dark-mode .veille-text strong {
    color: #e8e8e8 !important;
}

body.dark-mode .tag {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

body.dark-mode .tag:hover {
    background: linear-gradient(135deg, #DD9933 0%, #c4872d 100%) !important;
    color: white !important;
}

body.dark-mode .tag.highlight {
    background: linear-gradient(135deg, #DD9933 0%, #c4872d 100%) !important;
    color: white !important;
}

/* ==================== PAGE À PROPOS ==================== */
body.dark-mode .apropos-page {
    background: #1a1a2e !important;
    color: #e8e8e8 !important;
}

body.dark-mode .apropos-title {
    color: #e8e8e8 !important;
}

body.dark-mode .apropos-title .highlight {
    color: #DD9933 !important;
}

body.dark-mode .apropos-subtitle {
    color: #e8e8e8 !important;
}

body.dark-mode .apropos-subtitle .highlight {
    color: #DD9933 !important;
}

body.dark-mode .apropos-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .badge {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

body.dark-mode .badge:hover {
    background: linear-gradient(135deg, #DD9933 0%, #c4872d 100%) !important;
    color: white !important;
}

body.dark-mode .profil-text {
    color: #b0b0b0 !important;
}

body.dark-mode .profil-text strong {
    color: #e8e8e8 !important;
}

body.dark-mode .profil-text .accent {
    color: #DD9933 !important;
}

body.dark-mode .qualite-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .qualite-card:hover {
    box-shadow: 0 20px 50px rgba(221, 153, 51, 0.15) !important;
}

body.dark-mode .qualite-icon {
    background: #0f3460 !important;
}

body.dark-mode .qualite-title {
    color: #e8e8e8 !important;
}

body.dark-mode .qualite-description {
    color: #b0b0b0 !important;
}

body.dark-mode .step-badge {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

body.dark-mode .step-badge.active {
    background: linear-gradient(135deg, #DD9933 0%, #c4872d 100%) !important;
    color: white !important;
}

body.dark-mode .step-label {
    color: #888888 !important;
}

body.dark-mode .timeline-arrow {
    color: #DD9933 !important;
}

body.dark-mode .projet-text {
    color: #b0b0b0 !important;
}

body.dark-mode .projet-text strong {
    color: #e8e8e8 !important;
}

body.dark-mode .projet-text .accent {
    color: #DD9933 !important;
}

/* ==================== PAGE PARCOURS ==================== */

/* Titres */
body.dark-mode .section-title {
    color: #e8e8e8 !important;
}

/* Page Accueil : titres entièrement DD9933 (pas de .highlight) */
body.dark-mode .competences-section .section-title,
body.dark-mode .parcours-section .section-title,
body.dark-mode .veille-section .section-title {
    color: #DD9933 !important;
}

body.dark-mode .section-title .highlight,
body.dark-mode .highlight {
    color: #DD9933 !important;
}

body.dark-mode .subsection-title {
    color: #e8e8e8 !important;
}

body.dark-mode .subsection-title .highlight {
    color: #DD9933 !important;
}

/* Options SLAM/SISR */
body.dark-mode .option-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .option-card:hover {
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .option-card::before {
    background: #2a2a4a !important;
}

body.dark-mode .option-card.active::before {
    background: linear-gradient(135deg, #DD9933 0%, #c4872d 100%) !important;
}

body.dark-mode .option-title {
    color: #e8e8e8 !important;
}

body.dark-mode .option-card.active .option-title {
    color: #DD9933 !important;
}

body.dark-mode .option-full-name {
    color: #888888 !important;
}

body.dark-mode .option-description {
    color: #b0b0b0 !important;
}

body.dark-mode .skill-tag {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

body.dark-mode .option-card.active .skill-tag {
    background: rgba(221, 153, 51, 0.15) !important;
    color: #DD9933 !important;
}

body.dark-mode .option-card:not(.active) .option-badge {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

/* Blocs de compétences (Accordéon) */
body.dark-mode .bloc-accordion {
    background: #16213e !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .bloc-header:hover {
    background: #1a2745 !important;
}

body.dark-mode .bloc-title {
    color: #e8e8e8 !important;
}

body.dark-mode .bloc-description {
    color: #b0b0b0 !important;
}

body.dark-mode .bloc-skill {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

/* Carte école */
body.dark-mode .ecole-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .ecole-content p {
    color: #b0b0b0 !important;
}

body.dark-mode .ecole-content strong {
    color: #e8e8e8 !important;
}

body.dark-mode .ecole-badge {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

/* Expérience */
body.dark-mode .entreprise-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .entreprise-content p {
    color: #b0b0b0 !important;
}

body.dark-mode .entreprise-content strong {
    color: #e8e8e8 !important;
}

body.dark-mode .entreprise-badge {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

/* Missions */
body.dark-mode .mission-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .mission-card:hover {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .mission-title {
    color: #e8e8e8 !important;
}

body.dark-mode .mission-tasks li {
    color: #b0b0b0 !important;
    border-bottom-color: #2a2a4a !important;
}

body.dark-mode .mission-tasks strong {
    color: #e8e8e8 !important;
}

body.dark-mode .mission-card.support .mission-icon {
    background: rgba(52, 152, 219, 0.15) !important;
}

body.dark-mode .mission-card.admin .mission-icon {
    background: rgba(221, 153, 51, 0.15) !important;
}

body.dark-mode .mission-card.modern .mission-icon {
    background: rgba(155, 89, 182, 0.15) !important;
}

/* Certifications */
body.dark-mode .certification-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .certification-card:hover {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .certification-title {
    color: #e8e8e8 !important;
}

body.dark-mode .certification-description {
    color: #888888 !important;
}

body.dark-mode .certification-badge.placeholder {
    background: linear-gradient(135deg, #1a2745, #0f3460) !important;
}

body.dark-mode .certification-badge.placeholder::after {
    color: #666666 !important;
}

body.dark-mode .certification-card.microsoft .certification-badge.placeholder {
    background: linear-gradient(135deg, rgba(0, 120, 212, 0.15), rgba(0, 90, 158, 0.15)) !important;
}

/* ==================== PAGE CONTACT ==================== */
body.dark-mode .section-intro {
    color: #b0b0b0 !important;
}

body.dark-mode .form-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .form-title {
    color: #e8e8e8 !important;
}

body.dark-mode .form-label {
    color: #e8e8e8 !important;
}

body.dark-mode .form-input,
body.dark-mode .form-textarea {
    background: #1a1a2e !important;
    border-color: #2a2a4a !important;
    color: #e8e8e8 !important;
}

body.dark-mode .form-input:focus,
body.dark-mode .form-textarea:focus {
    border-color: #DD9933 !important;
    background: #16213e !important;
    box-shadow: 0 0 0 4px rgba(221, 153, 51, 0.15) !important;
}

body.dark-mode .form-input::placeholder,
body.dark-mode .form-textarea::placeholder {
    color: #666666 !important;
}

body.dark-mode .form-checkbox label {
    color: #b0b0b0 !important;
}

body.dark-mode .sidebar-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .sidebar-title {
    color: #e8e8e8 !important;
}

body.dark-mode .sidebar-subtitle {
    color: #b0b0b0 !important;
}

body.dark-mode .response-info {
    background: #0f3460 !important;
}

body.dark-mode .response-info span {
    color: #b0b0b0 !important;
}

body.dark-mode .contact-icon {
    background: #0f3460 !important;
}

body.dark-mode .form-submit,
body.dark-mode .form-submit span {
    color: white !important;
}

/* ==================== PAGE VEILLE (DÉDIÉE) ==================== */
body.dark-mode .veille-page,
body.dark-mode .veille-wrapper {
    background: #1a1a2e !important;
    color: #e8e8e8 !important;
}

body.dark-mode .veille-title,
body.dark-mode .veille-subtitle {
    color: #e8e8e8 !important;
}

body.dark-mode .veille-title .highlight,
body.dark-mode .veille-subtitle .highlight {
    color: #DD9933 !important;
}

/* Carrousel outils de veille */
body.dark-mode .carousel-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .carousel-card:hover {
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .carousel-title {
    color: #e8e8e8 !important;
}

body.dark-mode .carousel-desc {
    color: #b0b0b0 !important;
}

body.dark-mode .carousel-arrow {
    background: #16213e !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .carousel-arrow svg {
    fill: #e8e8e8 !important;
}

body.dark-mode .carousel-arrow:hover {
    background: linear-gradient(135deg, #DD9933 0%, #c4872d 100%) !important;
}

body.dark-mode .carousel-arrow:hover svg {
    fill: white !important;
}

body.dark-mode .carousel-dot {
    background: #2a2a4a !important;
}

body.dark-mode .carousel-dot.active {
    background: #DD9933 !important;
}

/* Timeline veille */
body.dark-mode .timeline-card {
    background: #16213e !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .timeline-card::after {
    border-left-color: #16213e !important;
}

body.dark-mode .timeline-item:nth-child(even) .timeline-card::after {
    border-right-color: #16213e !important;
}

body.dark-mode .timeline-title {
    color: #e8e8e8 !important;
}

body.dark-mode .timeline-desc {
    color: #b0b0b0 !important;
}

body.dark-mode .timeline-item::before {
    border-color: #1a1a2e !important;
}

/* Boutons veille et timeline → forcer texte blanc */
body.dark-mode .btn-veille,
body.dark-mode a.btn-veille,
body.dark-mode a.btn-veille:link,
body.dark-mode a.btn-veille:visited,
body.dark-mode span.btn-veille {
    color: white !important;
}

body.dark-mode .timeline-btn,
body.dark-mode a.timeline-btn,
body.dark-mode a.timeline-btn:link,
body.dark-mode a.timeline-btn:visited {
    color: white !important;
}

body.dark-mode .veille-card-article,
body.dark-mode .article-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .article-card:hover {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .article-title,
body.dark-mode .veille-article-title {
    color: #e8e8e8 !important;
}

body.dark-mode .article-description,
body.dark-mode .veille-article-desc,
body.dark-mode .article-excerpt {
    color: #b0b0b0 !important;
}

body.dark-mode .article-tag,
body.dark-mode .veille-tag {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

body.dark-mode .article-date,
body.dark-mode .veille-date {
    color: #888888 !important;
}

body.dark-mode .source-card,
body.dark-mode .veille-source-card {
    background: #16213e !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .source-card:hover,
body.dark-mode .veille-source-card:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .source-name,
body.dark-mode .veille-source-name {
    color: #e8e8e8 !important;
}

body.dark-mode .source-description,
body.dark-mode .veille-source-desc {
    color: #b0b0b0 !important;
}

/* ==================== PAGE SYNTHÈSE ==================== */

/* Navigation ancrée */
body.dark-mode .synthese-nav {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .synthese-nav-link:not(.active) {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

body.dark-mode .synthese-nav-link:not(.active):hover {
    border-color: #DD9933 !important;
    color: #DD9933 !important;
}

/* Titre */
body.dark-mode .synthese-title {
    color: #e8e8e8 !important;
}

/* Carte des filtres */
body.dark-mode .synthese-filters-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .synthese-filters-title {
    color: #e8e8e8 !important;
}

body.dark-mode .synthese-filter-group h4 {
    color: #888888 !important;
}

body.dark-mode .synthese-filter-btn:not(.active) {
    background: #0f3460 !important;
    border-color: #2a2a4a !important;
    color: #b0b0b0 !important;
}

body.dark-mode .synthese-filter-btn:hover {
    border-color: #DD9933 !important;
    color: #DD9933 !important;
}

body.dark-mode .synthese-filter-btn[data-comp="C1"]:hover {
    border-color: #DD9933 !important;
    color: #DD9933 !important;
}

body.dark-mode .synthese-filter-btn[data-comp="C2"]:hover {
    border-color: #3498db !important;
    color: #3498db !important;
}

body.dark-mode .synthese-filter-btn[data-comp="C3"]:hover {
    border-color: #9b59b6 !important;
    color: #9b59b6 !important;
}

body.dark-mode .synthese-filter-btn[data-comp="C4"]:hover {
    border-color: #27ae60 !important;
    color: #27ae60 !important;
}

body.dark-mode .synthese-filter-btn[data-comp="C5"]:hover {
    border-color: #e74c3c !important;
    color: #e74c3c !important;
}

body.dark-mode .synthese-filter-btn[data-comp="C6"]:hover {
    border-color: #1abc9c !important;
    color: #1abc9c !important;
}

body.dark-mode .synthese-filter-btn.active {
    color: white !important;
}

body.dark-mode .synthese-comp-badge {
    color: white !important;
}

body.dark-mode .synthese-reset-btn {
    background: #0f3460 !important;
    color: #b0b0b0 !important;
}

body.dark-mode .synthese-reset-btn:hover {
    background: #1a2745 !important;
    color: #e8e8e8 !important;
}

/* Compteur */
body.dark-mode .synthese-results-count {
    color: #b0b0b0 !important;
}

/* Carte du tableau */
body.dark-mode .synthese-table-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .synthese-table tbody tr {
    border-bottom-color: #2a2a4a !important;
}

body.dark-mode .synthese-table tbody tr:hover {
    background: #1a2745 !important;
}

body.dark-mode .synthese-table tbody td {
    color: #b0b0b0 !important;
}

body.dark-mode .synthese-table tbody td:first-child {
    color: #e8e8e8 !important;
}

body.dark-mode .synthese-date-cell {
    color: #888888 !important;
}

/* Légende */
body.dark-mode .synthese-legend-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .synthese-legend-title {
    color: #e8e8e8 !important;
}

body.dark-mode .synthese-legend-item {
    color: #b0b0b0 !important;
}

/* ==================== PAGE PROCÉDURES ==================== */

/* Titre */
body.dark-mode .proc-title {
    color: #e8e8e8 !important;
}

body.dark-mode .proc-intro {
    color: #b0b0b0 !important;
}

/* Barre de recherche */
body.dark-mode .proc-search-input {
    background: #16213e !important;
    border-color: #2a2a4a !important;
    color: #e8e8e8 !important;
}

body.dark-mode .proc-search-input:focus {
    border-color: #DD9933 !important;
    background: #16213e !important;
}

body.dark-mode .proc-search-input::placeholder {
    color: #666666 !important;
}

body.dark-mode .proc-search-icon {
    fill: #888888 !important;
}

body.dark-mode .proc-search-results {
    color: #b0b0b0 !important;
}

/* Onglets */
body.dark-mode .proc-tab-btn {
    background: #16213e !important;
    border-color: #2a2a4a !important;
    color: #b0b0b0 !important;
}

body.dark-mode .proc-tab-btn:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .proc-tab-btn.active {
    border-color: var(--tab-color) !important;
    color: var(--tab-color) !important;
}

body.dark-mode .proc-tab-count {
    background: #0f3460 !important;
    color: #888888 !important;
}

body.dark-mode .proc-tab-btn.active .proc-tab-count {
    background: var(--tab-color) !important;
    color: white !important;
}

/* Cartes de procédures → fond bleu foncé + texte lisible */
body.dark-mode .proc-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .proc-card:hover {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .proc-card-title {
    color: #e8e8e8 !important;
}

/* ==================== PAGE LABS TECHNIQUES ==================== */

/* Titre */
body.dark-mode .labs-title {
    color: #e8e8e8 !important;
}

body.dark-mode .labs-description {
    color: #b0b0b0 !important;
}

/* Carte principale */
body.dark-mode .labs-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .labs-card-title {
    color: #e8e8e8 !important;
}

body.dark-mode .labs-card-text {
    color: #b0b0b0 !important;
}

/* Icône */
body.dark-mode .labs-icon {
    background: linear-gradient(135deg, #0f3460 0%, #1a2745 100%) !important;
}

/* Badge */
body.dark-mode .labs-badge {
    background: #0f3460 !important;
    color: #DD9933 !important;
}


body.dark-mode .legal-page,
body.dark-mode .legal-card,
body.dark-mode .mentions-card,
body.dark-mode .politique-card,
body.dark-mode .accessibilite-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .legal-title,
body.dark-mode .mentions-title,
body.dark-mode .politique-title {
    color: #e8e8e8 !important;
}

body.dark-mode .legal-subtitle,
body.dark-mode .mentions-subtitle,
body.dark-mode .politique-subtitle {
    color: #DD9933 !important;
}

body.dark-mode .legal-text,
body.dark-mode .mentions-text,
body.dark-mode .politique-text,
body.dark-mode .legal-content p,
body.dark-mode .legal-content li {
    color: #b0b0b0 !important;
}

body.dark-mode .legal-text strong,
body.dark-mode .mentions-text strong {
    color: #e8e8e8 !important;
}

/* ==================== PAGE LABS ==================== */
body.dark-mode .labs-page,
body.dark-mode .labs-wrapper {
    background: #1a1a2e !important;
}

body.dark-mode .labs-card,
body.dark-mode .lab-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .lab-card:hover,
body.dark-mode .labs-card:hover {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .lab-title,
body.dark-mode .labs-title {
    color: #e8e8e8 !important;
}

body.dark-mode .lab-description,
body.dark-mode .labs-description {
    color: #b0b0b0 !important;
}



/* ==================== PAGES LÉGALES (Mentions, Politique, Accessibilité) ==================== */
body.dark-mode .legal-page {
    background: #1a1a2e !important;
}

body.dark-mode .page-title {
    color: #e8e8e8 !important;
}

body.dark-mode .page-intro {
    color: #b0b0b0 !important;
}

body.dark-mode .legal-card {
    background: #16213e !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .section-number {
    color: white !important;
}

body.dark-mode .section-title {
    color: #e8e8e8 !important;
}

body.dark-mode .legal-content {
    color: #b0b0b0 !important;
}

body.dark-mode .legal-content p,
body.dark-mode .legal-content li {
    color: #b0b0b0 !important;
}

body.dark-mode .legal-content a {
    color: #DD9933 !important;
}

body.dark-mode .info-divider {
    background: #2a2a4a !important;
}

body.dark-mode .info-row {
    color: #b0b0b0 !important;
}

body.dark-mode .info-label {
    color: #e8e8e8 !important;
}

body.dark-mode .info-value {
    color: #b0b0b0 !important;
}

/* Politique — tableau et badges */
body.dark-mode .data-table {
    border-color: #2a2a4a !important;
}

body.dark-mode .data-table th {
    background: #0f3460 !important;
    color: #e8e8e8 !important;
}

body.dark-mode .data-table td {
    background: #16213e !important;
    color: #b0b0b0 !important;
    border-color: #2a2a4a !important;
}

body.dark-mode .info-badge {
    background: #0f3460 !important;
    color: #e8e8e8 !important;
}

body.dark-mode .last-update {
    color: #b0b0b0 !important;
}

/* Accessibilité — fonctionnalités et badges */
body.dark-mode .feature-item {
    background: #0f3460 !important;
}

body.dark-mode .feature-icon {
    background: linear-gradient(135deg, #DD9933 0%, #c4872d 100%) !important;
}

body.dark-mode .feature-text {
    color: #b0b0b0 !important;
}

body.dark-mode .feature-text strong {
    color: #e8e8e8 !important;
}

body.dark-mode .conformity-badge span {
    color: white !important;
}

body.dark-mode .contact-badge {
    background: #0f3460 !important;
}

body.dark-mode .contact-badge-icon {
    background: linear-gradient(135deg, #DD9933 0%, #c4872d 100%) !important;
}

body.dark-mode .contact-badge-text {
    color: #b0b0b0 !important;
}

body.dark-mode .contact-badge-text strong {
    color: #e8e8e8 !important;
}

body.dark-mode .contact-badge-text a {
    color: #DD9933 !important;
}

/* ==================== ÉLÉMENTS GÉNÉRIQUES ==================== */

/* Tous les textes p, span, li en dark mode */
body.dark-mode p,
body.dark-mode span:not(.highlight):not(.accent):not(.suffix):not(.counter):not(.required):not(.step-label):not(.certification-status):not(.option-badge):not(.tag):not(.badge):not(.skill-tag):not(.bloc-skill):not(.ecole-badge):not(.entreprise-badge):not(.certification-vendor):not(.certification-link):not(.synthese-comp-badge):not(.synthese-periode-badge):not(.btn-veille):not(.section-number):not(.info-label):not(.info-value):not(.conformity-badge span) {
    color: #b0b0b0 !important;
}

body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
    color: #e8e8e8 !important;
}

body.dark-mode strong {
    color: #e8e8e8 !important;
}

/* Bouton contact → texte blanc sur fond DD9933 */
body.dark-mode .nav-btn,
body.dark-mode .nav-btn:link,
body.dark-mode .nav-btn:visited,
body.dark-mode .nav-btn:hover {
    color: white !important;
}

body.dark-mode .btn-primary,
body.dark-mode .btn-primary:link,
body.dark-mode .btn-primary:visited {
    color: white !important;
}

/* Liens généraux */
body.dark-mode a:not(.nav-link):not(.nav-btn):not(.header-logo):not(.btn):not(.btn-primary):not(.btn-secondary):not(.btn-cta):not(.hero-social-icon):not(.social-icon):not(.contact-icon):not(.legal-link):not(.certification-card):not(.certification-link):not(.footer-bottom-text a):not(.synthese-nav-link):not(.synthese-pdf-btn):not(.btn-veille):not(.timeline-btn) {
    color: #DD9933 !important;
}

/* Tableaux */
body.dark-mode table {
    border-color: #2a2a4a !important;
}

body.dark-mode th {
    background: #0f3460 !important;
    color: #e8e8e8 !important;
}

body.dark-mode td {
    background: #16213e !important;
    color: #b0b0b0 !important;
    border-color: #2a2a4a !important;
}


/* Sélection de texte */
body.dark-mode ::selection {
    background: #DD9933;
    color: white;
}