/* Panorama RJ — menu nativo Elementor (somente dropdown responsivo). */
@media (max-width: 1024px) {
  /* Rolar dentro do menu, mantendo a página em sua posição. */
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(72vh, 650px) !important;
    max-height: min(72dvh, 650px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    border-radius: 8px;
    box-sizing: border-box;
  }
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown ul.elementor-nav-menu {
    padding: 4px 0 !important;
    margin: 0 !important;
  }
  /* Alvos de toque amplos, inclusive em todos os níveis de Cidades. */
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown li > a {
    min-height: 46px;
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    gap: 5px;
    padding-top: 11px !important;
    padding-bottom: 11px !important;
    padding-right: 10px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown li.menu-item-has-children > a {
    font-weight: 600;
  }
  /* A seta permanece a seta nativa do Elementor; área clicável maior. */
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown a > .sub-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px;
    min-width: 44px;
    min-height: 44px;
    margin: -11px -7px -11px auto !important;
    color: #125285;
    border-left: 1px solid rgba(20, 82, 133, .16);
  }
  /* Níveis descendentes permanecem recolhidos pelo Elementor até o toque. */
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown ul.sub-menu {
    box-sizing: border-box;
    max-width: 100%;
    background: #f8fbff;
    border-left: 2px solid #b7d3ea;
    margin: 0 !important;
  }
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown ul.sub-menu ul.sub-menu {
    background: #f0f6fc;
    border-left-color: #8aafcc;
  }
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown li li > a {
    padding-left: 16px !important;
  }
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown li li li > a {
    padding-left: 20px !important;
  }
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown a:focus-visible,
  .elementor-47 .elementor-element.elementor-element-0f21414 .elementor-menu-toggle:focus-visible {
    outline: 2px solid #125a91 !important;
    outline-offset: -2px;
  }
}
@media (max-width: 767px) {
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    max-height: min(70vh, 600px) !important;
    max-height: min(70dvh, 600px) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-47 .elementor-element.elementor-element-0f21414 nav.elementor-nav-menu--dropdown {
    scroll-behavior: auto;
  }
}
