/* Заглушка под фиксированный хедер — резервирует место при переключении на position: fixed, убирает скачок скролла */
.header-spacer {
	display: block;
	height: 0;
	width: 100%;
	flex-shrink: 0;
}

.header {
    z-index: 55;
	position: sticky;
	top: 0px;
}

.header__background {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .header {
        /*min-height: 187px;*/
        padding: 8px 0 19px;
        /*position: absolute;
        top: 0;
        left: 0;*/
        width: 100%;
        z-index: 10;
        position: relative;
        top: auto;
        left: auto;
        /* Плавное изменение высоты/отступов и фона при скролле */
        transition: padding 0.3s ease 0s, background 0.3s ease 0s, box-shadow 0.3s ease 0s;
    }
    .header._header-scroll {
        min-height: 66px;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 55;
        background: var(--headerColor);
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        padding-top: 0;
        padding-bottom: 0;
    }
}


.header__container {
    position: relative;
    z-index: 2;
	padding: 0;
}

@media only screen and (min-width: 1023.98px) {
    .header__container {
        padding: 0 20px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .header__container {
        padding: 0 20px;
        max-width: 1840px;
    }
}

@media only screen and (min-width: 1919.98px) {
    .header__container {
        padding: 0 40px;
    }
}

.header__mobile {
    width: 100%;
}



@media only screen and (min-width: 1023.98px) {
    .header__body {
        display: grid;
        grid-template-areas: "logo name center right" "menu menu menu menu";
        grid-template-columns: 250px 172px 1fr auto;
        grid-template-rows: auto auto;
        /*row-gap: 6px;*/
    }
    ._header-scroll .header__body {
        grid-template-columns: max-content auto minmax(0, 1fr) auto;
        grid-template-rows: auto;
        grid-template-areas: "logo center menu right";
        column-gap: 16px;
        padding: 13px 20px;
        align-items: center;
    }
}

@media only screen and (min-width: 1365.98px) {
    .header__body {
        grid-template-columns: 305px 210px 1fr auto;		        
    }
}

@media only screen and (min-width: 1919.98px) {
    .header__body {
        grid-template-areas: "logo name center right" "logo name menu";
        grid-template-columns: 305px 240px 1fr auto;        
    }
    ._header-scroll .header__body {
        grid-template-columns: max-content auto minmax(0, 1fr) auto;
        grid-template-areas: "logo center menu right";
    }
}

@media only screen and (max-width: 1023.98px) {
    .header__menu-wrapper {
        transition: all 0.3s ease 0s;
        position: fixed;
        z-index: 2;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        visibility: hidden;
        pointer-events: none;
    }
    .menu-open .header__menu-wrapper {
        visibility: visible;
        pointer-events: auto;
    }
}

@media only screen and (min-width: 1023.98px) {
    .header__menu-wrapper {
        grid-area: menu;
        display: flex;
        /* justify-content: end; */
        justify-content: space-between;
		/*padding-top: 10px;*/
		margin-top: 20px;
    }
    ._header-scroll .header__menu-wrapper {
        justify-content: center;
        align-items: center;
        min-width: 0;
        width: 100%;
        margin-top: 0;
    }
}

@media only screen and (min-width: 1919.98px) {
    .header__menu-wrapper {
        justify-content: space-between;		
    }
    ._header-scroll .header__menu-wrapper {
        margin-left: 0px; 
    }
}

@media only screen and (min-width: 1023.98px) {
    .header__logo {
        grid-area: logo;
    }
    .desktop-header__logo {
        font-size: 30px;
        font-weight: 600;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
    }
    /* В компактной шапке — логотип слева, высота ограничена, ширина колонки по контенту */
    ._header-scroll .header__logo {
        display: flex;
        align-items: center;
        margin-right: 20px;
        grid-area: logo;
        width: max-content;
        min-width: 0;
        overflow: visible;
    }
    ._header-scroll .header__logo .logo-header__link {
        display: flex;
        align-items: center;
        max-height: 60px;
        width: max-content;
        padding: 0;
    }
    ._header-scroll .header__logo picture {
        display: contents;
    }
    ._header-scroll .header__logo .logo-header__image {
        max-height: 60px;
        width: auto;
        height: auto;
        object-fit: contain;
        object-position: left center;
    }
}

.header__name {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .header__name {
        display: block;
        grid-area: name;
    }
    ._header-scroll .header__name {
        display: none;
    }
}

@media only screen and (min-width: 1023.98px) {
    .header__center {
        grid-area: center;
    }
    ._header-scroll .header__center {
        display: flex;
        align-items: center;
    }
}

@media only screen and (min-width: 1919.98px) {
    .header__center {
        margin-top: 26px;
    }
    ._header-scroll .header__center {
        margin-top: 0;
    }
}

@media only screen and (min-width: 1023.98px) {
    .header__right {
        grid-area: right;
    }
    ._header-scroll .header__right {
        display: none;
        align-self: center;
    }
	
	._header-scroll .right-header, ._header-scroll .header__menu-wrapper {
        padding: 0;
        margin-top: 0;
        align-items: center;
    }
	
	/*._header-scroll .button-contacts-header {
		margin-top: 14px;
	}*/
}

@media only screen and (min-width: 1365.98px) {
    ._header-scroll .header__right {
        display: block;
    }
}

.header__call-back {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .header__call-back {
        display: block;
    }
    .header__call-back .call-back {
        margin-left: 12px;
        align-self: center;
    }
    ._header-scroll .header__call-back {
        display: none;
    }
}

.header__menu-background {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    transition: visibility 0.8s ease 0s;
    visibility: hidden;
    pointer-events: none;
    background: #000;
    opacity: 0;
    transition: all 0.3s ease 0s;
}

.menu-open .header__menu-background {
    opacity: 0.15;
    visibility: visible;
    pointer-events: auto;
}

@media only screen and (min-width: 767.98px) {
    .header__contacts-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        overflow: hidden;
        padding: 20px;
        visibility: hidden;
        pointer-events: none;
    }
    .contacts-open .header__contacts-wrapper {
        z-index: 150;
        visibility: visible;
        overflow: auto;
        pointer-events: auto;
    }
}

