.lead-form { max-width: 640px; margin: 24px auto 0; text-align: left; }
.lead-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.lead-form__row input:first-child { grid-column: 1 / -1; }

.lead-form input,
.lead-form textarea {
  width: 100%;
  padding: 13px 15px;
  border: 2px solid rgba(15, 23, 42, .15);
  border-radius: 10px;
  font: inherit;
  font-size: .95rem;
  background: #fff;
  color: #0f172a;
  transition: border-color .15s;
}
.lead-form textarea { margin-bottom: 14px; resize: vertical; }
.lead-form input:focus,
.lead-form textarea:focus {
  outline: none;
  border-color: var(--unit, #f97316);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .15);
}
.lead-form input[aria-invalid="true"] { border-color: #dc2626; }
.lead-form button { width: 100%; }
.lead-form button:disabled { opacity: .6; cursor: not-allowed; }

.lead-form__note { font-size: .8rem; opacity: .7; margin-top: 12px; text-align: center; }
.lead-form__alt { margin-top: 14px; text-align: center; font-size: .9rem; }
.lead-form__msg { margin-top: 14px; text-align: center; font-weight: 600; font-size: .92rem; }
.lead-form__msg.is-ok { color: #15803d; }
.lead-form__msg.is-err { color: #dc2626; }

/* Honeypot. No usamos display:none ni hidden: los bots decentes los detectan y
   saltan el campo. Lo sacamos del viewport, que a efectos de un scraper es
   indistinguible de un campo normal. aria-hidden + tabindex=-1 lo ocultan de
   lectores de pantalla y del tabulador, así que ningún humano lo encuentra. */
.hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Etiquetas solo para lectores de pantalla: el diseño usa placeholders, pero un
   placeholder NO es una etiqueta accesible. */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 560px) {
  .lead-form__row { grid-template-columns: 1fr; }
}
