
/* =========================================================
   ACELERITY — HEADER LOCK
   Autoridade final para todos os estados da header.
   Carregado por último em todas as páginas.
   ========================================================= */

#v28Header{
  --header-text:rgba(38,38,45,.66);
  --header-text-strong:#26262D;
  --header-hover:rgba(38,38,45,.045);
  --header-active:rgba(85,174,255,.11);
  --header-blue:#55AEFF;
  --header-blue-hover:#3B9BF5;
}

/* RESET CONTROLADO: nenhum estado do navegador ou de outra página
   pode redefinir os itens da navegação. */
#v28Header .v28-desktop-nav > .v28-nav-link:any-link,
#v28Header .v28-desktop-nav > .v28-menu > .v28-trigger,
#v28Header .v28-access > a:any-link{
  color:var(--header-text)!important;
  background:transparent!important;
  text-decoration:none!important;
  -webkit-text-fill-color:currentColor!important;
}

/* visited / active / focus não mudam a paleta */
#v28Header .v28-desktop-nav > .v28-nav-link:visited,
#v28Header .v28-desktop-nav > .v28-nav-link:active,
#v28Header .v28-desktop-nav > .v28-nav-link:focus,
#v28Header .v28-access > a:visited,
#v28Header .v28-access > a:active,
#v28Header .v28-access > a:focus{
  color:var(--header-text)!important;
}

/* Só o item explicitamente marcado pelo script é ativo. */
#v28Header .v28-desktop-nav [data-v33-active="true"]{
  color:var(--header-text-strong)!important;
  background:var(--header-active)!important;
}

/* Hover de itens comuns */
#v28Header .v28-desktop-nav > .v28-nav-link:not([data-v33-active="true"]):hover,
#v28Header .v28-desktop-nav > .v28-menu > .v28-trigger:not([data-v33-active="true"]):hover,
#v28Header .v28-access > a:not(.v28-signup):not(.v28-demo):hover{
  color:var(--header-text-strong)!important;
  background:var(--header-hover)!important;
}

/* Inscrever-se: sempre neutro, inclusive visited/focus/hover */
#v28Header .v28-access > .v28-signup:any-link,
#v28Header .v28-access > .v28-signup:visited,
#v28Header .v28-access > .v28-signup:active,
#v28Header .v28-access > .v28-signup:focus{
  color:var(--header-text)!important;
  background:transparent!important;
  border-color:rgba(38,38,45,.16)!important;
}
#v28Header .v28-access > .v28-signup:hover{
  color:var(--header-text-strong)!important;
  background:rgba(38,38,45,.035)!important;
  border-color:rgba(38,38,45,.22)!important;
}

/* Agendar demonstração: SEMPRE azul com texto branco.
   Nenhum :hover/:visited/:focus pode transformá-lo em branco. */
#v28Header .v28-access > .v28-demo:any-link,
#v28Header .v28-access > .v28-demo:link,
#v28Header .v28-access > .v28-demo:visited,
#v28Header .v28-access > .v28-demo:active,
#v28Header .v28-access > .v28-demo:focus{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  background:var(--header-blue)!important;
  border-color:var(--header-blue)!important;
  box-shadow:0 10px 25px rgba(85,174,255,.18)!important;
}
#v28Header .v28-access > .v28-demo:hover{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  background:var(--header-blue-hover)!important;
  border-color:var(--header-blue-hover)!important;
  box-shadow:0 12px 28px rgba(85,174,255,.26)!important;
  transform:translateY(-1px);
}

/* Focus acessível sem trocar cores */
#v28Header :where(a,button):focus-visible{
  outline:2px solid rgba(85,174,255,.72)!important;
  outline-offset:3px!important;
}

/* Dropdown aberto muda apenas a seta; não vira "ativo" por engano. */
#v28Header .v28-menu:has(.v28-dropdown.is-open) > .v28-trigger:not([data-v33-active="true"]){
  color:var(--header-text-strong)!important;
  background:var(--header-hover)!important;
}

/* Mobile header follows the same palette. */
.v28-mobile-access .v28-demo:any-link,
.v28-mobile-access .v28-demo:visited,
.v28-mobile-access .v28-demo:hover,
.v28-mobile-access .v28-demo:focus,
.v28-mobile-access .v28-demo:active{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  background:#55AEFF!important;
  border-color:#55AEFF!important;
}
