/**
 * RG Black Limo LLC - Theme Logic
 * Version 5 (Cache Buster)
 */

/* =========================================
   1. CORE VARIABLES & DEFAULTS
   ========================================= */
:root {
  /* Default Gold */
  --accent-color: #D4AF37;
  --accent-bg: rgba(212, 175, 55, 0.15);

  /* Gold aliases (used by route pages) */
  --accent-gold: #D4AF37;
  --accent-gold-light: #F4E4C1;
  --accent-gold-dark: #8B7024;

  /* Border aliases */
  --border-primary: rgba(255,255,255,0.1);
  --border-secondary: rgba(255,255,255,0.06);

  /* Card backgrounds */
  --bg-card-hover: rgba(255,255,255,0.06);

  /* Glow effects */
  --glow-gold: 0 8px 30px rgba(212,175,55,0.3);
  --glow-gold-strong: 0 14px 44px rgba(212,175,55,0.45);

  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.15);
  --shadow-md: 0 8px 24px rgba(0,0,0,0.2);
  --shadow-lg: 0 16px 48px rgba(0,0,0,0.25);

  /* Shared Defaults */
  --transition: cubic-bezier(0.16, 1, 0.3, 1);
}

/* =========================================
   2. ACCENT OVERRIDES (Specificity Boosted)
   ========================================= */

/* Green (Razer) */
html[data-accent="green"] {
  --accent-color: #00FF00;
  --accent-bg: rgba(0, 255, 0, 0.2);
}

/* Orange (Sunset) */
html[data-accent="orange"] {
  --accent-color: #f97316; /* Bright Sunset Orange */
  --accent-bg: rgba(249, 115, 22, 0.2);
}

/* Gold (Default) */
html[data-accent="gold"] {
  --accent-color: #D4AF37;
  --accent-bg: rgba(212, 175, 55, 0.15);
}

/* =========================================
   3. NIGHT MODE (Dark)
   ========================================= */
[data-theme="dark"] {
  --bg-primary: #050505;
  --bg-secondary: #0a0a0a;
  --bg-tertiary: #141414;
  --bg-card: rgba(255,255,255,0.03);
  --bg-card-hover: rgba(255,255,255,0.06);

  --header-bg: rgba(5, 5, 5, 0.85);
  --border-color: rgba(255,255,255,0.1);
  --border-primary: rgba(255,255,255,0.1);
  --border-secondary: rgba(255,255,255,0.06);
  --hover-bg: rgba(255,255,255,0.05);

  --text-primary: #ffffff;
  --text-secondary: rgba(255,255,255,0.7);
  --text-muted: rgba(255,255,255,0.5);

  --accent-gold: #D4AF37;
  --accent-gold-light: #F4E4C1;
  --glow-gold: 0 8px 30px rgba(212,175,55,0.3);
  --glow-gold-strong: 0 14px 44px rgba(212,175,55,0.45);
}

/* =========================================
   4. DAY MODE (Light)
   ========================================= */
[data-theme="light"] {
  --bg-primary: #ffffff;
  --bg-secondary: #f4f4f5;
  --bg-tertiary: #e4e4e7;
  --bg-card: #ffffff;
  --bg-card-hover: rgba(0,0,0,0.04);

  --header-bg: rgba(255, 255, 255, 0.95);
  --border-color: rgba(0,0,0,0.1);
  --border-primary: rgba(0,0,0,0.1);
  --border-secondary: rgba(0,0,0,0.06);
  --hover-bg: rgba(0,0,0,0.05);

  --text-primary: #000000;
  --text-secondary: rgba(0,0,0,0.75);
  --text-muted: rgba(0,0,0,0.5);

  --accent-gold: #8B7024;
  --accent-gold-light: #6B5619;
  --glow-gold: 0 8px 30px rgba(212,175,55,0.15);
  --glow-gold-strong: 0 14px 44px rgba(212,175,55,0.25);
}

/* =========================================
   5. COMPONENT STYLING
   ========================================= */
body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}

