/* Блок согласия на обработку персональных данных (152-ФЗ, ст. 9).
   Подключается на всех страницах: /css/consent.css.

   Стили заданы в rem, как принято на сайте (html{font-size:22px} на десктопе,
   1.1458333vw на мобильных). Размеры подобраны так, чтобы блок не ломал
   вёрстку форм, где он заменил пассивную надпись о согласии. */

.bl-consent {
    margin-top: 12px;
    font-family: 'Moula', sans-serif;
}

.bl-consent__label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    font-size: 12px;
    line-height: 1.35;
    color: #515151;
    margin: 0;
    font-weight: 400;
}

/* Галочка: нативный input, но приводим к виду сайта. Чтобы не ломать
   тему, размер и рамка заданы явно, а не наследуются от .form-control. */
.bl-consent__box {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    padding: 0;
    border: 1px solid #b6bcc2;
    border-radius: 2px;
    background-color: #fff;
    background-image: none;
    -webkit-appearance: checkbox;
    appearance: checkbox;
    cursor: pointer;
    position: relative;
}

.bl-consent__box:checked {
    background-color: #1f7a44;
    border-color: #1f7a44;
}

.bl-consent__text {
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

.bl-consent__text a,
.bl-consent__text a:visited {
    color: #515151;
    text-decoration: underline;
}

.bl-consent__text a:hover {
    color: #1f7a44;
}

/* Подпись об ошибке. Показывается только когда форму попытались отправить
   без галочки: браузерная проверка required не даёт подсказки, поэтому
   нужен свой текст. Скрыт по умолчанию. */
.bl-consent__err {
    display: none;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.3;
    color: #c0392b;
}

.bl-consent--error .bl-consent__err {
    display: block;
}

.bl-consent--error .bl-consent__box {
    border-color: #c0392b;
}

/* На странице контактов надпись о согласии была отдельным блоком под
   кнопкой — сохраняем тот же вертикальный ритм. */
.kt-cta-box .bl-consent {
    margin-top: 18px;
}
