@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root {
  --egi-blue: #005FAA;
  --egi-orange: #EF8200;
  --egi-dark-blue: #1E325C;
  --egi-light-gray: #F7F6F7;
  --egi-dark-gray: #454649;
  --egi-border-gray: #E4E4E4;
}

html {
  font-size: 22px !important; /* Increased font size for better visibility */
}

body {
  font-family: 'DM Sans', sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Force EGI Branding & High Contrast */
.light body {
  background-color: #ffffff !important;
  color: var(--egi-dark-gray) !important;
}

.light h1, .light h2, .light h3, .light h4, .light .header-anchor {
  color: var(--egi-blue) !important;
}

.dark body {
  background-color: var(--egi-dark-blue) !important;
  color: #ffffff !important;
}

/* Ensure Theme Toggle is prominent */
button[title*="Theme"], button[aria-label*="Theme"], .theme-toggle {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Group Headers */
.group-header h2 {
  border-bottom: 3px solid var(--egi-orange) !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 1.5rem !important;
  font-weight: 700 !important;
  font-size: 1.7rem !important; /* Larger headers */
}

/* Cards */
.card {
  border: 1px solid var(--egi-border-gray) !important;
  border-radius: 6px !important;
}

.light .card {
  background-color: var(--egi-light-gray) !important;
}

.dark .card {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Custom Scrollbar */
::-webkit-scrollbar-thumb {
  background: var(--egi-blue) !important;
}

/* Force 3 columns on Desktop, maintain stacking on Mobile */
@media (min-width: 1024px) {
  #services > .services-group {
    flex-basis: 33.333333% !important;
    max-width: 33.333333% !important;
  }
}
