/* Brasil Emprega 7.6.12 — estabilização do cabeçalho responsivo
   Este arquivo é o único override final do cabeçalho. Mantém o menu móvel
   até 1279px e libera a navegação horizontal somente a partir de 1280px. */

.be-site-header{
  position:sticky!important;
  top:0!important;
  z-index:9000!important;
  width:100%!important;
  overflow:visible!important;
  background:#fff!important;
  border-bottom:1px solid #e1e9f1!important;
  box-shadow:0 2px 10px rgba(10,38,72,.035)!important;
}

/* Navegação completa: somente quando há espaço real para todos os itens. */
@media (min-width:1280px){
  .be-site-header .be-nav{
    position:relative!important;
    width:min(1480px,calc(100% - 40px))!important;
    max-width:1480px!important;
    min-height:88px!important;
    height:88px!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:18px!important;
    overflow:visible!important;
  }
  .be-site-header .be-logo{
    flex:0 0 122px!important;
    width:122px!important;
    min-width:122px!important;
    height:68px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .be-site-header .be-logo img{
    display:block!important;
    width:106px!important;
    max-width:106px!important;
    height:64px!important;
    max-height:64px!important;
    object-fit:contain!important;
  }
  .be-site-header .be-context-widget{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 210px!important;
    width:210px!important;
    min-width:210px!important;
    max-width:210px!important;
    min-height:58px!important;
    margin:0!important;
    padding:8px 11px!important;
    overflow:hidden!important;
  }
  .be-site-header .be-menu-toggle{
    display:none!important;
  }
  .be-site-header .be-menu{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:16px!important;
    overflow:visible!important;
    white-space:nowrap!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .be-site-header .be-menu>a,
  .be-site-header .be-services-main-link{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
  .be-site-header .be-services-menu{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    width:auto!important;
  }
  .be-site-header .be-services-control{
    display:flex!important;
    align-items:center!important;
    width:auto!important;
    height:40px!important;
    gap:2px!important;
  }
  .be-site-header .be-services-panel{
    max-height:none!important;
    overflow:visible!important;
  }
  .be-site-header .be-login,
  .be-site-header .be-cta{
    flex:0 0 auto!important;
  }
}

/* Celular, tablet e notebook compacto: menu recolhido e previsível. */
@media (max-width:1279px){
  .be-site-header{
    min-height:76px!important;
  }
  .be-site-header .be-nav{
    position:relative!important;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    min-height:76px!important;
    height:76px!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    overflow:visible!important;
  }
  .be-site-header .be-logo{
    flex:0 0 86px!important;
    width:86px!important;
    min-width:86px!important;
    height:62px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .be-site-header .be-logo img{
    display:block!important;
    width:78px!important;
    max-width:78px!important;
    height:58px!important;
    max-height:58px!important;
    object-fit:contain!important;
  }
  .be-site-header .be-context-widget{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:230px!important;
    min-height:42px!important;
    margin:0!important;
    padding:6px 9px!important;
    overflow:hidden!important;
    box-shadow:none!important;
  }
  .be-site-header .be-context-main{
    min-width:0!important;
    overflow:hidden!important;
  }
  .be-site-header .be-context-place,
  .be-site-header .be-context-time,
  .be-site-header .be-context-weather{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .be-site-header .be-context-weather{
    display:none!important;
  }
  .be-site-header .be-menu-toggle{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    margin:0 0 0 auto!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    border:1px solid #dce6ef!important;
    border-radius:11px!important;
    background:#fff!important;
    cursor:pointer!important;
    z-index:1401!important;
  }
  .be-site-header .be-menu-toggle span{
    display:block!important;
    width:22px!important;
    height:2px!important;
    background:#073b77!important;
    border-radius:3px!important;
  }
  .be-site-header .be-menu{
    display:none!important;
  }
  .be-site-header .be-menu.is-open{
    position:absolute!important;
    inset:auto 0 auto 0!important;
    top:74px!important;
    z-index:1400!important;
    display:flex!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    max-height:calc(100vh - 90px)!important;
    margin:0!important;
    padding:12px!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:3px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    white-space:normal!important;
    background:#fff!important;
    border:1px solid #dce6ef!important;
    border-radius:14px!important;
    box-shadow:0 18px 45px rgba(8,34,67,.16)!important;
  }
  .be-site-header .be-menu.is-open>a,
  .be-site-header .be-menu.is-open .be-services-menu,
  .be-site-header .be-menu.is-open .be-services-control{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  .be-site-header .be-menu.is-open>a,
  .be-site-header .be-menu.is-open .be-services-main-link{
    display:flex!important;
    min-height:44px!important;
    align-items:center!important;
    margin:0!important;
    padding:10px!important;
    border-radius:9px!important;
    font-size:14px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  .be-site-header .be-menu.is-open>a:hover,
  .be-site-header .be-menu.is-open .be-services-main-link:hover{
    background:#f1f5fa!important;
  }
  .be-site-header .be-menu.is-open .be-login,
  .be-site-header .be-menu.is-open .be-cta{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:44px!important;
    min-height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 12px!important;
    box-sizing:border-box!important;
  }

  /* O submenu de serviços também passa a seguir o comportamento móvel. */
  .be-site-header .be-services-menu{
    position:relative!important;
    display:block!important;
  }
  .be-site-header .be-services-control{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:44px!important;
    padding:0!important;
    border-radius:9px!important;
  }
  .be-site-header .be-menu.is-open .be-services-control .be-services-main-link{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
  }
  .be-site-header .be-services-trigger{
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    padding:0!important;
  }
  .be-site-header .be-services-panel{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    max-height:0!important;
    margin:0!important;
    padding:0 8px!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    background:#f7f9fc!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
    transition:max-height .3s ease,padding .3s ease!important;
  }
  .be-site-header .be-services-menu.is-open .be-services-panel{
    max-height:1000px!important;
    padding:12px 8px!important;
    overflow-y:auto!important;
  }
  .be-site-header .be-services-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .be-site-header .be-service-group{
    padding:4px 4px 10px!important;
    border-right:0!important;
    border-bottom:1px solid #e5eaf0!important;
  }
  .be-site-header .be-service-group:last-child{
    border-bottom:0!important;
  }
  body.menu-open{
    overflow:hidden!important;
  }
}

@media (max-width:520px){
  .be-site-header .be-nav{
    width:calc(100% - 16px)!important;
    gap:7px!important;
  }
  .be-site-header .be-logo{
    flex-basis:78px!important;
    width:78px!important;
    min-width:78px!important;
  }
  .be-site-header .be-logo img{
    width:72px!important;
    max-width:72px!important;
  }
  .be-site-header .be-context-widget{
    max-width:none!important;
    padding:5px 7px!important;
  }
  .be-site-header .be-context-icon{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
  .be-site-header .be-context-place{
    font-size:10px!important;
  }
  .be-site-header .be-context-time{
    font-size:9px!important;
  }
}
