/* request-access.css — public access-request form page */

.request-page {
  padding-block: var(--space-6);
}

.request-card {
  max-width: 560px;
  margin-inline: auto;
}

.request-card h1 {
  font-size: var(--text-display);
  margin-bottom: var(--space-3);
}
.request-card .intro {
  color: var(--text-1);
  margin-bottom: var(--space-5);
}

.form-grid {
  display: grid;
  gap: var(--space-4);
}

.form-row {
  display: grid;
  gap: var(--space-2);
}

textarea.input {
  resize: vertical;
  min-height: 120px;
  font-family: var(--font-body);
  line-height: var(--lh-base);
}

.helper {
  font-size: var(--text-xs);
  color: var(--text-2);
  margin-top: var(--space-1);
}

/* Turnstile placeholder until the real widget loads */
.turnstile-slot {
  min-height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed var(--bg-2);
  border-radius: var(--radius-sm);
  color: var(--text-3);
  font-size: var(--text-small);
  padding: var(--space-3);
}

/* Stacked + centered: submit button on top, "Back to home" link underneath. */
.form-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

.form-actions .btn { min-width: 220px; }
.form-actions .back-link {
  color: var(--text-2);
  font-size: var(--text-small);
}
.form-actions .back-link:hover { color: var(--text-0); }

/* Success state — replaces the form */
.request-success {
  text-align: center;
  padding-block: var(--space-5);
}
.request-success .icon {
  width: 48px; height: 48px;
  margin: 0 auto var(--space-3);
  color: var(--accent);
}
.request-success h2 {
  margin-bottom: var(--space-2);
}
.request-success p {
  color: var(--text-1);
  margin-inline: auto;
}
