.elementor-768 .elementor-element.elementor-element-ed19532{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-768 .elementor-element.elementor-element-ed19532:not(.elementor-motion-effects-element-type-background), .elementor-768 .elementor-element.elementor-element-ed19532 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-768 .elementor-element.elementor-element-9fe46be img{max-width:40%;}.elementor-768 .elementor-element.elementor-element-9fe46be > .elementor-widget-container{margin:-10px 10px -10px 10px;}.elementor-768 .elementor-element.elementor-element-9fe46be.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-menu-toggle{margin-left:auto;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu .elementor-item{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );padding-left:11px;padding-right:11px;}.elementor-768 .elementor-element.elementor-element-3fd9715{--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a, .elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-menu-toggle{color:#FFFFFF;fill:#FFFFFF;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown{background-color:var( --e-global-color-secondary );}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a:hover,
					.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a:focus,
					.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-menu-toggle:hover,
					.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-menu-toggle:focus{color:#FFFFFF;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a:hover,
					.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a:focus,
					.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a.highlighted{background-color:var( --e-global-color-primary );}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown .elementor-item, .elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Roboto", Sans-serif;font-weight:600;letter-spacing:0px;}.elementor-768 .elementor-element.elementor-element-3fd9715 div.elementor-menu-toggle{color:var( --e-global-color-primary );}.elementor-768 .elementor-element.elementor-element-3fd9715 div.elementor-menu-toggle svg{fill:var( --e-global-color-primary );}.elementor-768 .elementor-element.elementor-element-3fd9715 div.elementor-menu-toggle:hover, .elementor-768 .elementor-element.elementor-element-3fd9715 div.elementor-menu-toggle:focus{color:var( --e-global-color-secondary );}.elementor-768 .elementor-element.elementor-element-3fd9715 div.elementor-menu-toggle:hover svg, .elementor-768 .elementor-element.elementor-element-3fd9715 div.elementor-menu-toggle:focus svg{fill:var( --e-global-color-secondary );}.elementor-768 .elementor-element.elementor-element-3fd9715.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-768 .elementor-element.elementor-element-64b991c .elementor-button-content-wrapper{flex-direction:row;}.elementor-768 .elementor-element.elementor-element-64b991c .elementor-button{background-color:var( --e-global-color-text );border-radius:25px 25px 25px 25px;padding:10px 25px 10px 25px;}.elementor-768 .elementor-element.elementor-element-64b991c .elementor-button:hover, .elementor-768 .elementor-element.elementor-element-64b991c .elementor-button:focus{color:#FFFFFF;background-color:var( --e-global-color-primary );}.elementor-768 .elementor-element.elementor-element-64b991c .elementor-button:hover svg, .elementor-768 .elementor-element.elementor-element-64b991c .elementor-button:focus svg{fill:#FFFFFF;}.elementor-768 .elementor-element.elementor-element-64b991c{width:var( --container-widget-width, 33% );max-width:33%;--container-widget-width:33%;--container-widget-flex-grow:0;}.elementor-768 .elementor-element.elementor-element-6d2c5b6 .elementor-button-content-wrapper{flex-direction:row;}.elementor-768 .elementor-element.elementor-element-6d2c5b6 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-768 .elementor-element.elementor-element-6d2c5b6 .elementor-button{background-color:var( --e-global-color-text );border-radius:35px 35px 35px 35px;padding:10px 20px 10px 20px;}.elementor-768 .elementor-element.elementor-element-6d2c5b6 .elementor-button:hover, .elementor-768 .elementor-element.elementor-element-6d2c5b6 .elementor-button:focus{color:#FFFFFF;background-color:var( --e-global-color-primary );}.elementor-768 .elementor-element.elementor-element-6d2c5b6 .elementor-button:hover svg, .elementor-768 .elementor-element.elementor-element-6d2c5b6 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-768 .elementor-element.elementor-element-6d2c5b6{width:var( --container-widget-width, 17% );max-width:17%;--container-widget-width:17%;--container-widget-flex-grow:0;}.elementor-768 .elementor-element.elementor-element-d523a4c{--grid-template-columns:repeat(0, auto);--icon-size:23px;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-768 .elementor-element.elementor-element-d523a4c .elementor-widget-container{text-align:center;}.elementor-768 .elementor-element.elementor-element-d523a4c .elementor-social-icon{background-color:#C7A38A00;--icon-padding:3px;}.elementor-768 .elementor-element.elementor-element-d523a4c .elementor-social-icon i{color:var( --e-global-color-text );}.elementor-768 .elementor-element.elementor-element-d523a4c .elementor-social-icon svg{fill:var( --e-global-color-text );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1366px){.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-768 .elementor-element.elementor-element-3fd9715{width:var( --container-widget-width, 548.547px );max-width:548.547px;--container-widget-width:548.547px;--container-widget-flex-grow:0;}}@media(max-width:1024px){.elementor-768 .elementor-element.elementor-element-ed19532{--flex-wrap:wrap;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-768 .elementor-element.elementor-element-3fd9715{width:var( --container-widget-width, 72% );max-width:72%;--container-widget-width:72%;--container-widget-flex-grow:0;}}@media(max-width:767px){.elementor-768 .elementor-element.elementor-element-ed19532{--content-width:529px;--min-height:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-768 .elementor-element.elementor-element-9fe46be img{width:84%;max-width:76%;}.elementor-768 .elementor-element.elementor-element-9fe46be > .elementor-widget-container{margin:2px 2px 2px 2px;padding:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-768 .elementor-element.elementor-element-9fe46be{width:var( --container-widget-width, 74px );max-width:74px;--container-widget-width:74px;--container-widget-flex-grow:0;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu .elementor-item{font-size:16px;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--main .elementor-item{padding-left:8px;padding-right:8px;padding-top:0px;padding-bottom:0px;}.elementor-768 .elementor-element.elementor-element-3fd9715{--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );--container-widget-width:66%;--container-widget-flex-grow:0;width:var( --container-widget-width, 66% );max-width:66%;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown{border-radius:0px 0px 0px 0px;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:0px;border-top-right-radius:0px;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--dropdown a{padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px;}.elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-768 .elementor-element.elementor-element-3fd9715 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:17px !important;}.elementor-768 .elementor-element.elementor-element-3fd9715 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-768 .elementor-element.elementor-element-3fd9715.elementor-element{--align-self:center;}.elementor-768{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for nav-menu, class: .elementor-element-3fd9715 *//*
╔══════════════════════════════════════════════════════════════════╗
║  2H TRANSPORTES — CSS CUSTOMIZAÇÃO DO MENU                       ║
║  Cole em: Elementor → Configurações do Site → CSS Adicional      ║
║           OU na seção do menu → CSS Personalizado                ║
╠══════════════════════════════════════════════════════════════════╣
║                                                                  ║
║  FUNÇÃO:                                                         ║
║  Integra o HTML do menu ao Elementor, neutraliza conflitos       ║
║  de tema, corrige posicionamento da logo e garante que o         ║
║  menu funcione em desktop e mobile com fluidez total.            ║
║                                                                  ║
║  ESTRUTURA ESPERADA NO ELEMENTOR:                                ║
║  ┌─────────────────────────────────────────────┐                 ║
║  │  SEÇÃO — Full Width · Padding 0 · z-index alto                ║
║  │  ┌──────────────┬──────────────────────────┐ │               ║
║  │  │  Col 1 (30%) │  Col 2 (70%)             │ │               ║
║  │  │  [IMG logo]  │  [HTML widget — menu]     │ │               ║
║  │  └──────────────┴──────────────────────────┘ │               ║
║  └─────────────────────────────────────────────┘                 ║
╚══════════════════════════════════════════════════════════════════╝
*/

/* ══════════════════════════════════════════════
   1. SEÇÃO WRAPPER DO ELEMENTOR
      Zera espaçamentos que o Elementor adiciona
      e garante que o menu fixed fique no topo
   ══════════════════════════════════════════════ */

/* Remove altura/padding da seção container do menu */
.elementor-section.menu-section,
.e-con.menu-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: unset !important;
  position: static !important;
  z-index: 10000 !important;
}

/* Coluna interna também sem espaçamento */
.elementor-section.menu-section .elementor-column,
.elementor-section.menu-section .elementor-col-100,
.e-con.menu-section > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
}

/* Zera padding do widget HTML que contém o menu */
.elementor-section.menu-section .elementor-widget-html .elementor-widget-container,
.e-con.menu-section .elementor-widget-html .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════
   2. COLUNA DA LOGO — posicionamento e alinhamento
      Funciona tanto para widget Imagem quanto Text
   ══════════════════════════════════════════════ */

/* Coluna 1: logo — verticalmente centralizada */
.elementor-section.menu-section .elementor-column:first-child,
.menu-section .elementor-col-30,
.menu-section .elementor-col-20,
.menu-section .elementor-col-25 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 0 0 5vw !important;
  min-height: 72px;
}

/* Imagem da logo — tamanho controlado */
.elementor-section.menu-section .elementor-column:first-child img,
.menu-section .elementor-widget-image img {
  height: 40px !important;
  width: auto !important;
  max-width: 180px !important;
  object-fit: contain !important;
  display: block !important;
  /* Transição suave ao rolar */
  transition: height .4s ease, opacity .2s ease;
}

/* Logo menor quando menu está com scroll */
body.mn-scrolled .elementor-section.menu-section .elementor-column:first-child img,
body.mn-scrolled .menu-section .elementor-widget-image img {
  height: 34px !important;
}

/* Hover na logo */
.menu-section .elementor-widget-image a:hover img {
  opacity: .85;
}

/* ══════════════════════════════════════════════
   3. COLUNA DO HTML DO MENU — alinhamento direito
   ══════════════════════════════════════════════ */

.elementor-section.menu-section .elementor-column:last-child,
.menu-section .elementor-col-70,
.menu-section .elementor-col-75,
.menu-section .elementor-col-80 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
}

