/* header-menu.css
   Выпадающее меню по наведению. Только десктоп (>= lg / 992px).
   Подключать в header-2.xsl рядом с accessibility.css:
   <link rel="stylesheet" href="{$template-resources}css/header-menu.css"/>
   и тогда инлайновый <style> из header-2.xsl можно удалить.
*/

@media (min-width: 992px) {
    #header-2 .navbar-nav .dropdown-menu {
        display: block;            /* всегда в DOM, скрываем через visibility */
        margin-top: 0;             /* убираем зазор, чтобы hover не "схлопывался" */
        min-width: 14rem;
        opacity: 0;
        visibility: hidden;
        transform: translateY(.5rem);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
        pointer-events: none;
    }

    #header-2 .navbar-nav .dropdown:hover > .dropdown-menu,
    #header-2 .navbar-nav .dropdown:focus-within > .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    /* у пунктов ближе к правому краю раскрываем влево, чтобы не вылезало за экран */
    #header-2 .navbar-nav .nav-item.dropdown:nth-last-child(-n+2) .dropdown-menu {
        right: 0;
        left: auto;
    }
}
/* --- Мобильное меню offcanvas --- */
#offcanvasMenu .oc-nav .oc-row {
    border-bottom: 1px solid var(--bs-border-color);
}
/* ссылка-раздел: занимает всё свободное место слева */
#offcanvasMenu .oc-nav .oc-link {
    flex: 1 1 auto;
    padding: .65rem .25rem;
    color: var(--bs-body-color);
    text-decoration: none;
    font-weight: 500;
}
#offcanvasMenu .oc-nav .oc-link:hover { color: var(--bs-primary); }
#offcanvasMenu .oc-nav .oc-link.active { color: var(--bs-primary); font-weight: 700; }
/* кнопка-стрелка справа: отдельная зона для раскрытия */
#offcanvasMenu .oc-nav .oc-toggle {
    flex: 0 0 auto;
    width: 2.75rem;
    padding: .65rem 0;
    border: 0;
    background: transparent;
    color: var(--bs-secondary-color);
    border-left: 1px solid var(--bs-border-color);
}
#offcanvasMenu .oc-nav .oc-toggle .oc-caret { transition: transform .2s ease; }
#offcanvasMenu .oc-nav .oc-toggle[aria-expanded="true"] .oc-caret { transform: rotate(90deg); }
#offcanvasMenu .oc-nav .oc-toggle[aria-expanded="true"] { color: var(--bs-primary); }
/* вложенный список подпунктов */
#offcanvasMenu .oc-nav .oc-sub {
    list-style: none;
    margin: 0 0 .25rem 0;
    padding: .25rem 0 .5rem .75rem;
    margin-left: .5rem;
    border-left: 2px solid var(--bs-border-color);
}
#offcanvasMenu .oc-nav .oc-sub a {
    display: block;
    padding: .4rem .5rem;
    border-radius: var(--bs-border-radius);
    color: var(--bs-secondary-color);
    text-decoration: none;
}
#offcanvasMenu .oc-nav .oc-sub a:hover {
    background: var(--bs-tertiary-bg);
    color: var(--bs-primary);
}
#offcanvasMenu .oc-nav .oc-sub a.active { color: var(--bs-primary); font-weight: 600; }