/* ===== THEME SYSTEM ===== */
/* Each theme completely transforms the look and feel */

/* ===== THEME 1: NEON TECH (Default) ===== */
[data-theme="neon-tech"] {
    /* Backgrounds */
    --bg-primary: #06061E;
    --bg-secondary: #0A0A2E;
    --bg-tertiary: #0E0E3A;
    --bg-card: rgba(14, 14, 58, 0.6);
    --bg-card-hover: rgba(20, 20, 80, 0.8);

    /* Accent Colors */
    --accent-primary: #0047FF;
    --accent-primary-light: #3366FF;
    --accent-primary-dark: #0033CC;
    --accent-secondary: #00D4FF;
    --accent-tertiary: #8B5CF6;

    /* Glows */
    --glow-primary: rgba(0, 71, 255, 0.4);
    --glow-primary-strong: rgba(0, 71, 255, 0.6);
    --glow-secondary: rgba(0, 212, 255, 0.3);
    --glow-tertiary: rgba(139, 92, 246, 0.3);

    /* Text */
    --text-primary: #FFFFFF;
    --text-secondary: #A0A0B8;
    --text-tertiary: #6B6B80;
    --text-accent: var(--accent-secondary);

    /* Status */
    --success-color: #00FF88;
    --success-glow: rgba(0, 255, 136, 0.3);

    /* Borders */
    --border-subtle: rgba(255, 255, 255, 0.06);
    --border-light: rgba(255, 255, 255, 0.1);
    --border-accent: rgba(0, 71, 255, 0.3);

    /* Typography */
    --font-heading: 'Inter', -apple-system, sans-serif;
    --font-body: 'Inter', -apple-system, sans-serif;
    --heading-weight: 700;
    --heading-style: normal;

    /* Effects */
    --card-blur: blur(16px);
    --border-radius-base: 20px;
    --button-radius: 100px;

    /* Theme-specific */
    --theme-gradient: linear-gradient(135deg, var(--accent-secondary) 0%, var(--accent-primary) 50%, var(--accent-tertiary) 100%);
    --hero-accent-font: 'Playfair Display', Georgia, serif;
    --hero-accent-style: italic;
    --hero-accent-weight: 400;
}

/* ===== THEME 2: LUXURY ELEGANCE ===== */
[data-theme="luxury"] {
    /* Backgrounds */
    --bg-primary: #0F0E0C;
    --bg-secondary: #1A1815;
    --bg-tertiary: #252320;
    --bg-card: rgba(35, 32, 28, 0.8);
    --bg-card-hover: rgba(45, 42, 38, 0.9);

    /* Accent Colors - Gold & Champagne */
    --accent-primary: #C9A962;
    --accent-primary-light: #D4BC7D;
    --accent-primary-dark: #A88B4A;
    --accent-secondary: #E8DCC4;
    --accent-tertiary: #8B7355;

    /* Glows - Warm, subtle */
    --glow-primary: rgba(201, 169, 98, 0.2);
    --glow-primary-strong: rgba(201, 169, 98, 0.35);
    --glow-secondary: rgba(232, 220, 196, 0.15);
    --glow-tertiary: rgba(139, 115, 85, 0.2);

    /* Text */
    --text-primary: #F5F0E8;
    --text-secondary: #A8A095;
    --text-tertiary: #6D675E;
    --text-accent: var(--accent-primary);

    /* Status */
    --success-color: #7CB342;
    --success-glow: rgba(124, 179, 66, 0.3);

    /* Borders */
    --border-subtle: rgba(201, 169, 98, 0.08);
    --border-light: rgba(201, 169, 98, 0.15);
    --border-accent: rgba(201, 169, 98, 0.3);

    /* Typography */
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Inter', -apple-system, sans-serif;
    --heading-weight: 400;
    --heading-style: normal;

    /* Effects */
    --card-blur: blur(20px);
    --border-radius-base: 4px;
    --button-radius: 2px;

    /* Theme-specific */
    --theme-gradient: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
    --hero-accent-font: 'Playfair Display', Georgia, serif;
    --hero-accent-style: italic;
    --hero-accent-weight: 400;
}

/* ===== THEME 3: NATURE ORGANIC ===== */
[data-theme="nature"] {
    /* Backgrounds - Warm Creams & Sage */
    --bg-primary: #F7F5F0;
    --bg-secondary: #EDE9E0;
    --bg-tertiary: #E5DFD3;
    --bg-card: rgba(255, 255, 255, 0.8);
    --bg-card-hover: rgba(255, 255, 255, 0.95);

    /* Accent Colors - Forest & Earth */
    --accent-primary: #4A7C59;
    --accent-primary-light: #5D9A6D;
    --accent-primary-dark: #3A6247;
    --accent-secondary: #8B9A6D;
    --accent-tertiary: #C4A77D;

    /* Glows - Soft, natural */
    --glow-primary: rgba(74, 124, 89, 0.15);
    --glow-primary-strong: rgba(74, 124, 89, 0.25);
    --glow-secondary: rgba(139, 154, 109, 0.15);
    --glow-tertiary: rgba(196, 167, 125, 0.2);

    /* Text */
    --text-primary: #2C3A2F;
    --text-secondary: #5A6B5D;
    --text-tertiary: #8A9A8D;
    --text-accent: var(--accent-primary);

    /* Status */
    --success-color: #4A7C59;
    --success-glow: rgba(74, 124, 89, 0.3);

    /* Borders */
    --border-subtle: rgba(74, 124, 89, 0.08);
    --border-light: rgba(74, 124, 89, 0.12);
    --border-accent: rgba(74, 124, 89, 0.25);

    /* Typography */
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Inter', -apple-system, sans-serif;
    --heading-weight: 500;
    --heading-style: normal;

    /* Effects */
    --card-blur: blur(12px);
    --border-radius-base: 24px;
    --button-radius: 50px;

    /* Theme-specific */
    --theme-gradient: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 50%, var(--accent-tertiary) 100%);
    --hero-accent-font: 'Playfair Display', Georgia, serif;
    --hero-accent-style: italic;
    --hero-accent-weight: 500;
}

