/* AREG Lead Capture v1.0.2 — uses the theme's .areg-form / .form-* / .btn styles; this only adds layout and states. */
.areg-lead-section { padding: 2.5rem 0; }
.areg-lead-card {
  max-width: 760px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #E2E6EA;
  border-top: 4px solid #C25C13;
  border-radius: 6px;
  padding: 1.75rem 1.5rem;
  box-shadow: 0 2px 10px rgba(15, 41, 66, 0.06);
}
.areg-lead-section .areg-lead-title,
.areg-lead-section .areg-lead-card h2 { margin: 0 0 .5rem; color: #0F2942 !important; }
.areg-lead-section .areg-lead-intro { color: #1A1A1A; }
.areg-lead-intro { margin: 0 0 1rem; }
.areg-lead-required-note,
.areg-lead-fineprint { font-size: .85rem; color: #4A5560; }
.areg-lead-fineprint { margin: .75rem 0 0; text-align: center; }
.areg-lead-optional { font-weight: 400; color: #4A5560; }
.areg-lead-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media (max-width: 640px) { .areg-lead-grid { grid-template-columns: 1fr; } }
.areg-lead-form .btn { width: 100%; }

/* States */
.areg-lead-status:empty { display: none; }
.areg-lead-status.is-error,
.areg-lead-section .is-error {
  margin: 0 0 1rem;
  padding: .75rem 1rem;
  border-left: 4px solid #B42318;
  background: #FEF3F2;
  color: #7A1A12;
}
.areg-field-error { margin: .35rem 0 0; color: #B42318; font-size: .9rem; font-weight: 600; }
.areg-form [aria-invalid="true"] { border-color: #B42318 !important; box-shadow: 0 0 0 1px #B42318; }
.areg-lead-success {
  padding: 1.25rem 1.25rem;
  border-left: 4px solid #1B6E3A;
  background: #EEF8F1;
  color: #123F23;
  border-radius: 4px;
}
.areg-lead-success:focus { outline: 3px solid #0F2942; outline-offset: 2px; }
.areg-lead-success-title { font-weight: 700; margin: 0 0 .25rem; }
.areg-lead-form button[disabled] { opacity: .75; cursor: progress; }

/* Honeypot: off-screen for people, but still a real field for bots. */
.areg-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.areg-lead-section .screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; word-wrap: normal !important;
}
