:root{
  --ni-blue: #1050ff;     /* azul do branding */
  --ni-blue-700:#1243d1;
  --ni-yellow:#ffa200;    /* amarelo do “i” */
  --ni-dark:#1f2430;
}

/* ===== Topbar azul ===== */
.ni-topbar{
  background: var(--ni-blue);
  color: #fff;
  padding: 40px 0;
}
.ni-topbar .ni-topbar-text{
  font-weight: 700;
  letter-spacing: .2px;
  text-align: center;
}

/* Botão amarelo (local/isolado para esta seção) */
.btn-ni-yellow{
  --bs-btn-color:#1f2430;
  --bs-btn-bg:var(--ni-yellow);
  --bs-btn-border-color:var(--ni-yellow);
  --bs-btn-hover-bg:#ffcd47;
  --bs-btn-hover-border-color:#ffcd47;
  --bs-btn-font-weight:700;
  color:white
}

/* ===== Wrap da navbar: “coluna” branca centralizada ===== */
.ni-navwrap{
  /* mantém a faixa azul full-bleed por trás; nav vem logo abaixo */
  background: transparent;
}

/* “caixa” branca que contém a navbar; não cola nas laterais por causa do container-xl */
.ni-navbox{
  background:#fff;
  border-radius: .375rem;
  padding: .25rem .75rem;
  margin-top: .5rem;
}

/* ===== Navbar ===== */
.ni-navbar .ni-logo{
  height: 90px;   /* só o ícone/mark */
  display:block;
}

.ni-navbar .nav-link{
  font-size: 1.4rem;      /* letra maior */
  font-weight: 500;
  color: #333;
  /* padding: 1rem 1rem; */
  position: relative;
  padding-right:40px !important; /* espaço para o ícone */
}

.ni-navbar .nav-link:hover,
.ni-navbar .nav-link:focus{
  color: var(--ni-blue);
}

/* sublinhado central apenas na ativa/aberta, como no layout */
.ni-navbar .nav-link.active,
.ni-navbar .nav-link.show{
  color: var(--ni-blue);
}
.ni-navbar .nav-link.active::after,
.ni-navbar .nav-link.show::after{
  content:"";
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  bottom: .55rem;
  width: 72px;
  height: 2px;
  background: var(--ni-blue);
  border-radius: 2px;
}

/* Dropdown */
.ni-navbar .dropdown-menu{
  border-radius: .5rem;
  border-color: #eef1f7;
  box-shadow: 0 10px 22px rgba(10,20,60,.08);
}
.ni-navbar .dropdown-item{
  padding:.6rem 1rem;
  font-weight:500;
}
.ni-navbar .dropdown-item:active{
  background: var(--ni-blue);
}

/* Mobile ajustes */
@media (max-width: 991.98px){
  .ni-navbox{ padding: .25rem .5rem; }
  .ni-navbar .nav-link{ padding:.75rem 0; }
  .ni-navbar .nav-link.active::after,
  .ni-navbar .nav-link.show::after{ display:none; }
}