/* ==========================================================================
   1. КАРТОЧКИ С ЗАТЕМНЕНИЕМ ПРИ НАВЕДЕНИИ
   ========================================================================== */

[class*="zbhv-card-"][class*="-overlay"],
[class*="zbhv-card-"][class*="-overlay"] .tn-atom,
[class*="zbhv-card-"][class*="-button"],
[class*="zbhv-card-"][class*="-button"] .tn-atom {
    cursor: pointer;
}

[class*="zbhv-card-"][class*="-image"],
[class*="zbhv-card-"][class*="-image"] .tn-atom {
    transition:
        filter .55s cubic-bezier(.22, .61, .36, 1),
        transform .7s cubic-bezier(.22, .61, .36, 1);
}

[class*="zbhv-card-"][class*="-overlay"] {
    opacity: 0 !important;
    transition: opacity .55s cubic-bezier(.22, .61, .36, 1);
}

[class*="zbhv-card-"][class*="-button"] {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none;
    transform: translateY(18px);

    transition:
        opacity .45s cubic-bezier(.22, .61, .36, 1),
        transform .55s cubic-bezier(.22, .61, .36, 1),
        visibility .45s;
}


/* ==========================================================================
   2. FAQ / АККОРДЕОН
   ========================================================================== */

/* Фон вопроса */
[class*="zdnfaq-q"][class*="-bg"] {
    z-index: 1 !important;
    overflow: hidden;
    border-radius: 6px !important;
    transform-origin: top left;

    transition:
        top .35s ease,
        height .35s ease,
        transform .35s ease,
        background-color .25s ease;
}

[class*="zdnfaq-q"][class*="-bg"] .tn-atom {
    overflow: hidden;
    border-radius: 6px !important;
    transition: background-color .3s ease;
}

/* Текст вопроса, ответ и иконка */
[class*="zdnfaq-q"][class*="-trigger"],
[class*="zdnfaq-q"][class*="-icon"],
[class*="zdnfaq-q"][class*="-answer"] {
    z-index: 10 !important;
    transition: top .35s ease;
}

[class*="zdnfaq-q"][class*="-trigger"],
[class*="zdnfaq-q"][class*="-trigger"] .tn-atom,
[class*="zdnfaq-q"][class*="-icon"],
[class*="zdnfaq-q"][class*="-icon"] .tn-atom {
    cursor: pointer;
}

/* Скрытые ответы */
[class*="zdnfaq-q"][class*="-answer"] {
    opacity: 0 !important;
    pointer-events: none;

    transition:
        top .35s ease,
        opacity .2s ease;
}

/* Первый ответ виден до запуска JavaScript */
.zdnfaq-q1-answer {
    opacity: 1 !important;
    pointer-events: auto;
}

/* Плавная анимация «плюс / минус» */
[class*="zdnfaq-q"][class*="-icon"] .tn-atom {
    position: relative !important;
    font-size: 0 !important;
    color: transparent !important;
}

[class*="zdnfaq-q"][class*="-icon"] .tn-atom::before,
[class*="zdnfaq-q"][class*="-icon"] .tn-atom::after {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 18px;
    height: 2px;

    content: "";
    pointer-events: none;
    border-radius: 2px;
    background: #24415b;
}

[class*="zdnfaq-q"][class*="-icon"] .tn-atom::before {
    transform: translate(-50%, -50%);
}

[class*="zdnfaq-q"][class*="-icon"] .tn-atom::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform .3s cubic-bezier(.22, .61, .36, 1);
}

[class*="zdnfaq-q"][class*="-icon"].is-open .tn-atom::after {
    transform: translate(-50%, -50%) rotate(0);
}


/* ==========================================================================
   3. СЛАЙДЕРЫ: ОТЗЫВЫ И ИДЕИ
   ========================================================================== */

.zrev-card,
.zideas-card {
    will-change: transform;
    transition: transform .45s cubic-bezier(.22, .61, .36, 1);
}

/* Стрелки */
.zrev-prev,
.zrev-next,
.zideas-prev,
.zideas-next,
.zrev-prev .tn-atom,
.zrev-next .tn-atom,
.zideas-prev .tn-atom,
.zideas-next .tn-atom {
    cursor: pointer;
    transition: opacity .2s ease;
}

/* Неактивные стрелки */
.zrev-prev.is-disabled,
.zrev-next.is-disabled,
.zideas-prev.is-disabled,
.zideas-next.is-disabled {
    cursor: default;
    opacity: .3 !important;
    pointer-events: none;
}


/* ==========================================================================
   4. ГОРИЗОНТАЛЬНАЯ ПРОКРУТКА КАРТОЧЕК
   Только телефоны и планшеты
   ========================================================================== */

