/*
 * Generic Divi Hamburger Menu
 * Clean mobile hamburger icon + collapsible multi-level submenus.
 */

@media (max-width: 980px) {

  .et_pb_menu,
  .et_pb_menu_inner_container,
  .et_pb_menu__wrap,
  .et_mobile_nav_menu,
  .mobile_nav {
    overflow: visible !important;
  }

  .et_pb_menu__wrap,
  .et_mobile_nav_menu,
  .mobile_nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .mobile_menu_bar,
  .et_pb_menu .mobile_menu_bar,
  .et_mobile_nav_menu .mobile_menu_bar {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    line-height: 1 !important;
  }

  .mobile_menu_bar::before,
  .et_pb_menu .mobile_menu_bar::before,
  .et_mobile_nav_menu .mobile_menu_bar::before {
    position: static !important;
    display: block !important;
    color: var(--gdhm-hamburger-color, #0b6b3a) !important;
    font-size: 34px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile_menu_bar:hover::before,
  .et_pb_menu .mobile_menu_bar:hover::before,
  .et_mobile_nav_menu .mobile_menu_bar:hover::before {
    color: var(--gdhm-hamburger-hover-color, #073b22) !important;
  }

  .et_mobile_menu {
    position: absolute !important;
    top: 100% !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin-top: 10px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-top: 4px solid var(--gdhm-panel-border-color, #073b22) !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18) !important;
    overflow: hidden !important;
    z-index: 999999 !important;
  }

  .et_mobile_menu li {
    position: relative !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .et_mobile_menu li a {
    display: block !important;
    padding: 16px 58px 16px 22px !important;
    color: var(--gdhm-link-color, #111111) !important;
    background: #ffffff !important;
    font-size: clamp(15px, 3vw, 18px) !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.01em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    transition: background-color 0.22s ease, color 0.22s ease, padding-left 0.22s ease;
  }

  .et_mobile_menu li a:hover,
  .et_mobile_menu li.current-menu-item > a,
  .et_mobile_menu li.current_page_item > a {
    color: var(--gdhm-accent-color, #073b22) !important;
    background: rgba(7, 59, 34, 0.08) !important;
    padding-left: 28px !important;
  }

  .et_mobile_menu ul.sub-menu,
  .et_mobile_menu ul.children {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(7, 59, 34, 0.035) !important;
    overflow: hidden !important;
    transform: none !important;
  }

  .et_mobile_menu ul.sub-menu li a,
  .et_mobile_menu ul.children li a {
    padding-left: 38px !important;
    font-size: clamp(14px, 2.7vw, 16px) !important;
    font-weight: 500 !important;
  }

  .et_mobile_menu ul.sub-menu ul.sub-menu li a,
  .et_mobile_menu ul.children ul.children li a {
    padding-left: 54px !important;
    font-size: clamp(13px, 2.5vw, 15px) !important;
  }

  .et_mobile_menu ul.sub-menu ul.sub-menu ul.sub-menu li a,
  .et_mobile_menu ul.children ul.children ul.children li a {
    padding-left: 70px !important;
  }

  .et_mobile_menu li.menu-item-has-children > ul.sub-menu,
  .et_mobile_menu li.page_item_has_children > ul.children {
    max-height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    transition: max-height 0.32s ease, opacity 0.22s ease, visibility 0.22s ease;
  }

  .et_mobile_menu li.menu-item-has-children.gdhm-open > ul.sub-menu,
  .et_mobile_menu li.page_item_has_children.gdhm-open > ul.children {
    max-height: 1800px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .et_mobile_menu .gdhm-submenu-toggle {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 54px !important;
    height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-left: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: transparent !important;
    color: var(--gdhm-accent-color, #073b22) !important;
    cursor: pointer !important;
    z-index: 10 !important;
  }

  .et_mobile_menu .gdhm-submenu-toggle::before {
    content: "+" !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
  }

  .et_mobile_menu li.gdhm-open > .gdhm-submenu-toggle::before {
    content: "–" !important;
  }

  .et_mobile_menu .gdhm-submenu-toggle:hover {
    background: rgba(7, 59, 34, 0.08) !important;
  }

  .et_mobile_menu .menu-item-has-children > a,
  .et_mobile_menu .page_item_has_children > a {
    background: #ffffff !important;
  }
}
