/* ============================================================
   FinancePress Dark Mode
   Triggered by: prefers-color-scheme media query OR body.fp-dark-mode class
   ============================================================ */

@media (prefers-color-scheme: dark) {
    :root {
        --fp-bg:             #080F1C;
        --fp-bg-card:        #0F1E33;
        --fp-bg-subtle:      #0B1625;
        --fp-bg-dark:        #040C18;
        --fp-border:         #1E3050;
        --fp-border-dark:    #0D1F38;

        --fp-text-primary:   #F1F5F9;
        --fp-text-secondary: #94A3B8;
        --fp-text-muted:     #475569;
        --fp-text-inverse:   #0B1D35;

        --fp-bull:           #34D399;
        --fp-bull-bg:        #064E3B;
        --fp-bear:           #F87171;
        --fp-bear-bg:        #7F1D1D;

        --fp-shadow-xs:   0 1px 2px rgba(0,0,0,0.3);
        --fp-shadow-sm:   0 1px 4px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.3);
        --fp-shadow-md:   0 4px 12px rgba(0,0,0,0.5), 0 2px 4px rgba(0,0,0,0.3);
        --fp-shadow-lg:   0 8px 32px rgba(0,0,0,0.6), 0 2px 8px rgba(0,0,0,0.4);
    }
}

/* Manual dark mode class (JS toggle) */
body.fp-dark-mode {
    --fp-bg:             #080F1C;
    --fp-bg-card:        #0F1E33;
    --fp-bg-subtle:      #0B1625;
    --fp-bg-dark:        #040C18;
    --fp-border:         #1E3050;
    --fp-border-dark:    #0D1F38;
    --fp-text-primary:   #F1F5F9;
    --fp-text-secondary: #94A3B8;
    --fp-text-muted:     #475569;
    --fp-text-inverse:   #0B1D35;
    --fp-bull:           #34D399;
    --fp-bull-bg:        #064E3B;
    --fp-bear:           #F87171;
    --fp-bear-bg:        #7F1D1D;
    --fp-shadow-xs:   0 1px 2px rgba(0,0,0,0.3);
    --fp-shadow-sm:   0 1px 4px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.3);
    --fp-shadow-md:   0 4px 12px rgba(0,0,0,0.5), 0 2px 4px rgba(0,0,0,0.3);
    --fp-shadow-lg:   0 8px 32px rgba(0,0,0,0.6), 0 2px 8px rgba(0,0,0,0.4);
}

/* Dark-mode-specific component overrides */
@media (prefers-color-scheme: dark), body.fp-dark-mode {
    .fp-logo-text                { color: var(--fp-gold); }
    .fp-nav__link:hover,
    .current-menu-item > .fp-nav__link { background: rgba(255,255,255,0.06); }
    .fp-header                   { background: var(--fp-bg-card); border-color: var(--fp-border); }
    .fp-paywall-fade             { background: linear-gradient(to bottom, transparent, var(--fp-bg)); }
    .fp-toc                      { background: var(--fp-bg-card); }
    .fp-key-takeaways            { background: rgba(200,168,75,0.05); border-color: rgba(200,168,75,0.2); }
    .fp-article__content code    { background: var(--fp-bg-subtle); border-color: var(--fp-border); color: var(--fp-gold); }
    .fp-author-bio               { background: var(--fp-bg-card); }
    .fp-search-overlay           { background: rgba(4,12,24,0.97); }
    .fp-mobile-nav               { background: var(--fp-bg-card); }
    .fp-data-table th            { background: var(--fp-navy-mid, #132847); }
    .fp-ad-unit--placeholder     { background: var(--fp-bg-card); border-color: var(--fp-border); }
    .fp-widget--newsletter       { background: linear-gradient(135deg, var(--fp-navy) 0%, #0d2240 100%); }
    .fp-newsletter-section       { background: var(--fp-bg-card); }
    .tradingview-widget-container { filter: invert(0.05) hue-rotate(180deg); }
}

/* Dark mode explicit class */
body.fp-dark-mode .fp-logo-text                { color: var(--fp-gold); }
body.fp-dark-mode .fp-nav__link:hover,
body.fp-dark-mode .current-menu-item > .fp-nav__link { background: rgba(255,255,255,0.06); }
body.fp-dark-mode .fp-header                   { background: var(--fp-bg-card); border-color: var(--fp-border); }
body.fp-dark-mode .fp-paywall-fade             { background: linear-gradient(to bottom, transparent, var(--fp-bg)); }
body.fp-dark-mode .fp-toc                      { background: var(--fp-bg-card); }
body.fp-dark-mode .fp-key-takeaways            { background: rgba(200,168,75,0.05); border-color: rgba(200,168,75,0.2); }
body.fp-dark-mode .fp-author-bio               { background: var(--fp-bg-card); }
body.fp-dark-mode .fp-search-overlay           { background: rgba(4,12,24,0.97); }
body.fp-dark-mode .fp-mobile-nav               { background: var(--fp-bg-card); }
body.fp-dark-mode .fp-newsletter-section       { background: var(--fp-bg-card); }
body.fp-dark-mode .fp-ad-unit--placeholder     { background: var(--fp-bg-card); border-color: var(--fp-border); }
