/* ── Mobile slide-from-right nav panel ── */
/* DOM path: .et_pb_menu > .et_pb_menu__wrap > .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu */

/* Panel: always in DOM, slides off-screen right when closed.
   Uses 4-class specificity to override Divi's generated !important rules. */
.et_pb_menu .et_mobile_nav_menu .mobile_nav .et_mobile_menu {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: 280px !important;
  max-width: 85vw !important;
  height: 100vh !important;
  background: #0d1117 !important;
  z-index: 99999 !important;
  transform: translateX(105%) !important;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow-y: auto !important;
  padding: 72px 0 40px !important;
  margin: 0 !important;
  box-shadow: -6px 0 30px rgba(0, 0, 0, 0.4) !important;
  display: block !important;
  border-top: none !important;
}

/* Slide in when .mobile_nav gains .opened */
.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .et_mobile_menu {
  transform: translateX(0) !important;
}

/* Dark overlay (injected by JS — real div so it can be clicked to close).
   z-index:3 sits above page content (auto/0) but below Divi's row stacking
   context (z-index:4), so the menu panel renders above the overlay. */
.mep-menu-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 3;
  cursor: pointer;
}

.mep-menu-overlay.active {
  display: block;
}

/* Close button (injected by JS, body-level so it doesn't scroll with panel content) */
.mep-menu-close {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 100000;
  padding: 0;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.mep-menu-close.visible {
  display: flex;
}

.mep-menu-close:hover {
  background: rgba(232, 112, 26, 0.25);
  border-color: #e8701a;
}

.mep-menu-close::before,
.mep-menu-close::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 2px;
  background: #fff;
  border-radius: 1px;
}

.mep-menu-close::before { transform: rotate(45deg); }
.mep-menu-close::after  { transform: rotate(-45deg); }

/* Menu items */
.et_pb_menu .et_mobile_nav_menu .et_mobile_menu li a {
  color: #ffffff !important;
  padding: 15px 28px !important;
  display: block !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: transparent !important;
  text-transform: uppercase !important;
}

.et_pb_menu .et_mobile_nav_menu .et_mobile_menu li a:hover {
  color: #e8701a !important;
  background: rgba(232, 112, 26, 0.08) !important;
}

.et_pb_menu .et_mobile_nav_menu .et_mobile_menu li.current-menu-item > a,
.et_pb_menu .et_mobile_nav_menu .et_mobile_menu li.current_page_item > a {
  color: #e8701a !important;
}

/* ── Header layout: align logo + hamburger side-by-side on mobile ── */
/* Divi renders this row as flex-direction:column on mobile, stacking logo above hamburger.
   Override to row so they sit side-by-side and vertically center. */
@media (max-width: 980px) {
  .mep-mainbar .et_pb_row_2_tb_header {
    flex-direction: row !important;
    align-items: center !important;
  }

  /* Logo column: shrink to content width */
  .et_pb_column_5_tb_header {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  /* Menu/hamburger column: fill remaining space, center the hamburger vertically */
  .et_pb_column_6_tb_header {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    align-items: center !important;
  }
}
