/* Final public landing layout overrides.
   Loaded after all app/scanner/mobile styles so the logged-out page cannot
   be stretched by authenticated-app layout rules. */

body[data-authenticated="false"],
body[data-authenticated="checking"]{
  padding-left:0!important;
}

body[data-authenticated="false"] .shell{
  width:min(760px,calc(100vw - 48px))!important;
  max-width:760px!important;
  margin:0 auto!important;
  padding:28px 0 40px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:
    "brand"
    "auth"
    "features"
    "footer"!important;
  gap:14px!important;
  box-sizing:border-box;
}

body[data-authenticated="checking"] .shell{
  width:min(760px,calc(100vw - 48px))!important;
  max-width:760px!important;
  margin:0 auto!important;
}

body[data-authenticated="false"] .jp-public-brand{
  width:100%!important;
  max-width:760px!important;
  justify-self:center!important;
}

body[data-authenticated="false"] .jp-public-brandcard{
  width:100%!important;
  min-height:0!important;
  padding:22px 26px!important;
  justify-content:flex-start!important;
  gap:20px!important;
  box-sizing:border-box;
}

body[data-authenticated="false"] .jp-public-brandcard .jp-home-brandmark{
  width:82px!important;
  height:82px!important;
}

body[data-authenticated="false"] .jp-public-brandcard .jp-home-brandname{
  font-size:clamp(2rem,5vw,3rem)!important;
}

body[data-authenticated="false"] .jp-public-brandcard .jp-home-tagline{
  font-size:.68rem!important;
}

body[data-authenticated="false"] .jp-public-brandcard .jp-home-brandcopy p{
  margin-top:9px!important;
  font-size:.88rem!important;
}

body[data-authenticated="false"] #loginRequired,
body[data-authenticated="false"] #registrationPanel{
  width:min(680px,100%)!important;
  max-width:680px!important;
  margin:0!important;
  justify-self:center!important;
  box-sizing:border-box!important;
}

body[data-authenticated="false"] .jp-public-landing{
  width:100%!important;
  max-width:760px!important;
  justify-self:center!important;
}

body[data-authenticated="false"] .jp-public-feature-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

body[data-authenticated="false"] .jp-public-feature{
  min-height:92px!important;
  padding:13px 14px!important;
}

@media(max-width:680px){
  body[data-authenticated="false"] .shell{
    width:min(100% - 20px,760px)!important;
    padding:12px 0 28px!important;
    gap:10px!important;
  }

  body[data-authenticated="checking"] .shell{
    width:min(100% - 20px,760px)!important;
  }

  body[data-authenticated="false"] #loginRequired,
  body[data-authenticated="false"] #registrationPanel{
    width:100%!important;
    max-width:none!important;
  }

  body[data-authenticated="false"] .jp-public-brandcard{
    padding:15px 16px!important;
    gap:12px!important;
  }

  body[data-authenticated="false"] .jp-public-brandcard .jp-home-brandmark{
    width:60px!important;
    height:60px!important;
  }

  body[data-authenticated="false"] .jp-public-brandcard .jp-home-brandname{
    font-size:1.75rem!important;
  }

  body[data-authenticated="false"] .jp-public-brandcard .jp-home-tagline{
    font-size:.56rem!important;
    letter-spacing:.13em!important;
  }

  body[data-authenticated="false"] .jp-public-brandcard .jp-home-brandcopy p{
    margin-top:6px!important;
    font-size:.76rem!important;
  }

  body[data-authenticated="false"] .jp-public-feature-grid{
    gap:7px!important;
  }

  body[data-authenticated="false"] .jp-public-feature{
    min-height:82px!important;
    padding:10px!important;
  }
}
