/* Homepage polish — mobile sticky header + overflow (mirrors start-v7-tweaks) */

body.mirl-v7-homepage .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
}

/* Clip horizontal overflow on body only — html overflow breaks sticky/fixed headers */
body.mirl-v7-homepage {
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}

html:has(body.mirl-v7-homepage) {
  overflow-x: visible !important;
}

@media (max-width: 1040px) {
  /*
   * Homepage mockup CSS fights sticky on mobile (html overflow, position:relative).
   * Fixed header + main padding is reliable across iOS/Android mobile browsers.
   */
  body.mirl-v7-homepage .topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 40 !important;
    box-sizing: border-box;
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
  }

  body.admin-bar.mirl-v7-homepage .topbar {
    top: 46px;
  }

  body.mirl-v7-homepage #main-content {
    padding-top: 82px;
    overflow-x: clip;
    max-width: 100%;
  }

  body.admin-bar.mirl-v7-homepage #main-content {
    padding-top: calc(82px + 46px);
  }
}

@media (max-width: 680px) {
  body.mirl-v7-homepage {
    touch-action: pan-y;
    overscroll-behavior-x: none;
  }

  body.mirl-v7-homepage #main-content {
    padding-top: 76px;
  }

  body.admin-bar.mirl-v7-homepage #main-content {
    padding-top: calc(76px + 46px);
  }
}
