/* ───────── ШАПКА САЙТА ───────── */

.header {
    max-width: 1440px;
}
.header-mob {
    display: none;
    justify-content: space-between;
    align-items: center;
}

/* ───────── Верхняя строка ───────── */

.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: "Manrope", sans-serif;
}
.header-mob-nav {
    display: flex;
    gap: 28px;
}
.top-menu {
    display: flex;
    gap: 24px;
}
.top-menu a {
    text-decoration: none;
    color: #000;
    font-size: 16px;
    font-weight: 500;
    font-family: "Manrope", sans-serif;
    transition: .3s;
}
.top-menu a:hover {
    color: #FF5449;
}
.top-icons {
    display: flex;
    gap: 20px;
}

/* ───────── Средняя строка ───────── */

.middle-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 33px;
    font-family: "Manrope", sans-serif;
}
.search {
    border-radius: 120px;
    display: flex;
    align-items: center;
    width: 334px;
    height: 50px;
    background: #F8F8F8;
    padding: 13px 0 13px 24px;
    gap: 15px;
}
.search input {
    border: none;
    background: transparent;
    outline: none;
    font-size: 16px;
    font-weight: 300;
    width: 100%;
}
.logo img {
    align-items: center;
    width: 328px;
}
.logo-mob {
    font-size: 24px;
    width: unset;
}
.contacts {
    text-align: right;
    width: 334px;
}
.phone {
    font-size: 20px;
    font-weight: 500;
}
.hours {
    font-size: 16px;
    color: #000000;
}

/* ───────── Нижнее меню ───────── */

.bottom-menu {
    display: flex;
    justify-content: center;
    margin-top: 24px;
    border-top: 1px solid #E2E2E2;
    border-bottom: 1px solid #E2E2E2;
    font-family: "Manrope", sans-serif;
}
.bottom-menu a {
    text-decoration: none;
    color: #000;
    font-size: 16px;
    transition: .3s;
    display: block;
    padding: 12px;
}
.bottom-menu a:hover {
    color: #FF5449;
}
.bottom-menu .active {
    color: #FF5449;
}

/* Мобильное меню */

.header-mob-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 349px;
    height: 100vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
    background: #fff;
    padding: 16px;
    z-index: 1001;
    overscroll-behavior: contain;
    transform: translateX(-100%);
    transition: transform 0.35s ease;
}
.header-mob-menu::-webkit-scrollbar {
    display: none;
}
.header-mob-menu.active {
    transform: translateX(0);
}
.menu-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1000;
    touch-action: none;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}
.menu-overlay.active {
    opacity: 1;
    pointer-events: auto;
}
body.menu-open {
    overflow: hidden;
}
.header-mob-menu-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-mob-menu-top .logo {
    font-size: 24px;
    width: unset;
    font-family: 'Cera Pro';
}
.header-mob-menu-links .bottom-menu {
    flex-direction: column;
    gap: 16px;
}
.header-mob-menu-links .bottom-menu a {
    font-size: 20px;
}
.header-mob-menu-nav {
    margin-top: 40px;
}
.header-mob-menu-nav .top-menu {
    flex-direction: column;
}
.header-mob-menu-nav .top-menu a {
    font-size: 16px;
}
.header-mob-menu-contacts {
    margin-top: 40px;
}
.header-mob-menu-media {
    display: flex;
    gap: 8px;
    margin-top: 40px;
}
.header-mob-whatsapp {
    border: 2px solid #08D560;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    padding-top: 13px;
    padding-left: 13px;
}
.header-mob-whatsapp i,
.header-mob-telegram i {
    width: 30px;
    height: 30px;
}
.header-mob-telegram {
    border: 2px solid #08D560;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    padding-top: 13px;
    padding-left: 13px;
}
@media(max-width: 992px) {
    body {
        padding-top: 72px;
    }
    .header-desc {
        display: none;
    }
    .header-mob {
        position: fixed !important;
        top: 0;
        left: 0;
        z-index: 9;
        width: 100%;
        background-color: #fff;
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
    }
    .header-mob.fix {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .header-mob .header-mob-search {
        height: 30px;
    }
    .header-mob .logo {
        line-height: normal;
    }
    .header-mob .icon-l {
        width: 30px;
        height: 30px;
    }
    .header-mob-search {
        float: right;
    }
    .header-mob-nav span {
        height: 30px;
        display: block;
    }
    .header-mob-nav {
        gap: 20px;
    }
}
.mainpage {
    padding-top: 15px;
}