/* ===== THEME 4: BOLD BRUTALIST ===== */
[data-theme="brutalist"] {
    /* Backgrounds - High Contrast */
    --bg-primary: #FFFFFF;
    --bg-secondary: #F0F0F0;
    --bg-tertiary: #E0E0E0;
    --bg-card: #FFFFFF;
    --bg-card-hover: #F5F5F5;

    /* Accent Colors - Primary Colors */
    --accent-primary: #FF0000;
    --accent-primary-light: #FF3333;
    --accent-primary-dark: #CC0000;
    --accent-secondary: #0000FF;
    --accent-tertiary: #FFCC00;

    /* Glows - None/Minimal */
    --glow-primary: transparent;
    --glow-primary-strong: transparent;
    --glow-secondary: transparent;
    --glow-tertiary: transparent;

    /* Text */
    --text-primary: #000000;
    --text-secondary: #333333;
    --text-tertiary: #666666;
    --text-accent: var(--accent-primary);

    /* Status */
    --success-color: #00CC00;
    --success-glow: transparent;

    /* Borders - Bold, visible */
    --border-subtle: rgba(0, 0, 0, 0.1);
    --border-light: rgba(0, 0, 0, 0.2);
    --border-accent: #000000;

    /* Typography */
    --font-heading: 'Inter', -apple-system, sans-serif;
    --font-body: 'Inter', -apple-system, sans-serif;
    --heading-weight: 900;
    --heading-style: normal;

    /* Effects */
    --card-blur: none;
    --border-radius-base: 0px;
    --button-radius: 0px;

    /* Theme-specific */
    --theme-gradient: none;
    --hero-accent-font: 'Inter', -apple-system, sans-serif;
    --hero-accent-style: normal;
    --hero-accent-weight: 900;
}

/* ===== THEME 5: MINIMAL CORPORATE ===== */
[data-theme="corporate"] {
    /* Backgrounds - Clean Whites */
    --bg-primary: #FAFBFC;
    --bg-secondary: #F4F5F7;
    --bg-tertiary: #EBEEF2;
    --bg-card: #FFFFFF;
    --bg-card-hover: #FAFBFC;

    /* Accent Colors - Professional Blue */
    --accent-primary: #2563EB;
    --accent-primary-light: #3B82F6;
    --accent-primary-dark: #1D4ED8;
    --accent-secondary: #0EA5E9;
    --accent-tertiary: #6366F1;

    /* Glows - Very subtle */
    --glow-primary: rgba(37, 99, 235, 0.08);
    --glow-primary-strong: rgba(37, 99, 235, 0.15);
    --glow-secondary: rgba(14, 165, 233, 0.08);
    --glow-tertiary: rgba(99, 102, 241, 0.08);

    /* Text */
    --text-primary: #111827;
    --text-secondary: #4B5563;
    --text-tertiary: #9CA3AF;
    --text-accent: var(--accent-primary);

    /* Status */
    --success-color: #10B981;
    --success-glow: rgba(16, 185, 129, 0.15);

    /* Borders */
    --border-subtle: rgba(0, 0, 0, 0.04);
    --border-light: rgba(0, 0, 0, 0.08);
    --border-accent: rgba(37, 99, 235, 0.2);

    /* Typography */
    --font-heading: 'Inter', -apple-system, sans-serif;
    --font-body: 'Inter', -apple-system, sans-serif;
    --heading-weight: 600;
    --heading-style: normal;

    /* Effects */
    --card-blur: blur(8px);
    --border-radius-base: 12px;
    --button-radius: 8px;

    /* Theme-specific */
    --theme-gradient: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
    --hero-accent-font: 'Inter', -apple-system, sans-serif;
    --hero-accent-style: normal;
    --hero-accent-weight: 600;
}


/* ===== THEME SWITCHER STYLES ===== */
.theme-switcher {
    position: fixed;
    top: 52px;
    /* Below journey bar */
    right: 16px;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.theme-switcher-toggle {
    width: 40px;
    height: 40px;
    background: var(--bg-card);
    backdrop-filter: var(--card-blur);
    border: 1px solid var(--border-light);
    border-radius: var(--button-radius, 12px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: var(--text-primary);
}

.theme-switcher-toggle:hover {
    background: var(--bg-card-hover);
    transform: scale(1.05);
}

.theme-switcher-toggle svg {
    width: 24px;
    height: 24px;
    transition: transform 0.5s ease;
}

.theme-switcher.open .theme-switcher-toggle svg {
    transform: rotate(180deg);
}

/* Pulse animation removed - tooltip position is now self-explanatory */

.theme-switcher-panel {
    position: absolute;
    top: 50px;
    right: 0;
    /* Use theme colors for cohesive experience */
    background: var(--bg-card);
    backdrop-filter: var(--card-blur);
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius-base, 16px);
    padding: 18px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(0.95);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 380px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.theme-switcher.open .theme-switcher-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.theme-switcher-header {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-subtle);
}

.theme-switcher-title {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--accent-primary);
    margin-bottom: 3px;
}

.theme-switcher-subtitle {
    font-size: 11px;
    color: var(--text-tertiary);
}

.theme-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.theme-option {
    position: relative;
    padding: 10px;
    border-radius: 12px;
    border: 1.5px solid var(--border-subtle);
    background: var(--bg-secondary);
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 10px;
}

.theme-option::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.theme-option:hover {
    border-color: var(--border-light);
    background: var(--bg-tertiary);
    transform: translateX(-2px);
}

.theme-option.active {
    border-color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, var(--bg-secondary));
}

.theme-option.active::after {
    content: '✓';
    position: absolute;
    top: 8px;
    right: 8px;
    width: 20px;
    height: 20px;
    background: var(--accent-primary);
    color: var(--bg-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
}

.theme-option-preview {
    display: flex;
    gap: 2px;
    margin-bottom: 0;
    width: 60px;
    height: 44px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.theme-option-color {
    flex: 1;
    transition: transform 0.3s ease;
}

.theme-option:hover .theme-option-color {
    transform: scaleY(1.1);
}

/* Hover preview animation */
.theme-option:hover .theme-option-preview {
    animation: colorPulse 0.6s ease;
}

@keyframes colorPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.02);
    }
}

.theme-option-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.theme-option-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0;
}

.theme-option-desc {
    display: none;
}

.theme-option-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.theme-option-tag {
    font-size: 9px;
    padding: 2px 6px;
    background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
    color: var(--text-secondary);
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Shortcut badge */
.theme-option-shortcut {
    position: absolute;
    top: 8px;
    left: 8px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    background: var(--bg-tertiary);
    color: var(--text-tertiary);
    border-radius: 4px;
    opacity: 0.7;
    transition: all 0.2s ease;
}

.theme-option:hover .theme-option-shortcut {
    opacity: 1;
    background: var(--accent-primary);
    color: var(--bg-primary);
}

/* Keyboard hint styling */
.theme-switcher-subtitle kbd {
    display: inline-block;
    padding: 2px 5px;
    font-size: 9px;
    font-family: monospace;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-subtle);
    border-radius: 3px;
    margin: 0 2px;
    color: var(--text-secondary);
}

/* Footer hint */
.theme-switcher-footer {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-subtle);
}

.theme-switcher-hint {
    font-size: 10px;
    color: var(--text-tertiary);
    line-height: 1.4;
    display: block;
    text-align: center;
}

/* Theme-specific preview colors */
.theme-option[data-theme="neon-tech"] .theme-option-preview {
    background: #06061E;
}

.theme-option[data-theme="neon-tech"] .theme-option-color:nth-child(1) {
    background: #0047FF;
}

.theme-option[data-theme="neon-tech"] .theme-option-color:nth-child(2) {
    background: #00D4FF;
}

