/* ============================================================
   TVINTEL 2026 — components.css
   Общие компоненты нового шаблона (шрифты, кнопки, секции).
   Подключается в header.php ПОСЛЕ template_styles.css
   ============================================================ */

/* ===== Montserrat (локальные файлы: /bitrix/templates/tvintel_2026/fonts/) ===== */
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('fonts/montserrat-900.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}

/* ===== БЛОК "ПРЕИМУЩЕСТВА" — добавлено для tvintel_2026 ===== */
.perks {
    background: #eff1fd;
}
.perks--in {
    padding: 40px 0;
}
.perks__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}
.perks__item {
    width: 100%;
    max-width: 300px;
    padding: 30px 18px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(23,23,48,0.06);
    text-align: center;
    transition: all .2s;
}
.perks__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}
@media (min-width: 480px) {
    .perks__item {
        width: calc(50% - 9px);
    }
}
@media (min-width: 768px) {
    .perks__item {
        width: 148px;
    }
}
.perks__ic {
    display: block;
    width: 110px;
    height: 110px;
    margin: 0 auto 18px;
    object-fit: contain;
}
.perks__ttl {
    font: 700 16px 'Museo Sans', Roboto, Arial, sans-serif;
    margin-bottom: 8px;
    color: #1A1730;
}
.perks__txt {
    font-size: 13px;
    line-height: 1.4;
    color: #8a8a99;
}
/* ===== /БЛОК "ПРЕИМУЩЕСТВА" ===== */

/* ===== Кнопки в hero-баннере — добавлено для tvintel_2026 ===== */
.home__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 32px;
    border-radius: 8px;
    font: 500 16px "Museo Sans", Roboto, Arial, sans-serif;
    text-align: center;
    white-space: nowrap;
    transition: all .2s;
}
.home__btn--primary {
    background: #D80D8B;
    color: #fff;
}
.home__btn--primary:hover {
    background: #b80b76;
    transform: scale(1.02);
}
.home__btn--outline {
    background: transparent;
    color: #fff;
    box-shadow: inset 0 0 0 2px #fff;
}
.home__btn--outline:hover {
    background: rgba(255,255,255,0.12);
}
/* ===== /Кнопки в hero-баннере ===== */

/* ===== Жирность пунктов верхнего меню — добавлено для tvintel_2026 ===== */
.head__nav__link {
    font-weight: 700;
}
/* ===== /Жирность пунктов верхнего меню ===== */

/* ===== Кнопка "Личный кабинет" — фон и скругление по макету главной ===== */
.head__login {
    background: #0237E9;
    border-radius: 8px;
    padding-top: 12px;
    padding-bottom: 12px;
}
/* Переопределения .head__login__ic здесь быть не должно: оно указывало на
   несуществующий head-login-user-ic.svg и глушило рабочую иконку-спрайт
   из template_styles.css. */
/* ===== /Кнопка "Личный кабинет" ===== */