/* O HTML do menu ocupa toda a largura da coluna */
.menu-section .elementor-column:last-child .elementor-widget-html,
.menu-section .elementor-column:last-child .elementor-widget-container {
  width: 100% !important;
  padding: 0 !important;
}

/* ══════════════════════════════════════════════
   4. BARRA FIXA — Correções para o Elementor
      O menu usa position:fixed então precisa de
      ajustes para não conflitar com o tema
   ══════════════════════════════════════════════ */

/* Garante que o spacer empurre o conteúdo */
#mn-spacer {
  display: block !important;
  height: 72px !important;
}

/* Quando usa Elementor Canvas ou Hello Theme */
.elementor-location-header #mn-spacer {
  display: none !important; /* Header já gerencia o espaço */
}

/* Quando usa em página normal (não header) */
.elementor-page #mn-spacer {
  display: block !important;
}

/* ══════════════════════════════════════════════
   5. BARRA TRANSPARENTE → OPACA AO ROLAR
      Classe .scrolled adicionada pelo JS
   ══════════════════════════════════════════════ */

#mn-bar {
  /* Garante que fique acima dos elementos Elementor */
  z-index: 10001 !important;
}

/* Estado inicial — completamente transparente */
#mn-bar:not(.scrolled) {
  background: transparent !important;
}