.theme-option[data-theme="neon-tech"] .theme-option-color:nth-child(3) {
    background: #8B5CF6;
}

.theme-option[data-theme="neon-tech"] .theme-option-color:nth-child(4) {
    background: #06061E;
}

.theme-option[data-theme="luxury"] .theme-option-preview {
    background: #0F0E0C;
}

.theme-option[data-theme="luxury"] .theme-option-color:nth-child(1) {
    background: #C9A962;
}

.theme-option[data-theme="luxury"] .theme-option-color:nth-child(2) {
    background: #E8DCC4;
}

.theme-option[data-theme="luxury"] .theme-option-color:nth-child(3) {
    background: #8B7355;
}

.theme-option[data-theme="luxury"] .theme-option-color:nth-child(4) {
    background: #1A1815;
}

.theme-option[data-theme="nature"] .theme-option-preview {
    background: #F7F5F0;
}

.theme-option[data-theme="nature"] .theme-option-color:nth-child(1) {
    background: #4A7C59;
}

.theme-option[data-theme="nature"] .theme-option-color:nth-child(2) {
    background: #8B9A6D;
}

.theme-option[data-theme="nature"] .theme-option-color:nth-child(3) {
    background: #C4A77D;
}

.theme-option[data-theme="nature"] .theme-option-color:nth-child(4) {
    background: #EDE9E0;
}

.theme-option[data-theme="brutalist"] .theme-option-preview {
    background: #FFFFFF;
    border: 2px solid #000;
}

.theme-option[data-theme="brutalist"] .theme-option-color:nth-child(1) {
    background: #FF0000;
}

.theme-option[data-theme="brutalist"] .theme-option-color:nth-child(2) {
    background: #0000FF;
}

.theme-option[data-theme="brutalist"] .theme-option-color:nth-child(3) {
    background: #FFCC00;
}

.theme-option[data-theme="brutalist"] .theme-option-color:nth-child(4) {
    background: #000000;
}

.theme-option[data-theme="corporate"] .theme-option-preview {
    background: #FAFBFC;
}

.theme-option[data-theme="corporate"] .theme-option-color:nth-child(1) {
    background: #2563EB;
}

.theme-option[data-theme="corporate"] .theme-option-color:nth-child(2) {
    background: #0EA5E9;
}

.theme-option[data-theme="corporate"] .theme-option-color:nth-child(3) {
    background: #6366F1;
}

.theme-option[data-theme="corporate"] .theme-option-color:nth-child(4) {
    background: #F4F5F7;
}

/* Custom theme option styling */
.theme-option-custom {
    border-style: dashed !important;
}

.theme-option-custom .theme-option-preview {
    background: linear-gradient(135deg,
            var(--accent-primary) 0%,
            var(--accent-secondary) 50%,
            var(--accent-tertiary) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-primary);
}

.theme-option-custom .theme-option-preview svg {
    width: 28px;
    height: 28px;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.theme-option-custom:hover {
    border-style: solid !important;
    transform: scale(1.02) translateX(-2px);
}

/* Custom Theme Modal */
.custom-theme-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.custom-theme-modal.visible {
    opacity: 1;
    visibility: visible;
}

.custom-theme-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(12px);
}

.custom-theme-modal-content {
    position: relative;
    background: var(--bg-card);
    backdrop-filter: var(--card-blur);
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius-base, 24px);
    padding: 40px;
    max-width: 520px;
    width: 90%;
    margin: 20px;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.5);
    text-align: center;
    animation: modalSlideIn 0.3s ease;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.95);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.custom-theme-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-subtle);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    color: var(--text-secondary);
}

.custom-theme-modal-close:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
    transform: scale(1.1);
}

.custom-theme-modal-close svg {
    width: 18px;
    height: 18px;
}

.custom-theme-modal-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: var(--theme-gradient);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-primary);
}

.custom-theme-modal-icon svg {
    width: 40px;
    height: 40px;
}

.custom-theme-modal-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 20px;
    line-height: 1.2;
}

.custom-theme-modal-text {
    font-size: 15px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 16px;
}

.custom-theme-modal-actions {
    display: flex;
    gap: 12px;
    margin-top: 32px;
    flex-direction: column;
}

.custom-theme-modal-actions .btn {
    width: 100%;
    justify-content: center;
    text-decoration: none;
}

.custom-theme-modal-actions .btn svg {
    width: 18px;
    height: 18px;
}

/* Mobile Theme Switcher - Comfortable Card Layout */
@media (max-width: 768px) {
    .theme-switcher {
        top: auto;
        bottom: 64px;
        right: auto;
        left: 16px;
        transform: none;
        z-index: 1002;
    }

    .theme-switcher-toggle {
        position: relative;
        right: 0;
        top: 0;
        transform: none;
        border-radius: 50%;
        width: 48px;
        height: 48px;
        border: 1px solid var(--border-light);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        background: var(--bg-card);
        backdrop-filter: var(--card-blur);
    }

    .theme-switcher-panel {
        position: fixed;
        bottom: 110px;
        right: 16px;
        left: 16px;
        width: auto;
        border-radius: 16px;
        padding: 14px;
        max-height: calc(100vh - 180px);
        overflow: auto;
    }

    .theme-switcher.open .theme-switcher-panel {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }

    .theme-switcher-header {
        margin-bottom: 12px;
        padding-bottom: 10px;
    }

    .theme-switcher-title {
        font-size: 12px;
        margin-bottom: 2px;
    }

    .theme-switcher-subtitle {
        font-size: 10px;
    }

    .theme-switcher-subtitle kbd {
        display: none;
    }

    .theme-options {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .theme-option {
        padding: 10px;
        text-align: left;
        border-radius: 12px;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .theme-option-preview {
        width: 56px;
        height: 42px;
        margin-bottom: 0;
        border-radius: 8px;
        flex-shrink: 0;
    }

    .theme-option-name {
        font-size: 12px;
        white-space: normal;
    }

    .theme-option-desc {
        display: none;
    }

    .theme-option-tags {
        display: flex;
        gap: 4px;
    }

    .theme-option-tag {
        font-size: 8px;
        padding: 2px 5px;
    }

    .theme-option-shortcut {
        display: flex;
        top: 8px;
        left: 8px;
        width: 18px;
        height: 18px;
        font-size: 9px;
    }

    .theme-option.active::after {
        top: 6px;
        right: 6px;
        width: 18px;
        height: 18px;
        font-size: 10px;
    }

    .theme-switcher-footer {
        display: block;
        margin-top: 10px;
        padding-top: 10px;
    }

    .theme-switcher-hint {
        font-size: 9px;
    }
}


/* ===== THEME TRANSITION OVERLAY ===== */
.theme-transition-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
}

.theme-transition-overlay.active {
    animation: themeTransition 0.6s ease-out;
}

@keyframes themeTransition {
    0% {
        opacity: 0;
        backdrop-filter: blur(0);
    }

    50% {
        opacity: 1;
        backdrop-filter: blur(20px);
        background: var(--bg-primary);
    }

    100% {
        opacity: 0;
        backdrop-filter: blur(0);
    }
}


/* ===== THEME-AWARE COMPONENT OVERRIDES ===== */

/* Apply theme variables to existing components */
body {
    font-family: var(--font-body);
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

body::before {
    background:
        radial-gradient(ellipse 80% 50% at 50% -20%, var(--glow-primary) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 100% 0%, var(--glow-tertiary) 0%, transparent 40%),
        radial-gradient(ellipse 60% 40% at 0% 100%, var(--glow-secondary) 0%, transparent 40%);
}

/* Brutalist theme - remove background glow */
[data-theme="brutalist"] body::before {
    display: none;
}

/* Navigation theme adaptations */
.nav.scrolled {
    background: color-mix(in srgb, var(--bg-primary) 85%, transparent);
    backdrop-filter: var(--card-blur);
}

.nav-logo-icon {
    background: var(--theme-gradient, linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%));
    border-radius: var(--border-radius-base);
}

/* Brutalist nav icon */
[data-theme="brutalist"] .nav-logo-icon {
    background: var(--accent-primary);
    border-radius: 0;
}

/* Button adaptations */
.btn-primary {
    border-radius: var(--button-radius);
}

.btn-secondary {
    border-radius: var(--button-radius);
}

/* Card adaptations */
.card {
    border-radius: var(--border-radius-base);
    backdrop-filter: var(--card-blur);
}

/* Brutalist cards */
[data-theme="brutalist"] .card {
    border: 3px solid #000;
    box-shadow: 8px 8px 0 #000;
}

[data-theme="brutalist"] .card:hover {
    transform: translate(-4px, -4px);
    box-shadow: 12px 12px 0 #000;
}

/* Hero accent text */
.hero-title .accent {
    color: var(--text-accent);
    font-family: var(--hero-accent-font);
    font-style: var(--hero-accent-style);
    font-weight: var(--hero-accent-weight);
}

/* Brutalist hero */
[data-theme="brutalist"] .hero-title .accent {
    text-decoration: underline;
    text-decoration-thickness: 8px;
    text-underline-offset: 4px;
    text-decoration-color: var(--accent-tertiary);
}

/* Heading adaptations */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: var(--heading-weight);
    font-style: var(--heading-style);
}

