/* ==========================================================
   CaspianWatch v2 – Dark Mode Overrides
   Rules apply when body.dark-mode (set by JS/cookie) or
   prefers-color-scheme:dark (no-JS fallback).
   ========================================================== */

/* ---- Fallback: system dark preference ------------------- */
@media (prefers-color-scheme: dark) {
    body:not(.light-mode) {
        --cw-bg:            #0d1220;
        --cw-bg-secondary:  #151e30;
        --cw-text:          #d4d8e2;
        --cw-text-muted:    #7a8199;
        --cw-heading:       #e8ecf4;
        --cw-link:          #7da3e0;
        --cw-link-hover:    #dba94a;
        --cw-border:        #252d42;
        --cw-shadow-sm:     0 1px 3px rgba(0,0,0,0.4);
        --cw-shadow-md:     0 4px 12px rgba(0,0,0,0.5);
        --cw-shadow-lg:     0 10px 30px rgba(0,0,0,0.6);
    }
}

/* ---- Explicit dark mode class --------------------------- */
body.dark-mode {
    background-color: var(--cw-bg);
    color: var(--cw-text);
}

/* Header */
body.dark-mode .site-header {
    background-color: #0e1525;
    border-bottom-color: var(--cw-border);
}

/* Navigation */
body.dark-mode .primary-nav ul li a {
    color: var(--cw-text);
}
body.dark-mode .primary-nav ul li a:hover,
body.dark-mode .primary-nav ul li.current-menu-item > a {
    color: var(--cw-white);
    background-color: rgba(255,255,255,0.08);
}
body.dark-mode .primary-nav ul li ul {
    background-color: #151e30;
    border-color: var(--cw-border);
}

/* Mobile drawer */
body.dark-mode .mobile-nav-drawer {
    background-color: #0e1525;
    border-top-color: var(--cw-border);
}
body.dark-mode .mobile-nav-drawer ul li a {
    border-bottom-color: var(--cw-border);
    color: var(--cw-text);
}

/* Buttons */
body.dark-mode .search-toggle,
body.dark-mode .dark-mode-toggle,
body.dark-mode .mobile-menu-toggle {
    border-color: var(--cw-border);
    color: var(--cw-text);
}
body.dark-mode .search-toggle:hover,
body.dark-mode .dark-mode-toggle:hover,
body.dark-mode .mobile-menu-toggle:hover {
    background-color: rgba(255,255,255,0.08);
    color: var(--cw-white);
}

/* Cards */
body.dark-mode .cw-post-card,
body.dark-mode .cw-prisoner-card {
    background-color: #151e30;
    border-color: var(--cw-border);
}
body.dark-mode .cw-post-card:hover,
body.dark-mode .cw-prisoner-card:hover {
    border-color: var(--cw-gold);
    box-shadow: 0 4px 16px rgba(200,148,46,0.15);
}
body.dark-mode .cw-post-card .card-meta {
    border-top-color: var(--cw-border);
}

/* Alerts */
body.dark-mode .cw-alert-info    { background-color: rgba(52,152,219,0.15); color: #7fbce8; }
body.dark-mode .cw-alert-success { background-color: rgba(46,204,113,0.15); color: #6dcf95; }
body.dark-mode .cw-alert-warning { background-color: rgba(243,156,18,0.15); color: #f0b548; }
body.dark-mode .cw-alert-error   { background-color: rgba(231,76,60,0.15);  color: #e8786a; }

/* Search overlay */
body.dark-mode .search-overlay-inner {
    background-color: #151e30;
}
body.dark-mode .search-overlay input[type="search"] {
    background-color: #0e1525;
    border-color: var(--cw-border);
    color: var(--cw-text);
}
body.dark-mode .search-overlay input[type="search"]:focus {
    border-color: var(--cw-gold);
}

/* Sidebar widgets */
body.dark-mode .widget {
    background-color: #151e30;
    border-color: var(--cw-border);
}

/* Entry content */
body.dark-mode .cw-entry-content blockquote {
    background-color: #151e30;
    color: var(--cw-text-muted);
}
body.dark-mode .cw-entry-content a {
    color: var(--cw-link);
    text-decoration-color: var(--cw-gold);
}
body.dark-mode .cw-entry-content a:hover {
    color: var(--cw-gold-light);
}

/* Forms */
body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select {
    background-color: #0e1525;
    border-color: var(--cw-border);
    color: var(--cw-text);
}
body.dark-mode input:focus,
body.dark-mode textarea:focus,
body.dark-mode select:focus {
    border-color: var(--cw-gold);
    outline: none;
}

/* Pagination */
body.dark-mode .cw-pagination a,
body.dark-mode .cw-pagination span {
    background-color: #151e30;
    border-color: var(--cw-border);
    color: var(--cw-text);
}
body.dark-mode .cw-pagination a:hover,
body.dark-mode .cw-pagination span.current {
    background-color: var(--cw-navy-light);
    border-color: var(--cw-navy-light);
    color: var(--cw-white);
}

/* Dark mode toggle icon state */
body.dark-mode .icon-sun    { display: block; }
body.dark-mode .icon-moon   { display: none;  }
body:not(.dark-mode) .icon-sun  { display: none;  }
body:not(.dark-mode) .icon-moon { display: block; }

/* Newsletter dark */
body.dark-mode .cw-newsletter-form {
    background-color: #1a2540;
}

/* Leaflet map dark tweaks */
body.dark-mode .leaflet-popup-content-wrapper {
    background-color: #151e30;
    color: var(--cw-text);
    border: 1px solid var(--cw-border);
}
body.dark-mode .leaflet-popup-tip {
    background-color: #151e30;
}

/* Elementor dark compatibility */
body.dark-mode .elementor-widget-container {
    color: var(--cw-text);
}
body.dark-mode .e-con,
body.dark-mode .elementor-section {
    background-color: transparent;
}

/* Utility */
body.dark-mode .cw-card {
    background-color: #151e30;
    border-color: var(--cw-border);
}
body.dark-mode hr,
body.dark-mode .cw-divider {
    border-color: var(--cw-border);
}

/* Table */
body.dark-mode table {
    border-color: var(--cw-border);
}
body.dark-mode th {
    background-color: rgba(255,255,255,0.05);
    color: var(--cw-heading);
}
body.dark-mode td {
    border-color: var(--cw-border);
}
body.dark-mode tr:nth-child(even) td {
    background-color: rgba(255,255,255,0.02);
}

/* Code blocks */
body.dark-mode code,
body.dark-mode pre {
    background-color: #0e1525;
    color: #a8d8a8;
    border-color: var(--cw-border);
}
