/* Theme Switcher - Light & Dark Mode */
/* ================================================== */

/* Default - Light Mode Colors */
:root {
    --bg-primary: #fafaf9;
    --bg-secondary: #f5f5f4;
    --bg-tertiary: #f5f5f5;
    --bg-quaternary: #d6d3d1;
    --bg-quinary: #a8a29e;
    --bg-senary: #78716c;
    --bg-card: #ffffff;
    --bg-overlay: rgba(28, 25, 23, 0.75);

    --text-primary: #1c1917;
    --text-secondary: #57534e;
    --text-muted: #78716c;

    --border-color: rgba(120, 113, 108, 0.2);
    --border-card: rgba(120, 113, 108, 0.12);

    --header-bg: rgba(255, 255, 255, 0.95);
    --header-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);

    --footer-bg: #292524;
    --footer-text: #d6d3d1;

    --accent-color: #dc2626;
    --accent-hover: #b91c1c;

    --dropdown-bg: rgba(255, 255, 255, 0.98);
    --dropdown-hover: rgba(220, 38, 38, 0.08);

    --input-bg: #fafaf9;
    --input-text: #1c1917;
    --input-border: rgba(120, 113, 108, 0.25);

    --badge-bg: rgba(220, 38, 38, 0.1);
    --badge-text: #dc2626;

    --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.12);
}

/* Dark Mode Colors */
[data-theme="dark"] {
    --bg-primary: #1e1e1e;
    --bg-secondary: #2a2a2a;
    --bg-tertiary: #2f2f2f;
    --bg-quaternary: #353535;
    --bg-quinary: #3a3a3a;
    --bg-senary: #404040;
    --bg-card: #2d2d2d;
    --bg-overlay: rgba(0, 0, 0, 0.9);

    --text-primary: #ffffff;
    --text-secondary: #b0b0b0;
    --text-muted: #666666;

    --border-color: rgba(255, 255, 255, 0.1);
    --border-card: rgba(255, 255, 255, 0.05);

    --header-bg: rgba(30, 30, 30, 0.95);
    --header-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);

    --footer-bg: #1e1e1e;
    --footer-text: #b0b0b0;

    --accent-color: #dc2626;
    --accent-hover: #ef4444;

    --dropdown-bg: rgba(42, 42, 42, 0.98);
    --dropdown-hover: rgba(220, 38, 38, 0.15);

    --input-bg: #2d2d2d;
    --input-text: #ffffff;
    --input-border: rgba(255, 255, 255, 0.1);

    --badge-bg: rgba(220, 38, 38, 0.2);
    --badge-text: #ef4444;

    --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.6);
}

/* Apply Theme Variables */
/* ================================================== */

body {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
}

