/* Login mobile overrides (<=767px) */

body.login-page {
  background-attachment: scroll;
}

.login-stage {
  align-items: flex-start;
  padding: 14px 10px 24px;
}

.login-shell {
  width: 100%;
  border-radius: 22px;
}

.login-shell-brand {
  padding: 14px 14px 12px;
}

.login-card-panel {
  padding: 18px 14px 16px;
}

.login-card-header h1 {
  font-size: clamp(1.5rem, 7vw, 1.9rem);
  line-height: 1.15;
}

.login-card-header p {
  font-size: 0.98rem;
}

.login-page input,
.login-page textarea,
.login-language-select {
  min-height: 50px !important;
  font-size: 16px !important;
  padding: 11px 14px;
}

.login-links-row a,
.login-register-row,
.login-register-row a {
  font-size: 0.95rem;
}

.login-page .button.login-submit-bar {
  min-height: 52px;
  padding: 12px 16px;
  margin-top: 6px;
  margin-bottom: 16px;
  font-size: 0.92rem;
  letter-spacing: 0.08em;
}

.login-page .yummy-launcher,
.login-page .contact-channels-btn {
  width: 52px;
  height: 52px;
  min-height: 52px;
}

.login-assist-row {
  gap: 12px;
  margin-top: 12px;
}

.login-page .survey-callout {
  font-size: 0.9rem;
  max-width: 170px;
}

.login-shell {
  grid-template-columns: 1fr;
  min-height: auto;
}

.login-shell-brand {
  gap: 18px;
  padding: 18px 16px 14px;
}

.login-brand-card {
  justify-content: center;
}

.login-language-panel {
  max-width: 100%;
}

.login-brand-logo-wrap {
  width: min(100%, 150px);
  padding: 10px 12px;
}

.login-brand-subtitle {
  font-size: 0.8rem;
}

.login-links-row {
  display: flex;
  justify-content: center;
}

.login-assist-row {
  justify-content: space-between;
}

.login-page .survey-callout {
  position: static;
  transform: none;
  margin-bottom: 18px;
  justify-self: flex-start;
}

.form {
  margin: 120px 16px;
  left: 0;
  padding: 26px 22px;
}

.form .logo img,
.logo img {
  width: min(100%, 260px);
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.survey-callout {
  top: -68px;
  right: 0;
  max-width: 150px;
  font-size: 15px;
}

.links-container {
  gap: 10px;
}

.login-submit-row {
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  gap: 10px;
}

.contact-channels-btn,
.yummy-launcher {
  width: 48px;
  height: 48px;
  min-height: 48px;
}

.contact-channels-icon {
  width: 24px;
  height: 24px;
}

.contact-channels-menu {
  min-width: min(84vw, 300px);
}

.login-contact-header,
.login-yummy-header {
  flex-direction: column;
  align-items: flex-start;
}

@media only screen and (max-width: 430px) {
  .login-stage {
    padding: 10px 8px 20px;
  }

  .login-card-panel {
    padding: 16px 12px 14px;
  }

  .login-card-header h1 {
    font-size: clamp(1.38rem, 7.6vw, 1.72rem);
  }

  .login-page input,
  .login-page textarea,
  .login-language-select {
    min-height: 48px !important;
  }

  .login-page .button.login-submit-bar {
    min-height: 50px;
  }
}
