/* =========================================================
   Mobile menu — loaded after section CSS to take precedence
   ========================================================= */

/* Toggle button ("в меню") — hidden on desktop */
.menu-toggle {
    background: none;
    border: 1px solid var(--additional);
    color: var(--additional);
    cursor: pointer;
    display: none;
    font-family: var(--furore), sans-serif;
    font-size: .875rem;
    font-weight: 400;
    letter-spacing: -.01em;
    line-height: 18px;
    padding: 4px 9px 6px;
    text-decoration: none;
    transition: .3s ease;
}

.menu-toggle:hover {
    background: var(--text-primary);
    border-color: var(--text-primary);
    color: var(--background-primary);
}

/* Fullscreen mobile menu overlay */
.mobile-menu {
    align-items: center;
    background: var(--background-primary);
    display: none;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 99;
}

.mobile-menu.is-open {
    display: flex;
}

/* Close button inside overlay */
.mobile-menu__close {
    background: none;
    border: 1px solid var(--additional);
    color: var(--additional);
    cursor: pointer;
    font-family: var(--furore), sans-serif;
    font-size: 1.25rem;
    line-height: 1;
    padding: 4px 12px 6px;
    position: absolute;
    right: 20px;
    top: 16px;
    transition: .3s ease;
}

.mobile-menu__close:hover {
    background: var(--text-primary);
    border-color: var(--text-primary);
    color: var(--background-primary);
}

/* Nav list inside overlay — .header .mobile-menu .navbar-nav beats .header .navbar-nav (3 vs 2 classes) */
.header .mobile-menu .navbar-nav {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0;
}

.header .mobile-menu .navbar-nav .nav-link {
    border: 1px solid var(--additional);
    border-top: 0;
    color: var(--additional);
    display: block;
    font-family: var(--furore), sans-serif;
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: -.01em;
    line-height: 1;
    padding: 16px 40px;
    text-align: center;
    text-decoration: none;
    transition: .3s ease;
}

.header .mobile-menu .navbar-nav li:first-child .nav-link {
    border-top: 1px solid var(--additional);
}

.header .mobile-menu .navbar-nav .nav-link:hover,
.header .mobile-menu .navbar-nav .nav-link:focus {
    background: var(--text-primary);
    border-color: var(--text-primary);
    color: var(--background-primary);
    outline: none;
}

/* Lock body scroll when menu is open */
body.menu-open {
    overflow: hidden;
}

/* Breakpoint: same range where section CSS hides .navbar-nav (≤991px) */
@media (max-width: 991px) {
    /* Show toggle button */
    .menu-toggle {
        display: inline-block;
    }

    /* Show contact link even though section CSS hides .account-link */
    .contact-link {
        display: flex;
    }

    /* Hide "Личный кабинет" from header — it lives in the overlay */
    .header__right .account-link:not(.contact-link) {
        display: none;
    }
}
