/* ОПТИМИЗАЦИЯ ПОДМЕНЮ ТРЕТЬЕГО УРОВНЯ ПО ШИРИНЕ ТЕКСТА */

/* Базовые стили для всех подменю третьего уровня */
#side-menu .submenu .submenu li a,
#side-menu .submenu .submenu .submenu li a {
    /* Убираем все ограничения по высоте и переносу строк */
    white-space: normal !important;
    word-wrap: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    
    /* Полная ширина контейнера */
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    
    /* Убираем ограничения по количеству строк */
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    text-overflow: unset !important;
    
    /* Оптимальные отступы для текста */
    padding: 12px 20px !important;
    line-height: 1.4 !important;
    
    /* Выравнивание */
    text-align: left !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

/* Конкретные классы широких подменю */
#side-menu .submenu .trschpu-y li a,
#side-menu .submenu .prov-vyr-dk li a,
#side-menu .submenu .prov-vyr-dk-3 li a {
    /* Убираем все ограничения */
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    
    /* Автоматическая высота по содержимому */
    display: flex !important;
    align-items: center !important;
    padding: 10px 15px 10px 20px !important;
    
    /* Естественный перенос слов */
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
}

/* Широкие подменю с несколькими колонками */
#side-menu .submenu .submenu li:hover > .trschpu-y,
#side-menu .submenu li:hover > .prov-vyr-dk-3,
#side-menu .submenu li:hover > .prov-vyr-dk {
    /* Автоматические колонки с минимальной шириной */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 0 !important;
    padding: 0 !important;
}

/* Элементы внутри широких подменю */
#side-menu .submenu .submenu li:hover > .trschpu-y li,
#side-menu .submenu li:hover > .prov-vyr-dk li,
#side-menu .submenu li:hover > .prov-vyr-dk-3 li {
    width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Текст в элементах широких подменю */
#side-menu .submenu .submenu li:hover > .trschpu-y li a,
#side-menu .submenu li:hover > .prov-vyr-dk li a,
#side-menu .submenu li:hover > .prov-vyr-dk-3 li a {
    /* Занимает всю доступную ширину */
    width: 100% !important;
    padding: 12px 18px !important;
    
    /* Адаптация текста */
    font-size: 9px !important;
    line-height: 1.3 !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    
    /* Естественный перенос */
    white-space: normal !important;
    word-break: break-word !important;
}

/* Универсальные стили для всех подменю третьего уровня */
#side-menu .submenu .submenu li a {
    /* Убираем все ограничения по отображению текста */
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    height: auto !important;
    
    /* Полная ширина */
    flex: 1 1 100% !important;
    
    /* Адаптивный текст */
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
}

/* Улучшение для очень длинных названий */
#side-menu .submenu .submenu li a {
    /* Разрешаем текст любой длины */
    white-space: normal !important;
    word-spacing: 0 !important;
    letter-spacing: 0 !important;
    
    /* Минимальная высота для читаемости */
    min-height: 40px !important;
    height: auto !important;
}

/* Адаптация для разных размеров экранов */
@media (min-width: 980px) and (max-width: 1200px) {
    #side-menu .submenu .submenu li:hover > .trschpu-y li a,
    #side-menu .submenu li:hover > .prov-vyr-dk li a,
    #side-menu .submenu li:hover > .prov-vyr-dk-3 li a {
        padding: 10px 15px !important;
        font-size: 9px !important;
    }
    
    /* Адаптивные колонки */
    #side-menu .submenu li:hover > .prov-vyr-dk,
    #side-menu .submenu .submenu li:hover > .trschpu-y,
    #side-menu .submenu li:hover > .prov-vyr-dk-3 {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    #side-menu .submenu li:hover > .prov-vyr-dk,
    #side-menu .submenu .submenu li:hover > .trschpu-y,
    #side-menu .submenu li:hover > .prov-vyr-dk-3 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 900px) {
    #side-menu .submenu li:hover > .prov-vyr-dk,
    #side-menu .submenu .submenu li:hover > .trschpu-y,
    #side-menu .submenu li:hover > .prov-vyr-dk-3 {
        grid-template-columns: 1fr !important;
        width: 280px !important;
    }
    
    #side-menu .submenu .submenu li:hover > .trschpu-y li a,
    #side-menu .submenu li:hover > .prov-vyr-dk li a,
    #side-menu .submenu li:hover > .prov-vyr-dk-3 li a {
        padding: 12px 15px !important;
    }
}

/* Убираем правую границу у последней колонки */
#side-menu .submenu li:hover > .prov-vyr-dk li:last-child,
#side-menu .submenu li:hover > .prov-vyr-dk li:nth-last-child(2),
#side-menu .submenu .submenu li:hover > .trschpu-y li:last-child,
#side-menu .submenu .submenu li:hover > .trschpu-y li:nth-last-child(2),
#side-menu .submenu .submenu li:hover > .trschpu-y li:nth-last-child(3),
#side-menu .submenu li:hover > .prov-vyr-dk-3 li:last-child,
#side-menu .submenu li:hover > .prov-vyr-dk-3 li:nth-last-child(2),
#side-menu .submenu li:hover > .prov-vyr-dk-3 li:nth-last-child(3) {
    border-right: none !important;
}

/* Фикс для Safari */
@supports (-webkit-appearance: none) {
    #side-menu .submenu .submenu li a {
        -webkit-line-clamp: unset;
        -webkit-box-orient: unset;
    }
}

/* Улучшенное заполнение ширины для всех элементов */
#side-menu .submenu .trschpu-y,
#side-menu .submenu .prov-vyr-dk,
#side-menu .submenu .prov-vyr-dk-3 {
    /* Равномерное распределение */
    grid-auto-rows: minmax(auto, max-content);
}

/* Для очень длинных текстов */
#side-menu .submenu .submenu li a {
    /* Разрешаем многострочный текст */
    white-space: normal;
    word-spacing: normal;
    letter-spacing: normal;
    
    /* Гибкая высота */
    min-height: 40px;
    height: auto;
}