/* Страница регистрации участника. Префикс классов — reg- */

.reg__required {
    color: #c1272d;
}

.reg__hint {
    margin: 0.5rem 0 0;
    font-size: 0.85rem;
    color: #5d6877;
}

.reg__divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1rem 0;
    font-size: 0.85rem;
    color: #5d6877;
}

.reg__divider::before,
.reg__divider::after {
    content: "";
    flex: 1;
    border-top: 1px solid #d5dae2;
}

.reg .errorlist {
    margin: 0.35rem 0 0;
    padding: 0;
    list-style-type: none;
    color: #c1272d;
}

/* ---------- автодополнение фамилии, имени и отчества ---------- */
/* Якорь для absolute-списка: в шаблоне обёртка — .sh-field, не .reg__field */
.sh-field {
    position: relative;
}

.reg__autocomplete {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 20;
    max-height: 260px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #d4d4d4;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

.reg__autocomplete-item {
    padding: 0.6rem 0.75rem;
    cursor: pointer;
    border-bottom: 1px solid #d4d4d4;
}

.reg__autocomplete-item:hover {
    background: #e9e9e9;
}

.reg__autocomplete-item.is-active {
    color: #fff;
    background: #007bff;
}

/* ---------- Яндекс SmartCaptcha ---------- */
.sh-card--form {
    overflow: visible;
}

.sh-card--form:hover {
    transform: none;
}

/* Рамку рисует сам виджет Яндекса. Высоту контейнеру ставит скрипт (inline style),
   поэтому её не переопределяем — так работает на любых ширинах. Рамка внутри iframe
   упирается в его край и из-за дробных пикселей обрезается справа/снизу, поэтому сам
   iframe чекбокса делаем на 1px больше с каждой стороны. */
.reg__captcha-wrap {
    max-width: 100%;
    padding: 4px 0 12px;
    box-sizing: border-box;
}

.reg__captcha {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    /* Начальная высота: iframe ниже абсолютный, без неё контейнер схлопнется в 0 и виджет
       отрисуется уменьшенным. Скрипт Яндекса ставит свою высоту inline и перекрывает это. */
    min-height: 119px;
    overflow: visible;
}

.reg__captcha > iframe {
    position: absolute !important;
    top: -1px;
    left: -1px;
    box-sizing: border-box;
    width: calc(100% + 2px) !important;
    max-width: none !important;
    height: calc(100% + 2px) !important;
    margin: 0 !important;
    border: 0;
}

/* Узкие экраны: captcha-fit.js ставит --captcha-k (< 1), виджет уменьшается пропорционально */
.reg__captcha.is-scaled {
    height: calc(119px * var(--captcha-k, 1)) !important;
    min-height: 0;
}

.reg__captcha.is-scaled > iframe {
    width: 300px !important;
    height: 121px !important;
    transform: scale(var(--captcha-k, 1)) !important;
    transform-origin: 0 0;
}
