/* Brasil Emprega 7.6.19 — Etapa 1: estabilidade visual e navegação responsiva */
html{
  max-width:100%;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  max-width:100%;
  overflow-x:clip;
}
img,svg,video,canvas{
  max-width:100%;
}
input,select,textarea,button{
  max-width:100%;
}
h1,h2,h3,h4,h5,h6,p,a,button,label,li,td,th{
  overflow-wrap:break-word;
  word-break:normal;
}
[hidden]{display:none!important}

/* Tabelas grandes continuam utilizáveis em celular e tablet. */
.be-responsive-table{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border-radius:12px;
}
.be-responsive-table>table{
  margin:0;
}

/* Menu responsivo para páginas antigas que ainda usam .top/.nav. */
.be-legacy-menu-toggle{
  display:none;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  margin-left:auto;
  padding:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  border:1px solid #d7e2eb;
  border-radius:11px;
  background:#fff;
  color:#073b77;
  cursor:pointer;
  box-shadow:none;
}
.be-legacy-menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  border-radius:4px;
  background:currentColor;
  transition:transform .2s ease,opacity .2s ease;
}
.be-legacy-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.be-legacy-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.be-legacy-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* O Léo permanece dentro da área útil em notebook, desktop e celular. */
#leoChat{
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
}
#leoChat .leoMessages,
#leoChat .leoQuick{
  min-height:0!important;
}
body.menu-open #leoFab,
body.be-legacy-menu-open #leoFab{
  opacity:0!important;
  pointer-events:none!important;
}

@media (max-width:900px){
  .top .nav{
    position:relative;
    flex-wrap:nowrap!important;
    overflow:visible!important;
  }
  .top .nav>.be-legacy-menu-toggle{
    display:flex!important;
  }
  .top .nav>.links,
  .top .nav>.navlinks{
    display:none!important;
  }
  .top .nav>.links.is-open,
  .top .nav>.navlinks.is-open{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    z-index:6000!important;
    display:flex!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100dvh - 100px)!important;
    margin:0!important;
    padding:10px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:4px!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,.18)!important;
  }
  .top .nav>.links.is-open a,
  .top .nav>.navlinks.is-open a{
    display:flex!important;
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 12px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border-radius:9px!important;
    white-space:normal!important;
    line-height:1.25!important;
  }
  .top .nav>.links.is-open a:hover,
  .top .nav>.navlinks.is-open a:hover{
    background:#f1f5fa!important;
  }
  .top .nav>.links.is-open .btn,
  .top .nav>.navlinks.is-open .btn{
    justify-content:center!important;
  }
  body.be-legacy-menu-open{
    overflow:hidden!important;
  }

  /* Ações e filtros não ultrapassam a tela. */
  .actions,
  .toolbar-options,
  .vacancy-actions,
  .be-state-actions{
    max-width:100%;
  }
  .tablewrap,
  .be-responsive-table{
    overscroll-behavior-x:contain;
  }
}

@media (max-width:720px){
  #leoChat{
    right:max(6px,env(safe-area-inset-right))!important;
    left:max(6px,env(safe-area-inset-left))!important;
    bottom:max(6px,env(safe-area-inset-bottom))!important;
    max-width:none!important;
    max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))!important;
  }
  #leoChat input,
  #leoChat textarea,
  #leoChat select{
    font-size:16px!important;
  }
  #leoFab{
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
  }
  .modal,
  [class*="-modal"],
  [class*="Modal"]{
    max-width:100vw;
  }
}

@media (max-width:520px){
  .container,.wrap{
    width:min(100% - 20px,1180px)!important;
  }
  .hero h1,h1{
    line-height:1.12;
  }
  .btn,
  .actions>button,
  .actions>a,
  .be-state-cancel,
  .be-state-go{
    min-height:42px;
  }
}

@media (prefers-reduced-motion:reduce){
  .be-legacy-menu-toggle span{transition:none}
}
