/* Team registration page. Extends styles.css (.reg-*) + hub.css. */

.reg-page .hub-hero { padding-bottom: var(--s-6); }

.reg-facts { display: flex; flex-wrap: wrap; gap: var(--s-3); margin-top: var(--s-5); }
.reg-fact {
  display: grid; gap: 2px;
  padding: var(--s-3) var(--s-4);
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg);
  min-width: 140px;
}
.reg-fact__k { font-size: 0.65rem; letter-spacing: .16em; text-transform: uppercase; color: var(--fg-subtle); }
.reg-fact__v { font-family: var(--font-mono); font-weight: 700; color: var(--fg); }
.reg-fact__v.is-accent { color: var(--accent); }

.reg-notes {
  background: var(--accent-soft); border-left: 3px solid var(--accent);
  padding: var(--s-3) var(--s-4); border-radius: var(--radius);
  color: var(--fg); white-space: pre-wrap;
}

.reg-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.reg-field.is-invalid input, .reg-field.is-invalid select, .reg-field.is-invalid textarea { border-color: #E63946; }
.reg-field .reg-field__err { color: #ff8a93; font-size: var(--fs-xs); letter-spacing: 0; text-transform: none; font-weight: 500; }

.reg-error {
  background: rgba(230,57,70,.12); border-left: 3px solid #E63946;
  padding: var(--s-3) var(--s-4); border-radius: var(--radius); color: #ffb3b9;
}

.reg-pay-preview { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-4); padding: var(--s-4); background: var(--bg-card); border: 1px dashed var(--border-strong); border-radius: var(--radius-lg); }
.reg-pay-preview .fee { font-family: var(--font-display); font-size: var(--fs-2xl); color: var(--accent); letter-spacing: .04em; }
.reg-pay-preview .fee small { font-family: var(--font-sans); font-size: var(--fs-xs); color: var(--fg-subtle); letter-spacing: .1em; text-transform: uppercase; margin-left: var(--s-2); }
.reg-pay-preview p { color: var(--fg-muted); font-size: var(--fs-sm); margin: 0; flex: 1 1 260px; }

.reg-success { max-width: 880px; }
.reg-ref { font-family: var(--font-mono); color: var(--accent); letter-spacing: .08em; }
.reg-pay { margin: var(--s-5) 0; display: grid; gap: var(--s-3); padding: var(--s-5); background: var(--ace-black); border: 1px solid var(--border-strong); border-radius: var(--radius-lg); }
.reg-pay h3 { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .06em; color: var(--accent); margin: 0; }
.reg-pay p { color: var(--fg-muted); margin: 0; }
.reg-pay .btn { justify-self: start; }
.reg-success__links { display: flex; gap: var(--s-4); flex-wrap: wrap; align-items: center; }

@media (max-width: 640px) {
  .reg-form { padding: var(--s-5); }
  .reg-actions .btn { width: 100%; justify-content: center; }
}
