/* ========================================
   MUSICIAN WEBSITE THEME SYSTEM
   ======================================== */

/* Section background variants for dark mode */
:root {
    --section-bg-primary: #0d0d0d;
    --section-bg-alt: #141418;
    --section-bg-accent: #181820;
}

/* Section background variants for light mode */
[data-mode="light"] {
    --section-bg-primary: #ffffff;
    --section-bg-alt: #f8f8fa;
    --section-bg-accent: #f0f0f4;
}

[data-section-theme="light"] .section-bg-primary {
    background-color: #ffffff;
}

[data-section-theme="light"] .section-bg-alt {
    background-color: #f8f8fa;
}

[data-section-theme="light"] .section-bg-accent {
    background-color: #f0f0f4;
}

/* ========================================
   WEDDING THEME
   Elegant, romantic, gold accents
   ======================================== */
[data-theme="wedding"] {
    --primary-color: #c9a962;
    --primary-hover: #b8973f;
    --primary-rgb: 201, 169, 98;
    --bg-dark: #1a1a1a;
    --bg-darker: #121212;
    --bg-black: #0a0a0a;
    --bg-light: #252320;
    --bg-accent: #2a2520;
    --text-light: #ffffff;
    --text-dark: #1a1a1a;
    --text-muted: #b0a090;
    --text-muted-dark: #666666;
    --accent-gradient: linear-gradient(135deg, #c9a962 0%, #e8d5a3 100%);
    --card-bg: rgba(30, 30, 30, 0.8);
    --border-radius: 12px;
    --border-radius-sm: 8px;
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Lato', 'Helvetica Neue', sans-serif;
}

/* ========================================
   ROCK AND ROLL THEME
   Bold, edgy, red/black accents
   ======================================== */
[data-theme="rock"] {
    --primary-color: #e53935;
    --primary-hover: #c62828;
    --primary-rgb: 229, 57, 53;
    --bg-dark: #0f0f0f;
    --bg-darker: #080808;
    --bg-black: #000000;
    --bg-light: #1a1a1a;
    --bg-accent: #1c0a0a;
    --text-light: #ffffff;
    --text-dark: #0f0f0f;
    --text-muted: #888888;
    --text-muted-dark: #555555;
    --accent-gradient: linear-gradient(135deg, #e53935 0%, #ff6f60 100%);
    --card-bg: rgba(20, 20, 20, 0.9);
    --border-radius: 0px;
    --border-radius-sm: 0px;
    --font-heading: 'Oswald', 'Impact', sans-serif;
    --font-body: 'Source Sans Pro', 'Helvetica Neue', sans-serif;
}

[data-theme="rock"] h1,
[data-theme="rock"] h2,
[data-theme="rock"] h3,
[data-theme="rock"] h4,
[data-theme="rock"] h5,
[data-theme="rock"] h6,
[data-theme="rock"] .section-title,
[data-theme="rock"] .hero-title {
    font-family: 'Oswald', 'Impact', sans-serif;
    text-transform: uppercase;
    letter-spacing: 3px;
}

[data-theme="rock"] .btn-hero {
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
}

[data-theme="rock"] .section-divider {
    height: 4px;
    background: var(--primary-color);
}

/* ========================================
   CLUB DJ THEME
   Vibrant, neon, purple/cyan accents
   ======================================== */
[data-theme="club"] {
    --primary-color: #00e5ff;
    --primary-hover: #00b8d4;
    --primary-rgb: 0, 229, 255;
    --bg-dark: #0d0d1a;
    --bg-darker: #080810;
    --bg-black: #000005;
    --bg-light: #12121f;
    --bg-accent: #0a0a14;
    --text-light: #ffffff;
    --text-dark: #0d0d1a;
    --text-muted: #9090a8;
    --text-muted-dark: #5a5a70;
    --accent-gradient: linear-gradient(135deg, #00e5ff 0%, #d500f9 100%);
    --card-bg: rgba(20, 20, 40, 0.85);
    --border-radius: 16px;
    --border-radius-sm: 10px;
    --font-heading: 'Josefin Sans', 'Helvetica Neue', sans-serif;
    --font-body: 'Open Sans', 'Helvetica Neue', sans-serif;
}

[data-theme="club"] h1,
[data-theme="club"] h2,
[data-theme="club"] h3,
[data-theme="club"] h4,
[data-theme="club"] h5,
[data-theme="club"] h6,
[data-theme="club"] .section-title,
[data-theme="club"] .hero-title {
    font-family: 'Josefin Sans', 'Helvetica Neue', sans-serif;
    text-transform: uppercase;
    letter-spacing: 4px;
}

[data-theme="club"] .btn-hero {
    background: transparent;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 2px;
    box-shadow: 0 0 15px rgba(0, 229, 255, 0.3);
}

[data-theme="club"] .btn-hero:hover {
    background: var(--accent-gradient);
    border-color: transparent;
    color: #000;
    box-shadow: 0 0 30px rgba(0, 229, 255, 0.5);
}

[data-theme="club"] .btn-primary {
    background: var(--accent-gradient) !important;
    border: none !important;
    color: #000 !important;
}

[data-theme="club"] .btn-primary:hover {
    box-shadow: 0 0 25px rgba(0, 229, 255, 0.5);
}

[data-theme="club"] .section-divider {
    height: 2px;
    background: var(--accent-gradient);
}

[data-theme="club"] .navbar-logo,
[data-theme="club"] .drawer-logo {
    filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.5));
}

/* ========================================
   CLASSICAL THEME
   Refined, sophisticated, burgundy/cream
   ======================================== */
[data-theme="classical"] {
    --primary-color: #8b4557;
    --primary-hover: #6d3545;
    --primary-rgb: 139, 69, 87;
    --bg-dark: #1c1917;
    --bg-darker: #141210;
    --bg-black: #0c0a09;
    --bg-light: #211e1c;
    --bg-accent: #1a1715;
    --text-light: #faf5f0;
    --text-dark: #1c1917;
    --text-muted: #b8b0a8;
    --text-muted-dark: #7a746e;
    --accent-gradient: linear-gradient(135deg, #8b4557 0%, #c17f8e 100%);
    --card-bg: rgba(28, 25, 23, 0.9);
    --border-radius: 4px;
    --border-radius-sm: 2px;
    --font-heading: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'Raleway', 'Helvetica Neue', sans-serif;
}

[data-theme="classical"] h1,
[data-theme="classical"] h2,
[data-theme="classical"] h3,
[data-theme="classical"] h4,
[data-theme="classical"] h5,
[data-theme="classical"] h6,
[data-theme="classical"] .section-title,
[data-theme="classical"] .hero-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 400;
    letter-spacing: 2px;
}

[data-theme="classical"] .section-divider {
    height: 1px;
    background: var(--primary-color);
}

[data-theme="classical"] .btn-hero {
    border: 2px solid var(--primary-color);
    background: transparent;
    color: var(--text-light);
}

[data-theme="classical"] .btn-hero:hover {
    background: var(--primary-color);
    color: var(--text-light);
}

[data-theme="classical"] .btn-primary {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-light) !important;
}

