/**
 * Dark mode — CSS variables override (Solid Design)
 */

[data-theme="dark"],
html.satoads-dark {
    --satoads-bg: #0f172a;
    --satoads-surface: #1e293b;
    --satoads-surface-elevated: #334155;
    --satoads-text: #f1f5f9;
    --satoads-text-muted: #94a3b8;
    --satoads-border: #334155;
    --satoads-header-bg: #1e293b;
    --satoads-footer-bg: #020617;
    --satoads-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
    --satoads-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.2);
    --satoads-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.4), 0 2px 6px rgba(0, 0, 0, 0.2);
    --satoads-input-bg: #0f172a;
}

[data-theme="dark"] body,
html.satoads-dark body {
    background: var(--satoads-bg);
    color: var(--satoads-text);
}

/* Surfaces */
[data-theme="dark"] .satoads-post-article,
[data-theme="dark"] .satoads-auth-gate,
[data-theme="dark"] .satoads-notice,
[data-theme="dark"] .satoads-feature-card,
[data-theme="dark"] .satoads-seo-preview {
    background: var(--satoads-surface);
    border-color: var(--satoads-border);
    color: var(--satoads-text);
}

[data-theme="dark"] .satoads-auth-input,
[data-theme="dark"] .mps-input {
    background: var(--satoads-input-bg);
    border-color: var(--satoads-border);
    color: var(--satoads-text);
}

[data-theme="dark"] .satoads-header,
[data-theme="dark"] .satoads-topbar {
    background: var(--satoads-header-bg);
    border-color: var(--satoads-border);
}

[data-theme="dark"] .satoads-menu li a:hover,
[data-theme="dark"] .satoads-menu li.current-menu-item a {
    background: rgba(37, 99, 235, 0.15);
}

[data-theme="dark"] .satoads-hero,
[data-theme="dark"] .satoads-store-hero {
    background: var(--satoads-surface);
    border-color: var(--satoads-border);
}

[data-theme="dark"] .satoads-hero-title,
[data-theme="dark"] .satoads-page-title,
[data-theme="dark"] .satoads-topbar-title {
    color: var(--satoads-text);
}

[data-theme="dark"] .satoads-hero-card,
[data-theme="dark"] .satoads-hero-card-3 {
    background: var(--satoads-surface);
    border-color: var(--satoads-border);
}

[data-theme="dark"] .satoads-btn-outline {
    background: var(--satoads-surface);
    border-color: var(--satoads-border);
    color: var(--satoads-text);
}

[data-theme="dark"] .satoads-btn-ghost:hover {
    background: var(--satoads-surface);
}

[data-theme="dark"] .satoads-footer {
    background: var(--satoads-footer-bg);
    border-color: #1e293b;
}

[data-theme="dark"] .satoads-footer-grid {
    border-color: #1e293b;
}

[data-theme="dark"] .satoads-footer-mini {
    background: var(--satoads-surface);
    border-color: var(--satoads-border);
}

[data-theme="dark"] .satoads-notice-warn {
    background: rgba(120, 53, 15, 0.35);
    border-color: rgba(245, 158, 11, 0.25);
}

[data-theme="dark"] .satoads-auth-card {
    background: var(--satoads-surface);
    border-color: var(--satoads-border);
}

[data-theme="dark"] .satoads-auth-input:focus {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}

[data-theme="dark"] .satoads-sidebar {
    background: #020617;
    border-color: #1e293b;
}

[data-theme="dark"] .satoads-nav {
    background: var(--satoads-header-bg);
    border-color: var(--satoads-border);
}

[data-theme="dark"] .sato-cat-chip {
    background: var(--satoads-surface);
    border-color: var(--satoads-border);
}

[data-theme="dark"] .sato-home-card {
    background: var(--satoads-surface);
    border-color: var(--satoads-border);
}

[data-theme="dark"] .sato-home-card-thumb {
    background: #1e293b;
}

[data-theme="dark"] .sato-home-card-name {
    color: var(--satoads-text);
}

/* Theme toggle */
.satoads-theme-toggle {
    position: relative;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 12px;
    background: var(--satoads-surface, #ffffff);
    border: 1px solid var(--satoads-border);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, transform 0.12s, box-shadow 0.2s;
    flex-shrink: 0;
}

.satoads-theme-toggle:hover {
    transform: scale(1.04);
}

.satoads-theme-toggle-track {
    position: relative;
    width: 22px;
    height: 22px;
    pointer-events: none;
}

.satoads-theme-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.25s, transform 0.25s;
    pointer-events: none;
}

.satoads-theme-icon svg {
    width: 20px;
    height: 20px;
    color: var(--satoads-text-muted);
}

[data-theme="light"] .satoads-theme-icon-moon,
html:not(.satoads-dark):not([data-theme="dark"]) .satoads-theme-icon-moon {
    opacity: 1;
    transform: rotate(0);
}

[data-theme="light"] .satoads-theme-icon-sun,
html:not(.satoads-dark):not([data-theme="dark"]) .satoads-theme-icon-sun {
    opacity: 0;
    transform: rotate(90deg) scale(0.5);
}

[data-theme="dark"] .satoads-theme-icon-sun,
html.satoads-dark .satoads-theme-icon-sun,
html[data-theme="dark"] .satoads-theme-icon-sun {
    opacity: 1;
    transform: rotate(0);
}

[data-theme="dark"] .satoads-theme-icon-moon,
html.satoads-dark .satoads-theme-icon-moon,
html[data-theme="dark"] .satoads-theme-icon-moon {
    opacity: 0;
    transform: rotate(-90deg) scale(0.5);
}

[data-theme="dark"] .satoads-theme-toggle {
    background: var(--satoads-surface-elevated);
}

.satoads-theme-toggle--sidebar {
    width: 100%;
    height: auto;
    padding: 10px 14px;
    gap: 10px;
    margin-bottom: 10px;
    justify-content: flex-start;
}

.satoads-theme-toggle--sidebar .satoads-theme-toggle-label {
    font-size: 13px;
    font-weight: 600;
    color: #cbd5e1;
}

.satoads-sidebar-theme-row .satoads-theme-icon svg {
    color: #94a3b8;
}

.satoads-sidebar-theme-row .satoads-theme-toggle {
    justify-content: center;
    gap: 0;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}

.satoads-sidebar-theme-row .satoads-theme-toggle-label {
    display: none;
}

body.satoads-sidebar-collapsed .satoads-theme-toggle-label {
    display: none;
}

.satoads-topbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.satoads-header .satoads-theme-toggle {
    margin-left: 8px;
}

.satoads-nav-auth {
    display: flex;
    align-items: center;
    gap: 8px;
}