/* Estado scrolled — sólido */
#mn-bar.scrolled {
  background: rgba(26, 36, 48, .97) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid rgba(199, 163, 138, .12) !important;
  box-shadow: 0 4px 40px rgba(0, 0, 0, .28) !important;
}

/* ══════════════════════════════════════════════
   6. DESKTOP — melhorias de interação
   ══════════════════════════════════════════════ */

/* Espaçamento dos links conforme largura disponível */
@media (min-width: 1200px) {
  #mn-links {
    gap: 4px !important;
  }
  .mla {
    padding: 9px 16px !important;
    font-size: 14px !important;
  }
  #mn-cta {
    padding: 11px 22px !important;
  }
}

@media (min-width: 1400px) {
  #mn-bar {
    padding: 0 6vw !important;
  }
  #mn-links {
    gap: 6px !important;
  }
  .mla {
    font-size: 15px !important;
  }
}

/* Tela menor — comprime os links */
@media (max-width: 1100px) and (min-width: 901px) {
  .mla {
    padding: 8px 10px !important;
    font-size: 13px !important;
  }
  #mn-cta {
    padding: 9px 14px !important;
    font-size: 12px !important;
  }
  #mn-bar {
    padding: 0 3vw !important;
  }
}

/* ══════════════════════════════════════════════
   7. TABLET — breakpoint intermediário
      900px–1024px: mantém desktop mas comprimido
   ══════════════════════════════════════════════ */

