/* SCAN color scheme - can be overridden by company branding */
:root {
  --site-primary: #F26522;
  --site-secondary: #1B5C75;
  --site-primary-rgb: 242, 101, 34;
  --site-secondary-rgb: 27, 92, 117;
  /* Use company colors when set, else site defaults */
  --color-primary: var(--company-primary, var(--site-primary));
  --color-secondary: var(--company-secondary, var(--site-secondary));
  --color-primary-rgb: var(--company-primary-rgb, var(--site-primary-rgb));
  --color-secondary-rgb: var(--company-secondary-rgb, var(--site-secondary-rgb));
  /* Secondary palette */
  --site-teal-dark: #0B394A;
  --site-teal-medium: #119DA4;
  --site-gold: #FFC857;
  --site-cream: #FDF0D6;
  /* Neutrals */
  --site-neutral-light: #EFEEED;
  --site-neutral-mid: #BABABA;
  --site-neutral-dark: #757575;
  /* Bootstrap overrides */
  --bs-primary: var(--color-primary);
  --bs-primary-rgb: var(--color-primary-rgb);
  --bs-secondary: var(--color-secondary);
  --bs-secondary-rgb: var(--color-secondary-rgb);
}

/* Buttons - Bootstrap 5.1 uses hardcoded colors; override to use brand colors */
.btn-primary {
  color: #fff !important;
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-check:focus + .btn-primary {
  color: #fff !important;
  background-color: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
}
.btn-primary:active,
.btn-primary.active,
.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.show > .btn-primary.dropdown-toggle {
  color: #fff !important;
  background-color: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
}
.btn-primary:focus,
.btn-check:focus + .btn-primary {
  box-shadow: 0 0 0 0.25rem rgba(var(--color-primary-rgb), 0.5) !important;
}

.btn-secondary {
  color: #fff !important;
  background-color: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
}
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
  color: #fff !important;
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.btn-outline-primary {
  color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active {
  color: #fff !important;
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.btn-outline-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--color-primary-rgb), 0.5) !important;
}

.btn-outline-secondary {
  color: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
  color: #fff !important;
  background-color: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
}

/* Text and background utilities */
.text-primary { color: var(--color-primary) !important; }
.bg-primary { background-color: var(--color-primary) !important; }
.bg-primary.bg-opacity-10 { background-color: rgba(var(--color-primary-rgb), 0.1) !important; }
.bg-primary.bg-opacity-25 { background-color: rgba(var(--color-primary-rgb), 0.25) !important; }
.text-secondary { color: var(--color-secondary) !important; }
.bg-secondary { background-color: var(--color-secondary) !important; }

/* Links */
a.text-primary:hover,
a.text-primary:focus { color: var(--color-secondary) !important; }
.link-primary { color: var(--color-primary) !important; }
.link-primary:hover,
.link-primary:focus { color: var(--color-secondary) !important; }

/* Badges */
.badge.bg-primary { background-color: var(--color-primary) !important; }
.badge.bg-secondary { background-color: var(--color-secondary) !important; }

/* Form controls */
.form-check-input:checked {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.form-check-input:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--color-primary-rgb), 0.25);
}
.form-control:focus,
.form-select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--color-primary-rgb), 0.25);
}

/* Pagination, dropdowns, etc. */
.page-link { color: var(--color-primary) !important; }
.page-link:hover { color: var(--color-secondary) !important; }
.page-item.active .page-link {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.dropdown-item.active { background-color: var(--color-primary) !important; }
.list-group-item.active {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

html {
  font-size: 14px;
}

/* Hero and landing page */
.hero-section {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
}
.hero-icon-wrapper {
  backdrop-filter: blur(4px);
}

/* Navbar uses primary color */
.navbar.bg-white .navbar-brand,
.navbar.bg-white .nav-link {
  color: var(--color-primary) !important;
}
.navbar.bg-white .nav-link:hover {
  color: var(--color-secondary) !important;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--color-primary) !important;
}

html {
  min-height: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body > main,
body > .container {
  flex: 1 0 auto;
}

/* AI Summary markdown-rendered content */
.ai-summary-content h1, .ai-summary-content h2, .ai-summary-content h3 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.ai-summary-content h1:first-child, .ai-summary-content h2:first-child, .ai-summary-content h3:first-child {
  margin-top: 0;
}
.ai-summary-content p {
  margin-bottom: 0.75rem;
}
.ai-summary-content ul, .ai-summary-content ol {
  margin-bottom: 0.75rem;
  padding-left: 1.5rem;
}
.ai-summary-content li {
  margin-bottom: 0.25rem;
}
.ai-summary-content strong {
  font-weight: 600;
}