/* V142 — correção responsiva do cabeçalho após inclusão do Desenrola Direito.
   Escopo: somente o cabeçalho institucional das páginas principais.
   Mantém marca, links, botão do Assistente, conteúdo e funcionalidades. */

/* DESKTOP AMPLO
   O menu completo só permanece aberto quando existe espaço horizontal suficiente. */
@media (min-width: 1641px){
  .site-header__inner{
    width:min(1710px,calc(100% - 28px))!important;
    min-height:110px!important;
    grid-template-columns:minmax(470px,500px) minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:20px!important;
    row-gap:0!important;
    padding:0!important;
  }

  .site-brand{
    width:100%!important;
    max-width:500px!important;
    height:88px!important;
    min-width:0!important;
    flex:0 0 auto!important;
    overflow:visible!important;
  }

  /* Caso a página esteja usando a marca original em texto. */
  .site-brand__mark{
    width:72px!important;
    height:72px!important;
    flex-basis:72px!important;
  }

  .site-brand__copy strong{
    font-size:clamp(31px,2vw,37px)!important;
  }

  .site-brand__copy small{
    margin-top:8px!important;
    font-size:11px!important;
    letter-spacing:.16em!important;
  }

  .site-menu-toggle{
    display:none!important;
  }

  .site-nav{
    position:static!important;
    display:flex!important;
    min-width:0!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-direction:row!important;
    gap:16px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .site-nav__links{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-direction:row!important;
    gap:clamp(12px,.95vw,20px)!important;
  }

  .site-nav__link{
    display:block!important;
    padding:11px 0!important;
    border:0!important;
    font-size:15px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  .site-nav__link::after{
    display:block!important;
  }

  .site-nav__cta{
    min-width:284px!important;
    max-width:304px!important;
    min-height:56px!important;
    padding:12px 16px!important;
    font-size:13.5px!important;
    white-space:nowrap!important;
  }
}

/* NOTEBOOKS, TABLETS E DESKTOPS MENORES
   Evita qualquer sobreposição usando o menu recolhível antes de faltar espaço. */
@media (max-width:1640px){
  .site-header__inner{
    position:relative!important;
    width:min(100% - 32px,1500px)!important;
    min-height:92px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:18px!important;
    padding:10px 0!important;
  }

  .site-brand{
    width:min(100%,430px)!important;
    max-width:430px!important;
    height:76px!important;
    min-width:0!important;
    flex:0 1 auto!important;
  }

  .site-menu-toggle{
    display:flex!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
  }

  .site-nav{
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    z-index:1001!important;
    display:none!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    flex-direction:column!important;
    gap:14px!important;
    padding:13px 16px 18px!important;
    border-top:1px solid rgba(216,169,81,.35)!important;
    border-bottom:1px solid rgba(216,169,81,.5)!important;
    background:#310d11!important;
    box-shadow:0 19px 32px rgba(25,2,5,.27)!important;
  }

  .site-nav.is-open{
    display:flex!important;
  }

  .site-nav__links{
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    flex-direction:column!important;
    gap:0!important;
  }

  .site-nav__link{
    display:block!important;
    padding:13px 12px!important;
    border-bottom:1px solid rgba(255,255,255,.1)!important;
    font-size:16px!important;
    white-space:normal!important;
  }

  .site-nav__link::after{
    display:none!important;
  }

  .site-nav__link:last-child{
    border-bottom:0!important;
  }

  .site-nav__cta{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:52px!important;
    padding:13px 18px!important;
    white-space:normal!important;
  }

  body.site-menu-open{
    overflow:hidden!important;
  }
}

/* CELULAR */
@media (max-width:600px){
  .site-header__inner{
    width:calc(100% - 28px)!important;
    min-height:78px!important;
    gap:10px!important;
    padding:9px 0!important;
  }

  .site-brand{
    width:min(100%,245px)!important;
    max-width:245px!important;
    height:60px!important;
  }

  .site-menu-toggle{
    width:44px!important;
    height:44px!important;
    padding:8px!important;
  }

  .site-nav{
    left:-14px!important;
    right:-14px!important;
  }
}

@media (max-width:390px){
  .site-brand{
    width:min(100%,215px)!important;
    max-width:215px!important;
    height:54px!important;
  }
}
