/* Dark Mode Theme - Company Map UK Marketing Site */
:root[data-theme="dark"] {
    /* Colors */
    --color-primary: #00d4ff;
    --color-primary-dark: #0099cc;
    --color-secondary: #ff6b6b;
    --color-accent: #4ecdc4;
    --color-success: #00ff88;
    --color-warning: #ffaa00;
    --color-error: #ff4757;

    /* Background Colors */
    --bg-primary: #0a0a0a;
    --bg-secondary: #111111;
    --bg-tertiary: #1a1a1a;
    --bg-card: rgba(255, 255, 255, 0.05);
    --bg-glass: rgba(255, 255, 255, 0.1);

    /* Text Colors */
    --text-primary: #ffffff;
    --text-secondary: #cccccc;
    --text-muted: #888888;
    --text-accent: var(--color-primary);

    /* Borders */
    --border-primary: rgba(255, 255, 255, 0.1);
    --border-accent: rgba(0, 212, 255, 0.3);
    --border-glow: rgba(0, 212, 255, 0.5);

    /* Effects */
    --shadow-glow: 0 0 20px rgba(0, 212, 255, 0.3);
    --shadow-card: 0 8px 32px rgba(0, 0, 0, 0.3);
    --shadow-floating: 0 12px 40px rgba(0, 0, 0, 0.4);
}

/* Dark Mode Specific Styles */
:root[data-theme="dark"] .background-container {
    opacity: 1;
}

:root[data-theme="dark"] .grid-background {
    background-image:
        linear-gradient(rgba(0, 212, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, 0.1) 1px, transparent 1px);
}

:root[data-theme="dark"] .floating-particles {
    background: radial-gradient(circle at 20% 50%, rgba(0, 212, 255, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(255, 107, 107, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 40% 80%, rgba(78, 205, 196, 0.1) 0%, transparent 50%);
}

:root[data-theme="dark"] .nav {
    background: rgba(10, 10, 10, 0.95);
}

:root[data-theme="dark"] .gradient-text {
    background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

:root[data-theme="dark"] .hero-badge {
    background: var(--bg-glass);
    border: 1px solid var(--border-accent);
    box-shadow: 0 0 15px rgba(0, 212, 255, 0.4);
}

:root[data-theme="dark"] .btn-primary {
    background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
    color: var(--bg-primary);
    box-shadow: var(--shadow-glow);
}

:root[data-theme="dark"] .btn-primary:hover {
    box-shadow: 0 0 30px rgba(0, 212, 255, 0.5);
}

:root[data-theme="dark"] .btn-secondary {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border-accent);
}

:root[data-theme="dark"] .btn-secondary:hover {
    background: var(--bg-glass);
    border-color: var(--color-primary);
}

:root[data-theme="dark"] .email-input,
:root[data-theme="dark"] .form-input,
:root[data-theme="dark"] .form-textarea {
    background: var(--bg-glass);
    border: 1px solid var(--border-primary);
    color: var(--text-primary);
}

:root[data-theme="dark"] .email-input::placeholder,
:root[data-theme="dark"] .form-input::placeholder,
:root[data-theme="dark"] .form-textarea::placeholder {
    color: var(--text-muted);
}

:root[data-theme="dark"] .demo-screen {
    background: var(--bg-card);
    border: 1px solid var(--border-primary);
    box-shadow: var(--shadow-floating);
}

:root[data-theme="dark"] .demo-header {
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-primary);
}

:root[data-theme="dark"] .demo-map {
    background: linear-gradient(45deg, #1a1a1a 0%, #2a2a2a 100%);
}

:root[data-theme="dark"] .search-input-demo,
:root[data-theme="dark"] .info-item {
    background: var(--bg-glass);
    border: 1px solid var(--border-primary);
}

:root[data-theme="dark"] .feature-card,
:root[data-theme="dark"] .use-case-card,
:root[data-theme="dark"] .pricing-card {
    background: var(--bg-card);
    border: 1px solid var(--border-primary);
}

:root[data-theme="dark"] .feature-card:hover,
:root[data-theme="dark"] .pricing-card:hover {
    border-color: var(--border-accent);
    box-shadow: var(--shadow-floating);
}

:root[data-theme="dark"] .feature-highlight {
    background: var(--bg-glass);
    border: 1px solid var(--border-accent);
}

:root[data-theme="dark"] .use-cases {
    background: var(--bg-secondary);
}

:root[data-theme="dark"] .final-cta {
    background: var(--bg-secondary);
}

:root[data-theme="dark"] .footer {
    background: var(--bg-primary);
    border-top: 1px solid var(--border-primary);
}

:root[data-theme="dark"] .modal-overlay {
    background: rgba(0, 0, 0, 0.8);
}

:root[data-theme="dark"] .modal-content {
    background: var(--bg-secondary);
    border: 1px solid var(--border-primary);
}

/* Company Markers - Dark Mode */
:root[data-theme="dark"] .marker-dot {
    background: var(--color-primary);
    border: 2px solid var(--bg-primary);
    box-shadow:
        0 0 0 2px var(--color-primary),
        0 0 10px var(--color-primary),
        0 0 20px rgba(0, 212, 255, 0.3);
}

:root[data-theme="dark"] .marker-pulse {
    background: var(--color-primary);
    opacity: 0.3;
}

:root[data-theme="dark"] .company-marker.density-huge .marker-dot {
    background: #00ff88;
    box-shadow:
        0 0 0 2px #00ff88,
        0 0 12px #00ff88,
        0 0 24px rgba(0, 255, 136, 0.4);
}

:root[data-theme="dark"] .company-marker.density-huge .marker-pulse {
    background: #00ff88;
}

:root[data-theme="dark"] .company-marker.density-large .marker-dot {
    background: #4ecdc4;
    box-shadow:
        0 0 0 2px #4ecdc4,
        0 0 11px #4ecdc4,
        0 0 22px rgba(78, 205, 196, 0.4);
}

:root[data-theme="dark"] .company-marker.density-large .marker-pulse {
    background: #4ecdc4;
}

/* Map Popup - Dark Mode */
:root[data-theme="dark"] .maplibregl-popup-content {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-accent) !important;
    box-shadow: var(--shadow-floating) !important;
    color: var(--text-primary) !important;
}

:root[data-theme="dark"] .maplibregl-popup-tip {
    border-top-color: var(--bg-secondary) !important;
    border-bottom-color: var(--bg-secondary) !important;
}

:root[data-theme="dark"] .popup-title {
    color: var(--color-primary);
}

:root[data-theme="dark"] .popup-stats {
    color: var(--text-secondary);
}

/* Map Fallback - Dark Mode */
:root[data-theme="dark"] .map-fallback {
    background: linear-gradient(45deg, #1a1a1a 0%, #2a2a2a 100%);
}

:root[data-theme="dark"] .map-fallback::before {
    background:
        radial-gradient(circle at 30% 40%, rgba(0, 212, 255, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 70% 60%, rgba(78, 205, 196, 0.1) 0%, transparent 50%);
}

/* Stat badges - Dark Mode */
:root[data-theme="dark"] .stat-item {
    background: var(--bg-glass);
}

/* Mobile menu - Dark Mode */
@media (max-width: 768px) {
    :root[data-theme="dark"] .nav-links {
        background: var(--bg-secondary);
        border: 1px solid var(--border-primary);
    }
}