/**
 * TunerPal Website Theme System
 * Classic: Warm vintage aesthetic (wood/brass)
 * Stage Pro: High-contrast neon for live performance
 */

/* ========================================
   CLASSIC THEME (Default)
   ======================================== */
:root,
[data-theme="classic"] {
    /* Backgrounds */
    --bg-primary: #1a1410;
    --bg-secondary: #2d241c;
    --bg-tertiary: #3d322a;
    --bg-nav: rgba(26, 20, 16, 0.95);
    
    /* Text */
    --text-primary: #f5e6d3;
    --text-muted: #a89888;
    --text-dark: #1a1410;
    
    /* Accents */
    --accent: #d4af37;
    --accent-secondary: #cd9b1d;
    --accent-hover: #e0bf47;
    --brass: #b87333;
    
    /* Status colors */
    --in-tune: #6aab7a;
    --close: #c9a227;
    --flat: #7a9dba;
    --sharp: #c47a6a;
    
    /* UI */
    --border: #3d322a;
    --border-light: #5a4d3f;
    --shadow: rgba(0, 0, 0, 0.5);
    --card-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
    --btn-shadow: 0 8px 25px rgba(212, 175, 55, 0.3);
    
    /* Component specific */
    --badge-bg: #3d322a;
    --price-card-border: #cd9b1d;
    --stat-glow: none;
    --nav-border: 1px solid var(--border);
    
    /* Typography */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-heavy: 800;
    
    /* Spacing */
    --border-radius: 12px;
    --border-radius-small: 8px;
    --border-radius-large: 16px;
    
    /* Transitions */
    --transition-speed: 0.3s;
    
    /* Logo colors */
    --logo-gradient-start: #ffd700;
    --logo-gradient-mid: #cd9b1d;
    --logo-gradient-end: #b87333;
    --logo-glow: rgba(212, 175, 55, 0.3);
}

/* ========================================
   STAGE PRO THEME
   High contrast for stage/live visibility
   ======================================== */
[data-theme="stage"] {
    /* Backgrounds */
    --bg-primary: #0d0d0d;
    --bg-secondary: #141414;
    --bg-tertiary: #1f1f1f;
    --bg-nav: rgba(13, 13, 13, 0.98);
    
    /* Text */
    --text-primary: #ffffff;
    --text-muted: #a0a0a0;
    --text-dark: #000000;
    
    /* Accents - Neon green */
    --accent: #00e676;
    --accent-secondary: #00c853;
    --accent-hover: #00ff88;
    --brass: #00e676;
    
    /* Status colors (high saturation) */
    --in-tune: #00e676;
    --close: #ffa000;
    --flat: #2196f3;
    --sharp: #ff1744;
    
    /* UI */
    --border: #1f1f1f;
    --border-light: #2a2a2a;
    --shadow: rgba(0, 0, 0, 0.8);
    --card-shadow: 0 0 30px rgba(0, 230, 118, 0.15);
    --btn-shadow: 0 0 20px rgba(0, 230, 118, 0.4);
    
    /* Component specific */
    --badge-bg: #1f1f1f;
    --price-card-border: #00e676;
    --stat-glow: 0 0 10px rgba(0, 230, 118, 0.3);
    --nav-border: 1px solid var(--border);
    
    /* Typography (heavier for stage visibility) */
    --font-weight-normal: 500;
    --font-weight-medium: 600;
    --font-weight-semibold: 700;
    --font-weight-bold: 800;
    --font-weight-heavy: 900;
    
    /* Spacing (sharper corners) */
    --border-radius: 4px;
    --border-radius-small: 2px;
    --border-radius-large: 8px;
    
    /* Transitions (snappier) */
    --transition-speed: 0.15s;
    
    /* Logo colors - Neon */
    --logo-gradient-start: #00ff88;
    --logo-gradient-mid: #00e676;
    --logo-gradient-end: #00c853;
    --logo-glow: rgba(0, 230, 118, 0.4);
}

/* ========================================
   THEME TOGGLE COMPONENT
   ======================================== */
.theme-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 4px;
    margin-left: 1rem;
}

.theme-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 12px;
    border: none;
    background: transparent;
    color: var(--text-muted);
    font-size: 0.85rem;
    font-weight: var(--font-weight-medium);
    border-radius: 16px;
    cursor: pointer;
    transition: all var(--transition-speed);
}

