/* Shared parent/student sign-in choices. The surrounding layout reuses Zumi's
   existing student sign-in typography, card, inputs, responsive grid and mascot. */
.zumi-unified-login .zumi-student-login-card{
  display:flex;
  flex-direction:column;
  min-height:640px;
  padding-top:30px;
}
/* Keep the parent CTA in the same lower action area as the student submit
   button, instead of leaving all the extra space underneath it. */
.zumi-unified-login .zumi-login-google,
.zumi-unified-login .zumi-login-unavailable{margin-top:auto}
.zumi-login-roles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  padding:6px;
  margin:17px 0 27px;
  background:#f5f0fb;
  border:1px solid #e9dff5;
  border-radius:15px;
}
.zumi-login-role{
  min-width:0;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:44px;
  padding:10px 12px;
  border-radius:11px;
  color:#746583;
  text-align:center;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  transition:background-color .15s,border-color .15s,color .15s;
}
.zumi-login-role.is-active{
  background:white;
  color:#6038aa;
  box-shadow:0 2px 9px #4a248c15;
}
.zumi-login-role:not(.is-active):hover{color:#542d95;background:#eee5fa}
.zumi-login-role:focus-visible,.zumi-login-google:focus-visible{
  outline:3px solid #a68bfa;outline-offset:3px;
}
.zumi-login-google{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:54px;
  padding:12px 15px;
  margin-top:29px;
  border:1px solid #d9d2e7;
  border-radius:13px;
  background:#fff;
  color:#382c4e;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 4px 15px #49316c0c;
  transition:border-color .15s,box-shadow .15s;
}
.zumi-login-google:hover{border-color:#a58acb;box-shadow:0 7px 20px #49316c17}
.zumi-login-google .google-mark{flex:none}
.zumi-login-google span:last-child{font-size:20px;color:#8961d8;line-height:1}
.zumi-login-unavailable{
  margin-top:24px;
  border:1px solid #e1d5f4;
  border-radius:12px;
  padding:13px;
  color:#665476;
  background:#faf6ff;
  font-size:13px;
}
@media(max-width:440px){
  .zumi-unified-login .zumi-student-login-card{min-height:660px}
  .zumi-login-roles{gap:3px;padding:4px}
  .zumi-login-role{font-size:12px;padding:8px 5px;min-height:42px}
}
@media(prefers-reduced-motion:reduce){
  .zumi-login-role,.zumi-login-google{transition:none}
}

/* Match the landing-page Zumi mascot size on the unified sign-in page. */
.zumi-unified-login .zumi-student-login-buddy{
  display:flex;
  justify-content:center;
}
.zumi-unified-login .zumi-student-login-buddy .zumi-hero{
  position:relative;
  inset:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.zumi-unified-login .zumi-student-login-buddy .zumi-hero .zumi-photo{
  width:min(425px,100%);
  height:385px;
  max-width:none;
  filter:drop-shadow(0 18px 20px #7654b52b);
}
.zumi-unified-login .zumi-student-login-buddy .zumi-hero .zumi-svg{width:350px}
.zumi-unified-login .zumi-student-login-buddy .zumi-speech{
  max-width:270px;
  border-radius:22px;
  padding:10px 19px;
  font-size:13px;
  white-space:nowrap;
}
@media(max-width:760px){
  .zumi-unified-login .zumi-student-login-buddy .zumi-hero{gap:2px}
  .zumi-unified-login .zumi-student-login-buddy .zumi-hero .zumi-photo{width:206px;height:193px}
  .zumi-unified-login .zumi-student-login-buddy .zumi-hero .zumi-svg{width:193px}
  .zumi-unified-login .zumi-student-login-buddy .zumi-speech{font-size:12px;padding:7px 13px}
}
@media(max-width:440px){
  .zumi-unified-login .zumi-student-login-buddy .zumi-hero .zumi-photo{width:183px;height:169px}
  .zumi-unified-login .zumi-student-login-buddy .zumi-hero .zumi-svg{width:169px}
}

/* Mirror the homepage glow/orbit artwork, centered directly beneath the intro
   copy. Scope all layout changes to the unified parent/student login. */
.zumi-unified-login .zumi-student-login-intro{text-align:center}
.zumi-unified-login .zumi-student-login-intro>p{margin-inline:auto}
.zumi-unified-login .zumi-student-login-buddy.home-mascot{
  width:100%;
  max-width:460px;
  height:435px;
  margin:22px auto 0;
  display:grid;
  place-items:center;
}
.zumi-unified-login .zumi-student-login-buddy .home-star{pointer-events:none}

@media(max-width:760px){
  /* Unlike the small mobile homepage hero, keep login's glow and rings visible. */
  .zumi-unified-login .zumi-student-login-buddy.home-mascot{
    width:100%;
    max-width:330px;
    height:330px;
    min-height:330px;
    margin:6px auto 0;
  }
  .zumi-unified-login .zumi-student-login-buddy.home-mascot::before,
  .zumi-unified-login .zumi-student-login-buddy.home-mascot .home-orbit{
    display:block!important;
  }
  .zumi-unified-login .zumi-student-login-buddy .home-orbit{
    width:min(78vw,270px);
    height:auto;
    aspect-ratio:1;
  }
  .zumi-unified-login .zumi-student-login-buddy .home-orbit-two{
    width:min(88vw,320px);
  }
  .zumi-unified-login .zumi-student-login-buddy .home-star-one{top:30px;right:15px}
  .zumi-unified-login .zumi-student-login-buddy .home-star-two{bottom:42px;left:18px}
}
@media(max-width:440px){
  .zumi-unified-login .zumi-student-login-buddy.home-mascot{
    height:305px;
    min-height:305px;
  }
}