.header__contacts-background {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .header__contacts-background {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        transition: visibility 0.8s ease 0s;
        visibility: hidden;
        pointer-events: none;
        background: #000;
        opacity: 0;
        transition: all 0.2s ease 0s;
    }
    .contacts-open .header__contacts-background {
        opacity: 0.22;
        visibility: visible;
        pointer-events: auto;
    }
}

.mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 5px 5px 8px;
    min-height: 51px;
    /*position: fixed;*/
    /*top: 0;*/
    left: 0;
    width: 100%;
    z-index: 105;
    background-color: var(--mobileHeaderColor, #6f7073);
}

/*
  iPhone 15–17 / iOS 17+: тап сворачивает тулбар Safari (visualViewport).
  Не переводить .header в position:fixed — это выдёргивает полосу из потока
  (контент прыгает на её место, как заголовок «Контакты»), а вместе с
  body { position:fixed } полоса оказывается выше видимой области.
  Оставляем sticky in-flow, как при .contacts-open: панель меню и так
  position:fixed с top: 50px, полоса остаётся на месте.
*/
@media only screen and (max-width: 1023.98px) {
    .menu-open .header {
        position: sticky;
        top: 0;
        z-index: 106;
    }
    .menu-open .mobile-header {
        position: relative;
        z-index: 106;
    }
}

