/* Theme System - Dark/Light Mode Support */
/* Accessibility: Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important; }
  /* Disable video autoplay for motion sensitivity */
  .hero-video {
    display: none; }
  .hero-background {
    background: linear-gradient(135deg, var(--primary-navy), var(--primary-blue)); } }

/* Enhanced focus indicators for accessibility */
*:focus-visible {
  outline: 2px solid var(--theme-nav-hover);
  outline-offset: 2px;
  border-radius: 4px; }

/* Remove default outline for mouse users */
*:focus:not(:focus-visible) {
  outline: none; }

/* Light Theme (Default) */
:root {
  --theme-bg-primary: #ffffff;
  --theme-bg-secondary: #f8fafc;
  --theme-bg-tertiary: #e2e8f0;
  --theme-text-primary: #1e293b;
  --theme-text-secondary: #64748b;
  --theme-text-light: #94a3b8;
  --theme-border: #e2e8f0;
  --theme-shadow: rgba(0, 0, 0, 0.1);
  --theme-shadow-medium: rgba(0, 0, 0, 0.07);
  --theme-shadow-strong: rgba(0, 0, 0, 0.1);
  /* Header */
  --theme-header-bg: rgba(255, 255, 255, 0.95);
  --theme-header-border: #e2e8f0;
  /* Hero */
  --theme-hero-bg: linear-gradient(135deg, #1a2332 0%, #334155 100%);
  --theme-hero-overlay: linear-gradient(135deg, 
    rgba(26, 35, 50, 0.7) 0%, 
    rgba(51, 65, 85, 0.6) 50%,
    rgba(26, 35, 50, 0.8) 100%);
  /* Metrics and Cards */
  --theme-card-bg: #ffffff;
  --theme-card-border: rgba(0, 0, 0, 0.05);
  --theme-metric-bg: #f8fafc;
  /* CTA Section */
  --theme-cta-bg: #1a2332;
  --theme-cta-text: #ffffff;
  /* Navigation */
  --theme-nav-text: #1e293b;
  --theme-nav-hover: #2563eb;
  /* Logo */
  --theme-logo-filter: brightness(1); }

/* Dark Theme */
[data-theme="dark"] {
  --theme-bg-primary: #0f172a;
  --theme-bg-secondary: #1e293b;
  --theme-bg-tertiary: #334155;
  --theme-text-primary: #ffffff;
  --theme-text-secondary: #e2e8f0;
  --theme-text-light: #cbd5e1;
  --theme-border: #334155;
  --theme-shadow: rgba(0, 0, 0, 0.3);
  --theme-shadow-medium: rgba(0, 0, 0, 0.2);
  --theme-shadow-strong: rgba(0, 0, 0, 0.3);
  /* Header */
  --theme-header-bg: rgba(15, 23, 42, 0.95);
  --theme-header-border: #334155;
  /* Hero */
  --theme-hero-bg: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  --theme-hero-overlay: linear-gradient(135deg, 
    rgba(15, 23, 42, 0.7) 0%, 
    rgba(30, 41, 59, 0.6) 50%,
    rgba(15, 23, 42, 0.8) 100%);
  /* Metrics and Cards */
  --theme-card-bg: #1e293b;
  --theme-card-border: rgba(255, 255, 255, 0.1);
  --theme-metric-bg: #1e293b;
  /* CTA Section */
  --theme-cta-bg: #0f172a;
  --theme-cta-text: #ffffff;
  /* Navigation */
  --theme-nav-text: #ffffff;
  --theme-nav-hover: #60a5fa;
  /* Logo */
  --theme-logo-filter: brightness(0) invert(1); }

/* Force white text on all elements in dark theme */
[data-theme="dark"] {
  color: #ffffff !important; }

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] p,
[data-theme="dark"] span,
[data-theme="dark"] div:not(.newsletter-banner):not(.btn-primary-ares):not(.btn-secondary-ares),
[data-theme="dark"] .section-title,
[data-theme="dark"] .hero-title,
[data-theme="dark"] .hero-subtitle,
[data-theme="dark"] .blog-title,
[data-theme="dark"] .metric-title,
[data-theme="dark"] .newsletter-section-title,
[data-theme="dark"] .approach-item h3,
[data-theme="dark"] .solution-item h3,
[data-theme="dark"] .founder-item h3 {
  color: #ffffff !important; }

/* Auto-detect system preference */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --theme-bg-primary: #0f172a;
    --theme-bg-secondary: #1e293b;
    --theme-bg-tertiary: #334155;
    --theme-text-primary: #ffffff;
    --theme-text-secondary: #e2e8f0;
    --theme-text-light: #cbd5e1;
    --theme-border: #334155;
    --theme-shadow: rgba(0, 0, 0, 0.3);
    --theme-shadow-medium: rgba(0, 0, 0, 0.2);
    --theme-shadow-strong: rgba(0, 0, 0, 0.3);
    --theme-header-bg: rgba(15, 23, 42, 0.95);
    --theme-header-border: #334155;
    --theme-hero-bg: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    --theme-hero-overlay: linear-gradient(135deg, 
      rgba(15, 23, 42, 0.7) 0%, 
      rgba(30, 41, 59, 0.6) 50%,
      rgba(15, 23, 42, 0.8) 100%);
    --theme-card-bg: #1e293b;
    --theme-card-border: rgba(255, 255, 255, 0.1);
    --theme-metric-bg: #1e293b;
    --theme-cta-bg: #0f172a;
    --theme-cta-text: #ffffff;
    --theme-nav-text: #ffffff;
    --theme-nav-hover: #60a5fa;
    --theme-logo-filter: brightness(0) invert(1); } }