/* Text gradient */
.text-gradient {
    background: var(--theme-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Brutalist - no gradient text */
[data-theme="brutalist"] .text-gradient {
    background: none;
    -webkit-text-fill-color: var(--accent-primary);
    text-decoration: underline;
    text-decoration-style: wavy;
}

/* Section labels */
.section-label {
    color: var(--accent-secondary);
    background: color-mix(in srgb, var(--accent-secondary) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-secondary) 20%, transparent);
    border-radius: var(--button-radius);
}

/* Brutalist section label */
[data-theme="brutalist"] .section-label {
    background: var(--accent-tertiary);
    color: #000;
    border: 2px solid #000;
    font-weight: 900;
}

/* Step numbers */
.step-number {
    color: var(--accent-secondary);
    background: color-mix(in srgb, var(--accent-secondary) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-secondary) 20%, transparent);
    border-radius: var(--button-radius);
}

/* Brutalist step numbers */
[data-theme="brutalist"] .step-number {
    background: var(--accent-primary);
    color: #fff;
    border: 3px solid #000;
    border-radius: 0;
}

/* Service icons */
.service-icon {
    background: linear-gradient(135deg, var(--glow-primary) 0%, var(--glow-tertiary) 100%);
    border-radius: var(--border-radius-base);
}

.service-icon svg {
    color: var(--accent-secondary);
}

/* Luxury service icon */
[data-theme="luxury"] .service-icon {
    background: linear-gradient(135deg, rgba(201, 169, 98, 0.2) 0%, rgba(139, 92, 246, 0.15) 100%);
}

[data-theme="luxury"] .service-icon svg {
    color: var(--accent-primary);
}

/* Nature service icon */
[data-theme="nature"] .service-icon {
    background: linear-gradient(135deg, rgba(74, 124, 89, 0.15) 0%, rgba(139, 115, 85, 0.1) 100%);
}

[data-theme="nature"] .service-icon svg {
    color: var(--accent-primary);
}

/* Brutalist service icon */
[data-theme="brutalist"] .service-icon {
    background: var(--accent-secondary);
    border: 3px solid #000;
    border-radius: 0;
}

[data-theme="brutalist"] .service-icon svg {
    color: #fff;
}

/* Corporate service icon */
[data-theme="corporate"] .service-icon {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.1) 0%, rgba(14, 165, 233, 0.08) 100%);
}

[data-theme="corporate"] .service-icon svg {
    color: var(--accent-primary);
}

/* Badge */
.badge {
    border-radius: var(--button-radius);
}

/* Portfolio cards */
.portfolio-card {
    border-radius: var(--border-radius-base);
}

/* Brutalist portfolio */
[data-theme="brutalist"] .portfolio-card {
    border: 3px solid #000;
}

/* Testimonial cards */
.testimonial-card {
    border-radius: var(--border-radius-base);
}

/* Pricing cards */
.pricing-card {
    border-radius: var(--border-radius-base);
}

[data-theme="brutalist"] .pricing-card {
    border: 3px solid #000;
}

[data-theme="brutalist"] .pricing-card.featured {
    border-color: var(--accent-primary);
    border-width: 4px;
}

/* FAQ */
.faq-item {
    border-radius: var(--border-radius-base);
}

[data-theme="brutalist"] .faq-item {
    border: 2px solid #000;
}

/* Contact form */
.contact-card {
    border-radius: var(--border-radius-base);
}

[data-theme="brutalist"] .contact-card {
    border: 4px solid #000;
    box-shadow: 12px 12px 0 #000;
}

/* Form inputs */
.form-input {
    border-radius: calc(var(--button-radius) / 2);
}

[data-theme="brutalist"] .form-input {
    border: 2px solid #000;
}

[data-theme="brutalist"] .form-input:focus {
    border-color: var(--accent-primary);
    box-shadow: 4px 4px 0 #000;
}

/* Floating elements visibility per theme */
[data-theme="nature"] .hero-floats,
[data-theme="brutalist"] .hero-floats {
    display: none;
}

/* Logo strip */
[data-theme="brutalist"] .logos {
    border-top: 3px solid #000;
    border-bottom: 3px solid #000;
}

/* Corporate theme - subtle shadows */
[data-theme="corporate"] .card {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.06);
}

[data-theme="corporate"] .card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* Nature theme - organic shadows */
[data-theme="nature"] .card {
    box-shadow: 0 4px 20px rgba(74, 124, 89, 0.08);
}

[data-theme="nature"] .card:hover {
    box-shadow: 0 8px 32px rgba(74, 124, 89, 0.12);
}

