/* ===== Mobile drawer: fixed panel that scrolls; lock page behind ===== */
.mobile_nav.opened .et_mobile_menu{
  position: fixed;
  top: var(--mobile-menu-top, 72px); /* set precisely via JS */
  left: 0; right: 0; bottom: 0;
  height: auto !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  z-index: 999999;
  background: #fff;
}

/* Lock the page behind the open drawer */
body.menu-locked{
  position: fixed;
  width: 100%;
  overflow: hidden;
  inset: 0 auto auto 0; /* avoids jump on iOS */
}

/* ===== Change Divi hamburger menu to X icon ===== */
.mobile_menu_bar:before {
  content: "\61"; /* default hamburger */
  font-family: ETmodules; /* Divi icon font */
}

.mobile_nav.opened .mobile_menu_bar:before {
  content: "\4d"; /* X icon */
  font-family: ETmodules;
}

/* ===== Mobile submenu behavior (Default Header & Theme Builder) ===== */
@media (max-width: 980px){
  /* closed by default (force) */
  .et_mobile_menu .sub-menu,
  .et_pb_menu .et_mobile_menu .sub-menu{
    display: none !important;
  }

  /* show when parent has .is-open */
  .et_mobile_menu li.is-open > .sub-menu,
  .et_pb_menu .et_mobile_menu li.is-open > .sub-menu{
    display: block !important;
  }

  /* caret on parents */
  .et_mobile_menu li.menu-item-has-children > a,
  .et_pb_menu .et_mobile_menu li.menu-item-has-children > a{
    position: relative;
    padding-right: 36px; /* room for caret */
  }

  .et_mobile_menu li.menu-item-has-children > a::after,
  .et_pb_menu .et_mobile_menu li.menu-item-has-children > a::after{
    content: "\33";               /* ETmodules chevron-down */
    font-family: "ETmodules";
    position: absolute;
    right: 12px; top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transition: transform .2s ease;
    line-height: 1; font-size: 18px;
  }

  /* rotate caret when open */
  .et_mobile_menu li.is-open > a::after,
  .et_pb_menu .et_mobile_menu li.is-open > a::after{
    transform: translateY(-50%) rotate(180deg);
  }
}