/* Captcha « Je ne suis pas un robot » (js/captcha.js, /captcha.php)
   Couleurs prises chez univrs.group (--bg, --text…) ou, à défaut, chez
   UNIVRS Web (--color-bg, --color-text…). */
.captcha {
  --captcha-fond:      var(--bg, var(--color-bg, #0a0a0a));
  --captcha-bord:      var(--border, var(--color-border, #2a2a2a));
  --captcha-bord-fort: var(--border-light, var(--color-border-focus, #3a3a3a));
  --captcha-texte:     var(--text, var(--color-text, #fff));
  --captcha-discret:   var(--text-muted, var(--color-text-faint, #ccc));
  --captcha-accent:    var(--accent, var(--color-text, #fff));
  --captcha-erreur:    var(--color-error, #f87171);

  margin-top: 20px;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  background: var(--captcha-fond);
  border: 1px solid var(--captcha-bord);
  border-radius: 8px;
  transition: border-color .2s;
}
.captcha[data-etat="ok"]     { border-color: var(--captcha-bord-fort); }
.captcha[data-etat="erreur"] { border-color: var(--captcha-erreur); }
.captcha noscript { font-size: .85rem; color: var(--captcha-discret); }

.captcha-case {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}
.captcha-input {
  width: 22px;
  height: 22px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--captcha-accent);
  cursor: pointer;
}
.captcha-roue {
  display: none;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border: 2px solid var(--captcha-bord-fort);
  border-top-color: var(--captcha-accent);
  border-radius: 50%;
  animation: captcha-tourne .8s linear infinite;
}
.captcha[data-etat="calcul"] .captcha-input { display: none; }
.captcha[data-etat="calcul"] .captcha-roue  { display: block; }

.captcha-textes { display: flex; flex-direction: column; gap: 2px; }
.captcha-libelle { font-size: .9rem; font-weight: 600; color: var(--captcha-texte); }
.captcha-etat { font-size: .78rem; font-weight: 400; color: var(--captcha-discret); }
.captcha-etat:empty { display: none; }
.captcha[data-etat="erreur"] .captcha-etat { color: var(--captcha-erreur); }

.captcha-marque {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
  color: var(--captcha-discret);
  text-align: right;
}
.captcha-marque svg { flex-shrink: 0; }

@keyframes captcha-tourne { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .captcha-roue { animation-duration: 2.4s; } }
@media (max-width: 480px) { .captcha-marque span { display: none; } }
