/* Bootstrap 5 Customization & Overrides */

/* Primary Colors */
.btn-primary {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-primary:hover {
  background-color: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

.btn-primary:focus,
.btn-primary.focus {
  background-color: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  box-shadow: 0 0 0 0.25rem rgba(199, 28, 28, 0.25);
}

.btn-primary:disabled,
.btn-primary.disabled {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

/* Secondary Colors */
.btn-secondary {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
}

.btn-secondary:hover {
  background-color: var(--color-secondary-dark);
  border-color: var(--color-secondary-dark);
}

/* Badge Colors */
.badge-primary {
  background-color: var(--color-primary);
}

.badge-secondary {
  background-color: var(--color-secondary);
}

/* Alert Colors */
.alert-primary {
  background-color: var(--color-primary-light);
  border-color: var(--color-primary);
  color: var(--color-primary-dark);
}

.alert-primary hr {
  border-top-color: var(--color-primary);
}

.alert-primary .alert-link {
  color: var(--color-primary-dark);
}

/* Nav & Tabs */
.nav-tabs .nav-link.active {
  border-bottom-color: var(--color-primary);
  color: var(--color-primary);
}

.nav-tabs .nav-link.active:focus {
  border-bottom-color: var(--color-primary);
  color: var(--color-primary);
}

/* Links */
a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  color: var(--color-primary-dark);
  text-decoration: underline;
}

/* Progress Bar */
.progress-bar {
  background-color: var(--color-primary);
}

/* Pagination */
.pagination .page-link.active {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.pagination .page-link:focus {
  color: var(--color-primary);
  border-color: var(--color-primary);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(199, 28, 28, 0.25);
}

/* Form Controls */
.form-control:focus,
.form-select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.25rem rgba(199, 28, 28, 0.25);
}

/* Spinners */
.spinner-border {
  color: var(--color-primary);
}

.spinner-grow {
  background-color: var(--color-primary);
}

/* Dropdowns */
.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--color-primary);
}

/* Custom Brand Classes */
.text-primary {
  color: var(--color-primary) !important;
}

.text-secondary {
  color: var(--color-secondary) !important;
}

.bg-primary {
  background-color: var(--color-primary) !important;
}

.bg-secondary {
  background-color: var(--color-secondary) !important;
}

.border-primary {
  border-color: var(--color-primary) !important;
}

.border-secondary {
  border-color: var(--color-secondary) !important;
}

/* Light Theme Specific */
html[data-bs-theme="light"],
html:not([data-bs-theme]) {
  color-scheme: light;
}
