/* Дополнения к теме сайта dvaoblaka.ru (подключается после all.css). */

/* --- Меню аккаунта в шапке (вместо боковой панели) --- */
.o2-account {
    position: relative;
}
.o2-account__btn {
    display: inline-flex;
    align-items: center;
    max-width: 16rem;
    white-space: nowrap;
}
.o2-account__btn .fa {
    font-size: 1rem;
}
.o2-account__name {
    margin: 0 0.4rem;
    max-width: 10rem;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* На планшетах и телефонах (<992px) тема делит шапку на колонки 25% / 50% / 25%.
   Кнопка аккаунта стояла у левого края правой колонки и на части ширин не помещалась
   в нее (вылезала за контейнер). Прижимаем к правому краю контейнера, как слева
   прижато «Меню»; ниже 768px колонка уже 149px кнопки - оставляем иконку без логина. */
@media (max-width: 991.98px) {
    .u-header--modern .navbar-expand-lg .u-header__secondary-nav {
        justify-content: flex-end;
    }
    .u-header--modern .navbar-expand-lg .u-header__navbar-icon.o2-account {
        padding-left: 0;
        padding-right: 0;
    }
}
@media (max-width: 767.98px) {
    .o2-account__name {
        display: none;
    }
    .o2-account__btn .fa-angle-down {
        margin-left: 0.3rem;
    }
}
.u-header .o2-account__menu.u-unfold {
    position: absolute;
    top: 100%;
    right: 0;
    bottom: auto;
    margin-top: 0.5rem;
    min-width: 17rem;
    max-width: calc(100vw - 2rem);
    z-index: 1001;
    background-color: #fff;
    text-align: left;
}
.o2-account__menu .o2-account__header {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e7eaf3;
    font-weight: 500;
    word-break: break-all;
}
.o2-account__menu .list-group-item {
    padding: 0.6rem 1rem;
    color: #1e2022;
}
.o2-account__menu .list-group-item .fa {
    width: 1.25rem;
    text-align: center;
    margin-right: 0.5rem;
    color: #8c98a4;
}
.o2-account__menu .list-group-item:hover {
    color: #1775e9;
}
.o2-account__menu .o2-account__footer {
    padding: 0.5rem 1rem 0.25rem;
    border-top: 1px solid #e7eaf3;
    font-size: 0.8125rem;
}

/* --- Галочка в одну линию с подписью --- */
.o2-check {
    display: flex;
    align-items: center;
    padding-left: 0;
    margin-left: 0;
}
.o2-check .form-check-input {
    position: static;
    flex-shrink: 0;
    width: 1.1rem;
    height: 1.1rem;
    margin: 0 0.6rem 0 0;
}
.o2-check .form-check-label {
    margin: 0;
    line-height: 1.4;
    color: #1e2022;
}

/* --- Профиль --- */
.o2-profile dt {
    color: #8c98a4;
    font-weight: 400;
}
.o2-profile dd {
    margin-bottom: 0.75rem;
    word-break: break-word;
}

/* --- Шапка на ширинах 992-1199px: контейнер 960px, меню + логотип + кнопка аккаунта
   не помещались в одну строку и вторая строка ломала шапку. Ужимаем отступы пунктов
   меню и прячем логин в кнопке аккаунта (остается иконка). --- */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .u-header .navbar-expand-lg .u-header__navbar-nav .u-header__nav-link {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        font-size: 0.9375rem;
    }
    .u-header .navbar-expand-lg .u-header__navbar-brand {
        margin-right: 0.75rem;
    }
    /* картинка логотипа 210px шире своей ссылки (150px) и выступала под первый пункт меню */
    .u-header .navbar-expand-lg .u-header__navbar-brand-default {
        max-width: 100%;
        height: auto;
    }
    .u-header .navbar-expand-lg .u-header__navbar-icon {
        padding-left: 0;
        padding-right: 0;
    }
    .o2-account__name {
        display: none;
    }
    .o2-account__btn .fa-angle-down {
        margin-left: 0.3rem;
    }
}