/* Luxury theme - elegant shadows */
[data-theme="luxury"] .card {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

/* Footer adaptations */
[data-theme="brutalist"] .footer {
    border-top: 4px solid #000;
}


/* ===== THEME-SPECIFIC UNIQUE ELEMENTS ===== */

/* Luxury - Shimmer effect on cards */
[data-theme="luxury"] .card {
    position: relative;
    overflow: hidden;
}

[data-theme="luxury"] .card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(201, 169, 98, 0.08), transparent);
    animation: shimmer 4s ease-in-out infinite;
    pointer-events: none;
}

/* Luxury - Premium pricing card shimmer (subtle, refined) */
[data-theme="luxury"] .pricing-card.featured::before {
    display: none;
}

[data-theme="luxury"] .pricing-card.featured::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 40%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(201, 169, 98, 0.1), transparent);
    animation: shimmer 4s ease-in-out infinite;
    pointer-events: none;
}

@keyframes shimmer {
    0% {
        left: -100%;
    }

    50%,
    100% {
        left: 200%;
    }
}

/* Luxury - Elegant border on hero content */
[data-theme="luxury"] .hero-content::before {
    content: '';
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent-primary), transparent);
}

[data-theme="luxury"] .hero-content::after {
    content: '';
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent-primary), transparent);
}

@media (max-width: 768px) {
    [data-theme="luxury"] .hero-content::before {
        display: none;
    }
}

[data-theme="luxury"] .hero-content {
    position: relative;
    padding: 60px 0;
}

/* Nature - Breathing animation */
[data-theme="nature"] .hero-content {
    animation: breathe 6s ease-in-out infinite;
}

@keyframes breathe {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.005);
    }
}

/* Nature - Soft organic shadow on sections */
[data-theme="nature"] section {
    position: relative;
}

[data-theme="nature"] .services::before,
[data-theme="nature"] .pricing::before {
    content: '';
    position: absolute;
    top: -100px;
    left: 10%;
    width: 80%;
    height: 200px;
    background: radial-gradient(ellipse, rgba(74, 124, 89, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

[data-theme="nature"] .btn-primary {
    position: relative;
    overflow: hidden;
}

[data-theme="nature"] .btn-primary::after {
    content: '🌿';
    position: absolute;
    right: 16px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

[data-theme="nature"] .btn-primary:hover::after {
    opacity: 1;
}

/* Brutalist - Glitch effect on hover */
[data-theme="brutalist"] .hero-title {
    position: relative;
}

[data-theme="brutalist"] .hero-title:hover {
    animation: glitch 0.3s linear;
}

@keyframes glitch {
    0% {
        transform: translate(0);
    }

    20% {
        transform: translate(-2px, 2px);
    }

    40% {
        transform: translate(-2px, -2px);
    }

    60% {
        transform: translate(2px, 2px);
    }

    80% {
        transform: translate(2px, -2px);
    }

    100% {
        transform: translate(0);
    }
}

/* Brutalist - Bold cursor on buttons */
[data-theme="brutalist"] .btn {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23FF0000'/%3E%3C/svg%3E") 12 12, pointer;
}

/* Corporate - Subtle professional hover */
[data-theme="corporate"] .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(37, 99, 235, 0.1);
}

[data-theme="corporate"] .btn-primary {
    position: relative;
    overflow: hidden;
}

[data-theme="corporate"] .btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

[data-theme="corporate"] .btn-primary:hover::before {
    left: 100%;
}


/* ===== SMOOTH THEME TRANSITION ===== */
html {
    transition: background-color 0.5s ease;
}

body,
.card,
.nav,
.btn,
.section-label,
.step-number,
.service-icon,
.badge,
.pricing-card,
.testimonial-card,
.faq-item,
.form-input,
.form-textarea,
.footer,
.footer-social {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a {
    transition: color 0.4s ease, background 0.4s ease;
}


/* ===== THEME SHOWCASE BANNER ===== */
.theme-showcase-banner {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    padding: 12px 24px;
    background: var(--bg-card);
    backdrop-filter: var(--card-blur);
    border: 1px solid var(--border-light);
    border-radius: var(--button-radius);
    display: flex;
    align-items: center;
    gap: 12px;
    opacity: 0;
    pointer-events: none;
    transition: all 0.4s ease;
}

.theme-showcase-banner.visible {
    opacity: 1;
    pointer-events: all;
}

.theme-showcase-banner-text {
    font-size: 13px;
    color: var(--text-secondary);
}

.theme-showcase-banner-name {
    font-weight: 600;
    color: var(--text-accent);
}

.theme-showcase-banner-close {
    background: none;
    border: none;
    color: var(--text-tertiary);
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.theme-showcase-banner-close:hover {
    color: var(--text-primary);
}

/* ===== WELCOME TOOLTIP ===== */
.theme-welcome-tooltip {
    position: fixed;
    right: 70px;
    top: 48px;
    /* Aligns arrow (at 24px) with button center (at ~72px) */
    z-index: 1003;
    opacity: 0;
    pointer-events: none;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(20px);
}

.theme-welcome-tooltip.visible {
    opacity: 1;
    pointer-events: all;
    transform: translateX(0);
}

.theme-welcome-tooltip-arrow {
    position: absolute;
    right: -6px;
    top: 24px;
    width: 12px;
    height: 12px;
    background: rgba(30, 30, 55, 0.98);
    /* Match tooltip bg */
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    /* Match border */
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    /* Match border */
    transform: rotate(45deg);
    box-shadow: 2px -2px 2px rgba(0, 0, 0, 0.1);
}

.theme-welcome-tooltip-content {
    background: linear-gradient(145deg, rgba(20, 20, 40, 0.98) 0%, rgba(30, 30, 55, 0.98) 100%);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
    width: 260px;
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset,
        0 0 30px rgba(0, 212, 255, 0.15);
    animation: tooltipGlow 3s ease-in-out infinite;
}

@keyframes tooltipGlow {

    0%,
    100% {
        box-shadow:
            0 20px 50px rgba(0, 0, 0, 0.4),
            0 0 0 1px rgba(255, 255, 255, 0.05) inset,
            0 0 30px rgba(0, 212, 255, 0.1);
    }

    50% {
        box-shadow:
            0 20px 50px rgba(0, 0, 0, 0.4),
            0 0 0 1px rgba(255, 255, 255, 0.1) inset,
            0 0 40px rgba(0, 212, 255, 0.25);
    }
}

.theme-welcome-tooltip-icon {
    font-size: 36px;
    animation: iconFloat 2s ease-in-out infinite;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

@keyframes iconFloat {

    0%,
    100% {
        transform: translateY(0) rotate(-5deg);
    }

    50% {
        transform: translateY(-6px) rotate(5deg);
    }
}

.theme-welcome-tooltip-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.theme-welcome-tooltip-text strong {
    font-size: 15px;
    color: #ffffff;
    font-weight: 600;
}

.theme-welcome-tooltip-text span {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.5;
}

.theme-welcome-tooltip-text kbd {
    display: inline-block;
    padding: 3px 8px;
    font-size: 11px;
    font-family: monospace;
    background: rgba(0, 212, 255, 0.15);
    border: 1px solid rgba(0, 212, 255, 0.3);
    border-radius: 6px;
    color: #00D4FF;
    margin: 0 2px;
}

.theme-welcome-tooltip-close {
    background: linear-gradient(135deg, #0047FF 0%, #00D4FF 100%);
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 25px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.theme-welcome-tooltip-close:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(0, 71, 255, 0.4);
}

@media (max-width: 768px) {
    .theme-welcome-tooltip {
        display: none;
    }
}

[data-theme="brutalist"] .theme-showcase-banner {
    border: 2px solid #000;
    box-shadow: 4px 4px 0 #000;
}


/* ===== THEME-AWARE PORTFOLIO IMAGES ===== */
.portfolio-image-1 {
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--accent-primary) 100%);
}

.portfolio-image-2 {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--accent-tertiary) 100%);
}

.portfolio-image-3 {
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--accent-secondary) 100%);
}

/* Brutalist - solid colors with border */
[data-theme="brutalist"] .portfolio-image-1 {
    background: var(--accent-primary);
}

[data-theme="brutalist"] .portfolio-image-2 {
    background: var(--accent-secondary);
}

[data-theme="brutalist"] .portfolio-image-3 {
    background: var(--accent-tertiary);
}

/* Portfolio overlay theme-aware */
.portfolio-overlay {
    background: linear-gradient(to top, color-mix(in srgb, var(--bg-primary) 95%, transparent) 0%, transparent 60%);
}

[data-theme="brutalist"] .portfolio-overlay {
    background: linear-gradient(to top, rgba(255, 255, 255, 0.95) 0%, transparent 70%);
}

[data-theme="brutalist"] .portfolio-title {
    color: #000;
}


/* ===== LIGHT THEME FIXES ===== */
/* Nature theme - ensure nav toggle visibility */
[data-theme="nature"] .nav-toggle span,
[data-theme="brutalist"] .nav-toggle span,
[data-theme="corporate"] .nav-toggle span {
    background: var(--text-primary);
}

/* Mobile Menu Theme Adjustments */
[data-theme="luxury"] .nav-menu-mobile {
    background: linear-gradient(180deg, var(--bg-primary) 0%, color-mix(in srgb, var(--bg-primary) 95%, var(--accent-primary)) 100%);
    border-left: 1px solid var(--accent-primary);
}

[data-theme="luxury"] .nav-menu-link::before {
    background: var(--accent-primary);
}

[data-theme="luxury"] .nav-menu-cta {
    border-top-color: color-mix(in srgb, var(--accent-primary) 30%, transparent);
}

[data-theme="brutalist"] .nav-menu-mobile {
    border-left: 3px solid var(--text-primary);
    box-shadow: -12px 0 0 rgba(0, 0, 0, 0.1);
}

[data-theme="brutalist"] .nav-menu-link {
    border-radius: 0;
    border: 2px solid transparent;
}

[data-theme="brutalist"] .nav-menu-link:hover {
    border-color: var(--accent-primary);
    background: transparent;
}

[data-theme="brutalist"] .nav-menu-link::before {
    display: none;
}

[data-theme="brutalist"] .nav-menu-cta {
    border-top: 3px solid var(--text-primary);
}

[data-theme="nature"] .nav-menu-mobile {
    background: var(--bg-primary);
    backdrop-filter: blur(20px);
}

[data-theme="nature"] .nav-menu-link::before {
    background: var(--accent-primary);
}

[data-theme="nature"] .nav-menu-overlay {
    background: color-mix(in srgb, var(--bg-primary) 60%, transparent);
}

[data-theme="corporate"] .nav-menu-mobile {
    background: var(--bg-primary);
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.08);
}

