/* Honeypot — hidden from users, visible to bots */
.fv-hp-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
}

.fv-spam-challenge{
  margin-top:4px;
  margin-bottom:14px;
}
.fv-spam-challenge label{
  display:block;font-weight:600;font-size:.9rem;
  color:var(--navy);margin-bottom:6px;
}
.fv-spam-challenge input{
  width:100%;max-width:120px;padding:11px 14px;
  border:1px solid var(--line);border-radius:9px;
  font-family:inherit;font-size:.95rem;
}
.fv-spam-challenge.invalid input{
  border-color:#c0392b;
  box-shadow:0 0 0 2px rgba(192,57,43,.12);
}

.fv-spam-error{
  display:none;margin:0 0 14px;padding:12px 14px;
  background:#fdecea;border:1px solid #f5c6c2;
  border-radius:9px;color:#922b21;font-size:.9rem;font-weight:600;
}
.fv-spam-error.is-visible{display:block;}

/* Cloudflare Turnstile widget */
.fv-turnstile-wrap{
  margin:12px 0 16px;
}
.fv-turnstile-wrap .fv-turnstile-widget{
  min-height:65px;
}
.fv-turnstile-wrap.invalid{
  outline:2px solid #c0392b;
  outline-offset:4px;
  border-radius:8px;
}
.fv-turnstile-wrap .field-error{
  display:none;
  color:#922b21;
  font-size:.85rem;
  font-weight:600;
  margin-top:8px;
}
.fv-turnstile-wrap.invalid .field-error{display:block;}