/* =====================================================================
   kzsk-menu-fix.css — фикс выпадающего меню 2-го и 3-го уровня
   Дата: 29.06.2026
   Подключить ПОСЛЕ kzsk-base.css (включая navbar-hover.css)
   ===================================================================== */

/* ═══════════════════════════════════════════════════════════
   ДЕСКТОП (≥992px) — расширяем подменю
   ═══════════════════════════════════════════════════════════ */

@media (min-width: 992px) {

    /* 1. Подменю 2-го уровня (основное выпадающее меню) */
    .dropdown-menu {
        min-width: 320px !important;
        max-width: 380px;
        padding: 0.5rem 0;
    }

    /* 2. Подменю 3-го уровня (.dropdown-submenu) — шире */
    .dropdown-submenu > .dropdown-menu {
        min-width: 300px !important;
        max-width: 360px;
        overflow: visible;
    }

    /* 3. Подменю 3-го уровня для последних 2 пунктов — чуть уже,
          чтобы не уходило за правый край экрана */
    .bsb-navbar .navbar-nav > .nav-item:nth-last-child(-n+2) .dropdown-submenu > .dropdown-menu,
    .bsb-navbar .navbar-nav > .dropdown:nth-last-child(-n+2) .dropdown-submenu > .dropdown-menu {
        min-width: 280px !important;
        max-width: 320px;
        /* Вылет влево, чтобы не уходило за экран */
        left: auto !important;
        right: 100% !important;
    }

    /* 4. Мостик для подменю, вылетающего влево — тоже слева */
    .bsb-navbar .navbar-nav > .nav-item:nth-last-child(-n+2) .dropdown-submenu > .dropdown-menu::before,
    .bsb-navbar .navbar-nav > .dropdown:nth-last-child(-n+2) .dropdown-submenu > .dropdown-menu::before {
        left: auto !important;
        right: -0.375rem !important;
    }
}


/* ═══════════════════════════════════════════════════════════
   ВСЕ РАЗМЕРЫ — перенос текста (не выходит за рамки)
   ═══════════════════════════════════════════════════════════ */

/* 5. Пункты подменю 2-го уровня — переносить длинный текст */
.dropdown-menu .dropdown-item {
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.4;
    padding: 0.5rem 1rem;
}

/* 6. Пункты подменю 3-го уровня — переносить текст */
.dropdown-submenu > .dropdown-menu .dropdown-item {
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.35;
    padding: 0.45rem 1rem;
    font-size: 0.9rem;
}

/* 7. Пункт-родитель с стрелкой — переносить если длинный */
.dropdown-submenu > .dropdown-item.dropdown-toggle {
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.35;
    padding-right: 2rem;
}

/* 8. Стрелка вправо — позиционировать абсолютно */
.dropdown-submenu > .dropdown-item.dropdown-toggle::after {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
}

/* 9. Защита от слишком длинных слов */
.dropdown-menu .dropdown-item {
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
}


/* ═══════════════════════════════════════════════════════════
   МОБИЛЬНЫЕ (<992px) — подменю раскрывается вниз
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 991.98px) {
    .dropdown-submenu > .dropdown-menu {
        position: static !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-left: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background-color: transparent !important;
    }

    .dropdown-submenu > .dropdown-menu .dropdown-item {
        padding-left: 2rem !important;
        font-size: 0.88rem;
    }

    .dropdown-submenu > .dropdown-item.dropdown-toggle::after {
        position: static;
        transform: none;
        float: right;
        margin-top: 0.4rem;
    }
}