[data-theme="classical"] .btn-primary:hover {
    background: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
}

/* ========================================
   JAZZ THEME
   Cool, smooth, blue/gold accents
   ======================================== */
[data-theme="jazz"] {
    --primary-color: #d4a44c;
    --primary-hover: #b88b3a;
    --primary-rgb: 212, 164, 76;
    --bg-dark: #0f1419;
    --bg-darker: #0a0e12;
    --bg-black: #05080a;
    --bg-light: #151a20;
    --bg-accent: #0c1015;
    --text-light: #f0ebe3;
    --text-dark: #0f1419;
    --text-muted: #a0a8b0;
    --text-muted-dark: #606870;
    --accent-gradient: linear-gradient(135deg, #1e3a5f 0%, #d4a44c 100%);
    --card-bg: rgba(15, 20, 25, 0.9);
    --border-radius: 8px;
    --border-radius-sm: 4px;
    --font-heading: 'Libre Baskerville', Georgia, serif;
    --font-body: 'Montserrat', 'Helvetica Neue', sans-serif;
}

[data-theme="jazz"] h1,
[data-theme="jazz"] h2,
[data-theme="jazz"] h3,
[data-theme="jazz"] h4,
[data-theme="jazz"] h5,
[data-theme="jazz"] h6,
[data-theme="jazz"] .section-title,
[data-theme="jazz"] .hero-title {
    font-family: 'Libre Baskerville', Georgia, serif;
    font-style: italic;
}

[data-theme="jazz"] .section-divider {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--primary-color), transparent);
}