/* Text Colors — scoped to avoid overriding page-specific styles */
/* Only apply to elements NOT inside homepage sections (hp-s) or landing pages (lp-) */
:where(h1, h2, h3, h4, h5, h6):not([class*="hp-"]):not(.hp-s *):not(.cc-s *):not(.vip-s *) { color: var(--text-primary); }
:where(p, span, li):not([class*="hp-"]):not(.hp-s *):not(.cc-s *):not(.vip-s *) { color: var(--text-secondary); }

/* Header & Nav */
.nav-link { color: var(--text-secondary); }
.nav-link:hover, .nav-link.active {
  color: var(--accent-color);
  background-color: var(--hover-bg);
}

/* Icons */
.gear-btn {
  border-color: var(--border-color);
  background: var(--bg-tertiary);
  color: var(--text-secondary);
}
.gear-btn:hover {
  color: var(--accent-color);
  background: var(--hover-bg);
}

/* Buttons */
.cta-button {
  background: var(--accent-color);
  color: #000 !important;
  font-weight: bold;
}

/* =========================================
   6. LEGACY FIX: OLD HERO CLASSES (services, etc.)
   ========================================= */
/* Only targets old .hero-section class (NOT homepage .hp-hero) */
[data-theme="light"] .hero-section h1,
[data-theme="light"] .hero-section h2,
[data-theme="light"] .hero-section h3,
[data-theme="light"] .hero-section p,
[data-theme="light"] .hero-section span,
[data-theme="light"] .hero-title,
[data-theme="light"] .hero-subtitle {
  color: #000000 !important;
  text-shadow: none !important;
}

/* =========================================
   7. LIGHT MODE - HOMEPAGE OVERRIDES
   Global safety net for all homepage elements
   (detailed overrides also live in index.php)
   ========================================= */
