/*
 * CromeSky Auth Layout Doctor
 * Purpose: fix the register/login card after blanket text-centering made the form look unbalanced.
 * Scope: only applies when the page body has .ramstrom-register-align or .csky-auth-layout-doctor.
 */

body.ramstrom-register-align,
body.csky-auth-layout-doctor {
  min-height: 100vh;
  overflow-x: hidden;
}

body.ramstrom-register-align .auth-card,
body.ramstrom-register-align .register-card,
body.ramstrom-register-align .signup-card,
body.ramstrom-register-align .account-card,
body.ramstrom-register-align .login-card,
body.ramstrom-register-align .glass-card,
body.ramstrom-register-align > .card,
body.ramstrom-register-align main > .card,
body.csky-auth-layout-doctor .auth-card,
body.csky-auth-layout-doctor .register-card,
body.csky-auth-layout-doctor .signup-card,
body.csky-auth-layout-doctor .account-card,
body.csky-auth-layout-doctor .login-card,
body.csky-auth-layout-doctor .glass-card,
body.csky-auth-layout-doctor > .card,
body.csky-auth-layout-doctor main > .card {
  width: min(430px, calc(100vw - 32px)) !important;
  max-width: 430px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(30px, 4.8vw, 46px) clamp(24px, 4vw, 34px) !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
}

body.ramstrom-register-align img,
body.csky-auth-layout-doctor img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

body.ramstrom-register-align h1,
body.ramstrom-register-align h2,
body.ramstrom-register-align .auth-title,
body.ramstrom-register-align .register-title,
body.ramstrom-register-align .title,
body.csky-auth-layout-doctor h1,
body.csky-auth-layout-doctor h2,
body.csky-auth-layout-doctor .auth-title,
body.csky-auth-layout-doctor .register-title,
body.csky-auth-layout-doctor .title {
  text-align: center !important;
  margin: 28px auto 12px !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance;
}

body.ramstrom-register-align .subtitle,
body.ramstrom-register-align .sub-title,
body.ramstrom-register-align .subheading,
body.ramstrom-register-align .auth-subtitle,
body.ramstrom-register-align .register-subtitle,
body.ramstrom-register-align header p,
body.csky-auth-layout-doctor .subtitle,
body.csky-auth-layout-doctor .sub-title,
body.csky-auth-layout-doctor .subheading,
body.csky-auth-layout-doctor .auth-subtitle,
body.csky-auth-layout-doctor .register-subtitle,
body.csky-auth-layout-doctor header p {
  width: min(320px, 100%) !important;
  margin: 0 auto 18px !important;
  text-align: center !important;
  line-height: 1.28 !important;
  text-wrap: balance;
}

body.ramstrom-register-align form,
body.ramstrom-register-align .auth-form,
body.ramstrom-register-align .register-form,
body.ramstrom-register-align .signup-form,
body.csky-auth-layout-doctor form,
body.csky-auth-layout-doctor .auth-form,
body.csky-auth-layout-doctor .register-form,
body.csky-auth-layout-doctor .signup-form {
  width: min(360px, 100%) !important;
  max-width: 360px !important;
  margin: 16px auto 0 !important;
  padding: 16px 0 0 !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

body.ramstrom-register-align label,
body.ramstrom-register-align .label,
body.ramstrom-register-align .form-label,
body.ramstrom-register-align .field-label,
body.csky-auth-layout-doctor label,
body.csky-auth-layout-doctor .label,
body.csky-auth-layout-doctor .form-label,
body.csky-auth-layout-doctor .field-label {
  display: block !important;
  width: 100% !important;
  margin: 13px 0 7px !important;
  padding-left: 2px !important;
  text-align: left !important;
  line-height: 1.15 !important;
  letter-spacing: 0.035em !important;
  box-sizing: border-box !important;
}

body.ramstrom-register-align input,
body.ramstrom-register-align textarea,
body.ramstrom-register-align select,
body.csky-auth-layout-doctor input,
body.csky-auth-layout-doctor textarea,
body.csky-auth-layout-doctor select {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  margin: 0 auto !important;
  padding: 0 17px !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

body.ramstrom-register-align textarea,
body.csky-auth-layout-doctor textarea {
  min-height: 90px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

body.ramstrom-register-align input::placeholder,
body.ramstrom-register-align textarea::placeholder,
body.csky-auth-layout-doctor input::placeholder,
body.csky-auth-layout-doctor textarea::placeholder {
  text-align: left !important;
}

body.ramstrom-register-align form p,
body.ramstrom-register-align .field-help,
body.ramstrom-register-align .help,
body.ramstrom-register-align .helper,
body.ramstrom-register-align .help-text,
body.ramstrom-register-align .hint,
body.csky-auth-layout-doctor form p,
body.csky-auth-layout-doctor .field-help,
body.csky-auth-layout-doctor .help,
body.csky-auth-layout-doctor .helper,
body.csky-auth-layout-doctor .help-text,
body.csky-auth-layout-doctor .hint {
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 14px !important;
  text-align: left !important;
  line-height: 1.23 !important;
  text-wrap: auto !important;
}

body.ramstrom-register-align button,
body.ramstrom-register-align input[type="submit"],
body.ramstrom-register-align .btn,
body.ramstrom-register-align .button,
body.ramstrom-register-align .cta,
body.ramstrom-register-align .primary-btn,
body.csky-auth-layout-doctor button,
body.csky-auth-layout-doctor input[type="submit"],
body.csky-auth-layout-doctor .btn,
body.csky-auth-layout-doctor .button,
body.csky-auth-layout-doctor .cta,
body.csky-auth-layout-doctor .primary-btn {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  margin: 14px auto 0 !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

body.ramstrom-register-align .auth-footer,
body.ramstrom-register-align .footer,
body.ramstrom-register-align .login-links,
body.ramstrom-register-align .resend-row,
body.ramstrom-register-align main > p:last-child,
body.csky-auth-layout-doctor .auth-footer,
body.csky-auth-layout-doctor .footer,
body.csky-auth-layout-doctor .login-links,
body.csky-auth-layout-doctor .resend-row,
body.csky-auth-layout-doctor main > p:last-child {
  width: min(360px, 100%) !important;
  margin: 17px auto 0 !important;
  text-align: center !important;
  line-height: 1.22 !important;
  text-wrap: balance;
}

@media (max-width: 520px) {
  body.ramstrom-register-align .auth-card,
  body.ramstrom-register-align .register-card,
  body.ramstrom-register-align .signup-card,
  body.ramstrom-register-align .account-card,
  body.ramstrom-register-align .login-card,
  body.ramstrom-register-align .glass-card,
  body.ramstrom-register-align > .card,
  body.ramstrom-register-align main > .card,
  body.csky-auth-layout-doctor .auth-card,
  body.csky-auth-layout-doctor .register-card,
  body.csky-auth-layout-doctor .signup-card,
  body.csky-auth-layout-doctor .account-card,
  body.csky-auth-layout-doctor .login-card,
  body.csky-auth-layout-doctor .glass-card,
  body.csky-auth-layout-doctor > .card,
  body.csky-auth-layout-doctor main > .card {
    width: min(390px, calc(100vw - 22px)) !important;
    padding: 28px 20px !important;
  }

  body.ramstrom-register-align h1,
  body.csky-auth-layout-doctor h1 {
    margin-top: 24px !important;
  }
}
