/* ============================================================
   Dark Mode Overrides
   Life Science Insights Theme
   ============================================================ */

/* Dark mode is controlled via data-theme="dark" on <html>
   Applied by JS using system preference or user toggle.
   CSS custom properties defined in style.css [data-theme="dark"]
   handle most theming. These rules cover edge cases. */

/* Smooth dark mode transition */
[data-theme="dark"] body,
[data-theme="dark"] .lsi-header__glass {
    transition:
        background-color 0.4s ease,
        color 0.4s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

/* Code blocks */
[data-theme="dark"] code,
[data-theme="dark"] pre {
    background: #1e2128;
    border-color: #2d333b;
    color: #e6edf3;
}

/* Form inputs */
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select {
    background: #161b22;
    border-color: #30363d;
    color: var(--lsi-text);
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: #6e7681;
}

/* Cards */
[data-theme="dark"] .lsi-card {
    background: #161b22;
    border-color: #21262d;
}

[data-theme="dark"] .lsi-card:hover {
    border-color: rgba(0, 137, 123, 0.3);
}

/* Hero section */
[data-theme="dark"] .lsi-hero {
    background: linear-gradient(
        135deg,
        #0d1117 0%,
        #161b22 40%,
        rgba(0, 137, 123, 0.08) 100%
    );
}

/* Newsletter */
[data-theme="dark"] .lsi-newsletter {
    background: #161b22;
    border-color: #21262d;
}

/* Footer */
[data-theme="dark"] .lsi-footer,
[data-theme="dark"] .lsi-footer__newsletter,
[data-theme="dark"] .lsi-footer__main {
    background: #0d1117;
    border-color: #21262d;
}

[data-theme="dark"] .lsi-footer__newsletter {
    border-top-color: #21262d;
}

[data-theme="dark"] .lsi-footer__newsletter-title {
    color: var(--lsi-text);
}

[data-theme="dark"] .lsi-footer__newsletter-sub {
    color: var(--lsi-text-secondary);
}

[data-theme="dark"] .lsi-footer__newsletter-form input[type="email"] {
    background: #161b22;
    border-color: #30363d;
    color: var(--lsi-text);
}

[data-theme="dark"] .lsi-footer__newsletter-form input[type="email"]::placeholder {
    color: #6e7681;
}

[data-theme="dark"] .lsi-footer__newsletter-form input[type="email"]:focus {
    border-color: var(--lsi-accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(229,72,60,.18);
}

[data-theme="dark"] .lsi-footer__widgets {
    border-color: #21262d;
}

[data-theme="dark"] .lsi-footer__logo-text {
    color: var(--lsi-text);
}

[data-theme="dark"] .lsi-footer__brand-description {
    color: var(--lsi-text-secondary);
}

[data-theme="dark"] .lsi-footer__social-icon {
    color: #8b949e;
    border-color: #30363d;
    background: #161b22;
}

[data-theme="dark"] .lsi-footer__social-icon:hover {
    color: var(--lsi-text);
    border-color: #6e7681;
    background: #21262d;
}

[data-theme="dark"] .lsi-footer__heading {
    color: #8b949e;
}

[data-theme="dark"] .lsi-footer__links a {
    color: #8b949e;
}

[data-theme="dark"] .lsi-footer__links a:hover {
    color: var(--lsi-text);
}

[data-theme="dark"] .lsi-footer__address p,
[data-theme="dark"] .lsi-footer__address a {
    color: #8b949e;
}

[data-theme="dark"] .lsi-footer__address a:hover {
    color: var(--lsi-text);
}

[data-theme="dark"] .lsi-footer__bottom {
    border-top-color: #21262d;
}

[data-theme="dark"] .lsi-footer__copyright,
[data-theme="dark"] .lsi-footer__copyright a {
    color: #6e7681;
}

[data-theme="dark"] .lsi-footer__copyright a:hover {
    color: var(--lsi-text);
}

/* Author box */
[data-theme="dark"] .lsi-author-box {
    background: #161b22;
    border-color: #21262d;
}

/* TOC */
[data-theme="dark"] .lsi-toc {
    background: #161b22;
    border-color: #21262d;
    border-left-color: var(--lsi-accent);
}

/* Blockquote */
[data-theme="dark"] blockquote {
    background: rgba(0, 137, 123, 0.08);
}

/* Widgets */
[data-theme="dark"] .lsi-widget {
    background: #161b22;
    border-color: #21262d;
}

/* Tables */
[data-theme="dark"] th {
    background: #1e2128;
}

[data-theme="dark"] th,
[data-theme="dark"] td {
    border-color: #21262d;
}

/* Topic cards */
[data-theme="dark"] .lsi-topic-card {
    background: #161b22;
    border-color: #21262d;
}

[data-theme="dark"] .lsi-topic-card:hover {
    background: rgba(0, 137, 123, 0.12);
    border-color: rgba(0, 137, 123, 0.4);
}

/* Stat block */
[data-theme="dark"] .lsi-stat {
    background: #161b22;
    border-color: #21262d;
}

/* Dark mode search overlay */
[data-theme="dark"] .lsi-search-overlay {
    background: rgba(0, 0, 0, 0.75);
}

/* Image brightness adjustment */
[data-theme="dark"] img {
    filter: brightness(0.92) contrast(1.02);
}

[data-theme="dark"] .lsi-hero__image img,
[data-theme="dark"] .lsi-card__image img {
    filter: brightness(0.85) contrast(1.05);
}

/* Dark glass nav dropdown */
[data-theme="dark"] .lsi-nav__menu .sub-menu {
    background: rgba(22, 27, 34, 0.95);
    border-color: rgba(48, 54, 61, 0.8);
}

/* Social share buttons */
[data-theme="dark"] .lsi-social-share__btn {
    border-color: #30363d;
    color: var(--lsi-text);
}

[data-theme="dark"] .lsi-social-share__btn:hover {
    background: #e6edf3;
    color: #0d1117;
    border-color: #e6edf3;
}

/* Search form */
[data-theme="dark"] .lsi-search-form {
    background: #161b22;
    border-color: #30363d;
}

/* Tags */
[data-theme="dark"] .lsi-single__tags a {
    background: #1e2128;
    border-color: #30363d;
    color: #8b949e;
}

/* Moon/Sun icon visibility */
[data-theme="dark"] .icon-moon { display: none !important; }
[data-theme="dark"] .icon-sun  { display: inline-flex !important; }

.icon-moon { display: inline-flex; }
.icon-sun  { display: none; }
.hidden    { display: none !important; }

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
