/* captura.css — form + intl-tel-input dark theme. Override the --cap-* tokens per page. */
:root {
  --cap-bg: #0b1220; --cap-surface: #111a2c; --cap-text: #f2f4f8; --cap-muted: #9aa4b5;
  --cap-border: rgba(242, 244, 248, .14); --cap-accent: #ff6b1a; --cap-on-accent: #0b1220;
  --cap-error: #ff5470; --cap-radius: 14px; --cap-font: system-ui, sans-serif;
}
.cap-form { display: grid; gap: .7rem; }
.cap-group { position: relative; }
.cap-form input:not([type="hidden"]) {
  width: 100%; background: var(--cap-bg); color: var(--cap-text); border: 1px solid var(--cap-border);
  border-radius: var(--cap-radius); padding: .95rem 1rem; font: 500 1rem/1.2 var(--cap-font); transition: border-color .15s;
}
.cap-form input::placeholder { color: #6f7a8c; }
.cap-form input:focus { outline: none; border-color: var(--cap-accent); box-shadow: 0 0 0 3px rgba(255, 107, 26, .18); }
.cap-form input.cap-error { border-color: var(--cap-error); }
.cap-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.cap-badge {
  position: absolute; right: .6rem; top: -.55rem; z-index: 3; background: var(--cap-error); color: #fff;
  font: 600 .72rem/1 var(--cap-font); padding: .3rem .55rem; border-radius: 999px;
  opacity: 0; transform: translateY(4px); transition: opacity .18s, transform .18s; pointer-events: none;
}
.cap-badge.show { opacity: 1; transform: none; }
.cap-btn {
  width: 100%; border: 0; border-radius: 999px; padding: 1.05rem 1.4rem; cursor: pointer;
  background: var(--cap-accent); color: var(--cap-on-accent); font: 800 1.05rem/1 var(--cap-font);
  box-shadow: 0 12px 34px -12px rgba(255, 107, 26, .75); transition: transform .15s, filter .15s;
}
.cap-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
.cap-btn:disabled { opacity: .7; cursor: progress; }
.cap-btn.cap-loading::after { content: " …"; }
/* intl-tel-input on dark */
.iti { width: 100%; }
.iti__flag-container { z-index: 2; }
.iti--separate-dial-code .iti__selected-flag { background: rgba(255, 255, 255, .04); border-radius: var(--cap-radius) 0 0 var(--cap-radius); }
.iti__selected-dial-code { color: var(--cap-text); }
.iti__country-list { background: var(--cap-surface); color: var(--cap-text); border-color: var(--cap-border); border-radius: 10px; max-width: min(340px, 86vw); }
.iti__country.iti__highlight { background: rgba(255, 255, 255, .08); }
.iti__divider { border-bottom-color: var(--cap-border); }
.iti__dial-code { color: var(--cap-muted); }
