/* ==========================================================================
   DVIIOS HEADER MASTER 17.0.0
   Padrão global de altura, alinhamento e área visual das marcas.
   Não altera rotas, menus, permissões, conteúdo ou comportamento funcional.
   ========================================================================== */

:root{
  --hm17-head-height:72px;
  --hm17-logo-width:240px;
  --hm17-logo-height:44px;
  --hm17-black:#05070a;
  --hm17-white:#ffffff;
  --hm17-line:#26303d;
  --hm17-nexo:#2478df;
  --hm17-flow:#35b878;
  --hm17-vitrine:#a967dd;
  --hm17-pulso:#7CFF00;
}

/* --------------------------------------------------------------------------
   HEADS PÚBLICAS
   -------------------------------------------------------------------------- */

.dh21-header,
.nxp-header,
.vt-header,
.pl-header,
.flow-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  height:var(--hm17-head-height)!important;
  min-height:var(--hm17-head-height)!important;
  max-height:var(--hm17-head-height)!important;
  border-bottom:0!important;
  background:var(--hm17-black)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  isolation:isolate;
}

.dh21-header__inner,
.nxp-header__inner,
.vt-header__inner,
.pl-header__inner,
.flow-header__inner{
  position:relative;
  height:var(--hm17-head-height)!important;
  min-height:var(--hm17-head-height)!important;
  max-height:var(--hm17-head-height)!important;
  padding-top:0!important;
  padding-bottom:3px!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}

/* Linhas inferiores */
.dh21-header::after{
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:3px!important;
  background:linear-gradient(
    90deg,
    var(--hm17-nexo) 0 25%,
    var(--hm17-flow) 25% 50%,
    var(--hm17-vitrine) 50% 75%,
    var(--hm17-pulso) 75% 100%
  )!important;
}

.nxp-header::after,
.vt-header::after,
.pl-header::after,
.flow-header::after{
  content:"";
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:0;
  height:3px;
}

.nxp-header::after{background:var(--hm17-nexo)}
.vt-header::after{background:var(--hm17-vitrine)}
.pl-header::after{background:var(--hm17-pulso)}
.flow-header::after{background:var(--hm17-flow)}

/* Área visual padronizada da marca */
.dh21-brand,
.nxp-brand,
.nxp-brand--official2,
.vt-brand,
.pl-brand,
.flow-brand{
  width:var(--hm17-logo-width)!important;
  min-width:var(--hm17-logo-width)!important;
  max-width:var(--hm17-logo-width)!important;
  height:var(--hm17-logo-height)!important;
  min-height:var(--hm17-logo-height)!important;
  max-height:var(--hm17-logo-height)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 var(--hm17-logo-width)!important;
  overflow:visible!important;
}

.dh21-brand img,
.nxp-brand img,
.nxp-brand--official2 img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Lockups textuais atuais de Flow, Vitrine e Pulso. */
.vt-brand__stack,
.pl-brand__stack,
.flow-brand__stack{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
}

.vt-brand__wordmark,
.pl-brand__wordmark,
.flow-brand__line{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  line-height:1!important;
}

.vt-brand__dviios,
.vt-brand__vitrine,
.pl-brand__dviios,
.pl-brand__pulso,
.flow-brand__dviios,
.flow-brand__product{
  font-size:24px!important;
  line-height:1!important;
  letter-spacing:-.052em!important;
}

.vt-brand__divider,
.pl-brand__divider,
.flow-brand__divider{
  width:2px!important;
  height:23px!important;
}

.vt-brand__tag,
.pl-brand__tag,
.flow-brand__tag{
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.14em!important;
}

