/* TCPA / AI voice consent disclosure styling — shared across all form pages.
   Inherits theme tokens (--smoke, --card, --muted, --white) from each page;
   --gold and --emerald defaults make the checkbox visually consistent if
   theme tokens are missing. */

.consent-field {
  margin-top: 16px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}
.consent-disclosure {
  font-size: 0.72rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 10px;
}
.consent-disclosure strong {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
}
.consent-disclosure a {
  color: var(--consent-accent, #C9A84C);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.consent-disclosure a:hover {
  text-decoration-color: rgba(201, 168, 76, 0.8);
}
.consent-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 0.84rem;
  color: rgba(255, 255, 255, 0.92);
  font-weight: 500;
  user-select: none;
}
.consent-label input[type="checkbox"] {
  margin: 0;
  margin-top: 2px;
  width: 16px;
  height: 16px;
  accent-color: var(--consent-accent, #C9A84C);
  flex-shrink: 0;
  cursor: pointer;
}
.consent-label .agree-text {
  font-size: 0.86rem;
  line-height: 1.4;
}

/* Validation styling — red border when user submits without checking */
.consent-field:has(input:invalid:user-invalid) {
  border-color: #D94040;
  background: rgba(217, 64, 64, 0.05);
}

/* ── Inline form result card (replaces alert boxes) ─────────────────── */
.form-result {
  margin: 0 0 18px;
  padding: 18px 20px;
  border-radius: 10px;
  font-size: 0.92rem;
  line-height: 1.55;
}
.form-result h3 {
  margin: 0 0 8px;
  font-size: 1.15rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.25;
}
.form-result p {
  margin: 0 0 8px;
  color: rgba(255, 255, 255, 0.78);
}
.form-result p:last-child {
  margin-bottom: 0;
}
.form-result a {
  color: var(--consent-accent, #C9A84C);
  font-weight: 600;
  text-decoration: none;
}
.form-result a:hover {
  text-decoration: underline;
}
.form-result--success {
  background: rgba(46, 204, 113, 0.08);
  border: 1px solid rgba(46, 204, 113, 0.32);
}
.form-result--success h3::before {
  content: '✓ ';
  color: #2ECC71;
  font-weight: 700;
}
.form-result--error {
  background: rgba(217, 64, 64, 0.08);
  border: 1px solid rgba(217, 64, 64, 0.32);
}
.form-result--info {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
