/* Isolated form controls; do not alter shared page or hero styles. */
form[data-form] .sg-captcha { min-width: 0; width: 100%; box-sizing: border-box; margin: 16px 0; padding: 16px; border: 1px solid var(--sg-border, #d9e3e9); border-radius: 12px; background: #fff; text-align: left; }
form[data-form] .sg-captcha > label { display: block; margin: 0 0 10px; font-weight: 600; font-size: 14px; }
.sg-captcha-challenge { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 10px; }
.sg-captcha-challenge img { display: block; width: 220px; max-width: 100%; height: auto; aspect-ratio: 55 / 18; border-radius: 6px; }
form[data-form] .sg-captcha .sg-captcha-refresh { flex: 0 0 auto; min-height: 44px; width: auto; margin: 0; padding: 8px 12px; border: 1px solid var(--sg-border, #d9e3e9); border-radius: 8px; background: #fff; color: var(--accent, #2988bd); font: inherit; font-size: 14px; cursor: pointer; }
form[data-form] .sg-captcha > input[type="text"] { display: block; box-sizing: border-box; width: 100%; max-width: 340px; margin: 0; }
form[data-form] .sg-captcha .sg-captcha-help, form[data-form] .sg-captcha .sg-captcha-status { margin: 8px 0 0; font-size: 13px; line-height: 1.5; }
.sg-captcha-help { color: #526773; }
.sg-captcha-help a { text-decoration: underline; text-underline-offset: 3px; }
.sg-captcha-status { color: #9a352c; }
.sg-captcha-status:empty { display: none; }
.sg-captcha-refresh:focus-visible { outline: 2px solid var(--accent, #2988bd); outline-offset: 3px; }
.sg-captcha-refresh:disabled { opacity: .55; cursor: default; }
