
/* --- ВЫПАДАЮЩЕЕ МЕНЮ: ГАРАНТИРОВАННО СПИСКОМ (НЕ В СТРОКУ) --- */

/* Контейнер выпадающего списка */
.dropdown > .dropdown-content {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;

    /* Адаптивная ширина под текст */
    width: max-content;
    min-width: 220px;
    max-width: 320px;

    background: #2D2D2D;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 400;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    box-sizing: border-box;
}

/* Пункты внутри выпадающего списка — строго друг под другом */
.dropdown .dropdown-content li {
    display: block !important;       /* ломает flex/inline-block */
    float: none !important;          /* ломает float */
    width: 100% !important;           /* на всю ширину контейнера */
    white-space: normal !important;   /* разрешает перенос текста */
}

/* Ссылки внутри выпадающего списка */
.dropdown .dropdown-content a {
    display: block !important;
    border-bottom: 1px solid #393939;
    color: #C7C7C7;
    padding: 10px 15px;
    text-decoration: none;
    -webkit-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
}

.dropdown .dropdown-content a:hover {
    color: #FF3324;
}

.dropdown .dropdown-content li:last-child a {
    border: none;
}

/* Показываем подменю при наведении (десктоп) */
.dropdown:hover > .dropdown-content {
    display: block;
}

/* Стрелочка у родителя, если есть подменю */
.menu > li.has-submenu {
    padding-right: 32px;
    position: relative;
}

.menu > li.has-submenu::after {
    content: '▼';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
    font-size: 0.7em;
    pointer-events: none;
}

.menu > li.has-submenu:hover::after {
    color: #FF3324;
}

/* Состояние «открыто» для клика (мобильные) */
.dropdown.is-open > .dropdown-content {
    display: block;
}

@media (min-width: 769px) {
    .dropdown:not(.is-open):hover > .dropdown-content {
        display: block;
    }
}
/**********************************************************************/
/**********************************************************************/

/* Контейнер выпадающего списка */
.dropdown > .dropdown-content {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;

    width: max-content !important;
    min-width: 220px !important;
    max-width: 320px !important;

    background: #2D2D2D !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 9999 !important;          /* выше, чем у Bootstrap */
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
    box-sizing: border-box !important;
}

/* Пункты внутри выпадающего списка — строго друг под другом */
.dropdown .dropdown-content li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    white-space: normal !important;
}

.dropdown .dropdown-content a {
    display: block !important;
    border-bottom: 1px solid #393939 !important;
    color: #C7C7C7 !important;
    padding: 10px 15px !important;
    text-decoration: none !important;
    -webkit-transition: all 200ms ease-out !important;
    transition: all 200ms ease-out !important;
}

.dropdown .dropdown-content a:hover {
    color: #FF3324 !important;
}

.dropdown .dropdown-content li:last-child a {
    border: none !important;
}

/* Показываем подменю при наведении (десктоп) */
.dropdown:hover > .dropdown-content {
    display: block !important;
}

/* Состояние «открыто» для клика (мобильные) */
.dropdown.is-open > .dropdown-content {
    display: block !important;
}

@media (min-width: 769px) {
    .dropdown:not(.is-open):hover > .dropdown-content {
        display: block !important;
    }
}
/*****************************************************************************/
/* Убираем зависимость выпадашки от скролла родителя */
.dropdown {
    position: relative !important;
    z-index: 400 !important;
}

.dropdown > .dropdown-content {
    position: fixed !important;       /* ВАЖНО: фиксируем к окну, а не к родителю */
    top: auto !important;            /* отключаем top: 100% */
    bottom: auto !important;
    left: auto !important;
    right: auto !important;

    /* Дальше мы вручную рассчитаем позицию через JS, либо используем top/left */
    width: max-content !important;
    min-width: 220px !important;
    max-width: 320px !important;

    background: #2D2D2D !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 9999 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
    box-sizing: border-box !important;
    display: none !important;         /* скрываем по умолчанию */
}

/* Пункты строго списком */
.dropdown .dropdown-content li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    white-space: normal !important;
}

.dropdown .dropdown-content a {
    display: block !important;
    border-bottom: 1px solid #393939 !important;
    color: #C7C7C7 !important;
    padding: 10px 15px !important;
    text-decoration: none !important;
    transition: all 200ms ease-out !important;
}

.dropdown .dropdown-content a:hover {
    color: #FF3324 !important;
}

.dropdown .dropdown-content li:last-child a {
    border: none !important;
}
