.contact-captcha-field { margin: 1.5rem 0; text-align: left; }
.contact-captcha-field label { display: block; font-weight: 600; margin-bottom: .4rem; }
.contact-captcha-challenge { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin: .75rem 0; }
.contact-captcha-challenge img { max-width: 100%; height: auto; border: 1px solid #bcc8d5; border-radius: 3px; }
.contact-captcha-field .contact-captcha-refresh { font: inherit; font-size: .85rem; cursor: pointer; border: 1px solid #8495a7; color: #102b4b; background: #fff; border-radius: 4px; padding: .5rem .75rem; }
.contact-captcha-field .contact-captcha-refresh[hidden] { display: none; }
.contact-captcha-field .contact-captcha-refresh:disabled { opacity: .6; cursor: wait; }
.contact-captcha-field .contact-captcha-help { font-size: .85rem; line-height: 1.6; margin: .4rem 0; }
.contact-captcha-help a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.contact-captcha-widget input[type=text] { display: block; width: 100%; max-width: 20rem; box-sizing: border-box; font: inherit; color: #102b4b; background: #fff; padding: .75rem; border: 1px solid #8495a7; border-radius: 4px; }
.contact-captcha-widget :focus-visible { outline: 3px solid #c92e49; outline-offset: 3px; }
.contact-captcha-error { color: #b4233a; background: #fff1f3; padding: .5rem .75rem; font-size: .9rem; border-radius: 4px; }
.contact-captcha-error ul { margin: 0; padding-left: 1.2rem; }
.contact-captcha-status { display: block; font-size: .85rem; }