/* Hero Title Gradient */
[data-theme="light"] .hp-hero-title {
  -webkit-text-fill-color: initial;
}
[data-theme="light"] .hp-title-gradient {
  background: linear-gradient(135deg, #111 0%, #444 50%, #8B7024 100%) !important;
  background-size: 200% auto;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
/* Hero text — hero is DARK section, keep light text */
/* .hp-hero-desc and .hp-hero-sub are on dark bg — do NOT make black */
[data-theme="light"] .hp-s--white .hp-hero-desc,
[data-theme="light"] .hp-s--light .hp-hero-desc { color: var(--text-secondary); }
[data-theme="light"] .hp-s--white .hp-hero-desc strong,
[data-theme="light"] .hp-s--light .hp-hero-desc strong { color: var(--text-primary); }
[data-theme="light"] .hp-hero-label,
[data-theme="light"] .hp-section-label,
[data-theme="light"] .hp-s--white .hp-badge-text,
[data-theme="light"] .hp-s--light .hp-badge-text { color: var(--accent-color); }
/* Chips — only in white/light sections, NOT in dark sections like hero */
[data-theme="light"] .hp-s--white .hp-chip,
[data-theme="light"] .hp-s--light .hp-chip {
  color: var(--text-secondary);
  border-color: rgba(0,0,0,0.15);
}
/* Section Headers — only white/light sections */
[data-theme="light"] .hp-s--white .hp-section-title,
[data-theme="light"] .hp-s--light .hp-section-title { color: var(--text-primary) !important; }
[data-theme="light"] .hp-s--white .hp-section-desc,
[data-theme="light"] .hp-s--light .hp-section-desc { color: var(--text-secondary); }
/* Glass Cards in WHITE/LIGHT sections only */
/* Fleet cards are in dark sections — excluded */
[data-theme="light"] .hp-badge-card,
[data-theme="light"] .hp-service-card,
[data-theme="light"] .hp-why-card,
[data-theme="light"] .hp-faq-item,
[data-theme="light"] .hp-link-card {
  background: #fff !important;
  border-color: rgba(0,0,0,0.08) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  backdrop-filter: none;
}
[data-theme="light"] .hp-badge-card:hover,
[data-theme="light"] .hp-service-card:hover,
[data-theme="light"] .hp-why-card:hover,
[data-theme="light"] .hp-link-card:hover {
  background: #fff !important;
  border-color: rgba(212,175,55,0.3) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.08);
}
/* Fleet cards stay dark-styled — do NOT override */
/* Card text — only cards in WHITE/LIGHT sections */
/* Fleet cards are in dark sections, handled separately in index.php */
[data-theme="light"] .hp-badge-title,
[data-theme="light"] .hp-service-card h3,
[data-theme="light"] .hp-why-card h3,
[data-theme="light"] .hp-link-card-text { color: var(--text-primary) !important; }
[data-theme="light"] .hp-badge-text,
[data-theme="light"] .hp-service-card p,
[data-theme="light"] .hp-why-card p,
[data-theme="light"] .hp-link-card-sub { color: var(--text-secondary) !important; }
/* Fleet stays white-on-dark — DO NOT override here */
/* Fleet images — fleet is on DARK background, keep dark shadows */
/* [data-theme="light"] .hp-fleet-img — intentionally not overridden */
/* Fleet badges — fleet stays dark, keep gold color */
/* [data-theme="light"] .hp-fleet-badge — intentionally not overridden */
/* FAQ */
[data-theme="light"] .hp-faq-question { color: var(--text-primary) !important; }
[data-theme="light"] .hp-faq-answer-text { color: var(--text-secondary) !important; }
[data-theme="light"] .hp-faq-toggle { color: #8B7024; }
/* Destination/route pills */
[data-theme="light"] .hp-dest-link {
  color: var(--text-secondary);
  border-color: rgba(0,0,0,0.1);
}
[data-theme="light"] .hp-dest-link:hover {
  color: #8B7024;
  background: rgba(212,175,55,0.06);
}
/* Book Now CTA card */
[data-theme="light"] .hp-booknow-link {
  background: rgba(212,175,55,0.04);
  border-color: rgba(212,175,55,0.3);
}
[data-theme="light"] .hp-booknow-title { color: #8B7024; }
[data-theme="light"] .hp-booknow-sub { color: var(--text-secondary); }
[data-theme="light"] .hp-booknow-feat { color: var(--text-muted); }
/* Mid CTA */
[data-theme="light"] .hp-mid-cta-inner {
  background: rgba(212,175,55,0.04);
  border-color: rgba(212,175,55,0.2);
}
[data-theme="light"] .hp-mid-cta-title { color: var(--text-primary) !important; }
[data-theme="light"] .hp-mid-cta-sub { color: var(--text-secondary); }
/* Verified badge */
[data-theme="light"] .hp-verified-name {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}
/* Source badge */
[data-theme="light"] .hp-source-badge-text { color: rgba(0,0,0,0.55); }
[data-theme="light"] .hp-source-badge-text span { color: #111; }
/* SEO content section */
[data-theme="light"] .hp-seo-content h2 { color: var(--text-primary) !important; }
[data-theme="light"] .hp-seo-content p { color: var(--text-secondary); }
[data-theme="light"] .hp-seo-content strong { color: var(--text-primary); }
[data-theme="light"] .hp-seo-content a { color: #8B7024; }
/* (Floating bar removed) */
/* Icons in cards */
[data-theme="light"] .hp-service-icon,
[data-theme="light"] .hp-why-icon,
[data-theme="light"] .hp-link-card-icon {
  color: #8B7024;
  background: linear-gradient(135deg, rgba(212,175,55,0.08), rgba(212,175,55,0.02));
  border-color: rgba(212,175,55,0.2);
}
[data-theme="light"] .hp-badge-icon { color: #8B7024; }

/* =========================================
   8. LIGHT MODE - SERVICES PAGE OVERRIDES
   ========================================= */
[data-theme="light"] .services-bg { opacity: 0.2; }
[data-theme="light"] .grid-lines { opacity: 0.3; }
[data-theme="light"] .hero-title .title-gradient {
  background: linear-gradient(135deg, var(--text-primary) 0%, var(--accent-color) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
[data-theme="light"] .service-card {
  background: #fff;
  border-color: rgba(0,0,0,0.08);
}
[data-theme="light"] .service-card h3 { color: var(--text-primary); }
[data-theme="light"] .service-card p { color: var(--text-secondary); }
[data-theme="light"] .route-card {
  background: #fff;
  border-color: rgba(0,0,0,0.06);
}
[data-theme="light"] .route-card h4 { color: var(--text-primary); }
[data-theme="light"] .route-card p { color: var(--text-muted); }
[data-theme="light"] .brand-card {
  background: rgba(0,0,0,0.02);
  border-color: rgba(0,0,0,0.05);
}
/* =========================================
   8b. LIGHT MODE - FLOATING BAR (ALL PAGES)
   ========================================= */
[data-theme="light"] .floating-bar {
  background: rgba(255,255,255,0.95) !important;
  border-color: rgba(0,0,0,0.12) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,0.15) !important;
}
[data-theme="light"] .floating-btn.email {
  background: #fff !important;
  color: #D93025 !important;
  border: 1px solid rgba(0,0,0,0.12) !important;
}
[data-theme="light"] .floating-btn.call {
  filter: saturate(1.05);
}
[data-theme="light"] .floating-btn span {
  color: inherit !important;
}

/* =========================================
   8c. LIGHT MODE - VERBOSE ROUTE PAGES
   (Pages using --black, --white, --gray-light vars)
   ========================================= */
/* Verbose route page variable swaps */
/* Safe to apply globally because homepage no longer uses these variables */
/* (homepage uses hardcoded #FFFFFF, #0A0A0A, rgba() values instead) */
html[data-theme="light"] {
  --black: #ffffff;
  --white: #000000;
  --gray-light: rgba(0,0,0,0.75);
  --gray-muted: rgba(0,0,0,0.5);
  --lax-black: #ffffff;
}
/* Verbose template title gradient */
[data-theme="light"] .title-gradient {
  background: linear-gradient(135deg, #111 0%, #444 50%, #8B7024 100%) !important;
  background-size: 200% auto;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
/* Verbose template hero */
[data-theme="light"] .hero-badge {
  background: rgba(212,175,55,0.08) !important;
  border-color: rgba(212,175,55,0.25) !important;
}
[data-theme="light"] .badge-text { color: #8B7024 !important; }
[data-theme="light"] .hero-desc { color: var(--text-secondary) !important; }
[data-theme="light"] .hero-desc strong { color: var(--text-primary) !important; }
/* Verbose template sections */
[data-theme="light"] .section-title { color: var(--text-primary) !important; }
[data-theme="light"] .section-lead { color: var(--text-secondary) !important; }
[data-theme="light"] .content-block h2 { color: var(--text-primary) !important; }
[data-theme="light"] .content-block h3 { color: var(--text-primary) !important; }
[data-theme="light"] .content-block p { color: var(--text-secondary) !important; }
[data-theme="light"] .content-block li { color: var(--text-secondary) !important; }
[data-theme="light"] .content-block li::before { background: #8B7024 !important; }
/* Verbose template stats */
[data-theme="light"] .stat-value { color: #8B7024 !important; }
[data-theme="light"] .stat-label { color: var(--text-muted) !important; }
/* Verbose template cards */
[data-theme="light"] .fleet-card,
[data-theme="light"] .feature-card {
  background: #fff !important;
  border-color: rgba(0,0,0,0.08) !important;
}
[data-theme="light"] .fleet-card:hover,
[data-theme="light"] .feature-card:hover {
  border-color: rgba(212,175,55,0.25) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.06) !important;
}
[data-theme="light"] .fleet-card h3,
[data-theme="light"] .feature-card h3 { color: var(--text-primary) !important; }
[data-theme="light"] .fleet-card p,
[data-theme="light"] .feature-card p { color: var(--text-secondary) !important; }
/* Verbose template FAQ */
[data-theme="light"] .faq-item {
  border-color: rgba(0,0,0,0.08) !important;
  background: #fff !important;
}
[data-theme="light"] .faq-question { color: var(--text-primary) !important; }
[data-theme="light"] .faq-question:hover { color: #8B7024 !important; }
[data-theme="light"] .faq-answer { color: var(--text-secondary) !important; }
[data-theme="light"] .faq-toggle { color: #8B7024 !important; }
/* Verbose template related routes */
[data-theme="light"] .related-card {
  background: #fff !important;
  border-color: rgba(0,0,0,0.08) !important;
}
[data-theme="light"] .related-card:hover {
  border-color: rgba(212,175,55,0.25) !important;
}
[data-theme="light"] .related-card h5 { color: var(--text-primary) !important; }
[data-theme="light"] .related-card p { color: var(--text-secondary) !important; }
/* Verbose template route-bg */
[data-theme="light"] .route-bg { display: none !important; }
/* Verbose template CTA sections */
[data-theme="light"] .cta-section {
  background: linear-gradient(135deg, #f4f4f5 0%, #e4e4e7 100%) !important;
}
[data-theme="light"] .cta-title { color: var(--text-primary) !important; }

/* =========================================
   9. LIGHT MODE - LANDING PAGES (.lp-*) OVERRIDES
   ========================================= */
[data-theme="light"] .lp-card:hover {
  background: linear-gradient(135deg, rgba(212,175,55,0.06), rgba(0,0,0,0.01));
}
[data-theme="light"] .lp-wrap { color: var(--text-primary); }
[data-theme="light"] .lp-title { color: var(--text-primary) !important; }
[data-theme="light"] .lp-title .grad {
  background: linear-gradient(135deg, #111 0%, #8B7024 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
[data-theme="light"] .lp-sub { color: var(--text-secondary) !important; }
[data-theme="light"] .lp-h2 { color: var(--text-primary) !important; }
[data-theme="light"] .lp-card {
  background: #fff !important;
  border-color: rgba(0,0,0,0.08) !important;
}
[data-theme="light"] .lp-card h3 { color: var(--text-primary) !important; }
[data-theme="light"] .lp-card p { color: var(--text-secondary) !important; }
[data-theme="light"] .lp-badge {
  background: rgba(212,175,55,0.08) !important;
  border-color: rgba(212,175,55,0.25) !important;
}
[data-theme="light"] .lp-badge .txt { color: #8B7024 !important; }
[data-theme="light"] .lp-faq summary { color: var(--text-primary) !important; }
[data-theme="light"] .lp-faq .ans { color: var(--text-secondary) !important; }
[data-theme="light"] .lp-related a {
  background: #fff !important;
  border-color: rgba(0,0,0,0.08) !important;
}
[data-theme="light"] .lp-related a:hover {
  border-color: rgba(212,175,55,0.25) !important;
}
[data-theme="light"] .lp-related h5 { color: var(--text-primary) !important; }
[data-theme="light"] .lp-related p { color: var(--text-secondary) !important; }
[data-theme="light"] .lp-bg { opacity: 0.3 !important; }
/* LP button ghost variant in light mode */
[data-theme="light"] .lp-btn.ghost {
  color: var(--text-primary) !important;
  border-color: rgba(0,0,0,0.2) !important;
}
[data-theme="light"] .lp-btn.ghost:hover {
  border-color: #8B7024 !important;
  color: #8B7024 !important;
}

/* =========================================
   10. LIGHT MODE - CORPORATE PAGES (.lbc-*) OVERRIDES
   ========================================= */
[data-theme="light"] .lbc-wrap { color: var(--text-primary); }
[data-theme="light"] .lbc-h1,
[data-theme="light"] .lbc-h2 { color: var(--text-primary) !important; }
[data-theme="light"] .lbc-section p { color: var(--text-secondary) !important; }
[data-theme="light"] .lbc-card {
  background: #fff !important;
  border-color: rgba(0,0,0,0.08) !important;
}
[data-theme="light"] .lbc-card:hover {
  border-color: rgba(212,175,55,0.25) !important;
}
[data-theme="light"] .lbc-card h3 { color: var(--text-primary) !important; }
[data-theme="light"] .lbc-card p { color: var(--text-secondary) !important; }
[data-theme="light"] .lbc-area-pill {
  color: var(--text-secondary) !important;
  border-color: rgba(0,0,0,0.1) !important;
}
[data-theme="light"] .lbc-area-pill:hover {
  color: #8B7024 !important;
  border-color: rgba(212,175,55,0.3) !important;
}
[data-theme="light"] .lbc-hero-glow { opacity: 0.3 !important; }

/* =========================================
   11. LIGHT MODE - FOOTER OVERRIDES
   ========================================= */
[data-theme="light"] .site-footer {
  background: linear-gradient(180deg, #1a1a1a 0%, #000 100%);
}