/* V4.6.8.36.48.1.55.36 - Public Mobile App Viewport & Layout Stability Closure
 * Shared mobile-only stability layer for Market Positions and Public Position Detail.
 * Keeps desktop frozen while hardening narrow phones, landscape and dynamic browser chrome.
 */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body.emwh-public-standalone{
    --emwh-mobile-vh:100dvh;
    --emwh-mobile-gutter:max(10px,env(safe-area-inset-left));
    min-height:var(--emwh-mobile-vh);
    overscroll-behavior-x:none;
  }

  body.emwh-public-standalone .emwh-public-market-page--premium,
  body.emwh-public-standalone .emwh-public-position-detail-page,
  body.emwh-public-standalone .emwh-public-position-detail,
  body.emwh-public-standalone main{
    max-width:100%!important;
    min-width:0!important;
  }

  /* Never allow product/media/content rails to force horizontal scrolling. */
  body.emwh-public-standalone article.emwh-public-position--premium,
  body.emwh-public-standalone .emwh-public-position-main,
  body.emwh-public-standalone .emwh-public-position-context,
  body.emwh-public-standalone .emwh-public-position-actions,
  body.emwh-public-standalone .emwh-public-results-toolbar,
  body.emwh-public-standalone .emwh-public-commercial-request,
  body.emwh-public-standalone .emwh-public-commercial-request-form{
    min-width:0!important;
    max-width:100%!important;
  }
  body.emwh-public-standalone img,
  body.emwh-public-standalone svg{max-width:100%}

  /* Stable appbar/bottom navigation during browser chrome resizing. */
  body.emwh-public-standalone .emwh-public-appbar{
    position:sticky!important;
    top:0!important;
    z-index:95!important;
  }
  body.admin-bar.emwh-public-standalone .emwh-public-appbar{top:46px!important}
  body.emwh-public-standalone .emwh-public-mobile-bottom-nav{
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    max-width:calc(100vw - max(16px,env(safe-area-inset-left) + env(safe-area-inset-right)))!important;
    margin-inline:auto!important;
  }

  /* Filters fit short devices and remain dismissible with the browser UI visible. */
  body.emwh-public-standalone .emwh-public-mobile-filter-panel{
    max-height:min(82dvh,calc(var(--emwh-mobile-vh) - 54px))!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
  }

  /* Keep horizontal chips/tabs scrollable instead of shrinking to illegibility. */
  body.emwh-public-standalone .emwh-public-market-tabs,
  body.emwh-public-standalone .emwh-public-position-chips{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  body.emwh-public-standalone .emwh-public-market-tabs::-webkit-scrollbar,
  body.emwh-public-standalone .emwh-public-position-chips::-webkit-scrollbar{display:none}

  /* Result toolbar and pagination remain tappable on narrow devices. */
  body.emwh-public-standalone .emwh-public-results-toolbar{
    gap:8px!important;
    flex-wrap:wrap!important;
  }
  body.emwh-public-standalone .emwh-public-pagination{
    max-width:100%!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  body.emwh-public-standalone .emwh-public-pagination::-webkit-scrollbar{display:none}
  body.emwh-public-standalone .emwh-public-pagination a,
  body.emwh-public-standalone .emwh-public-pagination span{
    flex:0 0 auto!important;
    min-width:36px!important;
    min-height:36px!important;
  }

  /* Form footer clearance: last interactive element can always scroll above the app tab bar. */
  body.emwh-public-standalone .emwh-public-commercial-request,
  body.emwh-public-standalone .emwh-public-commercial-request-form,
  body.emwh-public-standalone .emwh-public-position-detail-page{
    scroll-margin-bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
  body.emwh-public-standalone .emwh-public-commercial-request-form{
    padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;
  }

  /* Extremely narrow devices: preserve hierarchy, never clip primary actions. */
  @media (max-width:350px){
    body.emwh-public-standalone article.emwh-public-position--premium.has-product-media{
      grid-template-columns:48px minmax(0,1fr)!important;
      column-gap:7px!important;
    }
    body.emwh-public-standalone .emwh-public-position-media{
      width:46px!important;
      min-width:46px!important;
      height:60px!important;
      min-height:60px!important;
    }
    body.emwh-public-standalone .emwh-public-position-main{grid-column:2!important}
    body.emwh-public-standalone .emwh-public-position-actions{
      grid-column:1/3!important;
      grid-template-columns:1fr!important;
    }
    body.emwh-public-standalone .emwh-public-position-detail,
    body.emwh-public-standalone .emwh-public-position-interest{
      width:100%!important;
      min-height:40px!important;
      height:40px!important;
    }
  }
}

/* Landscape phones: maximise working area and avoid oversized overlays. */
@media (max-width:760px) and (orientation:landscape) and (max-height:520px){
  body.emwh-public-standalone .emwh-public-appbar,
  body.emwh-public-standalone .emwh-public-appbar-inner{height:50px!important;min-height:50px!important}
  body.emwh-public-standalone .emwh-public-mobile-filter-toggle{top:56px!important}
  body.emwh-public-standalone .emwh-public-mobile-filter-panel{max-height:88dvh!important}
  body.emwh-public-standalone .emwh-public-mobile-bottom-nav{min-height:56px!important}
  body.emwh-public-standalone .emwh-public-mobile-bottom-nav>a,
  body.emwh-public-standalone .emwh-public-mobile-bottom-nav>button{min-height:44px!important}
  body.emwh-public-standalone .emwh-public-market-page--premium{padding-bottom:74px!important}
}

@media (prefers-reduced-motion:reduce){
  body.emwh-public-standalone{scroll-behavior:auto!important}
}
