.reg-step-labels { position: relative; }
.reg-step-label {
    display: flex; align-items: center;
    font-size: 13px; color: #adb5bd; font-weight: 500; transition: color .2s;
}
.reg-step-label.active, .reg-step-label.done { color: var(--bs-primary); }
.reg-step-num {
    width: 26px; height: 26px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 700;
    background: #e9ecef; color: #6c757d; transition: background .2s, color .2s;
}
.reg-step-label.active .reg-step-num,
.reg-step-label.done .reg-step-num { background: var(--bs-primary); color: #fff; }
.pw-rule { font-size: 12px; color: #adb5bd; transition: color .2s; }
.pw-rule.met { color: #198754; }
.pw-rule.met i { font-size: 12px; }
.pw-rule.met i::before { content: '\eb7b'; } /* ri-checkbox-circle-line */

.turnstile-box {
    position: relative;
    min-height: 65px;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 4px;
    display: flex;
    align-items: center;
    transition: border-color .2s, background-color .2s;
}
.turnstile-box.is-verified { background: #fff; border-color: #198754; }
.turnstile-box.is-invalid  { border-color: #dc3545; }
.turnstile-box .cf-turnstile { width: 100%; }
.turnstile-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    pointer-events: none;
}
.turnstile-box.is-loaded .turnstile-placeholder { display: none; }
