/* ==========================================================================
   Modern Newspaper Styling - Daily Chronicle
   ========================================================================== */

:root {
    --bg-main: #f8fafc;
    --bg-theme: #ffffff;
    --color-theme: #0f172a;
    --border-color: #e2e8f0;
    --primary-color: #0284c7;
    --text-muted: #64748b;
    --bg-dark-footer: #0b0f19;
}

[data-theme="dark"] {
    --bg-main: #0b0f17;
    --bg-theme: #151c2c;
    --color-theme: #f8fafc;
    --border-color: #1e293b;
    --primary-color: #38bdf8;
    --text-muted: #cbd5e1;
    --bg-dark-footer: #070a10;
}

body {
    background-color: var(--bg-main);
    color: var(--color-theme);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.bg-theme {
    background-color: var(--bg-theme) !important;
}

.color-theme {
    color: var(--color-theme) !important;
}

.border-bottom, .border-top, .border, .border-start, .border-end {
    border-color: var(--border-color) !important;
}

/* ==========================================================================
   DARK MODE OVERRIDES (Ensures High Contrast & Crisp Readability Everywhere)
   ========================================================================== */
[data-theme="dark"] body {
    background-color: #0b0f17 !important;
    color: #f8fafc !important;
}

/* Base Container & Card Overrides */
[data-theme="dark"] .bg-theme,
[data-theme="dark"] .card,
[data-theme="dark"] .card-body,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .navbar,
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light,
[data-theme="dark"] .category-header {
    background-color: #151c2c !important;
    color: #f8fafc !important;
    border-color: #1e293b !important;
}

/* Border Colors */
[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end {
    border-color: #1e293b !important;
}

/* Top Utility Bar */
[data-theme="dark"] .top-bar {
    background-color: #0b0f17 !important;
    border-color: #1e293b !important;
}

[data-theme="dark"] .top-bar span,
[data-theme="dark"] .top-bar a,
[data-theme="dark"] .top-bar i,
[data-theme="dark"] .top-bar div {
    color: #cbd5e1 !important;
}

[data-theme="dark"] #themeToggleBtn {
    background-color: #1e293b !important;
    border-color: #475569 !important;
    color: #f8fafc !important;
}

[data-theme="dark"] #themeToggleBtn:hover {
    background-color: #334155 !important;
    color: #38bdf8 !important;
}

/* Typography & Text Visibility */
[data-theme="dark"] .text-muted,
[data-theme="dark"] .text-muted *,
[data-theme="dark"] .text-secondary,
[data-theme="dark"] .text-secondary *,
[data-theme="dark"] .small,
[data-theme="dark"] small {
    color: #94a3b8 !important;
}

[data-theme="dark"] .text-dark,
[data-theme="dark"] a.text-dark,
[data-theme="dark"] .color-theme,
[data-theme="dark"] a.color-theme,
[data-theme="dark"] .card-title,
[data-theme="dark"] h1, 
[data-theme="dark"] h2, 
[data-theme="dark"] h3, 
[data-theme="dark"] h4, 
[data-theme="dark"] h5, 
[data-theme="dark"] h6,
[data-theme="dark"] .nav-link,
[data-theme="dark"] .breadcrumb-item,
[data-theme="dark"] .breadcrumb-item.active {
    color: #f8fafc !important;
}

/* User Content & Article Prose Readability in Dark Mode */
[data-theme="dark"] .article-prose,
[data-theme="dark"] .article-prose *,
[data-theme="dark"] .article-body-wrapper,
[data-theme="dark"] .article-body-wrapper *,
[data-theme="dark"] .news-single-article,
[data-theme="dark"] .news-single-article *,
[data-theme="dark"] .article-lead,
[data-theme="dark"] .article-lead *,
[data-theme="dark"] .card-text,
[data-theme="dark"] .card-text *,
[data-theme="dark"] main p,
[data-theme="dark"] main span,
[data-theme="dark"] main div,
[data-theme="dark"] main li,
[data-theme="dark"] main td,
[data-theme="dark"] main th,
[data-theme="dark"] main strong,
[data-theme="dark"] main em,
[data-theme="dark"] main b,
[data-theme="dark"] main i {
    color: #f1f5f9 !important;
}

/* Strip inline black colors & white backgrounds from pasted Quill content */
[data-theme="dark"] .article-prose [style*="background"],
[data-theme="dark"] .article-prose [style*="color"],
[data-theme="dark"] .article-body-wrapper [style*="background"],
[data-theme="dark"] .article-body-wrapper [style*="color"],
[data-theme="dark"] main [style*="color"],
[data-theme="dark"] main [style*="background"] {
    color: #f1f5f9 !important;
    background-color: transparent !important;
}

/* Content Links in Dark Mode */
[data-theme="dark"] .article-prose a,
[data-theme="dark"] .article-prose a *,
[data-theme="dark"] main a:not(.btn):not(.badge) {
    color: #38bdf8 !important;
}

[data-theme="dark"] .nav-link:hover,
[data-theme="dark"] a.color-theme:hover {
    color: #38bdf8 !important;
}

