/* ==========================================================================
   IndiMusic TV Modern Theme: 1600px Max-Width + High-Contrast Dual Mode
   Default: Pure Light (Sada) Mode | Toggle: Crisp Cinematic Dark Mode
   ========================================================================== */

/* 1. DEFAULT LIGHT (SADA) MODE TOKENS */
:root,
html[data-theme="light"],
html.light-style {
  --cp-bg-body: #f8fafc;
  --cp-bg-card: #ffffff;
  --cp-bg-card-hover: #f1f5f9;
  --cp-bg-nav: #ffffff;
  --cp-border: #e2e8f0;
  --cp-border-hover: rgba(225, 29, 72, 0.4);
  --cp-text-primary: #0a0e1a;       /* Pure Obsidian Black */
  --cp-text-secondary: #1e293b;     /* Deep Slate Black */
  --cp-text-muted: #475569;         /* High-contrast Slate-600 */
  --cp-card-title: #0a0e1a;         /* Deep Black for Movie Titles */
  --cp-card-title-hover: #e11d48;   /* Music Red Accent */
  --cp-nav-link: #0a0e1a;           /* Deep Black for Navbar Links */
  --cp-nav-link-hover: #e11d48;
  --cp-input-bg: #ffffff;
  --cp-input-border: #cbd5e1;
  --cp-input-text: #0a0e1a;
  --cp-card-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
  --cp-footer-bg: #ffffff;
  --cp-footer-border: #e2e8f0;
  --cp-footer-title: #0a0e1a;
  --cp-footer-text: #334155;
  --cp-footer-muted: #64748b;
  --cp-footer-link: #1e293b;
  --cp-footer-link-hover: #e11d48;
  --cp-footer-badge-bg: #f1f5f9;
  --cp-footer-badge-text: #0a0e1a;
  --cp-footer-badge-border: #cbd5e1;
  --cp-footer-card-bg: #f8fafc;
  --cp-footer-card-border: #e2e8f0;
  --cp-pill-bg: #f1f5f9;
  --cp-pill-text: #0a0e1a;
  --cp-pill-border: #cbd5e1;
  --cp-pill-hover-bg: #e11d48;
  --cp-pill-hover-text: #ffffff;
  --cp-watch-link: #0a0e1a;
}

/* 2. CINEMATIC DARK MODE TOKENS */
html[data-theme="dark"],
html.dark-style {
  --cp-bg-body: #090d16;
  --cp-bg-card: #121826;
  --cp-bg-card-hover: #192236;
  --cp-bg-nav: rgba(9, 13, 22, 0.96);
  --cp-border: rgba(255, 255, 255, 0.12);
  --cp-border-hover: rgba(225, 29, 72, 0.6);
  --cp-text-primary: #ffffff;       /* Pure Crisp White */
  --cp-text-secondary: #e2e8f0;     /* Slate-200 Clean Text */
  --cp-text-muted: #94a3b8;         /* High-contrast Slate-400 */
  --cp-card-title: #ffffff;         /* Pure White for Movie Titles */
  --cp-card-title-hover: #fb7185;   /* Bright Coral Red Accent */
  --cp-nav-link: #ffffff;           /* Crisp White for Navbar Links */
  --cp-nav-link-hover: #fb7185;
  --cp-input-bg: #1a2234;
  --cp-input-border: rgba(255, 255, 255, 0.2);
  --cp-input-text: #ffffff;
  --cp-card-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  --cp-footer-bg: #090d16;
  --cp-footer-border: rgba(255, 255, 255, 0.12);
  --cp-footer-title: #ffffff;
  --cp-footer-text: #cbd5e1;
  --cp-footer-muted: #94a3b8;
  --cp-footer-link: #f1f5f9;
  --cp-footer-link-hover: #fb7185;
  --cp-footer-badge-bg: #162033;
  --cp-footer-badge-text: #ffffff;
  --cp-footer-badge-border: rgba(255, 255, 255, 0.16);
  --cp-footer-card-bg: #121826;
  --cp-footer-card-border: rgba(255, 255, 255, 0.12);
  --cp-pill-bg: #1a2234;
  --cp-pill-text: #ffffff;
  --cp-pill-border: rgba(255, 255, 255, 0.16);
  --cp-pill-hover-bg: #e11d48;
  --cp-pill-hover-text: #ffffff;
  --cp-watch-link: #ffffff;
}

