/*
 * Мобильное меню-бургер (01.10.2026, шаблон components/bitrix/menu/main-menu-new): пункты «Заказ артистов»
 * и «Каталог площадок», город (попап city-check.php), язык (av55-lang-switcher.php), телефон выбранного города;
 * иконка-телефон в шапке рядом с бургером. Всё видно только на телефоне (<768px), десктоп и планшет не меняются.
 */
.av55mm-only, .av55mm-extra, .av55mm-hphone,
.header-menu .navbar-nav > li.av55mm-only { display: none; }   /* .nav > li из bootstrap сильнее простого класса */

/* Плавающий флажок языков (/include/language_switcher.php) больше не нужен: язык выбирается в шапке/меню */
#floatingLanguageSwitcher, .floating-language-switcher { display: none !important; }

@media (max-width: 767px) {
    /* ---------- Иконка-телефон рядом с бургером ---------- */
    .header-menu .navbar-header { display: flex; justify-content: flex-end; align-items: flex-start; }
    .header-menu .navbar-header .navbar-toggle { float: none; flex: 0 0 auto; }
    .av55mm-hphone {
        display: flex; align-items: center; justify-content: center; flex: 0 0 40px;
        width: 40px; height: 40px; margin: 22px 10px 0 0; border-radius: 50%;
        color: #fff !important; background: linear-gradient(90deg, #fdbf00, #d71200);
        box-shadow: 0 3px 10px rgba(215, 18, 0, .3); text-decoration: none !important;
        -webkit-tap-highlight-color: transparent;
    }
    .av55mm-hphone svg { display: block; width: 20px; height: 20px; }
    /* Узкие экраны (320–360): логотип ужимается пропорционально (height:auto), чтобы не наезжать на иконку телефона */
    body:not(.av55-m) .header-bottom .header-logo img { max-width: calc(100vw - 165px); height: auto; }
    /* Площадки/артисты: шапка ниже (56px), бургер с margin-top 6px — выравниваем по нему */
    body.av55-m .av55mm-hphone { margin: 8px 4px 0 0; }
    /* Значок поиска (появляется при прокрутке) — левее телефона */
    body.av55-m .header .av55m-sbtn { right: 102px; }

    /* ---------- Меню: высота не больше экрана, прокрутка внутри ---------- */
    .header-menu .navbar-collapse.in,
    .header-menu .navbar-collapse.collapsing {
        max-height: calc(100vh - 110px); max-height: calc(100dvh - 110px);
        overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    }
    body.av55-m .header-menu .navbar-collapse.in { max-height: calc(100vh - 56px); max-height: calc(100dvh - 56px); }

    /* ---------- Новые пункты ---------- */
    .header-menu .navbar-nav > li.av55mm-only { display: block; }
    .header-menu .navbar-nav > li.av55mm-only > a { display: flex; align-items: center; }
    .header-menu .navbar-nav > li.av55mm-only > a > span:not(.av55mm-ic) { margin-left: 10px; padding-top: 2px; }
    .av55mm-ic {
        flex: 0 0 25px; width: 25px; height: 22px; display: flex; align-items: center; justify-content: center;
        margin: 0 !important; padding: 0 !important;
    }
    .av55mm-ic svg {
        width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8;
        stroke-linecap: round; stroke-linejoin: round;
    }
    .header-menu .navbar-nav > li.av55mm-cur > a { opacity: 1; color: #fdbf00; }

    /* ---------- Город, язык, телефон ---------- */
    .av55mm-extra {
        display: block; max-width: 750px; margin: 0 auto; padding: 4px 15px 16px;
        border-top: 1px solid rgba(255, 255, 255, .2); font-family: 'DINProRegular', sans-serif;
    }
    .av55mm-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 10px; min-height: 48px; }
    .av55mm-city {
        display: flex; align-items: center; gap: 8px; min-width: 0; color: #fff !important; text-decoration: none !important;
        font-size: 15px; line-height: 1.2; padding: 12px 0;
    }
    .av55mm-city svg { flex: 0 0 18px; opacity: .7; }
    .av55mm-city-lbl { opacity: .7; white-space: nowrap; }
    .av55mm-city b { font-family: 'DINProBold', sans-serif; font-weight: normal; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .av55mm-city .caret { flex: 0 0 auto; margin-left: 2px; }

    /* кнопка и список языков — прямо в строке города: список раскрывается под ней в потоке (не обрезается прокруткой меню) */
    .av55-lang-sw--menu { display: contents; }
    .av55-lang-sw--menu .av55-lang-sw-btn {
        display: inline-flex; align-items: center; height: 34px; padding: 0 12px; border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, .35); text-decoration: none; opacity: 1; font-size: 14px;
    }
    .av55-lang-sw--menu .av55-lang-sw-dd {
        position: static; flex: 0 0 100%; order: 3; margin: 0 0 8px; min-width: 0; box-shadow: none;
        grid-template-columns: 1fr 1fr; gap: 2px; padding: 6px; border: 1px solid rgba(255, 255, 255, .15);
    }
    .av55-lang-sw--menu.open .av55-lang-sw-dd { display: grid; }
    .av55-lang-sw--menu .av55-lang-sw-dd a { padding: 10px 12px; font-size: 14px; border-radius: 4px; }

    .av55mm-phone {
        display: flex; align-items: center; gap: 12px; margin-top: 4px; padding: 10px 14px; border-radius: 12px;
        background: rgba(255, 255, 255, .07); color: #fff !important; text-decoration: none !important;
    }
    .av55mm-phone-ic {
        flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
        background: linear-gradient(90deg, #fdbf00, #d71200);
    }
    .av55mm-phone-ic svg { width: 20px; height: 20px; }
    .av55mm-phone b { display: block; font-family: 'DINProBold', sans-serif; font-weight: normal; font-size: 21px; line-height: 1.15; letter-spacing: .3px; white-space: nowrap; }
    .av55mm-phone small { display: block; font-size: 12px; opacity: .65; margin-top: 2px; }
}
