/* CAPTCHA field – used by the public site, admin panel and feedback pages. */
.captcha-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.captcha-img {
    display: block; width: 170px; height: 56px;
    border: 1px solid var(--border, #ccd); border-radius: 8px; background: #eef0f8;
    user-select: none;
}
.captcha-refresh {
    display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0;
    border: 1px solid var(--border, #ccd); border-radius: 50%;
    background: var(--surface, #fff); color: var(--text, #222); cursor: pointer;
}
.captcha-refresh:hover { border-color: var(--primary, #4f46e5); color: var(--primary, #4f46e5); }
.captcha-refresh.is-spinning svg { animation: captcha-spin .5s linear; }
@keyframes captcha-spin { to { transform: rotate(360deg); } }
.captcha-row input[name="captcha"] {
    flex: 1 1 140px; max-width: 200px; min-width: 120px;
    letter-spacing: .25em; text-transform: uppercase; font-weight: 600;
}
.captcha-hint { margin: 6px 0 0; font-size: .82rem; color: var(--text-muted, #666); }
