/* ── CAPTCHA widgets — frontend forms + wp-login ─────────── */
.pa-captcha-wrap {
  margin: 14px 0;
  display: flex;
  justify-content: center;
}
.pa-captcha-wrap.pa-captcha-compact { margin: 10px 0 0; justify-content: stretch; }

/* Math captcha */
.pa-captcha-math {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  padding: 14px 16px;
  margin: 14px 0;
}
.pa-captcha-math-label {
  font-size: 13px;
  color: rgba(255,255,255,.6);
  font-family: var(--sans, system-ui, sans-serif);
}
.pa-captcha-math-label strong {
  color: #fff;
  font-family: var(--mono, 'Space Mono', monospace);
  letter-spacing: .02em;
}
.pa-captcha-math-input {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  padding: 10px 14px;
  color: #fff;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color .2s;
}
.pa-captcha-math-input:focus {
  outline: none;
  border-color: rgba(59,130,246,.5);
}
.pa-captcha-math-input::placeholder { color: rgba(255,255,255,.3); }

/* Light theme */
body.pa-light .pa-captcha-math {
  background: rgba(0,0,0,.03);
  border-color: rgba(0,0,0,.1);
}
body.pa-light .pa-captcha-math-label { color: rgba(0,0,0,.6); }
body.pa-light .pa-captcha-math-label strong { color: #111827; }
body.pa-light .pa-captcha-math-input {
  background: #ffffff;
  border-color: rgba(0,0,0,.12);
  color: #111827;
}
body.pa-light .pa-captcha-math-input::placeholder { color: rgba(0,0,0,.3); }

/* Third-party widget containers — just give them breathing room */
.pa-captcha-hcaptcha,
.pa-captcha-recaptcha,
.pa-captcha-turnstile {
  transform-origin: center;
}

/* Login page captcha (wp-login.php context — body is unstyled by our theme) */
body.login .pa-captcha-wrap,
body.login .pa-captcha-math {
  margin: 16px 0;
}
body.login .pa-captcha-math {
  background: #fff;
  border: 1px solid #dcdcde;
}
body.login .pa-captcha-math-label { color: #3c434a; }
body.login .pa-captcha-math-label strong { color: #1d2327; }
body.login .pa-captcha-math-input {
  background: #fff;
  border-color: #8c8f94;
  color: #2c3338;
}

/* ── Compact inline variant — for tight single-row forms (newsletter) ── */
.pa-captcha-math.pa-captcha-compact {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  max-width: 560px;
  padding: 8px 8px 8px 16px;
  border-radius: 9999px;
}
.pa-captcha-compact .pa-captcha-math-label {
  font-size: 12.5px;
  white-space: nowrap;
  flex-shrink: 0;
}
.pa-captcha-compact .pa-captcha-math-input {
  border-radius: 9999px;
  padding: 8px 14px;
  font-size: 13px;
  width: 90px;
  flex: 0 0 90px;
}
@media (max-width: 480px) {
  .pa-captcha-compact {
    flex-direction: column;
    align-items: stretch;
    border-radius: 10px;
    padding: 12px 14px;
  }
  .pa-captcha-compact .pa-captcha-math-input { width: 100%; flex: none; }
}
