/* FEMAC 2026 — V90
   Cabeçalho público responsivo: evita colisão da marca com a navegação
   quando o menu cresce ou a janela fica mais estreita. */

/* Desktop largo: usa melhor a largura disponível sem alterar o conteúdo. */
@media (min-width:1391px){
  .topbar .container{
    width:min(1450px,96%)!important;
    min-height:74px!important;
    gap:12px!important;
  }
  .topbar .brand{
    flex:0 0 auto!important;
    min-width:0!important;
    max-width:265px!important;
  }
  .topbar .brand-mark-img{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    object-fit:contain!important;
  }
  .topbar .brand-copy strong{font-size:1.34rem!important}
  .topbar .brand-copy small{
    font-size:.49rem!important;
    letter-spacing:.12em!important;
    white-space:nowrap!important;
  }
  #primary-nav.nav{
    min-width:0!important;
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:0!important;
    white-space:nowrap!important;
  }
  #primary-nav.nav>a{
    flex:0 0 auto!important;
    padding:.43rem .44rem!important;
    font-size:.71rem!important;
  }
  #primary-nav.nav>a.cta{
    margin-left:.25rem!important;
    padding-inline:.82rem!important;
  }
  .menu-toggle{display:none!important}
}

/* Antes de a navegação encostar na marca, troca para menu recolhido. */
@media (max-width:1390px){
  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:10000!important;
    overflow:visible!important;
  }
  .topbar .container{
    position:relative!important;
    display:flex!important;
    width:min(1180px,94%)!important;
    min-height:72px!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  .topbar .brand{
    min-width:0!important;
    max-width:calc(100% - 118px)!important;
    flex:1 1 auto!important;
    overflow:hidden!important;
  }
  .topbar .brand-mark-img{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    object-fit:contain!important;
  }
  .topbar .brand-copy{min-width:0!important}
  .topbar .brand-copy strong,
  .topbar .brand-copy small{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .topbar .brand-copy strong{font-size:1.2rem!important}
  .topbar .brand-copy small{font-size:.46rem!important;letter-spacing:.09em!important}

  .menu-toggle{
    position:relative!important;
    z-index:10002!important;
    display:inline-flex!important;
    min-width:102px!important;
    min-height:46px!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:0 13px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.055)!important;
    color:#fff!important;
    box-shadow:0 10px 26px rgba(0,0,0,.16)!important;
  }
  .menu-toggle b{display:inline-grid!important;place-items:center!important;width:25px!important;font-size:1.45rem!important}

  #primary-nav.nav{
    --menu-top:72px;
    position:fixed!important;
    z-index:10001!important;
    top:var(--menu-top)!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    display:flex!important;
    width:auto!important;
    height:calc(100dvh - var(--menu-top))!important;
    min-height:0!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:3px!important;
    padding:14px 16px max(28px,env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    background:linear-gradient(180deg,rgba(9,10,14,.995),rgba(12,13,19,.995))!important;
    box-shadow:0 24px 50px rgba(0,0,0,.54)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-10px)!important;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;
  }
  #primary-nav.nav.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  #primary-nav.nav>a{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
    flex:0 0 auto!important;
    align-items:center!important;
    padding:.78rem 1rem!important;
    border:1px solid transparent!important;
    border-bottom-color:rgba(255,255,255,.08)!important;
    border-radius:11px!important;
    color:#fff!important;
    font-size:.91rem!important;
    text-align:left!important;
  }
  #primary-nav.nav>a:hover,#primary-nav.nav>a:focus{
    background:rgba(255,255,255,.07)!important;
    border-color:rgba(255,255,255,.10)!important;
  }
  #primary-nav.nav>a.cta{
    justify-content:center!important;
    margin:8px 0 0!important;
    border:1px solid rgba(255,200,174,.32)!important;
    background:linear-gradient(135deg,#ff713d,#db410d)!important;
    text-align:center!important;
  }
  body.menu-is-open{overflow:hidden!important;touch-action:none}
}

@media (max-width:620px){
  .topbar .container{width:min(100% - 24px,1180px)!important;min-height:68px!important}
  .topbar .brand{max-width:calc(100% - 76px)!important}
  .topbar .brand-mark-img{width:42px!important;height:42px!important;flex-basis:42px!important}
  .topbar .brand-copy strong{font-size:1.08rem!important}
  .topbar .brand-copy small{max-width:175px!important;font-size:.43rem!important;letter-spacing:.07em!important}
  .menu-toggle{min-width:52px!important;width:52px!important;min-height:44px!important;padding:0!important}
  .menu-toggle span{display:none!important}
  #primary-nav.nav{--menu-top:68px}
}
