/*
 * NetArts - correção isolada de menu mobile e camadas dos modais.
 * Carregado depois de style.css para preservar todas as demais evoluções do site.
 */

/* Todo modal deve ficar acima do cabeçalho e do menu. */
.proposal-modal{z-index:6000!important}
.exit-modal{z-index:5900!important}
.media-lightbox{z-index:6100!important}
.privacy-drawer{z-index:6200!important}

/* O cabeçalho continua acima do conteúdo normal, mas abaixo dos modais. */
.site-header{z-index:3000!important}

@media (max-width:900px){
  body.menu-open{overflow:hidden!important}

  /* Escurece somente a página, mantendo o cabeçalho e a gaveta legíveis. */
  body.menu-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:2950;
    background:rgba(3,17,37,.52);
    backdrop-filter:blur(2px);
  }

  .site-header,
  .site-header .header__inner,
  .site-header .brand,
  .site-header .menu-toggle{
    position:relative;
    z-index:3000;
  }

  .menu-toggle{
    flex:0 0 48px;
    width:48px;
    height:48px;
    border-radius:14px;
    touch-action:manipulation;
  }

  /* Menu em gaveta lateral: largo, compacto e sem esmagar os textos. */
  .main-nav{
    position:fixed!important;
    top:78px!important;
    right:0!important;
    left:auto!important;
    width:min(88vw,360px)!important;
    height:calc(100dvh - 78px)!important;
    max-height:none!important;
    margin:0!important;
    padding:16px 22px 24px!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    border:0!important;
    border-left:1px solid rgba(8,44,89,.10)!important;
    border-radius:22px 0 0 0!important;
    background:#fff!important;
    box-shadow:-24px 28px 65px rgba(3,17,37,.24)!important;
    z-index:3100!important;
  }

  body.menu-open .main-nav{display:flex!important}

  .main-nav>a:not(.nav-cta){
    min-height:52px;
    display:flex;
    align-items:center;
    padding:13px 4px!important;
    border-bottom:1px solid var(--line)!important;
    color:var(--navy)!important;
    font-size:16px!important;
    line-height:1.3!important;
    white-space:normal;
  }

  .main-nav>a:not(.nav-cta):after{display:none!important}

  .main-nav .nav-cta,
  .main-nav .nav-cta--button{
    width:100%!important;
    min-height:52px!important;
    margin:18px 0 0!important;
    padding:13px 16px!important;
    border:0!important;
    border-radius:13px!important;
    background:var(--navy)!important;
    color:#fff!important;
    text-align:center!important;
    font-size:15px!important;
    line-height:1.25!important;
    cursor:pointer;
  }
}

@media (max-width:620px){
  .main-nav{
    top:78px!important;
    width:min(90vw,350px)!important;
    height:calc(100dvh - 78px)!important;
    padding:12px 20px 22px!important;
  }

  .brand{width:min(190px,58vw)!important}

  .main-nav>a:not(.nav-cta){
    min-height:49px;
    padding:11px 3px!important;
    font-size:15px!important;
  }

  /* Formulário fica dentro da área visível e acima do cabeçalho. */
  .proposal-modal__panel{
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:20px!important;
  }

  .proposal-modal__header{padding:18px 18px!important}
  .proposal-modal__header h2{font-size:20px!important}
  .proposal-form{padding:18px!important}
  .proposal-form__grid{gap:12px!important}
  .proposal-form input,
  .proposal-form select{min-height:44px!important}
}
