/* IIVR Keyboard Accessibility — menu layout + submenu visibility */

@media (min-width: 1025px) {
  .elementor-widget-nav-menu .elementor-widget-container {
    position: relative !important;
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-nav-menu--main.elementor-nav-menu__container {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .elementor-nav-menu--main > .elementor-nav-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: center !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-nav-menu--main > .elementor-nav-menu > li {
    flex: 0 1 auto !important;
    position: relative !important;
    list-style: none !important;
  }

  .elementor-nav-menu--main .sub-menu {
    position: absolute !important;
    z-index: 9999 !important;
    list-style: none !important;
  }

  /* Mouse: hover or Enter-open */
  html:not(.iivr-kb-nav) .elementor-nav-menu--main > .elementor-nav-menu li.menu-item-has-children:not(:hover):not(.iivr-submenu-open) > .sub-menu,
  html:not(.iivr-kb-nav) .elementor-nav-menu--main > .elementor-nav-menu li.menu-item-has-children:not(:hover):not(.iivr-submenu-open):focus-within > .sub-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }

  html:not(.iivr-kb-nav) .elementor-nav-menu--main > .elementor-nav-menu li.menu-item-has-children:hover > .sub-menu,
  html:not(.iivr-kb-nav) .elementor-nav-menu--main > .elementor-nav-menu li.menu-item-has-children.iivr-submenu-open > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Keyboard: only .iivr-submenu-open */
  html.iivr-kb-nav .elementor-nav-menu--main > .elementor-nav-menu li.menu-item-has-children:not(.iivr-submenu-open) > .sub-menu,
  html.iivr-kb-nav .elementor-nav-menu--main > .elementor-nav-menu li.menu-item-has-children:not(.iivr-submenu-open):focus-within > .sub-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }

  html.iivr-kb-nav .elementor-nav-menu--main > .elementor-nav-menu li.menu-item-has-children.iivr-submenu-open > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}
