/* ==========================================================
   CVPM — Вертикальное меню категорий с БОКОВЫМИ подменю
   ========================================================== */

/* Обёртка */
body .cvpm-wrapper {
    position: relative;
    width: 260px;
    font-family: inherit;
    z-index: 100;
}

body .cvpm-wrapper .cvpm-title {
    background: #f5f5f5;
    border: 1px solid #e5e5e5;
    border-bottom: none;
    padding: 14px 20px;
    font-weight: 700;
    font-size: 16px;
    color: #222;
    text-transform: uppercase;
    letter-spacing: .5px;
}

/* Списки */
body .cvpm-wrapper ul.cvpm-root,
body .cvpm-wrapper ul.cvpm-sub {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
}

body .cvpm-wrapper ul.cvpm-root {
    border: 1px solid #e5e5e5;
}

body .cvpm-wrapper li.cvpm-item {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
    display: block !important;
}

body .cvpm-wrapper ul.cvpm-root > li.cvpm-item {
    border-bottom: 1px solid #efefef;
}

body .cvpm-wrapper ul.cvpm-root > li.cvpm-item:last-child {
    border-bottom: none;
}

/* Ссылки */
body .cvpm-wrapper a.cvpm-link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px !important;
    color: #444 !important;
    text-decoration: none !important;
    font-size: 15px;
    line-height: 1.3;
    background: transparent !important;
    border: none !important;
    transition: background-color .2s ease, color .2s ease;
}

body .cvpm-wrapper ul.cvpm-root > li.cvpm-item > a.cvpm-link:hover {
    background: #f7f7f7 !important;
    color: #000 !important;
}

body .cvpm-wrapper .cvpm-arrow {
    font-size: 18px;
    line-height: 1;
    color: #999;
    margin-left: 10px;
    flex-shrink: 0;
}

/* ==========================================================
   БОКОВЫЕ ПОДМЕНЮ — жёстко скрыты по умолчанию
   ========================================================== */

body .cvpm-wrapper ul.cvpm-sub {
    display: none !important;
    position: absolute !important;
    top: -1px !important;
    left: 100% !important;
    width: 240px !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    box-shadow: 3px 3px 12px rgba(0,0,0,.08) !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    z-index: 9999 !important;
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity .15s ease, transform .15s ease;
}

/* Показ при наведении на родителя */
body .cvpm-wrapper li.cvpm-item:hover > ul.cvpm-sub {
    display: block !important;
    opacity: 1;
    transform: translateX(0);
}

/* Подменю 2-го уровня — тоже справа */
body .cvpm-wrapper ul.cvpm-sub ul.cvpm-sub {
    top: -7px !important;
}

/* Пункты внутри подменю */
body .cvpm-wrapper ul.cvpm-sub li.cvpm-item {
    border: none !important;
}

body .cvpm-wrapper ul.cvpm-sub a.cvpm-link {
    padding: 10px 18px !important;
    font-size: 14px;
    color: #555 !important;
}

body .cvpm-wrapper ul.cvpm-sub a.cvpm-link:hover {
    background: #f7f7f7 !important;
    color: #000 !important;
}

/* ==========================================================
   Мобильные — аккордеон вместо бокового
   ========================================================== */
@media (max-width: 1024px) {
    body .cvpm-wrapper {
        width: 100%;
    }

    body .cvpm-wrapper ul.cvpm-sub {
        position: static !important;
        width: auto !important;
        opacity: 1 !important;
        transform: none !important;
        box-shadow: none !important;
        border: none !important;
        border-top: 1px solid #efefef !important;
        background: #fafafa !important;
        padding: 0 !important;
    }

    body .cvpm-wrapper li.cvpm-item:hover > ul.cvpm-sub {
        display: block !important;
    }

    body .cvpm-wrapper .cvpm-arrow {
        transform: rotate(90deg);
    }
}