/* Fix mobile menu behaviors and sizing */
@media screen and (max-width: 1024px) {
  /* Fix stuck open or oversized mobile navigation menus */
  .elementor-nav-menu--dropdown {
    max-height: 80vh !important;
    overflow-y: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
    z-index: 99999 !important;
  }

  .elementor-nav-menu--dropdown.elementor-nav-menu--open {
    display: block !important;
  }

  .elementor-nav-menu--dropdown:not(.elementor-nav-menu--open) {
    display: none !important;
  }

  /* Make menu links clean and correctly proportioned */
  .elementor-nav-menu--dropdown a {
    font-size: 16px !important;
    padding: 12px 20px !important;
    word-break: break-word !important;
  }

  /* Prevent page overflowing on mobile and constrain elements */
  html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .elementor-section, .elementor-container, .elementor-column, .elementor-widget-wrap {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Auto scale images and heavy headings on mobile */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  h1 {
    font-size: clamp(24px, 6vw, 36px) !important;
    line-height: 1.2 !important;
  }

  h2 {
    font-size: clamp(20px, 5vw, 28px) !important;
    line-height: 1.2 !important;
  }
}
