/* ============================================================
   JangaMarket — Thème sombre (client). Activé via :root[data-theme="dark"].
   Assombrit le contenu tout en gardant l'identité verte de la navbar.
   ============================================================ */
:root[data-theme="dark"] {
    --jm-d-bg: #18191a;
    --jm-d-card: #242526;
    --jm-d-elev: #3a3b3c;
    --jm-d-text: #e4e6eb;
    --jm-d-muted: #b0b3b8;
    --jm-d-border: #3a3b3c;
}

:root[data-theme="dark"] body { background: var(--jm-d-bg); color: var(--jm-d-text); }

/* Cartes & conteneurs */
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .fb-user-card,
:root[data-theme="dark"] .fb-nav,
:root[data-theme="dark"] .fb-post,
:root[data-theme="dark"] .fb-post-card,
:root[data-theme="dark"] .fb-product-card,
:root[data-theme="dark"] .fb-mini-stat,
:root[data-theme="dark"] .fb-composer,
:root[data-theme="dark"] .list-group-item,
:root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .modal-content,
:root[data-theme="dark"] .offcanvas {
    background-color: var(--jm-d-card) !important;
    color: var(--jm-d-text);
    border-color: var(--jm-d-border) !important;
}

:root[data-theme="dark"] .bg-white,
:root[data-theme="dark"] .bg-light { background-color: var(--jm-d-card) !important; color: var(--jm-d-text); }

:root[data-theme="dark"] .text-muted,
:root[data-theme="dark"] .text-secondary { color: var(--jm-d-muted) !important; }
:root[data-theme="dark"] .text-dark { color: var(--jm-d-text) !important; }

:root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3,
:root[data-theme="dark"] h4, :root[data-theme="dark"] h5, :root[data-theme="dark"] h6,
:root[data-theme="dark"] .fb-product-name, :root[data-theme="dark"] .fb-post-author { color: var(--jm-d-text); }

/* Champs de formulaire */
:root[data-theme="dark"] .form-control,
:root[data-theme="dark"] .form-select,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] input:not([type=checkbox]):not([type=radio]),
:root[data-theme="dark"] .navbar-search input {
    background-color: var(--jm-d-elev) !important;
    color: var(--jm-d-text) !important;
    border-color: #4a4b4c !important;
}
:root[data-theme="dark"] .form-control::placeholder,
:root[data-theme="dark"] .navbar-search input::placeholder { color: #8a8d91 !important; }

/* Liens de navigation latérale */
:root[data-theme="dark"] .fb-nav-item { color: var(--jm-d-text); }
:root[data-theme="dark"] .fb-nav-item:hover { background: var(--jm-d-elev); }
:root[data-theme="dark"] .fb-nav-section { color: var(--jm-d-muted); }
:root[data-theme="dark"] .fb-nav-divider { border-color: var(--jm-d-border); }

/* Bordures génériques */
:root[data-theme="dark"] hr,
:root[data-theme="dark"] .border,
:root[data-theme="dark"] .border-top,
:root[data-theme="dark"] .border-bottom { border-color: var(--jm-d-border) !important; }

/* Bouton bascule thème */
.jm-theme-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.jm-theme-toggle i.state { transition: transform 0.3s; }
