@import url('/assets/css/footer.css?v=20261005-1');

@import url('/assets/css/navigation-mobile.css?v=20261005-1');
/* OHM Academy migration compatibility layer.
   This file restores interaction/fallback behavior without changing page copy. */

/* Always allow migrated Elementor background CSS to display. */
.e-con.e-parent.e-lazyloaded,
.e-con.e-parent.ohm-background-ready { background-image: inherit; }

/* Shared navigation: CSS fallback for desktop dropdowns. */
.elementor-nav-menu--main .menu-item-has-children { position: relative; }
.elementor-nav-menu--main .menu-item-has-children > .sub-menu {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
.elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu,
.elementor-nav-menu--main .menu-item-has-children.ohm-submenu-open > .sub-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* Mobile menu fallback if Elementor's handler is unavailable. */
@media (max-width: 1024px) {
  .elementor-widget-nav-menu.ohm-menu-managed .elementor-nav-menu--main { display: none !important; }
  .elementor-widget-nav-menu.ohm-menu-managed .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    display: none;
  }
  .elementor-widget-nav-menu.ohm-menu-managed.ohm-menu-open .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    display: block !important;
  }
  .elementor-widget-nav-menu.ohm-menu-managed .menu-item-has-children > .sub-menu { display: none; }
  .elementor-widget-nav-menu.ohm-menu-managed .menu-item-has-children.ohm-submenu-open > .sub-menu { display: block; }
}

/* Fallback carousel used only when Elementor/Swiper did not initialize. */
.ohm-fallback-carousel { overflow: hidden; position: relative; }
.ohm-fallback-carousel > .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  transition: transform .5s ease;
  will-change: transform;
}
.ohm-fallback-carousel > .swiper-wrapper > .swiper-slide {
  flex-shrink: 0 !important;
  box-sizing: border-box;
}
.ohm-fallback-carousel + .elementor-swiper-button,
.elementor-widget-n-carousel .elementor-swiper-button { cursor: pointer; }
.ohm-fallback-pagination .swiper-pagination-bullet { cursor: pointer; }

/* Native details remain usable even if Elementor's accordion JS is absent. */
.e-n-accordion-item > summary { cursor: pointer; }

/* Static fallback rendering for migrated Ninja Forms. */
.ohm-static-form { width: 100%; }
.ohm-static-form .ohm-field { margin-bottom: 14px; }
.ohm-static-form label { display: block; margin-bottom: 5px; }
.ohm-static-form input[type="text"],
.ohm-static-form input[type="email"],
.ohm-static-form input[type="tel"],
.ohm-static-form input[type="date"],
.ohm-static-form textarea,
.ohm-static-form select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.ohm-static-form .ohm-options label,
.ohm-static-form .ohm-check-label { display: block; }
.ohm-static-form .ohm-options input,
.ohm-static-form .ohm-check-label input { width: auto; margin-right: 7px; }
.ohm-form-status { margin-top: 10px; }
.ohm-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Legacy Elementor image carousel uses the same JS-free fallback. */
.elementor-widget-image-carousel .ohm-fallback-carousel { overflow: hidden; position: relative; }
.elementor-widget-image-carousel .ohm-fallback-carousel > .swiper-wrapper {
  display: flex !important; flex-wrap: nowrap !important; will-change: transform;
}
.elementor-widget-image-carousel .ohm-fallback-carousel > .swiper-wrapper > .swiper-slide {
  flex-shrink: 0 !important; box-sizing: border-box;
}


/* v1.4 - robust dropdown navigation independent of Elementor JS. */
header.elementor-location-header {
  position: relative;
  z-index: 10000 !important;
  overflow: visible !important;
}
header.elementor-location-header .elementor-section,
header.elementor-location-header .elementor-container,
header.elementor-location-header .elementor-column,
header.elementor-location-header .elementor-widget-wrap,
header.elementor-location-header .elementor-widget-nav-menu,
header.elementor-location-header .elementor-widget-container,
header.elementor-location-header nav,
header.elementor-location-header ul,
header.elementor-location-header li {
  overflow: visible !important;
}

@media (min-width: 1025px) {
  .elementor-widget-nav-menu.ohm-menu-managed .elementor-nav-menu--main {
    overflow: visible !important;
  }

  .elementor-widget-nav-menu.ohm-menu-managed
  .elementor-nav-menu--main
  .menu-item-has-children {
    position: relative !important;
  }

  .elementor-widget-nav-menu.ohm-menu-managed
  .elementor-nav-menu--main
  .menu-item-has-children > .sub-menu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: max-content !important;
    min-width: 260px !important;
    max-width: min(420px, 90vw) !important;
    margin: 0 !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 100000 !important;
  }

  .elementor-widget-nav-menu.ohm-menu-managed
  .elementor-nav-menu--main
  .menu-item-has-children:hover > .sub-menu,
  .elementor-widget-nav-menu.ohm-menu-managed
  .elementor-nav-menu--main
  .menu-item-has-children:focus-within > .sub-menu,
  .elementor-widget-nav-menu.ohm-menu-managed
  .elementor-nav-menu--main
  .menu-item-has-children.ohm-submenu-open > .sub-menu {
    display: block !important;
  }
}

@media (max-width: 1024px) {
  .elementor-widget-nav-menu.ohm-menu-managed
  nav.elementor-nav-menu--dropdown
  .menu-item-has-children > .sub-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .elementor-widget-nav-menu.ohm-menu-managed
  nav.elementor-nav-menu--dropdown
  .menu-item-has-children.ohm-submenu-open > .sub-menu {
    display: block !important;
  }
}