@media screen and (max-width: 1199px) {
    .zsolution-scroll {
        overflow-x: auto !important;
        overflow-y: hidden !important;

        cursor: grab;
        scrollbar-width: none;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .zsolution-scroll::-webkit-scrollbar {
        display: none;
    }

    .zsolution-scroll > .tn-molecule {
        flex-wrap: nowrap !important;
    }

    /* Невидимое пространство после последней карточки */
    .zsolution-scroll-end {
        flex: 0 0 auto !important;
        height: 1px !important;
        pointer-events: none !important;
    }

    .zsolution-scroll.is-dragging {
        cursor: grabbing;
        user-select: none;
    }
}

@media screen and (min-width: 1200px) {
    .zsolution-scroll-end {
        display: none !important;
    }
}

/* Уменьшение карточек только на небольших телефонах */
@media screen and (max-width: 480px) {
    .zsolution-scroll > .tn-molecule > .t396__group {
        zoom: .85 !important;
    }
}


/* ==========================================================================
   5. ЛИНИИ: БЛОК «РАБОТАЕМ СО ЗНАНИЕМ ДЕЛА»
   ========================================================================== */

.btp1 .tn-atom {
    border: 0 !important;
    border-top: 1px solid #dce4e8 !important;
    border-radius: 0 !important;
}

.btp1-last .tn-atom {
    border: 0 !important;
    border-top: 1px solid #dce4e8 !important;
    border-bottom: 1px solid #dce4e8 !important;
    border-radius: 0 !important;
}


/* ==========================================================================
   6. POPUP: КРЕСТИК ЗАКРЫТИЯ
   ========================================================================== */

.zpopup-close,
.zpopup-close .tn-atom {
    cursor: pointer;
}


/* ==========================================================================
   7. ПОЛНОЭКРАННОЕ МОБИЛЬНОЕ МЕНЮ
   ========================================================================== */

/* Основной объект меню */
.zmenu-panel {
    position: fixed !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;

    z-index: 999999 !important;

    width: 100vw !important;
    height: var(--zmenu-height, 100vh) !important;

    zoom: 1 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transform: translate3d(100%, 0, 0) !important;

    transition:
        transform .42s cubic-bezier(.22, .61, .36, 1),
        opacity .2s ease,
        visibility .2s ease !important;
}

/* Тёмная фигура-фон внутри объекта меню */
.zmenu-panel > .tn-molecule > .tn-elem:first-child,
.zmenu-panel > .tn-molecule > .t396__elem:first-child {
    top: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: var(--zmenu-height, 100vh) !important;
}

/* Открытое меню */
.zmenu-panel.zmenu-opened {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
    transform: translate3d(0, 0, 0) !important;
}

/* Крестик меню */
.zmenu-panel .zmenu-close {
    top: 20px !important;
    right: 20px !important;
    left: auto !important;

    z-index: 3 !important;
    cursor: pointer;
}

/* Группа с пунктами меню */
.zmenu-panel .zmenu-nav {
    z-index: 10 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
}

.zmenu-panel .zmenu-nav .tn-atom {
    cursor: pointer;
}

/* Линия над телефоном */
.zmenu-panel .zmenu-divider {
    top: auto !important;
    right: 0 !important;
    bottom: 70px !important;
    left: 0 !important;

    width: 100vw !important;
}

/* Телефон внизу меню */
.zmenu-panel .zmenu-phone {
    top: auto !important;
    right: auto !important;
    bottom: 23px !important;
    left: 20px !important;

    z-index: 3 !important;
}

/* Бургер */
a[href="#menu-toggle"],
a[href="#menu-toggle"] .tn-atom {
    cursor: pointer;
}

/* Блокировка прокрутки страницы при открытом меню */
body.zmenu-lock {
    overflow: hidden !important;
}

/* Пока меню открыто — элементы страницы под ним не перехватывают клики */
body.zmenu-lock .t-rec {
    pointer-events: none !important;
}

/* Само меню, крестик, пункты и телефон остаются кликабельными */
body.zmenu-lock .zmenu-panel,
body.zmenu-lock .zmenu-panel * {
    pointer-events: auto !important;
}

/* Номер остаётся снизу и доступен для клика */
.zmenu-panel .zmenu-phone {
    position: absolute !important;
    top: auto !important;
    right: auto !important;
    bottom: 23px !important;
    left: 20px !important;

    z-index: 1000 !important;
    pointer-events: auto !important;
    cursor: pointer;
}

.zmenu-panel .zmenu-phone .tn-atom,
.zmenu-panel .zmenu-phone a {
    pointer-events: auto !important;
    cursor: pointer;
}