/* Professional Header */
.header {
    background: var(--header-bg) !important;
    box-shadow: var(--header-shadow) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

/* Navigation Links */
.nav-link {
    color: var(--text-primary) !important;
}

.nav-link:hover,
.nav-link.active {
    background: var(--dropdown-hover) !important;
}

/* Action Buttons */
.action-btn {
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.action-btn:hover {
    background: var(--dropdown-hover) !important;
    border-color: var(--accent-color) !important;
}

/* User Menu - Theme Support */
.user-menu-toggle {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.user-menu-toggle:hover {
    border-color: var(--accent-color) !important;
    background: var(--dropdown-hover) !important;
}

.user-name {
    color: var(--text-primary) !important;
}

.user-avatar {
    background: var(--gradient-primary-alt) !important;
}

/* User Dropdown Menu */
.user-dropdown {
    background: var(--dropdown-bg) !important;
    border-color: var(--border-color) !important;
    box-shadow: var(--shadow-md) !important;
}

.user-dropdown::before {
    border-bottom-color: var(--border-color) !important;
}

.user-dropdown::after {
    border-bottom-color: var(--dropdown-bg) !important;
}

.user-dropdown-menu .dropdown-link {
    color: var(--text-primary) !important;
}

.user-dropdown-menu .dropdown-link:hover {
    background: var(--dropdown-hover) !important;
    color: #fff !important;
}

.user-dropdown-menu .dropdown-link i {
    color: var(--text-secondary) !important;
}

.user-dropdown-menu .dropdown-link:hover i {
    color: #fff !important;
}

.dropdown-divider {
    background: var(--border-color) !important;
}

/* Logout Link */
.dropdown-link.logout {
    color: var(--text-primary) !important;
}

.dropdown-link.logout:hover {
    background: rgba(239, 68, 68, 0.12) !important;
    color: #ef4444 !important;
}

.dropdown-link.logout i {
    color: #ef4444 !important;
}

/* Dropdown Menu */
.dropdown-menu {
    background: var(--dropdown-bg) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: var(--shadow-md) !important;
}

.dropdown-item {
    color: var(--text-primary) !important;
}

.dropdown-item:hover {
    background: var(--dropdown-hover) !important;
    color: #fff !important;
}

.dropdown-menu::before {
    border-bottom-color: var(--border-color) !important;
}

.dropdown-menu::after {
    border-bottom-color: var(--dropdown-bg) !important;
}

/* Simple Search Bar */
.search-bar {
    background: var(--header-bg) !important;
    border-bottom-color: var(--border-color) !important;
}

.search-bar .search-form {
    background: var(--input-bg) !important;
    border-color: var(--border-color) !important;
}

.search-bar .search-form:focus-within {
    border-color: var(--accent-color) !important;
}

.search-bar .search-input {
    color: var(--input-text) !important;
}

.search-bar .search-input::placeholder {
    color: var(--text-muted) !important;
}

.search-bar .search-close {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-secondary) !important;
}

.search-bar .search-close:hover {
    background: var(--dropdown-hover) !important;
    border-color: var(--accent-color) !important;
    color: #fff !important;
}

/* Mobile Menu Toggle - Light Mode Support */
.mobile-menu-toggle {
    border-color: var(--border-color) !important;
}

.mobile-menu-toggle span {
    color: var(--text-primary) !important;
}

/* Mobile Sidebar Theme */
.mobile-sidebar {
    background: var(--header-bg) !important;
}

.sidebar-header {
    border-bottom-color: var(--border-color) !important;
}

.sidebar-close {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-secondary) !important;
}

.sidebar-close:hover {
    background: var(--dropdown-hover) !important;
    border-color: var(--accent-color) !important;
    color: #fff !important;
}

.menu-link {
    color: var(--text-primary) !important;
}

.menu-link:hover,
.menu-link.active {
    background: var(--dropdown-hover) !important;
    color: #fff !important;
}

.submenu {
    background: var(--bg-secondary) !important;
}

.submenu a {
    color: var(--text-secondary) !important;
}

.submenu a:hover {
    background: var(--dropdown-hover) !important;
    color: #fff !important;
}

.sidebar-footer {
    border-top-color: var(--border-color) !important;
}

/* Section Titles */
.section-title {
    color: var(--text-primary) !important;
}

.section-title::before {
    background: var(--gradient-primary-vertical) !important;
}

.view-all {
    background: var(--gradient-primary) !important;
    color: #ffffff !important;
    border: 1px solid var(--accent-color) !important;
    box-shadow: 0 2px 10px rgba(220, 38, 38, 0.25) !important;
}

.view-all:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(220, 38, 38, 0.4) !important;
    background: linear-gradient(-135deg, #ef4444 0%, #dc2626 100%) !important;
}

.view-all i {
    color: #ffffff !important;
}

/* Filters Bar - Theme Support */
.filters-bar {
    background: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.filter-item {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.filter-item:hover {
    border-color: var(--accent-color) !important;
}

.filter-item.active {
    border-color: var(--accent-color) !important;
    background: var(--dropdown-hover) !important;
}

.filter-title {
    color: var(--text-primary) !important;
}

.filter-sub {
    color: var(--text-secondary) !important;
}

.filter-chevron {
    color: var(--text-secondary) !important;
}

.filter-dropdown {
    background: var(--dropdown-bg) !important;
    border-color: var(--border-color) !important;
    box-shadow: var(--shadow-md) !important;
}

.filter-dropdown-item {
    color: var(--text-primary) !important;
    border-bottom-color: var(--border-color) !important;
}

.filter-dropdown-item:hover {
    background: var(--dropdown-hover) !important;
    color: var(--accent-color) !important;
}

.filter-dropdown-item.selected {
    background: var(--dropdown-hover) !important;
    color: var(--accent-color) !important;
}

.filter-search-btn {
    background: var(--gradient-primary) !important;
    color: #ffffff !important;
    border: none !important;
}

.filter-reset-btn {
    background: transparent !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.filter-reset-btn:hover {
    background: var(--dropdown-hover) !important;
    border-color: var(--accent-color) !important;
    color: #fff !important;
}

/* Drama Cards */
.drama-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-card) !important;
    box-shadow: var(--shadow-sm) !important;
}

.drama-card:hover {
    box-shadow: var(--shadow-md) !important;
    border-color: var(--accent-color) !important;
}

.drama-meta span {
    color: var(--text-secondary) !important;
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
}

/* Drama Meta Badges - Keep vivid colors */
.drama-year {
    background: var(--bg-primary-alpha-15) !important;
    color: var(--color-primary-light) !important;
    border: 1px solid var(--bg-primary-alpha-20) !important;
}

.drama-episode {
    background: var(--bg-secondary-alpha-15) !important;
    color: var(--color-secondary-light) !important;
    border: 1px solid var(--bg-secondary-alpha-20) !important;
}

.drama-rating {
    background: var(--bg-warning-alpha-15) !important;
    color: var(--color-warning-light) !important;
    border: 1px solid var(--bg-warning-alpha-20) !important;
}

.drama-rating i {
    color: var(--color-warning-light) !important;
}

/* Drama Badges - Keep vivid colors in both themes */
.badge.hot {
    background: var(--gradient-primary) !important;
    color: #ffffff !important;
    border-color: var(--color-primary-lighter) !important;
}

.badge.new {
    background: var(--gradient-secondary) !important;
    color: #ffffff !important;
    border-color: var(--color-secondary-lighter) !important;
}

.badge.completed {
    background: var(--gradient-success) !important;
    color: #ffffff !important;
    border-color: var(--color-success-lighter) !important;
}

.badge::before {
    background: #ffffff !important;
}

/* Footer */
.footer {
    background: var(--footer-bg) !important;
    border-top: 1px solid var(--border-color) !important;
}

.footer p,
.footer a {
    color: var(--footer-text) !important;
}

.footer a:hover {
    color: #fff !important;
}

/* Mobile Menu */
.mobile-menu {
    background: var(--bg-card) !important;
    border-left: 1px solid var(--border-color) !important;
}

.mobile-menu a {
    color: var(--text-primary) !important;
}

.mobile-menu a:hover {
    background: var(--dropdown-hover) !important;
    color: #fff !important;
}

/* Theme Toggle Button */
/* ================================================== */

/* Icon visibility for theme toggle */
[data-theme="light"] .theme-toggle .fa-moon {
    display: block;
}

[data-theme="light"] .theme-toggle .fa-sun {
    display: none;
}

[data-theme="dark"] .theme-toggle .fa-sun {
    display: block;
}

[data-theme="dark"] .theme-toggle .fa-moon {
    display: none;
}

/* Section Header - Light Mode */
.section-header {
    background: #ffffff !important;
}

/* Section Header - Dark Mode */
[data-theme="dark"] .section-header {
    background: var(--bg-card) !important;
}

[data-theme="dark"] .section-header::before {
    background: #292929 !important;
}

/* Animation for theme change */
.theme-transition {
    transition: background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.featured-banner .slide-title {
    color: #ffffff !important;
    text-shadow: -2px 2px 8px rgba(0, 0, 0, 0.5);
}

.featured-banner .slide-description {
    color: rgba(255, 255, 255, 0.95) !important;
    text-shadow: -1px 1px 4px rgba(0, 0, 0, 0.5);
}

.featured-banner .slide-meta span {
    background: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(10px);
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.featured-banner .slide-meta .rating {
    color: #ffd700 !important;
}

.featured-banner .slide-meta .rating i {
    color: #ffd700 !important;
}

/* Banner Buttons - Always visible */
.featured-banner .btn-primary {
    background: linear-gradient(-135deg, #dc2626 0%, #b91c1c 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.4) !important;
}

.featured-banner .btn-primary:hover {
    background: linear-gradient(-135deg, #ef4444 0%, #dc2626 100%) !important;
    box-shadow: 0 6px 25px rgba(220, 38, 38, 0.6) !important;
}

.featured-banner .btn-secondary {
    background: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(10px);
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.featured-banner .btn-secondary:hover {
    background: rgba(255, 255, 255, 0.3) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

/* Responsive - User Menu on Mobile */
/* ================================================== */

/* Hide username on small screens, show only avatar */
@media (max-width: 768px) {
    .user-menu-toggle {
        padding: 8px 10px !important;
        min-width: auto !important;
    }

    .user-menu-toggle .user-name {
        display: none !important;
    }

    .user-menu-toggle .fa-chevron-down {
        display: none !important;
    }

    .user-menu-toggle .user-avatar {
        margin: 0 !important;
    }

    /* Adjust dropdown position on mobile */
    .user-dropdown {
        left: -100px !important;
        right: auto !important;
        min-width: 200px !important;
    }
}

/* Very small screens - make avatar smaller */
@media (max-width: 480px) {
    .user-menu-toggle .user-avatar {
        width: 36px !important;
        height: 36px !important;
        font-size: 18px !important;
    }

    .user-menu-toggle {
        padding: 6px 8px !important;
    }
}