[data-fp-app-navbar] {
  flex-wrap: wrap;
  min-height: 72px;
  z-index: 1050;
  padding-block: .45rem;
  background: linear-gradient(105deg, #071d1b, #0b302b) !important;
  border-bottom: 1px solid rgba(200, 239, 143, .13);
  box-shadow: 0 8px 26px rgba(2, 18, 16, .16);
}

[data-fp-app-navbar] > .container-fluid { min-height: 54px; }
.fp-page-location {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .25rem 1rem;
  width: 100%;
  padding: .25rem max(1rem, env(safe-area-inset-left)) .25rem max(1rem, env(safe-area-inset-right));
  margin-top: .45rem;
  margin-bottom: -.45rem;
  background: #f3f7f2;
  border-top: 1px solid #d7e2de;
  color: #17231f;
  font-size: .875rem;
  line-height: 1.4;
}
.fp-location-trail { min-width: 0; flex: 1 1 180px; }
.fp-location-trail ol { display: flex; align-items: center; flex-wrap: wrap; gap: .15rem .5rem; list-style: none; margin: 0; padding: 0; }
.fp-location-trail li { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; overflow-wrap: anywhere; }
.fp-location-trail li + li::before { content: "/"; color: #53645e; }
.fp-location-trail [aria-current] { font-weight: 800; }
.fp-page-location a { display: inline-flex; align-items: center; min-height: 44px; color: #176b5b; font-weight: 700; text-underline-offset: 4px; }
.fp-location-back { gap: .5rem; max-width: 100%; overflow-wrap: anywhere; }
.fp-location-back-short { display: none; }
.fp-page-location a:focus-visible { outline: 3px solid #719532; outline-offset: 2px; border-radius: 4px; }
html { scroll-padding-top: calc(var(--nav-h, 72px) + 16px); }
[data-bs-theme="dark"] .fp-page-location { color: #edf4f0; background: #19382e; border-color: #567265; }
[data-bs-theme="dark"] .fp-page-location a { color: #c8ef8f; }
[data-bs-theme="dark"] .fp-location-trail li + li::before { color: #ccdcd4; }
@media (max-width: 640px) {
  .fp-page-location { gap: 0 .75rem; padding-inline: .75rem; }
  .fp-location-trail { flex: 1 1 160px; }
  .fp-location-trail li { min-height: 32px; }
  .fp-location-back { flex: 0 0 auto; }
  .fp-location-back-label { display: none; }
  .fp-location-back-short { display: inline; }
}

[data-fp-app-navbar] .navbar-brand {
  color: #fff;
  font-weight: 900;
  letter-spacing: -.025em;
}

[data-fp-app-navbar] .fp-brand-mark {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

[data-fp-app-navbar] .nav-link {
  min-width: 48px;
  min-height: 44px;
  color: rgba(255, 255, 255, .76);
  line-height: 1.05;
  transition: color .16s ease, transform .16s ease;
}

[data-fp-app-navbar] .nav-link:hover,
[data-fp-app-navbar] .nav-link:focus-visible,
[data-fp-app-navbar] .nav-link.is-active {
  color: #c8ef8f;
  transform: translateY(-1px);
}

[data-fp-app-navbar] .nav-link.is-active {
  position: relative;
}

[data-fp-app-navbar] .nav-link.is-active::after {
  content: "";
  position: absolute;
  right: 22%;
  bottom: -.55rem;
  left: 22%;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: #c8ef8f;
}

[data-fp-app-navbar] .nav-link:focus-visible,
[data-fp-app-navbar] .navbar-brand:focus-visible {
  outline: 3px solid #c8ef8f;
  outline-offset: 4px;
  border-radius: 8px;
}

[data-fp-app-navbar] .nav-link i {
  font-size: 1.08rem;
}

[data-fp-app-navbar] .nav-link small {
  display: inline-block;
  margin-top: .2rem;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .01em;
}

[data-fp-app-navbar] .badge {
  font-size: .58rem;
}

@media (max-width: 640px) {
  [data-fp-app-navbar] {
    min-height: 64px;
  }

  [data-fp-app-navbar] .navbar-brand span {
    display: none;
  }

  [data-fp-app-navbar] .fp-brand-mark {
    width: 29px;
    height: 29px;
  }

  [data-fp-app-navbar] .nav-item {
    margin-inline: .34rem !important;
  }

  [data-fp-app-navbar] .nav-link {
    min-width: 35px;
  }
}

@media (max-width: 380px) {
  [data-fp-app-navbar] .container-fluid {
    padding-inline: .55rem;
  }

  [data-fp-app-navbar] .nav-item {
    margin-inline: .18rem !important;
  }

  [data-fp-app-navbar] .nav-link small {
    font-size: .59rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-fp-app-navbar] .nav-link {
    transition: none;
  }

  [data-fp-app-navbar] .nav-link:hover,
  [data-fp-app-navbar] .nav-link:focus-visible,
  [data-fp-app-navbar] .nav-link.is-active {
    transform: none;
  }
}
