/* Enhanced Theme System with Multiple Themes */

/* Dark Modern Theme */
.theme-dark-modern {
  --color-primary: #00f5ff;
  --color-secondary: #ff0080;
  --color-background: #0a0a0a;
  --color-surface: #1a1a1a;
  --color-text: #ffffff;
  --color-text-secondary: #a0a0a0;
  --color-accent: #00f5ff;
  --color-border: #333333;
  --font-heading: "Orbitron", sans-serif;
  --font-body: "Inter", sans-serif;
  --layout-max-width: 1200px;
  --layout-spacing: 2rem;
  --layout-border-radius: 8px;
  --shadow-light: 0 4px 6px rgba(0, 245, 255, 0.1);
  --shadow-medium: 0 10px 25px rgba(0, 245, 255, 0.15);
  --shadow-heavy: 0 20px 40px rgba(0, 245, 255, 0.2);
  --gradient-primary: linear-gradient(135deg, #00f5ff 0%, #ff0080 100%);
  --gradient-surface: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
}

/* Light Minimal Theme */
.theme-light-minimal {
  --color-primary: #2563eb;
  --color-secondary: #7c3aed;
  --color-background: #ffffff;
  --color-surface: #f8fafc;
  --color-text: #1e293b;
  --color-text-secondary: #64748b;
  --color-accent: #2563eb;
  --color-border: #e2e8f0;
  --font-heading: "Poppins", sans-serif;
  --font-body: "Inter", sans-serif;
  --layout-max-width: 1200px;
  --layout-spacing: 2rem;
  --layout-border-radius: 12px;
  --shadow-light: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-medium: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-heavy: 0 10px 25px rgba(0, 0, 0, 0.15);
  --gradient-primary: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
  --gradient-surface: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

/* Retro Wave Theme */
.theme-retro-wave {
  --color-primary: #ff006e;
  --color-secondary: #8338ec;
  --color-background: #0d1b2a;
  --color-surface: #1b263b;
  --color-text: #ffffff;
  --color-text-secondary: #a8dadc;
  --color-accent: #ffbe0b;
  --color-border: #415a77;
  --font-heading: "Orbitron", sans-serif;
  --font-body: "Roboto", sans-serif;
  --layout-max-width: 1200px;
  --layout-spacing: 2rem;
  --layout-border-radius: 4px;
  --shadow-light: 0 0 10px rgba(255, 0, 110, 0.3);
  --shadow-medium: 0 0 20px rgba(255, 0, 110, 0.4);
  --shadow-heavy: 0 0 30px rgba(255, 0, 110, 0.5);
  --gradient-primary: linear-gradient(135deg, #ff006e 0%, #8338ec 100%);
  --gradient-surface: linear-gradient(135deg, #1b263b 0%, #415a77 100%);
}

/* Adding new Neon Cyberpunk theme */
.theme-neon-cyberpunk {
  --color-primary: #39ff14;
  --color-secondary: #ff073a;
  --color-background: #000000;
  --color-surface: #111111;
  --color-text: #00ff41;
  --color-text-secondary: #00cc33;
  --color-accent: #ff073a;
  --color-border: #333333;
  --font-heading: "Orbitron", sans-serif;
  --font-body: "Roboto Mono", monospace;
  --layout-max-width: 1400px;
  --layout-spacing: 1.5rem;
  --layout-border-radius: 0px;
  --shadow-light: 0 0 10px rgba(57, 255, 20, 0.5);
  --shadow-medium: 0 0 20px rgba(57, 255, 20, 0.6);
  --shadow-heavy: 0 0 40px rgba(57, 255, 20, 0.8);
  --gradient-primary: linear-gradient(135deg, #39ff14 0%, #ff073a 100%);
  --gradient-surface: linear-gradient(135deg, #111111 0%, #222222 100%);
}

/* Adding new Warm Sunset theme */
.theme-warm-sunset {
  --color-primary: #ff6b35;
  --color-secondary: #f7931e;
  --color-background: #fef7f0;
  --color-surface: #ffffff;
  --color-text: #2d1b14;
  --color-text-secondary: #8b5a3c;
  --color-accent: #ff6b35;
  --color-border: #f4d1ae;
  --font-heading: "Poppins", sans-serif;
  --font-body: "Inter", sans-serif;
  --layout-max-width: 1200px;
  --layout-spacing: 2.5rem;
  --layout-border-radius: 16px;
  --shadow-light: 0 2px 4px rgba(255, 107, 53, 0.1);
  --shadow-medium: 0 8px 16px rgba(255, 107, 53, 0.15);
  --shadow-heavy: 0 16px 32px rgba(255, 107, 53, 0.2);
  --gradient-primary: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
  --gradient-surface: linear-gradient(135deg, #ffffff 0%, #fef7f0 100%);
}

/* Adding new Monochrome theme */
.theme-monochrome {
  --color-primary: #000000;
  --color-secondary: #666666;
  --color-background: #ffffff;
  --color-surface: #f5f5f5;
  --color-text: #000000;
  --color-text-secondary: #666666;
  --color-accent: #000000;
  --color-border: #cccccc;
  --font-heading: "Inter", sans-serif;
  --font-body: "Inter", sans-serif;
  --layout-max-width: 1000px;
  --layout-spacing: 3rem;
  --layout-border-radius: 0px;
  --shadow-light: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-medium: 0 4px 8px rgba(0, 0, 0, 0.15);
  --shadow-heavy: 0 8px 16px rgba(0, 0, 0, 0.2);
  --gradient-primary: linear-gradient(135deg, #000000 0%, #666666 100%);
  --gradient-surface: linear-gradient(135deg, #f5f5f5 0%, #eeeeee 100%);
}

/* Adding new Vintage theme */
.theme-vintage {
  --color-primary: #8b4513;
  --color-secondary: #daa520;
  --color-background: #f5f5dc;
  --color-surface: #faf0e6;
  --color-text: #2f1b14;
  --color-text-secondary: #8b4513;
  --color-accent: #daa520;
  --color-border: #d2b48c;
  --font-heading: "Playfair Display", serif;
  --font-body: "Crimson Text", serif;
  --layout-max-width: 1100px;
  --layout-spacing: 2rem;
  --layout-border-radius: 8px;
  --shadow-light: 0 2px 4px rgba(139, 69, 19, 0.1);
  --shadow-medium: 0 6px 12px rgba(139, 69, 19, 0.15);
  --shadow-heavy: 0 12px 24px rgba(139, 69, 19, 0.2);
  --gradient-primary: linear-gradient(135deg, #8b4513 0%, #daa520 100%);
  --gradient-surface: linear-gradient(135deg, #faf0e6 0%, #f5f5dc 100%);
}

/* Adding new Ocean Blue theme */
.theme-ocean-blue {
  --color-primary: #0077be;
  --color-secondary: #00a8cc;
  --color-background: #f0f8ff;
  --color-surface: #ffffff;
  --color-text: #1e3a8a;
  --color-text-secondary: #3b82f6;
  --color-accent: #00a8cc;
  --color-border: #bfdbfe;
  --font-heading: "Montserrat", sans-serif;
  --font-body: "Open Sans", sans-serif;
  --layout-max-width: 1200px;
  --layout-spacing: 2rem;
  --layout-border-radius: 12px;
  --shadow-light: 0 2px 4px rgba(0, 119, 190, 0.1);
  --shadow-medium: 0 8px 16px rgba(0, 119, 190, 0.15);
  --shadow-heavy: 0 16px 32px rgba(0, 119, 190, 0.2);
  --gradient-primary: linear-gradient(135deg, #0077be 0%, #00a8cc 100%);
  --gradient-surface: linear-gradient(135deg, #ffffff 0%, #f0f8ff 100%);
}

/* Adding new Forest Green theme */
.theme-forest-green {
  --color-primary: #228b22;
  --color-secondary: #32cd32;
  --color-background: #f0fff0;
  --color-surface: #ffffff;
  --color-text: #006400;
  --color-text-secondary: #228b22;
  --color-accent: #32cd32;
  --color-border: #90ee90;
  --font-heading: "Nunito", sans-serif;
  --font-body: "Source Sans Pro", sans-serif;
  --layout-max-width: 1200px;
  --layout-spacing: 2rem;
  --layout-border-radius: 8px;
  --shadow-light: 0 2px 4px rgba(34, 139, 34, 0.1);
  --shadow-medium: 0 8px 16px rgba(34, 139, 34, 0.15);
  --shadow-heavy: 0 16px 32px rgba(34, 139, 34, 0.2);
  --gradient-primary: linear-gradient(135deg, #228b22 0%, #32cd32 100%);
  --gradient-surface: linear-gradient(135deg, #ffffff 0%, #f0fff0 100%);
}

/* Theme-specific animations and effects */
.theme-neon-cyberpunk * {
  text-shadow: 0 0 5px currentColor;
}

.theme-neon-cyberpunk .btn:hover {
  box-shadow: 0 0 20px var(--color-primary);
  animation: neonPulse 1s infinite alternate;
}

@keyframes neonPulse {
  from {
    box-shadow: 0 0 20px var(--color-primary);
  }
  to {
    box-shadow: 0 0 30px var(--color-primary), 0 0 40px var(--color-primary);
  }
}

.theme-retro-wave .hero {
  background: linear-gradient(45deg, var(--color-background) 0%, var(--color-surface) 100%);
  position: relative;
}

.theme-retro-wave .hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 2px,
    rgba(255, 0, 110, 0.1) 2px,
    rgba(255, 0, 110, 0.1) 4px
  );
  pointer-events: none;
}

.theme-vintage .section {
  position: relative;
}

.theme-vintage .section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(139, 69, 19, 0.1) 1px, transparent 0);
  background-size: 20px 20px;
  pointer-events: none;
}

/* Theme transition animations */
.theme-transition {
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.theme-transition * {
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Theme-specific component overrides */
.theme-monochrome .btn {
  border: 2px solid var(--color-primary);
  background: transparent;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

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

.theme-vintage .btn {
  border: none;
  background: var(--gradient-primary);
  color: white;
  font-family: var(--font-heading);
  font-weight: 600;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.theme-neon-cyberpunk .card,
.theme-neon-cyberpunk .surface {
  border: 1px solid var(--color-primary);
  box-shadow: inset 0 0 10px rgba(57, 255, 20, 0.1);
}

/* Responsive theme adjustments */
@media (max-width: 768px) {
  .theme-neon-cyberpunk {
    --layout-spacing: 1rem;
  }

  .theme-warm-sunset {
    --layout-spacing: 1.5rem;
  }

  .theme-monochrome {
    --layout-spacing: 2rem;
  }
}
