body{
  /* background-color: #ebedef; */
  background-color: #f8f9fa;
  font-family: 'Inter', sans-serif !important;
}

.text-justify {
  text-align: justify;
  hyphens: auto;
}

/* Navbar CSS */
/* Mobile-only navbar styling */
@media (max-width: 767.98px) {
  #navbarNav {
    background: rgba(13, 110, 253, 0.08); /* primary glassy tint */
    backdrop-filter: blur(8px);
    border-radius: 1rem;
    padding: 0.75rem 0rem;
  }
}

/* Desktop: reset everything */
@media (min-width: 768px) {
  #navbarNav {
    background: transparent;
    backdrop-filter: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
  }
}
/* Modern hamburger toggler */
.modern-toggler {
  border: none;
  width: 42px;
  height: 36px;
  position: relative;
  padding: 0;
  outline: none !important;
  box-shadow: none !important;
  margin-right: 1rem;
}

.modern-toggler:focus,
.modern-toggler:active,
.modern-toggler:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.modern-toggler span {
  display: block;
  position: absolute;
  height: 2.5px;
  width: 100%;
  background: var(--bs-primary);
  border-radius: 2px;
  left: 0;
  transition: all 0.3s ease;
}

/* Top line */
.modern-toggler span:nth-child(1) {
  top: 7px;
}

/* Middle line */
.modern-toggler span:nth-child(2) {
  top: 17px;
}

/* Bottom line */
.modern-toggler span:nth-child(3) {
  top: 27px;
}

/* When menu is open → X */
.modern-toggler[aria-expanded="true"] span:nth-child(1) {
  transform: rotate(45deg);
  top: 15px;
}

.modern-toggler[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.modern-toggler[aria-expanded="true"] span:nth-child(3) {
  transform: rotate(-45deg);
  top: 15px;
}

/* Focus & hover polish */
.modern-toggler:focus {
  box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.25);
}
.modern-toggler:focus-visible {
  box-shadow: 0 0 0 0.15rem rgba(13,110,253,0.25) !important;
}

.modern-toggler:hover span {
  background: var(--bs-primary);
}

@media (min-width: 768px) {
  .border-top-md-down {
    border-top: none !important;
  }
}

.navbar-navlink:hover {
    color: var(--bs-secondary)!important;
    transition: ease-in-out 0.25s;
}

#logout-link:hover {
    color: #fff !important;
    transition: ease-in-out 0.25s;
}

/* CSS for title cards in the beginning of the views */
/* Lead paragraph */
.header-container p.lead {
    font-size: 1.125rem;
    max-width: 900px;
}

/* Breadcrumb styling */
.header-container .breadcrumb a {
    color: var(--bs-primary);
    text-decoration: none;
    transition: color 0.25s ease;
}

.header-container .breadcrumb a:hover {
    color: var(--bs-secondary);
    text-decoration: underline;
}

.header-container .breadcrumb-item + .breadcrumb-item::before {
    color: #adb5bd; /* light gray separator */
}