/* === Snapshot overrides (substitui o runtime JS do Elementor) === */
/* manter conteudo com animacao de entrada sempre visivel (sem o JS do Elementor) */
.elementor-invisible{visibility:visible !important;}
/* Desktop (>=1025px): abrir submenu do nav-menu no hover (substitui smartmenus.js) */
@media (min-width:1025px){
  .elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children{position:relative;}
  .elementor-nav-menu--main .elementor-nav-menu>li.menu-item-has-children:hover>.elementor-nav-menu--dropdown{
    display:block !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:none !important;
  }
}
/* Menu mobile: container dropdown escondido por padrao; JS define display ao abrir */
nav.elementor-nav-menu--dropdown[aria-hidden="true"]{display:none;}
/* dentro do dropdown mobile, manter submenus expandidos/visiveis */
nav.elementor-nav-menu--dropdown .sub-menu{display:block;}
/* === Correcao responsiva do header (tablet 768-1024 estourava a largura da tela) === */
@media (min-width:768px) and (max-width:1024px){
  .elementor-location-header .elementor-element-b405c5b,
  .elementor-location-header .elementor-element-17c5e47{ width:auto !important; }
  .elementor-location-header .elementor-element-7a5fdb3{ align-items:center !important; }
}

/* === Footer: menus sempre como lista normal (sem hamburguer) === */
.elementor-location-footer .elementor-menu-toggle{display:none !important;}
.elementor-location-footer .elementor-nav-menu--main{display:block !important;}
.elementor-location-footer nav.elementor-nav-menu--dropdown{display:none !important;}

/* === Hero: centralizar texto no mobile === */
@media (max-width:767px){
  .elementor-element-ec93b17, .elementor-element-ec93b17 .elementor-widget-container, .elementor-element-ec93b17 p{ text-align:center !important; }
}

/* === Acessibilidade: contraste da descricao dos image-box === */
.elementor-26 .elementor-image-box-description{ color:#4d4d4d !important; }