@media (max-width: 1024px) and (min-width: 901px) {
  #mn-bar {
    padding: 0 4vw !important;
    gap: 12px !important;
  }
  /* Oculta texto do CTA, mantém ícone */
  #mn-cta span {
    display: none;
  }
  #mn-cta {
    padding: 10px 12px !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    justify-content: center !important;
  }
  #mn-cta svg {
    width: 16px !important;
    height: 16px !important;
  }
}

/* ══════════════════════════════════════════════
   8. MOBILE (≤ 900px) — layout criativo
   ══════════════════════════════════════════════ */

@media (max-width: 900px) {
  /* Altura da barra mobile */
  #mn-root {
    --mn-h: 64px !important;
  }
  #mn-spacer {
    height: 64px !important;
  }

  /* Coluna da logo no mobile */
  .elementor-section.menu-section .elementor-column:first-child,
  .menu-section .elementor-col-30 {
    padding: 0 0 0 4vw !important;
    min-height: 64px !important;
  }

  /* Logo menor no mobile */
  .menu-section .elementor-widget-image img {
    height: 32px !important;
  }

  /* Barra mobile: logo + hamburguer lado a lado */
  #mn-bar {
    padding: 0 4vw !important;
    height: 64px !important;
  }

  /* Painel: ocupa mais tela em mobile pequeno */
  #mn-panel {
    width: min(320px, 92vw) !important;
  }
}

/* ══════════════════════════════════════════════
   9. MOBILE PEQUENO (≤ 480px) — máxima compressão
   ══════════════════════════════════════════════ */

@media (max-width: 480px) {
  #mn-root {
    --mn-h: 60px !important;
  }
  #mn-spacer {
    height: 60px !important;
  }
  #mn-bar {
    padding: 0 4vw !important;
    height: 60px !important;
  }
  .mn-lnome {
    font-size: 16px !important;
  }
  .mn-lsub {
    display: none !important; /* Oculta subtítulo em tela muito pequena */
  }
  .mn-lmark {
    width: 34px !important;
    height: 34px !important;
    font-size: 16px !important;
  }
  /* Painel ocupa quase a tela inteira */
  #mn-panel {
    width: 94vw !important;
  }
  .menu-section .elementor-widget-image img {
    height: 28px !important;
  }
}

/* ══════════════════════════════════════════════
   10. CONFLITOS COM TEMAS COMUNS
       Hello Elementor, Astra, OceanWP, GeneratePress
   ══════════════════════════════════════════════ */

/* Neutraliza navegação do tema quando o menu 2H está ativo */
.elementor-location-header .site-header,
.elementor-location-header header.site-header,
.elementor-location-header #masthead {
  display: none !important;
}

/* Hello Theme — zera padding do body-wrapper */
.elementor-template-full-width .elementor-section-wrap,
.hello-elementor .elementor-section-wrap {
  padding-top: 0 !important;
}

/* Impede que o Elementor Pro header area sobreponha o menu */
.elementor-sticky--effects #mn-bar {
  height: var(--mn-h) !important;
}

/* ══════════════════════════════════════════════
   11. ANIMAÇÃO EXTRA — hover na barra com linha dourada
       Efeito de "glow" sutil na borda inferior ao rolar
   ══════════════════════════════════════════════ */

#mn-bar.scrolled::after {
  content: '';
  position: absolute;
  bottom: 0; left: 5vw; right: 5vw;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(199, 163, 138, .25) 30%,
    rgba(98, 146, 158, .25) 70%,
    transparent
  );
  pointer-events: none;
}

/* ══════════════════════════════════════════════
   12. DROPDOWN ELEMENTOR — evita colisão de z-index
   ══════════════════════════════════════════════ */

.mdrop {
  z-index: 10002 !important;
}