[data-theme="corporate"] .nav-menu-link::before {
    background: var(--accent-primary);
}

[data-theme="corporate"] .nav-menu-overlay {
    background: rgba(0, 0, 0, 0.3);
}

/* Light themes - nav scrolled state */
[data-theme="nature"] .nav.scrolled,
[data-theme="brutalist"] .nav.scrolled,
[data-theme="corporate"] .nav.scrolled {
    background: color-mix(in srgb, var(--bg-primary) 95%, transparent);
}

/* Light themes - footer social */
[data-theme="nature"] .footer-social,
[data-theme="corporate"] .footer-social {
    background: color-mix(in srgb, var(--text-primary) 5%, transparent);
}

/* Light themes - form input backgrounds */
[data-theme="nature"] .form-input,
[data-theme="nature"] .form-textarea,
[data-theme="corporate"] .form-input,
[data-theme="corporate"] .form-textarea {
    background: var(--bg-card);
    border: 1px solid var(--border-light);
}

/* Brutalist form inputs */
[data-theme="brutalist"] .form-input,
[data-theme="brutalist"] .form-textarea {
    background: #fff;
    border: 2px solid #000;
}

/* Light themes - secondary button */
[data-theme="nature"] .btn-secondary,
[data-theme="corporate"] .btn-secondary {
    border: 1px solid var(--accent-primary);
    color: var(--accent-primary);
}

[data-theme="nature"] .btn-secondary:hover,
[data-theme="corporate"] .btn-secondary:hover {
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
}

/* Brutalist secondary button */
[data-theme="brutalist"] .btn-secondary {
    border: 3px solid #000;
    color: #000;
}

[data-theme="brutalist"] .btn-secondary:hover {
    background: #000;
    color: #fff;
}

/* Light themes - primary button text */
[data-theme="nature"] .btn-primary,
[data-theme="corporate"] .btn-primary {
    color: #fff;
}

[data-theme="brutalist"] .btn-primary {
    color: #fff;
    border: 3px solid #000;
}

/* Testimonial stars for light themes */
[data-theme="nature"] .testimonial-stars svg,
[data-theme="brutalist"] .testimonial-stars svg,
[data-theme="corporate"] .testimonial-stars svg {
    color: #FFB800;
    fill: #FFB800;
}


/* ============================================== */
/* ===== COMPREHENSIVE ELEMENT THEMING ========= */
/* ============================================== */

/* ===== SCROLLBAR THEMING ===== */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--accent-primary);
    border-radius: var(--button-radius);
    border: 2px solid var(--bg-secondary);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--accent-primary-light);
}

/* Brutalist scrollbar */
[data-theme="brutalist"]::-webkit-scrollbar-thumb {
    border-radius: 0;
    border: 2px solid #000;
}

[data-theme="brutalist"]::-webkit-scrollbar-track {
    background: #fff;
    border-left: 2px solid #000;
}

/* Nature scrollbar */
[data-theme="nature"]::-webkit-scrollbar-thumb {
    background: var(--accent-primary);
}

/* Firefox scrollbar */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--accent-primary) var(--bg-secondary);
}


/* ===== TOUR SYSTEM THEMING ===== */

