/* ================= nav-desktop ================= */
/* правки поверх стилей темы: меню не должно разъезжаться при переводе */

.menu .nav {
    flex-wrap: wrap;
    align-items: stretch;
    row-gap: 0;
}

.menu .nav__elem {
    display: flex;
}

/* подпись не переносится посередине, отступы и кегль подстраиваются под ширину */
.menu .nav__link {
    width: 100%;
    padding: 18px clamp(9px, 1.25vw, 16px);
    font-size: clamp(14px, 1.15vw, 18px);
    line-height: 1.25;
    white-space: nowrap;
}

/* стрелка разворачивается у раскрытого пункта */
.menu .nav__link-arrow {
    transition: transform .25s ease;
}

.menu .nav__elem-hasSub:hover .nav__link-arrow,
.menu .nav__elem-hasSub:focus-within .nav__link-arrow {
    transform: rotate(-135deg);
    margin-top: 3px;
}

/* выпадающий список: плавное появление и небольшая задержка при уходе мыши */
.menu .nav__subMenu {
    left: 0;
    transform: translateY(8px);
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
    transition-delay: .15s;
}

.menu .nav__elem-hasSub:hover .nav__subMenu,
.menu .nav__elem-hasSub:focus-within .nav__subMenu {
    left: 0;
    opacity: 1;
    visibility: visible;
    z-index: 9;
    transform: none;
    transition-delay: 0s;
}

/* крайние справа списки открываются к левой стороне */
.menu .nav__subMenu--right {
    left: auto;
    right: 0;
}

.menu .nav__elem-hasSub:hover .nav__subMenu--right,
.menu .nav__elem-hasSub:focus-within .nav__subMenu--right {
    left: auto;
    right: 0;
}

/* пункты списка появляются быстрее и одинаково */
.menu .nav .navSubMenu__elem {
    transition: opacity .22s ease, transform .22s ease;
    transition-delay: .06s;
}

.menu .nav__elem-hasSub:focus-within .navSubMenu__elem {
    opacity: 1;
    transform: none;
}

.menu .navSubMenu__link {
    white-space: normal;
}

@media (prefers-reduced-motion: reduce) {
    .menu .nav__subMenu,
    .menu .nav .navSubMenu__elem,
    .menu .nav__link-arrow {
        transition-duration: .01ms;
    }
}