/* Mobile menu (≤1199px: Divi switches at 980px; css/site-fixes.css extends the hamburger to 1199px).
   Enhances the menu Divi clones into .mobile_nav as ul.et_mobile_menu;
   js/mobile-menu.js adds the submenu toggles and open/closed state. */
@media (max-width: 1199px) {
  /* Anchor the panel to the header module, then stretch it to the viewport
     (the module is centred but narrower than the screen). */
  .et_pb_fullwidth_menu_0_tb_header.et_pb_fullwidth_menu { position: relative; }
  .et_pb_fullwidth_menu_0_tb_header .et_pb_row,
  .et_pb_fullwidth_menu_0_tb_header .et_pb_menu__wrap,
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_nav_menu,
  .et_pb_fullwidth_menu_0_tb_header .mobile_nav { position: static; }

  .et_pb_fullwidth_menu_0_tb_header .mobile_nav .mobile_menu_bar {
    display: block;
    cursor: pointer;
    min-width: 48px;
    min-height: 48px;
    text-align: center;
    line-height: 48px;
  }
  .et_pb_fullwidth_menu_0_tb_header .mobile_nav .mobile_menu_bar:before {
    top: 0;
    position: relative;
  }
  /* Hamburger becomes a close icon while open (ETmodules "M" = close). */
  .et_pb_fullwidth_menu_0_tb_header .mobile_nav.opened .mobile_menu_bar:before { content: "\4d"; }

  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu {
    position: absolute;
    top: 100%;
    left: 50%;
    right: auto;
    width: 100vw;
    margin: 0 0 0 -50vw;
    padding: 0;
    box-sizing: border-box;
    border-top: 3px solid #ffde59;
    max-height: calc(100vh - 100px);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
    z-index: 9999;
  }

  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu li {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    float: none;
  }
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu li a {
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 12px 20px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 500;
    background-color: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    white-space: normal;
    word-break: break-word;
  }
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu li a:hover {
    background-color: rgba(255, 255, 255, 0.06);
    opacity: 1;
  }

  /* Parent rows: room for the chevron button on the right. */
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu .menu-item-has-children > a {
    padding-right: 68px;
    font-weight: 500;
    background-color: transparent;
  }
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu .mm-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 56px;
    height: 52px;
    margin: 0;
    padding: 0;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    background: transparent;
    color: #ffde59;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
  }
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu .mm-toggle svg {
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
  }
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu .mm-toggle:focus-visible {
    outline: 2px solid #ffde59;
    outline-offset: -4px;
  }

  /* Submenus collapsed until their parent is opened; they sit in the flow,
     so opening one pushes the items below it down. */
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu li.menu-item-has-children > ul.sub-menu {
    display: none !important;
    position: static;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background-color: rgba(0, 0, 0, 0.18) !important;
  }
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu li.menu-item-has-children.mm-open > ul.sub-menu {
    display: block !important;
  }
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu li.mm-open > a {
    background-color: rgba(255, 255, 255, 0.06);
    color: #ffffff !important;
  }
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu li.mm-open > .mm-toggle svg {
    transform: rotate(180deg);
  }
  .et_pb_fullwidth_menu_0_tb_header .et_mobile_menu ul.sub-menu li a {
    padding-left: 40px;
    font-size: 15px;
    min-height: 48px;
  }
}
