/* Soft surfaces for the shared login / registration gate. */
.ecm-auth-body.ecm-auth-soft {
  color: #29374d;
  background: radial-gradient(ellipse at 8% 20%, #eaf1fb 0, transparent 48%),
    radial-gradient(ellipse at 95% 85%, #eeedf8 0, transparent 45%), #f8f9fc;
}
.ecm-auth-soft .ecm-auth-gate {
  --auth-ink: #29374d;
  --auth-muted: #68758a;
  --auth-line: #e3e8f0;
  --auth-primary: #4c70ba;
  --auth-primary-deep: #3b5fa7;
  --auth-shadow: 0 16px 55px rgba(54, 76, 115, .07);
}
.ecm-auth-soft .ecm-auth-gate::before,
.ecm-auth-soft .ecm-auth-gate::after { display: none; }
.ecm-auth-soft .ecm-auth-brand-wordmark strong { color: #29374d; }
.ecm-auth-soft .ecm-auth-brand-wordmark small { color: #68758a; font-weight: 500; }
.ecm-auth-soft .ecm-auth-brand-symbol { filter: none; }
.ecm-auth-soft .ecm-auth-desktop-nav nav a { color: #617086; font-weight: 500; }
.ecm-auth-soft .ecm-auth-desktop-nav nav a:hover { color: #3b5fa7; }
.ecm-auth-soft .ecm-auth-lang,
.ecm-auth-soft .ecm-auth-nav-login {
  color: #496391;
  background: rgba(255,255,255,.65);
  border: 1px solid #dfe6f1;
  box-shadow: none;
}
.ecm-auth-soft .ecm-auth-nav-login:hover { background: #edf2fb; }
.ecm-auth-soft .ecm-auth-desktop-title {
  color: #29374d;
  font-family: var(--ecm-font-display);
  font-weight: 600;
  line-height: 1.12 !important;
  letter-spacing: -.05em !important;
}
.ecm-auth-soft .ecm-auth-desktop-title span:last-child {
  color: #6886ba;
  background: none;
  -webkit-text-fill-color: currentColor;
}
.ecm-auth-soft .ecm-auth-desktop-copy p { color: #68758a; font-weight: 400; }
.ecm-auth-soft .ecm-auth-desktop-features { gap: 12px; }
.ecm-auth-soft .ecm-auth-desktop-features article {
  padding: 12px 14px;
  border-color: rgba(219,227,240,.7);
  background: rgba(255,255,255,.48);
}
.ecm-auth-soft .ecm-auth-desktop-features article > span {
  color: #5978aa;
  background: #e8eef8;
  border: 0;
  box-shadow: none;
}
.ecm-auth-soft .ecm-auth-desktop-features article:nth-child(2) > span {
  color: #508375; background: #e8f2ee;
}
.ecm-auth-soft .ecm-auth-desktop-features article:nth-child(3) > span {
  color: #8774ab; background: #f0ebf7;
}
.ecm-auth-soft .ecm-auth-desktop-features strong { color: #38485f; font-weight: 600; }
.ecm-auth-soft .ecm-auth-desktop-features small { color: #68758a; font-weight: 400; }
.ecm-auth-soft .ecm-auth-trust-card {
  color: #657389;
  background: transparent;
  border-color: #e0e7f1;
  box-shadow: none;
}
.ecm-auth-soft .ecm-auth-trust-card > i { color: #ae8a50; }
.ecm-auth-soft .ecm-auth-trust-card strong { color: #465771; }
.ecm-auth-soft .ecm-auth-trust-card span { color: #68758a; font-weight: 400; }
.ecm-auth-soft .ecm-auth-trust-avatars b,
.ecm-auth-soft .ecm-auth-trust-avatars em {
  color: #526a92; background: #e4eaf5; border-color: #f8f9fc;
}
.ecm-auth-soft .ecm-auth-phone--login,
.ecm-auth-soft .ecm-auth-phone--register {
  background: #fff;
  border-color: #e6eaf2;
  box-shadow: 0 20px 65px rgba(54,76,115,.07), 0 2px 6px rgba(54,76,115,.025);
  backdrop-filter: none;
}
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-sheet { background: #fff; }
.ecm-auth-soft .ecm-auth-login-head h1,
.ecm-auth-soft .ecm-auth-register-top h1 {
  color: #29374d;
  font-family: var(--ecm-font-display);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.25;
}
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-login-head p,
.ecm-auth-soft .ecm-auth-register-top p { color: #68758a; font-weight: 400; }
.ecm-auth-soft .ecm-auth-card-badge {
  color: #6683b3; background: #eef3fa; border: 1px solid #e5ecf6; box-shadow: none;
}
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-segment {
  padding: 4px; gap: 4px; border: 0; background: #f1f4f9; box-shadow: none;
}
.ecm-auth-soft .ecm-auth-segment button { color: #68758a; font-weight: 500; }
.ecm-auth-soft .ecm-auth-segment button.is-active {
  color: #3f6099; background: #fff; box-shadow: 0 2px 7px rgba(54,76,115,.07);
}
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-field input {
  color: #29374d; background: #f9fafc; border-color: #e2e7ef; font-weight: 400;
}
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-field input::placeholder {
  color: #748095; font-weight: 400;
}
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-field > i,
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-eye { color: #7a8ba5; }
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-field input:focus {
  background: #fff; border-color: #809bcb; box-shadow: 0 0 0 4px rgba(100,132,187,.1);
}
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-field input.is-invalid { border-color: #ce6874; }
.ecm-auth-soft .ecm-auth-remember { color: #68758a; font-weight: 400; }
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-login-tools a { color: #496ca9; }
.ecm-auth-soft .ecm-auth-phone .ecm-auth-submit {
  background: #5275b8; color: #fff; font-weight: 600;
  box-shadow: 0 6px 16px rgba(70,103,165,.16);
  transition: background .2s ease, box-shadow .2s ease;
}
.ecm-auth-soft .ecm-auth-phone .ecm-auth-submit:hover {
  background: #4467aa; box-shadow: 0 8px 20px rgba(70,103,165,.2); transform: none;
}
.ecm-auth-soft .ecm-auth-divider { color: #748095; }
.ecm-auth-soft .ecm-auth-divider::before,
.ecm-auth-soft .ecm-auth-divider::after { background: #e7ebf2; }
.ecm-auth-soft .ecm-auth-social-btn {
  color: #526078; border-color: #e2e7ef; background: #fff; font-weight: 500; box-shadow: none;
}
.ecm-auth-soft .ecm-auth-social-btn:hover { color: #3f6099; background: #f5f7fb; border-color: #cbd7e9; }
.ecm-auth-soft .ecm-auth-phone--login .ecm-auth-secure-note {
  color: #68758a; border-color: #edf0f5; flex-wrap: wrap;
}
.ecm-auth-soft .ecm-auth-secure-note i { color: #719789; }
.ecm-auth-soft .ecm-auth-secure-note strong,
.ecm-auth-soft .ecm-auth-secure-note span { color: #68758a; font-weight: 400; }
.ecm-auth-soft a:focus-visible,
.ecm-auth-soft button:focus-visible { outline: 2px solid #6587bf; outline-offset: 4px; }
@media (min-width: 901px) {
  .ecm-auth-soft .ecm-auth-gate:not([data-ecm-auth-active="recovery"]) {
    height: auto; min-height: 100svh; grid-template-rows: 54px minmax(620px, 1fr);
    row-gap: 28px;
  }
  .ecm-auth-soft .ecm-auth-phone--login .ecm-auth-sheet { padding: 32px 36px 28px; }
  .ecm-auth-soft .ecm-auth-phone--login .ecm-auth-form { gap: 16px; }
  .ecm-auth-soft .ecm-auth-phone--login .ecm-auth-segment { margin: 24px 0 22px; }
}
@media (max-width: 900px) {
  .ecm-auth-soft .ecm-auth-gate:not([data-ecm-auth-active="recovery"]) { background: #f4f7fc; }
  .ecm-auth-soft .ecm-auth-phone--login .ecm-auth-login-hero { background: #eef3fa; }
  .ecm-auth-soft .ecm-auth-phone--login .ecm-auth-skyline { opacity: .2; }
  .ecm-auth-soft .ecm-auth-phone--login .ecm-auth-sheet { box-shadow: 0 -8px 28px rgba(54,76,115,.04); }
  .ecm-auth-soft .ecm-auth-phone--login .ecm-auth-field input { font-size: 16px; }
  .ecm-auth-soft .ecm-auth-phone--login .ecm-auth-login-tools { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .ecm-auth-soft .ecm-auth-phone { transition: none !important; }
}
