
/* NexGen Hosting — mobile-only compatibility layer.
   Desktop styles are intentionally untouched. */
@media (max-width: 767px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
  img,svg,video,canvas{max-width:100%;height:auto}
  input,select,textarea,button{max-width:100%;font-size:16px}
  .ng-public-header{
    min-height:64px!important;height:64px!important;
    padding:8px 10px!important;gap:8px!important;
    flex-wrap:nowrap!important;align-items:center!important;
    overflow:hidden!important;
  }
  .ng-public-header .ng-brand{
    flex:0 0 auto!important;width:auto!important;max-width:none!important;
    min-width:0!important;overflow:visible!important;
  }
  .ng-public-header .ng-logo-img{
    width:124px!important;height:auto!important;max-width:38vw!important;
    max-height:46px!important;object-fit:contain!important;
  }
  .ng-public-header .ng-nav{
    flex:1 1 auto!important;width:auto!important;min-width:0!important;
    display:flex!important;flex-wrap:nowrap!important;justify-content:flex-end!important;
    align-items:center!important;gap:4px!important;
    overflow-x:auto!important;overflow-y:hidden!important;
    scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
    padding:2px 0!important;
  }
  .ng-public-header .ng-nav::-webkit-scrollbar{display:none!important}
  .ng-public-header .ng-nav>a,
  .ng-public-header .ng-nav>button{
    flex:0 0 auto!important;width:auto!important;min-width:max-content!important;
    min-height:38px!important;padding:8px 10px!important;
    border-radius:9px!important;font-size:11px!important;
    white-space:nowrap!important;
  }
  .ng-public-header .ng-nav>a.app{
    position:static!important;width:auto!important;min-width:max-content!important;
    min-height:38px!important;top:auto!important;right:auto!important;
  }
  

  .ng-wrap{width:min(100% - 24px,1160px)!important}
  .ng-section{padding:44px 0!important}
  .ng-home-hero,.ng-hero{min-height:0!important;padding:54px 0 40px!important}
  .ng-home-grid,.ng-grid,.ng-contact,.ng-manage-grid{grid-template-columns:1fr!important}
  .ng-home-copy{text-align:left!important}
  .ng-home-title,.ng-title{font-size:clamp(36px,11vw,52px)!important;line-height:1.02!important;letter-spacing:-1.8px!important}
  .ng-lead{font-size:15px!important;line-height:1.55!important}
  .ng-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important}
  .ng-actions .ng-btn,.ng-btn{width:100%!important;min-height:46px!important}
  .ng-trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:10px!important;gap:0!important}
  .ng-trust-item{padding:12px 7px!important;border-right:1px solid rgba(45,113,157,.2)!important;border-bottom:1px solid rgba(45,113,157,.2)!important}
  .ng-trust-item:nth-child(2n){border-right:0!important}
  .ng-trust-item:nth-last-child(-n+2){border-bottom:0!important}
  .ng-plans-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important}
  .ng-plan-toggle{align-self:flex-start!important}
  .ng-plan-grid{grid-template-columns:1fr!important}
  .ng-plan{padding:20px!important}
  .ng-holo{position:relative!important;right:auto!important;bottom:auto!important;width:100%!important;margin-top:24px!important}
  .ng-rack{transform:scale(.75)!important;transform-origin:bottom center!important}
  .ng-card{padding:18px!important}
  .ng-login-main{min-height:0!important;padding:22px 10px 34px!important}
  .ng-login-card{width:100%!important;max-width:520px!important;padding:20px 16px!important;margin:0 auto!important}
  .ng-login-card input,.ng-login-card select,.ng-login-card button{min-height:48px!important}
  table{display:block!important;width:100%!important;overflow-x:auto!important;white-space:nowrap!important;-webkit-overflow-scrolling:touch!important}
  .table-responsive{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .row{--bs-gutter-x:1rem}
  .container,.container-fluid{max-width:100%!important}
}
@media (max-width:430px){
  .ng-public-header{padding:8px!important}
  .ng-public-header .ng-logo-img{width:112px!important;max-width:32vw!important}
  .ng-public-header .ng-nav{gap:3px!important}
  .ng-public-header .ng-nav>a,.ng-public-header .ng-nav>button{padding:8px 9px!important;font-size:10px!important}
  
  .ng-title,.ng-home-title{font-size:34px!important}
  .ng-trust-item b{font-size:12px!important}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Mobile public header: logo + controls on first row, 2x2 navigation below.
   Desktop styles remain unchanged. */
@media (max-width: 767px){
  .ng-public-header{
    position:relative!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:150px!important;
    height:auto!important;
    padding:10px 10px 12px!important;
    gap:0!important;
    overflow:visible!important;
  }
  .ng-public-header .ng-brand{
    flex:0 0 52%!important;
    width:52%!important;
    max-width:52%!important;
    height:52px!important;
    display:flex!important;
    align-items:center!important;
    overflow:visible!important;
  }
  .ng-public-header .ng-logo-img{
    width:128px!important;
    max-width:100%!important;
    max-height:48px!important;
    object-fit:contain!important;
  }
  .ng-public-header .ng-nav{
    position:static!important;
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(46px,auto)!important;
    gap:8px!important;
    padding:10px 2px 0!important;
    margin:0!important;
    overflow:visible!important;
    justify-content:stretch!important;
  }
  .ng-public-header .ng-nav>a:not(.app){
    position:static!important;
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:46px!important;
    padding:8px 10px!important;
    margin:0!important;
    font-size:12px!important;
    border-radius:12px!important;
    display:flex!important;
  }
  .ng-public-header .ng-nav>a.app{
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
    height:46px!important;
    min-height:46px!important;
    padding:8px 10px!important;
    margin:0!important;
    z-index:5!important;
    border-radius:12px!important;
    display:flex!important;
    font-size:12px!important;
  }
  
}
@media (max-width:430px){
  .ng-public-header{min-height:146px!important;padding:8px 8px 10px!important}
  .ng-public-header .ng-brand{height:50px!important}
  .ng-public-header .ng-logo-img{width:120px!important;max-width:48vw!important;max-height:46px!important}
  .ng-public-header .ng-nav{gap:7px!important;padding-top:8px!important}
  .ng-public-header .ng-nav>a:not(.app){min-height:44px!important;height:44px!important;font-size:11px!important;border-radius:11px!important}
  .ng-public-header .ng-nav>a.app{top:9px!important;right:8px!important;width:116px!important;min-width:116px!important;max-width:116px!important;height:44px!important;min-height:44px!important;font-size:11px!important}
  
}
