/* HRZ Exchange — /login UX (QA Round 2)
 * UX-DEF-001/002: in-page validation + status box.
 * LH-DEF-002: secondary text on the login card must reach WCAG AA (4.5:1).
 */
.hrz-login-status {
  margin: 0 0 .75rem;
  padding: .6rem .8rem;
  border-radius: .5rem;
  font-size: .9rem;
  line-height: 1.5;
  border: 1px solid transparent;
}
.hrz-login-status--red   { background: #fde8e8; color: #7f1d1d; border-color: #f5b5b5; }
.hrz-login-status--green { background: #e6f7ee; color: #14532d; border-color: #9fdcb7; }
.hrz-login-status--blue  { background: #e8f0fe; color: #1e3a8a; border-color: #b7cdfa; }
.hrz-field-error {
  margin: .25rem 0 .5rem;
  font-size: .85rem;
  color: #b91c1c;
}
.for-login .form-control.is-invalid,
.login-content .form-control.is-invalid {
  border-color: #dc2626;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, .15);
}
/* R4 / DEF-LANG-001: language switcher on the unified login page. */
.hrz-login-lang {
  display: flex;
  gap: .4rem;
  justify-content: flex-end;
  margin: 0 0 .75rem;
}
.hrz-login-lang__btn {
  border: 1px solid rgba(148, 163, 184, .45);
  background: transparent;
  color: inherit;
  border-radius: 999px;
  padding: .2rem .7rem;
  font-size: .8rem;
  line-height: 1.6;
  cursor: pointer;
}
.hrz-login-lang__btn:hover { border-color: #2563eb; }
.hrz-login-lang__btn.is-active {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
  font-weight: 600;
}
.hrz-login-lang__btn:focus-visible { outline: 3px solid rgba(56, 189, 248, .9); outline-offset: 2px; }

/* Secondary texts that failed contrast in the audit: subtitle, "or" divider,
   copyright and "Powered by" lines. Dark theme values are set for the dark
   login card the site uses; light fallback stays readable on white. */
.login-content .text-muted,
.login-content .login-divider,
.login-content .social-login-divider,
.page-card .page-card-head .text-muted,
.web-footer, .web-footer a,
.login-content small {
  color: #cbd5e1 !important;           /* ≥ 7:1 on the dark card */
}
@media (prefers-color-scheme: light) {
  .login-content .text-muted,
  .login-content .login-divider,
  .login-content small,
  .web-footer, .web-footer a { color: #475569 !important; }   /* 7.2:1 on white */
}