/* Journey Progress Bar - Base theme adaptation */
#journey-progress {
    background: linear-gradient(180deg, color-mix(in srgb, var(--bg-primary) 98%, transparent) 0%, color-mix(in srgb, var(--bg-primary) 90%, transparent) 100%) !important;
    border-bottom: 1px solid var(--border-light) !important;
}

.journey-dot {
    background: var(--text-tertiary) !important;
    border-color: var(--text-tertiary) !important;
}

.journey-step.active .journey-dot {
    background: var(--accent-secondary) !important;
    border-color: var(--accent-secondary) !important;
    box-shadow: 0 0 10px color-mix(in srgb, var(--accent-secondary) 50%, transparent) !important;
}

.journey-step.completed .journey-dot {
    background: var(--success-color) !important;
    border-color: var(--success-color) !important;
}

.journey-label {
    color: var(--text-tertiary) !important;
}

.journey-step.active .journey-label {
    color: var(--accent-secondary) !important;
}

.journey-step.completed .journey-label {
    color: var(--success-color) !important;
}

.journey-line {
    background: var(--border-light) !important;
}

/* Brutalist Journey */
[data-theme="brutalist"] #journey-progress {
    background: #fff !important;
    border-bottom: 3px solid #000 !important;
}

[data-theme="brutalist"] .journey-step.active .journey-dot {
    background: var(--accent-primary) !important;
    border-color: #000 !important;
    box-shadow: none !important;
}

[data-theme="brutalist"] .journey-step.completed .journey-dot {
    background: #00CC00 !important;
    border-color: #000 !important;
}

[data-theme="brutalist"] .journey-line {
    background: #000 !important;
}


/* ===== GUIDE BUTTON THEMING ===== */
#guide-btn {
    background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%) !important;
    box-shadow: 0 4px 20px var(--glow-primary) !important;
}

#guide-btn:hover {
    box-shadow: 0 6px 30px var(--glow-primary-strong) !important;
}

/* Brutalist guide button */
[data-theme="brutalist"] #guide-btn {
    background: var(--accent-primary) !important;
    border-radius: 0 !important;
    border: 3px solid #000 !important;
    box-shadow: 4px 4px 0 #000 !important;
}

[data-theme="brutalist"] #guide-btn:hover {
    box-shadow: 6px 6px 0 #000 !important;
    transform: translate(-2px, -2px) !important;
}

/* Corporate guide button */
[data-theme="corporate"] #guide-btn {
    box-shadow: 0 4px 20px rgba(37, 99, 235, 0.3) !important;
}

/* Nature guide button */
[data-theme="nature"] #guide-btn {
    box-shadow: 0 4px 20px rgba(74, 124, 89, 0.4) !important;
}

/* Luxury guide button */
[data-theme="luxury"] #guide-btn {
    background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-tertiary) 100%) !important;
    box-shadow: 0 4px 20px rgba(201, 169, 98, 0.4) !important;
}


/* ===== TOUR MODAL THEMING ===== */
.tour-modal-content {
    background: linear-gradient(135deg, color-mix(in srgb, var(--bg-secondary) 95%, transparent) 0%, color-mix(in srgb, var(--bg-tertiary) 95%, transparent) 100%) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: var(--border-radius-base) !important;
}

.tour-close {
    background: color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
    color: var(--text-tertiary) !important;
}

.tour-close:hover {
    background: color-mix(in srgb, var(--text-primary) 20%, transparent) !important;
    color: var(--text-primary) !important;
}

.tour-title {
    color: var(--text-primary) !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--heading-weight) !important;
}

.tour-description {
    color: var(--text-secondary) !important;
}

.tour-highlight {
    color: var(--accent-secondary) !important;
    background: color-mix(in srgb, var(--accent-secondary) 10%, transparent) !important;
    border-radius: calc(var(--button-radius) / 4) !important;
}

.tour-dot {
    background: var(--text-tertiary) !important;
}

.tour-dot.active {
    background: var(--accent-secondary) !important;
}

.tour-btn-skip {
    border-color: var(--border-light) !important;
    color: var(--text-tertiary) !important;
    border-radius: calc(var(--button-radius) / 2) !important;
}

.tour-btn-skip:hover {
    border-color: var(--text-secondary) !important;
    color: var(--text-primary) !important;
}

.tour-btn-next {
    background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%) !important;
    border-radius: calc(var(--button-radius) / 2) !important;
}

.tour-btn-next:hover {
    box-shadow: 0 4px 15px var(--glow-primary) !important;
}

/* Brutalist tour modal */
[data-theme="brutalist"] .tour-modal-content {
    background: #fff !important;
    border: 4px solid #000 !important;
    border-radius: 0 !important;
    box-shadow: 12px 12px 0 #000 !important;
}

[data-theme="brutalist"] .tour-title {
    color: #000 !important;
}

[data-theme="brutalist"] .tour-description {
    color: #333 !important;
}

[data-theme="brutalist"] .tour-highlight {
    background: var(--accent-tertiary) !important;
    color: #000 !important;
}

[data-theme="brutalist"] .tour-btn-skip {
    border: 2px solid #000 !important;
    color: #000 !important;
    border-radius: 0 !important;
}

[data-theme="brutalist"] .tour-btn-next {
    background: var(--accent-primary) !important;
    border-radius: 0 !important;
    border: 2px solid #000 !important;
}


/* ===== DEMO PAGE THEMING ===== */

/* Demo badge */
.demo-badge {
    color: var(--success-color) !important;
    background: color-mix(in srgb, var(--success-color) 10%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--success-color) 20%, transparent) !important;
    border-radius: var(--button-radius) !important;
}

.demo-badge::before {
    background: var(--success-color) !important;
}

/* Brutalist demo badge */
[data-theme="brutalist"] .demo-badge {
    background: #00CC00 !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    border-radius: 0 !important;
}

/* Workflow progress line */
.workflow-progress {
    background: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary)) !important;
    box-shadow: 0 0 10px var(--glow-secondary) !important;
}

/* Step icons */
.step-icon {
    background: var(--bg-secondary) !important;
    border: 2px solid var(--border-light) !important;
    border-radius: var(--button-radius) !important;
}

.step-icon svg {
    color: var(--text-tertiary) !important;
}

.workflow-step.active .step-icon {
    border-color: var(--accent-primary) !important;
    background: color-mix(in srgb, var(--accent-primary) 10%, transparent) !important;
}

.workflow-step.active .step-icon svg {
    color: var(--accent-primary) !important;
}

.workflow-step.completed .step-icon {
    border-color: var(--success-color) !important;
    background: color-mix(in srgb, var(--success-color) 10%, transparent) !important;
}

.workflow-step.completed .step-icon svg {
    color: var(--success-color) !important;
}

.workflow-step.completed .step-icon::after {
    background: var(--success-color) !important;
    color: var(--bg-primary) !important;
}

