/**
 * Обратна връзка на формата за регистрация — обща за ВСИЧКИ теми.
 *
 * Разположение: иконката за състоянието стои ВЪТРЕ в полето вдясно, а текстът
 * на грешката — под полето. Дотук съобщението беше иконка с `data-tip`, тоест
 * текст, който се вижда само при hover и никога на телефон.
 *
 * Слотът `<span id="<поле>_error">` съществува във всяка тема, но темите го
 * оформяха различно: sproperties / basic7 / 11cars го закачаха абсолютно спрямо
 * цялата група, останалите го оставяха блок отдолу. `validate.js::layout()`
 * слага около самия input обвивка `.reg-field` — единственият позициониращ
 * контекст, който НЕ расте, когато отдолу се появи текст.
 *
 * Файлът е нарочно с по-висока специфичност от темите:
 * `[id$="_error"].reg-fb` = (0,2,0) бие `[id$="_error"]` и `.auth-field-error`
 * = (0,1,0). Класът `.reg-fb` се слага от validate.js само когато има какво да
 * се покаже, така че празният слот остава изцяло на темата.
 *
 * @package TechtonifyCMS
 */

/* ── Обвивката около полето ─────────────────────────────────────────── */

.reg-field {
    position: relative;
    display: block;
    width: 100%;
}

/* ── Иконката за състоянието — вътре в полето, вдясно ───────────────── */

[id$="_error"].reg-fb {
    position: absolute !important;
    top: 50%;
    right: 14px;
    left: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    font-size: 1.05rem;
    line-height: 1;
    pointer-events: none;
}

[id$="_error"].reg-fb--ok      { color: #16a34a; }
[id$="_error"].reg-fb--error   { color: #dc2626; }

/* Проверката на мейла тече — неутрално, без червено преди да знаем отговора. */
[id$="_error"].reg-fb--pending { color: #9ca3af; }

/* Резервният глиф (тема без заредена FontAwesome — виж hasFontAwesome()):
   кръгче с текстов знак, за да изглежда като иконка, а не като случаен символ. */
[id$="_error"].reg-fb .reg-fb-glyph {
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}

[id$="_error"].reg-fb--ok      .reg-fb-glyph { background: #16a34a; }
[id$="_error"].reg-fb--error   .reg-fb-glyph { background: #dc2626; }
[id$="_error"].reg-fb--pending .reg-fb-glyph { background: #9ca3af; }

/* ── Текстът на грешката — под полето ───────────────────────────────── */

.reg-msg {
    display: none;
    margin: 6px 0 0;
    color: #dc2626;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
}

.reg-msg.is-on { display: block; }

/* ── Състояние на самото поле ───────────────────────────────────────── */

input.reg-invalid {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, .18);
}

input.reg-valid {
    border-color: #16a34a !important;
}

/* ── Обобщението над бутона ─────────────────────────────────────────── */

.reg-form-notice {
    display: none;
    margin: 0 0 12px;
    padding: 10px 14px;
    border: 1px solid rgba(220, 38, 38, .25);
    border-radius: 8px;
    background: rgba(220, 38, 38, .07);
    color: #dc2626;
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
}

.reg-form-notice.is-on { display: block; }

/* Заключеният бутон след успешно изпращане — двоен клик прави два акаунта. */
.reg-busy {
    opacity: .6;
    cursor: progress;
    pointer-events: none;
}

/* ── Чеклистът за паролата ──────────────────────────────────────────── */

/* Част от темите не носят тези правила (те са inline в другите шаблони).
   Тук са като база — тема със свои правила ги презаписва. */
.pw-policy-hints { list-style: none; padding-left: 0; margin: 8px 0 0; font-size: 0.85em; }
.pw-policy-hints li { color: #6b7280; line-height: 1.7; }
.pw-policy-hints li .pw-ico { display: inline-block; width: 1.1em; font-weight: bold; }
.pw-policy-hints li.ok { color: #16a34a; }
.pw-policy-hints li.bad { color: #dc2626; }