/* Navegação e ações na mesma linha central. */
.dh21-nav,
.nxp-nav,
.vt-nav,
.pl-nav,
.flow-nav{
  align-items:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

.dh21-nav a,
.nxp-nav a,
.vt-nav a,
.pl-nav a,
.flow-nav a{
  font-size:11px!important;
  line-height:1!important;
}

.dh21-button--header,
.nxp-header__actions a,
.vt-header__actions a,
.pl-header__actions a,
.flow-header__actions a{
  min-height:38px!important;
  height:38px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Menus móveis ficam perfeitamente centralizados. */
.dh21-menu-button,
.nxp-menu-button,
.vt-menu-button,
.pl-menu-button,
.flow-menu{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* --------------------------------------------------------------------------
   ACCESS SHELL 16
   -------------------------------------------------------------------------- */

.dvi-access-head-v16{
  height:var(--hm17-head-height)!important;
  min-height:var(--hm17-head-height)!important;
  max-height:var(--hm17-head-height)!important;
}

.dvi-access-head-v16__brand{
  width:var(--hm17-logo-width)!important;
  min-width:var(--hm17-logo-width)!important;
  max-width:var(--hm17-logo-width)!important;
  height:var(--hm17-logo-height)!important;
  min-height:var(--hm17-logo-height)!important;
  max-height:var(--hm17-logo-height)!important;
}

.dvi-access-head-v16__brand img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* --------------------------------------------------------------------------
   PAINEL DO GESTOR / SHELL OPERACIONAL
   -------------------------------------------------------------------------- */

.rc7-header{
  height:var(--hm17-head-height)!important;
  min-height:var(--hm17-head-height)!important;
  max-height:var(--hm17-head-height)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex!important;
  align-items:center!important;
}

.rc7-brand{
  width:var(--hm17-logo-width)!important;
  min-width:var(--hm17-logo-width)!important;
  max-width:var(--hm17-logo-width)!important;
  height:var(--hm17-logo-height)!important;
  min-height:var(--hm17-logo-height)!important;
  max-height:var(--hm17-logo-height)!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 var(--hm17-logo-width)!important;
}

.rc7-brand img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}

.rc7-head-nav,
.rc7-global-search,
.rc7-header-actions{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* --------------------------------------------------------------------------
   HOMEBASE E SHELL PÚBLICO LEGADO
   -------------------------------------------------------------------------- */

.hb-header,
.rc5-header{
  height:var(--hm17-head-height)!important;
  min-height:var(--hm17-head-height)!important;
  max-height:var(--hm17-head-height)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex!important;
  align-items:center!important;
}

.hb-header-inner,
.rc5-header__inner{
  height:var(--hm17-head-height)!important;
  min-height:var(--hm17-head-height)!important;
  max-height:var(--hm17-head-height)!important;
  display:flex!important;
  align-items:center!important;
}

.hb-brand,
.rc5-brand{
  width:var(--hm17-logo-width)!important;
  min-width:var(--hm17-logo-width)!important;
  max-width:var(--hm17-logo-width)!important;
  height:var(--hm17-logo-height)!important;
  min-height:var(--hm17-logo-height)!important;
  max-height:var(--hm17-logo-height)!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 var(--hm17-logo-width)!important;
}

.hb-brand img,
.rc5-brand img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* --------------------------------------------------------------------------
   CONTROL CENTER
   -------------------------------------------------------------------------- */

.control-header{
  height:var(--hm17-head-height)!important;
  min-height:var(--hm17-head-height)!important;
  max-height:var(--hm17-head-height)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  align-items:center!important;
}

.control-brand-zone{
  height:var(--hm17-head-height)!important;
  min-height:var(--hm17-head-height)!important;
  max-height:var(--hm17-head-height)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex!important;
  align-items:center!important;
}

.control-brand{
  height:var(--hm17-logo-height)!important;
  min-height:var(--hm17-logo-height)!important;
  max-height:var(--hm17-logo-height)!important;
  display:flex!important;
  align-items:center!important;
}

.control-brand-full{
  width:220px!important;
  max-width:220px!important;
  height:var(--hm17-logo-height)!important;
  display:flex!important;
  align-items:center!important;
}

.control-brand-full img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
}

.control-header-left,
.control-header-search,
.control-header-actions{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* --------------------------------------------------------------------------
   RESPONSIVIDADE
   -------------------------------------------------------------------------- */

@media(max-width:1180px){
  .dh21-nav,
  .nxp-nav,
  .vt-nav,
  .pl-nav,
  .flow-nav{
    gap:2px!important;
  }

  .dh21-nav a,
  .nxp-nav a,
  .vt-nav a,
  .pl-nav a,
  .flow-nav a{
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:10px!important;
  }

  .rc7-brand{
    width:215px!important;
    min-width:215px!important;
    max-width:215px!important;
    flex-basis:215px!important;
  }

  .rc7-head-nav a{
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:10px!important;
  }
}

@media(max-width:940px){
  :root{
    --hm17-head-height:64px;
    --hm17-logo-width:210px;
    --hm17-logo-height:38px;
  }

  .dh21-header__inner,
  .nxp-header__inner,
  .vt-header__inner,
  .pl-header__inner,
  .flow-header__inner{
    padding-bottom:3px!important;
  }

  .nxp-nav.is-open,
  .vt-nav.is-open,
  .pl-nav.is-open,
  .flow-nav.is-open{
    top:var(--hm17-head-height)!important;
  }

  .vt-brand__dviios,
  .vt-brand__vitrine,
  .pl-brand__dviios,
  .pl-brand__pulso,
  .flow-brand__dviios,
  .flow-brand__product{
    font-size:20px!important;
  }

  .vt-brand__divider,
  .pl-brand__divider,
  .flow-brand__divider{
    height:19px!important;
  }

  .vt-brand__tag,
  .pl-brand__tag,
  .flow-brand__tag{
    font-size:7px!important;
  }

  .rc7-header{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .rc7-brand{
    width:210px!important;
    min-width:210px!important;
    max-width:210px!important;
    flex-basis:210px!important;
  }

  .control-header{
    min-height:64px!important;
    height:64px!important;
    max-height:64px!important;
  }

  .control-brand-zone{
    min-height:64px!important;
    height:64px!important;
    max-height:64px!important;
  }
}

@media(max-width:640px){
  :root{
    --hm17-logo-width:190px;
    --hm17-logo-height:36px;
  }

  .dh21-brand,
  .nxp-brand,
  .nxp-brand--official2,
  .vt-brand,
  .pl-brand,
  .flow-brand,
  .dvi-access-head-v16__brand,
  .hb-brand,
  .rc5-brand{
    width:var(--hm17-logo-width)!important;
    min-width:var(--hm17-logo-width)!important;
    max-width:var(--hm17-logo-width)!important;
    flex-basis:var(--hm17-logo-width)!important;
  }

  .rc7-brand{
    width:180px!important;
    min-width:180px!important;
    max-width:180px!important;
    flex-basis:180px!important;
  }

  .control-brand-full{
    width:190px!important;
    max-width:190px!important;
  }
}