/* ===== Hero-баннер ===== */
.home {
    position: relative;
    color: #fff;
    background: #005BEF;
    margin-top: -8px;
    min-height: fit-content;
}
/* Фон — синий градиент (фото порта убрано, справа лежит видео-планета) */
@media (min-width: 1024px) {
    .home {
        background: linear-gradient(90deg, #0047C4 0%, #0047C4 19%, #012C93 38%, #011E6E 100%);
    }
}
.home__content {
    position: relative;
    z-index: 2;
    max-width: 620px;
    padding: 24px 0 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.home__info {
    padding: 20px 0;
    padding-left: 0;
}
@media (min-width: 1024px) {
    .home__content {
        padding: 35px 0 70px;
    }
}
.home__ttl {
    font: 900 44px/1.04 'Montserrat', Roboto, Arial, sans-serif;
    color: #fff;
    margin: 0;
    letter-spacing: -0.5px;
}
@media (max-width: 600px) {
    .home__ttl {
        font-size: 30px;
    }
}
.home__subttl {
    display: flex;
    align-items: center;
    gap: 14px;
    font: 500 22px/1 'Museo Sans', Roboto, Arial, sans-serif;
    color: #fff;
    margin: 4px 0 0;
    flex-wrap: wrap;
}
.home__price {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    background: none !important;
    border-radius: 0 !important;
    -webkit-transform: none !important;
    transform: none !important;
    font: inherit;
}
.home__price__img {
    display: block;
    height: 60px;
    width: auto;
}
.home__price__period {
    color: #fff;
    font: 500 22px 'Museo Sans', Roboto, Arial, sans-serif;
}
.home__btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 6px 0 0;
}
.home__check {
    background: #fff;
    color: #1F1F1F;
    border-radius: 12px;
    padding: 24px 30px;
    max-width: 487px;
    box-shadow: 0 14px 30px rgba(0,0,0,0.20);
}
.check__ttl {
    font-weight: 700;
    font-size: 17px !important;
    line-height: 1.25;
    width: auto !important;
    margin-bottom: 16px;
}
.home__check .check__form {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.home__check .form__item--addr1 {
    flex: 1 1 260px;
    margin: 0;
}
.home__check .form__input--addr1 {
    width: 100%;
    padding: 12px 18px;
    border: 1px solid #d5d5d5;
    border-radius: 8px;
    background: #f7f7f7;
}
.home__check .form__item--send {
    margin: 0;
}
/* Нижняя полоса — на всю ширину контейнера, кнопки равномерно, с разделителями */
.home__ask {
    position: relative;
    z-index: 2;
    margin-top: 0;          /* впритык к баннеру */
}
.home__ask__in {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    gap: 0;
    padding: 14px 24px;
    background: #0b1940;
    border-radius: 0 0 14px 14px;   /* скругление снизу, сверху стык с баннером */
    box-sizing: border-box;
}
.home__ask__it {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #fff;
    font: 500 15px 'Museo Sans', Roboto, Arial, sans-serif;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0 30px;
}
.home__ask__it + .home__ask__it {
    border-left: 1px solid rgba(255,255,255,0.22);
}
.home__ask__it img {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
}
/* Нижняя белая полоса меню (логотип + навигация) — как карточка поверх баннера */
.head {
    position: relative;
    z-index: 3;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
}
.head__bot {
    background: #fff;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.34);
    position: relative;
    z-index: 3;
}
/* ===== /Hero-баннер ===== */

/* ===== Единый класс кнопок (баннер + карточки тарифов) ===== */
.btn-tv {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border-radius: 8px;
    font: 700 13px "Museo Sans", Roboto, Arial, sans-serif;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    border: none;
    transition: all .2s;
}
.btn-tv--pink {
    background: #E4097F;
    color: #fff;
}
.btn-tv--pink:hover {
    background: #c4056d;
    color: #fff;
}
.btn-tv--outline {
    background: transparent;
    color: #fff;
    box-shadow: inset 0 0 0 2px #fff;
}
.btn-tv--outline:hover {
    background: rgba(255,255,255,0.12);
}
.btn-tv--white {
    background: #fff;
    color: #005BEF !important;
}
.btn-tv--white:hover {
    background: #f0f0f5;
    color: #005BEF !important;
}
.btn-tv--arrow::after {
    content: "→";
    margin-left: 12px;
    font-size: 18px;
    line-height: 1;
}
/* ===== /Единый класс кнопок ===== */

/* ===== Секция тарифов (prc) — новый дизайн ===== */
.prc {
    position: relative;
    overflow: hidden;
}
.prc--tariffs {
    /* background: #eef1f8 url('img/prc-bg.jpg') center center / cover no-repeat; */
    background: #eef1f8;
}
/* Шторки нужны были под фоновую картинку — с однотонным фоном отключены */
.prc--tariffs::after {
    content: none;
}
.prc--in {
    position: relative;
    z-index: 2;
    padding: 48px 0 56px;
}
.prc__ttl {
    text-align: center !important;
    font: 900 34px 'Gotham Pro', sans-serif !important;
    color: #1A1730;
    margin: 0 0 28px;
}
/* Переключатель — белая капсула, активная кнопка голубая */
.prc__navs {
    display: inline-flex !important;
    margin: 0 auto 36px !important;
    padding: 0 !important;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    list-style: none;
    gap: 0;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
    width: auto !important;
    overflow: hidden;
}
.prc__nav {
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 15px 34px !important;
    margin: 0 !important;
    border-radius: 8px;
    font: 700 15px 'Museo Sans', Roboto, Arial, sans-serif;
    color: #005BEF;
    background: transparent !important;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
    min-width: 0 !important;
}
.prc__nav.active {
    background: #005BEF !important;
    color: #fff !important;
}
.prc__nav__ic {
    display: none !important;
}
.prc__nav__txt {
    margin: 0 !important;
}
/* Сетка карточек — ровно 3 в ряд */
.prc__itsw {
    width: 100%;
}
.prc__its {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.prc__it {
    width: 280px !important;
    max-width: 100%;
    margin: 0 !important;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(23,23,48,0.10);
    padding: 26px 22px !important;
    text-align: center;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}
.prc__it__ttl {
    font: 700 25px 'Museo Sans', Roboto, Arial, sans-serif !important;
    color: #005BEF !important;
    margin: 6px 0 16px !important;
    padding-bottom: 0;
    width: 100%;
    border-bottom: none;
    text-align: center !important;
}
.prc__it__price {
    display: inline-flex !important;
    align-items: flex-start;
    justify-content: center;
    margin: 6px 0 16px !important;
}
.prc__it__price__val {
    font: 400 58px/1 'Gotham Pro', 'Museo Sans', sans-serif !important;
    color: #1A1730 !important;
    letter-spacing: -1px;
}
.prc__it__price__unit {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    margin-left: 6px;
    margin-top: 8px;
    font: 700 10px/1.3 'Museo Sans', Roboto, Arial, sans-serif !important;
    color: #1A1730 !important;
    text-transform: uppercase;
}
.prc__it__price__unit .line {
    display: block;
    width: 100%;
    height: 1px;
    background: #1A1730;
    margin: 1px 0;
}
.prc__it__speed {
    font: 500 17px 'Museo Sans', Roboto, Arial, sans-serif !important;
    color: #1A1730 !important;
    margin: 0 0 8px !important;
}
.prc__it__title {
    font: 500 13px 'Museo Sans', Roboto, Arial, sans-serif !important;
    color: #1A1730 !important;
    margin: 0 0 20px !important;
}
.prc__it__btw {
    margin: auto 0 0 !important;
    width: 100%;
}
.prc__it__bt {
    width: 100%;
}
/* Кнопка "Все интернет тарифы" — прозрачная с голубым бордером и стрелкой */
.prc__morew {
    text-align: center;
    margin: 36px 0 0;
}
.prc__more {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    padding: 16px 32px !important;
    border-radius: 8px;
    background: transparent !important;
    color: #005BEF !important;
    box-shadow: inset 0 0 0 2px #005BEF;
    font: 500 16px 'Museo Sans', Roboto, Arial, sans-serif !important;
}
.prc__more::after {
    content: "→";
    font-size: 18px;
    line-height: 1;
}
.prc__more:hover {
    background: rgba(0,91,239,0.08) !important;
}
/* ===== /Секция тарифов ===== */

/* ===== СЕКЦИЯ НОВОСТЕЙ (news2026) ===== */
.news-sec {
    background: #eff1fd;
    padding: 48px 0 56px;
}
.news-sec .prc--in { position: relative; }
.news2026--in { margin: 0 16px; }
@media (min-width: 480px) { .news2026--in { margin: 0 20px; } }
@media (min-width: 1240px) {
    .news2026--in { width: 1200px; margin-left: auto; margin-right: auto; }
}

/* Шапка */
.news2026__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}
.news2026__ttl {
    font: 900 32px 'Gotham Pro', sans-serif;
    color: #1A1730;
    margin: 0;
}
.btn-tv-outline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    border-radius: 8px;
    background: transparent;
    color: #005BEF;
    box-shadow: inset 0 0 0 2px #005BEF;
    font: 500 15px 'Museo Sans', Roboto, Arial, sans-serif;
    white-space: nowrap;
    transition: all .2s;
}
.btn-tv-outline:hover { background: rgba(0,91,239,0.08); color: #005BEF; }
.btn-tv-outline .arr { font-size: 17px; line-height: 1; }

/* Ряд карточек — flex, карточки одинаковой высоты (stretch) */
.news2026__list {
    display: flex;
    align-items: stretch;
    gap: 18px;
    list-style: none;
    margin: 0;
    padding: 0;
}
/* Карточка: картинка слева 50%, текст справа; равные внутренние отступы (padding) */
.news2026__it {
    flex: 1 1 0;
    display: flex;
    gap: 16px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(23,23,48,0.07);
    padding: 8px;
    min-width: 0;
    aspect-ratio: 2 / 1;
}
/* Картинка 50%, тянется на всю высоту контентной части (равные отступы за счёт padding карточки) */
.news2026__it__pic {
    flex: 0 0 50%;
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #f3f4fb;
    align-self: stretch;
}
.news2026__it__pic__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Правая колонка: заголовок(фикс. зона) / анонс(растягивается) / кнопка(снизу) */
.news2026__it__info {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 4px 0;
}
/* Зона заголовка: одинаковая высота у всех (min-height), текст центрирован по вертикали,
   не более 3 строк — если длиннее, обрезается многоточием */
.news2026__it__ttl {
    display: flex;
    align-items: center;
    min-height: 80px;
    max-height: 80px;
    font: 700 16px/1.25 'Museo Sans', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0 0 12px;
    overflow: hidden;
}
.news2026__it__ttl > .clamp {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* Анонс занимает оставшееся место, обрезается по строкам */
.news2026__it__txt {
    flex: 1 1 auto;
    font: 400 13px/1.45 'Museo Sans', Roboto, Arial, sans-serif;
    color: #8a8a99;
    margin: 0 0 14px;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* Кнопка прижата к низу — у всех карточек на одном уровне */
.news2026__it__more {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #005BEF;
    font: 500 13px 'Museo Sans', Roboto, Arial, sans-serif;
}
.news2026__it__more .arr { font-size: 15px; line-height: 1; }

@media (max-width: 900px) {
    .news2026__list { flex-wrap: wrap; }
    .news2026__it { flex: 1 1 100%; aspect-ratio: auto; }
}
/* ===== /СЕКЦИЯ НОВОСТЕЙ ===== */

/* ===== ПРОМО-БАННЕР ТВ-ШОУ (tvpromo) ===== */
.tvpromo {
    padding: 0 0 40px;
    background: #eff1fd;
}
/* Контейнер — та же ширина, что у новостей/преимуществ */
.tvpromo--in {
    margin: 0 16px;
    border-radius: 18px;
    overflow: hidden;
    background: #B0026F url('img/tvpromo-bg.png') right center / cover no-repeat;
    height: 240px;
    display: flex;
    align-items: center;
}
@media (min-width: 480px) {
    .tvpromo--in { margin: 0 20px; }
}
@media (min-width: 1240px) {
    .tvpromo--in {
        width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
}
.tvpromo__info {
    padding: 0 44px;
    color: #fff;
    max-width: 52%;
}
.tvpromo__ttl {
    font: 500 38px/1.05 'Gotham Pro', sans-serif;
    color: #fff;
    margin: 0;
}
.tvpromo__sttl {
    font: 300 30px/1.05 'Gotham Pro', 'Museo Sans', sans-serif;
    color: #fff;
    margin: 0;
}
.tvpromo__txt {
    font: 400 14px/1.4 'Museo Sans', Roboto, Arial, sans-serif;
    color: #fff;
    margin: 14px 0 18px;
    opacity: .95;
}
/* Мобильная версия — фон затемняем, текст на всю ширину, высота по контенту */
@media (max-width: 767px) {
    .tvpromo--in {
        height: auto;
        min-height: 200px;
        background:
            linear-gradient(rgba(120,2,80,0.7), rgba(120,2,80,0.7)),
            url('img/tvpromo-bg.png') center center / cover no-repeat;
        padding: 32px 0;
    }
    .tvpromo__info {
        max-width: 100%;
        padding: 0 24px;
    }
    .tvpromo__ttl { font-size: 28px; }
    .tvpromo__sttl { font-size: 24px; }
}
/* ===== /ПРОМО-БАННЕР ТВ-ШОУ ===== */




/* ===== Единый шрифт сайта — Montserrat ===== */
body, button, input, textarea, select {
    font-family: 'Montserrat', Roboto, Arial, sans-serif;
}
/* Перекрываем старые семейства в существующих правилах */
[class*="__ttl"], [class*="__sttl"], h1, h2, h3, .prc__it__price__val, .home__ttl, .tvpromo__ttl {
    font-family: 'Montserrat', Roboto, Arial, sans-serif !important;
}
/* ===== /Единый шрифт ===== */

/* ===== Hero: видео-планета ===== */
.home__video { display: none; }
@media (min-width: 1024px) {
    .home { position: relative; }
    .home__video {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: auto;                            /* ширина подстраивается под высоту */
        z-index: 1;
        overflow: hidden;
    }
    /* видео прижато к правому краю контейнера, а не экрана */
    @media (min-width: 1240px) {
        .home__video { right: calc((100vw - 1213px) / 2); }
    }
    .home__video__el {
        display: block;
        width: auto;
        height: 100%;
        object-fit: contain;                    /* видео целиком, без обрезки */
        object-position: right center;
    }
    /* Кнопка Play — показывается, только если автоплей заблокирован */
    .home__video__play {
        display: none;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
        z-index: 2;
        transition: transform .2s;
    }
    .home__video__play:hover { transform: translate(-50%,-50%) scale(1.06); }
}
/* ===== /Hero: видео ===== */

/* ============================================================
   ОБЩИЕ КОМПОНЕНТЫ САЙТА (используются на всех страницах)
   ============================================================ */

/* ---------- Контейнер ---------- */
.tv-container {
    margin: 0 16px;
}
@media (min-width: 480px) { .tv-container { margin: 0 20px; } }
@media (min-width: 1240px) {
    .tv-container { width: 1200px; margin-left: auto; margin-right: auto; }
}

/* ---------- Заголовок секции ---------- */
.tv-section-ttl {
    font: 700 32px/1.15 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    text-align: center;
    margin: 0 0 28px;
}
.tv-section-ttl--left { text-align: left; }
@media (max-width: 767px) { .tv-section-ttl { font-size: 24px; } }

/* ---------- HERO страницы (общий, во всю ширину) ---------- */
.tv-hero {
    position: relative;
    color: #fff;
    background: radial-gradient(120% 120% at 78% 45%, #0b4fd8 0%, #0733a6 42%, #04206e 100%);
    overflow: hidden;
}
.tv-hero__in {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 40px 0 78px;
    margin: 0 16px;
}
@media (min-width: 480px) { .tv-hero__in { margin: 0 20px; } }
@media (min-width: 1240px) {
    .tv-hero__in { width: 1200px; margin-left: auto; margin-right: auto; }
}
.tv-hero__info { flex: 0 1 48%; min-width: 0; }
.tv-hero__pic  {
    flex: 0 1 52%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tv-hero__pic img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 440px;   /* примерно вровень с текстовым блоком слева */
}
.tv-hero__ttl {
    font: 700 42px/1.05 'Montserrat', Roboto, Arial, sans-serif;
    margin: 0 0 16px;
    color: #fff;
}
.tv-hero__txt {
    font: 400 15px/1.55 'Montserrat', Roboto, Arial, sans-serif;
    color: rgba(255,255,255,.94);
    margin: 0;
    max-width: 460px;
}
@media (max-width: 900px) {
    .tv-hero__in { flex-direction: column; padding: 28px 0 80px; }
    .tv-hero__pic { order: -1; }
    .tv-hero__txt { max-width: none; }
}

/* ---------- Полоса преимуществ (выходит за низ hero) ---------- */
.tv-featbar-sec {
    position: relative;
    z-index: 2;
}
.tv-featbar-wrap {
    /* полоса выходит за баннер: ~80% на синем, низ — на фоне страницы */
    margin-top: -62px;
}
.tv-featbar {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(23,23,48,.10);
    padding: 20px 22px;
}
.tv-featbar__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 16px 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.tv-featbar__it {
    display: flex;
    align-items: center;
    gap: 12px;
    font: 600 13px/1.3 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
}
.tv-featbar__it img { width: 38px; height: 38px; flex-shrink: 0; object-fit: contain; }

/* ---------- Переключатель: отдельные кнопки ---------- */
.tv-switch {
    display: flex;
    flex-wrap: wrap;          /* на узких экранах кнопки переносятся */
    justify-content: center;
    gap: 12px;
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
    background: none;
    box-shadow: none;
}
.tv-switch__it {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    width: 230px;            /* одинаковая ширина обеих кнопок */
    box-sizing: border-box;
    padding: 0 18px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(23,23,48,.08);
    font: 600 14px/1 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    cursor: pointer;
    transition: background .2s, color .2s;
    white-space: nowrap;
}
.tv-switch__it img { width: 22px; height: 22px; object-fit: contain; flex-shrink: 0; }
.tv-switch__it.active {
    background: linear-gradient(90deg, #FF0093 0%, #8D4DDB 55%, #0036FB 100%);
    color: #fff;
}
/* если старый скрипт подменит класс — не даём растянуться */
.tv-switch .prc__nav,
.tv-switch__it {
    flex: 0 0 auto !important;
    width: 230px !important;
    max-width: none;
    margin: 0 !important;
}

/* ---------- Карточка тарифа (внутренние страницы) ---------- */
.tv-tariffs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.tv-tariff {
    position: relative;
    flex: 1 1 200px;
    max-width: 230px;
    background: #fff;
    border: 1px solid #e8ebf5;
    border-radius: 14px;
    padding: 26px 20px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    transition: all .2s;
}
.tv-tariff:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(23,23,48,.12);
}
.tv-tariff__ttl {
    font: 700 19px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0 0 12px;
}
.tv-tariff__speed {
    font: 500 14px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0 0 16px;
}
.tv-tariff__list {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    font: 400 12px/1.5 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
}
.tv-tariff__price {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 5px;
    margin: auto 0 18px;
}
.tv-tariff__price b {
    font: 400 34px/1 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
}
.tv-tariff__price span {
    font: 600 10px/1.25 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    text-transform: uppercase;
    padding-top: 4px;
}
/* Выделенный тариф */
.tv-tariff--featured {
    border-color: #E4097F;
    box-shadow: 0 10px 28px rgba(228,9,127,.15);
}
.tv-tariff__badge {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background: #E4097F;
    color: #fff;
    font: 700 11px 'Montserrat', Roboto, Arial, sans-serif;
    padding: 6px 16px;
    border-radius: 20px;
    white-space: nowrap;
}

/* ---------- Карточка оборудования ---------- */
.tv-equips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.tv-equip {
    flex: 1 1 220px;
    max-width: 270px;
    background: #fff;
    border: 1px solid #dfe6fb;
    border-radius: 14px;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    transition: all .2s;
}
.tv-equip:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(23,23,48,.12);
}
.tv-equip__pic {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
.tv-equip__pic img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tv-equip__ttl {
    font: 600 13px/1.4 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
    margin: 0 0 12px;
}
.tv-equip__price {
    font: 700 22px 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
    margin: auto 0 14px;
}
.tv-equip__more {
    width: 34px;
    height: 34px;
    margin: 0 auto;
    border-radius: 50%;
    border: 1px solid #005BEF;
    color: #005BEF;
    background: #fff;
    font-size: 20px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s;
}
.tv-equip__more:hover { background: #005BEF; color: #fff; }

/* ---------- Информационная плашка ---------- */
.tv-note {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #eef3ff;
    border: 1px solid #d5e0fb;
    border-radius: 12px;
    padding: 18px 22px;
    font: 400 13px/1.5 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 26px 0;
}
.tv-note__ic {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #005BEF;
    color: #fff;
    font: 700 15px/26px 'Montserrat', sans-serif;
    text-align: center;
}

/* ---------- Аккордеон (ЧаВо) ---------- */
.tv-acc { list-style: none; margin: 0; padding: 0; }
.tv-acc__it {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
}
.tv-acc__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    cursor: pointer;
    font: 500 14px/1.4 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
}
.tv-acc__q::after {
    content: '+';
    flex-shrink: 0;
    color: #E4097F;
    font-size: 22px;
    line-height: 1;
    transition: transform .2s;
}
.tv-acc__it.open .tv-acc__q::after { transform: rotate(45deg); }
.tv-acc__a {
    display: none;
    padding: 0 22px 20px;
    font: 400 13px/1.6 'Montserrat', Roboto, Arial, sans-serif;
    color: #4a4a5a;
}
.tv-acc__it.open .tv-acc__a { display: block; }

/* ---------- Нижняя полоса ссылок ---------- */
.tv-linkbar {
    background: #0b2a86;
    border-radius: 14px;
    padding: 22px 24px;
    margin: 40px 0;
}
.tv-linkbar__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    gap: 18px 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.tv-linkbar__it {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #fff;
    font: 500 14px/1.35 'Montserrat', Roboto, Arial, sans-serif;
}
.tv-linkbar__it img { width: 46px; height: 46px; flex-shrink: 0; object-fit: contain; }
/* ============================================================
   /ОБЩИЕ КОМПОНЕНТЫ
   ============================================================ */

/* ---------- Страница ИНТЕРНЕТ ---------- */
.tv-hero__titleimg { display: block; max-width: 100%; height: auto; margin-bottom: 18px; }
.inet { background: #eff1fd; }
.inet--in { padding: 20px 0 48px; }
@media (min-width: 1240px) { .inet--in { width: 1200px; margin: 0 auto; } }
.job { background: #eff1fd; }
.job--in { padding: 8px 0 56px; }
@media (min-width: 1240px) { .job--in { width: 1200px; margin: 0 auto; } }
/* ---------- /Страница ИНТЕРНЕТ ---------- */

/* ============================================================
   КАРТОЧКИ ТАРИФОВ (внутренние страницы) — .tvt
   ============================================================ */
.tvt-sec { background: #eff1fd; padding: 26px 0 44px; }
.tvt-sec__in { margin: 0 16px; }
@media (min-width: 480px) { .tvt-sec__in { margin: 0 20px; } }
@media (min-width: 1240px) { .tvt-sec__in { width: 1200px; margin: 0 auto; } }

/* Ряд карточек + стрелки по бокам */
.tvt-row { position: relative; }
.tvt__list {
    display: flex;
    justify-content: center;   /* центрируем ряд */
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 18px 0 0;             /* место под бейдж «СУПЕР БЫСТРО» */
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
}
.tvt__list::-webkit-scrollbar { display: none; }

.tvt {
    position: relative;
    flex: 0 0 auto;
    width: calc((100% - 10px * 4) / 5);
    max-width: 200px;
    min-width: 0;
    min-height: 340px;
    background: #fff;
    border: 1px solid #e6e9f5;
    border-radius: 16px;
    padding: 32px 13px 26px;
    text-align: center;
    display: flex;
    flex-direction: column;
    transition: all .2s;
}
.tvt:hover { box-shadow: 0 12px 26px rgba(23,23,48,.10); }

/* Выделенный тариф — градиентная рамка */
.tvt--selected {
    border: 2px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #FF0093 0%, #8D4DDB 55%, #0036FB 100%) border-box;
    box-shadow: 0 14px 30px rgba(228,9,127,.14);
}
.tvt { cursor: pointer; }
.tvt__badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #FF0093 0%, #8D4DDB 60%, #0036FB 100%);
    color: #fff;
    font: 700 10px/1 'Montserrat', Roboto, Arial, sans-serif;
    letter-spacing: .3px;
    padding: 7px 14px;
    border-radius: 20px;
    white-space: nowrap;
    display: none;                /* виден только у выбранного тарифа */
    align-items: center;
    gap: 5px;
}
/* показываем бейдж у выбранной карточки */
.tvt--selected .tvt__badge { display: inline-flex; }
.tvt__badge b { font-size: 11px; }

/* Заголовок тарифа — СИНИЙ (в отличие от главной) */
.tvt__ttl {
    font: 700 20px/1.15 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;                 /* чёрный, как в макете */
    margin: 0 0 16px;
}
/* Скорость */
.tvt__speed {
    font: 500 13px/1.3 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0 0 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eceff8;
}
/* Блок опций (IPTV) — ЧЁРНЫЙ текст */
.tvt__opts {
    font: 500 12px/1.5 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0 0 20px;
}
.tvt__opts p { margin: 0 0 4px; }
/* Цена */
.tvt__price {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    margin: auto 0 20px;
}
.tvt__price b {
    font: 600 30px/1 'Montserrat', Roboto, Arial, sans-serif;   /* жирнее */
    color: #1A1730;
}
.tvt__price span {
    font: 600 9px/1.25 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    padding-top: 3px;
    text-align: left;
}
/* Кнопка: обычная — контурная розовая; выделенная — градиент */
.tvt__btw { margin: 0; }
.tvt__bt {
    display: block;
    width: calc(100% - 8px);
    max-width: 160px;
    margin: 0 auto;
    padding: 11px 8px;
    box-sizing: border-box;
    border-radius: 22px;
    background: #fff;
    color: #FF0093;
    box-shadow: inset 0 0 0 1px #FFB3DC;
    font: 600 12px 'Montserrat', Roboto, Arial, sans-serif;
    cursor: pointer;
    transition: all .2s;
}
.tvt__bt:hover { box-shadow: inset 0 0 0 1px #FF0093; }
.tvt--selected .tvt__bt {
    background-image: linear-gradient(90deg, #FF0093 0%, #8D4DDB 60%, #0036FB 100%);
    -webkit-background-clip: border-box;
    background-clip: border-box;
    color: #fff;
    -webkit-text-fill-color: #fff;
    box-shadow: none;
}
.tvt--selected .tvt__bt:hover { filter: brightness(1.06); }

/* Стрелки навигации — обе белые, градиент только при наведении/нажатии */
.tvt-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    background: #fff;
    box-shadow: 0 6px 18px rgba(23,23,48,.14);
    color: #FF0093;
    font: 300 40px/1 'Montserrat', Arial, sans-serif;   /* крупная стрелка */
    padding-bottom: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: all .2s;
}
.tvt-nav--prev { left: -20px; }
.tvt-nav--next { right: -20px; }
.tvt-nav:hover,
.tvt-nav:active {
    background: linear-gradient(135deg, #FF0093 0%, #8D4DDB 55%, #0036FB 100%);
    color: #fff;
}

/* Точки-пагинация — одинаковый размер, активная заливается градиентом */
.tvt-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
}
.tvt-dots__it {
    width: 26px;
    height: 4px;
    border-radius: 3px;
    background: #d5dbeb;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background .2s;
}
.tvt-dots__it.active,
.tvt-dots__it.selected {
    background: linear-gradient(90deg, #FF0093, #0036FB);
}

@media (max-width: 1100px) {
    .tvt { width: calc((100% - 14px * 2) / 3); }
    .tvt-nav--prev { left: -6px; }
    .tvt-nav--next { right: -6px; }
}
@media (max-width: 700px) {
    .tvt { width: calc((100% - 14px) / 2); }
}
@media (max-width: 480px) {
    .tvt { width: 82%; }
}

/* ============================================================
   КАРТОЧКИ ОБОРУДОВАНИЯ — .tve
   ============================================================ */
.tve-sec { background: #eff1fd; padding: 10px 0 56px; }
.tve-sec__box {
    background: #fff;
    border-radius: 18px;
    padding: 34px 28px 38px;
    margin: 0 16px;
}
@media (min-width: 480px) { .tve-sec__box { margin: 0 20px; } }
@media (min-width: 1240px) { .tve-sec__box { width: 1144px; margin: 0 auto; } }

.tve__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.tve {
    flex: 1 1 220px;
    max-width: 258px;
    background: #fff;
    border: 1px solid #d9e3fb;
    border-radius: 14px;
    transition: all .2s;
}
.tve:hover { box-shadow: 0 12px 26px rgba(23,23,48,.12); }
.tve {
    position: relative;
    padding-bottom: 26px;          /* место под кнопку «+» на границе */
}
.tve__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 26px 18px 24px;
    min-height: 380px;             /* выше */
    box-sizing: border-box;
}
.tve__pic {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 160px;
    margin-bottom: 16px;
}
.tve__pic img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tve__ttl {
    font: 700 13px/1.45 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
    margin-bottom: 14px;
}
.tve__price {
    font: 700 22px 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
    margin: auto 0 14px;
}
.tve__price i { font-style: normal; font-size: 15px; }
/* Кнопка «+» — по центру на нижней границе карточки */
.tve__more {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    line-height: 1;
    border-radius: 50%;
    border: 1.5px solid #005BEF;
    background: #fff;
    color: #005BEF;
    font: 700 26px/1 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all .2s;
    z-index: 2;
}
.tve__more:hover { background: #005BEF; color: #fff; }
/* ============================================================ */

/* ---------- Модалка описания оборудования ---------- */
.tvem {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(10,20,60,.55);
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.tvem.show { display: flex; }
.tvem__box {
    position: relative;
    background: #fff;
    border-radius: 16px;
    max-width: 560px;
    width: 100%;
    max-height: 88vh;
    overflow: auto;
    padding: 30px 32px 34px;
    box-sizing: border-box;
}
.tvem__close {
    position: absolute;
    top: 14px; right: 16px;
    width: 36px; height: 36px;
    border: none; background: none;
    font-size: 30px; line-height: 1;
    color: #9aa3bf; cursor: pointer;
    z-index: 5;                 /* поверх картинки и текста */
    display: flex;
    align-items: center;
    justify-content: center;
}
.tvem__close:hover { color: #1A1730; }
.tvem__pic {
    display: flex; align-items: center; justify-content: center;
    height: 190px; margin-bottom: 18px;
}
.tvem__pic img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tvem__ttl {
    font: 700 19px/1.35 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF; margin: 0 0 10px; text-align: center;
}
.tvem__price {
    font: 700 26px 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF; margin: 0 0 18px; text-align: center;
}
.tvem__descr {
    font: 400 13px/1.6 'Montserrat', Roboto, Arial, sans-serif;
    color: #4a4a5a;
}

/* Скрытие неактивной вкладки тарифов */
.prc__itsw.is-hidden { display: none; }

/* Фон всей страницы нового шаблона */
.page--in { background: #eff1fd; }

/* ---------- Иконки переключателя (inline SVG) ---------- */
.tv-switch__ic {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    color: #005BEF;          /* неактивное состояние — синие */
    transition: color .2s;
}
.tv-switch__it.active .tv-switch__ic { color: #fff; }   /* активное — белые */

/* «окна» в иконках — цвет фона кнопки, чтобы читались в обоих состояниях */
.tv-switch__win { fill: #fff; }
.tv-switch__it.active .tv-switch__win { fill: #0036FB; }

/* Переключатель тарифов на мобильных */
@media (max-width: 560px) {
    .tv-switch__it,
    .tv-switch .prc__nav {
        width: 100% !important;   /* каждая кнопка на своей строке */
        max-width: 320px;
    }
}
@media (max-width: 380px) {
    .tv-switch__it { font-size: 13px; padding: 0 12px; }
}

/* ============================================================
   СТРАНИЦА БИЗНЕС
   ============================================================ */
/* Hero с фотографией офиса */
.tv-hero--biz {
    background: #eaf1ff url('img/biz-hero.jpg') right center / auto 100% no-repeat;
    position: relative;
    overflow: hidden;
}
/* картинка у правого края контейнера + растворение правого края */
@media (min-width: 1400px) {
    .tv-hero--biz {
        background-position: right calc((100vw - 1240px) / 2) center;
    }
}

.tv-hero--biz::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #eaf1ff 0%, rgba(234,241,255,.94) 34%, rgba(234,241,255,.55) 37%, rgba(234,241,255,0) 46%);
}
.tv-hero--biz .tv-hero__in { position: relative; z-index: 2; padding: 44px 0 46px; }
.tv-hero--biz .tv-hero__info { flex: 0 1 56%; }
.tv-hero__ttl--biz {
    font: 900 44px/1.04 'Montserrat', Roboto, Arial, sans-serif;
    color: #0B2A86;
    margin: 0 0 12px;
}
.tv-hero__sub {
    font: 500 15px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0 0 20px;
}
.tv-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 22px; }
.btn-tv--ghost {
    background: #fff;
    color: #005BEF !important;
    box-shadow: inset 0 0 0 1px #b9cdf7;
}
.btn-tv--ghost:hover { box-shadow: inset 0 0 0 1px #005BEF; }
/* карточка проверки адреса на светлом hero */
.tv-hero__check {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(23,23,48,.12);
    padding: 18px 20px;
    max-width: 420px;
    color: #1A1730;
}
.tv-hero__check .check__ttl {
    font: 700 14px/1.3 'Montserrat', Roboto, Arial, sans-serif !important;
    width: auto !important;
    margin-bottom: 12px;
}
.tv-hero__check .check__form { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.tv-hero__check .form__item--addr1 { flex: 1 1 200px; margin: 0; position: relative; }
.tv-hero__check .form__input--addr1 {
    width: 100%; padding: 11px 14px;
    border: 1px solid #d5ddf3; border-radius: 8px; background: #fff;
}
.tv-hero__check .form__item--send { margin: 0; }
@media (max-width: 900px) {
    .tv-hero--biz { background-position: 70% center; }
    .tv-hero--biz .tv-hero__info { flex: 1 1 100%; }
}


/* --- IP-телевидение: карточки слева, картинка справа --- */
.biz-iptv {
    display: flex;
    gap: 24px;
    align-items: stretch;
}
.biz-iptv__cards { flex: 0 1 42%; min-width: 0; }
.biz-iptv__pic {
    flex: 1 1 58%;
    min-width: 0;
    border-radius: 16px;
    overflow: hidden;
}
.biz-iptv__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* карточка IPTV — текст слева */
.tvt--iptv { text-align: left; padding: 24px 16px; }
.tvt__ttl--left { text-align: left !important; }
.tvt__price--left { justify-content: flex-start; }
.tvt__price--left span { font-size: 11px; padding-top: 8px; }
.tvt__feats {
    font: 400 12px/1.5 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0 0 18px;
}
.tvt__feats p { margin: 0 0 8px; padding-left: 18px; position: relative; }
.tvt__feats p::before {
    content: '✓';
    position: absolute; left: 0; top: 0;
    color: #005BEF; font-size: 11px;
}
@media (max-width: 900px) {
    .biz-iptv { flex-direction: column; }
    .biz-iptv__cards, .biz-iptv__pic { flex: 1 1 100%; }
    .biz-iptv__pic { height: 240px; }
}

/* --- IP-телефония --- */
.biz-phone {
    display: flex;
    gap: 24px;
    align-items: stretch;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(23,23,48,.07);
}
.biz-phone__pic { flex: 0 0 34%; min-width: 0; }
.biz-phone__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.biz-phone__info { flex: 1 1 66%; padding: 26px 30px 26px 6px; }
.biz-phone__prices { display: flex; gap: 40px; flex-wrap: wrap; margin-bottom: 18px; }
.biz-phone__price__lbl {
    display: block;
    font: 600 12px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730; margin-bottom: 4px;
}
.biz-phone__price__val {
    font: 700 30px/1 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
}
.biz-phone__price__val i {
    font-style: normal; font-size: 12px; font-weight: 600; color: #1A1730;
}
.biz-phone__list { list-style: none; margin: 0; padding: 0; }
.biz-phone__list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    font: 400 12.5px/1.55 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
}
.biz-phone__list li::before {
    content: '✓';
    position: absolute; left: 0; top: 1px;
    color: #005BEF; font-size: 11px;
}
@media (max-width: 900px) {
    .biz-phone { flex-direction: column; }
    .biz-phone__pic { height: 220px; }
    .biz-phone__info { padding: 22px 20px; }
}
/* ============================================================ */

/* ---------- Правки страницы БИЗНЕС (по замечаниям) ---------- */

/* 2. Карточка проверки адреса шире */
.tv-hero__check { max-width: 480px; }

/* 3. Кнопки в карточках тарифов бизнеса и IPTV — крупнее, прямоугольные */
#biz-tariffs .tvt__bt,
#biz-iptv .tvt__bt,
#video-tariffs .tvt__bt {
    padding: 22px;
    border-radius: 10px;
    text-align: center;
    max-width: none;
    width: 100%;
    font-size: 13px;
}

/* 4. IPTV: карточки уже, картинка шире */
.biz-iptv__cards { flex: 0 1 28%; }
.biz-iptv__pic   { flex: 1 1 72%; }

/* 5. IP-телефония: текст крупнее */
.biz-phone__list li {
    font: 400 14.5px/1.55 'Montserrat', Roboto, Arial, sans-serif;
}
/* подписи и единицы — синие, как цены */
.biz-phone__price__lbl { color: #005BEF; }
.biz-phone__price__val i { color: #005BEF; }
/* разделитель между ценами */
.biz-phone__prices {
    gap: 0;
    align-items: stretch;
}
.biz-phone__price {
    padding: 0 34px;
}
.biz-phone__price:first-child { padding-left: 0; }
.biz-phone__price + .biz-phone__price {
    border-left: 1px solid rgba(0,91,239,.22);
}
/* 6. Картинка телефона целиком, не обрезается */
.biz-phone__pic {
    flex: 0 0 34%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 0 18px 18px;
    box-sizing: border-box;
}
.biz-phone__pic img {
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 12px;
}
@media (max-width: 900px) {
    .tvt__list--iptv .tvt { width: 100%; }
    .biz-phone__price { padding: 0 0 12px; }
    .biz-phone__price + .biz-phone__price { border-left: none; padding-top: 12px; border-top: 1px solid rgba(0,91,239,.22); }
}

/* ============================================================
   БИЗНЕС: карточки тарифов (порядок: название → цена → описание → кнопка)
   Только для .tvt--biz, страницу «Интернет» не затрагивает
   ============================================================ */
.tvt--biz {
    min-height: 0;                 /* высота по контенту */
    padding: 24px 13px 20px;
    max-width: 200px;
}
.tvt--biz .tvt__ttl {
    color: #005BEF;
    font-size: 18px;
    margin: 0 0 10px;
}
.tvt--biz .tvt__price {
    margin: 0 0 14px;
    align-items: flex-start;
}
.tvt--biz .tvt__price b { font-size: 28px; font-weight: 600; }
.tvt--biz .tvt__price span {
    font-size: 9px;
    line-height: 1.15;
    padding-top: 4px;
    text-align: left;
}
.tvt--biz .tvt__speed {
    border: none;
    padding-bottom: 0;
    margin: 0 0 18px;
    font-size: 13px;
    font-weight: 600;
}
.tvt--biz .tvt__speed__lbl {
    display: block;
    font-weight: 400;
    font-size: 11px;
    color: #9aa3bf;
    margin-bottom: 2px;
}
/* Кнопки в бизнес-тарифах — всегда градиент */
#biz-tariffs .tvt__bt,
#biz-iptv .tvt__bt,
#video-tariffs .tvt__bt {
    background: linear-gradient(90deg, #FF0093 0%, #8D4DDB 60%, #0036FB 100%) !important;
    color: #fff !important;
    box-shadow: none !important;
    padding: 16px 12px;
    border-radius: 10px;
    text-align: center;
    width: 100%;
    max-width: none;
    font-size: 13px;
}
#biz-tariffs .tvt__bt:hover,
#biz-iptv .tvt__bt:hover,
#video-tariffs .tvt__bt:hover { filter: brightness(1.06); }

/* IPTV: карточки шире, картинка меньше и симметрична */
.biz-iptv__cards { flex: 0 1 42%; }
.biz-iptv__pic   { flex: 0 1 58%; align-self: center; }
.biz-iptv__pic img {
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 16px;
}

/* IP-телефония: картинка сбоку от белого блока, без внутренних отступов */
.biz-phone {
    background: none;
    box-shadow: none;
    border-radius: 0;
    align-items: center;
    gap: 20px;
}
.biz-phone__pic {
    flex: 0 0 32%;
    padding: 0;
    border-radius: 16px;
    overflow: hidden;
}
.biz-phone__pic img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
}
.biz-phone__info {
    flex: 1 1 68%;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(23,23,48,.07);
    padding: 26px 30px;
}
@media (max-width: 900px) {
    .biz-iptv__cards, .biz-iptv__pic { flex: 1 1 100%; }
    .biz-phone__pic { flex: 1 1 100%; }
}

/* Описание в карточке бизнес-тарифа */
.tvt--biz .tvt__opts {
    font: 400 12px/1.5 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0 0 18px;
}

/* Карточки IPTV — ширина как у остальных тарифов */
.tvt__list--iptv .tvt {
    width: calc((100% - 12px) / 2);
    max-width: 200px;
}
@media (max-width: 900px) {
    .tvt__list--iptv .tvt { width: 100%; max-width: 320px; }
}

/* Выравнивание карточек IPTV по высоте с картинкой справа */
#biz-iptv .tvt__list { padding-top: 0; }
#biz-iptv .tvt-row   { padding-top: 5px; }
#biz-iptv .tvt       { min-height: 300px; }

/* IPTV: контент прижат к верху, кнопка внизу */
#biz-iptv .tvt__price { margin-top: 0; margin-bottom: 14px; }
#biz-iptv .tvt__feats { margin-bottom: 18px; }
#biz-iptv .tvt__btw   { margin-top: auto; }

/* IP-телефония: картинка вплотную к текстовому блоку */
.biz-phone { gap: 0; }
.biz-phone__pic { flex: 0 0 34%; }

/* ============================================================
   МОБИЛЬНЫЕ ПРАВКИ
   ============================================================ */

/* --- Скролл рядов карточек: при переполнении не центрируем,
       иначе левая часть недоступна для прокрутки --- */
.tvt__list {
    justify-content: flex-start;
}
/* центрируем только когда всё помещается */
@media (min-width: 1240px) {
    .tvt__list { justify-content: center; }
}
/* запас по бокам, чтобы крайние карточки не липли к краю */
.tvt__list::after {
    content: '';
    flex: 0 0 1px;
}

@media (max-width: 900px) {
    /* ряд скроллится свободно, стрелки не мешают */
    .tvt__list { padding-left: 2px; padding-right: 2px; scroll-padding-left: 2px; }
    .tvt-nav { display: none !important; }   /* на мобильных листаем пальцем */
}

/* --- ГЛАВНАЯ: hero-кнопки в столбик --- */
@media (max-width: 600px) {
    .home__btns {
        flex-direction: column;
        align-items: flex-start;   /* кнопки по ширине содержимого */
    }
    .home__btns .btn-tv {
        width: auto;
        max-width: 100%;
    }
}

/* --- ГЛАВНАЯ: нижняя полоса ссылок — центрирование без «висящих» разделителей --- */
@media (max-width: 900px) {
    .home__ask__in {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding: 12px 16px;
    }
    .home__ask__it {
        width: 100%;
        justify-content: flex-start;
        padding: 12px 4px;
    }
    /* вертикальные разделители заменяем горизонтальными */
    .home__ask__it + .home__ask__it {
        border-left: none;
        border-top: 1px solid rgba(255,255,255,.18);
    }
}

/* --- ГЛАВНАЯ: переключатель тарифов компактнее --- */
@media (max-width: 600px) {
    .prc__navs {
        width: 100%;
        max-width: 340px;
    }
    .prc__nav {
        flex: 1 1 0;
        padding: 12px 8px !important;
        font-size: 12px;
        min-width: 0;
        white-space: normal;
        text-align: center;
        line-height: 1.2;
    }
}

/* --- БИЗНЕС: карточки IPTV на мобильных — как обычные тарифы --- */
@media (max-width: 900px) {
    .tvt__list--iptv .tvt {
        width: 200px;
        max-width: 200px;
        flex: 0 0 auto;
    }
    #biz-iptv .tvt { min-height: 0; }
    .biz-iptv__cards { flex: 1 1 100%; }
}
/* ============================================================ */

/* Главная: строка «Интернет и ТВ от 250р /мес» на узких экранах */
@media (max-width: 600px) {
    .home__subttl {
        font-size: 18px;
        flex-wrap: wrap;
        gap: 8px;
    }
    .home__price__img { height: 46px; }
    .home__price__period { font-size: 16px; }
}
@media (max-width: 420px) {
    /* цена переносится на свою строку */
    .home__subttl { display: block; }
    .home__price { margin-top: 8px; }
    .home__price__period { margin-left: 6px; }
}

/* На узких экранах карточки не сжимаются, а скроллятся горизонтально */
@media (max-width: 900px) {
    .tvt {
        width: 200px;
        min-width: 200px;
        flex: 0 0 200px;
    }
    .tvt--biz {
        width: 200px;
        min-width: 200px;
        flex: 0 0 200px;
    }
    .tvt__list--iptv .tvt {
        width: 200px;
        min-width: 200px;
        flex: 0 0 200px;
    }
}

/* ============================================================
   СТРАНИЦА «ВОПРОСЫ И ОТВЕТЫ»
   ============================================================ */
.faq-hero { padding: 20px 0 0; }
.faq-hero__box {
    display: flex;
    align-items: center;
    /* картинка-фон: блок повторяет её пропорции (1832x601),
       поэтому при ширине контейнера она видна целиком, без обрезки */
    background: url('img/faq-hero.png') center center / 100% 100% no-repeat;
    aspect-ratio: 1832 / 601;
    border-radius: 18px;
    padding: 44px;
    box-sizing: border-box;
    color: #fff;
    overflow: hidden;
}
.faq-hero__info { flex: 0 1 52%; min-width: 0; }
.faq-hero__ttl {
    font: 900 44px/1.04 'Montserrat', Roboto, Arial, sans-serif;
    margin: 0 0 12px;
    color: #fff;
}
.faq-hero__txt {
    font: 400 15px/1.5 'Montserrat', Roboto, Arial, sans-serif;
    color: rgba(255,255,255,.9);
    margin: 0 0 24px;
}
/* поиск */
.faq-search {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 12px;
    padding: 6px 8px 6px 18px;
    max-width: 420px;
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
.faq-search__input {
    flex: 1 1 auto;
    border: none;
    outline: none;
    padding: 12px 0;
    font: 400 14px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    background: none;
}
.faq-search__bt {
    flex-shrink: 0;
    width: 40px; height: 40px;
    border: none; background: none;
    color: #005BEF;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
@media (max-width: 900px) {
    .faq-hero__box {
        padding: 30px 22px;
        aspect-ratio: auto;                     /* на мобильных высота по контенту */
        background: #0B2FA8 url('img/faq-hero.png') 72% center / cover no-repeat;
    }
    .faq-hero__info { flex: 1 1 100%; }
    .faq-search { max-width: none; }
}

/* --- список категорий и вопросов --- */
.faq-sec { padding: 34px 0 10px; }
.faq__cat {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 18px 0 24px;
    border-bottom: 1px solid #e2e7f5;
}
.faq__cat:last-child { border-bottom: none; }
.faq__cat__head {
    flex: 0 0 210px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding-top: 6px;
}
.faq__cat__ic {
    flex-shrink: 0;
    width: 92px; height: 92px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(23,23,48,.08);
    display: flex; align-items: center; justify-content: center;
    padding: 12px;
    box-sizing: border-box;
}
.faq__cat__ic img { max-width: 100%; max-height: 100%; object-fit: contain; }
.faq__cat__ttl {
    font: 700 17px/1.3 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0;
}
.faq__list { flex: 1 1 auto; min-width: 0; }
@media (max-width: 767px) {
    .faq__cat { flex-direction: column; gap: 14px; }
    .faq__cat__head { flex: 1 1 auto; }
    .faq__cat__ic { width: 64px; height: 64px; padding: 9px; }
}

/* аккордеон (общий класс .tv-acc, здесь только уточнения) */
.tv-acc__it { box-shadow: 0 4px 14px rgba(23,23,48,.05); }
.tv-acc__q span { flex: 1 1 auto; }
.faq-empty {
    text-align: center;
    padding: 30px 0 40px;
    font: 500 15px 'Montserrat', Roboto, Arial, sans-serif;
    color: #8a8a99;
}

/* --- нижняя полоса ссылок --- */
.faq-links { padding: 10px 0 46px; }
.faq-links .tv-linkbar__list {
    background: #0B2FA8;
    border-radius: 16px;
    padding: 22px 26px;
    justify-content: space-between;
}
.faq-links .tv-linkbar__it {
    align-items: center;
    gap: 14px;
}
.faq-links .tv-linkbar__it img { width: 52px; height: 52px; }
.faq-links .tv-linkbar__it a,
.faq-links .tv-linkbar__it > span {
    color: #fff;
    font: 500 14px/1.35 'Montserrat', Roboto, Arial, sans-serif;
    display: block;
}
.tv-linkbar__arr { display: block; margin-top: 6px; font-size: 16px; }
@media (max-width: 900px) {
    .faq-links .tv-linkbar__list { flex-direction: column; align-items: stretch; gap: 0; }
    .faq-links .tv-linkbar__it { padding: 12px 0; }
    .faq-links .tv-linkbar__it + .tv-linkbar__it { border-top: 1px solid rgba(255,255,255,.18); }
    .tv-linkbar__arr { display: inline; margin-left: 8px; }
}
/* ============================================================ */


/* ============================================================
   СТРАНИЦА «ТЕЛЕВИДЕНИЕ»
   ============================================================ */
/* Розовые чёрточки под заголовками секций убраны */
.tv-section-ttl--line { position: relative; }
.tv-section-ttl--line::after { content: none; }

/* --- HERO: картинка фоном справа, слева и по краям — заливка в тон --- */
.tv-hero--tv {
    position: relative;
    color: #1A1730;
    background:
        linear-gradient(90deg, #eaf1ff 0%, rgba(234, 241, 255, .94) 34%, rgba(234, 241, 255, .55) 37%, rgba(234, 241, 255, 0) 46%),
        /* растворение правого края картинки в цвет подложки */
        linear-gradient(270deg, #83b4f7 0%, #83b4f7 45%, rgba(131,180,247,.55) 75%, rgba(131,180,247,0) 100%),
        url(img/tv-hero4.jpg) right center / auto 100% no-repeat,
        linear-gradient(90deg, #eef4ff 0%, #83b4f7 51%, #83b4f7 100%);
    background-position: left top, right top, right center, left top;
    background-size: auto, 150px 100%, auto 100%, auto;
    background-repeat: no-repeat;
    overflow: hidden;
}
/* На широких экранах картинка держится у правого края контейнера (не улетает к краю окна),
   а её правый край плавно растворяется в фоне */
@media (min-width: 1400px) {
    .tv-hero--tv {
        background-position:
            left top,
            right calc((100vw - 1785px) / 2) top,
            right calc((100vw - 1785px) / 2) center,
            left top;
    }
}

/* плавный переход низа баннера в фон следующей секции */
.tv-hero--tv::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 120px;
    background: linear-gradient(to bottom, rgba(239,241,253,0) 0%, #eff1fd 100%);
    pointer-events: none;
    z-index: 1;
}
.tv-hero--tv .tv-hero__in { position: relative; z-index: 4; }
.tv-hero--tv .tv-hero__in {
    padding: 44px 0 104px;      /* запас под полосу преимуществ */
    align-items: flex-start;
}
.tv-hero--tv .tv-hero__info { flex: 0 1 50%; }
.tv-hero--tv .tv-hero__pic  { display: none; }   /* картинка теперь фон */
.tv-hero__ttl--tv {
    font: 900 44px/1.04 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    margin: 0 0 16px;
}
.tv-hero__ttl--tv span { color: #005BEF; }
.tv-hero--tv .tv-hero__txt { color: #3a3a4a; max-width: 470px; margin-bottom: 12px; }
.tv-hero--tv .tv-hero__check { margin-top: 18px; }
@media (max-width: 900px) {
    .tv-hero--tv { background: linear-gradient(120deg,#eef4ff,#dbe8ff); }
    .tv-hero--tv .tv-hero__in { padding: 30px 0 92px; }
    .tv-hero--tv .tv-hero__info { flex: 1 1 100%; }
}

/* --- Полоса преимуществ: иконка сверху, текст снизу --- */
.tv-featbar--col .tv-featbar__it {
    flex-direction: column;
    text-align: center;
    gap: 8px;
    flex: 1 1 0;
}
.tv-featbar--col .tv-featbar__it img { width: 34px; height: 34px; }

/* --- КТВ: плашка пополам с разделителем --- */
.ktv {
    display: flex;
    align-items: stretch;
    background: linear-gradient(120deg, #0B3BD8 0%, #0A2FB6 60%, #0926A0 100%);
    border-radius: 18px;
    padding: 38px 0;
    color: #fff;
}
.ktv__left  {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 34px;
    box-sizing: border-box;
}
.ktv__right {
    flex: 0 0 50%;
    padding: 0 40px;
    box-sizing: border-box;
    border-left: 1px solid rgba(255,255,255,.22);   /* разделитель */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;   /* по верхней линии, вровень с названием */
}
.ktv__ttl {
    font: 500 22px 'Montserrat', Roboto, Arial, sans-serif;
    margin: 0 0 14px;
    padding-bottom: 10px;
    color: #fff;
    text-align: center;
}
.ktv__price { display: flex; align-items: flex-end; justify-content: center; gap: 16px; margin: 0; }
.ktv__price b {
    font: 700 163px/1 'Montserrat', Roboto, Arial, sans-serif;
    color: #fff;
}
.ktv__price__badge {
    display: inline-block;
    background: #E4097F;
    color: #fff;
    font: 600 32px 'Montserrat', Roboto, Arial, sans-serif;
    padding: 10px 18px;
    border-radius: 10px;
    white-space: nowrap;
    margin-bottom: 16px;
}
.ktv__incl__ttl { font: 600 17px 'Montserrat', sans-serif; margin: 0 0 14px; color: #fff; }
.ktv__incl { font: 400 14px/1.9 'Montserrat', Roboto, Arial, sans-serif; }
.ktv__incl p { margin: 0 0 6px; }
.ktv__incl ul { list-style: none; margin: 0; padding: 0; }
.ktv__incl li { margin: 0; padding-left: 30px; position: relative; }
.ktv__incl li::before {
    content: '✓';
    position: absolute; left: 0; top: 5px;
    width: 18px; height: 18px;
    background: #fff; color: #0B3BD8;
    border-radius: 50%;
    font-size: 11px; line-height: 18px; text-align: center;
}
@media (max-width: 900px) {
    .ktv { flex-direction: column; padding: 26px 0; }
    .ktv__left, .ktv__right { flex: 1 1 100%; padding: 20px; border-left: none; }
    .ktv__right { border-top: 1px solid rgba(255,255,255,.22); }
    .ktv__price b { font-size: 60px; }
}

/* --- IPTV: карточки, каждая делится пополам --- */
.iptv__row { display: flex; gap: 20px; align-items: stretch; }
.iptv { display: flex; flex-direction: column; }
.iptv__body { flex: 1 1 auto; }
.iptv {
    position: relative;
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(23,23,48,.08);
    padding: 22px;
    min-width: 0;
}
.iptv { text-align: center; }
.iptv__body, .iptv__info { text-align: left; }
.iptv__badge {
    display: inline-block;
    background: #E4097F;
    color: #fff;
    font: 600 13px 'Montserrat', Roboto, Arial, sans-serif;
    padding: 7px 16px;
    border-radius: 8px;
    margin: 0 0 18px;
}
.iptv:nth-child(2) .iptv__badge { background: #005BEF; }
/* левая карточка («Социальный») уже правой */
.iptv:nth-child(1) { flex: 0 1 38%; }
.iptv:nth-child(2) { flex: 1 1 62%; }
.iptv__body {
    display: flex;
    align-items: stretch;
    gap: 22px;
    min-height: 330px;        /* одинаковая высота половин в обеих карточках */
}
.iptv__pic {
    flex: 0 0 300px;          /* одинаковая ширина блока в обеих карточках */
    max-width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 22px;
    border-right: 1px solid #e6eaf5;      /* разделитель половин */
    align-self: stretch;                  /* линия на всю высоту карточки */
}
.iptv__pic img {
    max-width: 100%;
    max-height: 300px;
    height: auto;
    object-fit: contain;
}
.iptv__info { flex: 1 1 54%; min-width: 0; display: flex; flex-direction: column; }
.iptv__price {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin: 0 0 16px;
    flex-wrap: nowrap;           /* «от 190» не переносится */
    white-space: nowrap;
}
.iptv__price i {
    font-style: normal;
    font: 600 26px 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
}
.iptv__price b { font: 700 44px/1 'Montserrat', Roboto, Arial, sans-serif; color: #005BEF; }
/* бейдж «₽/мес» в карточках IPTV — как в КТВ, но компактнее по низу */
.iptv__price .ktv__price__badge {
    font-size: 15px;
    padding: 7px 12px;
    margin-bottom: 4px;
}
.iptv__about {
    font: 400 13px/1.65 'Montserrat', Roboto, Arial, sans-serif;
    color: #4a4a5a;
}
/* кнопка «Подключить» пока скрыта — включается снятием display:none */
.iptv__btw { display: none; margin: auto 0 0; text-align: right; }
.iptv .tvt__bt {
    display: inline-block;
    width: auto; max-width: none;
    padding: 14px 30px;
    border-radius: 8px;
    background: linear-gradient(90deg, #FF0093 0%, #8D4DDB 60%, #0036FB 100%);
    color: #fff; box-shadow: none; font-size: 13px;
}
@media (max-width: 900px) {
    .iptv__row { flex-direction: column; }
    .iptv__body { flex-direction: column; }
    .iptv__pic { border-right: none; border-bottom: 1px solid #e6eaf5; padding: 0 0 18px; flex: 1 1 auto; }
}

/* --- полоса с инструкцией --- */
.tv-instr {
    display: flex;
    align-items: center;
    gap: 18px;
    background: linear-gradient(90deg, #0B3BD8 0%, #0A2FB6 100%);
    border-radius: 14px;
    padding: 20px 26px;
    margin: 26px 0 0;
    color: #fff;
}
.tv-instr__ic {
    flex-shrink: 0;
    width: 46px; height: 46px;
    border-radius: 10px;
    background: rgba(255,255,255,.16);
    display: flex; align-items: center; justify-content: center;
}
.tv-instr__txt { flex: 1 1 auto; font: 500 15px/1.35 'Montserrat', Roboto, Arial, sans-serif; }
.tv-instr__txt--big { font-size: 19px; font-weight: 600; line-height: 1.3; }
.tv-instr__bt { flex-shrink: 0; }
@media (max-width: 700px) {
    .tv-instr { flex-direction: column; align-items: flex-start; }
}

/* --- Оборудование: название сверху, цена справа внизу --- */
.tve__body { position: relative; }
.tve__ttl { order: -1; margin: 0 0 14px; text-align: center; }
.tve__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin: auto 0 0;
    width: 100%;
    padding-right: 4px;
    box-sizing: border-box;
}
.tve__price__lbl {
    font: 400 11px 'Montserrat', Roboto, Arial, sans-serif;
    color: #8a8a99;
    margin-bottom: 2px;
}
.tve__price b {
    font: 700 22px 'Montserrat', Roboto, Arial, sans-serif;
    color: #005BEF;
}
.tve__price b i { font-style: normal; font-size: 15px; }
/* ============================================================ */

/* Оборудование на странице ТВ */
#tv-equip .tve__body { min-height: 290px; padding-bottom: 0; }

/* Блок картинки IPTV на узких экранах */
@media (max-width: 1100px) {
    .iptv__pic { flex: 0 0 240px; }
}
@media (max-width: 900px) {
    .iptv__pic { flex: 1 1 auto; }
}

/* Плюс в кнопке оборудования — строго по центру */
.tve__more {
    font-size: 0;                 /* убираем влияние текстового узла */
}
.tve__more::before {
    content: '+';
    display: block;
    font: 700 24px/1 'Montserrat', Roboto, Arial, sans-serif;
    transform: translateY(-1px);
}

/* Бейдж названия IPTV — по содержимому и по центру (карточка — flex-колонка) */
.iptv__badge {
    align-self: center;
    width: auto;
    flex: 0 0 auto;
}

/* ============================================================
   СТРАНИЦА «ОНЛАЙН-КАМЕРЫ»
   ============================================================ */
.cam-hero { padding: 20px 0 0; }
.cam-hero__box {
    display: flex;
    align-items: center;
    gap: 26px;
    /* картинка слева + плавное растворение её правого края в фон */
    background:
        linear-gradient(90deg,
            rgba(11,34,135,0) 0%,
            rgba(11,34,135,0) 60%,
            rgba(30,26,140,.5) 70%,
            rgba(58,30,134,.88) 79%,
            rgba(75,31,132,1) 86%,
            rgba(91,31,132,1) 100%),
        url('img/cam-hero.jpg') left center / auto 100% no-repeat,
        linear-gradient(110deg, #0B2FA8 0%, #0A2287 45%, #3B1E86 78%, #5B1F84 100%);
    border-radius: 18px;
    padding: 34px 40px;
    min-height: 260px;
    box-sizing: border-box;
    color: #fff;
}
/* текст правее телефона, чтобы не наезжал */
.cam-hero__info { flex: 1 1 auto; min-width: 0; padding-left: 260px; }
@media (max-width: 1200px) { .cam-hero__info { padding-left: 200px; } }
@media (max-width: 1000px) { .cam-hero__info { padding-left: 150px; } }
@media (max-width: 800px)  {
    .cam-hero__box { background-image: none; background: linear-gradient(110deg,#0B2FA8,#5B1F84); }
    .cam-hero__info { padding-left: 0; }
}
.cam-hero__ttl {
    font: 700 25px/1.25 'Montserrat', Roboto, Arial, sans-serif;
    margin: 0 0 12px; color: #fff;
}
.cam-hero__txt {
    font: 400 13.5px/1.6 'Montserrat', Roboto, Arial, sans-serif;
    color: rgba(255,255,255,.9); margin: 0 0 18px;
}
.cam-hero__stores { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.cam-hero__stores img { height: 40px; width: auto; display: block; }
.cam-hero__feats {
    flex: 0 0 280px;
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 16px;
}
.cam-hero__feats li {
    display: flex; align-items: center; gap: 14px;
    font: 400 14px/1.35 'Montserrat', Roboto, Arial, sans-serif;
    color: #fff;
}
.cam-hero__feats img { width: 44px; height: 44px; flex-shrink: 0; }
@media (max-width: 1000px) {
    .cam-hero__box { flex-wrap: wrap; padding: 26px 22px; }
    .cam-hero__phone { flex: 0 0 130px; }
    .cam-hero__feats { flex: 1 1 100%; flex-direction: row; flex-wrap: wrap; gap: 12px 22px; }
}

/* --- заголовок секции --- */
.cams-sec { padding: 34px 0 50px; }
.cams-sec__ttl {
    font: 700 30px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730; text-align: center; margin: 0 0 8px;
}
.cams-sec__sub {
    font: 400 14px 'Montserrat', Roboto, Arial, sans-serif;
    color: #8a8a99; text-align: center; margin: 0 0 30px;
}

/* --- фильтры --- */
.cams__filter { margin-bottom: 26px; }
.cams__filter__ttl {
    font: 700 15px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730; margin: 0 0 12px;
}
.cams__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    list-style: none; margin: 0; padding: 0;
}
.cams__chip {
    flex: 1 1 0;                 /* равные и на всю ширину контейнера */
    min-width: 0;
    text-align: center;
    white-space: nowrap;
    padding: 13px 14px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e2e7f5;
    font: 500 15px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    cursor: pointer;
    transition: all .18s;
}
.cams__chip:hover { border-color: #b9cdf7; }
.cams__chip.active { background: #0B4BEF; border-color: #0B4BEF; color: #fff; }

.cams__types {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    list-style: none; margin: 0; padding: 0;
}
.cams__type {
    flex: 1 1 0;
    min-width: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 4px;                    /* меньше отступ между иконкой и текстом */
    padding: 14px 8px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e2e7f5;
    font: 500 15px/1.2 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    text-align: center;
    cursor: pointer;
    transition: all .18s;
}
.cams__type:hover { border-color: #b9cdf7; }
.cams__type.active { background: #0B4BEF; border-color: #0B4BEF; color: #fff; }
.cams__type__ic { width: 60px; height: 60px; object-fit: contain; }

/* --- шапка списка --- */
.cams__head {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; margin: 28px 0 16px; flex-wrap: wrap;
}
.cams__head__ttl { font: 700 20px 'Montserrat', Roboto, Arial, sans-serif; color: #1A1730; margin: 0; }
.cams__head__right { display: flex; align-items: center; gap: 14px; }
.cams__count { font: 400 13px 'Montserrat', Roboto, Arial, sans-serif; color: #8a8a99; }
.cams__count b { color: #1A1730; font-weight: 600; }
.cams__view { display: flex; gap: 6px; }
.cams__view__bt {
    width: 34px; height: 34px;
    border-radius: 8px;
    border: 1px solid #e2e7f5;
    background: #fff; color: #9aa3bf;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all .18s;
}
.cams__view__bt.active { background: #0B4BEF; border-color: #0B4BEF; color: #fff; }

/* --- карточки камер --- */
.cams__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    list-style: none; margin: 0; padding: 0;
}
.cam {
    position: relative;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(23,23,48,.07);
    transition: all .2s;
}
.cam:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(23,23,48,.12); }
.cam__link { display: block; }
.cam__pic { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #eef1fd; }
.cam__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cam__live {
    position: absolute; top: 10px; left: 10px;
    background: rgba(11,47,168,.92); color: #fff;
    font: 700 10px 'Montserrat', sans-serif;
    padding: 5px 10px; border-radius: 6px;
    letter-spacing: .4px;
}
.cam__info { display: block; padding: 14px 16px 16px; }
.cam__ttl {
    display: block;
    font: 700 14.5px/1.3 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730; margin-bottom: 8px;
}
.cam__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.cam__district {
    display: inline-flex; align-items: center; gap: 5px;
    font: 400 12px 'Montserrat', Roboto, Arial, sans-serif; color: #8a8a99;
}
.cam__type {
    display: inline-block;
    background: #eaf1ff; color: #0B4BEF;
    font: 500 11px 'Montserrat', Roboto, Arial, sans-serif;
    padding: 5px 10px; border-radius: 6px;
}
.cam__fav {
    position: absolute; top: 10px; right: 10px;
    width: 30px; height: 30px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,.9);
    color: #6b7794;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all .18s;
    z-index: 2;
}
.cam__fav:hover { background: #fff; color: #0B4BEF; }
.cam__fav.active { background: #fff; color: #FFB300; }
.cam__fav.active svg { fill: #FFB300; }

/* вид «список» */
.cams__list--row { grid-template-columns: 1fr; }
.cams__list--row .cam__link { display: flex; align-items: stretch; }
.cams__list--row .cam__pic { flex: 0 0 260px; aspect-ratio: auto; }
.cams__list--row .cam__info { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; }

@media (max-width: 1000px) { .cams__list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  {
    .cams__list { grid-template-columns: 1fr; }
    /* режим «список»: картинка слева, текст справа — компактно */
    .cams__list--row .cam__link { flex-direction: row; align-items: stretch; }
    .cams__list--row .cam__pic  { flex: 0 0 124px; aspect-ratio: auto; min-height: 92px; }
    .cams__list--row .cam__info { padding: 10px 12px; }
    .cams__list--row .cam__ttl  { font-size: 13.5px; margin-bottom: 6px; }
    .cams__list--row .cam__live { font-size: 9px; padding: 3px 7px; top: 6px; left: 6px; }
    .cams__list--row .cam__fav  { width: 26px; height: 26px; top: 6px; right: 6px; }
}
.cams__empty {
    text-align: center; padding: 40px 0;
    font: 500 15px 'Montserrat', Roboto, Arial, sans-serif; color: #8a8a99;
}

/* --- «Не нашли камеру» --- */
.cam-notfound {
    display: flex; align-items: center; gap: 20px;
    background: #eaf1ff;
    border-radius: 16px;
    padding: 24px 28px;
    margin-top: 30px;
}
.cam-notfound__ic { width: 54px; height: 54px; flex-shrink: 0; object-fit: contain; }
.cam-notfound__txt { flex: 1 1 auto; font: 400 13px/1.55 'Montserrat', Roboto, Arial, sans-serif; color: #4a4a5a; }
.cam-notfound__ttl { font: 700 16px 'Montserrat', Roboto, Arial, sans-serif; color: #1A1730; margin: 0 0 6px; }
.cam-notfound__txt p { margin: 0; }
.btn-tv--blue { background: #0B4BEF; color: #fff; }
.btn-tv--blue:hover { background: #0938c4; color: #fff; }
.cam-notfound__bt { flex-shrink: 0; padding: 15px 26px; font-size: 14px; }
@media (max-width: 800px) {
    .cam-notfound { flex-direction: column; text-align: center; }
}
/* ============================================================ */

/* Фильтры камер на узких экранах */
@media (max-width: 900px) {
    .cams__chip { flex: 1 1 auto; }
    .cams__type { flex: 1 1 30%; min-width: 100px; }
}
@media (max-width: 560px) {
    .cams__type { flex: 1 1 45%; font-size: 13.5px; }
    .cams__type__ic { width: 46px; height: 46px; }
    .cams__chip { font-size: 13.5px; padding: 11px 12px; }
}

/* Фильтр типов камер на мобильных — компактные строки-чипы */
@media (max-width: 700px) {
    /* чипы по содержимому, без растягивания на всю ширину */
    .cams__types, .cams__chips {
        justify-content: flex-start;
        gap: 7px;
    }
    .cams__type {
        flex: 0 0 auto;           /* ширина по контенту */
        width: auto;
        min-width: 0;
        flex-direction: row;      /* иконка слева, текст справа */
        justify-content: flex-start;
        gap: 7px;
        padding: 8px 12px;
        font-size: 12.5px;
        text-align: left;
        line-height: 1.15;
        white-space: nowrap;
    }
    .cams__type__ic { width: 22px; height: 22px; flex-shrink: 0; }
    .cams__chip {
        flex: 0 0 auto;
        width: auto;
        padding: 9px 14px;
        font-size: 13px;
    }
    .cams__filter { margin-bottom: 16px; }
    .cams__filter__ttl { font-size: 14px; margin-bottom: 8px; }
}

/* Анимация карточек при наведении — как у блока преимуществ */
.prc__it,
.news2026__it {
    transition: transform .2s, box-shadow .2s;
}
.prc__it:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(23,23,48,.16);
}
.news2026__it:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(23,23,48,.14);
}

/* Кнопка закрытия модалки оборудования — гарантированно кликабельна */
.tvem__close { pointer-events: auto; }
.tvem__close svg, .tvem__close * { pointer-events: none; }

/* ---------- HERO страницы «Интернет»: планета фоном ---------- */
.tv-hero--inet {
    background-color: #002b87;
    background-image:
        /* растворение правого края картинки */
        linear-gradient(270deg, #002b87 0%, #002b87 45%, rgba(0,43,135,0) 100%),
        url('img/planet.png');
    background-position: right center, right -70px center;
    background-size: 170px 100%, auto 100%;
    background-repeat: no-repeat, no-repeat;
    overflow: hidden;
}
/* на широких экранах планета держится у правого края контейнера */
@media (min-width: 1400px) {
    .tv-hero--inet {
        background-position:
            right calc((100vw - 1240px) / 2 - 200px) center,
            right calc((100vw - 1240px) / 2 - 200px) center;
    }
}
.tv-hero--inet .tv-hero__in { position: relative; z-index: 2; }
.tv-hero--inet .tv-hero__info { flex: 0 1 50%; }
.tv-hero--inet .tv-hero__pic { display: none; }
@media (max-width: 900px) {
    .tv-hero--inet { background: #002b87; background-image: none; }
    .tv-hero--inet .tv-hero__info { flex: 1 1 100%; }
}

/* Убираем указатель под активным пунктом меню */
.head__nav.active::before,
.head__nav__link.active::before { content: none !important; display: none !important; }

/* Заголовки баннеров на мобильных — единый размер */
@media (max-width: 600px) {
    .home__ttl,
    .tv-hero__ttl--tv,
    .tv-hero__ttl--biz,
    .faq-hero__ttl { font-size: 30px; }
}

/* Форма проверки адреса — под карточками тарифов */
.prc__check__wrap {
    position: relative;
    z-index: 2;
    margin: 26px 48px 0;
    display: flex;
    justify-content: center;
}
@media (min-width: 1240px) {
    .prc__check__wrap { margin: 26px 48px 0; }
}
.prc__check {
    max-width: 100%;
    width: 100%;
    box-shadow: 0 10px 28px rgba(23,23,48,.10);
}

/* ============================================================
   АВТОКОМПЛИТ АДРЕСА (перенос из tvintel_new)
   ============================================================ */
.form__item--ac { position: relative; }
.ac__list {
    position: absolute; z-index: 30; top: 100%; left: 0; right: 0;
    margin: 2px 0 0; padding: 0; list-style: none;
    max-height: 220px; overflow-y: auto;
    background: #fff; border: 1px solid #dde3f0; border-radius: 8px;
    box-shadow: 0 6px 18px rgba(9,36,75,.12);
}
.ac__item, .ac__empty {
    padding: 9px 16px;
    font: 400 15px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    cursor: pointer;
}
.ac__item:hover { background: #f2f5fb; }
.ac__empty { color: #9aa4bb; cursor: default; }
.ac__hint {
    display: block; margin-top: 4px;
    font: 400 12px 'Montserrat', Roboto, Arial, sans-serif;
    color: #9aa4bb;
}

/* Списки подсказок обрезались бы границей баннера — снимаем обрезку
   у секций, внутри которых лежит форма проверки адреса */
.tv-hero--tv,
.tv-hero--biz { overflow: visible; }
/* растворение краёв картинки при этом сохраняем через отдельный слой */
.tv-hero--tv, .tv-hero--biz { position: relative; }

/* ============================================================
   Переключатель тарифов на главной — три пункта
   ============================================================ */
.prc__navs {
    display: inline-flex !important;
    flex-wrap: nowrap;
}
.prc__nav {
    flex: 0 0 auto !important;
    white-space: nowrap;
}
/* иконка третьего пункта («Для бизнеса») */
.prc__nav__ic--3 {
    background: url('img/sw-biz.svg') center center / contain no-repeat;
}

@media (max-width: 900px) {
    /* три кнопки в строку не помещаются — переносим */
    .prc__navs {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        max-width: 420px;
        padding: 6px !important;
        gap: 6px;
    }
    .prc__nav {
        flex: 1 1 auto !important;
        min-width: 0;
        padding: 11px 14px !important;
        font-size: 13px;
    }
}
@media (max-width: 560px) {
    /* на узких — каждая кнопка на своей строке */
    .prc__navs { max-width: 340px; }
    .prc__nav {
        flex: 1 1 100% !important;
        justify-content: center;
        font-size: 13.5px;
    }
}

/* ============================================================
   Тарифы на главной — карточки как на странице «Интернет»
   ============================================================ */
.prc-row { position: relative; }
.prc__its {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 10px !important;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 25px 0 35px !important;
    margin: 0 !important;
    list-style: none;
}
.prc__its::-webkit-scrollbar { display: none; }

/* карточка — те же размеры, что у .tvt на странице «Интернет» */
.prc__its .tvt {
    flex: 0 0 auto !important;
    width: calc((100% - 10px * 4) / 5);
    max-width: 200px;
    min-width: 0;
    min-height: 340px;
}
/* стрелки — как на «Интернете» */
.prc-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px; height: 48px;
    border: none; border-radius: 50%;
    background: #fff;
    box-shadow: 0 6px 18px rgba(23,23,48,.14);
    color: #FF0093;
    font: 300 40px/1 'Montserrat', Arial, sans-serif;
    padding-bottom: 6px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    z-index: 3;
    transition: all .2s;
}
.prc-nav--prev { left: -20px; }
.prc-nav--next { right: -20px; }
.prc-nav:hover,
.prc-nav:active {
    background: linear-gradient(135deg, #FF0093 0%, #8D4DDB 55%, #0036FB 100%);
    color: #fff;
}
@media (max-width: 1100px) {
    .prc__its { justify-content: flex-start !important; }
    .prc__its .tvt { width: 200px; }
    .prc-nav { display: none !important; }
}

/* Форма проверки адреса на мобильных — без больших боковых отступов */
@media (max-width: 700px) {
    .prc__check__wrap { margin: 22px 12px 0 !important; }
    .prc__check { padding: 18px 16px !important; }
}

/* Контейнер секции тарифов на главной — 1200px, как у остальных секций
   (в старом CSS для .prc--in стояло 980px) */
@media (min-width: 1240px) {
    .prc--tariffs .prc--in {
        width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* боковой паддинг ряда меньше — чтобы карточки не выходили за контейнер */
.prc__its { padding: 25px 0 35px !important; }
.prc-nav--prev { left: -22px; }
.prc-nav--next { right: -22px; }

/* На широких экранах все пять помещаются — стрелки не нужны */
@media (min-width: 1240px) {
    .prc-nav { display: none !important; }
    .prc__its { overflow-x: visible; }
}

/* ============================================================
   СТРАНИЦА «ВИДЕОНАБЛЮДЕНИЕ» (/chastnym-litsam/video/)
   Кнопки тарифов оформлены выше: секция #video-tariffs добавлена
   в существующие правила #biz-tariffs / #biz-iptv.
   ============================================================ */

/* ---------- Верхний баннер ---------- */
.tv-hero--video {
    /* схема как на Бизнесе: картинка во всю высоту, не обрезана,
       прижата к правому краю контейнера, а не экрана */
    /* подложка почти чёрная — как левый край баннера в макете (#000110…#000007),
       поэтому стык фотографии не читается и растушёвку можно делать короткой */
    background: #00030F url('img/video-hero.jpg') right center / auto 100% no-repeat;
    position: relative;
    overflow: hidden;
    min-height: 500px;
}
/* полоса преимуществ под этим баннером поднимается меньше, чем на других страницах */
.tv-hero--video + .tv-featbar-sec .tv-featbar-wrap { margin-top: -42px; }
@media (min-width: 1400px) {
    .tv-hero--video { background-position: right calc((100vw - 1240px) / 2) center; }
}
/* короткая растушёвка: фотография начинается примерно на 30% ширины,
   к 50% затемнение уже сходит на нет */
.tv-hero--video::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        #00030F 0%,
        #00030F 26%,
        rgba(0,3,15,.72) 34%,
        rgba(0,3,15,.28) 42%,
        rgba(0,3,15,0) 50%);
}
/* нижний отступ с запасом: полоса преимуществ поднимается на 62px
   и не должна накрывать подзаголовок */
.tv-hero--video .tv-hero__in   { position: relative; z-index: 2; padding: 90px 0 118px; }
.tv-hero--video .tv-hero__info { flex: 0 1 56%; }

.tv-hero__ttl--video {
    /* как на остальных баннерах: .home__ttl и .tv-hero__ttl--biz */
    font: 900 44px/1.04 'Montserrat', Roboto, Arial, sans-serif;
    color: #fff;
    letter-spacing: -0.5px;
    margin: 0 0 40px;
}
.tv-hero__ttl--video span { font-size: inherit; font-weight: inherit; }
/* начертание и кегль наследуются от .tv-hero__sub (500 15px) */
.tv-hero__sub--video {
    color: rgba(255,255,255,.92);
    max-width: 328px;          /* переносы по ширине, без жёстких <br> */
    margin: 0;
}
@media (max-width: 900px) {
    .tv-hero--video {
        min-height: 0;
        background-size: auto 100%;
        background-position: right -90px center;
    }
    .tv-hero--video::before {
        background: linear-gradient(180deg, rgba(0,3,15,.62) 0%, rgba(0,3,15,.86) 55%, rgba(0,3,15,.95) 100%);
    }
    /* в колонку раскладка идёт из базового .tv-hero__in, где align-items: center —
       на мобильном это центрировало бы текст и выносило его за оба края */
    .tv-hero--video .tv-hero__in {
        align-items: flex-start;
        padding: 34px 0 110px;
    }
    .tv-hero--video .tv-hero__info { flex: 0 1 auto; width: 100%; }
    .tv-hero__sub--video { max-width: none; }
}
/* мобильный кегль — как у .home__ttl и .tv-hero__ttl--biz */
@media (max-width: 600px) {
    .tv-hero__ttl--video { font-size: 30px; }
}

/* ---------- Карточка оборудования: раскладка по макету ----------
   Всё в пределах #video-equip: класс .tve общий с главной, Интернетом,
   Бизнесом и ТВ, их вид не меняется.                                   */
#video-equip .tve       { display: flex; max-width: 270px; }
#video-equip .tve__body {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;                 /* высоту задаёт самая длинная карточка в ряду */
    padding: 26px 20px 0;
}
#video-equip .tve__pic  { order: 1; height: 150px; margin-bottom: 18px; }
#video-equip .tve__ttl  {
    order: 2;
    font: 700 14px/1.4 'Montserrat', Roboto, Arial, sans-serif;
    color: #12123A;
    margin: 0 0 12px;
}
#video-equip .tve__descr { order: 3; margin: 0 0 20px; }
#video-equip .tve__price {
    order: 4;
    display: block;
    width: 100%;
    text-align: center;
    padding-right: 0;
    margin: auto 0 0;              /* цена прижата к низу — одна линия во всех карточках */
}
#video-equip .tve__price b {
    font: 700 30px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1341E8;
}
#video-equip .tve__price b i { font-size: 17px; margin-left: 5px; }

/* ---------- Краткое описание в карточке оборудования ---------- */
.tve__descr {
    font: 400 12.5px/1.6 'Montserrat', Roboto, Arial, sans-serif;
    color: #3D3A63;
    margin: 0 0 14px;
    text-align: center;
}

/* ---------- Промо-баннер: штатный .tvpromo, меняются только фон и типографика ---------- */
.tvpromo--video .tvpromo--in {
    background: #0E1A3C url('img/video-promo.jpg') right center / cover no-repeat;
    height: 300px;
}
.tvpromo--video .tvpromo__info { max-width: 44%; }
.tvpromo--video .tvpromo__ttl {
    font: 700 28px/1.28 'Montserrat', Roboto, Arial, sans-serif;
}

/* линия + иконка камеры под заголовком */
.tvpromo__line {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 30px;
}
.tvpromo__line::before {
    content: '';
    width: 52px;
    height: 3px;
    border-radius: 2px;
    background: #21C7F5;
}
.tvpromo__line::after {
    content: '';
    width: 48px;
    height: 46px;
    background: url('img/promo-cam.png') center / contain no-repeat;
}

@media (max-width: 767px) {
    .tvpromo--video .tvpromo--in {
        height: auto;
        min-height: 340px;
        padding: 26px 0 24px;
        /* цвет подложки указываем явно: в сокращённой записи без него
           фон обнулялся и сверху просвечивал фон страницы */
        background:
            linear-gradient(180deg, rgba(4,12,32,.92) 0%, rgba(4,12,32,.76) 40%, rgba(4,12,32,.28) 72%, rgba(4,12,32,0) 100%),
            #0E1A3C url('img/video-promo.jpg') center right / cover no-repeat;
    }
    .tvpromo--video .tvpromo__info { max-width: 100%; text-align: left; }
    .tvpromo--video .tvpromo__ttl  { font-size: 22px; text-align: left; }
    .tvpromo__line { margin-top: 22px; }
}

/* ============================================================
   СТРАНИЦА «IP-ТЕЛЕФОНИЯ» (/chastnym-litsam/tel/)
   ============================================================ */

.tv-hero--tel {
    /* Фотография прижата к правому краю КОНТЕЙНЕРА.
       Три слоя: сверху сам снимок, под ним полоса, повторяющая его правый край
       (она видна правее контейнера на широких экранах), и подложка по левому
       краю снимка. Стык гасится тем, что каждый слой совпадает по цвету
       с соседним краем фотографии. */
    background:
        url('img/tel-hero.jpg') right center / auto 100% no-repeat,
        linear-gradient(180deg, #6FC0E6 0%, #8FCBEC 38%, #79B0D2 58%, #B4D4ED 80%, #C3D9EE 100%) right center / 50% 100% no-repeat,
        linear-gradient(180deg, #01334A 0%, #013148 30%, #012A40 60%, #0B435C 70%, #48718D 78%, #7A93A9 85%, #8197AE 100%);
    position: relative;
    overflow: hidden;
    min-height: 500px;
}
@media (min-width: 1400px) {
    .tv-hero--tel { background-position: right calc((100vw - 1240px) / 2) center, right center, 0 0; }
}
/* Два слоя поверх фотографии в одном псевдоэлементе:
   затемнение слева под текст и мягкий уход низа в фон страницы. */
.tv-hero--tel::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg,
            rgba(239,241,253,0) calc(100% - 120px),
            rgba(239,241,253,.75) calc(100% - 45px),
            #eff1fd 100%),
        linear-gradient(90deg,
            #011E40 0%,
            #011E40 26%,
            rgba(1,30,64,.72) 34%,
            rgba(1,30,64,.28) 42%,
            rgba(1,30,64,0) 50%);
}
/* Растушёвка правого стыка: полоса в цвет правого края снимка, прижатая
   к краю экрана и заходящая на 120px на саму фотографию. Маска гасит её
   влево до полной прозрачности, поэтому граница не читается. */
@media (min-width: 1240px) {
    .tv-hero--tel::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        z-index: 1;
        width: calc((100vw - 1200px) / 2 + 120px);
        background: linear-gradient(180deg, #6FC0E6 0%, #8FCBEC 38%, #79B0D2 58%, #B4D4ED 80%, #C3D9EE 100%);
        -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0, rgba(0,0,0,1) 120px);
                mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0, rgba(0,0,0,1) 120px);
    }
}
/* нижний отступ с запасом: полоса преимуществ поднимается на 62px
   и раньше срезала карточку проверки адреса */
.tv-hero--tel .tv-hero__in { position: relative; z-index: 2; padding: 48px 0 118px; }
.tv-hero--tel .tv-hero__info { flex: 0 1 54%; }

.tv-hero--tel + .tv-featbar-sec .tv-featbar__it img { width: 45px; height: 45px; }

.tv-hero__ttl--tel {
    font: 900 44px/1.04 'Montserrat', Roboto, Arial, sans-serif;
    color: #fff;
    letter-spacing: -0.5px;
    margin: 0 0 16px;
}
/* начертание и кегль наследуются от .tv-hero__sub (500 15px) */
.tv-hero--tel .tv-hero__sub {
    color: rgba(255,255,255,.94);
    margin: 0 0 14px;
}
.tv-hero--tel .tv-hero__sub--2 { margin-bottom: 24px; }

@media (max-width: 900px) {
    .tv-hero--tel { min-height: 0; background-position: right -100px center, right center, 0 0; }
    .tv-hero--tel::before {
        background:
            linear-gradient(180deg, rgba(239,241,253,0) calc(100% - 70px), #eff1fd 100%),
            linear-gradient(180deg, rgba(1,30,64,.70) 0%, rgba(1,30,64,.90) 55%, rgba(1,30,64,.96) 100%);
    }
    .tv-hero--tel .tv-hero__in   { align-items: flex-start; padding: 34px 0 118px; }
    .tv-hero--tel .tv-hero__info { flex: 0 1 auto; width: 100%; }
    .tv-hero--tel + .tv-featbar-sec .tv-featbar__it img { width: 45px; height: 45px; }

.tv-hero__ttl--tel { font-size: 30px; }
}

/* ---------- Тариф IP-телефонии ----------
   Поле «Анонс» отдаёт три блока верхнего уровня подряд:
   .tvph__incl, .tvph__cond, .tvph__about — раскладку по ячейкам делает Grid,
   поэтому шаблон поле не разбирает.                                     */
.tvph {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "price  incl"
        "prices about"
        "btn    about";
    align-items: stretch;      /* синие блоки одной высоты, белые тоже */
}
.tvph__price,
.tvph__incl {
    /* градиент общий на обе половины: рисуем его двойной ширины и показываем
       в левой половине левый край, в правой — правый. Иначе каждый блок
       прогоняет свой цикл и на стыке видна ступенька. */
    background-image: linear-gradient(120deg, #0B3BD8 0%, #0A2FB6 60%, #0926A0 100%);
    background-size: 200% 100%;
    background-repeat: no-repeat;
    color: #fff;
    margin-bottom: 20px;
    padding: 38px 34px;
    min-height: 210px;
    box-sizing: border-box;
}
.tvph__price { background-position: left center; }
.tvph__incl  { background-position: right center; }
.tvph__price {
    grid-area: price;
    border-radius: 18px 0 0 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.tvph__price__lbl {
    font: 500 17px 'Montserrat', Roboto, Arial, sans-serif;
    color: rgba(255,255,255,.9);
    margin-bottom: 6px;
}
.tvph__price__val { display: flex; align-items: center; gap: 16px; margin: 0; }
.tvph__price__val b { font: 700 104px/1 'Montserrat', Roboto, Arial, sans-serif; color: #fff; }
.tvph__price__badge {
    display: inline-block;
    background: #E4097F;
    color: #fff;
    font: 600 30px/1 'Montserrat', Roboto, Arial, sans-serif;
    padding: 18px 20px;
    border-radius: 12px;
    white-space: nowrap;
}

/* заголовки колонок */
.tvph__h {
    font: 600 17px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1341E8;
    margin: 0 0 18px;
}
.tvph__incl .tvph__h { color: #fff; }

/* «Включено в тариф» */
.tvph__incl { grid-area: incl; border-radius: 0 18px 18px 0; position: relative; }
/* разделитель короче блока — как в макете, не во всю высоту */
.tvph__incl::before {
    content: '';
    position: absolute;
    left: 0;
    top: 34px;
    bottom: 34px;
    width: 1px;
    background: rgba(255,255,255,.30);
}
.tvph__incl ul { list-style: none; margin: 0; padding: 0; }
.tvph__incl li {
    position: relative;
    padding-left: 34px;
    margin-bottom: 14px;
    font: 500 16px/1.35 'Montserrat', Roboto, Arial, sans-serif;
}
.tvph__incl li:last-child { margin-bottom: 0; }
.tvph__incl li::before {
    content: '';
    position: absolute;
    left: 0; top: 1px;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: #fff;
}
.tvph__incl li::after {
    content: '';
    position: absolute;
    left: 6px; top: 7px;
    width: 8px; height: 4px;
    border-left: 2px solid #0A2FB6;
    border-bottom: 2px solid #0A2FB6;
    transform: rotate(-45deg);
}

/* «Условия и стоимость» */
.tvph__cond {
    grid-area: prices;
    background: #fff;
    border-radius: 18px 0 0 0;
    padding: 30px 34px 6px;
}
.tvph__cond table { width: 100%; border-collapse: collapse; }
.tvph__cond tr { border-top: 1px solid #ededed; }
.tvph__cond tr:first-child { border-top: 0; }
.tvph__cond td {
    padding: 15px 0;
    font: 400 15px 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
}
.tvph__cond td:last-child { text-align: right; font-weight: 600; white-space: nowrap; }

.tvph__btw {
    grid-area: btn;
    background: #fff;
    border-radius: 0 0 0 18px;
    margin: 0;
    padding: 10px 34px 30px;
}
.tvph__bt {
    display: block;
    text-align: center;
    background: #0B3BD8;
    color: #fff;
    font: 600 15px 'Montserrat', Roboto, Arial, sans-serif;
    padding: 15px 20px;
    border-radius: 10px;
    cursor: pointer;
    transition: background .2s;
}
.tvph__bt:hover { background: #0926A0; }

/* «Об услуге» */
.tvph__about {
    grid-area: about;
    background: #fff;
    border-radius: 0 18px 18px 0;
    padding: 30px 34px;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    position: relative;
}
/* разделитель короче блока — как в макете */
.tvph__about::before {
    content: '';
    position: absolute;
    left: 0;
    top: 28px;
    bottom: 46px;
    width: 1px;
    background: #dfe4f0;
}
.tvph__about > ul {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;   /* пункты равномерно по высоте */
}
.tvph__about > ul > li:last-child { margin-bottom: 0; }
.tvph__about .tvph__note { margin-top: auto; }   /* сноски прижаты к низу */
.tvph__about > ul > li {
    position: relative;
    padding-left: 46px;
    min-height: 30px;
    margin-bottom: 18px;
    font: 400 15px/1.4 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
    /* значение по умолчанию задаём на самом li: если объявить его внутри ::before,
       локальное объявление перебьёт унаследованное и иконка всегда будет точкой */
    --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3C/svg%3E");
}
.tvph__about > ul > li::before {
    content: '';
    position: absolute;
    left: 0; top: 0;
    width: 28px; height: 28px;
    background: #005BEF;
    -webkit-mask: var(--ic) center/contain no-repeat;
            mask: var(--ic) center/contain no-repeat;
}
.tvph__about > ul > li[data-ic="line"]  { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E"); }
.tvph__about > ul > li[data-ic="globe"] { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm6.9 6h-2.6a15 15 0 0 0-1.3-3.4A8 8 0 0 1 18.9 8zM12 4c.7 1 1.3 2.4 1.7 4h-3.4C10.7 6.4 11.3 5 12 4zM4.3 14a8 8 0 0 1 0-4h3a17 17 0 0 0 0 4h-3zm.8 2h2.6c.3 1.2.8 2.4 1.3 3.4A8 8 0 0 1 5.1 16zm2.6-8H5.1a8 8 0 0 1 3.9-3.4C8.4 5.6 8 6.8 7.7 8zM12 20c-.7-1-1.3-2.4-1.7-4h3.4c-.4 1.6-1 3-1.7 4zm2.1-6H9.9a15 15 0 0 1 0-4h4.2a15 15 0 0 1 0 4zm.9 5.4c.5-1 1-2.2 1.3-3.4h2.6a8 8 0 0 1-3.9 3.4zm1.7-5.4a17 17 0 0 0 0-4h3a8 8 0 0 1 0 4h-3z'/%3E%3C/svg%3E"); }
.tvph__about > ul > li[data-ic="fwd"]   { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 5l5 4-5 4V10H4V8h12V5zM8 19v-3h12v-2H8v-3l-5 4 5 4z'/%3E%3C/svg%3E"); }
.tvph__about > ul > li[data-ic="bolt"]  { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2L4.5 13H11l-1 9 8.5-11H12l1-9z'/%3E%3C/svg%3E"); }

.tvph__note {
    font: 400 13px/1.6 'Montserrat', Roboto, Arial, sans-serif;
    color: #6b7392 !important;
    margin: 0;
}

@media (max-width: 900px) {
    .tvph {
        grid-template-columns: 1fr;
        grid-template-areas: "price" "incl" "prices" "btn" "about";
    }
    .tvph__price {
        border-radius: 18px 18px 0 0;
        margin-bottom: 0;
        min-height: 0;
        padding: 28px 20px 18px;
        background-size: 100% 200%;
        background-position: center top;
    }
    .tvph__incl  {
        border-radius: 0 0 18px 18px;
        border-top: 1px solid rgba(255,255,255,.22);
        min-height: 0;
        padding: 22px 20px 28px;
        background-size: 100% 200%;
        background-position: center bottom;
    }
    .tvph__cond  { border-radius: 18px 18px 0 0; padding: 24px 20px 2px; }
    .tvph__btw   { border-radius: 0; padding: 6px 20px 24px; }
    .tvph__about { border-radius: 0 0 18px 18px; padding: 6px 20px 24px; display: block; }
    .tvph__about::before, .tvph__incl::before { display: none; }
    .tvph__about > ul { display: block; }
    .tvph__price__val b { font-size: 60px; }
    .tvph__price__badge { font-size: 20px; }
}

/* ---------- Оборудование телефонии: широкая карточка ----------
   Карточка носит класс .tve, поэтому сначала гасим то, что он приносит:
   ширину 258px, min-height 380px, центрирование текста и кружок «+»,
   абсолютно спозиционированный на нижней границе.                      */
.tvet__list { list-style: none; margin: 0; padding: 0; }

/* внешняя белая коробка секции не нужна: карточка сама белая,
   иначе получается карточка внутри карточки */
#tel-equip .tve-sec__box {
    background: transparent;
    padding: 0;
    box-shadow: none;
}
/* ширина как у .tvt-sec__in выше (1200px), а не 1144px из общего правила */
@media (min-width: 1240px) {
    #tel-equip .tve-sec__box { width: 1200px; }
}
#tel-equip .tve.tvet {
    display: flex;
    flex: 0 0 auto;
    max-width: none;
    width: 100%;
    align-items: center;
    gap: 30px;
    background: #fff;
    border: 1px solid #e3e9f7;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(23,23,48,.08);
    padding: 34px 38px;
    margin-bottom: 20px;
    box-sizing: border-box;
}
#tel-equip .tve.tvet:last-child { margin-bottom: 0; }

#tel-equip .tvet__body {
    flex: 1 1 58%;
    min-width: 0;
    min-height: 0;
    align-items: flex-start;
    text-align: left;
    padding: 0;
}
.tvet__ttl {
    font: 700 22px/1.25 'Montserrat', Roboto, Arial, sans-serif;
    color: #0B2A86;
    margin: 0 0 12px;
}
.tvet__lead {
    font: 400 15px/1.55 'Montserrat', Roboto, Arial, sans-serif;
    color: #4a5372;
    margin: 0 0 20px;
}
.tvet__specs > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 24px;
}
.tvet__specs > ul > li {
    position: relative;
    padding-left: 26px;
    font: 400 14px/1.35 'Montserrat', Roboto, Arial, sans-serif;
    color: #1A1730;
}
.tvet__specs > ul > li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1px;
    width: 16px;
    height: 16px;
    background: #1341E8;
    -webkit-mask: var(--chk) center/contain no-repeat;
            mask: var(--chk) center/contain no-repeat;
    --chk: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.05 17.4L3.6 12l1.9-1.9 3.55 3.55L18.5 4.2l1.9 1.9z'/%3E%3C/svg%3E");
}
.tvet__side {
    flex: 0 0 34%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
#tel-equip .tvet__pic { height: auto; width: 100%; margin: 0; text-align: center; }
#tel-equip .tvet__pic img { max-width: 100%; max-height: 190px; height: auto; }
.tvet__buy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    margin: 0;
    flex-wrap: wrap;
}
.tvet__price {
    font: 700 30px 'Montserrat', Roboto, Arial, sans-serif;
    color: #0B2A86;
    white-space: nowrap;
}
.tvet__price i { font-style: normal; font-size: 20px; margin-left: 4px; }
/* кнопка: снимаем абсолютное позиционирование и круглую форму от .tve__more */
#tel-equip .tve__more.tvet__more::before { content: none; }   /* общий .tve__more подставляет «+» */
#tel-equip .tve__more.tvet__more {
    position: static;
    transform: none;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 10px;
    background: #0B3BD8;
    color: #fff;
    font: 600 14px 'Montserrat', Roboto, Arial, sans-serif;
    padding: 13px 24px;
    cursor: pointer;
    transition: background .2s;
}
#tel-equip .tve__more.tvet__more:hover { background: #0926A0; }

@media (max-width: 900px) {
    #tel-equip .tve.tvet { flex-direction: column; align-items: stretch; gap: 20px; padding: 24px 20px; }
    .tvet__side { flex: 1 1 auto; }
    .tvet__specs > ul { grid-template-columns: 1fr; }
    .tvet__ttl { font-size: 18px; }
}

/* ===== Согласие на обработку персональных данных =====
   Штатное правило .form__term__ic:before подставляет img/_check.svg, а этого
   файла в шаблоне нет (как и _check.png), поэтому отметка не появлялась вовсе.
   Рисуем галочку на CSS. Область .form__agreew — обёртка блоков согласия. */
.form__agreew .form__term { cursor: pointer; align-items: flex-start; }
.form__agreew .form__term__ic {
    background: #fff;
    box-shadow: inset 0 0 0 1px #c9d2e6;
    transition: background .15s, box-shadow .15s;
}
.form__agreew .form__term__ic:before {
    content: '';
    background: none;
    width: 6px;
    height: 11px;
    left: 6px;
    top: 3px;
    right: auto;
    bottom: auto;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 1;
    transition: opacity .15s;
}
/* noTerm = согласие не дано */
.form.noTerm .form__agreew .form__term__ic {
    background: #fff;
    box-shadow: inset 0 0 0 1px #c9d2e6;
}
.form:not(.noTerm) .form__agreew .form__term__ic {
    background: #0B3BD8;
    box-shadow: inset 0 0 0 1px #0B3BD8;
}
.form.noTerm .form__agreew .form__term__ic:before { opacity: 0; }
/* подсветка при попытке отправить без согласия */
.form.noTerm.noTermOnClick .form__agreew .form__term__ic {
    box-shadow: 0 4px 12px 0 rgba(0,0,0,.2), 0 0 0 2px #ff5757;
}
.form__agreew .form__term__txt { font-size: 12px; line-height: 1.45; }
.form__agreew .form__term__link { color: #0B3BD8; text-decoration: underline; }
/* заблокированная кнопка отправки */
.form .form__send[disabled] { opacity: .45; cursor: not-allowed; }