:root {
  /* Base Light Theme Colors */
  --background-color: #ffffff;
  --text-color: #000000;
  --text-muted-color: #555555;
  /* Typography */
  --font-base: 'Roboto', sans-serif;
  --font-heading: 'Montserrat', sans-serif;

  /* Layout & UI */
  --body-bg: var(--background-color);
  --body-text: var(--text-color);
  --light-bg: #f0f0f0;
  /* Section specific colors */
  --section-bg: #f9f9f9;
  --section-text: #212121;

  --link-color: #0057b7;
  --link-hover-color: #808000;

  /* Navbar / Header / Footer */
  --topbar-bg: #000000;
  --navbar-bg: #000000;
  --navbar-text: #ffffff;
  --navbar-hover-bg: #34495e;

  --header-top-bg1: #1a1a1a;
  --header-top-bg2: #2c2c2c;
  --header-text-color: #ffffff;
  --header-bottom-bg: #0057b7;

  --footer-bg: #34495e;
  --footer-text: #bdc3c7;

  --primary-color: #0057b7;
  --accent-color: #c1121f;
  --secondary-color: #ffd700;
  --light-color: var(--body-bg);
  --dark-color: var(--body-text);
  --topbar-text-color: var(--body-text);
  --navbar-link-hover-color: #ffffff;
  --dropdown-border-color: var(--accent-color);
  --icon-size: 18px;
  --border-radius-sm: 4px;
  --border-radius-md: 6px;
  --transition-duration: 0.3s;
  --footer-text-color: var(--footer-text);
  --footer-link-color: var(--secondary-color);
  --footer-link-hover-color: #ffffff;
  --footer-divider-color: #495057;
  --header-bottom-text-color: var(--navbar-text);
  --header-hover-color: var(--accent-color);
  --header-dropdown-bg: #ffffff;
  --header-dropdown-text: #212529;
  --header-dropdown-hover-bg: #e9ecef;
  --light-bg-color: var(--light-bg);
  --dark-text-color: var(--body-text);
  --text-shadow: 0 2px 4px rgba(0,0,0,0.8);
  --card-bg: #ffffff;
  --section-text-color: #555;
  --border-color: #eee;
  --shadow-light: rgba(0,0,0,0.08);
  --shadow-medium: rgba(0,0,0,0.15);
  --shadow-button: rgba(193, 18, 31, 0.4);
  --shadow-button-hover: rgba(193, 18, 31, 0.6);
  --shadow-button-primary: rgba(0, 87, 183, 0.4);

  /* Admin-style aliases */
  --dark-bg: #000000;
  --dark-text: #f5f5f5;
  --dark-link: #8bd2ff;
  --dark-element-bg: #111111;
}

/* Dark Theme Overrides */
[data-theme="dark"] {
  --background-color: #121212;
  --text-color: #E0E0E0;
  --text-muted-color: #AAAAAA;

  --body-bg: var(--background-color);
  --body-text: var(--text-color);
  --light-bg: #1f1f1f;

  --link-color: #3FA9F5;
  --link-hover-color: #FFD500;

  /* Section colors for dark mode */
  --section-bg: #1e1e1e;
  --section-text: #f5f5f5;

  --topbar-bg: #0B1F33;
  --navbar-bg: #0B1F33;
  --navbar-text: #E0E0E0;
  --navbar-hover-bg: #2c2c2c;

  --header-top-bg1: #000000;
  --header-top-bg2: #000000;
  --header-text-color: #E0E0E0;
  --header-bottom-bg: #0B1F33;

  --footer-bg: #0B1F33;
  --footer-text: #E0E0E0;

  --primary-color: #0057b7;
  --accent-color: #c1121f;
  --secondary-color: #ffd700;
  --light-color: #212529;
  --dark-color: #f8f9fa;
  --topbar-text-color: #e0e0e0;
  --navbar-link-hover-color: #ffffff;
  --dropdown-border-color: var(--accent-color);
  --icon-size: 18px;
  --border-radius-sm: 4px;
  --border-radius-md: 6px;
  --transition-duration: 0.3s;
  --footer-text-color: var(--footer-text);
  --footer-link-color: #0057b7;
  --footer-link-hover-color: #ffffff;
  --footer-divider-color: #2a2a2a;
  --header-bottom-text-color: #212529;
  --header-hover-color: #000000;
  --header-dropdown-bg: #333333;
  --header-dropdown-text: #ffffff;
  --header-dropdown-hover-bg: #495057;
  --light-bg-color: #212529;
  --dark-text-color: #f8f9fa;
  --text-shadow: 0 2px 8px rgba(255,255,255,0.2);
  --card-bg: #343a40;
  --section-text-color: #c0c0c0;
  --border-color: #495057;
  --shadow-light: rgba(255,255,255,0.08);
  --shadow-medium: rgba(255,255,255,0.15);
  --shadow-button: rgba(193, 18, 31, 0.6);
  --shadow-button-hover: rgba(193, 18, 31, 0.8);
  --shadow-button-primary: rgba(0, 87, 183, 0.6);

  --dark-bg: #000000;
  --dark-text: #f5f5f5;
  --dark-link: #8bd2ff;
  --dark-element-bg: #111111;
}

/* Base Styles */
body {
  background-color: var(--body-bg);
  color: var(--body-text);
  font-family: var(--font-base);
  transition: background-color 0.3s ease, color 0.3s ease;
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
}


a {
  color: var(--link-color);
  text-decoration: none;
}

a:hover {
  color: var(--link-hover-color);
}

/* Theme Toggle Button */
.theme-switch {
  position: fixed;
  top: 15px;
  right: 20px;
  z-index: 9999;
}

/* Override Bootstrap light backgrounds with theme variable */
.bg-light {
  background-color: var(--light-bg) !important;
}

/* Section backgrounds that should respond to theme */
.section.bg-light {
  background-color: var(--section-bg) !important;
  color: var(--section-text);
}

/* Adaptive helpers for theme-aware backgrounds and text */
.bg-adapt {
  background-color: var(--section-bg) !important;
}
.text-adapt {
  color: var(--section-text) !important;
}

/* Optional - text-muted override */
.text-muted {
  color: var(--text-muted-color) !important;
}

/* Custom olive background using theme variable */
.bg-olive {
  background-color: var(--header-bottom-bg) !important;
}

/* Primary and outline buttons unified across the site */
.btn-primary {
  background: var(--accent-color);
  color: #fff;
  border-radius: 30px;
  transition: background var(--transition-duration);
  border: none;
}
.btn-primary:hover {
  background: #a00e19;
}
.btn-outline-primary {
  border: 2px solid var(--accent-color);
  color: var(--accent-color);
  border-radius: 30px;
  transition: background var(--transition-duration), color var(--transition-duration);
}
.btn-outline-primary:hover {
  background: var(--accent-color);
  color: #fff;
}