/* --- Юридические документы: оферта, политика конфиденциальности (общий стиль) --- */
.o2-legal {
    max-width: 54rem;
    margin: 0 auto;
    font-size: 1rem;
    line-height: 1.7;
    color: #1e2022;
}
.o2-legal__title {
    font-size: 1.75rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
}
.o2-legal__draft {
    font-size: 0.9375rem;
}
.o2-legal__doc-title {
    text-align: center;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.4;
    margin: 1.5rem 0 0.5rem;
}
.o2-legal__meta {
    text-align: center;
    color: #77838f;
    margin-bottom: 1.5rem;
}
.o2-legal p {
    margin-bottom: 0.9rem;
}
.o2-legal__h {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 2rem 0 0.9rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #e7eaf3;
}
.o2-legal__sub {
    font-size: 1rem;
    font-weight: 600;
    margin: 1.25rem 0 0.6rem;
}
.o2-legal__h,
.o2-legal__sub,
.o2-legal__item {
    display: flex;
    align-items: baseline;
}
.o2-legal__num {
    flex: 0 0 3.75rem;
    padding-right: 0.5rem;
    color: #1775e9;
    font-weight: 600;
}
.o2-legal__h .o2-legal__num {
    flex-basis: 2.5rem;
}
.o2-legal__list,
.o2-legal ul {
    padding-left: 1.5rem;
    margin-bottom: 0.9rem;
}
.o2-legal__list li,
.o2-legal ul li {
    margin-bottom: 0.35rem;
}
.o2-legal__warning {
    border-left: 4px solid #f5ca99;
    background: #fff8ec;
    padding: 0.9rem 1.25rem;
    margin: 1.25rem 0 1.5rem;
    border-radius: 0.25rem;
}
.o2-legal__warning-title {
    font-weight: 700;
    margin-bottom: 0.4rem;
}
.o2-legal__warning ul {
    margin-bottom: 0;
}
.o2-legal__req {
    border: 1px solid #e7eaf3;
    border-radius: 0.25rem;
    margin-top: 1rem;
}
.o2-legal__req-row {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #e7eaf3;
}
.o2-legal__req-row:first-child {
    border-top: 0;
}
.o2-legal__req-k {
    flex: 0 0 12rem;
    padding: 0.55rem 1rem;
    color: #77838f;
    background: #f8fafd;
}
.o2-legal__req-v {
    flex: 1 1 14rem;
    padding: 0.55rem 1rem;
    word-break: break-word;
}
@media (max-width: 575.98px) {
    .o2-legal__title {
        font-size: 1.5rem;
    }
    .o2-legal__num {
        flex-basis: 3.25rem;
    }
    .o2-legal__h .o2-legal__num {
        flex-basis: 2rem;
    }
    .o2-legal__req-k {
        flex-basis: 100%;
        padding-bottom: 0.15rem;
    }
    .o2-legal__req-v {
        padding-top: 0.15rem;
    }
}

/* Страница «Стоимость»: строка состояния вошедшего пользователя в блоках физлиц/организаций */
.o2-price-state { background: #f1f5fb; border-left: 3px solid #377dff; padding: .5rem .75rem; border-radius: .25rem; }

/* Страница «Репозиторий семейств»: подписи полей с данными для входа */
.o2-repo-label { display: block; font-weight: 600; margin-bottom: .25rem; }
/* Страница «Репозиторий семейств»: поля только для чтения светлые, кнопки в один тон с полем */
.o2-repo-field .form-control[readonly] { background-color: #f8fafd; color: #151b26; border-color: #d4d7dd; }
.o2-repo-field .input-group-append .btn { display: flex; align-items: center; padding: 0 .85rem; font-size: .95rem; color: #646f79; background-color: #fff; border-color: #d4d7dd; }
.o2-repo-field .input-group-append .btn:hover { color: #1775e9; background-color: #f5f8fb; border-color: #d4d7dd; }
.o2-repo-field .input-group-append .btn:focus { box-shadow: none; }