/* Animação de entrada do dropdown mais fluida */
.mli.open .mdrop {
  animation: mdrop-in .22s cubic-bezier(.34,1.56,.64,1) both !important;
}
@keyframes mdrop-in {
  from {
    opacity: 0;
    transform: translateY(-6px) scale(.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* ══════════════════════════════════════════════
   13. PAINEL MOBILE — animação aprimorada
   ══════════════════════════════════════════════ */

/* Painel entra com spring mais expressivo */
#mn-panel {
  transition: transform .42s cubic-bezier(.34, 1.20, .64, 1) !important;
}

/* Overlay com blur mais forte */
#mn-root.mob-open #mn-ov {
  background: rgba(26, 36, 48, .72) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

/* ══════════════════════════════════════════════
   14. ACESSIBILIDADE — foco visível
   ══════════════════════════════════════════════ */

#mn-ham:focus-visible,
#mn-cl:focus-visible,
.mla:focus-visible,
.mmla:focus-visible,
.mdla:focus-visible {
  outline: 2px solid rgba(199, 163, 138, .7) !important;
  outline-offset: 2px !important;
}

/* ══════════════════════════════════════════════
   15. MODO ESCURO — compatibilidade
       Alguns temas invertem cores — neutraliza
   ══════════════════════════════════════════════ */

@media (prefers-color-scheme: dark) {
  #mn-bar,
  #mn-panel,
  .mdrop {
    color-scheme: dark;
  }
}

/* ══════════════════════════════════════════════
   16. PRINT — oculta o menu ao imprimir
   ══════════════════════════════════════════════ */

@media print {
  #mn-root,
  #mn-spacer {
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS *//*
╔══════════════════════════════════════════════════════════════════╗
║  2H TRANSPORTES — CSS CUSTOMIZAÇÃO DO MENU                       ║
║  Cole em: Elementor → Configurações do Site → CSS Adicional      ║
║           OU na seção do menu → CSS Personalizado                ║
╠══════════════════════════════════════════════════════════════════╣
║                                                                  ║
║  FUNÇÃO:                                                         ║
║  Integra o HTML do menu ao Elementor, neutraliza conflitos       ║
║  de tema, corrige posicionamento da logo e garante que o         ║
║  menu funcione em desktop e mobile com fluidez total.            ║
║                                                                  ║
║  ESTRUTURA ESPERADA NO ELEMENTOR:                                ║
║  ┌─────────────────────────────────────────────┐                 ║
║  │  SEÇÃO — Full Width · Padding 0 · z-index alto                ║
║  │  ┌──────────────┬──────────────────────────┐ │               ║
║  │  │  Col 1 (30%) │  Col 2 (70%)             │ │               ║
║  │  │  [IMG logo]  │  [HTML widget — menu]     │ │               ║
║  │  └──────────────┴──────────────────────────┘ │               ║
║  └─────────────────────────────────────────────┘                 ║
╚══════════════════════════════════════════════════════════════════╝
*/

/* ══════════════════════════════════════════════
   1. SEÇÃO WRAPPER DO ELEMENTOR
      Zera espaçamentos que o Elementor adiciona
      e garante que o menu fixed fique no topo
   ══════════════════════════════════════════════ */

/* Remove altura/padding da seção container do menu */
.elementor-section.menu-section,
.e-con.menu-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: unset !important;
  position: static !important;
  z-index: 10000 !important;
}

/* Coluna interna também sem espaçamento */
.elementor-section.menu-section .elementor-column,
.elementor-section.menu-section .elementor-col-100,
.e-con.menu-section > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
}

/* Zera padding do widget HTML que contém o menu */
.elementor-section.menu-section .elementor-widget-html .elementor-widget-container,
.e-con.menu-section .elementor-widget-html .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════
   2. COLUNA DA LOGO — posicionamento e alinhamento
      Funciona tanto para widget Imagem quanto Text
   ══════════════════════════════════════════════ */

/* Coluna 1: logo — verticalmente centralizada */
.elementor-section.menu-section .elementor-column:first-child,
.menu-section .elementor-col-30,
.menu-section .elementor-col-20,
.menu-section .elementor-col-25 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 0 0 5vw !important;
  min-height: 72px;
}

/* Imagem da logo — tamanho controlado */
.elementor-section.menu-section .elementor-column:first-child img,
.menu-section .elementor-widget-image img {
  height: 40px !important;
  width: auto !important;
  max-width: 180px !important;
  object-fit: contain !important;
  display: block !important;
  /* Transição suave ao rolar */
  transition: height .4s ease, opacity .2s ease;
}

/* Logo menor quando menu está com scroll */
body.mn-scrolled .elementor-section.menu-section .elementor-column:first-child img,
body.mn-scrolled .menu-section .elementor-widget-image img {
  height: 34px !important;
}

/* Hover na logo */
.menu-section .elementor-widget-image a:hover img {
  opacity: .85;
}

