/* Captcha « Je ne suis pas un robot » */
.captcha{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:440px;padding:14px 18px;border:1.5px solid var(--line);border-radius:16px;background:#fff;transition:border-color .2s,background .2s}
.captcha label{display:flex;align-items:center;gap:12px;font-weight:600;cursor:pointer;margin:0}
.captcha input[type=checkbox]{width:24px;height:24px;margin:0;accent-color:#15171c;cursor:pointer}
.captcha input[type=checkbox]:disabled{cursor:default}
.captcha .etat{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--muted);white-space:nowrap}
.captcha .spin{display:none;width:16px;height:16px;border:2.5px solid var(--line);border-top-color:#15171c;border-radius:50%;animation:captcha-tourne .8s linear infinite}
.captcha.busy .spin{display:inline-block}
.captcha.ok{border-color:#8cc63f;background:#f3f9ec}
.captcha.ok .etat{color:#3f6b10}
.captcha.ok .etat::before{content:"✓";font-size:1rem}
.captcha.err{border-color:#c0392b;background:#fdf1ef}
.captcha.err .etat{color:#8e1f15}
.captcha-note{font-size:.8rem;color:var(--muted);margin:6px 0 0}
@keyframes captcha-tourne{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.captcha .spin{animation:none}}
