/* ===== JD_Boston (Helix3) — Mobile header and stacked menu fix ===== */

/* Make header fixed and top-most on mobile */
@media (max-width: 991px){

  /* Keep the header fixed and tappable */
  #sp-header,
  .sp-megamenu-wrapper,
  .sp-megamenu-parent {
    position: fixed !important;
    top: 0; left: 0; right: 0;
    z-index: 100500 !important;
    pointer-events: auto !important;
    background: #ffffff !important;
  }

  /* Create spacing below the fixed header so content doesn't sit under it */
  body, .body-innerwrapper {
    padding-top: 80px !important;  /* adjust this to match your header height (try 76–84px) */
    transform: none !important;
  }

  /* Prevent top content from overlapping */
  #sp-main-body,
  #sp-page-builder,
  #sp-main-body > *:first-child,
  #sp-page-builder > section.sppb-section:first-child,
  #sp-page-builder .sppb-row:first-child,
  #sp-page-builder .sppb-section:first-child,
  #sp-page-builder .sppb-container:first-child {
    position: relative !important;
    z-index: 0 !important;
    transform: none !important;
    margin-top: 0 !important;
    padding-top: 8px !important;
  }

  /* Typical offenders (iframes, sliders, embeds) */
  iframe,
  .sppb-addon iframe,
  .sppb-addon .sppb-embed-responsive,
  .mod-custom iframe,
  .g-embed, .gmap,
  .sp-slider, .sp-smart-slider, .camera_wrap, .owl-carousel {
    position: relative !important;
    z-index: 0 !important;
    transform: none !important;
  }

  /* Mobile fallback: stack the desktop menu */
  .sp-megamenu-wrapper{ display:block !important; }
  .sp-megamenu-parent{
    display:block !important; visibility:visible !important;
    float:none !important; margin:0 !important; padding:0 !important;
  }
  .sp-megamenu-parent > li{
    display:block !important; width:100% !important; float:none !important;
  }
  .sp-megamenu-parent > li > a{
    display:block !important;
    padding:12px 14px !important;
    border-top:1px solid #eee !important;
    line-height:1.3 !important;
    color:#111 !important;
    background:#fff !important;
  }

  /* Optional: indent dropdown items */
  .sp-megamenu-parent .sp-dropdown{
    position:static !important;
    display:block !important;
    box-shadow:none !important;
    border:none !important;
    padding:0 !important;
  }
  .sp-megamenu-parent .sp-dropdown li > a{
    padding:10px 20px !important;
    border-top:1px solid #f2f2f2 !important;
  }

  /* Hide unused offcanvas elements */
  #offcanvas-toggler, .offcanvas-toggler{ display:none !important; }
  .offcanvas-menu, .offcanvas, .offcanvas-inner{ display:none !important; }

  /* Disable inactive overlays */
  .offcanvas-overlay,
  .offcanvas-backdrop,
  .modal-backdrop {
    pointer-events: none !important;
    opacity: 0 !important;
  }
}

/* Desktop: keep header above content (not fixed) */
@media (min-width: 992px){
  #sp-header { position: sticky; top: 0; z-index: 10010; }
}

/* Ensure wrappers sit below the header */
#sp-page-builder, #sp-main-body {
  position: relative;
  z-index: 0;
}