/* Force white text when system dark mode is detected */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color: #ffffff !important; }
  :root:not([data-theme="light"]) h1,
  :root:not([data-theme="light"]) h2,
  :root:not([data-theme="light"]) h3,
  :root:not([data-theme="light"]) h4,
  :root:not([data-theme="light"]) h5,
  :root:not([data-theme="light"]) h6,
  :root:not([data-theme="light"]) p,
  :root:not([data-theme="light"]) span,
  :root:not([data-theme="light"]) div:not(.newsletter-banner):not(.btn-primary-ares):not(.btn-secondary-ares),
  :root:not([data-theme="light"]) .section-title,
  :root:not([data-theme="light"]) .hero-title,
  :root:not([data-theme="light"]) .hero-subtitle,
  :root:not([data-theme="light"]) .blog-title,
  :root:not([data-theme="light"]) .metric-title,
  :root:not([data-theme="light"]) .newsletter-section-title,
  :root:not([data-theme="light"]) .approach-item h3,
  :root:not([data-theme="light"]) .solution-item h3,
  :root:not([data-theme="light"]) .founder-item h3 {
    color: #ffffff !important; } }

/* Smooth transitions for theme changes */
* {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important; }

/* Navbar Controls Container */
.navbar-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem; }

/* Theme Toggle in Navbar */
.theme-toggle-navbar {
  display: flex;
  align-items: center; }

.theme-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  background: transparent;
  border: none;
  color: var(--theme-nav-text);
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 6px; }

.theme-toggle-btn:hover {
  background: var(--theme-bg-secondary);
  transform: scale(1.1); }

.theme-toggle-btn:active {
  transform: scale(0.95); }

.theme-toggle-icon {
  font-size: 1.25rem;
  transition: all 0.3s ease; }

.theme-toggle-btn:hover .theme-toggle-icon {
  transform: scale(1.1); }

/* Theme toggle for transparent header - only on homepage */
.page-home .header-ares:not(.scrolled) .theme-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.15); }

/* Theme toggle for scrolled header */
.header-ares.scrolled .theme-toggle-btn {
  color: var(--theme-nav-text); }

.header-ares.scrolled .theme-toggle-btn:hover {
  background: var(--theme-bg-secondary); }

/* Theme toggle for non-homepage headers */
body:not(.page-home) .header-ares:not(.scrolled) .theme-toggle-btn {
  color: var(--theme-nav-text); }

body:not(.page-home) .header-ares:not(.scrolled) .theme-toggle-btn:hover {
  background: var(--theme-bg-secondary); }

/* Responsive design for navbar controls */
@media (max-width: 991px) {
  .navbar-controls {
    gap: 0.25rem; } }

@media (max-width: 768px) {
  .theme-toggle-btn {
    padding: 0.4rem; }
  .theme-toggle-icon {
    font-size: 1.1rem; } }

/* Logo theme adaptation */
.logo img {
  transition: opacity 0.3s ease; }

/* Show/hide logos based on theme */
.logo-light {
  display: block; }

.logo-dark {
  display: none; }

[data-theme="dark"] .logo-light {
  display: none; }

[data-theme="dark"] .logo-dark {
  display: block; }

/* Auto-detect system preference for logos */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .logo-light {
    display: none; }
  :root:not([data-theme="light"]) .logo-dark {
    display: block; } }

/* Single adaptive logo with filter option */
.logo-adaptive {
  display: block;
  transition: filter 0.3s ease; }

/* Logo with filter for dark theme */
.logo-with-filter {
  filter: none; }

[data-theme="dark"] .logo-with-filter {
  filter: brightness(0) invert(1); }

/* Auto-detect system preference for adaptive logo */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .logo-with-filter {
    filter: brightness(0) invert(1); } }

/* Ensure proper contrast for logo text */
.logo-text {
  color: var(--theme-nav-text) !important; }