[data-theme="jazz"] .btn-hero {
    border: 2px solid var(--primary-color);
    background: transparent;
    color: var(--primary-color);
}

[data-theme="jazz"] .btn-hero:hover {
    background: var(--primary-color);
    color: var(--bg-dark);
}

/* ========================================
   COUNTRY THEME
   Warm, rustic, brown/amber accents
   ======================================== */
[data-theme="country"] {
    --primary-color: #d97706;
    --primary-hover: #b45309;
    --primary-rgb: 217, 119, 6;
    --bg-dark: #1f1a17;
    --bg-darker: #161210;
    --bg-black: #0d0a08;
    --bg-light: #251f1a;
    --bg-accent: #1a1512;
    --text-light: #fef3e2;
    --text-dark: #1f1a17;
    --text-muted: #c8b8a6;
    --text-muted-dark: #6a5a4a;
    --accent-gradient: linear-gradient(135deg, #92400e 0%, #d97706 100%);
    --card-bg: rgba(31, 26, 23, 0.9);
    --border-radius: 6px;
    --border-radius-sm: 4px;
    --font-heading: 'Oswald', 'Impact', sans-serif;
    --font-body: 'Source Sans Pro', 'Helvetica Neue', sans-serif;
}

[data-theme="country"] h1,
[data-theme="country"] h2,
[data-theme="country"] h3,
[data-theme="country"] h4,
[data-theme="country"] h5,
[data-theme="country"] h6,
[data-theme="country"] .section-title,
[data-theme="country"] .hero-title {
    font-family: 'Oswald', 'Impact', sans-serif;
    text-transform: uppercase;
}

[data-theme="country"] .section-divider {
    height: 3px;
    background: var(--primary-color);
}

[data-theme="country"] .btn-hero {
    border: 2px solid var(--primary-color);
    background: transparent;
    color: var(--primary-color);
}

[data-theme="country"] .btn-hero:hover {
    background: var(--primary-color);
    color: var(--bg-dark);
}

/* ========================================
   THEME-SPECIFIC COMPONENT OVERRIDES
   ======================================== */

/* Apply border radius from theme */
[data-theme] .rounded-3,
[data-theme] .about-image,
[data-theme] .package-card,
[data-theme] .review-card {
    border-radius: var(--border-radius) !important;
}

[data-theme] .btn,
[data-theme] .form-control,
[data-theme] input,
[data-theme] textarea {
    border-radius: var(--border-radius-sm) !important;
}

/* Gallery items */
[data-theme] .gallery-item,
[data-theme] .gallery-item img {
    border-radius: var(--border-radius-sm);
}

/* Package cards */
[data-theme] .package-card {
    background: var(--card-bg);
}

/* Review cards */
[data-theme] .review-card {
    background: var(--card-bg);
}

/* Section backgrounds */
[data-theme] .bg-dark {
    background-color: var(--bg-dark) !important;
}

[data-theme] .bg-darker {
    background-color: var(--bg-darker) !important;
}

/* Primary colors */
[data-theme] .text-primary,
[data-theme] .social-link:hover,
[data-theme] .navbar-nav .nav-link:hover,
[data-theme] .navbar-nav .nav-link.active,
[data-theme] .drawer-link:hover,
[data-theme] .drawer-link.active {
    color: var(--primary-color) !important;
}

/* Links - don't override all links, just specific ones */
[data-theme] .footer-links a,
[data-theme] .contact-item a {
    color: var(--text-light);
}

[data-theme] .footer-links a:hover,
[data-theme] .contact-item a:hover {
    color: var(--primary-color) !important;
}

/* Hero Button - outline style that fills on hover */
[data-theme] .btn-hero {
    background-color: transparent;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
}

[data-theme] .btn-hero:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--bg-dark);
}

/* Primary Button - solid style */
[data-theme] .btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--bg-dark) !important;
}

[data-theme] .btn-primary:hover {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
    color: var(--bg-dark) !important;
}

[data-theme] .section-divider {
    background-color: var(--primary-color);
}

[data-theme] .packages-label,
[data-theme] .about-label {
    color: var(--primary-color);
}

/* Drawer active state */
[data-theme] .drawer-link:hover,
[data-theme] .drawer-link.active {
    background: rgba(var(--primary-rgb), 0.1);
    border-left-color: var(--primary-color);
}