/* Brutalist step icons */
[data-theme="brutalist"] .step-icon {
    border: 3px solid #000 !important;
    border-radius: 0 !important;
}

[data-theme="brutalist"] .workflow-step.active .step-icon {
    background: var(--accent-secondary) !important;
    border-color: #000 !important;
}

[data-theme="brutalist"] .workflow-step.active .step-icon svg {
    color: #fff !important;
}

[data-theme="brutalist"] .workflow-step.completed .step-icon {
    background: #00CC00 !important;
}

[data-theme="brutalist"] .workflow-step.completed .step-icon::after {
    background: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
}

/* Step labels */
.step-label {
    color: var(--text-tertiary) !important;
}

.workflow-step.active .step-label,
.workflow-step.completed .step-label {
    color: var(--text-primary) !important;
}

.step-time {
    color: var(--text-tertiary) !important;
}

.workflow-step.completed .step-time {
    color: var(--success-color) !important;
}

/* Data cards */
.data-card {
    border-radius: var(--border-radius-base) !important;
}

.data-card-icon {
    background: var(--glow-primary) !important;
    border-radius: calc(var(--border-radius-base) / 2) !important;
}

[data-theme="brutalist"] .data-card {
    border: 3px solid #000 !important;
    border-radius: 0 !important;
    box-shadow: 6px 6px 0 #000 !important;
}

[data-theme="brutalist"] .data-card-icon {
    background: var(--accent-secondary) !important;
    border-radius: 0 !important;
}

/* Data values */
.data-value.highlight {
    color: var(--accent-secondary) !important;
}

.data-value.success {
    color: var(--success-color) !important;
}

/* Live indicator */
.live-indicator {
    color: var(--success-color) !important;
    background: color-mix(in srgb, var(--success-color) 10%, transparent) !important;
    border-radius: var(--button-radius) !important;
}

.live-indicator::before {
    background: var(--success-color) !important;
}

[data-theme="brutalist"] .live-indicator {
    background: #00CC00 !important;
    color: #000 !important;
    border-radius: 0 !important;
}

/* Sheet embed container */
.sheet-embed-container {
    border-radius: var(--border-radius-base) !important;
}

[data-theme="brutalist"] .sheet-embed-container {
    border: 3px solid #000 !important;
    border-radius: 0 !important;
}

/* Proof banner */
.proof-banner {
    color: var(--success-color) !important;
    background: color-mix(in srgb, var(--success-color) 5%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--success-color) 20%, transparent) !important;
    border-radius: calc(var(--border-radius-base) / 2) !important;
}

[data-theme="brutalist"] .proof-banner {
    background: #00CC00 !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    border-radius: 0 !important;
}

/* Demo CTA */
.demo-cta {
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 10%, transparent) 0%, color-mix(in srgb, var(--accent-tertiary) 5%, transparent) 100%) !important;
    border: 1px solid var(--border-accent) !important;
    border-radius: var(--border-radius-base) !important;
}

[data-theme="brutalist"] .demo-cta {
    background: var(--accent-tertiary) !important;
    border: 4px solid #000 !important;
    border-radius: 0 !important;
}

/* Architecture section */
.architecture-section {
    border-radius: var(--border-radius-base) !important;
}

.architecture-title svg {
    color: var(--accent-secondary) !important;
}

.arch-node {
    border-radius: calc(var(--border-radius-base) / 2) !important;
}

.arch-node.active {
    border-color: var(--success-color) !important;
    background: color-mix(in srgb, var(--success-color) 5%, transparent) !important;
}

.arch-status.live {
    background: color-mix(in srgb, var(--success-color) 20%, transparent) !important;
    color: var(--success-color) !important;
}

.arch-status.demo {
    background: rgba(255, 170, 0, 0.2) !important;
    color: #ffaa00 !important;
}

.architecture-note {
    background: color-mix(in srgb, var(--accent-primary) 5%, transparent) !important;
    border-radius: calc(var(--border-radius-base) / 2) !important;
}

[data-theme="brutalist"] .architecture-section {
    border: 3px solid #000 !important;
    border-radius: 0 !important;
}

[data-theme="brutalist"] .arch-node {
    border: 2px solid #000 !important;
    border-radius: 0 !important;
}

[data-theme="brutalist"] .arch-status.live {
    background: #00CC00 !important;
    color: #000 !important;
}

[data-theme="brutalist"] .architecture-note {
    background: var(--accent-tertiary) !important;
    border-radius: 0 !important;
}


/* ===== SECTION LABELS (ALL THEMES) ===== */
.section-label {
    color: var(--accent-secondary) !important;
    background: color-mix(in srgb, var(--accent-secondary) 10%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--accent-secondary) 20%, transparent) !important;
    border-radius: var(--button-radius) !important;
}

[data-theme="brutalist"] .section-label {
    background: var(--accent-tertiary) !important;
    color: #000 !important;
    border: 2px solid #000 !important;
    border-radius: 0 !important;
    font-weight: 900 !important;
}


/* ===== SELECTION HIGHLIGHT ===== */
::selection {
    background: var(--accent-primary);
    color: var(--text-primary);
}

[data-theme="nature"] ::selection,
[data-theme="corporate"] ::selection {
    color: #fff;
}

[data-theme="brutalist"] ::selection {
    background: var(--accent-tertiary);
    color: #000;
}


/* ===== FOCUS STATES ===== */
:focus-visible {
    outline: 2px solid var(--accent-secondary);
    outline-offset: 2px;
}

[data-theme="brutalist"] :focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
}


/* ===== LINK UNDERLINE THEMING ===== */
a:not(.btn):not(.nav-link):not(.nav-logo):hover {
    color: var(--accent-secondary);
}

[data-theme="brutalist"] a:not(.btn):not(.nav-link):not(.nav-logo):hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
}


/* ===== FORM SUCCESS STATE ===== */
.form-success svg {
    color: var(--success-color) !important;
}

[data-theme="brutalist"] .form-success svg {
    color: #00CC00 !important;
}

/* Form success panel theming */
.form-success {
    border-radius: var(--border-radius-base);
}

[data-theme="brutalist"] .form-success {
    border-radius: 0;
}


/* ===== CONTACT FORM CARD ===== */
.contact-form-card,
.contact-card {
    border-radius: var(--border-radius-base) !important;
}

[data-theme="brutalist"] .contact-form-card,
[data-theme="brutalist"] .contact-card {
    border: 4px solid #000 !important;
    border-radius: 0 !important;
    box-shadow: 12px 12px 0 #000 !important;
}


/* ===== TOOLTIP/DROPDOWN THEMING ===== */
[role="tooltip"],
.dropdown,
.popover {
    background: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: calc(var(--border-radius-base) / 2);
    backdrop-filter: var(--card-blur);
}

[data-theme="brutalist"] [role="tooltip"],
[data-theme="brutalist"] .dropdown,
[data-theme="brutalist"] .popover {
    border: 2px solid #000;
    border-radius: 0;
    backdrop-filter: none;
}