/* ══════════════════════════════════════════
   THEME DEFINITIONS
   ══════════════════════════════════════════ */

/* Nightclub — default */
[data-theme="nightclub"] {
  --primary: #8B5CF6; --primary-light: #A78BFA; --primary-lighter: #C4B5FD;
  --primary-dark: #7C3AED; --primary-deep: #5B21B6;
  --accent: #EC4899; --accent-light: #F472B6; --highlight: #06B6D4;
  --bg: #06060b; --bg-card: rgba(255,255,255,0.02);
  --border: rgba(255,255,255,0.06); --border-hover: rgba(139,92,246,0.3);
  --glass: rgba(255,255,255,0.03); --glass-border: rgba(255,255,255,0.07);
  --text-1: #f5f5f7; --text-2: rgba(255,255,255,0.55); --text-3: rgba(255,255,255,0.3);
  --glow-rgb: 139,92,246;
}

/* Sunset */
[data-theme="sunset"] {
  --primary: #F97316; --primary-light: #FB923C; --primary-lighter: #FDBA74;
  --primary-dark: #EA580C; --primary-deep: #C2410C;
  --accent: #EAB308; --accent-light: #FACC15; --highlight: #F59E0B;
  --bg: #0b0806; --bg-card: rgba(255,200,100,0.02);
  --border: rgba(255,200,100,0.06); --border-hover: rgba(249,115,22,0.3);
  --glass: rgba(255,200,100,0.03); --glass-border: rgba(255,200,100,0.07);
  --text-1: #fef3e2; --text-2: rgba(255,240,220,0.55); --text-3: rgba(255,240,220,0.3);
  --glow-rgb: 249,115,22;
}

/* Ocean */
[data-theme="ocean"] {
  --primary: #06B6D4; --primary-light: #22D3EE; --primary-lighter: #67E8F9;
  --primary-dark: #0891B2; --primary-deep: #0E7490;
  --accent: #3B82F6; --accent-light: #60A5FA; --highlight: #8B5CF6;
  --bg: #060b0b; --bg-card: rgba(100,200,255,0.02);
  --border: rgba(100,200,255,0.06); --border-hover: rgba(6,182,212,0.3);
  --glass: rgba(100,200,255,0.03); --glass-border: rgba(100,200,255,0.07);
  --text-1: #e2f8f5; --text-2: rgba(220,250,245,0.55); --text-3: rgba(220,250,245,0.3);
  --glow-rgb: 6,182,212;
}

/* Minimal (light) */
[data-theme="minimal"] {
  --primary: #18181b; --primary-light: #3f3f46; --primary-lighter: #71717a;
  --primary-dark: #09090b; --primary-deep: #000000;
  --accent: #8B5CF6; --accent-light: #A78BFA; --highlight: #06B6D4;
  --bg: #f5f5f7; --bg-card: rgba(0,0,0,0.02);
  --border: rgba(0,0,0,0.08); --border-hover: rgba(139,92,246,0.2);
  --glass: rgba(0,0,0,0.03); --glass-border: rgba(0,0,0,0.06);
  --text-1: #18181b; --text-2: rgba(0,0,0,0.55); --text-3: rgba(0,0,0,0.3);
  --glow-rgb: 139,92,246;
}

/* ══════════════════════════════════════════
   AMBIENT GLOW OVERRIDES
   Uses --glow-rgb to replace hardcoded purple rgba values
   ══════════════════════════════════════════ */

.particle { background: rgba(var(--glow-rgb),0.3); }
.how-steps::before {
  background: linear-gradient(90deg, var(--primary), var(--accent), var(--highlight));
}
.how-step:hover .how-step-num {
  border-color: var(--border-hover);
  box-shadow: 0 0 32px rgba(var(--glow-rgb),0.12);
}
.bento-card::before {
  background: conic-gradient(from var(--border-angle, 0deg), transparent 60%, var(--bento-accent, rgba(var(--glow-rgb),0.3)) 100%);
}
.bento-card::after {
  background: linear-gradient(90deg, transparent, var(--bento-accent, rgba(var(--glow-rgb),0.4)), transparent);
}
.bento-small .bento-icon {
  background: rgba(var(--glow-rgb),0.08);
  border-color: rgba(var(--glow-rgb),0.15);
}
.testimonial-card:hover {
  border-color: rgba(var(--glow-rgb),0.15);
}
.vb::after {
  background: radial-gradient(ellipse at bottom, rgba(var(--glow-rgb),0.05), transparent 70%);
}
.venue-form input:focus, .venue-form textarea:focus {
  border-color: rgba(var(--glow-rgb),0.3);
  box-shadow: 0 0 0 3px rgba(var(--glow-rgb),0.05);
}
.cta-glow {
  background: radial-gradient(ellipse, rgba(var(--glow-rgb),0.12) 0%, rgba(var(--glow-rgb),0.06) 40%, transparent 70%);
}
.cta-qr {
  box-shadow: 0 8px 32px rgba(var(--glow-rgb),0.2);
}
.cta-qr:hover {
  box-shadow: 0 12px 40px rgba(var(--glow-rgb),0.3);
}
.divider {
  background: linear-gradient(90deg, transparent, rgba(var(--glow-rgb),0.15), transparent);
}
.phone-frame {
  box-shadow: 0 0 80px rgba(var(--glow-rgb),0.15), 0 0 40px rgba(var(--glow-rgb),0.05);
}
.hero-mesh {
  background:
    radial-gradient(ellipse 80% 60% at 10% 20%, rgba(var(--glow-rgb),0.15) 0%, transparent 50%),
    radial-gradient(ellipse 60% 80% at 80% 80%, rgba(var(--glow-rgb),0.08) 0%, transparent 50%),
    radial-gradient(ellipse 50% 50% at 60% 10%, rgba(var(--glow-rgb),0.06) 0%, transparent 50%);
  background-size: 200% 200%;
}

/* Nav scrolled — theme-aware backgrounds */
[data-theme="nightclub"] .nav.scrolled { background: rgba(6,6,11,0.7); }
[data-theme="sunset"] .nav.scrolled { background: rgba(11,8,6,0.7); }
[data-theme="ocean"] .nav.scrolled { background: rgba(6,11,11,0.7); }
[data-theme="minimal"] .nav.scrolled { background: rgba(245,245,247,0.85); }

/* ══════════════════════════════════════════
   MINIMAL (LIGHT) THEME SPECIAL OVERRIDES
   ══════════════════════════════════════════ */
[data-theme="minimal"] body::after { opacity: 0.15; }
[data-theme="minimal"] .gradient-text {
  background: linear-gradient(135deg, var(--accent), var(--accent-light), var(--accent));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-size: 200% 200%;
}
[data-theme="minimal"] .scroll-progress {
  background: linear-gradient(90deg, var(--primary), var(--accent), var(--highlight));
}
[data-theme="minimal"] .nav-cta {
  background: linear-gradient(135deg, var(--accent), var(--accent-light)) !important;
  box-shadow: 0 2px 12px rgba(139,92,246,0.2);
}
[data-theme="minimal"] .btn-primary {
  background: linear-gradient(135deg, var(--accent), var(--accent-light));
}
[data-theme="minimal"] .nav-logo {
  background: linear-gradient(135deg, var(--text-1) 20%, var(--accent));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}

/* ══════════════════════════════════════════
   THEME TRANSITIONS
   ══════════════════════════════════════════ */
body, .nav, .bento-card, .trust-badge, .how-step-num, .footer,
.btn-primary, .btn-secondary, .section-label, .stat, .venue-form,
.venue-form input, .venue-form textarea, .testimonial-card {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
