/* ==================== */
/* DARK MODE GLOBAL     */
/* ==================== */
body.dark-mode {
    background: #0f1117;
    color: #e9ecef;

    --card-bg: #1a1a2e;      /* fond des cartes en mode sombre */
    --border: #4a5568;        /* couleur des bordures */
}

/* Navbar */
body.dark-mode .navbar {
    background: #1a1a2e;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
body.dark-mode .nav-link {
    color: #e9ecef;
}
body.dark-mode .nav-link:hover {
    color: var(--primary);
}

/* Sections & Cards */
body.dark-mode .section,
body.dark-mode .card {
    background: #1a1a2e;
    color: #e9ecef; /* texte clair par défaut */
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}
body.dark-mode .card h2,
body.dark-mode .card h3 {
    color: var(--primary); /* titres contrastés */
}
body.dark-mode .card p,
body.dark-mode .card li,
body.dark-mode .card label {
    color: #e9ecef;
}

/* Tagline & sous-titres */
body.dark-mode .tagline,
body.dark-mode .hero-subtitle {
    color: #adb5bd;
}

/* Badges */
body.dark-mode .badge {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: #e9ecef;
}

/* Formulaires */
body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea {
    background: #2a2a3d;
    color: #e9ecef;
    border: 1px solid #444;
}
body.dark-mode input::placeholder {
    color: #aaa;
}

/* Logs & résultats */
body.dark-mode .log-block,
body.dark-mode .results-block,
body.dark-mode .tasks-block {
    background: #2a2a3d;
    color: #e9ecef;
}

/* Charts */
body.dark-mode #chartsContainer {
    background: #1a1a2e;
}
body.dark-mode #chartsContainer canvas {
    background: #1a1a2e;
}

/* CTA Buttons */
body.dark-mode .cta-button {
    background: rgba(255,255,255,0.1);
    color: #e9ecef;
}
body.dark-mode .cta-button:hover {
    background: rgba(255,255,255,0.2);
}

/* Footer */
body.dark-mode .footer {
    background: #121212;
    color: #e9ecef;
}

/* ==================== */
/* TRANSITIONS & UTIL   */
/* ==================== */
.theme-transition * {
    transition: background-color 0.3s ease,
                color 0.3s ease,
                border-color 0.3s ease,
                box-shadow 0.3s ease !important;
}

/* Scrollbar */
body.dark-mode::-webkit-scrollbar {
    width: 10px;
}
body.dark-mode::-webkit-scrollbar-track {
    background: #1a1a2e;
}
body.dark-mode::-webkit-scrollbar-thumb {
    background: #4a5568;
    border-radius: 5px;
}
body.dark-mode::-webkit-scrollbar-thumb:hover {
    background: #5a6578;
}

/* Text selection */
body.dark-mode ::selection {
    background-color: rgba(90, 124, 255, 0.3);
    color: #ffffff;
}