/* Mobile drawer */
[data-theme] .mobile-drawer {
    background: var(--bg-black);
}

/* ========================================
   LIGHT MODE VARIANTS
   ======================================== */

/* WEDDING - Light Mode */
[data-theme="wedding"][data-mode="light"] {
    --bg-dark: #faf8f5;
    --bg-darker: #f0ebe4;
    --bg-black: #e8e2d8;
    --bg-light: #ffffff;
    --bg-accent: #f5f2ed;
    --text-light: #2a2520;
    --text-dark: #2a2520;
    --text-muted: #6b6358;
    --text-muted-dark: #8a8278;
    --card-bg: rgba(255, 255, 255, 0.95);
}

/* ROCK - Light Mode */
[data-theme="rock"][data-mode="light"] {
    --bg-dark: #f5f5f5;
    --bg-darker: #eaeaea;
    --bg-black: #e0e0e0;
    --bg-light: #ffffff;
    --bg-accent: #f8f8f8;
    --text-light: #1a1a1a;
    --text-dark: #1a1a1a;
    --text-muted: #555555;
    --text-muted-dark: #777777;
    --card-bg: rgba(255, 255, 255, 0.95);
}

/* CLUB DJ - Light Mode */
[data-theme="club"][data-mode="light"] {
    --primary-color: #0097a7;
    --primary-hover: #00838f;
    --bg-dark: #f5f7fa;
    --bg-darker: #eaeff5;
    --bg-black: #dde5ef;
    --bg-light: #ffffff;
    --bg-accent: #f0f4f8;
    --text-light: #1a1a2e;
    --text-dark: #1a1a2e;
    --text-muted: #5a5a7a;
    --text-muted-dark: #8888a8;
    --accent-gradient: linear-gradient(135deg, #0097a7 0%, #9c27b0 100%);
    --card-bg: rgba(255, 255, 255, 0.95);
}

/* CLASSICAL - Light Mode */
[data-theme="classical"][data-mode="light"] {
    --bg-dark: #faf8f6;
    --bg-darker: #f2eeea;
    --bg-black: #e8e2dc;
    --bg-light: #ffffff;
    --bg-accent: #f7f4f1;
    --text-light: #2c2420;
    --text-dark: #2c2420;
    --text-muted: #6a605a;
    --text-muted-dark: #958a82;
    --card-bg: rgba(255, 255, 255, 0.95);
}

/* JAZZ - Light Mode */
[data-theme="jazz"][data-mode="light"] {
    --bg-dark: #f5f7fa;
    --bg-darker: #e8ecf2;
    --bg-black: #dae0e8;
    --bg-light: #ffffff;
    --bg-accent: #f0f3f8;
    --text-light: #1a2530;
    --text-dark: #1a2530;
    --text-muted: #5a6570;
    --text-muted-dark: #8a95a0;
    --card-bg: rgba(255, 255, 255, 0.95);
}

/* COUNTRY - Light Mode */
[data-theme="country"][data-mode="light"] {
    --bg-dark: #faf6f0;
    --bg-darker: #f2ebe0;
    --bg-black: #e8dfd0;
    --bg-light: #ffffff;
    --bg-accent: #f7f2ea;
    --text-light: #2a2015;
    --text-dark: #2a2015;
    --text-muted: #6a5a45;
    --text-muted-dark: #958568;
    --card-bg: rgba(255, 255, 255, 0.95);
}

/* ========================================
   LIGHT MODE GLOBAL OVERRIDES
   ======================================== */

[data-mode="light"] .navbar {
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.05);
}

[data-mode="light"] .navbar.navbar-scrolled {
    background: rgba(255, 255, 255, 1) !important;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
}

/* Logo keeps original colors - no filter applied */

[data-mode="light"] .navbar .nav-link {
    color: var(--text-dark) !important;
}

[data-mode="light"] .navbar .nav-link:hover,
[data-mode="light"] .navbar .nav-link.active {
    color: var(--primary-color) !important;
}

[data-mode="light"] .mobile-drawer {
    background: #ffffff;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.1);
}

[data-mode="light"] .drawer-link {
    color: var(--text-dark);
}

[data-mode="light"] .drawer-link:hover,
[data-mode="light"] .drawer-link.active {
    color: var(--primary-color);
}

/* Mobile navigation visibility in light mode */
[data-mode="light"] .navbar-toggler {
    border: 2px solid var(--text-dark);
    background: transparent;
}

