/* v1139L — definitive mobile root fixes.
   Loaded last on public pages to defeat earlier cached/strong mobile rules. */

@media (max-width:700px){
  /* ---------- MOBILE HEADER: protect logo, compact Apply Now ---------- */
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .container.nav,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 72px 46px!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
  }
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand.brand-logo,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand-logo{
    grid-column:1!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
  }
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand.brand-logo img,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand-logo img{
    display:block!important;
    width:100%!important;
    max-width:150px!important;
    min-width:0!important;
    height:auto!important;
    max-height:36px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .mobile-only.btn,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .nav > a.mobile-only{
    grid-column:2!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    min-height:38px!important;
    height:38px!important;
    padding:0 7px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:11.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .vge-mobile-menu-button{
    grid-column:3!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0!important;
    justify-self:end!important;
  }

  /* ---------- PARTNERS: exactly 2 rows, 3 logos per visible screen ---------- */
  html body .home-partners-section .container{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
  }
  html body .home-partners-section .home-partners-grid{
    display:grid!important;
    grid-template-columns:none!important;
    grid-template-rows:repeat(2,96px)!important;
    grid-auto-flow:column!important;
    grid-auto-columns:calc((100% - 20px) / 3)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    height:202px!important;
    min-height:202px!important;
    max-height:202px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scroll-snap-type:x proximity!important;
    padding:0 0 8px!important;
    margin:0!important;
    align-content:start!important;
    align-items:stretch!important;
  }
  html body .home-partners-section .partner-logo-card{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    padding:9px!important;
    margin:0!important;
    border-radius:16px!important;
    scroll-snap-align:start!important;
    box-sizing:border-box!important;
  }
  html body .home-partners-section .partner-logo-viewport{
    width:100%!important;
    height:72px!important;
    max-height:72px!important;
  }
  html body .home-partners-section .partner-logo-viewport img{
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    max-height:72px!important;
    object-fit:contain!important;
  }

  /* ---------- FAST TRACK: remove every artificial mobile bottom spacer ---------- */
  html body.fasttrack-polished-v1136W .fasttrack-registration-form-v1136AI::after,
  html body.fasttrack-polished-v1136W .fasttrack-registration-card-v1136AI::after,
  html body.fasttrack-polished-v1136W .fasttrack-registration-rail-v1136AI::after,
  html body.fasttrack-polished-v1136W .fasttrack-scroll-register-v1136AI::after{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  html body.fasttrack-polished-v1136W .fasttrack-right-rail-v1137G,
  html body.fasttrack-polished-v1136W .fasttrack-registration-rail-v1136AI,
  html body.fasttrack-polished-v1136W .fasttrack-registration-card-v1136AI,
  html body.fasttrack-polished-v1136W .fasttrack-scroll-register-v1136AI,
  html body.fasttrack-polished-v1136W .fasttrack-registration-form-v1136AI{
    position:static!important;
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding-bottom:0!important;
    margin-bottom:0!important;
    overflow:visible!important;
  }
  html body.fasttrack-polished-v1136W .fasttrack-registration-card-v1136AI{
    padding:15px 12px 14px!important;
  }
  html body.fasttrack-polished-v1136W .fasttrack-registration-continue-v1136AI{
    margin-bottom:0!important;
  }

  /* ---------- MOBILE FOOTER: no useless vertical void ---------- */
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) footer.footer,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .footer{
    padding-top:16px!important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
    min-height:0!important;
    height:auto!important;
  }
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) footer.footer::after,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .footer::after{
    margin:10px auto 0!important;
  }
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .vge-footer-bottom-v787GV .vge-footer-bottom-inner-v787GV{
    min-height:0!important;
    padding:10px 0!important;
    gap:6px!important;
  }
}

@media (max-width:420px){
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .container.nav,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .nav{
    grid-template-columns:minmax(0,1fr) 66px 42px!important;
    gap:5px!important;
    padding-left:9px!important;
    padding-right:9px!important;
  }
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand.brand-logo img,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand-logo img{
    max-width:132px!important;
    max-height:32px!important;
  }
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .mobile-only.btn,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .nav > a.mobile-only{
    width:66px!important;
    min-width:66px!important;
    max-width:66px!important;
    height:36px!important;
    min-height:36px!important;
    font-size:10.5px!important;
    padding:0 5px!important;
  }
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .vge-mobile-menu-button{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
  }
}
