/* Contact form: CAPTCHA + email-verification (OTP) steps */
[hidden]{ display: none !important; }

/* Honeypot: invisible to people, tempting to bots */
.cfb-hp{ position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.cfb-field-error{ display: block; color: #b42318; font-size: 0.85rem; margin-top: 4px; }
.cfb-field-error:empty{ display: none; }
.contact-form .cfb-invalid{ border-color: #b42318 !important; }

.cfb-alert{ padding: 12px 14px; border-radius: 6px; margin: 14px 0; font-size: 0.95rem; line-height: 1.45; }
.cfb-alert-error{ background: #fdecea; border: 1px solid #f5c2c0; color: #8a1f17; }
.cfb-alert-ok{ background: #e8f5ee; border: 1px solid #b7dfc8; color: #1f6e41; }
.cfb-alert a{ color: inherit; text-decoration: underline; font-size: inherit; }

.cfb-note{ font-size: 0.85rem; color: #6c757d; margin: 4px 0 16px; line-height: 1.5; }

#cfbCaptcha{ min-height: 78px; margin: 4px 0 6px; overflow-x: auto; }

.cfb-otp-input{
    font-size: 1.7rem !important; letter-spacing: 0.45em; text-align: center;
    max-width: 260px; font-variant-numeric: tabular-nums; padding: 10px 12px !important;
}
.cfb-verify-lead{ margin-bottom: 14px; }
.cfb-links{ margin-top: 16px; font-size: 0.9rem; display: flex; gap: 6px 14px; flex-wrap: wrap; align-items: center; color: #6c757d; }
.cfb-link{ background: none; border: 0; padding: 0; color: #812b32; text-decoration: underline; cursor: pointer; font: inherit; font-weight: 600; }
.cfb-link:disabled{ color: #6c757d; text-decoration: none; cursor: not-allowed; font-weight: 400; }

.cfb-done{ text-align: center; padding: 18px 0 6px; }
.cfb-done-tick{ font-size: 2.6rem; color: #2e8b57; line-height: 1; margin-bottom: 8px; }
.cfb-done .btn{ margin: 16px auto 0; }

.contact-form .btn[disabled]{ opacity: 0.65; cursor: not-allowed; }
