/*
 * VeriMimari Theme - Dark Mode Styles
 * Smooth dark mode implementation with green/orange accents
 */

body.dark-mode {
    --color-text-primary: #E5E5E5;
    --color-text-secondary: #B3B3B3;
    --color-text-tertiary: #808080;
    --color-text-inverse: #1E1E1E;

    --color-light-bg: #1E1E1E;
    --color-light-surface: #2a2a2a;
    --color-light-border: #3a3a3a;

    --color-dark-bg: #0a0a0a;
    --color-dark-surface: #1a1a1a;
    --color-dark-border: #2a2a2a;

    background-color: var(--color-light-bg);
    color: var(--color-text-primary);
}

/* Header in Dark Mode */
body.dark-mode .site-header {
    background-color: var(--color-light-surface);
    border-bottom-color: var(--color-light-border);
}

body.dark-mode .search-toggle,
body.dark-mode .dark-mode-toggle,
body.dark-mode .menu-toggle-icon,
body.dark-mode .menu-toggle-icon::before,
body.dark-mode .menu-toggle-icon::after {
    color: var(--color-text-primary);
    background-color: var(--color-text-primary);
}

/* Search Modal in Dark Mode */
body.dark-mode .search-field {
    background-color: var(--color-light-surface);
    color: var(--color-text-primary);
    border-color: var(--color-primary);
}

/* Cards and Surfaces */
body.dark-mode .featured-post-card,
body.dark-mode .post-card,
body.dark-mode .category-post-card,
body.dark-mode .related-post-card {
    background-color: var(--color-light-surface);
    border-color: var(--color-light-border);
}

body.dark-mode .post-card:hover,
body.dark-mode .category-post-card:hover,
body.dark-mode .related-post-card:hover {
    border-color: var(--color-primary);
}

/* Hero Section */
body.dark-mode .hero-section {
    background: linear-gradient(135deg, rgba(87, 166, 57, 0.1) 0%, rgba(208, 122, 33, 0.1) 100%);
}

/* Category Headers */
body.dark-mode .category-header {
    border-bottom-color: var(--color-light-border);
}

/* TOC in Dark Mode */
body.dark-mode .toc-sticky {
    background-color: var(--color-light-surface);
    border-color: var(--color-light-border);
}

/* Abstract Section */
body.dark-mode .article-abstract {
    background-color: rgba(87, 166, 57, 0.1);
    border-left-color: var(--color-primary);
}

/* Author Bio Box */
body.dark-mode .author-bio-box {
    background-color: rgba(87, 166, 57, 0.1);
    border-color: rgba(87, 166, 57, 0.3);
}

/* Code Blocks */
body.dark-mode code {
    background-color: rgba(87, 166, 57, 0.15);
}

body.dark-mode pre {
    background-color: #0a0a0a;
}

/* Blockquotes */
body.dark-mode blockquote {
    border-left-color: var(--color-primary);
    color: var(--color-text-secondary);
}

/* Tables */
body.dark-mode th {
    background-color: rgba(87, 166, 57, 0.1);
}

body.dark-mode th,
body.dark-mode td {
    border-bottom-color: var(--color-light-border);
}

/* Forms */
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="url"],
body.dark-mode input[type="password"],
body.dark-mode input[type="search"],
body.dark-mode input[type="number"],
body.dark-mode input[type="tel"],
body.dark-mode input[type="date"],
body.dark-mode textarea,
body.dark-mode select {
    background-color: var(--color-light-surface);
    color: var(--color-text-primary);
    border-color: var(--color-light-border);
}

body.dark-mode input:focus,
body.dark-mode textarea:focus,
body.dark-mode select:focus {
    border-color: var(--color-primary);
}

/* Pagination */
body.dark-mode .page-numbers {
    background-color: var(--color-light-surface);
    border-color: var(--color-light-border);
    color: var(--color-text-primary);
}

body.dark-mode .page-numbers:hover,
body.dark-mode .page-numbers.current {
    background-color: var(--color-primary);
    color: var(--color-text-inverse);
}

/* Share Buttons */
body.dark-mode .share-btn {
    background-color: var(--color-light-border);
    color: var(--color-text-primary);
}

/* Entry Footer */
body.dark-mode .entry-footer {
    border-top-color: var(--color-light-border);
}

