:root {
  /* Primary */
  --bs-primary: #0f4c81;
  --bs-primary-rgb: 15, 76, 129;

  /* Danger */
  --bs-danger: #a00000;
  --bs-danger-rgb: 160, 0, 0;

  /* Links */
  --bs-link-color: #0f4c81;
  --bs-link-color-rgb: 15, 76, 129;
  --bs-link-hover-color: #0f4c81;
  --bs-dropdown-link-active-bg: #0f4c81;

  /* Player */
  --plyr-color-main: #0f4c81;
}
.dropdown-item.active, .dropdown-item:active {
  background-color: #0f4c81 !important;
}
/* Primary text/bg */
.text-primary {
  color: #0f4c81 !important;
}
.bg-primary,
.text-bg-primary {
  background-color: #0f4c81 !important;
  color: #fff !important;
}



/* Danger text/bg */
.text-danger {
  color: #a00000 !important;
}
.bg-danger,
.text-bg-danger {
  background-color: #a00000 !important;
  color: #fff !important;
}

/* Buttons */
.btn-primary {
  background-color: #0f4c81 !important;
  border-color: #0f4c81 !important;
  color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #0c3c66 !important; /* Darker variant */
  border-color: #0c3c66 !important;
}
.btn-primary:disabled,
.btn-primary.disabled {
  background-color: rgba(var(--bs-primary-rgb), 0.5) !important;
  border-color: rgba(var(--bs-primary-rgb), 0.5) !important;
  color: #fff !important;
  opacity: 0.65;
}

.btn-danger {
  background-color: #a00000 !important;
  border-color: #a00000 !important;
  color: #fff !important;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
  background-color: #7a0000 !important; /* Darker variant */
  border-color: #7a0000 !important;
}
.btn-danger:disabled,
.btn-danger.disabled {
  background-color: rgba(var(--bs-danger-rgb), 0.5) !important;
  border-color: rgba(var(--bs-danger-rgb), 0.5) !important;
  color: #fff !important;
  opacity: 0.65;
}

/* Outline buttons */
.btn-outline-primary {
  color: #0f4c81 !important;
  border-color: #0f4c81 !important;
  background-color: transparent !important;
}
.btn-outline-primary:hover {
  color: #fff !important;
  background-color: #0f4c81 !important;
}

.btn-outline-danger {
  color: #a00000 !important;
  border-color: #a00000 !important;
  background-color: transparent !important;
}
.btn-outline-danger:hover {
  color: #fff !important;
  background-color: #a00000 !important;
}

/* Nav pills and tabs */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: #0f4c81 !important;
  color: #fff !important;
}
.nav-tabs .nav-link.active {
  border-color: #0f4c81 #0f4c81 #fff !important;
  color: #0f4c81 !important;
}

/* Navbar active links */
.navbar-nav .nav-link.active {
  color: #0f4c81 !important;
  font-weight: 600 !important;
}

/* List group */
.list-group-item.active {
  background-color: #0f4c81 !important;
  border-color: #0f4c81 !important;
  color: #fff !important;
}

/* Progress bar */
.progress-bar.bg-primary {
  background-color: #0f4c81 !important;
}
.progress-bar.bg-danger {
  background-color: #a00000 !important;
}

/* Alerts (solid style) */
.alert-primary {
  background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
  border-color: #0f4c81 !important;
  color: #0f4c81 !important;
}
.alert-danger {
  background-color: rgba(var(--bs-danger-rgb), 0.1) !important;
  border-color: #a00000 !important;
  color: #a00000 !important;
}

/* Badges */
.badge-primary,
.bg-primary {
  background-color: #0f4c81 !important;
  color: #fff !important;
}
.badge-danger,
.bg-danger {
  background-color: #a00000 !important;
  color: #fff !important;
}

/* Form controls focus */
.form-control:focus,
.form-select:focus {
  border-color: #0f4c81 !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25) !important;
}

/* Outline color for accessibility */
:focus {
  outline-color: #0f4c81 !important;
}

/* Custom player color */
.plyr--full-ui input[type="range"]::-webkit-slider-thumb {
  background: #0f4c81 !important;
}

/* Accordion */
.accordion-button:not(.collapsed) {
  background-color: #0f4c81 !important;
  color: #fff !important;
}
.accordion-button:focus {
  border-color: #0f4c81 !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25) !important;
}
.accordion-button:not(.collapsed)::after {
  filter: brightness(0) invert(1) !important;
}

/* Body */
body {
  background-color: #ffffff; /* White Background */
}
.pace .pace-progress {
  background: #0f4c81;
}