/* ===== PAGE HEADER ===== */
.reg-header {
  padding: 110px 24px 48px;
  text-align: center;
}
.reg-header h1 {
  font-family: var(--font-head);
  font-size: 3.75rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1;
  margin-bottom: 12px;
}
.reg-header h1 em { font-style: normal; color: var(--purple-l); }
.reg-header p {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  color: var(--muted);
  letter-spacing: 0.08em;
  margin-bottom: 0;
}

/* ===== CARD ===== */
.reg-section { padding: 0 24px 100px; }
.reg-card {
  position: relative;
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: 4px;
  padding: 40px;
  max-width: 660px;
  margin: 0 auto;
}
.reg-card::before {
  content: '';
  position: absolute;
  top: -1px; left: -1px;
  width: 18px; height: 18px;
  border-top: 2px solid var(--purple-l);
  border-left: 2px solid var(--purple-l);
}
.reg-card::after {
  content: '';
  position: absolute;
  bottom: -1px; right: -1px;
  width: 18px; height: 18px;
  border-bottom: 2px solid var(--purple-l);
  border-right: 2px solid var(--purple-l);
}

/* ===== CLOSED STATE ===== */
.reg-closed {
  text-align: center;
  padding: 48px 20px;
}
.reg-closed-icon { color: var(--muted); display: flex; justify-content: center; margin-bottom: 18px; }
.reg-closed h2 {
  font-family: var(--font-head);
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}
.reg-closed p { font-family: var(--font-mono); font-size: 0.78rem; color: rgba(122,110,153,0.5); margin-bottom: 0; }

/* ===== FORM SECTIONS ===== */
.form-section-label {
  font-family: var(--font-head);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--purple-l);
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 20px;
  margin-top: 32px;
}
.form-section-label:first-child { margin-top: 0; }

/* ===== FORM GROUPS ===== */
.form-group { margin-bottom: 18px; }
.form-group:last-child { margin-bottom: 0; }
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.form-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 7px;
}
.form-input {
  width: 100%;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 10px 14px;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  color: var(--text);
  outline: none;
  transition: border-color 0.2s;
}
.form-input:focus { border-color: var(--purple); }
.form-input::placeholder { color: var(--muted); opacity: 0.45; }
.form-input.is-error { border-color: rgba(200,50,50,0.6); }

/* ===== CAPTCHA ===== */
.captcha-row {
  display: flex;
  align-items: center;
  gap: 14px;
}
.captcha-question {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--purple-l);
  white-space: nowrap;
  flex-shrink: 0;
}
.captcha-row .form-input { max-width: 90px; }

/* Honeypot — hidden */
.hp-field { display: none !important; }

/* ===== ERRORS ===== */
.form-errors {
  background: rgba(200,50,50,0.07);
  border: 1px solid rgba(200,50,50,0.28);
  border-radius: 3px;
  padding: 14px 18px;
  margin-bottom: 28px;
}
.form-errors li {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: #e07070;
  margin-bottom: 4px;
  list-style: none;
  padding-left: 14px;
  position: relative;
}
.form-errors li::before { content: '//'; position: absolute; left: 0; color: #c03030; font-weight: 700; }
.form-errors li:last-child { margin-bottom: 0; }

/* ===== SUCCESS ===== */
.form-success {
  text-align: center;
  padding: 20px 0;
}
.form-success-icon {
  color: #5dd879;
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}
.form-success h3 {
  font-family: var(--font-head);
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 10px;
}
.form-success p { font-family: var(--font-mono); font-size: 0.82rem; color: var(--muted); margin-bottom: 0; }

/* ===== SUBMIT ===== */
.reg-submit-wrap { margin-top: 32px; }
.reg-submit {
  display: block;
  width: 100%;
  background: var(--purple);
  color: #fff;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 15px;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  transition: background 0.2s;
}
.reg-submit:hover { background: var(--purple-l); }

/* ===== DUO COUNT ===== */
.reg-count {
  text-align: center;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--muted);
  letter-spacing: 0.1em;
  margin-top: 18px;
}
.reg-count strong { color: var(--purple-l); }

/* ===== RESPONSIVE ===== */
@media (max-width: 580px) {
  .form-row { grid-template-columns: 1fr; }
  .reg-card { padding: 28px 20px; }
  .reg-header h1 { font-size: 3rem; }
}