/* 3. Global Body & Width Settings (1600px) */
body {
  background-color: var(--cp-bg-body) !important;
  color: var(--cp-text-secondary) !important;
  font-family: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  transition: background-color 0.25s ease, color 0.25s ease;
  overflow-x: hidden;
}

/* Enforce 1600px Max-Width */
.container-xxl,
.container-1600,
.container-fluid {
  max-width: 1600px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* 4. Header Navbar: 100% Full-Width Background (#090d16) in both Dark and Light mode */
.cinema-navbar-wrapper,
html[data-theme="light"] .cinema-navbar-wrapper,
html[data-theme="dark"] .cinema-navbar-wrapper,
.light-style .cinema-navbar-wrapper,
.dark-style .cinema-navbar-wrapper {
  width: 100% !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1080 !important;
  background: #090d16 !important;
  background-color: #090d16 !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}

.cinema-navbar-inner {
  max-width: 1600px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Brand Logo Styling: NO background, NO border, NO shadow */
.cinema-brand-logo-wrap,
.cinema-brand-logo-wrap:hover,
a.navbar-brand .cinema-brand-logo-wrap,
a.navbar-brand:hover .cinema-brand-logo-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.cinema-brand-logo {
  height: 44px !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain !important;
  display: block !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.cinema-navbar-wrapper .nav-link {
  color: #f1f5f9 !important;
  font-weight: 600 !important;
  font-size: 0.95rem;
}

.cinema-navbar-wrapper .nav-link:hover,
.cinema-navbar-wrapper .nav-link:focus,
.cinema-navbar-wrapper .nav-link.active {
  color: #7367f0 !important;
}

.cinema-navbar-wrapper .navbar-toggler {
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* User Profile Button in Header: Always #090d16 background & white text, even on hover */
.cinema-navbar-wrapper #userMenuBtn,
.cinema-navbar-wrapper #userMenuBtn:hover,
.cinema-navbar-wrapper #userMenuBtn:focus,
.cinema-navbar-wrapper #userMenuBtn:active,
.cinema-navbar-wrapper .cinema-user-btn,
.cinema-navbar-wrapper .cinema-user-btn:hover,
.cinema-navbar-wrapper .cinema-user-btn:focus,
.cinema-navbar-wrapper .cinema-user-btn:active,
.cinema-navbar-wrapper .btn-outline-primary,
.cinema-navbar-wrapper .btn-outline-primary:hover,
.cinema-navbar-wrapper .btn-outline-primary:focus {
  background-color: #090d16 !important;
  background: #090d16 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: none !important;
}

.cinema-navbar-wrapper #userMenuBtn *,
.cinema-navbar-wrapper .cinema-user-btn * {
  color: #ffffff !important;
}

.cinema-navbar-wrapper #userMenuBtn:hover,
.cinema-navbar-wrapper .cinema-user-btn:hover {
  border-color: rgba(255, 255, 255, 0.45) !important;
  background-color: #090d16 !important;
  background: #090d16 !important;
}

/* Submenu dropdown styles & Hover behavior */
.cinema-navbar-wrapper .dropdown-menu {
  background-color: #0b0f19 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
  border-radius: 8px !important;
  z-index: 1095 !important;
}

.cinema-navbar-wrapper .dropdown-item {
  color: #cbd5e1 !important;
  transition: all 0.15s ease;
}

.cinema-navbar-wrapper .dropdown-item:hover,
.cinema-navbar-wrapper .dropdown-item:focus {
  background-color: #7367f0 !important;
  color: #ffffff !important;
}

@media (min-width: 992px) {
  .cinema-navbar-wrapper .nav-item.dropdown:hover > .dropdown-menu {
    display: block !important;
    margin-top: 0;
  }
}
  transition: color 0.2s ease;
}

.cinema-navbar-wrapper .nav-link:hover,
.cinema-navbar-wrapper .nav-link.active {
  color: var(--cp-nav-link-hover) !important;
}

/* 5. High-Contrast Typography & Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--cp-text-primary) !important;
  font-weight: 700 !important;
}

/* Muted / Secondary Text - Clear and crisp in both modes */
.text-muted,
.text-white-50 {
  color: var(--cp-text-muted) !important;
}

p.text-muted,
div.text-muted,
span.text-muted,
small.text-muted {
  color: var(--cp-text-muted) !important;
  font-weight: 500;
}

/* 6. Movie Cards & Titles (Fix for Dark and Light mode visibility) */
.card,
.movie-card,
.creator-card,
.filter-card,
.meta-card,
.comment-item {
  background-color: var(--cp-bg-card) !important;
  border: 1px solid var(--cp-border) !important;
  color: var(--cp-text-secondary) !important;
  box-shadow: var(--cp-card-shadow) !important;
  border-radius: 14px !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.card:hover,
.movie-card:hover,
.creator-card:hover {
  border-color: var(--cp-border-hover) !important;
}

/* CRITICAL: Card Titles and Links - High Contrast Black or White */
.movie-card h6,
.movie-card h6 a,
.creator-card h6,
.creator-card h6 a,
.card h5 a,
.card h6 a,
a.movie-title {
  color: var(--cp-card-title) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.movie-card h6 a:hover,
.creator-card h6 a:hover,
.card h5 a:hover,
.card h6 a:hover,
a.movie-title:hover {
  color: var(--cp-card-title-hover) !important;
}

/* Watch button link inside card bottom */
.movie-card .btn-link,
.movie-card a.btn-link {
  color: var(--cp-watch-link) !important;
  font-weight: 600 !important;
}

.movie-card .btn-link:hover,
.movie-card a.btn-link:hover {
  color: var(--cp-card-title-hover) !important;
}

/* 7. Genre Pills (Browse by Genre) */
.genre-pill {
  background-color: var(--cp-pill-bg) !important;
  color: var(--cp-pill-text) !important;
  border: 1px solid var(--cp-pill-border) !important;
  font-weight: 600 !important;
  transition: all 0.2s ease;
}

.genre-pill i {
  color: var(--cp-pill-text) !important;
}

.genre-pill .badge {
  background-color: var(--cp-pill-text) !important;
  color: var(--cp-bg-card) !important;
  font-weight: 700;
}

.genre-pill:hover {
  background-color: var(--cp-pill-hover-bg) !important;
  color: var(--cp-pill-hover-text) !important;
  border-color: var(--cp-pill-hover-bg) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(225, 29, 72, 0.35);
}

.genre-pill:hover i,
.genre-pill:hover .badge {
  background-color: #ffffff !important;
  color: #e11d48 !important;
}

/* 8. Inputs, Search and Forms */
.form-control,
.form-select {
  background-color: var(--cp-input-bg) !important;
  border-color: var(--cp-input-border) !important;
  color: var(--cp-input-text) !important;
  font-weight: 500;
}

.form-control:focus,
.form-select:focus {
  border-color: #e11d48 !important;
  box-shadow: 0 0 0 0.25rem rgba(225, 29, 72, 0.2) !important;
}

.form-control::placeholder {
  color: var(--cp-text-muted) !important;
}

/* Live Search Results Dropdown */
#liveSearchResults {
  background-color: var(--cp-bg-card) !important;
  border: 1px solid var(--cp-border) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25) !important;
}

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

#liveSearchResults .dropdown-item:hover {
  background-color: var(--cp-bg-card-hover) !important;
}

/* 9. Hero Banner Contrast in Both Modes */
.hero-backdrop {
  position: relative;
  min-height: 540px;
  border-radius: 20px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(9, 13, 22, 0.95) 0%, rgba(9, 13, 22, 0.8) 50%, rgba(9, 13, 22, 0.35) 100%);
  display: flex;
  align-items: center;
}

.hero-overlay h1,
.hero-overlay p,
.hero-overlay span {
  color: #ffffff !important;
}

/* 10. Footer Comprehensive Theme Adaptation */
.landing-footer {
  background-color: var(--cp-footer-bg) !important;
  border-top: 1px solid var(--cp-footer-border) !important;
  color: var(--cp-footer-text) !important;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.04) !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.landing-footer .footer-title {
  color: var(--cp-footer-title) !important;
  font-size: 1.05rem;
  letter-spacing: 0.02em;
}

.landing-footer .footer-desc {
  color: var(--cp-footer-text) !important;
  line-height: 1.65;
  font-size: 0.92rem;
  font-weight: 500;
}

.landing-footer .footer-nav-link {
  color: var(--cp-footer-link) !important;
  font-weight: 500;
  font-size: 0.92rem;
  transition: all 0.2s ease;
  display: inline-block;
}

.landing-footer .footer-nav-link:hover {
  color: var(--cp-footer-link-hover) !important;
  transform: translateX(3px);
}

.landing-footer .footer-tech-badge {
  display: inline-flex;
  align-items: center;
  background-color: var(--cp-footer-badge-bg) !important;
  color: var(--cp-footer-badge-text) !important;
  border: 1px solid var(--cp-footer-badge-border) !important;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
}

.landing-footer .footer-genre-pill {
  display: inline-block;
  background-color: var(--cp-footer-badge-bg) !important;
  color: var(--cp-footer-badge-text) !important;
  border: 1px solid var(--cp-footer-badge-border) !important;
  border-radius: 20px;
  font-weight: 600;
  transition: all 0.2s ease;
}

.landing-footer .footer-genre-pill:hover {
  background-color: var(--cp-footer-link-hover) !important;
  color: #ffffff !important;
  border-color: var(--cp-footer-link-hover) !important;
  transform: translateY(-2px);
}

.landing-footer .footer-status-card {
  background-color: var(--cp-footer-card-bg) !important;
  border: 1px solid var(--cp-footer-card-border) !important;
  border-radius: 10px;
}

.landing-footer .footer-status-text {
  color: var(--cp-footer-title) !important;
}

.landing-footer .footer-divider {
  border-color: var(--cp-footer-border) !important;
  opacity: 1 !important;
}

.landing-footer .footer-bottom-text {
  color: var(--cp-footer-muted) !important;
  font-weight: 500;
}


/* 12. Hero Section Sidebar Styles: Perfect Dual Mode Contrast */
.hero-sidebar-card {
  transition: background-color 0.25s ease, border-color 0.25s ease;
}

.hero-sidebar-item {
  transition: all 0.2s ease !important;
}

/* Light Mode: White Background + Black Titles */
html[data-theme="light"] .hero-sidebar-card,
.light-style .hero-sidebar-card {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
}

html[data-theme="light"] .hero-sidebar-title,
.light-style .hero-sidebar-title {
  color: #0a0e1a !important; /* Pure Black in Light Mode */
}

html[data-theme="light"] .hero-sidebar-meta,
.light-style .hero-sidebar-meta {
  color: #64748b !important;
}

html[data-theme="light"] .hero-sidebar-item {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}

html[data-theme="light"] .hero-sidebar-item:hover {
  background: #ede9fe !important;
  border-color: #7367f0 !important;
  transform: translateX(4px);
}

/* Dark Mode: Dark Background + Pure White Titles */
html[data-theme="dark"] .hero-sidebar-card,
.dark-style .hero-sidebar-card {
  background-color: #0b0f19 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.5) !important;
}

html[data-theme="dark"] .hero-sidebar-title,
.dark-style .hero-sidebar-title {
  color: #ffffff !important; /* Pure White in Dark Mode */
}

html[data-theme="dark"] .hero-sidebar-meta,
.dark-style .hero-sidebar-meta {
  color: #94a3b8 !important;
}

html[data-theme="dark"] .hero-sidebar-item {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .hero-sidebar-item:hover {
  background: rgba(115, 103, 240, 0.22) !important;
  border-color: rgba(115, 103, 240, 0.5) !important;
  transform: translateX(4px);
}

.custom-hero-scrollbar::-webkit-scrollbar {
  width: 5px;
}
.custom-hero-scrollbar::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.02);
}
.custom-hero-scrollbar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
}
.custom-hero-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #7367f0;
}
.theme-toggle-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  transition: all 0.25s ease;
}

.theme-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  transform: rotate(25deg);
}

html[data-theme="dark"] .theme-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #f59e0b !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}
