/*!
 * CUSMC & SRSH — Bootstrap 4 theme overrides
 * Aligns Bootstrap utilities with site palette (styles.css, navbar, footer).
 */
:root {
  --cusmc-primary: #1e3a8a;
  --cusmc-primary-dark: #014f86;
  --cusmc-primary-hover: #1b3b6f;
  --cusmc-accent: #2b96cc;
}

body {
  font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
}

.btn-primary {
  background-color: var(--cusmc-primary);
  border-color: var(--cusmc-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active {
  background-color: var(--cusmc-primary-dark);
  border-color: var(--cusmc-primary-dark);
}

.btn-outline-primary {
  color: var(--cusmc-primary-dark);
  border-color: var(--cusmc-primary-dark);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  background-color: var(--cusmc-primary-dark);
  border-color: var(--cusmc-primary-dark);
  color: #fff;
}

.text-primary {
  color: var(--cusmc-primary) !important;
}

.bg-primary {
  background-color: var(--cusmc-primary) !important;
}

.border-primary {
  border-color: var(--cusmc-primary-dark) !important;
}

a {
  color: var(--cusmc-primary-dark);
}

a:hover {
  color: var(--cusmc-primary-hover);
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--cusmc-primary-hover);
  color: #fff;
}

.badge-primary {
  background-color: var(--cusmc-primary);
}

.alert-primary {
  color: #0c2340;
  background-color: #e8eef8;
  border-color: #a7b8d4;
}

.list-group-item-primary {
  color: #0c2340;
  background-color: #e8eef8;
}

.page-item.active .page-link {
  background-color: var(--cusmc-primary);
  border-color: var(--cusmc-primary);
}

.page-link {
  color: var(--cusmc-primary-dark);
}

.page-link:hover {
  color: var(--cusmc-primary-hover);
}

.progress-bar {
  background-color: var(--cusmc-primary);
}

.custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--cusmc-primary);
  border-color: var(--cusmc-primary);
}

.custom-select:focus,
.form-control:focus {
  border-color: var(--cusmc-accent);
  box-shadow: 0 0 0 0.2rem rgba(43, 150, 204, 0.25);
}

.spinner-border.text-primary {
  color: var(--cusmc-primary) !important;
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #e8eef8;
}

.timeline-badge.primary {
  background-color: var(--cusmc-primary) !important;
}