[data-mode="light"] .navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(33, 37, 41, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

[data-mode="light"] .navbar-brand {
    color: var(--text-dark) !important;
}

[data-mode="light"] .drawer-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

[data-mode="light"] .drawer-close {
    color: var(--text-dark);
}

[data-mode="light"] .drawer-brand {
    color: var(--text-dark);
}

[data-mode="light"] .footer {
    background: #ffffff;
    color: var(--text-dark);
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.03);
}

[data-mode="light"] .footer-links a {
    color: var(--text-dark);
}

[data-mode="light"] .footer-heading {
    color: var(--text-dark);
}

[data-mode="light"] .footer-tagline {
    color: var(--text-muted);
}

[data-mode="light"] .social-link {
    color: var(--text-dark);
    border-color: var(--text-muted);
}

[data-mode="light"] .social-link:hover {
    color: var(--primary-color) !important;
    border-color: var(--primary-color);
}

/* Global text colors for light mode - exclude sections with explicit themes */
[data-mode="light"] :not([data-section-theme]) > .section-title,
[data-mode="light"] section:not([data-section-theme]) .section-title,
[data-mode="light"] :not([data-section-theme]) > h1:not(.hero-title), 
[data-mode="light"] :not([data-section-theme]) > h2:not(.hero-section h2), 
[data-mode="light"] :not([data-section-theme]) > h3, 
[data-mode="light"] :not([data-section-theme]) > h4,
[data-mode="light"] section:not([data-section-theme]) h1:not(.hero-title), 
[data-mode="light"] section:not([data-section-theme]) h2, 
[data-mode="light"] section:not([data-section-theme]) h3, 
[data-mode="light"] section:not([data-section-theme]) h4 {
    color: var(--text-dark);
}

[data-mode="light"] :not([data-section-theme]) .text-white:not(.hero-section .text-white),
[data-mode="light"] section:not([data-section-theme]) .text-white:not(.hero-section .text-white) {
    color: var(--text-dark) !important;
}

/* Hero section always stays dark mode style */
[data-mode="light"] .hero-section,
[data-mode="light"] .hero-section * {
    color: #ffffff;
}

[data-mode="light"] .hero-title,
[data-mode="light"] .hero-subtitle {
    color: #ffffff !important;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8);
}

[data-mode="light"] :not([data-section-theme]) .text-muted,
[data-mode="light"] section:not([data-section-theme]) .text-muted {
    color: var(--text-muted) !important;
}

/* Section-specific light mode styles - only apply when section has NO explicit theme */
[data-mode="light"] :not([data-section-theme]) .contact-item,
[data-mode="light"] :not([data-section-theme]) .contact-item a,
[data-mode="light"] section:not([data-section-theme]) .contact-item,
[data-mode="light"] section:not([data-section-theme]) .contact-item a {
    color: var(--text-dark);
}

[data-mode="light"] .kind-words-section:not([data-section-theme]),
[data-mode="light"] section.kind-words-section:not([data-section-theme]) {
    background-color: var(--bg-darker);
}

[data-mode="light"] :not([data-section-theme]) .kind-words-title,
[data-mode="light"] :not([data-section-theme]) .review-quote-text,
[data-mode="light"] :not([data-section-theme]) .review-author-name,
[data-mode="light"] section:not([data-section-theme]) .kind-words-title,
[data-mode="light"] section:not([data-section-theme]) .review-quote-text,
[data-mode="light"] section:not([data-section-theme]) .review-author-name {
    color: var(--text-dark);
}

[data-mode="light"] :not([data-section-theme]) .carousel-arrow,
[data-mode="light"] section:not([data-section-theme]) .carousel-arrow {
    background: rgba(0, 0, 0, 0.1);
    color: var(--text-dark);
    border-color: rgba(0, 0, 0, 0.3);
}

[data-mode="light"] :not([data-section-theme]) .carousel-arrow:hover,
[data-mode="light"] section:not([data-section-theme]) .carousel-arrow:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #ffffff;
}

