/* Application-page layout. Deliberately not loaded by pricing, login or other pages. */
.membership-form-page .auth-onboarding-shell { min-height: 0; }
.membership-form-page .auth-onboarding-layout {
  grid-template-columns: minmax(0, .4fr) minmax(0, .6fr);
}
.membership-form-page .auth-onboarding-brand { align-items: flex-start; padding: 2.5rem 1.5rem; }
.membership-form-page .auth-onboarding-brand__stack { max-width: 30rem; }
.membership-form-page .auth-onboarding-brand__title,
.membership-form-page .auth-onboarding-card__title {
  font-family: "Lora", Georgia, serif;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.15;
}
.membership-form-page .auth-onboarding-card__title { max-width: none; font-size: 2rem; }
.membership-form-page .auth-onboarding-brand__kicker { letter-spacing: .04em; font-size: .875rem; }
.membership-form-page .auth-onboarding-form-pane {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  align-items: start;
  gap: 1rem;
  min-width: 0;
  padding: 1.5rem;
}
.membership-form-page .auth-onboarding-card {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  padding: 1.5rem;
  border-radius: 1rem;
  box-shadow: 0 6px 24px rgb(7 29 52 / 5%);
}
.membership-form-page .membership-form { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.membership-form-page .auth-onboarding-selected-plan--desktop {
  display: block;
  grid-column: 1;
  grid-row: 2;
  position: static;
  min-width: 0;
  background: #f5f9fc;
}
.membership-form-page .auth-onboarding-selected-plan-mobile { display: none; }
.membership-form-page .auth-onboarding-selected-plan__head { flex-wrap: wrap; gap: .5rem; }
.membership-form-page .auth-onboarding-selected-plan__change { display: inline-flex; align-items: center; min-height: 44px; }
.membership-form-page .auth-onboarding-field { min-width: 0; gap: .5rem; margin-bottom: 1rem; }
.membership-form-page .auth-onboarding-field :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]), select) {
  min-width: 0; min-height: 48px; font-family: var(--font-sans); font-size: 1rem;
}
.membership-form-page .auth-onboarding-stepper { margin-block: .75rem 1rem; }
.membership-form-page .membership-application-choice { gap: .5rem; }
.membership-form-page #id_application_type { padding: 0; border: 0; background: transparent; box-shadow: none; min-height: 0; }
.membership-form-page .membership-application-choice .auth-onboarding-field:first-child > div label {
  min-height: 48px;
  padding: .6rem .75rem;
  gap: .65rem;
  border-radius: .65rem;
  font-size: .9rem;
  line-height: 1.4;
  font-weight: 600;
  background: #fafcfe;
}
.membership-form-page .membership-application-choice input[type=radio] {
  appearance: auto;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  padding: 0;
  margin: 0;
  accent-color: #075f98;
  box-shadow: none;
}
.membership-form-page .membership-application-choice label:has(input:checked) { border-color: #087ab8; background: #edf7fc; color: #064b76; }
.membership-form-page .membership-application-choice label:has(input:focus-visible) { outline: 2px solid #075f98; outline-offset: 3px; }
.membership-form-page .membership-application-choice input[type=radio]:focus-visible { outline: none; box-shadow: none; }
.membership-form-page .membership-application-choice__help,
.membership-form-page .field-help { margin: .5rem 0 1rem; font-size: .875rem; line-height: 1.6; color: #506176; }
.membership-form-page .auth-onboarding-actions { justify-content: flex-end; margin-top: 1.25rem; }
.membership-form-page .auth-onboarding-actions .button { min-height: 48px; min-width: 9rem; border-radius: .65rem; box-shadow: none; font-family: var(--font-sans); }
.membership-form-page .language-list { display: flex; gap: .25rem; padding: .25rem; border: 1px solid #d5e2ec; border-radius: 999px; background: #f5f9fc; }
.membership-form-page .language-list :is(a, span[aria-current]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: .5rem .65rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .875rem;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  color: #40566f;
  text-decoration: none;
}
.membership-form-page .language-list span[aria-current] { color: #fff; background: #075f98; border-color: #075f98; }
.membership-form-page .language-list a:hover { background: #e2f0f8; color: #064b76; }
.membership-form-page .language-list a:focus-visible { outline: 2px solid #075f98; outline-offset: 2px; }
.membership-form-page .header-actions { align-items: center; flex-wrap: nowrap; gap: .75rem; }
.membership-form-page .search-summary,
.membership-form-page .mobile-quick-action { min-width: 44px; min-height: 44px; font-size: .875rem; }
@media (min-width: 900px) {
  .membership-form-page .auth-onboarding-form-pane--with-plan {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, .9fr);
  }
  .membership-form-page .auth-onboarding-selected-plan--desktop { grid-column: 2; grid-row: 1; }
  .membership-form-page .membership-application-fee { grid-template-columns: minmax(0, 1fr); }
  .membership-form-page .auth-onboarding-selected-plan__head { align-items: flex-start; }
  .membership-form-page .auth-onboarding-card__title { font-size: 1.75rem; }
}
@media (max-width: 1199px) {
  .membership-form-page .auth-onboarding-layout { grid-template-columns: minmax(0, 1fr); }
  .membership-form-page .auth-onboarding-brand { padding: 1.5rem; min-height: 0; }
  .membership-form-page .auth-onboarding-brand__stack { max-width: 42rem; gap: .6rem; }
  .membership-form-page .auth-onboarding-brand__logo { width: 7rem; }
  .membership-form-page .auth-onboarding-form-pane { width: min(100%, 1100px); margin-inline: auto; padding: 1.5rem; }
}
@media (max-width: 640px) {
  .membership-form-page .auth-onboarding-form-pane { padding: 1rem; }
  .membership-form-page .auth-onboarding-card { padding: 1.25rem; }
  .membership-form-page .auth-onboarding-brand__title { font-size: 1.5rem; }
  .membership-form-page .auth-onboarding-brand__support { font-size: .875rem; }
  .membership-form-page .auth-onboarding-card__title { font-size: 1.75rem; }
  .membership-form-page .auth-onboarding-actions .button { flex: 1; }
  .membership-form-page .membership-application-fee { grid-template-columns: minmax(0, 1fr); }
}