.theme-btn:hover {
    color: var(--text-primary);
}

.theme-btn.active {
    background: var(--accent);
    color: var(--text-dark);
}

.theme-btn svg {
    width: 16px;
    height: 16px;
}

/* Mobile theme toggle - stays in nav, just smaller */
@media (max-width: 768px) {
    .theme-btn span {
        display: none;
    }
    
    .theme-btn {
        padding: 8px;
    }
    
    .theme-toggle {
        margin-left: 0.5rem;
    }
}

/* ========================================
   THEME TRANSITION EFFECTS
   ======================================== */
body,
.hero,
.stats-bar,
.features,
.instruments,
.pricing,
.demo,
footer,
nav,
.feature-card,
.instrument-card,
.price-card,
.btn,
.badge {
    transition: 
        background-color var(--transition-speed),
        border-color var(--transition-speed),
        color var(--transition-speed),
        box-shadow var(--transition-speed);
}

/* ========================================
   STAGE THEME SPECIFIC OVERRIDES
   ======================================== */
[data-theme="stage"] .hero-logo svg text {
    fill: var(--accent);
}

/* Force SVG gradient colors for Stage Pro theme */
[data-theme="stage"] #forkGradient stop,
[data-theme="stage"] #demo-forkGradient stop {
    stop-color: #00e676;
}
[data-theme="stage"] #textGradient stop,
[data-theme="stage"] #demo-textGradient stop {
    stop-color: #ffffff;
}
[data-theme="stage"] #textGradient stop:nth-child(2),
[data-theme="stage"] #demo-textGradient stop:nth-child(2) {
    stop-color: #00e676;
}
[data-theme="stage"] #glowGradient stop,
[data-theme="stage"] #demo-glowGradient stop {
    stop-color: #00e676;
}
[data-theme="stage"] .hero-logo svg ellipse,
[data-theme="stage"] .demo-logo ellipse {
    fill: #1f1f1f;
}
[data-theme="stage"] .hero-logo svg path.sound-wave,
[data-theme="stage"] .hero-logo svg path[opacity="0.6"],
[data-theme="stage"] .hero-logo svg path[opacity="0.4"],
[data-theme="stage"] .demo-logo path[opacity="0.6"],
[data-theme="stage"] .demo-logo path[opacity="0.4"] {
    stroke: #00c853;
}

[data-theme="stage"] .stat-number {
    text-shadow: var(--stat-glow);
}

[data-theme="stage"] .btn {
    border-radius: 8px;
}

[data-theme="stage"] .btn-primary:hover {
    box-shadow: var(--btn-shadow);
}

[data-theme="stage"] .feature-card:hover {
    border-color: var(--accent);
    box-shadow: 0 0 20px rgba(0, 230, 118, 0.2);
}

[data-theme="stage"] .instrument-card:hover {
    border-color: var(--accent);
    box-shadow: 0 0 15px rgba(0, 230, 118, 0.15);
}

/* Stage theme SVG recoloring */
[data-theme="stage"] .feature-icon path,
[data-theme="stage"] .feature-icon rect,
[data-theme="stage"] .feature-icon circle,
[data-theme="stage"] .feature-icon line,
[data-theme="stage"] .feature-icon ellipse {
    stroke: var(--accent) !important;
}

[data-theme="stage"] .feature-icon [fill="#cd9b1d"],
[data-theme="stage"] .feature-icon [fill="#d4af37"] {
    fill: var(--accent) !important;
}

[data-theme="stage"] .instrument-icon path,
[data-theme="stage"] .instrument-icon rect,
[data-theme="stage"] .instrument-icon circle,
[data-theme="stage"] .instrument-icon line {
    stroke: var(--accent);
}

[data-theme="stage"] .instrument-icon [fill="#cd9b1d"] {
    fill: var(--accent);
}

/* Stage theme badges glow effect */
[data-theme="stage"] .badge {
    border-color: var(--accent);
    box-shadow: 0 0 10px rgba(0, 230, 118, 0.2);
}

/* Stage price card glow */
[data-theme="stage"] .price-card {
    box-shadow: 0 0 30px rgba(0, 230, 118, 0.1);
}
