/* Custom Bootstrap Theme - Primary Color Override */
:root {
  --bs-primary: #006FCC;
  --bs-primary-rgb: 0, 111, 204;
}

/* Additional primary color variations for better consistency */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #006FCC;
  --bs-btn-border-color: #006FCC;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0056a3;
  --bs-btn-hover-border-color: #004d94;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #004d94;
  --bs-btn-active-border-color: #004085;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #006FCC;
  --bs-btn-disabled-border-color: #006FCC;
}

.btn-shortcut {
    /* fixed width */
    --bs-btn-width: 1rem;
    --bs-btn-height: 1.5rem;
    --bs-btn-padding-x: 0.5rem;
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
    --bs-btn-border-radius: 0.375rem;
    --bs-btn-border-radius-lg: 0.5rem;
    --bs-btn-border-radius-sm: 0.25rem;
}

/* Primary background utilities */
.bg-primary {
  background-color: #006FCC !important;
}

/* Primary text utilities */
.text-primary {
  color: #006FCC !important;
}

/* Primary border utilities */
.border-primary {
  border-color: #006FCC !important;
}

/* Link colors when using primary */
.link-primary {
  color: #006FCC !important;
}

.link-primary:hover,
.link-primary:focus {
  color: #0056a3 !important;
}

/* Form control focus states */
.form-control:focus {
  border-color: #80b3e6;
  box-shadow: 0 0 0 0.25rem rgba(0, 111, 204, 0.25);
}

.form-select:focus {
  border-color: #80b3e6;
  box-shadow: 0 0 0 0.25rem rgba(0, 111, 204, 0.25);
}

/* Alert primary */
.alert-primary {
  color: #003d73;
  background-color: #cce7ff;
  border-color: #b3d9ff;
}

/* Badge primary */
.badge.bg-primary {
  background-color: #006FCC !important;
}

/* Progress bar primary */
.progress-bar {
  background-color: #006FCC;
}

/* Navbar brand and nav-link active states using primary color */
.navbar-brand {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 2rem !important;
  padding-left: 1rem !important;
}

/* Responsive font sizing for navbar brand */
@media (max-width: 991.98px) {
  .navbar-brand {
    font-size: 1.5rem !important;
  }
}

@media (max-width: 767.98px) {
  .navbar-brand {
    font-size: 1.25rem !important;
  }
}

@media (max-width: 575.98px) {
  .navbar-brand {
    font-size: 1.2rem !important;
    padding-left: 0.5rem !important;
  }
}

.nav-link.active {
  color: #006FCC !important;
}

.navbar-toggler {
  border: none !important;
  box-shadow: none !important;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem !important;
}

.navbar-toggler-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  background-image: none !important;
  padding: 0;
}

.navbar-toggler-icon span {
  display: block;
  height: 3.75px;
  width: 100%;
  background: #fff;
  border-radius: 3px;
  margin: 3px 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon span:nth-child(1) {
  transform: translateY(10px) rotate(45deg) scaleX(1.2);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.5);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg) scaleX(1.2);
}

.navbar-toggler .navbar-toggler-icon span {
  transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
}

/* .navbar {
  padding-left: 1rem !important;
} */

.nav-link {
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;
}

.nav-link:hover {
  color: #ECD501 !important;
}

.nav-link.active {
  color: #ECD501 !important;
}

.navbar-collapse.show .nav-link {
  color: #000 !important;
  padding-left: 1rem !important;
  background-color: #82BFFF !important;
}

.navbar-collapse.show .nav-link.active {
  color: #ECD501 !important;
}

.navbar-collapse.show .nav-link:hover {
  color: #BD0000 !important;
  background-color: #FEC8C8 !important;
}

/* Footer Toggle Button Styles */
.footer-toggler {
  border: none !important;
  box-shadow: none !important;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-toggler .navbar-toggler-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  background-image: none !important;
  padding: 0;
}

.footer-toggler .navbar-toggler-icon span {
  display: block;
  height: 3.75px;
  width: 100%;
  background: #000;
  border-radius: 3px;
  margin: 3px 0;
  transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
}

.footer-toggler[aria-expanded="true"] .navbar-toggler-icon span:nth-child(1) {
  transform: translateY(10px) rotate(45deg) scaleX(1.2);
}
.footer-toggler[aria-expanded="true"] .navbar-toggler-icon span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.5);
}
.footer-toggler[aria-expanded="true"] .navbar-toggler-icon span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg) scaleX(1.2);
}

/* Footer text visibility fixes */
footer .nav-link {
  color: #212529 !important; /* Bootstrap's text-dark */
}

footer .nav-link:hover {
  color: #dc3545 !important; /* Bootstrap's text-danger for hover */
}

footer .nav-link.text-danger {
  color: #dc3545 !important; /* Ensure active state is red */
}

footer .text-muted {
  color: #6c757d !important; /* Bootstrap's text-muted */
}

footer .text-primary {
  color: #006FCC !important; /* Site's primary color */
}