/* ============================================
   NOVA THEME - Dark Mode Overrides
   ============================================ */

/* ─── Dark Mode Variables ───────────────────── */
.dark-mode {
    --dm-bg-primary: #1a1a2e;
    --dm-bg-secondary: #16213e;
    --dm-bg-tertiary: #0f3460;
    --dm-bg-card: #1e2a4a;
    --dm-bg-elevated: #243355;
    --dm-bg-input: #1e2a4a;

    --dm-text-primary: #e0e0e0;
    --dm-text-secondary: #b0b0b0;
    --dm-text-muted: #808080;
    --dm-text-heading: #f0f0f0;
    --dm-text-link: #64b5f6;

    --dm-border: #2a3a5c;
    --dm-border-light: #243355;

    --dm-accent: #e74c3c;
    --dm-primary: #4a90d9;
    --dm-primary-light: #5da8e8;

    --dm-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

/* ─── Body & Base ───────────────────────────── */
.dark-mode body {
    background-color: var(--dm-bg-primary);
    color: var(--dm-text-primary);
}

.dark-mode a {
    color: var(--dm-text-link);
}

.dark-mode a:hover {
    color: var(--dm-primary-light);
}

/* ─── Typography ────────────────────────────── */
.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6 {
    color: var(--dm-text-heading);
}

.dark-mode .section-title {
    color: var(--dm-text-heading);
}

.dark-mode .section-more-link {
    color: var(--dm-text-link);
}

/* ─── Top Bar ───────────────────────────────── */
.dark-mode .nova-topbar {
    background-color: #0d1117;
    border-bottom-color: var(--dm-border);
}

/* ─── Header ────────────────────────────────── */
.dark-mode .nova-header {
    background-color: var(--dm-bg-secondary);
    border-bottom-color: var(--dm-border);
}

.dark-mode .nova-header.scrolled {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.dark-mode .nova-logo-tagline {
    color: var(--dm-text-muted);
}

.dark-mode .nova-search-form .nova-search-input {
    background-color: var(--dm-bg-input);
    border-color: var(--dm-border);
    color: var(--dm-text-primary);
}

.dark-mode .nova-search-form .nova-search-input::placeholder {
    color: var(--dm-text-muted);
}

.dark-mode .nova-search-form .nova-search-input:focus {
    border-color: var(--dm-primary);
}

.dark-mode .nova-dark-toggle {
    border-color: var(--dm-border);
    color: var(--dm-text-secondary);
}

.dark-mode .nova-dark-toggle:hover {
    border-color: var(--dm-primary);
    color: #ffd700;
}

.dark-mode .nova-mobile-search-toggle {
    color: var(--dm-text-secondary);
}

.dark-mode .hamburger-line {
    background-color: var(--dm-text-primary);
}

/* ─── Navbar ────────────────────────────────── */
.dark-mode .nova-navbar {
    background-color: #0f1a2e;
}

.dark-mode .nova-dropdown {
    background-color: var(--dm-bg-card);
    box-shadow: var(--dm-shadow);
}

.dark-mode .nova-dropdown-link {
    color: var(--dm-text-primary);
}

.dark-mode .nova-dropdown-link:hover {
    background-color: var(--dm-bg-tertiary);
    color: var(--dm-text-link);
}

/* ─── Cards ─────────────────────────────────── */
.dark-mode .nova-card {
    background-color: var(--dm-bg-card);
    border-color: var(--dm-border-light);
}

.dark-mode .nova-card:hover {
    box-shadow: var(--dm-shadow);
}

.dark-mode .card-title a {
    color: var(--dm-text-heading);
}

.dark-mode .card-title a:hover {
    color: var(--dm-text-link);
}

.dark-mode .card-excerpt {
    color: var(--dm-text-secondary);
}

.dark-mode .card-meta {
    color: var(--dm-text-muted);
}

.dark-mode .card-category {
    color: var(--dm-accent);
}

/* ─── Headlines ─────────────────────────────── */
.dark-mode .headline-card {
    background-color: var(--dm-bg-card);
}

/* ─── Five Headlines ────────────────────────── */
.dark-mode .nova-five-headlines {
    background-color: var(--dm-bg-primary);
}

/* ─── Category Tabs ─────────────────────────── */
.dark-mode .nova-category-tabs {
    background-color: var(--dm-bg-primary);
}

.dark-mode .nova-tab-btn {
    background-color: var(--dm-bg-card);
    color: var(--dm-text-secondary);
    border-color: transparent;
}

.dark-mode .nova-tab-btn:hover {
    background-color: var(--dm-bg-tertiary);
}

/* ─── Authors Strip ─────────────────────────── */
.dark-mode .nova-authors-strip {
    background-color: var(--dm-bg-secondary);
}

.dark-mode .author-card {
    background-color: var(--dm-bg-card);
}

.dark-mode .author-card:hover {
    box-shadow: var(--dm-shadow);
}

.dark-mode .author-name {
    color: var(--dm-text-heading);
}

.dark-mode .author-latest-column {
    color: var(--dm-primary-light);
}

.dark-mode .author-role {
    color: var(--dm-text-muted);
}

.dark-mode .author-avatar-wrap {
    border-color: var(--dm-primary);
}

.dark-mode .authors-scroll-btn {
    background-color: var(--dm-bg-card);
    border-color: var(--dm-border);
    color: var(--dm-text-primary);
}

.dark-mode .authors-scroll-btn:hover {
    background-color: var(--dm-primary);
    color: #fff;
}

/* ─── Sidebar ───────────────────────────────── */
.dark-mode .sidebar-widget {
    background-color: var(--dm-bg-card);
    border-color: var(--dm-border-light);
}

.dark-mode .widget-header {
    background-color: var(--dm-bg-secondary);
    border-bottom-color: var(--dm-border);
}

.dark-mode .widget-title {
    color: var(--dm-text-heading);
}

.dark-mode .most-read-title {
    color: var(--dm-text-primary);
}

.dark-mode .most-read-title:hover {
    color: var(--dm-text-link);
}

.dark-mode .most-read-item {
    border-bottom-color: var(--dm-border-light);
}

.dark-mode .most-read-link {
    color: var(--dm-text-primary);
}

.dark-mode .most-read-link:hover {
    color: var(--dm-text-link);
}

.dark-mode .most-read-numbered-item {
    border-bottom-color: var(--dm-border-light);
}

/* Weather sidebar override */
.dark-mode .sidebar-weather .widget-body {
    background: linear-gradient(135deg, #0f3460 0%, #16213e 100%);
}

/* Poll */
.dark-mode .poll-question {
    color: var(--dm-text-heading);
}

.dark-mode .form-check-label {
    color: var(--dm-text-primary);
}

/* Ad slot */
.dark-mode .ad-slot .ad-content {
    background: var(--dm-bg-secondary) !important;
}

.dark-mode .ad-label {
    color: var(--dm-text-muted);
}

/* Standings */
.dark-mode .standings-league {
    color: var(--dm-text-link);
}

.dark-mode .standings-table {
    color: var(--dm-text-primary);
}

.dark-mode .standings-table th {
    color: var(--dm-text-muted);
    border-bottom-color: var(--dm-border);
}

.dark-mode .standings-table td {
    border-bottom-color: var(--dm-border-light);
}

.dark-mode .table-active {
    --bs-table-bg: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-heading) !important;
}

.dark-mode .standings-link {
    color: var(--dm-text-link);
}

/* ─── Stock Ticker ──────────────────────────── */
.dark-mode .nova-stock-ticker {
    background-color: var(--dm-bg-card);
    border-color: var(--dm-border-light);
}

.dark-mode .stock-ticker-header {
    background-color: var(--dm-bg-secondary);
    border-bottom-color: var(--dm-border);
}

.dark-mode .stock-ticker-title {
    color: var(--dm-text-heading);
}

.dark-mode .stock-symbol {
    color: var(--dm-text-heading);
}

.dark-mode .stock-price {
    color: var(--dm-text-secondary);
}

.dark-mode .stock-more-link {
    color: var(--dm-text-link);
}

/* ─── Gallery & Video ───────────────────────── */
.dark-mode .gallery-swiper .swiper-button-prev,
.dark-mode .gallery-swiper .swiper-button-next,
.dark-mode .video-swiper .swiper-button-prev,
.dark-mode .video-swiper .swiper-button-next {
    background-color: var(--dm-bg-card);
    color: var(--dm-text-primary);
}

/* ─── Article Detail ────────────────────────── */
.dark-mode .nova-breadcrumb .breadcrumb-item a {
    color: var(--dm-text-muted);
}

.dark-mode .nova-breadcrumb .breadcrumb-item.active {
    color: var(--dm-text-secondary);
}

.dark-mode .breadcrumb-item + .breadcrumb-item::before {
    color: var(--dm-text-muted);
}

.dark-mode .article-title {
    color: var(--dm-text-heading);
}

.dark-mode .article-subtitle {
    color: var(--dm-text-secondary);
}

.dark-mode .article-meta {
    color: var(--dm-text-muted);
}

.dark-mode .author-name-link {
    color: var(--dm-text-link);
}

.dark-mode .share-label {
    color: var(--dm-text-secondary);
}

.dark-mode .article-image-caption {
    color: var(--dm-text-muted);
}

.dark-mode .article-body {
    color: var(--dm-text-primary);
}

.dark-mode .article-body a {
    color: var(--dm-text-link);
}

.dark-mode .article-body blockquote {
    background-color: var(--dm-bg-secondary);
    border-left-color: var(--dm-primary);
    color: var(--dm-text-secondary);
}

/* Tags */
.dark-mode .article-tag {
    background-color: var(--dm-bg-secondary);
    color: var(--dm-text-secondary);
    border-color: var(--dm-border);
}

.dark-mode .article-tag:hover {
    background-color: var(--dm-primary);
    color: #fff;
    border-color: var(--dm-primary);
}

.dark-mode .tags-label {
    color: var(--dm-text-secondary);
}

/* Author Box */
.dark-mode .article-author-box {
    background-color: var(--dm-bg-secondary);
    border-color: var(--dm-border-light);
}

.dark-mode .author-box-name a {
    color: var(--dm-text-heading);
}

.dark-mode .author-box-name a:hover {
    color: var(--dm-text-link);
}

.dark-mode .author-box-role {
    color: var(--dm-primary-light);
}

.dark-mode .author-box-bio {
    color: var(--dm-text-secondary);
}

.dark-mode .author-box-social a {
    color: var(--dm-text-muted);
}

.dark-mode .author-box-social a:hover {
    color: var(--dm-text-link);
}

/* Share bottom */
.dark-mode .article-share-bottom {
    border-color: var(--dm-border) !important;
}

.dark-mode .article-share-bottom .share-label {
    color: var(--dm-text-secondary);
}

/* Comments */
.dark-mode .comment-item {
    border-bottom-color: var(--dm-border-light);
}

.dark-mode .comment-author {
    color: var(--dm-text-heading);
}

.dark-mode .comment-date {
    color: var(--dm-text-muted);
}

.dark-mode .comment-text {
    color: var(--dm-text-secondary);
}

.dark-mode .comment-login-prompt {
    background-color: var(--dm-bg-secondary) !important;
}

.dark-mode .comment-login-prompt p {
    color: var(--dm-text-secondary);
}

.dark-mode .comment-form .form-control {
    background-color: var(--dm-bg-input);
    border-color: var(--dm-border);
    color: var(--dm-text-primary);
}

.dark-mode .comment-form .form-control::placeholder {
    color: var(--dm-text-muted);
}

/* ─── Search ────────────────────────────────── */
.dark-mode .search-page-title {
    color: var(--dm-text-heading);
}

.dark-mode .nova-search-input-lg {
    background-color: var(--dm-bg-input);
    border-color: var(--dm-border);
    color: var(--dm-text-primary);
}

.dark-mode .nova-search-input-lg::placeholder {
    color: var(--dm-text-muted);
}

.dark-mode .nova-search-input-lg:focus {
    border-color: var(--dm-primary);
}

.dark-mode .search-results-summary {
    color: var(--dm-text-secondary);
}

.dark-mode .sort-option {
    color: var(--dm-text-muted);
}

.dark-mode .sort-option.active,
.dark-mode .sort-option:hover {
    background-color: var(--dm-primary);
    color: #fff;
}

.dark-mode .search-result-item {
    border-bottom-color: var(--dm-border-light);
}

.dark-mode .search-result-title a {
    color: var(--dm-text-heading);
}

.dark-mode .search-result-title a:hover {
    color: var(--dm-text-link);
}

.dark-mode .search-result-excerpt {
    color: var(--dm-text-secondary);
}

.dark-mode .search-result-meta {
    color: var(--dm-text-muted);
}

/* ─── Category Page ─────────────────────────── */
.dark-mode .category-page-title {
    color: var(--dm-text-heading);
}

.dark-mode .category-page-description {
    color: var(--dm-text-secondary);
}

/* ─── Pagination ────────────────────────────── */
.dark-mode .nova-pagination .page-link {
    background-color: var(--dm-bg-card);
    border-color: var(--dm-border);
    color: var(--dm-text-link);
}

.dark-mode .nova-pagination .page-link:hover {
    background-color: var(--dm-primary);
    border-color: var(--dm-primary);
    color: #fff;
}

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

.dark-mode .nova-pagination .page-item.disabled .page-link {
    background-color: var(--dm-bg-secondary);
    color: var(--dm-text-muted);
}

/* ─── Error Pages ───────────────────────────── */
.dark-mode .error-code {
    color: var(--dm-primary);
}

.dark-mode .error-title {
    color: var(--dm-text-heading);
}

.dark-mode .error-message {
    color: var(--dm-text-secondary);
}

/* ─── Footer ────────────────────────────────── */
.dark-mode .nova-footer-main {
    background-color: #0d1117;
}

.dark-mode .nova-footer-bottom {
    background-color: #070b10;
}

/* ─── Form Elements ─────────────────────────── */
.dark-mode .form-control {
    background-color: var(--dm-bg-input);
    border-color: var(--dm-border);
    color: var(--dm-text-primary);
}

.dark-mode .form-control::placeholder {
    color: var(--dm-text-muted);
}

.dark-mode .form-control:focus {
    background-color: var(--dm-bg-elevated);
    border-color: var(--dm-primary);
    color: var(--dm-text-primary);
    box-shadow: 0 0 0 0.25rem rgba(74, 144, 217, 0.15);
}

.dark-mode .form-check-input {
    background-color: var(--dm-bg-input);
    border-color: var(--dm-border);
}

.dark-mode .form-check-input:checked {
    background-color: var(--dm-primary);
    border-color: var(--dm-primary);
}

/* ─── Buttons ───────────────────────────────── */
.dark-mode .btn-outline-nova {
    color: var(--dm-text-link);
    border-color: var(--dm-primary);
}

.dark-mode .btn-outline-nova:hover {
    background-color: var(--dm-primary);
    color: #fff;
}

.dark-mode .btn-outline-secondary {
    color: var(--dm-text-secondary);
    border-color: var(--dm-border);
}

.dark-mode .btn-outline-secondary:hover {
    background-color: var(--dm-bg-tertiary);
    color: var(--dm-text-primary);
    border-color: var(--dm-border);
}

/* ─── Scroll to Top ─────────────────────────── */
.dark-mode .scroll-to-top {
    background-color: var(--dm-primary);
    box-shadow: var(--dm-shadow);
}

.dark-mode .scroll-to-top:hover {
    background-color: var(--dm-accent);
}

/* ─── Mobile Menu ───────────────────────────── */
.dark-mode .nova-mobile-menu {
    background-color: var(--dm-bg-secondary);
}

.dark-mode .mobile-menu-header {
    background-color: var(--dm-bg-tertiary);
    border-bottom-color: var(--dm-border);
}

.dark-mode .mobile-nav-item {
    border-bottom-color: var(--dm-border-light);
}

.dark-mode .mobile-nav-link {
    color: var(--dm-text-primary);
}

.dark-mode .mobile-nav-link:hover {
    color: var(--dm-text-link);
}

.dark-mode .mobile-submenu-toggle {
    color: var(--dm-text-muted);
}

.dark-mode .mobile-submenu li a {
    color: var(--dm-text-secondary);
}

.dark-mode .mobile-submenu li a:hover {
    color: var(--dm-text-link);
}

.dark-mode .mobile-menu-social a {
    color: var(--dm-text-muted);
}

.dark-mode .mobile-menu-social a:hover {
    color: var(--dm-text-link);
}

/* ─── Bootstrap Overrides ───────────────────── */
.dark-mode .bg-light {
    background-color: var(--dm-bg-secondary) !important;
}

.dark-mode .text-muted {
    color: var(--dm-text-muted) !important;
}

.dark-mode .border-top,
.dark-mode .border-bottom {
    border-color: var(--dm-border) !important;
}

.dark-mode .table {
    color: var(--dm-text-primary);
    border-color: var(--dm-border-light);
}

.dark-mode .table th,
.dark-mode .table td {
    border-bottom-color: var(--dm-border-light);
}

/* ─── Misc ──────────────────────────────────── */
.dark-mode .no-articles-message i,
.dark-mode .search-no-results i,
.dark-mode .search-empty i {
    color: var(--dm-text-muted) !important;
}

.dark-mode .no-articles-message h3,
.dark-mode .search-no-results h3,
.dark-mode .search-empty h3 {
    color: var(--dm-text-heading);
}

.dark-mode .no-articles-message p,
.dark-mode .search-no-results p,
.dark-mode .search-empty p {
    color: var(--dm-text-secondary) !important;
}

.dark-mode .search-suggestions li {
    color: var(--dm-text-secondary);
}

/* Weather block dark adjustments */
.dark-mode .nova-weather-block {
    background: linear-gradient(135deg, #0f3460 0%, #16213e 100%);
}

/* Selection color */
.dark-mode ::selection {
    background-color: var(--dm-primary);
    color: #fff;
}

/* Scrollbar */
.dark-mode ::-webkit-scrollbar {
    width: 8px;
}

.dark-mode ::-webkit-scrollbar-track {
    background: var(--dm-bg-primary);
}

.dark-mode ::-webkit-scrollbar-thumb {
    background: var(--dm-border);
    border-radius: 4px;
}

.dark-mode ::-webkit-scrollbar-thumb:hover {
    background: var(--dm-text-muted);
}