/* ══════════════════════════════════════════════
   3. COLUNA DO HTML DO MENU — alinhamento direito
   ══════════════════════════════════════════════ */

.elementor-section.menu-section .elementor-column:last-child,
.menu-section .elementor-col-70,
.menu-section .elementor-col-75,
.menu-section .elementor-col-80 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
}

/* O HTML do menu ocupa toda a largura da coluna */
.menu-section .elementor-column:last-child .elementor-widget-html,
.menu-section .elementor-column:last-child .elementor-widget-container {
  width: 100% !important;
  padding: 0 !important;
}

/* ══════════════════════════════════════════════
   4. BARRA FIXA — Correções para o Elementor
      O menu usa position:fixed então precisa de
      ajustes para não conflitar com o tema
   ══════════════════════════════════════════════ */

/* Garante que o spacer empurre o conteúdo */
#mn-spacer {
  display: block !important;
  height: 72px !important;
}

/* Quando usa Elementor Canvas ou Hello Theme */
.elementor-location-header #mn-spacer {
  display: none !important; /* Header já gerencia o espaço */
}

/* Quando usa em página normal (não header) */
.elementor-page #mn-spacer {
  display: block !important;
}

/* ══════════════════════════════════════════════
   5. BARRA TRANSPARENTE → OPACA AO ROLAR
      Classe .scrolled adicionada pelo JS
   ══════════════════════════════════════════════ */

#mn-bar {
  /* Garante que fique acima dos elementos Elementor */
  z-index: 10001 !important;
}

/* Estado inicial — completamente transparente */
#mn-bar:not(.scrolled) {
  background: transparent !important;
}

/* Estado scrolled — sólido */
#mn-bar.scrolled {
  background: rgba(26, 36, 48, .97) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid rgba(199, 163, 138, .12) !important;
  box-shadow: 0 4px 40px rgba(0, 0, 0, .28) !important;
}

/* ══════════════════════════════════════════════
   6. DESKTOP — melhorias de interação
   ══════════════════════════════════════════════ */

/* Espaçamento dos links conforme largura disponível */
@media (min-width: 1200px) {
  #mn-links {
    gap: 4px !important;
  }
  .mla {
    padding: 9px 16px !important;
    font-size: 14px !important;
  }
  #mn-cta {
    padding: 11px 22px !important;
  }
}

@media (min-width: 1400px) {
  #mn-bar {
    padding: 0 6vw !important;
  }
  #mn-links {
    gap: 6px !important;
  }
  .mla {
    font-size: 15px !important;
  }
}

/* Tela menor — comprime os links */
@media (max-width: 1100px) and (min-width: 901px) {
  .mla {
    padding: 8px 10px !important;
    font-size: 13px !important;
  }
  #mn-cta {
    padding: 9px 14px !important;
    font-size: 12px !important;
  }
  #mn-bar {
    padding: 0 3vw !important;
  }
}

/* ══════════════════════════════════════════════
   7. TABLET — breakpoint intermediário
      900px–1024px: mantém desktop mas comprimido
   ══════════════════════════════════════════════ */

@media (max-width: 1024px) and (min-width: 901px) {
  #mn-bar {
    padding: 0 4vw !important;
    gap: 12px !important;
  }
  /* Oculta texto do CTA, mantém ícone */
  #mn-cta span {
    display: none;
  }
  #mn-cta {
    padding: 10px 12px !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    justify-content: center !important;
  }
  #mn-cta svg {
    width: 16px !important;
    height: 16px !important;
  }
}

/* ══════════════════════════════════════════════
   8. MOBILE (≤ 900px) — layout criativo
   ══════════════════════════════════════════════ */

@media (max-width: 900px) {
  /* Altura da barra mobile */
  #mn-root {
    --mn-h: 64px !important;
  }
  #mn-spacer {
    height: 64px !important;
  }

  /* Coluna da logo no mobile */
  .elementor-section.menu-section .elementor-column:first-child,
  .menu-section .elementor-col-30 {
    padding: 0 0 0 4vw !important;
    min-height: 64px !important;
  }

  /* Logo menor no mobile */
  .menu-section .elementor-widget-image img {
    height: 32px !important;
  }

  /* Barra mobile: logo + hamburguer lado a lado */
  #mn-bar {
    padding: 0 4vw !important;
    height: 64px !important;
  }

  /* Painel: ocupa mais tela em mobile pequeno */
  #mn-panel {
    width: min(320px, 92vw) !important;
  }
}

