/* Стили для текста (ссылки на раздел) */
.btn-toggle {
    padding: .25rem .5rem;
    font-weight: 600;
    color: var(--bs-body-color);
    text-align: left !important;
    background: transparent;
}
.btn-toggle:hover,
.btn-toggle:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
}
/* Принудительно убираем стрелку у ссылок */
.btn-toggle::before {
    display: none !important;
}

/* Стили ТОЛЬКО для кнопки-стрелочки */
.btn-toggle-arrow {
    color: var(--bs-body-color);
    background: transparent;
    display: inline-flex;
    align-items: center;
}
.btn-toggle-arrow::before {
    width: 1.25em;
    line-height: 0;
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%280,0,0,.1%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    transition: transform .35s ease;
    transform-origin: .5em 50%;
}
/* Поворот стрелочки при открытии */
.btn-toggle-arrow[aria-expanded="true"]::before {
    transform: rotate(90deg);
}

/* Стрелочка для темной темы */
[data-bs-theme="dark"] .btn-toggle-arrow::before {
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28255,255,255,.1%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

/* --- ЖЕСТКИЙ СБРОС И НОВЫЕ СТИЛИ ДОЧЕРНИХ ЭЛЕМЕНТОВ --- */
.btn-toggle-nav a {
    display: flex !important; /* Принудительно включаем flex, побеждая d-inline-flex */
    justify-content: space-between !important; /* Раздвигаем текст и бейдж */
    align-items: center !important;
    padding: .1875rem .5rem .1875rem 1rem !important;
    margin-top: .125rem !important;
    margin-left: 1.25rem !important; /* ВОЗВРАЩАЕМ ОТСТУП СЛЕВА */
    text-align: left !important;
    width: calc(100% - 1.25rem) !important; /* Бейдж не вылезает вправо */
    color: var(--bs-body-color) !important;
    position: relative !important;
    
    /* ЯВНО УБИВАЕМ ВСЕ СТАРЫЕ СКОБОЧКИ И ТЕНИ */
    box-shadow: none !important; 
    border-left: none !important;
    text-decoration: none !important;
    font-weight: normal !important;
}

.btn-toggle-nav a:hover,
.btn-toggle-nav a:focus {
    color: var(--bs-body-color) !important;
    background-color: var(--bs-tertiary-bg) !important;
}

/* --- АКТИВНЫЙ ДОЧЕРНИЙ ЭЛЕМЕНТ --- */
.btn-toggle-nav a.active,
.btn-toggle-nav a.active:hover,
.btn-toggle-nav a.active:focus {
    color: var(--bs-primary) !important;
    background-color: var(--bs-primary-bg-subtle) !important;
    
    /* СНОВА УБИВАЕМ СТАРЫЕ МАРКЕРЫ НА ВСЯКИЙ СЛУЧАЙ */
    box-shadow: none !important;
    border-left: none !important;
    text-decoration: none !important;
    font-weight: normal !important;
}

/* РИСУЕМ НОВЫЙ МАРКЕР (АБСОЛЮТНО, ЧТОБЫ ТЕКСТ НЕ ДЕРГАЛСЯ) */
.btn-toggle-nav a.active::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 4px !important;
    bottom: 4px !important;
    width: 3px !important;
    background-color: var(--bs-primary) !important;
    border-radius: 2px !important;
}
/* Активный дочерний элемент */
.btn-toggle-nav a.active,
.btn-toggle-nav a.active:hover,
.btn-toggle-nav a.active:focus {
    color: var(--bs-primary);
    background-color: var(--bs-primary-bg-subtle);
    /* Новый маркер: просто выделяем текст и добавляем аккуратную линию */
    font-weight: 500; 
    text-decoration: underline;
    text-underline-offset: 3px; /* Отступ линии от текста */
    text-decoration-thickness: 1px; /* Тонкая линия */
}

/* --- АКТИВНОЕ СОСТОЯНИЕ --- */

/* 1. Активный элемент БЕЗ детей */
a.btn-toggle.active,
a.btn-toggle.active:hover,
a.btn-toggle.active:focus {
    color: var(--bs-primary);
    background-color: var(--bs-primary-bg-subtle);
}

/* 2. Активный родитель С детьми (Сплошная линия от левого края до правого) */
li.active.parent-row {
    background-color: var(--bs-primary-bg-subtle);
    border-radius: var(--bs-border-radius); /* Ровное скругление для всей строки */
}
/* Убираем отдельные фоны у стрелки и ссылки, чтобы они не вылезали поверх общего фона li */
li.active.parent-row > div > .btn-toggle,
li.active.parent-row > div > .btn-toggle-arrow,
li.active.parent-row > div > .btn-toggle:hover,
li.active.parent-row > div > .btn-toggle-arrow:hover {
    color: var(--bs-primary);
    background-color: transparent !important; 
}

/* 3. Активный дочерний элемент (в выпадающем списке) */
.btn-toggle-nav a.active,
.btn-toggle-nav a.active:hover,
.btn-toggle-nav a.active:focus {
    color: var(--bs-primary);
    background-color: var(--bs-primary-bg-subtle);
    border-left: 2px solid var(--bs-primary);
    padding-left: calc(1.25rem - 2px); 
}