body.dark-mode .post-card-meta {
    border-top-color: var(--color-light-border);
}

body.dark-mode .entry-meta {
    border-bottom-color: var(--color-light-border);
}

/* Footer */
body.dark-mode .site-footer {
    background-color: var(--color-dark-bg);
}

body.dark-mode .footer-widgets {
    border-bottom-color: var(--color-dark-border);
}

/* Navigation in Dark Mode */
body.dark-mode .main-navigation {
    background-color: var(--color-light-surface);
    border-top-color: var(--color-light-border);
}

body.dark-mode .main-navigation a {
    color: var(--color-text-primary);
}

/* Category Tags */
body.dark-mode .post-categories a {
    background-color: rgba(87, 166, 57, 0.15);
}

body.dark-mode .post-categories a:hover {
    background-color: var(--color-primary);
    color: var(--color-text-inverse);
}

/* Smooth Transition for Dark Mode */
body,
.site-header,
.featured-post-card,
.post-card,
.category-post-card,
.related-post-card,
.toc-sticky,
.article-abstract,
.author-bio-box,
code,
pre,
blockquote,
th,
td,
input,
textarea,
select,
.page-numbers,
.share-btn,
.main-navigation {
    transition: background-color var(--transition-base),
        color var(--transition-base),
        border-color var(--transition-base);
}

/* Academic Article Template Dark Mode */
body.dark-mode .abstract-section,
body.dark-mode .references-section,
body.dark-mode .appendices-section {
    background-color: var(--color-light-surface);
    border-color: var(--color-light-border);
}

body.dark-mode .citation-box {
    background-color: rgba(87, 166, 57, 0.1);
    border: 1px solid rgba(87, 166, 57, 0.3);
    padding: var(--spacing-lg);
    border-radius: var(--radius-md);
    margin-top: var(--spacing-xl);
}

body.dark-mode .citation-text {
    color: var(--color-text-secondary);
    font-family: var(--font-code);
    font-size: var(--font-size-sm);
    padding: var(--spacing-md);
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: var(--radius-sm);
    margin: var(--spacing-md) 0;
}

/* Archive Controls */
body.dark-mode .archive-controls {
    background-color: var(--color-light-surface);
    border: 1px solid var(--color-light-border);
}

body.dark-mode .view-btn {
    background-color: transparent;
    color: var(--color-text-secondary);
    border-color: var(--color-light-border);
}

body.dark-mode .view-btn.active,
body.dark-mode .view-btn:hover {
    background-color: var(--color-primary);
    color: var(--color-text-inverse);
}

body.dark-mode #sort-posts {
    background-color: var(--color-light-surface);
    color: var(--color-text-primary);
    border-color: var(--color-light-border);
}

/* Search Results */
body.dark-mode .search-result-item {
    background-color: var(--color-light-surface);
    border: 1px solid var(--color-light-border);
    padding: var(--spacing-lg);
    border-radius: var(--radius-md);
    margin-bottom: var(--spacing-lg);
}

body.dark-mode .search-result-item:hover {
    border-color: var(--color-primary);
}

/* 404 Page */
body.dark-mode .error-404 {
    background-color: var(--color-light-surface);
    padding: var(--spacing-3xl);
    border-radius: var(--radius-lg);
}

/* Author Page */
body.dark-mode .author-header {
    background-color: var(--color-light-surface);
    padding: var(--spacing-2xl);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-light-border);
}

body.dark-mode .author-social a {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--color-text-primary);
}

body.dark-mode .author-social a:hover {
    background-color: var(--color-primary);
    color: var(--color-text-inverse);
}

/* Widgets */
body.dark-mode .widget {
    background-color: var(--color-light-surface);
    padding: var(--spacing-lg);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-light-border);
}

body.dark-mode .widget a {
    color: var(--color-text-secondary);
}

body.dark-mode .widget a:hover {
    color: var(--color-primary);
}

/* Ensure images don't get too bright in dark mode */
body.dark-mode img {
    opacity: 0.9;
}

body.dark-mode img:hover {
    opacity: 1;
}

/* Syntax highlighting adjustment for dark mode */
body.dark-mode .entry-content pre code {
    color: #e5e5e5;
}

/* MathJax in dark mode */
body.dark-mode .MathJax {
    color: var(--color-text-primary) !important;
}