/* Remove the theme footer across public pages; preserve Passport navigation. */
body footer:not(.aegis-bottom-nav), body .site-footer, body #colophon, body .elementor-location-footer, body [data-elementor-type="footer"] { display:none !important; }

/* Mobile app shell: only the content panel scrolls; navigation stays in flow. */
@media(max-width:699px) {
 html:has(.aegis-app), body:has(.aegis-app) { overflow:hidden !important; height:100% !important; }
 body:has(.aegis-app) .wp-site-blocks,
 body:has(.aegis-app) main:has(.aegis-app),
 body:has(.aegis-app) .entry-content:has(.aegis-app),
 body:has(.aegis-app) .wp-block-group:has(.aegis-app) {
  transform:none !important; filter:none !important; perspective:none !important; contain:none !important;
 }
 body .aegis-app {
  position:fixed !important; inset:0 !important; z-index:1000; display:flex !important; flex-direction:column;
  width:100% !important; max-width:none !important; height:100vh !important; height:100dvh !important;
  min-height:0 !important; max-height:100dvh; margin:0 !important; border:0; border-radius:0;
  overflow:hidden !important; transform:none !important; contain:none !important;
 }
 .aegis-app > .aegis-global-language, .aegis-app > .aegis-demo-banner, .aegis-app > .aegis-topbar { flex:0 0 auto; }
 .aegis-app .aegis-topbar { position:relative !important; top:auto !important; }
 .aegis-app .aegis-main {
  flex:1 1 0%; min-height:0 !important; overflow-y:auto !important; overflow-x:hidden;
  padding-bottom:20px !important; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain;
 }
 .aegis-app .aegis-bottom-nav {
  position:relative !important; inset:auto !important; transform:none !important; flex:0 0 auto;
  width:100% !important; max-width:none !important; margin:0 !important; box-sizing:border-box !important;
  height:calc(58px + min(34px, env(safe-area-inset-bottom, 0px))) !important;
  padding:5px 5px calc(5px + min(34px, env(safe-area-inset-bottom, 0px))) !important;
  border-radius:0 !important;
 }
}