[data-mode="light"] :not([data-section-theme]) .package-card,
[data-mode="light"] section:not([data-section-theme]) .package-card {
    background: var(--card-bg);
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

[data-mode="light"] :not([data-section-theme]) .package-title,
[data-mode="light"] :not([data-section-theme]) .package-description,
[data-mode="light"] section:not([data-section-theme]) .package-title,
[data-mode="light"] section:not([data-section-theme]) .package-description {
    color: var(--text-dark);
}

[data-mode="light"] :not([data-section-theme]) .about-text,
[data-mode="light"] :not([data-section-theme]) .about-heading,
[data-mode="light"] section:not([data-section-theme]) .about-text,
[data-mode="light"] section:not([data-section-theme]) .about-heading {
    color: var(--text-dark);
}

[data-mode="light"] :not([data-section-theme]) .audio-title,
[data-mode="light"] :not([data-section-theme]) .audio-artist,
[data-mode="light"] section:not([data-section-theme]) .audio-title,
[data-mode="light"] section:not([data-section-theme]) .audio-artist {
    color: var(--text-dark);
}

/* ========================================
   SECTION-LEVEL THEME SYSTEM
   Clean, centralized approach
   Section theme ALWAYS overrides site mode
   ======================================== */

/* ----- DARK SECTION THEME ----- */
/* Forces light/white text on dark background */
[data-section-theme="dark"] {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

[data-section-theme="dark"] h1,
[data-section-theme="dark"] h2,
[data-section-theme="dark"] h3,
[data-section-theme="dark"] h4,
[data-section-theme="dark"] h5,
[data-section-theme="dark"] h6,
[data-section-theme="dark"] .section-title,
[data-section-theme="dark"] .section-subtitle,
[data-section-theme="dark"] .packages-title,
[data-section-theme="dark"] .package-title,
[data-section-theme="dark"] .kind-words-title,
[data-section-theme="dark"] .about-heading,
[data-section-theme="dark"] .about-title,
[data-section-theme="dark"] .contact-title {
    color: #ffffff !important;
}

[data-section-theme="dark"] p,
[data-section-theme="dark"] span:not(.btn span),
[data-section-theme="dark"] li,
[data-section-theme="dark"] label,
[data-section-theme="dark"] .about-text,
[data-section-theme="dark"] .package-description,
[data-section-theme="dark"] .review-quote-text,
[data-section-theme="dark"] .review-author-name,
[data-section-theme="dark"] .contact-item,
[data-section-theme="dark"] .contact-item a,
[data-section-theme="dark"] .contact-info {
    color: rgba(255, 255, 255, 0.9) !important;
}

[data-section-theme="dark"] .text-muted,
[data-section-theme="dark"] small,
[data-section-theme="dark"] .packages-label {
    color: rgba(255, 255, 255, 0.65) !important;
}

[data-section-theme="dark"] .section-divider {
    background-color: var(--primary-color) !important;
}

/* Dark theme cards */
[data-section-theme="dark"] .card,
[data-section-theme="dark"] .service-card,
[data-section-theme="dark"] .package-card,
[data-section-theme="dark"] .review-card,
[data-section-theme="dark"] .faq-item,
[data-section-theme="dark"] .venue-card,
[data-section-theme="dark"] .band-member-card,
[data-section-theme="dark"] .genre-card,
[data-section-theme="dark"] .gear-card,
[data-section-theme="dark"] .event-type-card,
[data-section-theme="dark"] .pillar-card {
    background: rgba(30, 30, 30, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

/* Dark theme form elements */
[data-section-theme="dark"] .form-control,
[data-section-theme="dark"] .form-select,
[data-section-theme="dark"] textarea {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
}

[data-section-theme="dark"] .form-control::placeholder,
[data-section-theme="dark"] textarea::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Dark theme accordion/FAQ */
[data-section-theme="dark"] .accordion-button {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}

[data-section-theme="dark"] .accordion-body {
    background-color: rgba(0, 0, 0, 0.2) !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Dark theme carousel */
[data-section-theme="dark"] .carousel-arrow {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

/* Dark theme icons */
[data-section-theme="dark"] .fa,
[data-section-theme="dark"] .fas,
[data-section-theme="dark"] .far,
[data-section-theme="dark"] .fab,
[data-section-theme="dark"] i:not(.btn i) {
    color: inherit;
}

/* ----- LIGHT SECTION THEME ----- */
/* Forces dark text on light background */
[data-section-theme="light"] {
    background-color: #ffffff !important;
    color: #333333 !important;
}

[data-section-theme="light"] h1,
[data-section-theme="light"] h2,
[data-section-theme="light"] h3,
[data-section-theme="light"] h4,
[data-section-theme="light"] h5,
[data-section-theme="light"] h6,
[data-section-theme="light"] .section-title,
[data-section-theme="light"] .section-subtitle,
[data-section-theme="light"] .packages-title,
[data-section-theme="light"] .package-title,
[data-section-theme="light"] .kind-words-title,
[data-section-theme="light"] .about-heading,
[data-section-theme="light"] .about-title,
[data-section-theme="light"] .contact-title {
    color: #1a1a1a !important;
}

[data-section-theme="light"] p,
[data-section-theme="light"] span:not(.btn span),
[data-section-theme="light"] li,
[data-section-theme="light"] label,
[data-section-theme="light"] .about-text,
[data-section-theme="light"] .package-description,
[data-section-theme="light"] .review-quote-text,
[data-section-theme="light"] .review-author-name,
[data-section-theme="light"] .contact-item,
[data-section-theme="light"] .contact-item a,
[data-section-theme="light"] .contact-info {
    color: #333333 !important;
}

[data-section-theme="light"] .text-muted,
[data-section-theme="light"] small,
[data-section-theme="light"] .packages-label {
    color: #666666 !important;
}

[data-section-theme="light"] .section-divider {
    background-color: var(--primary-color) !important;
}

/* Light theme cards */
[data-section-theme="light"] .card,
[data-section-theme="light"] .service-card,
[data-section-theme="light"] .package-card,
[data-section-theme="light"] .review-card,
[data-section-theme="light"] .faq-item,
[data-section-theme="light"] .venue-card,
[data-section-theme="light"] .band-member-card,
[data-section-theme="light"] .genre-card,
[data-section-theme="light"] .gear-card,
[data-section-theme="light"] .event-type-card,
[data-section-theme="light"] .pillar-card {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
    color: #333333 !important;
}

/* Light theme form elements */
[data-section-theme="light"] .form-control,
[data-section-theme="light"] .form-select,
[data-section-theme="light"] textarea {
    background-color: #ffffff !important;
    border-color: #ced4da !important;
    color: #333333 !important;
}

[data-section-theme="light"] .form-control::placeholder,
[data-section-theme="light"] textarea::placeholder {
    color: #6c757d !important;
}

/* Light theme accordion/FAQ */
[data-section-theme="light"] .accordion-button {
    background-color: #f8f9fa !important;
    color: #333333 !important;
}

[data-section-theme="light"] .accordion-body {
    background-color: #ffffff !important;
    color: #333333 !important;
}

/* Light theme carousel */
[data-section-theme="light"] .carousel-arrow {
    background: rgba(0, 0, 0, 0.1) !important;
    color: #333333 !important;
    border-color: rgba(0, 0, 0, 0.3) !important;
}

/* Light theme icons */
[data-section-theme="light"] .fa,
[data-section-theme="light"] .fas,
[data-section-theme="light"] .far,
[data-section-theme="light"] .fab,
[data-section-theme="light"] i:not(.btn i) {
    color: inherit;
}

/* ========================================
   AUDIO PLAYER - SECTION THEME SUPPORT
   ======================================== */

[data-section-theme="dark"] .audio-player-wrapper {
    background: rgba(30, 30, 30, 0.98) !important;
}

[data-section-theme="dark"] .audio-title,
[data-section-theme="dark"] .audio-artist,
[data-section-theme="dark"] .playlist-item-title,
[data-section-theme="dark"] .playlist-item-artist {
    color: #ffffff !important;
}

[data-section-theme="dark"] .audio-time,
[data-section-theme="dark"] .playlist-item-num {
    color: rgba(255, 255, 255, 0.6) !important;
}

[data-section-theme="dark"] .audio-btn {
    color: #ffffff !important;
}

[data-section-theme="light"] .audio-player-wrapper {
    background: rgba(248, 249, 250, 0.98) !important;
}

[data-section-theme="light"] .audio-title,
[data-section-theme="light"] .audio-artist,
[data-section-theme="light"] .playlist-item-title,
[data-section-theme="light"] .playlist-item-artist {
    color: #1a1a1a !important;
}

[data-section-theme="light"] .audio-time,
[data-section-theme="light"] .playlist-item-num {
    color: #666666 !important;
}

[data-section-theme="light"] .audio-btn {
    color: #333333 !important;
}

/* ========================================
   HEADER/NAV THEME SUPPORT
   ======================================== */

/* Dark Header */
#mainNav[data-section-theme="dark"] {
    background: rgba(10, 10, 10, 0.95) !important;
}

#mainNav[data-section-theme="dark"] .navbar-brand,
#mainNav[data-section-theme="dark"] .nav-link {
    color: #ffffff !important;
}

#mainNav[data-section-theme="dark"] .nav-link:hover {
    color: var(--primary-color) !important;
}

/* Light Header */
#mainNav[data-section-theme="light"] {
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

#mainNav[data-section-theme="light"] .navbar-brand,
#mainNav[data-section-theme="light"] .nav-link {
    color: #333333 !important;
}

#mainNav[data-section-theme="light"] .nav-link:hover {
    color: var(--primary-color) !important;
}

#mainNav[data-section-theme="light"] .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(33, 37, 41, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* ========================================
   FOOTER THEME SUPPORT
   ======================================== */

/* Dark Footer */
.footer[data-section-theme="dark"] {
    background: #0a0a0a !important;
    color: #ffffff !important;
}

.footer[data-section-theme="dark"] .footer-heading,
.footer[data-section-theme="dark"] .footer-brand h3 {
    color: #ffffff !important;
}

.footer[data-section-theme="dark"] .footer-tagline,
.footer[data-section-theme="dark"] .footer-links a,
.footer[data-section-theme="dark"] .footer-copyright {
    color: rgba(255, 255, 255, 0.7) !important;
}

.footer[data-section-theme="dark"] .footer-links a:hover {
    color: var(--primary-color) !important;
}

.footer[data-section-theme="dark"] .social-link {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

.footer[data-section-theme="dark"] .footer-email {
    color: rgba(255, 255, 255, 0.8) !important;
}

.footer[data-section-theme="dark"] .footer-divider {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Light Footer */
.footer[data-section-theme="light"] {
    background: #ffffff !important;
    color: #333333 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.footer[data-section-theme="light"] .footer-heading,
.footer[data-section-theme="light"] .footer-brand h3 {
    color: #1a1a1a !important;
}

.footer[data-section-theme="light"] .footer-tagline,
.footer[data-section-theme="light"] .footer-links a,
.footer[data-section-theme="light"] .footer-copyright {
    color: #666666 !important;
}

.footer[data-section-theme="light"] .footer-links a:hover {
    color: var(--primary-color) !important;
}

.footer[data-section-theme="light"] .social-link {
    color: #333333 !important;
    border-color: rgba(0, 0, 0, 0.2) !important;
}

.footer[data-section-theme="light"] .footer-email {
    color: #333333 !important;
}

.footer[data-section-theme="light"] .footer-divider {
    border-color: rgba(0, 0, 0, 0.1) !important;
}

/* ========================================
   MOBILE DRAWER THEME SUPPORT
   ======================================== */

/* Dark Drawer */
.mobile-drawer[data-section-theme="dark"] {
    background: #0a0a0a !important;
}

.mobile-drawer[data-section-theme="dark"] .drawer-header {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

.mobile-drawer[data-section-theme="dark"] .drawer-brand {
    color: #ffffff !important;
}

.mobile-drawer[data-section-theme="dark"] .drawer-close {
    color: #ffffff !important;
}

.mobile-drawer[data-section-theme="dark"] .drawer-link {
    color: rgba(255, 255, 255, 0.85) !important;
}

.mobile-drawer[data-section-theme="dark"] .drawer-link:hover,
.mobile-drawer[data-section-theme="dark"] .drawer-link.active {
    color: var(--primary-color) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

/* Light Drawer */
.mobile-drawer[data-section-theme="light"] {
    background: #ffffff !important;
}

.mobile-drawer[data-section-theme="light"] .drawer-header {
    border-bottom-color: rgba(0, 0, 0, 0.1) !important;
}

.mobile-drawer[data-section-theme="light"] .drawer-brand {
    color: #1a1a1a !important;
}

.mobile-drawer[data-section-theme="light"] .drawer-close {
    color: #333333 !important;
}

.mobile-drawer[data-section-theme="light"] .drawer-link {
    color: #333333 !important;
}

.mobile-drawer[data-section-theme="light"] .drawer-link:hover,
.mobile-drawer[data-section-theme="light"] .drawer-link.active {
    color: var(--primary-color) !important;
    background: rgba(0, 0, 0, 0.03) !important;
}