/* === THP public auth brightness pass (scoped) ===
   Scope to body.auth so it won’t affect other pages.
   Add body class="auth" on each login/join page.
*/

/* Page & containers */
body.auth,
body.auth .container,
body.auth .container-fluid {
  background: #0e0f12 !important;
  color: #e8edf3 !important;
}

/* Card shells */
body.auth .card,
body.auth .card > .card-body {
  background: #171a1f !important;
  color: #e8edf3 !important;
  border-color: #2a2f37 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
}
body.auth .card-header {
  background: #1b2027 !important;
  color: #e8edf3 !important;
  border-bottom-color: #2a2f37 !important;
}

/* Headings & helper text above forms */
body.auth h1, body.auth h2, body.auth h3,
body.auth .lead, body.auth .subtitle,
body.auth p, body.auth li {
  color: #f3f6fb !important;
}
body.auth .text-muted,
body.auth small, body.auth .small {
  color: #e5e7eb !important;  /* brighter */
  opacity: 1 !important;      /* cancel Bootstrap dimming */
}

/* Links */
body.auth a { color: #cde9ff !important; }
body.auth a:hover { color: #e6f3ff !important; }

/* Forms */
body.auth .form-label { color: #e8edf3 !important; }
body.auth .form-text { color: #e5e7eb !important; }
body.auth .form-control,
body.auth .form-select {
  background: #111418 !important;
  color: #e8edf3 !important;
  border-color: #2a2f37 !important;
}
body.auth .form-control::placeholder { color: #cbd5e1 !important; opacity: 1; }

/* Floating labels: make label visible on dark bg */
body.auth .form-floating > label {
  color: #cbd5e1 !important;
  opacity: 1 !important;
}
body.auth .form-floating > .form-control:focus ~ label,
body.auth .form-floating > .form-control:not(:placeholder-shown) ~ label {
  color: #9fb7cf !important;
}

/* Input groups / checkboxes */
body.auth .input-group-text {
  background: #111418 !important;
  color: #e8edf3 !important;
  border-color: #2a2f37 !important;
}
body.auth .form-check-label { color: #e8edf3 !important; }
body.auth .form-check-input {
  background-color: #0e0f12 !important;
  border-color: #3a4150 !important;
}
body.auth .form-check-input:checked {
  background-color: #2563eb !important;
  border-color: #2563eb !important;
}

/* Buttons */
body.auth .btn-primary {
  background: #2563eb !important;
  border-color: #2563eb !important;
}
body.auth .btn-outline-light {
  color: #e8edf3 !important;
  border-color: #e8edf3 !important;
}

/* Alerts / validation */
body.auth .alert { background: #101319 !important; color: #e8edf3 !important; border-color: #2a2f37 !important; }
body.auth .invalid-feedback, body.auth .is-invalid ~ .invalid-feedback { color: #fca5a5 !important; }
body.auth .is-invalid.form-control { border-color: #f87171 !important; }
body.auth .is-valid.form-control { border-color: #34d399 !important; }

/* Footer note on cards (e.g., “By continuing you agree…”) */
body.auth .card .card-footer,
body.auth .card .disclaimer {
  background: #14161a !important;
  color: #e5e7eb !important;
  border-top-color: #2a2f37 !important;
}

/* Ensure any stray .bg-white/.text-dark from markup don’t clash */
body.auth .bg-white { background: #171a1f !important; }
body.auth .text-dark { color: #e8edf3 !important; }

/* Make form row dividers subtle but visible */
body.auth .hr, body.auth hr { border-top: 1px solid #2a2f37 !important; opacity: 1 !important; }

/* Logo zone (if present above the card) */
body.auth .brand-lockup img { max-height: 44px; display:block; }
body.auth .brand-lockup { color:#e8edf3; }