/* ══════════════════════════════════════════════
   9. MOBILE PEQUENO (≤ 480px) — máxima compressão
   ══════════════════════════════════════════════ */

@media (max-width: 480px) {
  #mn-root {
    --mn-h: 60px !important;
  }
  #mn-spacer {
    height: 60px !important;
  }
  #mn-bar {
    padding: 0 4vw !important;
    height: 60px !important;
  }
  .mn-lnome {
    font-size: 16px !important;
  }
  .mn-lsub {
    display: none !important; /* Oculta subtítulo em tela muito pequena */
  }
  .mn-lmark {
    width: 34px !important;
    height: 34px !important;
    font-size: 16px !important;
  }
  /* Painel ocupa quase a tela inteira */
  #mn-panel {
    width: 94vw !important;
  }
  .menu-section .elementor-widget-image img {
    height: 28px !important;
  }
}

/* ══════════════════════════════════════════════
   10. CONFLITOS COM TEMAS COMUNS
       Hello Elementor, Astra, OceanWP, GeneratePress
   ══════════════════════════════════════════════ */

/* Neutraliza navegação do tema quando o menu 2H está ativo */
.elementor-location-header .site-header,
.elementor-location-header header.site-header,
.elementor-location-header #masthead {
  display: none !important;
}

/* Hello Theme — zera padding do body-wrapper */
.elementor-template-full-width .elementor-section-wrap,
.hello-elementor .elementor-section-wrap {
  padding-top: 0 !important;
}

/* Impede que o Elementor Pro header area sobreponha o menu */
.elementor-sticky--effects #mn-bar {
  height: var(--mn-h) !important;
}

/* ══════════════════════════════════════════════
   11. ANIMAÇÃO EXTRA — hover na barra com linha dourada
       Efeito de "glow" sutil na borda inferior ao rolar
   ══════════════════════════════════════════════ */

#mn-bar.scrolled::after {
  content: '';
  position: absolute;
  bottom: 0; left: 5vw; right: 5vw;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(199, 163, 138, .25) 30%,
    rgba(98, 146, 158, .25) 70%,
    transparent
  );
  pointer-events: none;
}

/* ══════════════════════════════════════════════
   12. DROPDOWN ELEMENTOR — evita colisão de z-index
   ══════════════════════════════════════════════ */

.mdrop {
  z-index: 10002 !important;
}

/* Animação de entrada do dropdown mais fluida */
.mli.open .mdrop {
  animation: mdrop-in .22s cubic-bezier(.34,1.56,.64,1) both !important;
}
@keyframes mdrop-in {
  from {
    opacity: 0;
    transform: translateY(-6px) scale(.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* ══════════════════════════════════════════════
   13. PAINEL MOBILE — animação aprimorada
   ══════════════════════════════════════════════ */

/* Painel entra com spring mais expressivo */
#mn-panel {
  transition: transform .42s cubic-bezier(.34, 1.20, .64, 1) !important;
}

/* Overlay com blur mais forte */
#mn-root.mob-open #mn-ov {
  background: rgba(26, 36, 48, .72) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

/* ══════════════════════════════════════════════
   14. ACESSIBILIDADE — foco visível
   ══════════════════════════════════════════════ */

#mn-ham:focus-visible,
#mn-cl:focus-visible,
.mla:focus-visible,
.mmla:focus-visible,
.mdla:focus-visible {
  outline: 2px solid rgba(199, 163, 138, .7) !important;
  outline-offset: 2px !important;
}

/* ══════════════════════════════════════════════
   15. MODO ESCURO — compatibilidade
       Alguns temas invertem cores — neutraliza
   ══════════════════════════════════════════════ */

@media (prefers-color-scheme: dark) {
  #mn-bar,
  #mn-panel,
  .mdrop {
    color-scheme: dark;
  }
}

/* ══════════════════════════════════════════════
   16. PRINT — oculta o menu ao imprimir
   ══════════════════════════════════════════════ */

@media print {
  #mn-root,
  #mn-spacer {
    display: none !important;
  }
}/* End custom CSS */