/* Dark Theme for FilmInfo Site */

/* Dark theme variables */
:root {
    --dark-bg-primary: #1a1a1a;
    --dark-bg-secondary: #2d2d2d;
    --dark-bg-tertiary: #3a3a3a;
    --dark-text-primary: #ffffff;
    --dark-text-secondary: #b0b0b0;
    --dark-text-muted: #808080;
    --dark-border: #404040;
    --dark-shadow: rgba(0, 0, 0, 0.5);
    --dark-accent: #007bff;
    --dark-accent-hover: #0056b3;
}

/* Apply dark theme to body when dark-theme class is present */
body.dark-theme {
    background-color: var(--dark-bg-primary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme #wrapper {
    background-color: var(--dark-bg-primary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme #wrapper #content-wrapper {
    background-color: var(--dark-bg-primary) !important;
}
/* Navigation bar */
body.dark-theme .navbar-dark.topbar {
    background-color: var(--dark-bg-secondary) !important;
    border-bottom: 1px solid var(--dark-border) !important;
}

body.dark-theme .navbar-dark .navbar-nav .nav-link {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .navbar-dark .navbar-nav .nav-link:hover {
    color: var(--dark-accent) !important;
}

/* Cards and widgets */
body.dark-theme .bg-white {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .card {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .m-card {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .m-card:hover {
    box-shadow: 0 0.15rem 1.75rem var(--dark-shadow) !important;
}

/* Text colors */
body.dark-theme .text-gray-900 {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .text-gray-800 {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .text-muted {
    color: var(--dark-text-muted) !important;
}

/* Info header */
body.dark-theme .info-header {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

/* Tabs */
body.dark-theme .nav-tabs {
    border-bottom: 1px solid var(--dark-border) !important;
}

body.dark-theme .nav-tabs .nav-link {
    color: var(--dark-text-secondary) !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
}

body.dark-theme .nav-tabs .nav-link:hover {
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

body.dark-theme .nav-tabs .nav-link.active {
    color: var(--dark-text-primary) !important;
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border) var(--dark-border) var(--dark-bg-tertiary) !important;
}

/* Tab content */
body.dark-theme .tab-content {
    background-color: var(--dark-bg-secondary) !important;
}

/* Buttons */
body.dark-theme .btn-primary {
    background-color: var(--dark-accent) !important;
    border-color: var(--dark-accent) !important;
}

body.dark-theme .btn-primary:hover {
    background-color: var(--dark-accent-hover) !important;
    border-color: var(--dark-accent-hover) !important;
}

body.dark-theme .btn-circle {
    background-color: var(--dark-bg-tertiary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .btn-circle:hover {
    background-color: var(--dark-accent) !important;
    color: var(--dark-text-primary) !important;
}

/* Love box (rating) */
body.dark-theme .love-box {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

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

/* Scroll to top button */
body.dark-theme .scroll-to-top {
    background-color: var(--dark-accent) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .scroll-to-top:hover {
    background-color: var(--dark-accent-hover) !important;
}

/* Card titles and links */
body.dark-theme .card-title {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .card-text {
    color: var(--dark-text-secondary) !important;
}

/* Links */
body.dark-theme a {
    color: var(--dark-accent) !important;
}

body.dark-theme a:hover {
    color: var(--dark-accent-hover) !important;
}

/* Media objects (reviews) */
body.dark-theme .media {
    border-bottom: 1px solid var(--dark-border) !important;
}

body.dark-theme .media:last-child {
    border-bottom: none !important;
}

/* Iframe containers */
body.dark-theme iframe {
    border: 1px solid var(--dark-border) !important;
}

/* Badge and info elements */
body.dark-theme .bg-info {
    background-color: var(--dark-accent) !important;
}

/* Form elements */
body.dark-theme .form-control {
    background-color: var(--dark-bg-tertiary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .form-control:focus {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-accent) !important;
    color: var(--dark-text-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

/* Dropdown menus */
body.dark-theme .dropdown-menu {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

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

body.dark-theme .dropdown-item:hover {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

/* Shadow adjustments */
body.dark-theme .shadow {
    box-shadow: 0 0.15rem 1.75rem var(--dark-shadow) !important;
}

body.dark-theme .shadow-sm {
    box-shadow: 0 0.125rem 0.25rem var(--dark-shadow) !important;
}

/* Image overlays and effects */
body.dark-theme .m-card-cover {
    position: relative;
    overflow: hidden;
}

body.dark-theme .m-card-cover::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
    opacity: 0;
    transition: opacity 0.3s ease;
}

body.dark-theme .m-card:hover .m-card-cover::after {
    opacity: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    body.dark-theme .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* Custom scrollbar for webkit browsers */
body.dark-theme ::-webkit-scrollbar {
    width: 8px;
}

body.dark-theme ::-webkit-scrollbar-track {
    background: var(--dark-bg-primary);
}

body.dark-theme ::-webkit-scrollbar-thumb {
    background: var(--dark-bg-tertiary);
    border-radius: 4px;
}

body.dark-theme ::-webkit-scrollbar-thumb:hover {
    background: var(--dark-accent);
}

/* Theme toggle button styling */
#theme-toggle {
    background-color: transparent !important;
    border: 1px solid var(--dark-text-primary) !important;
    color: var(--dark-text-primary) !important;
    transition: all 0.3s ease;
    position:fixed;
    right: 10px;
    top: 20px;
    z-index: 1000;
}

#theme-toggle:hover {
    background-color: var(--dark-accent) !important;
    border-color: var(--dark-accent) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme #theme-toggle {
    background-color: transparent !important;
    border: 1px solid var(--dark-text-primary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme #theme-toggle:hover {
    background-color: var(--dark-accent) !important;
    border-color: var(--dark-accent) !important;
    color: var(--dark-text-primary) !important;
}

/* Description text size */
.text-description {
    font-size: 1.1rem !important;
}