/* ============================================
   MODE SOMBRE - CMS JJ-BAZIN
   Palette "Douceur Santé"
   ============================================ */

/* Transition générale pour tous les éléments */
body,
.main-content,
.card,
.navbar-horizontal,
.sidebar,
.footer,
.page-title,
.btn,
.form-control,
.table,
.gallery-item .caption,
.member-card,
.article-card,
.modal-content {
    transition: background-color 0.25s ease,
                color 0.25s ease,
                border-color 0.25s ease,
                box-shadow 0.25s ease;
}

/* ========== CORPS DE PAGE ========== */
body.dark-mode {
    background: #12141c;
    color: #dcdde2;
}

body.dark-mode .main-content {
    background: #12141c;
}

/* ========== SIDEBAR ========== */
body.dark-mode .sidebar {
    background: linear-gradient(180deg, #1b1e2b 0%, #20263d 100%);
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.3);
}

body.dark-mode .sidebar .logo {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .nav-link {
    color: rgba(255, 255, 255, 0.6);
}

body.dark-mode .nav-link:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

body.dark-mode .nav-link.active {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

/* ========== CARDS ========== */
body.dark-mode .card {
    background: #1a1d29;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    border: 1px solid #2a2e3d;
}

body.dark-mode .card:hover {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

body.dark-mode .card-header {
    background: #171a25;
    border-bottom-color: #2a2e3d;
}

body.dark-mode .card-header h3,
body.dark-mode .card-header h5 {
    color: #dcdde2;
}

body.dark-mode .card-body {
    color: #a9abb5;
}

body.dark-mode .card-footer {
    background: #171a25;
    border-top-color: #2a2e3d;
}

/* ========== PAGE TITLE ========== */
body.dark-mode .page-title {
    background: #1a1d29;
    border-bottom-color: #2a2e3d;
}

body.dark-mode .page-title h2 {
    color: #dcdde2;
}

body.dark-mode .breadcrumb-item {
    color: #82848d;
}

body.dark-mode .breadcrumb-item.active {
    color: #a9abb5;
}

/* ========== TEXTES ========== */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
    color: #dcdde2;
}

body.dark-mode .text-muted {
    color: #82848d !important;
}

body.dark-mode .text-primary {
    color: var(--primary-light) !important;
}

/* ========== GALLERY ========== */
body.dark-mode .gallery-item {
    background: #1a1d29;
}

body.dark-mode .gallery-item .caption {
    background: #1a1d29;
}

body.dark-mode .gallery-item .caption h5 {
    color: #dcdde2;
}

body.dark-mode .gallery-item .caption p {
    color: #a9abb5;
}

/* ========== MEMBER CARDS ========== */
body.dark-mode .member-card {
    background: #1a1d29;
    border-color: #2a2e3d;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

body.dark-mode .member-card .member-name {
    color: #dcdde2;
}

body.dark-mode .member-card .member-role {
    color: #a9abb5;
}

/* ========== ARTICLE CARDS ========== */
body.dark-mode .article-card {
    background: #1a1d29;
    border-color: #2a2e3d;
}

body.dark-mode .article-card .card-title {
    color: #dcdde2;
}

body.dark-mode .article-card .card-text {
    color: #a9abb5;
}

/* ========== TABLE ========== */
body.dark-mode .table-custom thead th {
    background: #171a25;
    color: #82848d;
    border-bottom-color: #2a2e3d;
}

body.dark-mode .table-custom tbody td {
    border-bottom-color: #2a2e3d;
    color: #a9abb5;
}

body.dark-mode .table-custom tbody tr:hover {
    background: #171a25;
}

body.dark-mode .table {
    color: #a9abb5;
}

body.dark-mode .table-sm td,
body.dark-mode .table-sm th {
    border-color: #2a2e3d;
}

/* ========== BOUTONS ========== */
body.dark-mode .btn-primary {
    background: var(--primary);
}

body.dark-mode .btn-primary:hover {
    background: #5567cf;
}

body.dark-mode .btn-outline-primary {
    border-color: var(--primary);
    color: var(--primary-light);
}

body.dark-mode .btn-outline-primary:hover {
    background: var(--primary);
    color: white;
}

/* ========== FORMULAIRES ========== */
body.dark-mode .form-control {
    background: #12141c;
    border-color: #2a2e3d;
    color: #dcdde2;
}

body.dark-mode .form-control:focus {
    background: #1a1d29;
    border-color: var(--primary);
    color: #dcdde2;
}

body.dark-mode .form-control::placeholder {
    color: #5f616b;
}

/* ========== INPUT GROUP ========== */
body.dark-mode .input-group-text {
    background: #171a25;
    border-color: #2a2e3d;
    color: #a9abb5;
}

/* ========== LIST GROUP ========== */
body.dark-mode .list-group-item {
    background: #1a1d29;
    border-color: #2a2e3d;
    color: #a9abb5;
}

body.dark-mode .list-group-item:hover {
    background: #171a25;
}

/* ========== PAGINATION ========== */
body.dark-mode .page-link {
    background: #1a1d29;
    border-color: #2a2e3d;
    color: var(--primary-light);
}

body.dark-mode .page-link:hover {
    background: var(--primary);
    color: white;
}

body.dark-mode .page-item.active .page-link {
    background: var(--primary);
    border-color: var(--primary);
}

body.dark-mode .page-item.disabled .page-link {
    background: #12141c;
    color: #5f616b;
}

/* ========== BADGES ========== */
body.dark-mode .badge-soft-primary {
    background: rgba(var(--primary-rgb), 0.2);
    color: var(--primary-light);
}

body.dark-mode .badge-soft-success {
    background: rgba(62, 191, 163, 0.2);
    color: #7DD8C3;
}

body.dark-mode .badge-soft-info {
    background: rgba(79, 179, 217, 0.2);
    color: #8DD0E8;
}

body.dark-mode .badge-soft-warning {
    background: rgba(242, 166, 90, 0.2);
    color: #F6C088;
}

/* ========== SIDEBAR BLOG ========== */
body.dark-mode .sidebar-blog .list-unstyled li a {
    border-bottom-color: #2a2e3d;
    color: #a9abb5;
}

body.dark-mode .sidebar-blog .media:hover {
    background: #171a25;
}

body.dark-mode .sidebar-blog .media h6 {
    color: #dcdde2;
}

/* ========== FOOTER ========== */
body.dark-mode .footer {
    background: #1a1d29;
    border-top-color: #2a2e3d;
    color: #a9abb5;
}

/* ========== HEADER VIDEO ========== */
body.dark-mode .header-video {
    background: linear-gradient(135deg, #1b1e2b 0%, #20263d 100%);
}

/* ========== DROPDOWN ========== */
body.dark-mode .dropdown-menu {
    background: #1a1d29;
    border-color: #2a2e3d;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
}

body.dark-mode .dropdown-item {
    color: #a9abb5;
}

body.dark-mode .dropdown-item:hover {
    background: #171a25;
    color: #dcdde2;
}

body.dark-mode .dropdown-divider {
    border-color: #2a2e3d;
}

/* ========== MODAL ========== */
body.dark-mode .modal-content {
    background: #1a1d29;
}

body.dark-mode .modal-header {
    border-bottom-color: #2a2e3d;
}

body.dark-mode .modal-footer {
    border-top-color: #2a2e3d;
}

/* ========== ALERTES ========== */
body.dark-mode .alert {
    border: none;
}

body.dark-mode .alert-primary {
    background: rgba(var(--primary-rgb), 0.2);
    color: var(--primary-light);
}

body.dark-mode .alert-success {
    background: rgba(62, 191, 163, 0.2);
    color: #7DD8C3;
}

body.dark-mode .alert-info {
    background: rgba(79, 179, 217, 0.2);
    color: #8DD0E8;
}

body.dark-mode .alert-warning {
    background: rgba(242, 166, 90, 0.2);
    color: #F6C088;
}

body.dark-mode .alert-danger {
    background: rgba(232, 103, 126, 0.2);
    color: #F0A0AF;
}

/* ========== BORDER LEFT CARDS ========== */
body.dark-mode .border-left-primary {
    border-left-color: var(--primary) !important;
}

body.dark-mode .border-left-success {
    border-left-color: #3EBFA3 !important;
}

body.dark-mode .border-left-info {
    border-left-color: #4FB3D9 !important;
}

body.dark-mode .border-left-warning {
    border-left-color: #F2A65A !important;
}

/* ========== CARD STATS ========== */
body.dark-mode .card-stats .card-title {
    color: #82848d !important;
}

body.dark-mode .card-stats .h2 {
    color: #dcdde2;
}

/* ========== MEDIA ========== */
body.dark-mode .media-body h6 {
    color: #dcdde2;
}

body.dark-mode .media-body small {
    color: #82848d;
}

/* ========== HR ========== */
body.dark-mode hr {
    border-color: #2a2e3d;
}

/* ========== CODE ========== */
body.dark-mode code {
    background: #171a25;
    color: var(--primary-light);
}

/* ========== PRE ========== */
body.dark-mode pre {
    background: #171a25;
    color: #a9abb5;
    border: 1px solid #2a2e3d;
}

/* ========== SCROLLBAR ========== */
body.dark-mode::-webkit-scrollbar {
    width: 10px;
}

body.dark-mode::-webkit-scrollbar-track {
    background: #12141c;
}

body.dark-mode::-webkit-scrollbar-thumb {
    background: #2a2e3d;
    border-radius: 10px;
}

body.dark-mode::-webkit-scrollbar-thumb:hover {
    background: #3a3f52;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 991.98px) {
    body.dark-mode .sidebar-toggle {
        background: #1a1d29;
        color: #a9abb5;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
    }

    body.dark-mode .sidebar-toggle:hover {
        background: var(--primary);
        color: white;
    }
}