/*
 * NOVA public portal navigation polish.
 * Shared overrides for the static sales pages.
 */

.topbar,
header.site-header {
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.92) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06) !important;
}

.topbar-inner,
header.site-header .nav-row {
  min-height: 78px !important;
  gap: 22px !important;
}

.brand,
.brand-logo,
header.site-header .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  flex: 0 0 auto !important;
  color: inherit !important;
}

.brand-image {
  display: block !important;
  width: min(258px, 52vw) !important;
  height: auto !important;
}

.footer .brand .brand-image,
footer.site-footer .brand-block .brand-image,
footer.site-footer .brand-image {
  width: min(286px, 72vw) !important;
}

.nav,
header.site-header nav {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 2px !important;
  padding: 6px !important;
  border: 1px solid rgba(203, 213, 225, 0.72) !important;
  border-radius: 999px !important;
  background: rgba(248, 250, 252, 0.86) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75) !important;
}

.nav a,
header.site-header nav a {
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  color: var(--nv-text-soft) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background var(--nv-dur, 180ms), color var(--nv-dur, 180ms), box-shadow var(--nv-dur, 180ms), transform var(--nv-dur, 180ms) !important;
}

.nav a:hover,
header.site-header nav a:hover {
  background: #fff !important;
  color: var(--nv-ink) !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08) !important;
  transform: translateY(-1px) !important;
}

.nav a[aria-current="page"],
.nav a.active,
header.site-header nav a[aria-current="page"],
header.site-header nav a.active {
  background: #fff !important;
  color: var(--nv-brand-800) !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.10) !important;
}

.nav a.cta,
header.site-header nav a.cta {
  margin-left: 4px !important;
  background: var(--nv-brand-700) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(0, 112, 242, 0.22) !important;
}

.nav a.cta:hover,
header.site-header nav a.cta:hover {
  background: var(--nv-brand-800) !important;
  color: #fff !important;
}

@media (max-width: 1080px) {
  .topbar-inner,
  header.site-header .nav-row {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .nav,
  header.site-header nav {
    width: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 560px) {
  .brand-image {
    width: min(224px, 76vw) !important;
  }

  .nav,
  header.site-header nav {
    border-radius: 18px !important;
  }
}
