/* Mobile nested dropdown support */
@media (max-width: 991.98px) {
  .dropdown-submenu .dropdown-menu {
    position: static;
    float: none;
    display: none;
    margin: 0.25rem 0 0 1rem;
    border: none;
    box-shadow: none;
    background: transparent;
  }

  .dropdown-submenu .dropdown-menu.show {
    display: block;
  }

  /* Hide default Bootstrap caret on submenu */
  .dropdown-submenu>.dropdown-item.dropdown-toggle::after {
    display: none;
  }

  /* Animate custom chevron icon */
  .dropdown-submenu .submenu-arrow {
    transition: transform .2s ease;
    font-size: 0.875rem;
  }

  .dropdown-submenu .dropdown-item.dropdown-toggle.open .submenu-arrow {
    transform: rotate(90deg);
  }
}

/* Desktop: hide custom chevron, show Bootstrap caret */
@media (min-width: 992px) {
  .dropdown-submenu>.dropdown-item.dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.5rem;
  }
}

/* Ensure button hover has proper contrast */
.btn.btn-primary,
.btn.btn-primary:visited,
.btn.btn-primary:focus {
  color: #fff;
}

.btn.btn-primary:hover {
  background-color: #1b54c0;
  border-color: #1b54c0;
  color: #fff;
}

.btn.btn-outline-primary {
  color: #1b54c0;
  border-color: #1b54c0;
  background-color: transparent;
}

.btn.btn-outline-primary:hover,
.btn.btn-outline-primary:focus {
  background-color: #1b54c0;
  border-color: #1b54c0;
  color: #fff;
}

/* Custom theme buttons */
.btn-modern.btn-modern-primary,
.btn-modern.btn-primary {
  color: #fff;
}

.btn-modern.btn-modern-primary:hover,
.btn-modern.btn-primary:hover {
  color: #fff;
}

/* Resource buttons and links */
.resource-view-btn {
  color: #1b54c0;
  border-color: #1b54c0;
}

.resource-view-btn:hover {
  background-color: #1b54c0;
  color: #fff !important;
  border-color: #1b54c0;
}

/* Generic safeguard: any .btn inside rich text keeps readable hover */
a.btn:hover {
  color: #fff;
}

/* Prevent navbar links from wrapping */
.navbar-nav .nav-link {
  white-space: nowrap;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.btn {
  white-space: nowrap;
}