@media only screen and (min-width: 767.98px) {
    .mobile-header {
        padding: 5px 12px 5px 12px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .mobile-header {
        display: none;
    }
}

.mobile-header__logo {
    color: var(--mobileHeaderLogoColor, #fff);
    padding: 0 10px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.19;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: calc(100% - 140px);
}

.mobile-header__logo-image {
    display: block;
    max-height: 36px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

@media only screen and (min-width: 767.98px) {
    .mobile-header__logo {
        font-size: 17px;
    }
    .mobile-header__logo-image {
        max-height: 40px;
    }
}

.logo-header__link {
    display: none;
}

.logo-header__image {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .logo-header__link {
        display: block;
        padding-top: 3px;
    }
    .logo-header__image {
		width: 230px;
		height: 106px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .logo-header__image {
		width: 280px; 
		height: 130px;		
    }
}

@media only screen and (min-width: 1919.98px) {
    .logo-header__image {
        width: 280px;        
        transform: none;
    }
}

.burger {
    display: block;
    position: relative;
    z-index: 5;
}

@media only screen and (min-width: 767.98px) {
    .burger {
        display: flex;
        align-items: center;
    }
}

@media only screen and (min-width: 1023.98px) {
    .burger {
        display: none;
    }
}

.burger__button {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.burger__wrapper {
    flex: 0 0 19px;
    width: 19px;
    height: 15px;
    position: relative;
}

.burger__wrapper span,
.burger__wrapper::before,
.burger__wrapper::after {
    content: "";
    transition: all 0.2s ease 0s;
    left: 0px;
    position: absolute;
    width: 100%;
    height: 1.5px;
    border-radius: 0.75px;
    background-color: var(--mobileHeaderIconsColor, #fff);
}

.burger__wrapper::before {
    top: 0px;
}

.burger__wrapper::after {
    width: 16px;
    bottom: 0px;
}

.burger__wrapper span {
    width: 10px;
    top: calc(50% - 0.75px);
}

.menu-open .burger__wrapper span {
    transform: scale(0);
}

.menu-open .burger__wrapper::before {
    width: 19px;
    transform: rotate(-45deg);
    top: calc(50% - 0.75px);
}

.menu-open .burger__wrapper::after {
    width: 19px;
    transform: rotate(45deg);
    bottom: calc(50% - 0.75px);
}

.burger__label {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .burger__label {
        display: block;
        text-transform: uppercase;
        color: var(--mobileHeaderIconsColor, #fff);
        margin-left: 5px;
        font-size: 14px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .burger__label {
        display: none;
    }
}

.contacts-button-mobile {
    display: flex;
    align-items: center;
}

.contacts-button-mobile__label::before {
    font-size: 20px;
}

@media only screen and (min-width: 767.98px) {
    .contacts-button-mobile__label::before {
        display: none;
    }
}

.contacts-button-mobile__label span {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .contacts-button-mobile__label span {
        display: block;
    }
}

@media only screen and (min-width: 1023.98px) {
    .contacts-button-mobile__label span {
        display: none;
    }
}

.contacts-button-mobile__button::before {
    font-size: 7px;
    padding: 7px;
}

.contacts-button {
    display: flex;
    align-items: center;
    position: relative;
    transform: translateX(7px);
    cursor: pointer;
}

.contacts-button__button {
    padding: 7px;
}

.contacts-button__button::before {
    font-size: 4.2px;
}

.contacts-item__text {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .contacts-item__text {
        display: inline-block;
        font-size: 14px;
        line-height: 17px;
        text-transform: uppercase;
    }
}

@media only screen and (min-width: 1023.98px) {
    .contacts-item__text {
        display: none;
    }
}

.contacts-item__image::before {
    font-size: 20px;
}

@media only screen and (min-width: 767.98px) {
    .contacts-item__image {
        display: none;
    }
}

.info-header {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .info-header {
        display: flex;
    }
}

.info-header__logo {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .info-header__logo {
        display: block;
        flex: 0 0 160px;
    }
    .info-header__logo img {
        width: 160px;
    }
    .info-header__logo .light {
        display: block;
    }
}

.info-header__name {
    margin-bottom: 15px;
}

@media only screen and (min-width: 1023.98px) {
    .info-header__name {
        flex: 0 0 160px;
        margin-bottom: 0;
    }
}

.info-header__center {
    margin-bottom: 15px;
}

@media only screen and (min-width: 1023.98px) {
    .info-header__center {
        flex: 1 1 auto;
        margin-bottom: 0;
    }
}

.info-header__right {
    margin-bottom: 15px;
}

@media only screen and (min-width: 1023.98px) {
    .info-header__right {
        margin-bottom: 0;
        flex: 0 0 300px;
    }
}

.name-header {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .name-header {
        display: block;
        padding: 10px 14px 16px 14px;		
    }
}

@media only screen and (min-width: 1365.98px) {
    .name-header {
        position: relative;
        padding: 26px 13px 0 22px;
    }
	.name-header::before {
        content: "";
        width: 1px;
        height: 99px;
        position: absolute;
        left: 0;
        top: 22px;
        background: #BEC2C5;
        opacity: 0.5;
    }
}

@media only screen and (min-width: 1919.98px) {
    .name-header {
        padding: 26px 33px 0 28px;
    }
    .name-header::before {
        top: 22px;
		height: 110px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .name-header__title {
        font-size: 14px;
        line-height: 1.45;
        color: var(--headerTextColor);
        margin-bottom: 11px;	
    }
}

@media only screen and (min-width: 1365.98px) {
    .name-header__title {
        text-transform: uppercase;
        line-height: 1.67;
        margin-bottom: 5px;
    }
}

@media only screen and (min-width: 1919.98px) {
    .name-header__title {
        font-size: 14px;
        line-height: 1.64;
        margin-bottom: 7px;
    }
    .contacts-block__text {
        font-size: 15px;
    }
}

.name-header__download-price {
    display: flex;
    align-items: center;
    color: var(--linkColor);
}

.name-header__download-price::before {
    font-size: 10px;
    margin-right: 10px;
}

@media only screen and (min-width: 1023.98px) {
    .name-header__download-price {
        font-size: 13px;
        transition: all 0.3s ease 0s;
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .name-header__download-price:hover {
        color: #2f6e9e;
    }
}

@media only screen and (min-width: 1023.98px) {
    .name-header__download-price::before {
        font-size: 7px;
        margin-right: 6px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .name-header__download-price {
        font-size: 13px;
    }
    .name-header__download-price::before {
        font-size: 10px;
        margin-right: 7px;
    }
}

.center-header {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .center-header {
        /* padding: 0 16px; */
        padding: 10px 16px 10px 16px;
        display: flex;
        flex-wrap: wrap;
        row-gap: 10px;
    }
    ._header-scroll .center-header {
        flex-wrap: nowrap;
        align-items: center;
        padding: 0;
        width: auto;
        min-width: 0;
    }
}

@media only screen and (min-width: 1365.98px) {
    .center-header {
        padding: 26px 16px 10px 16px;
        flex-wrap: nowrap;
    }
}

@media only screen and (min-width: 1919.98px) {
    .center-header {
        padding: 0 41px;
    }
}

.center-header__item_schedule {
    flex: 0 0 270px;
}
.center-header__item_social-list {
    flex: 0 1 165px;
}


@media only screen and (min-width: 1023.98px) {
    ._header-scroll .center-header__item_schedule {
        display: none;
    }
}

/* в скролле время работы @media only screen and (min-width: 1919.98px) {
    ._header-scroll .center-header__item_schedule {
        display: block;
        margin-right: 24px;
    }
}*/

@media only screen and (min-width: 1366px) {
    .center-header__item_schedule {
        flex: 0 0 220px;
    }
}

@media only screen and (min-width: 1919.98px) {
    .center-header__item_schedule {
        flex: 0 0 270px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .center-header__item_social-list .social-list {
        padding-left: 12px;
        padding-right: 4px;
    }
    ._header-scroll .center-header__item_social-list {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
    }
    ._header-scroll .center-header__item_social-list .social-list {
        padding: 0;
        padding-left: 18px;
        margin: 0 0 0 4px;
        align-items: center;
    }
    .center-header__item_social-list .social-list .social-list__item {        
		transition: all 0.3s ease 0s;
    }
    .center-header__item_social-list .social-list .social-list__item::before {
        transition: all 0.3s ease 0s;
        color: #FFF;
    }
	
    .center-header__item_social-list .social-list .social-list__item_telegram {
        background: #0088CC;
    }	
	
	.center-header__item_social-list .social-list .social-list__item_viber {
        background: #8F5DB7;
    }
	
	.center-header__item_social-list .social-list .social-list__item_whatsapp {
        background: #25D366;
    }
	
	.center-header__item_social-list .social-list .social-list__item_vk {
        background: #6695bd;
    }
	
	.center-header__item_social-list .social-list .social-list__item_instagram {
        background: #c42869;
    }	
	
	.center-header__item_social-list .social-list .social-list__item_youtube {
        background: #dd3333;
    }	

    .center-header__item_social-list .social-list .social-list__item_email {
        background: #7F9D87;
    }

	.center-header__item_social-list .social-list_column {
		padding-left: 12px;
		padding-right: 4px;
	}

	.center-header__item_social-list .social-list_column .social-list__item,
	.center-header__item_social-list .social-list_column .social-list__item_telegram,
	.center-header__item_social-list .social-list_column .social-list__item_viber,
	.center-header__item_social-list .social-list_column .social-list__item_whatsapp,
	.center-header__item_social-list .social-list_column .social-list__item_vk,
	.center-header__item_social-list .social-list_column .social-list__item_instagram,
	.center-header__item_social-list .social-list_column .social-list__item_youtube,
	.center-header__item_social-list .social-list_column .social-list__item_email,
	.center-header__item_social-list .social-list_column .social-list__item_maxru {
		background: transparent !important;
		background-image: none !important;
	}

	.center-header__item_social-list .social-list_column .social-list__item::before {
		color: #fff;
	}

	/* Плавающая шапка: всегда только иконки в ряд */
	._header-scroll .center-header__item_social-list .social-list_column {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 0;
		padding-left: 18px;
		padding-right: 0;
		margin-left: 4px;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__text {
		display: none;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item {
		display: block;
		width: 28px !important;
		height: 28px !important;
		min-height: 0;
		margin: 0 3px;
		border-radius: 50%;
		gap: 0;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item::before {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		flex: none;
		width: auto;
		height: auto;
		line-height: 1;
		border-radius: 0;
		background: transparent !important;
		background-image: none !important;
		font-size: 14px;
		color: #fff;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		flex: none;
		width: 18px;
		height: 18px;
		border-radius: 0;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item_telegram {
		background: #0088CC !important;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item_viber {
		background: #8F5DB7 !important;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item_whatsapp {
		background: #25D366 !important;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item_vk {
		background: #6695bd !important;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item_instagram {
		background: #c42869 !important;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item_youtube {
		background: #dd3333 !important;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item_email {
		background: #7F9D87 !important;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item_maxru {
		background-image: linear-gradient(135deg, #3DC0FD, #414DE9, #8244E5) !important;
		background-color: transparent !important;
	}

	._header-scroll .center-header__item_social-list .social-list .social-list__item.social-list__item_custom-bg {
		background: var(--soc-bg) !important;
		background-image: none !important;
	}

	._header-scroll .center-header__item_social-list .social-list_column .social-list__item.social-list__item_custom-bg::before {
		background: transparent !important;
		background-image: none !important;
	}
	
	
	
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .social-list .social-list__item_telegram:hover {
        background: #057ab5;
    }

    .social-list .social-list__item_viber:hover {
        background: #794a9e;
    }

    .social-list .social-list__item_whatsapp:hover {
        background: #1dba58;
    }

	.social-list .social-list__item_vk {
        background: #5882a6;
    }
	
	.social-list .social-list__item_instagram {
        background: #aa235b;
    }	
	
	.social-list .social-list__item_youtube {
        background: #c82f2f;
    }	
	
    .social-list .social-list__item_email:hover {
        background: #6f8a77;
    }	
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .center-header__item_social-list .social-list .social-list__item:hover {
        opacity: 1;
    }
    .center-header__item_social-list .social-list .social-list__item:hover::before {
        color: #fff;
    }
    .center-header__item_social-list .social-list .social-list__item.social-list__item_custom-bg:hover {
        background: color-mix(in srgb, var(--soc-bg), black 14%) !important;
    }
}
@media only screen and (min-width: 1149.98px) {
    .center-header__item_social-list {
        flex: 0 1 220px
    }
    .center-header__item_social-list .social-list {
        padding-left: 14px;
        padding-right: 14px;
    }
}
@media only screen and (min-width: 1365.98px) {
    .center-header__item_social-list {
         flex: 0 1 420px;
		/*flex: 0 1 100%;*/
    }
    .center-header__item_social-list .social-list {
        padding-left: 23px;
        padding-right: 29px;
        justify-content: start;
    }
}


.center-header__item_location {
    flex: 1 1 auto;
}

.center-header__item_location .center-header__item-body p {
    max-width: 295px;
}

.center-header__item-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.address-map-link {
    display: inline-block;
    font-size: 13px;
    line-height: 1.3;
    text-decoration: underline;
    text-underline-offset: 2px;    
}

.address-map-link:hover {
    text-decoration: none;
}

@media only screen and (min-width: 1023.98px) {
    ._header-scroll .center-header__item_location {
        display: none;
    }
}

@media only screen and (min-width: 1023.98px) {
    .center-header__item_location {
        flex: 1 1 auto;
    }
}

@media only screen and (min-width: 1365.98px) {
    .center-header__item_location {
        /* MTP flex: 0 1 240px;*/
		flex: 0 1 100%;
    }
}

.center-header__item-body {
    display: flex;
}

.center-header__item-body::before {
    padding-top: 10px;
    margin-right: 10px;
    font-size: 21px;
    color: var(--headerTextColorMuted);
}

.center-header__item-body p {
    font-size: 18px;
    line-height: 1.45;
    color: var(--headerTextColor);
}

@media only screen and (min-width: 1023.98px) {
    .center-header__item-body::before {
        margin-right: 14px;
        font-size: 21px;
        color: var(--headerTextColorMuted);
    }
    .center-header__item-body p {
        font-size: 14px;        
        color: var(--headerTextColor);
    }
}

@media only screen and (min-width: 1919.98px) {
    .center-header__item-body {
        padding-right: 2px;
    }
    .center-header__item-body p {
        font-size: 15px;        
    }
}

.right-header {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .right-header {
        display: flex;
		padding-top: 12px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .right-header {        
        margin-left: 13px;
		padding-top: 26px;
    }
    ._header-scroll .right-header {
        margin-top: 0;
        padding-top: 0;
        align-items: center;
        transform: translate(26px, 0);
    }
}

@media only screen and (min-width: 1919.98px) {
    .right-header {
        margin-top: 0px;
    }
}

.right-header__contacts {
    margin-bottom: 20px;
}

@media only screen and (min-width: 1023.98px) {
    .right-header__contacts {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 1023.98px) {
    .right-header__language {
        margin-left: 4px;
    }
    ._header-scroll .right-header__language {
        display: none;
    }
}

@media only screen and (min-width: 1919.98px) {
    .right-header__language {
        margin-left: 20px;
    }
}

.contacts-header {
    position: relative;
}

@media only screen and (min-width: 1023.98px) {
    .contacts-header {
        display: flex;
    }
    ._header-scroll .contacts-header {
        align-items: center;
    }
	
	.contacts-block__phones {
		display: flex;		
		align-items: center;
	}
	
	.contacts-header__button {
		margin-left: 10px;
	}
}

@media only screen and (min-width: 1023.98px) {
    ._header-scroll .contacts-header__contacts-block .contacts-block__email {
        display: none;
    }
}

.contacts-header__contacts-block .contacts-block__text {
    color: var(--headerTextColor);
	text-align: right;
}

.contacts-header__contacts-block .contacts-block__call {
    color: var(--headerTextColor);
    cursor: pointer;
	line-height: 1.15;
}

.contacts-header__contacts-block .contacts-block__email {
    transition: all 0.3s ease 0s;
    color: var(--linkColor);
	margin-bottom: 20px;
}

@media (any-hover: hover) {
    .contacts-header__contacts-block .contacts-block__email:hover {
        color: #2f6e9e;
    }
}

.button-contacts-header {
    padding: 10px 3px;
}

.button-contacts-header::before {
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .button-contacts-header {
        /*margin-top: 14px;*/
        padding: 0;
        cursor: pointer;
    }
    .button-contacts-header::before {
        display: block;
        font-size: 21px;
        /*padding: 8px 10px 10px 6px;*/
        color: var(--headerTextColorMuted);
        transition: color 0.3s ease 0s;
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .button-contacts-header:hover::before {
        color: var(--mainColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .contacts-open .button-contacts-header::before {
        color: var(--mainColor);
    }
}

.button-contacts-header__mobile {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    position: relative;
    color: var(--mobileHeaderIconsColor, #fff);
    gap: 4px;
}

.button-contacts-header__mobile::before {
    font-size: 5px;
    padding: 4px;
    transition: transform 0.3s ease 0s;
}

.contacts-open .button-contacts-header__mobile::before {
    transform: rotate(180deg);
}

@media only screen and (min-width: 1023.98px) {
    .button-contacts-header__mobile {
        display: none;
    }
}

.button-contacts-header__label::before {
    font-size: 20px;
}

.button-contacts-header__label span {
    display: none;
}

@media only screen and (min-width: 767.98px) {
    .button-contacts-header__label::before {
        display: none;
    }
    .button-contacts-header__label span {
        display: block;
        text-transform: uppercase;
        font-size: 14px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .button-contacts-header__label span {
        display: none;
    }
}

.language-header a {
    color: var(--headerTextColor);
}

.language-header {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 20px;
}

.lang-item {
    font-weight: 500;
    font-size: 13px;
    line-height: 1.6;
    color: var(--headerTextColor);
    position: relative;
    transition: all 0.2s linear;
    cursor: pointer;
    list-style: none;
}

@media only screen and (min-width: 1919.98px) {
    .lang-item {
        font-size: 14px;
    }
}

.lang-item:not(:last-child) {
    margin-right: 14px;
}

.current-lang {
    pointer-events: none;
}

.current-lang::after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    height: 2px;
    bottom: 0;
    background: var(--mainColor);
    width: 100%;
    transition: all 0.2s linear;
}

@media (any-hover: hover) {
    .lang-item:hover {
        opacity: 0.5;
    }
}

.contacts {
    display: flex;
    flex-direction: column;
}

@media only screen and (max-width: 767.98px) {
    .contacts {
        position: fixed;
        top: 0px;
        left: 0;
        bottom: 0;
        width: 100%;
        background: #FFF;
        z-index: 3;
        padding: 20px 30px;
        transform: translate(-100%);
        transition: transform 0.3s ease 0s;
        overflow: auto;
		margin-top: 50px;
    }

	.admin-bar .contacts { 
		margin-top: 97px;
	}	
	
    .contacts-open .contacts {
        transform: translate(0);
    }	
}

@media only screen and (min-width: 767.98px) {
    .contacts {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        background: #FFF;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        border-radius: 8px;
        padding: 28px 47px;
        width: 360px;
        display: flex;
        flex-direction: column;
        visibility: hidden;
        pointer-events: none;
        opacity: 0;
    }
    .contacts-open .contacts {
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
    }
}

@media only screen and (min-width: 1023.98px) {
    .contacts {
        transform: translate(0px, 15px);
    }
    .contacts-open .contacts {
        transform: translate(0, -5px);
    }
}



.search-menu {
    padding: 10px 25px;
}

@media only screen and (min-width: 1023.98px) {
    .search-menu._active .form-search {
        width: 100%;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        overflow: auto;
    }
}

.search-menu__icon {
    font-size: 20px;
    color: var(--headerTextColorMuted);
    display: none;
}

@media only screen and (min-width: 1023.98px) {
    .search-menu__icon {
        display: inline-block;
    }
}

@media only screen and (min-width: 1365.98px) {
    .search-menu__icon {
        font-size: 18px;
    }
}

.form-search {
    position: relative;
    background-color: #fff;
    height: 30px;
}

@media only screen and (min-width: 1023.98px) {
    .form-search {
        height: auto;
        position: absolute;
        z-index: 10;
        top: 50%;
        right: 0;
        width: 0;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        border-radius: 8px;
        overflow: hidden;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-50%);
    }
    .popup-open .form-search {
        z-index: 160;
    }
}

.form-search__input {
    width: 100%;
    height: 100%;
    padding: 0 13px 0 44px;
    outline: 0;
    font-size: 15px;
    display: inline-block;
    border-radius: 8px;
    color: var(--textColor);
}

.form-search__input::placeholder {
    color: #949597;
}

@media only screen and (min-width: 1023.98px) {
    .form-search__input {
        padding: 0 45px 0 22px;
        height: 52px;
        font-size: 16px;
    }
    .form-search__input::placeholder {
        color: #828282;
    }
}

.form-search__button {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    height: 100%;
    width: 34px;
    font-size: 20px;
    color: var(--headerTextColorMuted);
}

.form-search__button::before {
    font-size: 20px;
}

@media only screen and (min-width: 1023.98px) {
    .form-search__button {
        right: 16px;
        left: auto;
        width: 22px;
    }
}

@media only screen and (min-width: 1365.98px) {
    .form-search__button {
        right: 18px;
    }
}


/* Меню */

.menu {
    display: flex;
    position: fixed;
    z-index: 2;
    flex-direction: column;
}

.menu__custom-html {
    display: none;
}


/* .menu__search-wrapper {margin-top: 20px;} */

@media only screen and (max-width: 1023.98px) {
    .menu {
        left: -100%;
        top: 50px;
        bottom: 0;
        padding: 20px 0 10px;
        width: calc(100% - 36px);
        max-width: 100%;
        height: calc(100vh - 50px);
        height: calc(100dvh - 50px);
        background: #fff;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        transform: none;
        transition: left 0.3s ease 0s;
        overflow: hidden;
        margin-top: 0;
        display: flex;
        flex-direction: column;
    }

    /* Колонка: пункты растягиваются, поиск/корзина снизу */
    .menu__wrapper {
        height: 100%;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    /* Свободное место под пункты и уровни подменю */
    .menu__body {
        flex: 1 1 auto;
        width: 100%;
        min-height: 0;
        position: relative;
        overflow: hidden;
    }

    .menu__list {
        position: static;
        transform: none;
        height: 100%;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        box-sizing: border-box;
    }

    .menu-item {
        position: static;
    }

    /* Низ меню: корзина, поиск, перевод, произвольный HTML — всегда видны */
    .menu-translate,
    .lang_menu,
    .menu__cart-link,
    .mtp-menu-cart,
    .menu__search-wrapper,
    .menu__custom-html {
        flex-shrink: 0;
    }

    .menu-open .menu {
        left: 0;
        transform: none;
    }

    .menu__custom-html {
        display: block;
        flex-shrink: 0;
        padding: 16px 30px;
        margin-top: 8px;
    }
}

@media only screen and (min-width: 767.98px) and (max-width: 1023.98px) {
    .menu {
        max-width: 360px;
        width: 360px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu {
        position: relative;
        box-shadow: none;
        background: transparent;
        flex-direction: row;
        width: 100%;
        /* align-items: normal; */
        align-items: center;
        justify-content: center;
    }
    ._header-scroll .menu {
        justify-content: center;
        align-items: center;
        width: 100%;
        min-width: 0;
    }
    /* .menu__search-wrapper {margin-top: 5px;} */
}

/* @media only screen and (min-width: 1289.98px) {
    .menu {
        left: 50%;
        transform: translateX(-50%);
    }
} */

@media only screen and (min-width: 1599.98px) {
    .menu {
        justify-content: center;
        /* left: auto;
        transform: none; */
    }
}
.menu__body {
    position: relative;
    display: flex;
    align-items: flex-start;
    /* flex: 1 1 auto; */
    overflow: auto;
}

@media only screen and (min-width: 1023.98px) {
    .menu__wrapper {
        display: flex;
        position: relative;
        align-items: center;
        /* Полная ширина ряда сразу (не только при _header-scroll) —
           иначе JS ложно считает, что пункты не помещаются */
        width: 100%;
        min-width: 0;
        justify-content: center;
    }
    ._header-scroll .menu__wrapper {
        width: 100%;
        min-width: 0;
        justify-content: center;
        align-items: center;
    }
    .menu__body {
        overflow: visible;
        align-items: center;
        justify-content: center;
        min-width: 0;
    }
    ._header-scroll .menu__body {
        justify-content: center;
        align-items: center;
        width: 100%;
        min-width: 0;
    }
}

@media only screen and (min-width: 1599.98px) {
    .menu__wrapper {  
		margin-left: 0;	
    }
    ._header-scroll .menu__wrapper {
        margin-left: 0;
    }
}

.menu__list {
    padding: 0px 13px 8px 30px;
    width: 100%;
    position: relative;
    transform: translate(0);
}

@media only screen and (min-width: 1023.98px) {
    .menu__list {
        padding: 0;
        width: auto;
        display: inline-flex;
        flex-wrap: nowrap;
        justify-content: center;
        max-width: 100%;
    }
    ._header-scroll .menu__list {
        flex-wrap: nowrap;
        align-items: center;
        width: auto;
        min-width: 0;
        justify-content: center;
    }
    .menu__list>.menu-item {
        padding: 0 5px;
        position: relative;
        flex: 0 0 auto;
        white-space: nowrap;
    }
    ._header-scroll .menu__list>.menu-item {
        flex: 0 0 auto;
        padding: 0 5px;
    }
    .menu__list>.menu-item:not(:last-child) {
        margin-bottom: 0;
        margin-right: 12px;
    }
    ._header-scroll .menu__list>.menu-item:not(:last-child) {
        margin-right: 14px;
    }
    .menu__list>.menu-item::after {
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        height: 2px;
        bottom: -2px;
        background: var(--mainColor);
        width: 0;
        transition: all 0.2s linear;
    }
	
	/* Подчёркиваем только текущий пункт (не предков из подменю) */
	.menu__list>.current_page_item::after,
	.menu__list>.current-menu-item::after {
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        height: 2px;
        bottom: -2px;
        background: var(--mainColor);
        width: 100% !important;
        transition: all 0.2s linear;
    }
	
	
    .menu__list>.menu-item>a {
        font-weight: 500;
        font-size: 14px;
        line-height: 35px;
        color: var(--headerTextColor);
        text-transform: uppercase;
        display: inline-block;
        padding: 0;
    }
    ._header-scroll .menu__list>.menu-item>a {
        font-size: 14px;
        line-height: 28px;
        display: flex;
        align-items: center;
        white-space: nowrap;
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .menu__list>.menu-item:hover::after {
        width: 100%;
    }
    .menu__list>.menu-item:hover>a {
        color: inherit;
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__list>.menu-item._hover::after {
        width: 100%;
    }
    /* MTP .menu__list>.menu-item._active::after {
        width: 100%;
    }*/
    .menu__list>.menu-item._hover>a {
        color: inherit;
    }
    .menu__list>.menu-item._hover>.menu__button-sub-open {
        color: var(--mainColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__list>.menu-item>.menu__button-sub-open {
        display: none;
    }
    .touch .menu__list>.menu-item>.menu__button-sub-open {
        display: block;
    }
    .touch .menu__list>.menu-item>.menu__button-sub-open::before {
        transform: rotate(90deg);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__list>.menu-item>.sub-menu {
        width: 280px;
        transform: translate(-8px, 21px);
        transition: all 0.3s ease 0s;
        left: 0;
    }
    .menu__list>.menu-item>.sub-menu:before {
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        height: 10px;
        bottom: 100%;
    }
    .menu__list>.menu-item>.sub-menu._open {
        visibility: visible;
        opacity: 1;
        transform: translate(-8px, 11px);
        pointer-events: auto;
    }
}

@media only screen and (min-width: 1365.98px) {
    .menu__list>.menu-item>a {
        font-size: 15px;
    }
    ._header-scroll .menu__list>.menu-item>a {
        font-size: 15px;
        line-height: 28px;
    }
    .menu__list>.menu-item:not(:last-child) {
        margin-right: 16px;
    }
    ._header-scroll .menu__list>.menu-item:not(:last-child) {
        margin-right: 18px;
    }
}

@media only screen and (min-width: 1919.98px) {
    .menu__list>.menu-item>a {
        font-size: 15px;
        line-height: 37px;
    }
    .menu__list>.menu-item:not(:last-child) {
        margin-right: 29px;
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__more {
        position: relative;
    }
    .menu__more>.menu__list {
        display: block;
        position: absolute;
        pointer-events: auto;
        left: auto;
        right: 0;
        top: 100%;
        transform: translate(0, 0);
        background: #fff;
        z-index: 5;
        width: 260px;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        border-radius: 8px;
        padding: 20px 0;
        transition: all 0.2s ease 0s;
        visibility: hidden;
        opacity: 0;
    }
    .menu-more .menu__more>.menu__list {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    .menu__more>.menu__list>.menu-item {
        padding: 0 23px 0 35px;
        margin-right: 0;
        display: flex;
    }
    .menu__more>.menu__list>.menu-item::after {
        display: none;
    }
    .menu__more>.menu__list>.menu-item._hover>a {
        color: var(--mainColor);
    }
    .menu__more>.menu__list>.menu-item._active>a {
        color: var(--mainColor);
    }
    .menu__more>.menu__list>.menu-item._hover>.menu__button-sub-open {
        color: var(--mainColor);
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .menu__more>.menu__list>.menu-item:hover>a {
        color: var(--mainColor);
    }
    .menu__more>.menu__list>.menu-item:hover>.sub-menu {
        transform: translate(2px, -52px);
    }
    .menu__more>.menu__list>.menu-item:hover>.menu__button-sub-open {
        color: var(--mainColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__more>.menu__list>.menu-item>.sub-menu {
        width: 300px;
        left: auto;
        right: 100%;
        transform: translate(2px, -52px);
    }
    .menu__more>.menu__list>.menu-item>.menu__button-sub-open {
        display: block;
    }
    .touch .menu__more>.menu__list>.menu-item>.menu__button-sub-open::before {
        transform: rotate(0deg);
    }
}

.menu__more-btn {
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
}

.menu-more .menu__more-btn::before {
    color: var(--mainColor);
}

.menu-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media only screen and (min-width: 1023.98px) {
    .menu-item {
        position: relative;
    }
    .menu-item:not(:last-child) {
        margin-bottom: 16px;
    }
	
	.sub-menu .sub-menu .menu-item:not(:last-child) {
        margin-bottom: 8px;
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .menu-item:hover {
        transition: all 0.2s ease 0s;
    }
    .menu-item:hover>a {
        color: var(--linkColor);
    }
    .menu-item:hover>.menu__button-sub-open {
        color: var(--linkColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu-item._hover>a {
        color: var(--linkColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu-item._hover>.menu__button-sub-open {
        color: var(--linkColor);
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu-item>.sub-menu .sub-menu._left {
        left: auto;
        right: 100%;
        transform: translate(2px, -52px);
    }
}

@media only screen and (min-width: 1023.98px) and (any-hover: hover) {
    .menu-item:hover>.sub-menu {
        transform: translate(-2px, -52px);
    }
    .menu__list>.menu-item:hover::after {
        width: 100%;
    }
    .menu__list>.menu-item:hover>.sub-menu {
        transform: translate(-8px, 11px);
        transition: all 0.3s ease 0s;
    }
    .menu-item:hovera:after {
        width: 100%;
    }
    .menu-item:hover>.sub-menu {
        visibility: visible;
        opacity: 1;
        transform: translate(-2px, -52px);
        pointer-events: auto;
    }
}

.menu__button-sub-open {
    padding: 16px 19px;
}

.menu__button-sub-open::before {
    color: var(--textColor);
    font-size: 10px;
}

@media only screen and (min-width: 1023.98px) {
    .menu__button-sub-open {
        padding: 9px 6px 9px 13px;
        transition: all 0.3s ease 0s;
    }
    .menu__button-sub-open::before {
        color: inherit;
    }
}

.menu__back {
    display: none;
}

@media only screen and (max-width: 1023.98px) {
    .menu__back {
        display: flex;
        gap: 10px;
        align-items: center;
    }
    .menu__back::before {
        transform: rotate(180deg);
        font-size: 0.625rem;
    }
}

.menu-item>a {
    font-size: 18px;
    padding: 10px 0px;
    line-height: 2.5;
    font-size: 16px;
    line-height: 1.31;
    color: var(--textColor);
}

@media only screen and (min-width: 1023.98px) {
    .menu-item>a {
        transition: all 0.3s ease 0s;
        line-height: 1.5;
        font-size: 17px;
        line-height: 22px;
        color: inherit;
        padding: 5px 0;
        color: var(--textColor);
        position: relative;
    }
}

.sub-menu {
    background: #fff;
    transition: all 0.2s ease 0s;
    opacity: 0;
    visibility: hidden;
    padding: 0px 13px 5px 30px;
    position: absolute;
    left: 0;
    top: 0;
}

@media only screen and (max-width: 1023.98px) {
    /* Подменю только в зоне пунктов — поиск/корзина остаются снизу */
    .menu-open .sub-menu {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
        height: auto;
        min-height: 0;
        max-height: none;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        transform: translateX(-105%);
        z-index: 5;
        box-sizing: border-box;
    }

    .menu-open .sub-menu._open {
        transform: translateX(0);
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        z-index: 5;
    }

    .menu-open .sub-menu .sub-menu {
        z-index: 6;
    }

    .menu-open .sub-menu .sub-menu._open {
        z-index: 6;
    }
}

@media only screen and (min-width: 1023.98px) {
    .sub-menu {
        left: 100%;
        top: 100%;
        transform: translate(8px, -52px);
        z-index: 5;
        width: 280px;
        box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15);
        border-radius: 8px;
        padding: 28px 0;		
    }
    .sub-menu._open {
        visibility: visible;
        opacity: 1;
        transform: translate(-2px, -52px);
    }
    .sub-menu._left {
        left: auto;
        right: 100%;
        transform: translate(2px, -52px);
    }

    /* .sub-menu>.menu-item {
        padding: 0 23px 0 35px;
    } */
     

    .sub-menubody > .menu-item {
        padding: 0 23px 0 35px;
        white-space: normal;
    }

    .sub-menu .menu-item > a {
        white-space: normal;
    }

    ul#main-menu > li.menu-item-has-children > .sub-menu .sub-menubody > li.menu-item-has-children > .sub-menu .sub-menubody {
        max-height: calc(57vh - 100px);
        overflow-x: hidden;
        overflow-y: scroll; 
    }


    ul#main-menu > li.menu-item-has-children > .sub-menu .sub-menubody > li.menu-item-has-children > .sub-menu .sub-menubody::-webkit-scrollbar {
        width: 8px;
    }

    ul#main-menu > li.menu-item-has-children > .sub-menu .sub-menubody > li.menu-item-has-children > .sub-menu .sub-menubody {
        scrollbar-width: thin;
        scrollbar-color:  transparent;
    }



}

.sub-menu-back {
    padding: 8px 0;
    font-size: 16px;
    position: relative;
    color: var(--textColor);
    display: flex;
    align-items: center;
    gap: 10px;
}

.sub-menu-back::before {
    transform: rotate(180deg);
    font-size: 10px;
}

@media only screen and (min-width: 1023.98px) {
    .sub-menu-back {
        display: none;
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__search-background {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        transition: visibility 0.8s ease 0s;
        visibility: hidden;
        pointer-events: none;
        background: #000;
        opacity: 0;
        transition: all 0.2s ease 0s;
    }
    .search-open .menu__search-background {
        opacity: 0.32;
        visibility: visible;
        pointer-events: auto;
    }
}

@media only screen and (min-width: 1023.98px) {
    .menu__search {
        display: flex;
        padding: 5px 17px;
    }
	.head-text_background {
	  background-color: #FF6569;
	  color: #fff;
	  padding: 4px 8px;
	  font-size: 80%;
	  border-radius: 4px;
	  display: inline-block;
	  white-space: nowrap;
	}	
}

@media only screen and (min-width: 1365.98px) {
	
    .sub-menu {
		width: 480px;
	}
	
	.menu__list > .menu-item > .sub-menu {
		width: 360px;
	}
	
    .menu__search {
        margin-left: 10px;
        padding: 5px 20px;
    }
}

@media only screen and (max-width: 1023.98px) {
    .admin-bar .menu {
        top: 96px; /* 46px admin-bar + 50px шапка */
        height: calc(100vh - 96px);
        height: calc(100dvh - 96px);
        max-height: calc(100dvh - 96px);
        margin-top: 0;
    }
}

@media only screen and (max-width: 1023.98px) and (min-width: 783px) {
    .admin-bar .menu {
        top: 82px; /* 32px admin-bar + 50px шапка */
        height: calc(100vh - 82px);
        height: calc(100dvh - 82px);
        max-height: calc(100dvh - 82px);
        margin-top: 0;
    }
}

@media only screen and (min-width: 1023.98px) {
    .admin-bar .menu {
        top: auto;
        height: auto;
        max-height: none;
        margin-top: 0;
    }
}