/* Sidebar Widgets & Headers */
[data-theme="dark"] .card-header {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

[data-theme="dark"] .sticky-sidebar a {
    color: #f8fafc !important;
}

[data-theme="dark"] .sticky-sidebar a:hover h6 {
    color: #38bdf8 !important;
}

/* Alert Boxes in Dark Mode (Fixes Category empty alert, notifications, comments) */
[data-theme="dark"] .alert {
    border-radius: 8px !important;
}

[data-theme="dark"] .alert-info {
    background-color: #0c2d48 !important;
    border-color: #1d4ed8 !important;
    color: #e0f2fe !important;
}
[data-theme="dark"] .alert-info *,
[data-theme="dark"] .alert-info h1,
[data-theme="dark"] .alert-info h2,
[data-theme="dark"] .alert-info h3,
[data-theme="dark"] .alert-info h4,
[data-theme="dark"] .alert-info h5,
[data-theme="dark"] .alert-info h6,
[data-theme="dark"] .alert-info p,
[data-theme="dark"] .alert-info i {
    color: #e0f2fe !important;
}

[data-theme="dark"] .alert-warning {
    background-color: #451a03 !important;
    border-color: #b45309 !important;
    color: #fef08a !important;
}
[data-theme="dark"] .alert-warning * {
    color: #fef08a !important;
}

[data-theme="dark"] .alert-success {
    background-color: #064e3b !important;
    border-color: #047857 !important;
    color: #d1fae5 !important;
}
[data-theme="dark"] .alert-success * {
    color: #d1fae5 !important;
}

[data-theme="dark"] .alert-danger {
    background-color: #4c0519 !important;
    border-color: #be123c !important;
    color: #ffe4e6 !important;
}
[data-theme="dark"] .alert-danger * {
    color: #ffe4e6 !important;
}

[data-theme="dark"] .alert-primary {
    background-color: #1e3a8a !important;
    border-color: #2563eb !important;
    color: #dbeafe !important;
}
[data-theme="dark"] .alert-primary * {
    color: #dbeafe !important;
}

[data-theme="dark"] .alert-secondary {
    background-color: #1f2937 !important;
    border-color: #4b5563 !important;
    color: #f3f4f6 !important;
}
[data-theme="dark"] .alert-secondary * {
    color: #f3f4f6 !important;
}

/* Form Controls & Inputs */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] textarea {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: #94a3b8 !important;
}

/* Modal Search Overlay */
[data-theme="dark"] .modal-content {
    background-color: #151c2c !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
    border-color: #1e293b !important;
}

[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%) !important;
}

/* Badges & Pills */
[data-theme="dark"] .badge.bg-secondary {
    background-color: #334155 !important;
    color: #f8fafc !important;
}

[data-theme="dark"] .badge.bg-light {
    background-color: #1e293b !important;
    color: #f8fafc !important;
}

/* Logo Contrast Inversion for Dark Mode */
[data-theme="dark"] .portal-brand-logo {
    filter: brightness(0) invert(1) !important;
}

/* Typography & Headlines */
.brand-logo-link {
    display: inline-block;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.brand-logo-link:hover {
    transform: scale(1.015);
    opacity: 0.95;
}

.portal-brand-logo {
    max-height: 110px !important;
    max-width: 550px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: inline-block !important;
}

.portal-brand-logo-dark {
    display: none;
}

[data-theme="dark"] .portal-brand-logo-light {
    display: none !important;
}

[data-theme="dark"] .portal-brand-logo-dark {
    display: inline-block !important;
}

.footer-brand-logo {
    max-height: 42px !important;
    max-width: 220px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    transition: opacity 0.2s ease;
}

.footer-logo-link:hover .footer-brand-logo {
    opacity: 0.85;
}

@media (max-width: 768px) {
    .portal-brand-logo {
        max-height: 70px !important;
        max-width: 320px !important;
    }
    .footer-brand-logo {
        max-height: 36px !important;
        max-width: 180px !important;
    }
}

.portal-brand-title {
    font-family: 'Cinzel', serif;
    font-weight: 700;
    font-size: 2.75rem;
    letter-spacing: 2px;
}

.portal-brand-tagline {
    font-size: 0.75rem;
    letter-spacing: 3px;
}

.article-headline {
    font-family: 'Merriweather', serif;
    line-height: 1.3;
}

.article-prose {
    font-family: 'Merriweather', serif;
    font-size: 1.125rem;
    line-height: 1.8;
}

.article-prose p {
    margin-bottom: 1.5rem;
}

/* Breaking Ticker */
.breaking-ticker {
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.ticker-list {
    animation: tickerSlide 20s linear infinite;
}

@keyframes tickerSlide {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Main Navigation & Mega Menu */
.main-navigation {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.main-navigation .nav-link {
    font-size: 0.85rem;
    letter-spacing: 1px;
    padding: 0.75rem 1rem !important;
    transition: color 0.2s ease;
}

.main-navigation .nav-link:hover {
    color: var(--primary-color) !important;
}

/* Hero Cards */
.hero-overlay {
    background: linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(0,0,0,0.85) 100%);
}

.hero-title a:hover {
    color: #38bdf8 !important;
}

/* Line Clamp Utilities */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Sticky Share Bar */
.sticky-share-sidebar {
    position: sticky;
    top: 100px;
    z-index: 10;
}

/* Ad Placement Box Styling */
.ad-placeholder-box {
    background: #e2e8f0;
    border: 1px dashed #cbd5e1;
    color: #64748b;
    padding: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 1px;
    border-radius: 6px;
    display: inline-block;
    width: 100%;
    max-width: 728px;
}

.ad-placeholder-box.square {
    max-width: 300px;
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

/* Utility Helpers */
.fs-7 { font-size: 0.85rem; }
.fs-8 { font-size: 0.75rem; }
