/* registration/register.html — page-local deltas on top of auth-shared.css */
.glass-card { max-width: 480px; padding: 2.5rem; }

.step-label {
  font-size: 11px; font-weight: 500;
  color: #7a8499;
  text-transform: uppercase; letter-spacing: 0.06em;
  margin: 0 0 2rem;
}

h1 {
  font-size: 22px; font-weight: 500; color: #1e2a3a;
  margin: 0 0 0.4rem;
}
.subtitle { font-size: 13px; color: #5a6375; margin: 0 0 2.5rem; }

.field { margin-bottom: 1.25rem; }

.error-banner {
  font-size: 12px; color: #dc2626;
  background: rgba(220,38,38,0.06);
  border: 0.5px solid rgba(220,38,38,0.18);
  border-radius: 0.5rem;
  padding: 0.6rem 0.875rem;
  margin-bottom: 1.25rem;
}

.btn-primary { display: block; width: 100%; padding: 12px; margin-top: 2rem; }
.btn-primary:disabled { opacity: 0.75; cursor: not-allowed; }

.spinner {
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid rgba(255,255,255,0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
  vertical-align: middle;
  margin-right: 6px;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Divider */
.divider { margin: 1.5rem 0; }

/* Social buttons */
.btn-social:last-child { margin-bottom: 0; }

/* Footer */
.card-footer {
  text-align: center;
  padding-top: 1.5rem;
  border-top: 0.5px solid rgba(0,0,0,0.08);
  margin-top: 1.5rem;
  font-size: 13px; color: #5a6375;
}
.card-footer a { color: #b07c1a; font-weight: 500; text-decoration: none; margin-left: 4px; }
.card-footer a:hover { color: #ea6c0a; }

/* Honeypot — visually off-screen, not display:none so bots fill it */
.hp-field {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  tab-index: -1;
}

/* reCAPTCHA badge — hide default badge (policy complied with via inline notice) */
.grecaptcha-badge { visibility: hidden !important; }
