/* ==============================
   LIGHT / DARK / NEON THEMES
============================== */
body.theme-light {
  --color-bg: #ffffff;
  --color-text: #000000;
  --color-surface: #f2f2f2;
  --color-accent: #ff69b4;

  /* Settings / --s-* tokens for light mode */
  --s-bg-base:       #f4f4f6;
  --s-bg-surface:    #ffffff;
  --s-bg-hover:      rgba(0, 0, 0, 0.04);
  --s-text-primary:  #111111;
  --s-text-muted:    rgba(0, 0, 0, 0.45);
  --s-border-subtle: rgba(0, 0, 0, 0.08);
}

body.theme-dark {
  --color-bg: #000000;
  --color-text: #ffffff;
  --color-surface: #111;
  --color-accent: #ff69b4;
}

body.theme-neon {
  --color-bg: #000000;
  --color-text: #ffffff;
  --color-accent: #ff00ff;
  --color-accent-strong: #ff69b4;
  /* No body-wide text-shadow — glow only applies to accent elements
     (headings, brand, takes-heading, etc.) so body copy and sidebar
     stay readable. Per-element glow rules below handle the look. */
}

/* Subtle accent glow only on accent-colored text (links, brand, etc.) */
body.theme-neon .neon-glow,
body.theme-neon a:not(.btn):not(.nav-section-link):not(.sidebar-links a),
body.theme-neon h1,
body.theme-neon h2 {
  text-shadow: 0 0 6px rgba(255, 105, 180, 0.45);
}

/* Sidebar theme overrides - fix dark rectangle box in light mode */
body.theme-light .sidebar {
  background: #ffffff !important;
  border-right: 1px solid #e0e0e0;
}

body.theme-light .sidebar-brand {
  background: #ffffff !important;
  border-bottom: 1px solid #e0e0e0;
}

body.theme-light .sidebar-brand .brand-title {
  color: #000000;
}

body.theme-light .sidebar-links {
  background: #ffffff !important;
}

body.theme-light .sidebar-links a {
  color: #000000;
  background: transparent !important;
  border-bottom: 1px solid #f0f0f0;
}

body.theme-light .sidebar-links a:hover {
  background: #f8f9fa !important;
  color: var(--color-accent);
}

body.theme-light .sidebar-links a.active {
  background: #f0f0f0 !important;
  color: var(--color-accent);
  border-left: 3px solid var(--color-accent);
}

body.theme-light .sidebar-links .has-submenu .submenu-label {
  color: #000000;
  background: transparent !important;
}

body.theme-light .sidebar-links .has-submenu .submenu {
  background: #ffffff !important;
  border: 1px solid #e0e0e0;
}

body.theme-light .sidebar-links .has-submenu .submenu a {
  color: #000000;
  background: transparent !important;
  padding: 8px 16px;
}

body.theme-light .submenu-link:hover {
  background: #f8f9fa !important;
  color: var(--color-accent);
}

body.theme-light .sidebar-footer {
  background: #ffffff !important;
  border-top: 1px solid #e0e0e0;
}

body.theme-light .sidebar-profile a {
  color: #000000;
  background: transparent !important;
}

body.theme-light .sidebar-profile .profile-dropdown {
  background: #ffffff !important;
  border: 1px solid #e0e0e0;
}

body.theme-light .sidebar-profile .profile-dropdown a {
  color: #000000;
  background: transparent !important;
}

body.theme-light .sidebar-profile .profile-dropdown a:hover {
  background: #f8f9fa !important;
  color: var(--color-accent);
}

body.theme-light .sidebar-profile .profile-dropdown form button {
  background: transparent !important;
  color: #000000;
  border: none;
  cursor: pointer;
  width: 100%;
  text-align: left;
  padding: 8px 16px;
}

body.theme-light .sidebar-profile .profile-dropdown form button:hover {
  background: #f8f9fa !important;
  color: var(--color-accent);
}


body.theme-light .sidebar-search select {
  background: transparent !important;
}

body.theme-light .sidebar-search input {
  background: transparent !important;
}

body.theme-light .sidebar-icon {
  background: transparent !important;
}

body.theme-light .sidebar-icon:hover {
  background: rgba(255,20,147,0.06) !important;
}

/* Main navigation bar theme overrides - fix dark background in light mode */
body.theme-light nav {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

body.theme-light .nav-links a,
body.theme-light .nav-links .dropbtn {
  color: #000000 !important;
  background: transparent !important;
  border: none !important;
}

body.theme-light .nav-links a:hover,
body.theme-light .nav-links .dropbtn:hover {
  background: #f8f9fa !important;
  color: var(--color-accent) !important;
  box-shadow: 0 0 10px rgba(255,105,180,0.3) !important;
}

body.theme-light .nav-links .dropdown-content {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

body.theme-light .nav-links .dropdown-content a {
  color: #000000 !important;
  background: transparent !important;
}

body.theme-light .nav-links .dropdown-content a:hover {
  background: #f8f9fa !important;
  color: var(--color-accent) !important;
}


/* Header behavior per theme */
body.theme-light .top-section h1 {
  color: #000;
  text-shadow: none;
}

body.theme-dark .top-section h1 {
  color: var(--color-accent);
  text-shadow: 0 0 8px #ff00ff, 0 0 16px #ff69b4;
}

body.theme-neon .top-section h1 {
  background: linear-gradient(90deg, #ff69b4, #ff00ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: brightness(1.2) contrast(1.1);
  animation: neonPulse 2.5s infinite ease-in-out;
}

body.theme-neon .takes-heading {
  text-shadow: 0 0 8px rgba(255,105,180,0.8), 0 0 18px rgba(255,0,255,0.5);
}

/* Neon animation */
@keyframes neonPulse {
  0% {
    text-shadow:
      0 0 8px rgba(255,105,180,0.4),
      0 0 14px rgba(255,0,255,0.35),
      0 0 22px rgba(255,0,255,0.3);
    opacity: 0.95;
  }
  50% {
    text-shadow:
      0 0 12px rgba(255,105,180,0.75),
      0 0 22px rgba(255,0,255,0.65),
      0 0 35px rgba(255,0,255,0.55);
    opacity: 1;
  }
  100% {
    text-shadow:
      0 0 8px rgba(255,105,180,0.4),
      0 0 14px rgba(255,0,255,0.35),
      0 0 22px rgba(255,0,255,0.3);
    opacity: 0.95;
  }
}

