@charset "utf-8";
:root {
    --full-width: 1370px;
    --color-y: #ffb819;
    --color-b: #2e2e2e;
    --color-g: #a6a6a6;
    --color-r: #fc2847;
}
/* dialog */
/* Обнуляем дефолтный внешний вид системного диалога */
dialog.modal-legacy-wrapper {
    padding: 0;
    border: none;
    background: transparent; /* Делаем фон прозрачным, так как белый фон уже есть у вашего .modal */
    overflow: visible;       /* Чтобы крестик закрытия мог аккуратно позиционироваться */
}
/* dialog */

.text-danger {
    color: #cf2929;
}
/* Для Chrome, Safari, Edge и Opera */
.ms3-cart-qty-input::-webkit-outer-spin-button,
.ms3-cart-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Для Firefox */
.ms3-cart-qty-input[type="number"] {
    -moz-appearance: textfield;
}

/* Стили для кнопки закрытия (крестика) */
.modal-legacy-close {
    position: absolute;
    top: 15px;      /* Подстройте эти цифры, чтобы крестик встал красиво */
    right: 15px;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #999;
    line-height: 1;
    z-index: 10;
    transition: color 0.2s ease;
}
.modal-legacy-close:hover {
    color: #000;
}

/* Splide */
/* Делаем трек слайдера контекстом для абсолютного позиционирования */
.splide__track {
    position: relative;
}

/* Позиционируем блок с точками поверх слайдов */
.splide__track .splide__pagination {
    position: absolute;
    bottom: 20px; /* Отступ от нижнего края слайдера */
    left: 50%;
    transform: translateX(-50%); /* Центрируем по горизонтали */
    z-index: 10; /* Поднимаем слой выше картинок */
    
    /* Сброс стандартных стилей списков */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Стили для элементов списка (li) и самих кнопок-точек */
.splide__track .splide__pagination li {
    margin: 0 6px; /* Расстояние между точками */
    display: inline-block;
    line-height: 0;
}

.splide__track .splide__pagination button {
    display: block;
    width: 12px;         /* Ширина точки */
    height: 12px;        /* Высота точки */
    border-radius: 50%;  /* Делаем круглой */
    background: rgba(255, 255, 255, 0.5); /* Полупрозрачный белый цвет для неактивных */
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Стили для активной точки */
.splide__track .splide__pagination button.is-active {
    background: #ffffff; /* Яркий белый цвет */
}


/* Подвязываем стили ваших старых иконок внутрь стрелок Splide */

.splide__arrows .splide__arrow--prev{
    position: absolute;
    top: -70px;
    text-align: right;
    right: 48px;    
}
.splide__arrows .splide__arrow--next{
    position: absolute;
    top: -70px;
    text-align: right;
    right: 0;    
}
/* Внутри кнопок Splide генерирует SVG. Мы можем скрыть его и вставить ваши старые стили через :before или фон */
.splide__arrow svg {
    display: none;
}

/* Классы для конкретных стрелок */
.splide__arrow--prev, .splide__arrow--next {
    width: 40px;
    height: 40px;
    border: none;
    color: #2E2E2E;
    background: #fff;
    z-index: 50;
    text-align: center;
    cursor: pointer;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    border-radius: 20px;
    box-shadow: 0 5px 20px rgba(0,0,0,.07);
}
.splide__arrow--prev:hover::after, .splide__arrow--next:hover::after {
    border-left: 2px solid var(--color-y);
    border-bottom: 2px solid var(--color-y);
}
.splide__arrow--prev::after, .splide__arrow--next::after{
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 50%;
    left: 50%;
    margin-top: -5px;
    margin-left: -3px;
    border-left: 2px solid #212121;
    border-bottom: 2px solid #212121;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;    
}

.splide__arrow--prev::after {
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);    
}

.splide__arrow--next::after {
    -moz-transform: rotate(-225deg);
    -webkit-transform: rotate(-225deg);
    -o-transform: rotate(-225deg);
    -ms-transform: rotate(-225deg);
    transform: rotate(225deg);
    margin-left: -7px;    
}
/* Splide */

.push1{
    height: 1px;
}
.push2{
    height: 2px;
}
.push3{
    height: 3px;
}
.push4{
    height: 4px;
}
.push5{
    height: 5px;
}
.push6{
    height: 6px;
}
.push7{
    height: 7px;
}
.push8{
    height: 8px;
}
.push9{
    height: 9px;
}
.push10{
    height: 10px;
}
.push11{
    height: 11px;
}
.push12{
    height: 12px;
}
.push13{
    height: 13px;
}
.push14{
    height: 14px;
}
.push15{
    height: 15px;
}
.push20{
    height: 20px;
}
.push25{
    height: 25px;
}
.push30{
    height: 30px;
}
.push35{
    height: 35px;
}
.push40{
    height: 40px;
}
.push45{
    height: 45px;
}
.push50{
    height: 50px;
}
.push55{
    height: 55px;
}
.push60{
    height: 60px;
}
.push70{
    height: 70px;
}
.push65{
    height: 65px;
}
.push75{
    height: 75px;
}
.push80{
    height: 80px;
}
.push90{
    height: 90px;
}
.push100{
    height: 100px;
}
.f8{
    font-size: 8px;
}
.f9{
    font-size: 9px;
}
.f10{
    font-size: 10px;
}
.f11{
    font-size: 11px;
}
.f12{
    font-size: 12px;
}
.f13{
    font-size: 13px;
}
.f14{
    font-size: 14px;
}
.f15{
    font-size: 15px;
}
.f16{
    font-size: 16px;
}
.f18{
    font-size: 18px;
}
.f20{
    font-size: 20px;
}
.f22{
    font-size: 22px;
}
.f24{
    font-size: 24px;
}
.f26{
    font-size: 26px;
}
.f28{
    font-size: 28px;
}
.f30{
    font-size: 30px;
}
.f34{
    font-size: 34px;
}
.f36{
    font-size: 36px;
}
html, body {
    height: 100% !important;
    margin: 0;
    padding: 0;
}
body{
    font-size: 14px;
    line-height: 1.4;
    color: #00012a;
    overflow-x: hidden;
    font-family: 'Ubuntu', sans-serif;
}
.content{
    line-height: 1.8;
    font-size: 15px;
}
.main-wrapper{
    min-height: 100%;
    margin-bottom: -395px;
    background: #fff;
}
.footer-push{
    height: 395px;
}
.footer-wrapper{
    min-height: 395px;
    background: #222222;
    position: relative;
    font-size: 13px;
    color: #f7f8fab8;
}
.footer-wrapper a{
    color: #fff;
}
.footer-bottom{
    padding: 30px 0;
}
.footer-top-wrapper{
    padding: 50px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-top-inner{
    padding-right: 280px;
    min-height: 150px;
}
.footer-top-last{
    max-width: 250px;
    position:absolute;
    right: 0;
    top: 0;
    padding: 0;
}
.footer-top-wrapper{
    min-height: 315px;
}
.footer-top-wrapper .title{
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 20px;
    color: #fff;
    text-transform: uppercase;
}
.footer-menu li{
    margin-bottom: 8px;
}
.footer-menu a{
    text-decoration: none;
}
.footer-menu a:hover{
    text-decoration: underline;
}
.footer-contacts-el{
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
}
.footer-contacts-el.footer-phone{
   display: flex;
   align-items: center;
   gap: 10px;    
}
.footer-contacts-el.footer-phone svg{
   width: 24px;
   height: 24px;    
}
.footer-contacts-el a{
    text-decoration: none;
    transition: color 0.3s ease;
}
.footer-contacts-el a:hover{
    color: var(--color-y);
}
.footer-top-last .button{
    background: white;
    color: #2e2e2e;
;
}
.footer-top-last .button:hover{
    color: var(--color-y);
}
.social-links{
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
.social-links a {
    margin-right: 6px;
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s ease;
}
.social-links a:hover {
    color: var(--color-y);
}
.social-links svg {
    width: 24px;
    height: 24px;
    margin-right: 10px;
    border-radius: 5px;
}
.footer-logo img{
    width: 120px;
}
@media(max-width: 767px){
    .footer-logo{
        display: none;
    }
    .footer-top-wrapper{
        padding: 20px 0;
    }
}
@media(max-width: 1299px){
    .footer-top-inner{
        padding-right: 0;
    }
    .footer-top-first{
        padding-bottom: 50px;
        margin-bottom: 50px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .footer-top-last{
        max-width: 100%;
        position: static;
        padding: 0 10px;
    }
}
@media(max-width: 767px){
    .footer-menu{
        margin-bottom: 50px;
    }
    .footer-contacts{
        margin-bottom: 50px;
    }
}

h1,
.title-h1{
    font-size: 36px;
    line-height: 1.3;
    margin-bottom: 40px;
    position: relative;
    font-weight: 300;
    font-style: normal;
}
h2,
.title-h2{
    font-size: 32px;
    line-height: 1.3;
    margin-bottom: 40px;
    position: relative;
    font-weight: 400;
    font-style: normal;
}
h3,
.title-h3{
    font-size: 26px;
    line-height: 1.3;
    margin-bottom: 20px;
    position: relative;
    font-weight: 500;
    color: #2E2E2E;
}
h4,
.title-h4{
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 20px;
    position: relative;
    font-weight: bold;
}
h5,
.title-h5{
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 10px;
    position: relative;
    font-weight: bold;
}
h1.line,
h2.line{
    position: relative;
}
h1.line:after,
h2.line:after{
    content:"";
    position: absolute;
    bottom: -15px;
    left: 0;
    width: 80px;
    height: 2px;
    background: var(--color-y);
}
.title-h2 span{
    font-size: 18px;
    line-height: 1;
    display: block;
    font-family: opel;
    font-weight: normal;
    margin-bottom: 20px;
    margin-top: 10px;
}
@media(max-width:992px){
    h1,
    .title-h1{
        font-size: 26px;
        margin-bottom: 20px;
    }
    h2,
    .title-h2{
        font-size: 22px;
    }
}
blockquote{
    position: relative;
    margin: 30px 0;
    padding: 2px 0 5px 20px;
    border-left: 2px solid #2e2e2e;
    text-align: left;
    font-style: italic;
}
blockquote p{
    margin-bottom: 0;
}
p{
    margin-bottom: 20px;
}
a{
    color: #2e2e2e;
}
a:hover{
    text-decoration: none;
}
a:focus{
    outline: none;
    text-decoration: none;
}
a.decoration-none{
    text-decoration: none;
}
a.decoration-hover{
    text-decoration: none;
}
a.decoration-hover:hover{
    text-decoration: underline;
}
strong,
b, 
.bold{
    font-weight: bold;
}
input:focus::-moz-placeholder{
    opacity: 0;
}
input:focus:-ms-input-placeholder{
    opacity: 0;
}
input:focus::-webkit-input-placeholder{
    opacity: 0;
}
textarea:focus::-moz-placeholder{
    opacity: 0;
}
textarea:focus:-ms-input-placeholder{
    opacity: 0;
}
textarea:focus::-webkit-input-placeholder{
    opacity: 0;
}
.red{
    color: red;
}
.hide {
  display: none;
}
.show {
  display: block;
}
.text-left{
    text-align: left;
}
.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}
a.absolute{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}
:invalid {
  box-shadow: none;
}
:-moz-submit-invalid {
  box-shadow: none;
}
:-moz-ui-invalid {
  box-shadow:none;
}
.relative{
    position: relative;
}
.absolute{
    position: absolute;
}
em, i{
    font-style: italic;
}
.cleaner,
.clear{
    clear: both;
    height: 0;
    line-height: 0;
}
.clear-hr,
.cleaner-hr{
    height: 0;
    opacity: 0;
    margin: 0;
    padding: 0;
    border: none;
}
.left{
    float: left;
}
.right{
    float: right;
}
.upper{
    text-transform: uppercase;
}
.error{
    color: #FF0000;
}
img{
    max-width: 100%;
}
img.left{
    float: left;
    margin-right: 15px;
    margin-bottom: 5px;    
}
img.right{
    float: right;
    margin-left: 15px;
    margin-bottom: 5px;    
}
.white{
    color: #fff;
}
.black{
    color: #000;
}
.gray{
    color: #8A8A8A;
}
.gray-bg{
    background: #f8f8f8;
}
.gray-border {
    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
}
.gray-bt {
    border-bottom: 1px solid #ededed;
}
.strike{
    text-decoration: line-through;
}

.content ul {
	margin-bottom: 20px;
}

.content ul>li {
	margin-bottom: 7px;
	position: relative;
}

.content ul>li {
	padding-left: 15px;
}

.content ul > li:after {
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    top: 11px;
    left: 2px;
    background: #2e2e2e;
    border-radius: 5px;
}

.content ul ul {
	padding-top: 10px;
	padding-left: 10px;
}

.content ul ul li {
	padding-left: 15px;
	position: relative;
	margin-bottom: 10px;
}

.content ul ul li:after {
	content: "";
	display: block;
	position: absolute;
	width: 6px;
	height: 6px;
	top: 10px;
	left: 2px;
	background: #2e2e2e;
	border-radius: 5px;
}

.content ol {
	list-style-type: none;
	counter-reset: num;
	margin: 0 0 0 20px;
	padding: 15px 0 5px 0;
}

.content ol li {
	position: relative;
	margin: 0 0 0 0;
	padding: 0 0 10px 0;
}

.content ol li:before {
	content: counter(num) ".";
    counter-increment: num 1;
    display: inline-block;
    position: absolute;
    top: 0px;
    left: -26px;
    width: 20px;
    color: #2e2e2e;
    text-align: right;
    font-weight: bold;
}

.content table{
    width: 100%;
    border-collapse: collapse;
}
.content table tr:nth-child(odd) {
    background: #F5F5F5;
}
.content table td, 
.content table th {
    padding: 14px 20px;
    font-size: 14px;
    vertical-align: middle;
    color: #5F5F5F;
}
.content table th{
    color: #000;
    font-weight: bold;
}
.content table .separate td{
    background: #E2E6E7;
    color: #333333;
    font-weight: bold;
}
@media (max-width: 767px){
    .content table td, 
    .content table th {
        padding: 8px 10px;
        font-size: 12px;
    }
}

.modal{
    width: 500px;
    max-width: 100%;
    background: #fff;
    padding: 60px 30px 25px;
    border-radius: 12px;
}
.modal.big{
    width: 900px;
}
.modal .title{
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 30px;
    color: #2e2e2e;
    line-height: 1.1;
}
.modal p{
    margin-bottom: 0;
}
.label{
    display: block;
    margin-bottom: 4px;
}
.dashed{
    text-decoration: none;
    border-bottom: 1px dashed;
}
.dashed:hover{
    border-bottom-color: transparent;
}
.static{
    position: static;
}
.hidden {
    display: none;
    visibility: hidden;
    opacity: 0;
}
.visible{
    opacity:1;
}
.button,
.btn{
    display: inline-block;
    color: #2e2e2e;
    background: rgb(255, 255, 255);
    font-size: 14px;
    font-weight: bold;
    padding: 14px 30px;
    margin-bottom: 20px;
    position: relative;
    text-align: center;
    cursor: pointer;
    transition: all 200ms ease-out 0s;
    text-decoration: none !important;
    border-radius: 8px;
    border: none;
    box-shadow: 0px 5px 20px rgba(34, 34, 34, 0.1);
}
.button:hover,
.btn:hover{
    color: var(--color-y);
}
.button.block,
.btn.block{
    display: block;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}
.button.invert,
.btn.invert{
    background: #2e2e2e;
    color: #fff;
    border-color: #2e2e2e;
}
.button.invert:hover,
.btn.invert:hover{
    color: #2e2e2e;
    background: #fff;
    border-color: #2e2e2e;
}
.button.mid,
.btn.mid{
    font-size: 13px;
    padding-top: 11px;
    padding-bottom: 11px;
}
.dotted{
    text-decoration: none !important;
    border-bottom: 1px dotted;
}
.dotted:hover{
    border: none;
}
.button.mini,
.button.min,
.btn.min,
.btn.mini{
    font-size: 11px;
    padding: 8px 10px;
}
.button .material-icons,
.btn .material-icons{
    vertical-align: middle;
    margin-top: -1px !important;
    font-size: 20px;
}
.button.disabled, 
.button.disabled:hover,
.btn.disabled, 
.btn.disabled:hover{
    background: #dadada;
    border-color: #dadada;
    color: #1c1c1b;
    cursor: default;
}
.header{
    background-color: rgb(255 255 255);
    box-shadow: -1px 1px 5px 0px rgb(0 0 0 / 15%);
    position: relative;
    z-index: 1000;
}
.header-top{
    background: #222;
    padding: 7px 0;
    font-size: 14px;
}
.header-bottom{
    padding: 5px 0px 0;
    position: relative;
    min-height: 114px;
}
@media(max-width:991px) {    
    .header-bottom, .header-top{
        display:none;
    }
}
.logo{
    margin-bottom: 20px;
    width: 400px;
    height: 200px;
    display: flex;
    align-items: center;
}
.header-tel .header-tel-1,
.header-tel .header-tel-2{
    color: #000;
    font-size: 18px;
    position: relative;
    transition: color 0.3s ease;
    margin-bottom: 4px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 7px;
}
.header-tel svg{
    width: 26px;
    color: var(--color-y);
    position: relative;
}
.header-tel a{
    text-decoration: none;
    color: #262121;
    letter-spacing: 0.6px;
    font-weight: 500;
    transition: color 0.3s ease;
}
.header-tel a:hover{
    color: var(--color-y);
}
.header-tel .callback-link-wrap{
    display: flex;
    justify-content: flex-end;
}
.header-tel .callback-link{
    display: inline-block;
    font-weight: 500;
    border-bottom: 1px dashed #262121;
    margin-bottom: 0;
    font-size: 18px;
    color: #ffb819;
}
.header-tel .callback-link:hover{
    border-color: transparent;
}

@media(max-width:991px){
    .header-tel-icon{
        top: 0;
        bottom: 0;
    }
}
@media(max-width:767px){
    .header-tel-1,
    .header-tel-2,
    .schedule,
    .header-address{
        display: inline-block;
    }
    
}
.callback-link{
    margin-bottom: 10px;
}
.customcheck{
    position: relative;
    margin-bottom: 20px;
}
.customcheck input[type=checkbox]{
    position: fixed;  
    top: -100000px;
}
.customcheck input[type=checkbox] + label{
    position: relative;
    padding-left: 20px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;   
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    color: #7A7A7A;
}
.customcheck input[type=checkbox] + label:before{
    background: url(../images/customcheck.png) 0 0 no-repeat;
    content: "";
    display: block;
    position: absolute;
    width: 14px;
    height: 14px;
    top: 3px;
    left: 0px;
}
.customcheck input[type=checkbox]:checked + label:before{
  background-position: 0 -14px;
}
input[type=checkbox].error + label {
    color: #FF0000;
}
hr{
    border-top: 1px solid #C7C7C7;
    border-bottom: 1px solid #fff;
}
.cleaner-hr{
    height: 0;
    opacity: 0;
    margin: 0;
    padding: 0;
    border: none !important;
}
.modal .title + p{
    font-size: 14px;
    margin: -10px 0 30px;
}
.top-bar{
    width: 100%;
    height: 50px;
    z-index: 300;
    background-color: #68555500;
}
.top-bar.fix-true.fixed + .top-bar-push-md{
    height: 50px;    
}

@keyframes slideDownMenu {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

@media(max-width:991px){
    .top-bar-container{
        padding: 0;
        background: transparent;
        width: 100%;
        margin-top: auto;
        margin-bottom: auto;
    }
    .top-bar{
        height: 55px;
    }
}
@media(min-width:992px){
    .base-template .header{
        margin-bottom: 40px;
    }
}
@media(min-width:1170px){
    .base-template .header{
        margin-bottom: 50px;
    }
    .top-bar:before{
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        right: 50%;
        width: 0;
    }
    .top-bar.fix-true.fixed:before{
        width: 100%;
        left: 0;
        right: 0;
    }
}
@media (max-width: 1169px){
    .top-bar{
        padding: 0 15px;
    }

}
@media (max-width: 991px) {
    .top-bar{
        position: fixed;
        top: 0;
        left: 0;
    } 
    .top-bar-push{
        height: 56px;
    }
}
@media (min-width: 992px){
    .top-bar .button{
        right: 50px;
    }
}


/* HEADER CART */
.header-cart span:empty {
    display: none;
}
/* /. HEADER CART */

/*  HEADER PHONE */
.header-phone{
    color: var(--color-y);
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    margin-bottom: auto;
    display: flex;
}
.header-phone svg{
    position: relative;
}
/* /. HEADER PHONE */
/* HEADER nav-icons */
.header-nav-item{
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-g);
    margin-top: auto;
    margin-bottom: auto;
    flex-direction: column;    
}
.header-nav-item svg, .header-nav-item .header-nav-title{
    transition: color 0.3s ease;
}
.header-nav-icon{
    position: relative;
    width: 28px;
    height: 28px;    
}
.header-nav-icon span{
    top: 0px;
    right: -7px;
    background: var(--color-r);
    color: #fff;
    position: absolute;
    font-size: 10px;
    line-height: 11px;
    text-align: center;
    padding: 2px 4px 1px;
    border-radius: 10px;
    min-width: 15px;   
}
.header-nav-title{
    font-size: 13px;
}
.header-nav-item:hover svg{
    color: var(--color-y);
}
.header-nav-item:hover .header-nav-title{
    color: var(--color-b);
}
@media (max-width: 767px) {
    .header-nav-item{
        display: none;
    }    
}
/* HEADER FAVORITES */
.header-favorites span:empty {
    display: none;
}
.header-favorites:hover{
    color: var(--color-b);
}
/* /. HEADER FAVORITES */

/* HEADER PROFILE */

/* header search */
.header-search{
    width: 100%;
    position: relative;
    margin-top: auto;
    margin-bottom: auto;
}
.header-search input[type=text]{
    display: block;
    width: 100%;
    height: 38px;
    padding: 0 60px 0 110px;
    color: #8D8D8D;
    font-size: 14px;
    border: 1px solid #dadada;
    border-radius: 8px;
    max-width: 100%;
}
.search-wrapper {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: auto;
    margin-bottom: auto;
}
.header-search-r{
    color: var(--color-b);
    display: none;
}
.header-search-r a {
    top: 0; left: 0; right: 0; bottom: 0; z-index: 1;
}
.search-close-btn {
    display: none; /* Скрываем кнопку закрытия на ПК */
}
@media (max-width: 767px) {
    .header-search-r {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        width: 32px;
        height: 32px;
    }

    /* Скрываем саму форму поиска и превращаем её в модальную панель */
    .header-search {
        position: absolute;
        left: 0;
        width: 100%;
        height: 56px; /* Высота плашки поиска на мобильном */
        background: #ffffff;
        z-index: 9999;
        padding: 10px 50px 10px 10px; /* Отступы с учетом кнопки закрытия справа */
        box-sizing: border-box;
        
        /* Эффект плавного появления сверху */
        opacity: 0;
        visibility: hidden;
        transform: translateY(-20px);
        transition: all 0.3s ease;
    }

    /* Класс, который будет добавлять JS при клике на лупу */
    .search-wrapper.is-search-open .header-search {
        opacity: 1;
        visibility: visible;
        transform: translateY(0); 
        
    }
    .search-wrapper .header-search .custom-select-container{
        left: 9px;
    }
    .search-wrapper .header-search .search-button{
        top: calc(50% - 18px);
        right: 50px;   
    }
    .search-wrapper .header-search .search-button button {
        width: auto;    
    }
    /* Растягиваем форму на мобильном */
    .header-search form {
        width: 100%;
        height: 100%;
    }

    /* Мобильная кнопка закрытия (крестик) */
    .search-close-btn {
        display: block;
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        background: none;
        border: none;
        font-size: 28px;
        color: #666;
        cursor: pointer;
        line-height: 1.1;
        padding: 0 5px;
        z-index: 3;
    }
    
    /* Корректируем ширину кастомного селектора на мобильном, чтобы сберечь место */
    .custom-select-trigger {
        padding: 6px 20px 6px 8px;
        font-size: 13px;
    }
    .header-search input[type="text"] {
        padding-left: 90px; /* Чуть уменьшаем отступ под селект */
        font-size: 15px;
    }
}
/* === ВСПЛЫВАЮЩАЯ ПАНЕЛЬ КОНТАКТОВ (ПК версия) === */
.contacts-dropdown-panel {
    position: absolute;
    right: 0;
    width: 400px;
    background: #ffffff;
    box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    z-index: 10000;
    padding: 24px;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%);
    transition: opacity 0.3s ease, visibility 0s linear 0.3s, transform 0.3s ease;
    top: 54px;
}

/* Состояние, когда панель открыта */
.contacts-wrapper.is-contacts-open .contacts-dropdown-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0); /* Возвращаем на экран */
    transition: opacity 0.3s ease, visibility 0s linear 0s, transform 0.3s ease;
}
.contacts-wrapper, .cat-btn{
    display: none;
}
.top-bar.fix-true.fixed .contacts-wrapper{
    display: flex;  
}
@media (max-width: 991px){
    .contacts-wrapper{
        display: flex;
    }
}
@media (max-width: 776px){
    .cat-btn{
        display: flex;
    }
    .cat-btn .cat-btn-toggle{
        border: none;
        height: 32px;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        width: 80px;
        background: #2e2e2e;
        color: #fff;
        border-radius: 8px;
        margin-top: auto;
        margin-bottom: auto;
        display: flex; 
        transition: color 0.15s ease;   
    }
    .cat-btn .cat-btn-toggle:active{
        color: var(--color-y);
    }
}
/* Внутренняя верстка панели */
.contacts-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.contacts-panel-body svg{
    color: var(--color-y);
}
.contacts-panel-body a{
    font-size: 16px;
    color: var(--color-b);
}
.cont-email svg{
    width: 28px;
    margin-left: -2px;
}
.cont-phone svg{
    width: 24px;
}
.cont-phone, .cont-email{
    display: flex;
    gap: 6px;
    align-items: center;    
}
.cont-phone a{
    font-weight: bold;
}
.contacts-panel-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: bold;
}
.contacts-close-btn {
    background: none;
    border: none;
    font-size: 28px;
    color: #999;
    cursor: pointer;
    line-height: 1;
    padding: 0 5px;
    right: 10px;
    top: 10px;
    position: absolute;
}
.contacts-close-btn:hover {
    color: #333;
}
.phone-link a {
    font-size: 22px;
    font-weight: bold;
    color: #333;
    text-decoration: none;
}

/* === МОБИЛЬНАЯ ВЕРСИЯ (экраны меньше 767px) === */
@media (max-width: 767px) {
    .contacts-dropdown-panel {
        position: fixed;
        width: 100%; 
        right: 0;
        left: 0;
        padding: 20px;
    }
}
.left-menu{
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.top-menu{
    display: none;
}
.menu-block{
    display: flex;
    gap: 20px;
    justify-content: space-between;    
}
.right-menu{
    right: 0;
    display: flex;
    gap: 25px;
    width: 100%;
}
@media (max-width: 991px){
    .right-menu{
        margin-right: 20px;
    }
}
@media (max-width: 480px){
    .right-menu{
        gap: 20px;
    }
}
@media (max-width: 365px){
    .right-menu{
        gap: 15px;
    }
}
.m-menu-cont{
    padding: 20px 0 0 20px;
}
.m-m-title{
    font-size: 18px;
    font-weight: 500;   
}
.m-menu-wrapper{
    padding-left: 10px;
    margin-top: 10px;
    padding-right: 10px;
}
.mobile-menu{
    position: fixed;
    top: 55px;
    left: 0;
    width: 100%;            /* Во всю ширину экрана */
    bottom: 0;          /* На всю высоту экрана */
    background: #ffffff;
    z-index: 99990;

     /* ВКЛЮЧАЕМ СКРОЛЛ ДЛЯ ВСЕГО МЕНЮ */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* Плавный скролл на iOS */
    
    /* Сдвигаем меню полностью влево за пределы экрана */
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 450px;
}
/* Состояние, когда меню открыто (выезжает слева направо) */
.mobile-menu.active {
    transform: translateX(0);
}
/* === Стили для выпадающих подменю (Аккордеон) === */
.mobile-menu .down {
    position: relative;
}

/* Вложенные списки изначально полностью изолированы и скрыты */
.mobile-menu .down > ul {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
}

.mobile-menu .down > ul.is-visible {
    max-height: 1000px;
    opacity: 1;
    padding-top: 15px;    /* Возвращаем верхний отступ, когда подменю открыто */
    padding-bottom: 15px; /* Возвращаем нижний отступ, когда подменю открыто */
}

.mobile-menu .m-menu-wrapper > ul > li{
    position: relative;
    z-index: 300;
    font-weight: bold;
}
@media (min-width: 451px) {
    .mobile-menu{
        box-shadow: 0 3px 5px rgba(0,0,0,0.15);
    }
}
.mobile-menu .m-menu-wrapper > ul > li > a{
    display: block;
    color: var(--color-b);
    padding: 12px;
    text-decoration: none;
    transition: color 0.3s ease;
    font-size: 15px;
    position: relative;
    border-top: 1px solid #ffffff78;
}
.mobile-menu .m-menu-wrapper > ul > li > a:before{
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    top: 0;
    left: 0;
    background: #fff;
    opacity: 0.1;
}
.mobile-menu .m-menu-wrapper > ul > li > a:after{
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    top: 1px;
    bottom: 0;
    left: 0;
    background: #fff;
    opacity: 0;
}
.mobile-menu .m-menu-wrapper > ul > li.active > a:after{
    opacity: 0.1;
}
.mobile-menu .m-menu-wrapper > ul > li > ul {
    position: relative;
    padding: 0 15px; /* Боковые отступы оставляем, а верх и низ делаем 0 */
    transition: padding 0.25s ease-out; /* Чтобы отступы тоже плавно появлялись */
}
.mobile-menu .m-menu-wrapper > ul > li > ul:before{
    content:"";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    top: 0;
    left: 0;
    background: #fff;
    opacity: 0.1;
}
.mobile-menu .m-menu-wrapper > ul > li > ul > li{
    margin-bottom: 15px;
    position: relative;
}
.mobile-menu .m-menu-wrapper > ul > li > ul a{
    color: var(--color-b);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 11px;
    display: block;
    padding: 5px 0 5px 12px;
    position: relative;
}
.mobile-menu .m-menu-wrapper > ul > li > ul > li.active > a span,
.mobile-menu ul ul ul li.active > a span{
    text-decoration: underline;
}
.mobile-menu .m-menu-wrapper > ul > li > ul a:before{
    content: "";
    display: block;
    position: absolute;
    width: 4px;
    height: 4px;
    top: 9px;
    left: 0;
    background: var(--color-y);
}
.mobile-menu ul ul ul a:before{
    top: 14px;
}
.mobile-menu .m-menu-wrapper > ul > li > ul a span{
    position: relative;
    z-index: 5;
}
.mobile-menu .dropdown-button {
    display: block;
    width: 50px;
    height: 48px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 20;
}
.mobile-menu .dropdown-button:after{
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    position: absolute;
    right: 17px;
    top: 13px;
    border-bottom: 2px solid var(--color-b);
    border-right: 2px solid var(--color-b);
    transform: rotate(45deg);
    transition: all 200ms ease-out;
}
.mobile-menu .dropdown-button.active:after{
    transform: rotate(-135deg);
    top: 19px;
}
.mobile-menu ul ul .dropdown-button{
    height: 25px;
    right: -15px;
}
.mobile-menu ul ul .dropdown-button:after{
    width: 6px;
    height: 6px;
    content: "+";
    border: none;
    color: var(--color-b);
    transform: rotate(0) !important;
    top: 0 !important;
    font-size: 18px;
    font-weight: bold;
    right: 21px;
    transition: none;
}
.mobile-menu ul ul .dropdown-button.active:after{
    content: "—";
    font-size: 11px;
    top: 4px !important;
    right: 22px;
}
.mobile-menu ul ul ul { 
    padding-top: 0; /* Изначально отступ равен 0 */
    padding-left: 12px; 
    transition: padding 0.25s ease-out; /* Чтобы отступы тоже плавно появлялись */
}
/* Когда под-подменю открыто, плавно возвращаем ему верхний отступ */
.mobile-menu ul ul .is-visible > ul {
    padding-top: 10px;
}
.mobile-menu ul ul ul a {
    padding: 10px 0 10px 30px;
}
.mobile-menu ul ul ul a:before{
    left: 17px;
}
.mobile-menu li{
    position: relative;
}
.mobile-menu ul ul ul ul{
    padding-top: 0; /* Изначально отступ равен 0 */
    padding-left: 10px; 
    transition: padding 0.25s ease-out; /* Чтобы отступы тоже плавно появлялись */
}
/* Когда под-подменю открыто, плавно возвращаем ему верхний отступ */
.mobile-menu ul ul ul .is-visible > ul {
    padding-top: 10px;
}
/* Стили для ссылки-контейнера */
.mobile-menu .m-menu-wrapper > ul.menu2 > li > a {
  display: flex;          /* Включаем Flexbox-сетку */
  align-items: center;    /* Центрируем картинку и текст строго по вертикали */
  text-decoration: none;  /* Убираем подчеркивание текста */
  color: #333;            /* Цвет текста (замените на свой) */
  
  /* Равные отступы сверху и снизу (12px), и отступ слева/справа (15px) */
  padding: 12px 15px;     
}

/* Стили для иконки меню */
.menu-icon {
  width: 25px;            /* Жесткая ширина картинки */
  height: 40px;           /* Жесткая высота картинки */
  object-fit: contain;    /* Картинка не деформируется при изменении пропорций */
  flex-shrink: 0;         /* Запрещаем картинке сжиматься, если текст длинный */
  margin-right: 12px;     /* Одинаковый отступ справа от картинки до текста */
}
.mobile-menu .m-menu-wrapper > ul.menu2 > li > a{
    padding: 0 10px;
}
.mobile-menu .m-menu-wrapper > .menu2 .down > ul.is-visible{
    padding: 7px 20px;
}
.mobile-menu .m-menu-wrapper > ul.menu2 > li > ul > li{
    margin-bottom: 5px;
}
.mobile-menu .m-menu-wrapper > ul.menu2 > li > ul a{
    padding: 5px 0 0px 12px;
}
/*---- */
a{
    color:var(--color-y);
}
.news a{
    color:#fff;
}
.header .slogan{
    font-size: 15px;
    padding-top: 5px;
    display: inline-block;
}
.schedule,
.header-address{
    padding: 10px 0 10px 28px;
    position: relative;
}
.schedule svg{
    position: absolute;
    left: 0;
    top: 10px;
    width: 20px;
    color: var(--color-y);
}
.header-address svg{
    position: absolute;
    left: 1px;
    top: 8px;
    width: 19px;
    height: 19px;
    color: var(--color-y);
}
/*right-top-menu*/
.d-right-top-nav {
    display: flex;            /* Включаем Flexbox */
    justify-content: space-around; /* Равномерно распределяем пункты по ширине */
    align-items: center;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;             /* Оптимальная высота под палец */
    background: #ffffff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08); /* Легкая тень сверху */
    z-index: 99999;           /* Самый высокий приоритет видимости */
    padding-bottom: env(safe-area-inset-bottom); /* Поддержка челок/полосок на iPhone */
    box-sizing: border-box;
}
/* Стили одного пункта меню */
.right-top-nav-item {
    display: flex;
    flex-direction: column;   /* Иконка сверху, текст снизу */
    align-items: center;
    justify-content: center;
    flex: 1;                  /* Каждый пункт занимает одинаковую ширину */
    height: 100%;
    text-decoration: none;
    color: #666666;           /* Цвет иконок и текста по умолчанию */
    transition: color 0.2s ease;
}

.right-top-nav-item:active {
    color: #ff3b30;           /* Цвет при нажатии */
}
/* Обертка для иконки (чтобы внутри позиционировать счетчики) */
.right-top-nav-icon {
    position: relative;       /* Родственник для абсолютных счетчиков */
    width: 24px;
    height: 24px;
    margin-bottom: 4px;       /* Отступ между иконкой и подписью */
}
/* Подпись под иконкой */
.right-top-nav-title {
    font-size: 11px;
    line-height: 1;
    font-weight: 500;
}
/* Стилизация счетчиков (используем уже готовые наработки) */
.d-right-top-nav .favorites_count,
.d-right-top-nav .cart_count {
    position: absolute;
    top: -5px;     /* Жестко фиксируем позицию сверху */
    right: -8px;   /* Жестко фиксируем позицию справа */
    margin: 0;     /* Сбрасываем случайные внешние отступы */
    z-index: 5;
    
    /* Предотвращаем влияние на размеры родителя */
    pointer-events: none; 
    background-color: #ff3b30;
    color: #ffffff;
    font-size: 9px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    border-radius: 10px;
    box-sizing: border-box;
}
/* Скрываем счетчики, если товаров 0 */
.d-right-top-nav .favorites_count[data-value="0"],
.d-right-top-nav .cart_count[data-value="0"],
.d-right-top-nav .cart_count:empty {
    display: none;
}
/* Обертка для иконки с жесткой фиксацией высоты */
.right-top-nav-icon.header-favorites,
.right-top-nav-icon.header-cart,
.right-top-nav-icon {
width: 24px;
height: 24px;
justify-content: center;
align-items: flex-end;
display: flex;
margin: 0;
position: relative;
}
/* Принудительно выводим SVG на полную ширину обертки */
.right-top-nav-icon svg {
    display: block;
    width: 24px;
    height: 24px;
    flex-shrink: 0; /* Запрещаем иконке сжиматься */
}

/*mobile-bottom*/
.mobile-bottom-nav{
    display: none;
}
/* === СТИЛИ ДЛЯ МОБИЛЬНЫХ (меньше 767px) === */
@media (max-width: 767px) {
    .mobile-bottom-nav {
        display: flex;            /* Включаем Flexbox */
        justify-content: space-around; /* Равномерно распределяем пункты по ширине */
        align-items: center;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60px;             /* Оптимальная высота под палец */
        background: #ffffff;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08); /* Легкая тень сверху */
        z-index: 999;           /* Самый высокий приоритет видимости */
        padding-bottom: env(safe-area-inset-bottom); /* Поддержка челок/полосок на iPhone */
        box-sizing: border-box;
    }

    /* Стили одного пункта меню */
    .bottom-nav-item {
        display: flex;
        flex-direction: column;   /* Иконка сверху, текст снизу */
        align-items: center;
        justify-content: center;
        flex: 1;                  /* Каждый пункт занимает одинаковую ширину */
        height: 100%;
        text-decoration: none;
        color: #606060;           /* Цвет иконок и текста по умолчанию */
        transition: color 0.2s ease;
    }
    
    .bottom-nav-item:active {
        color: var(--color-y);           /* Цвет при нажатии */
    }

    /* Обертка для иконки (чтобы внутри позиционировать счетчики) */
    .bottom-nav-icon {
        position: relative;       /* Родственник для абсолютных счетчиков */
        width: 24px;
        height: 24px;
        margin-bottom: 4px;       /* Отступ между иконкой и подписью */
    }

    /* Подпись под иконкой */
    .bottom-nav-title {
        font-size: 12px;
        line-height: 1;
        font-weight: 500;
    }

    /* Стилизация счетчиков (используем уже готовые наработки) */
    .mobile-bottom-nav .favorites_count,
    .mobile-bottom-nav .cart_count {
        position: absolute;
        top: -5px;     /* Жестко фиксируем позицию сверху */
        right: -8px;   /* Жестко фиксируем позицию справа */
        margin: 0;     /* Сбрасываем случайные внешние отступы */
        z-index: 5;
        
        /* Предотвращаем влияние на размеры родителя */
        pointer-events: none; 
        background-color: #ff3b30;
        color: #ffffff;
        font-size: 9px;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 15px;
        height: 15px;
        padding: 0 3px;
        border-radius: 10px;
        box-sizing: border-box;
    }

    /* Скрываем счетчики, если товаров 0 */
    .mobile-bottom-nav .favorites_count[data-value="0"],
    .mobile-bottom-nav .cart_count[data-value="0"],
    .mobile-bottom-nav .cart_count:empty {
        display: none;
    }
    /* Обертка для иконки с жесткой фиксацией высоты */
    .bottom-nav-icon.bottom-favorites,
    .bottom-nav-icon.bottom-cart,
    .bottom-nav-icon {
    width: 24px;
    height: 24px;
    justify-content: center;
    align-items: flex-end;
    display: flex;
    margin: 0;
    position: relative;
    }

    /* Принудительно выводим SVG на полную ширину обертки */
    .bottom-nav-icon svg {
        display: block;
        width: 24px;
        height: 24px;
        flex-shrink: 0; /* Запрещаем иконке сжиматься */
    }

    .footer-wrapper {
        padding-bottom: 60px;
    }
}

/* mob-menu-btn begin */
.mob-menu-btn{
    position: relative;
    top: calc(50% - 7px);
    height: 14px;
    width: 40px;
    cursor: pointer;
    margin-left: 10px;
}
.icon-menu-burger {
    height: 2px;
    width: 28px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -1px 0 0 -14px;
    -webkit-transition: transform 0.1s ease 0s;
    -moz-transition: transform 0.1s ease 0s;
    -o-transition: transform 0.1s ease 0s;
    -ms-transition: transform 0.1s ease 0s;
    transition: transform 0.1s ease 0s;
    -webkit-transition: -webkit-transform 0.1s ease 0s;
}
.icon-menu-burger__line {
    background: #fff;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: transform 0.1s linear 0.1s;
    -moz-transition: transform 0.1s linear 0.1s;
    -o-transition: transform 0.1s linear 0.1s;
    -ms-transition: transform 0.1s linear 0.1s;
    transition: transform 0.1s linear 0.1s;
    -webkit-transition: -webkit-transform 0.1s linear 0.1s;
}
.icon-menu-burger:before, .icon-menu-burger:after {
    background: #fff;
    content: '';
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
}
.icon-menu-burger:before {
    top: -6px;
    -webkit-transition: top 0.1s linear 0.2s;
    -moz-transition: top 0.1s linear 0.2s;
    -o-transition: top 0.1s linear 0.2s;
    -ms-transition: top 0.1s linear 0.2s;
    transition: top 0.1s linear 0.2s;
}
.icon-menu-burger:after {
    bottom: -6px;
    -webkit-transition: bottom 0.1s linear 0.2s;
    -moz-transition: bottom 0.1s linear 0.2s;
    -o-transition: bottom 0.1s linear 0.2s;
    -ms-transition: bottom 0.1s linear 0.2s;
    transition: bottom 0.1s linear 0.2s;
}
.mob-menu-btn.active .icon-menu-burger{
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: transform 0.1s linear 0.2s;
    -moz-transition: transform 0.1s linear 0.2s;
    -o-transition: transform 0.1s linear 0.2s;
    -ms-transition: transform 0.1s linear 0.2s;
    transition: transform 0.1s linear 0.2s;
    -webkit-transition: -webkit-transform 0.1s linear 0.2s;
}
.mob-menu-btn.active .icon-menu-burger__line{
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
.mob-menu-btn.active .icon-menu-burger:before {
    -webkit-transition: top 0.1s linear;
    -moz-transition: top 0.1s linear;
    -o-transition: top 0.1s linear;
    -ms-transition: top 0.1s linear;
    transition: top 0.1s linear;
    top: 0;
}
.mob-menu-btn.active .icon-menu-burger:after {
    -webkit-transition: bottom 0.1s linear;
    -moz-transition: bottom 0.1s linear;
    -o-transition: bottom 0.1s linear;
    -ms-transition: bottom 0.1s linear;
    transition: bottom 0.1s linear;
    bottom: 0;
}
/* /. mob-menu-btn */


/* custom chrome scroll */
body::-webkit-resizer {
    background-image: url('');
    background-repeat: no-repeat;
    width: 10px;
    height: 1px;
}
body::-webkit-scrollbar {
    width: 10px;
}
body::-webkit-scrollbar-button {
    background-image: url('');
    background-repat: no-repeat;
    width: 10px;
    height: 0px;
}
body::-webkit-scrollbar-thumb {
    background-color: var(--color-y);
}
body::-webkit-scrollbar-track {
    background-color: var(--color-b);
}
/* /. custom chrome scroll */


/* preloader */
#preloader {
    background: #fff;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    left: 0;
    position: fixed;
    z-index: 9999;
    -webkit-transition: all 600ms ease-out;
    -moz-transition: all 600ms ease-out;
    -o-transition: all 600ms ease-out;
    transition: all 600ms ease-out;
    opacity: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
#preloader.hid {
    opacity: 0;
    visibility: hidden;
}
#preloader table{
    width: 100%;
    height: 100%;
}
#preloader table td{
    width: 100%;
    height: 100%;
    vertical-align: middle;
}
.load8 .loader {
  margin: 60px auto;
  font-size: 6px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(0,72,127, 0.2);
  border-right: 1.1em solid rgba(0,72,127, 0.2);
  border-bottom: 1.1em solid rgba(0,72,127, 0.2);
  border-left: 1.1em solid #414141;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
.load8 .loader,
.load8 .loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* /. preloader */

/* UP BTN */
#up{
    position: fixed;
    overflow: hidden;
    right: 15px;
    bottom: 15px;
    z-index: 100;
    width: 44px;
    height: 44px;
    line-height: 42px;
    color: #fff;
    background: #2e2e2e;
    text-align: center;
    text-decoration: none;
    transition: .3s all ease-in-out;
    transform: translate3d(0, 150px, 0);
    cursor: pointer;
    border-radius: 22px;
}
#up.active{
    transform: translate3d(0, 0, 0);
}
#up:hover{
    background-color: var(--color-y);
    color: #fff;
}
#up svg{
    height: 20px;
    position: relative;
    bottom: -7px;
}
@media(max-width:767px){
    #up{
        bottom: 15px;
    }
}
/* /. UP BTN */

.row.min{
    margin-left: -5px;
    margin-right: -5px;
}
.row.min > div[class^="col-"]{
    padding-left: 5px;
    padding-right: 5px;
}
.row.no-padding{
    margin-left: 0;
    margin-right: 0;
}
.row.no-padding > div[class^="col-"]{
    padding-left: 0;
    padding-right: 0;
}
.table{
    display: table;
    width: 100%;
    height: 100%;
}
.table-cell{
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: middle;
}

/* SERVICES */
.services-elements{
    text-align: center;
}
.services-section .element{
    height: 240px;
    text-align: center;
    margin-bottom: 20px;
    background: #32363E;
    color: #fff;
    position: relative;
    overflow: hidden;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
}
.services-section .element .element-img img{
    width: 100%;
    height: 100%;
    object-fit:cover;
}
.services-section .element:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: -moz-linear-gradient(top, rgba(50,54,62,0.30), rgba(0,0,0,0.40));
    background-image: -webkit-linear-gradient(top, rgba(50,54,62,0.30), rgba(0,0,0,0.40));
    background-image: -o-linear-gradient(top, rgba(50,54,62,0.30), rgba(0,0,0,0.40));
    background-image: -ms-linear-gradient(top, rgba(50,54,62,0.30), rgba(0,0,0,0.40));
    z-index: 2;
}
.services-section .element .element-img{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
.services-section .element .element-content{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 0 40px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
}
.services-section .element .element-title{
    font-weight: bold;
    font-size: 24px;
    position: relative;
    z-index: 3;
}
.services-section .element .element-content:before {
    background: rgba(0, 0, 0, 0.2);
    bottom: 0;
    content: "";
    position: absolute;
    right: 50%;
    left: 50%;
    top: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.services-section .element .element-content:after{
    background: rgba(0, 0, 0, 0.2);
    content: "";
    position: absolute;
    left: 0;
    bottom: 50%;
    right: 0;
    top: 50%;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.services-section .element:hover .element-content:before {
    left: 0;
    right: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    opacity: 1;
    filter: alpha(opacity=100);
}
.services-section .element:hover .element-content:after{
    top: 0;
    bottom: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    opacity: 1;
    filter: alpha(opacity=100);
}
@media(max-width: 991px){
    .index-template .services-section{
        padding-top: 40px;
    }
    .icon-menu-burger__line, .icon-menu-burger:before, .icon-menu-burger:after{
        background: var(--color-b);
    }

}
/* END SERVICES */

/* MAP */
.index-template .map-wrapper{
    height: 500px;
}
.map-section{
    overflow: hidden;
    background: #fff;
}
.contacts-template .map-wrapper{
    height: 360px;
}
.contacts .element.relative .fa{
    position: absolute;
    top: 3px;
    left: 0;
}
.contacts .element.relative .fa + span{
    display: inline-block;
    margin-left: 20px;
}
.contacts > hr:last-of-type{
    display: none;
}
@media(max-width: 991px) {
    .index-template .map-wrapper{
        height: 350px !important;
    }
}
/* /. MAP */



/* REVIEWS */
.reviews{
    margin: 0 -10px;
}
.rev-header .title{
    font-weight: 700;
    text-transform: none;
}
.reviews > .rev-item,
.rev-grid-sizer{ 
    width: 100%;
}
.reviews > .rev-item .inner{
    padding: 30px;
    margin: 10px;
    border: 1px solid #D5D5D5;
}
.rev-answer{
    margin-top: 30px;
}
.ticket-comment{
    margin: 0 !important;
}
.comment-reply{
    padding: 10px 0;
}
.reviews > .rev-item .rev-item .inner{
    padding: 20px 0 0 0;
    border: none;
    margin: 0;
    font-style: italic;
}
.reviews .rev-date{
    padding: 5px 10px;
    font-weight: 400;
    font-size: 12px;
    background: #eaeaea;
    color: #797979;
    position: absolute;
    right: 0;
    top: 0;
}
.reviews > .rev-item .rev-item .rev-date{
    display: none !important;
}
.reviews > .rev-item .rev-item .inner .title{
    text-transform: none;
    margin-bottom: 0;
    color: #414141;
    font-size: 14px;
}
.reviews > .rev-item .rev-item .rev-text{
    margin-top: -10px;
}
.reviews > .rev-item .rev-item .comment-reply{
    display: none;
}

.comment-form-wrapper{
    position: relative;
    padding-bottom: 50px;
}
.ie .comment-form-wrapper{
    background-attachment: scroll;
}
.comment-form-wrapper .inner{
    position: relative;
    z-index: 10;
    width: 575px;
    max-width: 100%;
    margin: 0;
}
#comment-editor {
    width: 100% !important;
    display: block;
}
#ticketForm .form-actions, 
#comment-form .form-actions {
    padding-top: 0 !important;
    border-top: none !important;
}
.comment-form-wrapper .form-control{
    border: 1px solid #ccc;
    background: #fff;
}
.comment-form-wrapper textarea.form-control{
    height: 180px;
}
.comment-form-wrapper .form-control.error{
    border-color: #FF3324;
}
.comment-form-wrapper .form-control.error::-moz-placeholder{
    color: #EA1527;
}
.comment-form-wrapper .form-control.error:-ms-input-placeholder{
    color: #EA1527;
}
.comment-form-wrapper .form-control.error::-webkit-input-placeholder{
    color: #EA1527;
}
@media(max-width: 991px){
    .reviews .rev-date{
        position: static;
        display: inline-block;
        margin-bottom: 25px;
    }
}
/* /. REVIEWS */



/* pagination */
.pag-wrapper{
    width: max-content;
    margin: 0 auto;
    margin-top: 30px;
}
.pagination{
    display: inline-block;
    padding: 0;
    margin: 0;
}
.pagination li:first-of-type:before{
    content:"";
    display: block;
    width: 100%;
    height: 20px;
}
.pagination li:last-of-type:after{
    content:"";
    display: block;
    width: 100%;
}
.pagination li{
    display: inline-block;
}
.pagination li > span{
    cursor: default;
}
.pagination li > a,
.pagination li > span{
    position: relative;
    padding: 10px 15px;
    margin-left: -1px;
    line-height: 1.42857;
    color: rgb(98, 98, 98);
    text-decoration: none;
    background-color: rgb(255, 255, 255);
    border: 1px solid rgb(221, 221, 221);
    font-weight: 100;
    margin-bottom: 5px;
    margin-right: 5px;
    border-radius: 6px;
}
.pagination li:first-child > a,
.pagination li:first-child > span{
    margin-left: 0;
}
.pagination li > a:hover{
    background-color: #EEEEEE;
}
.pagination .active > a, 
.pagination .active > a:hover{
    background-color: var(--color-y);
    color: #fff;
    border-color: var(--color-y);
    cursor: default;
}
/* /. pagination */

/*  BRANDS */
.brands-section{
    padding: 15px 0 10px;
}
.brands-carousel{
    padding: 10px 0;
}
.logotype {
    padding: 0 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    cursor: pointer;
    box-shadow: 0px 3px 10px rgba(34, 34, 34, 0.1);
    border-radius: 8px;
}
.logotype:hover{    
    box-shadow: 0px 3px 10px rgba(34, 34, 34, 0.1);
    transform: translateY(-2px);
}
.logotype .inner{
    height: auto;
    overflow: hidden;
    background: #fff;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media(max-width: 480px){
    .logotype .inner{
        padding: 5px;    
    }
}
/* /. BRANDS */

/* AGREEMENT */
.agreement {
    position: relative;
    margin-bottom: 30px;
    color: #7c7f8c;
}
.agreement input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
}
.agreement label {
    padding-left: 25px;
    display: inline-block;
    position: relative;
    line-height: 1.2;
}
.agreement .si-error + label {
    color: #cf2929;
}
.agreement input+label:before {
    background: url(../images/check-empty.svg) 0 0 no-repeat;
    content: "";
    display: block;
    position: absolute;
    width: 17px;
    height: 17px;
    top: 1px;
    left: 0px;
    cursor: pointer;
}
.agreement input:checked+label:before {
    background: url(../images/checked.svg) 0 0 no-repeat;
}
.agreement input.error+label {
    color: red;
}
/* /. AGREEMENT */

/* ASIDE MENU */

.cat-right-blck{
    width: 100%;
}
.aside-menu{
    margin-bottom: 15px;
}
.aside-menu .down > ul {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out; /* Плавность анимации */
}
.aside-menu .down .dropdown-button.active + ul {
    max-height: none !important; /* или auto, в зависимости от вашей верстки */
    overflow: visible;
}
.aside-menu a {
    display: block;
    color: #00012a;
    padding: 7px 12px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    margin: 5px 0;
}
.aside-menu li:hover > a,
.aside-menu .open > a,
.aside-menu .active > a{
    color: #414141;
}
.aside-menu .active > ul{
    display: block;
}
.aside-menu > ul li{
    position: relative;
}
.aside-menu > ul .dropdown-button{
    height: 35px;
    width: 35px;
    display: block;
    z-index: 20;
    top: 0;
    right: 0;
    position: absolute;
    cursor: pointer;
}
.aside-menu > ul .dropdown-button:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -3px;
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #808080;
    border-right: 2px solid #808080;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.aside-menu > ul .dropdown-button.active:after{
    -moz-transform: rotate(225deg);
    -webkit-transform: rotate(225deg);
    -o-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    margin-top: -1px;
}
.aside-menu > ul ul .dropdown-button{
    height: 37px;
}
.aside-menu > ul ul .dropdown-button:after{
    top: 12px;
}
.aside-menu > ul ul .dropdown-button.active:after,
.aside-menu > ul ul .active > a + .dropdown-button:after,
.aside-menu > ul ul .open > a + .dropdown-button:after{
    top: 16px;
}

.aside-menu  ul ul a{
    padding: 12px 36px 10px 30px;
    font-weight: normal;
    font-size: 13px;
    position: relative;
}
.aside-menu  ul ul > li > a:before{
    content:"";
    display: block;
    position: absolute;
    width: 5px;
    height: 5px;
    top: 18px;
    left: 15px;
    background: #D5D5D5;
}
.aside-menu  ul ul ul a{
    padding: 8px 36px 8px 30px;
}
.aside-menu  ul ul ul a:before,
.aside-menu  ul ul ul ul a:before{
    display: none;
}
.aside-menu  ul ul ul ul a{
    padding: 8px 36px 8px 40px;
}
.aside-menu  ul ul ul ul ul a{
    padding: 8px 36px 8px 50px;
}
.aside-menu-title {
    font-size: 13px;
    font-weight: bold;
    color: #00012a;
    padding: 8px 12px;
    background: #f8f9fa;
    border: 1px solid #ededed;
    border-radius: 6px;
    margin-bottom: 10px;
}

.aside-menu-title:after{
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -3px;
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.active .aside-menu-title:after {
    transform: rotate(225deg);
    margin-top: -1px;
}

@media only screen and (max-width: 991px) {
    .aside-menu > ul{
        display: none;
    }
    .aside-menu.active > ul{
        display: block;
    }
    .aside{
        border-right: none;
    }
}
@media only screen and (min-width: 992px) {
    .cat-wrapper{
        display: flex;
        align-items: flex-start;
        gap: 20px;    
    }
    .cat-left-blck{
        width: 280px;
        min-width: 280px;
    }
    .aside-menu > ul > li.active > a,
    .aside-menu > ul > li:hover > a,
    .aside-menu ul ul > li:hover > a{
        border-radius: 6px;
        background: #F6F6F6;
    }
}    
/* /. ASIDE MENU */


.contacts-template .contacts-block > hr:last-of-type{
    display: none;
}
.contacts-block .element svg{
    width: 20px;
    color: var(--color-y);
    position: relative;
    bottom: -2px;
    margin-right: 3px;
}
.contacts-block .address-element svg{
    width: 16px;
    margin-right: 7px;
}
.contacts-block .email-element svg{
    margin-right: 7px;
    bottom: -4px;
}
.aside-gallery img{
    width: 100%;
    margin-bottom: 10px;
}
.article-img img{
    width: 100%;
}
.mini-logo{
    display: none;
    margin-top: auto;
    margin-bottom: auto;
}
/* .top-bar.fix-true.fixed .mini-logo{
    width: 40px;
} */
/*   MEDIA QUERIS */
@media(max-width: 991px) {
    .base-template .header{
        border-bottom: 1px solid #D5D5D5;
        margin-bottom: 40px;
    }
    .mini-logo{
        width: 37px;
        display: block;
    }
    .top-bar{
        display: flex;
        background: #fff;
        padding: 0;
    }
    .top-bar.fix-true{
        box-shadow: -1px 1px 5px 0px #00000038;
    }
}
@media(max-width: 1099px){
    .header-info {
        display: none;
    }
}
@media(min-width: 1100px) {
    .header-info{
        position: absolute;
        right: inherit;
        z-index: 10;
        top: 0;
        bottom: 0;
        left: 480px;
        font-size: 16px;
        display: flex;
        align-items: center;
        color: var(--color-b);
    }
}
@media(max-width: 767px){
    .logo {
        display: none;
    }
}
@media(min-width: 768px) {
    .logo {
        margin-bottom: 0;
    }
    .schedule,
    .header-address{
        padding: 0 0 5px 22px;
        font-size: 13px;
        color: rgb(38, 33, 33);
    }
    .schedule svg{
        top: 2px;
        width: 14px;
    }
    .header-address svg{
        top: 2px;
        width: 13px;
        height: 13px;
    }
    .header-tel{
        position: absolute;
        right: 0;
        top: 0;
        height: 100%;
        display: flex;
        align-items: center;
    }
}

@media (min-width: 992px){
    .top-bar .button{
        font-size: 13px;
        top: 2px;
        height: 37px;
        padding: 8px 16px 0;
    }
    .logo{
        margin: 0;
    }
    .top-bar-container{
        width: 100%;
        margin: 0 auto;
    }
    .mobile-menu{
        display: none;
    }
    .up-menu-block{
        display: flex;
        justify-content: space-between;
    }
    .top-menu.up-menu{
        width: max-content;
        margin-left: auto;
    }
    .top-menu.up-menu > ul > li.down > a:after{
        border-bottom: 1px solid #f8f8f8;
        border-right: 1px solid #f8f8f8;    
    }.top-menu.up-menu > ul > li > a{
        height: 30px;
        line-height: 30px;
        text-transform: none;    
    }
    .top-menu.up-menu > ul > li:last-child > a{
        padding-right: 0;
    }
    .top-menu.up-menu > ul > li:last-child:before{
        right: 0;
    }
    .top-menu.up-menu li span{
        color:#fff;
    }
    .top-menu.up-menu > ul > li:before{
        border-bottom: 1px solid #f8f8f8;
    }
    .top-menu{
        display: block !important;
        position: static;
        transform: translate3d(0 ,0, 10px);
    }
    .top-menu.up-menu > ul > li > a{
        padding: 0 13px;    
    }
    .top-menu > ul > li > a{
        text-decoration: none;
        color: #262121;
        height: 50px;
        line-height: 50px;
        display: inline-block;
        padding: 0 17px;
        -webkit-transition: all 200ms ease-out;
        -moz-transition: all 200ms ease-out;
        -o-transition: all 200ms ease-out;
        transition: all 200ms ease-out;
        position: relative;
        text-transform: uppercase;
        font-size: 13px;
        font-weight: 500;
        letter-spacing: 0.5px;
    }
    .top-menu > ul > li:before {
        border-bottom: 1px solid #414141;
        bottom: 3px;
        content: '';
        left: 17px;
        right: 17px;
        ms-transform: scale(0);
        position: absolute;
        transform: scale(0);
        transition: all .45s ease-in-out;
        webkit-transform: scale(0);
        webkit-transition: all .45s ease-in-out;
    }
    .up-menu > ul > li.active span{
        color: var(--color-y);
    }
    .top-menu > ul > li:hover:before{
        ms-transform: scale(1);
        transform: scale(1);
        webkit-transform: scale(1);
    }
    .top-menu > ul > li > a.catalog-link{
        background: #2e2e2e;
        color: #fff;
        padding-left: 50px;
        padding-right: 35px !important;
        width: 280px;
        border-radius: 8px 8px 0px 0px;
    }
    .top-menu > ul > li:hover > a.catalog-link{
        webkit-filter: brightness(110%);
        filter: brightness(110%);
        color: #fff;
    }
    .top-menu > ul > li.down > a.catalog-link:after{
        border-color: #fff !important;
    }
    .top-menu > ul > li.down:hover > a.catalog-link:after{
        border-color: #fff !important;
    }
    .index-template .top-menu a.catalog-link:after{
        display: none;
    }
    .top-menu a.catalog-link:before{
        content:"";
        position: absolute;
        width: 15px;
        height: 1px;
        left: 20px;
        top: 50%;
        background: #fff;
    }
    .top-menu a.catalog-link span{
        position: static;
    }
    .top-menu a.catalog-link span:before{
        content:"";
        position: absolute;
        width: 15px;
        height: 1px;
        left: 20px;
        top: calc(50% - 4px);
        background: #fff;
    }
    .top-menu a.catalog-link span:after{
        content:"";
        position: absolute;
        width: 15px;
        height: 1px;
        left: 20px;
        top: calc(50% + 4px);
        background: #fff;
    }
    .top-menu > ul > li{
        float: left;
        position: relative;
        z-index: 10;
    }
    .top-menu > ul > li:last-child{
        margin-right: 0;
    }
    .top-menu > ul > li.down a{
        padding-right: 30px;
    }
    .top-menu > ul > li.down > a:after {
        content: "";
        display: block;
        position: absolute;
        width: 6px;
        height: 6px;
        transform: rotate(45deg);
        border-bottom: 1px solid #000;
        border-right: 1px solid #000;
        right: 17px;
        top: 50%;
        margin-top: -4px;
    }
    .top-menu > ul > li > ul {
        position: absolute;
        width: 280px;
        top: 50px;
        left: 0;
        text-align: left;
        z-index: 300;
        visibility: hidden;
        opacity: 0;
        transition: all 200ms ease-out;
        padding: 5px 15px;
        background: #fff;
        border-radius: 0px 0px 8px 8px;
        box-shadow: 0 0 25px rgba(0,0,0,0.1);
    }
    .top-menu > ul > li > ul:before{
        content:"";
        position: absolute;
        left: 0;
        right: 0;
        top: -20px;
        height: 20px;
    }
    .top-menu > ul > li:hover > ul {
        visibility: visible;
        opacity: 1;
    }
    .top-menu.main-p > ul > li a.catalog-link + ul{
        display: block;
        visibility: visible;
        opacity: 1;
        top: 50px;
        height: 441px;
        min-height: 440px;
        padding: 0 15px;
        transition: none;
    }
    .index-catalog-menu-more-btn{
        position: absolute !important;
        bottom: 0;
        left: 15px;
        right: 15px;
        z-index: 100;
        display: block !important;
        font-weight: 500;
        padding: 10px 5px;
        font-size: 13px;
        cursor: pointer;
    }
    .index-catalog-menu-more-btn > span{
        float: right;
        font-size: 18px;
        position: relative;
        top: -4px;
    }
    .index-catalog-menu-more-btn:hover{
        color: var(--color-y);
    }
    .top-menu > ul ul li{
        position: relative;
    }
    .top-menu ul ul li > a{
        position: relative;
    }
    .top-menu ul ul li.down > a:after {
        content: "";
        display: block;
        position: absolute;
        width: 6px;
        height: 6px;
        top: 50%;
        right: 5px;
        transform: rotate(45deg);
        margin-top: -2px;
        border-top: 1px solid #32363e;
        border-right: 1px solid #32363e;
    }
    .top-menu > ul ul li > a {
        background: #ffffff;
        padding: 12px 15px 12px 5px;
        display: block;
        font-size: 13px;
        line-height: 18px;
        color: #32363e;
        text-decoration: none;
        position: relative;
        font-weight: 500;
    }
    .top-menu a span{
        position: relative;
        left: 0;
        z-index: 10;
        display: block;
    }
    .index-template .top-menu > ul > li a.catalog-link + ul > li > a{
        display: flex;
        align-items: center;
        height: 49px;
        overflow: hidden;
        padding: 11px 15px 13px 5px;
    }
    .top-menu > ul > li a.catalog-link + ul > li > .menu-icon + a{
        padding-left: 30px;
    }
    .top-menu > ul > li a.catalog-link + ul > li > .menu-icon{
        display: inline-block;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 50%;
        margin-top: -10px;
        left: 0;
        z-index: 2;
        background-repeat: no-repeat;
        background-position: 0 50%;
        background-size: contain;
    }
    .index-template .top-menu > ul > li a.catalog-link + ul > li{
        display: none;
    }
    .index-template .top-menu > ul > li a.catalog-link + ul > li:nth-of-type(1),
    .index-template .top-menu > ul > li a.catalog-link + ul > li:nth-of-type(2),
    .index-template .top-menu > ul > li a.catalog-link + ul > li:nth-of-type(3),
    .index-template .top-menu > ul > li a.catalog-link + ul > li:nth-of-type(4),
    .index-template .top-menu > ul > li a.catalog-link + ul > li:nth-of-type(5),
    .index-template .top-menu > ul > li a.catalog-link + ul > li:nth-of-type(6),
    .index-template .top-menu > ul > li a.catalog-link + ul > li:nth-of-type(7),
    .index-template .top-menu > ul > li a.catalog-link + ul > li:nth-of-type(8),
    .index-template .top-menu > ul > li a.catalog-link + ul > li:nth-of-type(9){
        display: block;
    }
    .index-template .top-menu > ul > li a.catalog-link + ul.open{
        height: auto;
        padding-bottom: 50px;
    }
    .index-template .top-menu > ul > li a.catalog-link + ul.open > li{
        display: block;
    }
    .top-menu ul ul span{
        -webkit-transition: all 200ms ease-out;
        -moz-transition: all 200ms ease-out;
        transition: all 200ms ease-out;
    }
    .top-menu > ul ul li:hover > a span{
        left: 10px;
    }
    .top-menu > ul ul li.active > a{
        color: var(--color-y);
    }
    .top-menu ul ul ul {
        position: absolute;
        top: 20px;
        left: 265px;
        width: 265px;
        visibility: hidden;
        opacity: 0;
        transition: all 200ms ease-out 0s;
        padding: 15px;
        box-shadow: 0 0 15px rgba(0,0,0,0.1);
        z-index: 100;
        border-radius: 8px;
        background: #fff;
    }
    .top-menu ul ul ul:after{
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: -15px;
        width: 15px;
    }
    .top-menu ul ul li:hover > ul {
        top: 0;
        visibility: visible;
        opacity: 1;
    }
    .schedule, 
    .header-address {
        padding: 0 0 0 30px;
        color: #262121;
        font-size: 16px;
    }
    .header-address{
        margin-bottom: 15px;
    }
    .header-address svg{
        width: 22px;
        height: 22px;
        color: var(--color-y);
        top: -1px;
    }
    .schedule svg {
        width: 22px;
        color: var(--color-y);
        top: -1px;
    }
    .contacts{
        padding-top: 45px;
        width: 330px;
    }
    .top-bar.fix-true.fixed{
        position: fixed;
        top: 0;
        left: 0;
        box-shadow: -1px 1px 5px 0px rgb(0 0 0 / 15%);
        background: rgb(255 255 255 / 70%);
        backdrop-filter: blur(10px);
        animation: slideDownMenu 0.3s forwards cubic-bezier(0.25, 1, 0.5, 1);
    }
}

@media(max-width: 1169px){
    .top-menu > ul > li > a{
        padding: 0 8px;
        font-size: 12px;
    }
}

@media (min-width: 1170px) {
    .top-bar-container{
        width: 1110px;
        margin: 0 auto;
    }
}

@media (min-width: 1400px) {
    .top-bar-container{
        width: 1340px;
    }
    .header-info{
        left: 570px;
    }
    .contacts-template .contacts-block{
        padding-right: 60px;
    }
}
.fotorama__thumb-border{
    border-color: var(--color-y) !important;
}

/* PRODUCT COUNT */
.product-count-element .element-counter .input-group{
    display: flex;
    gap: 5px;
}
.product-count-element .element-counter input{
    display: inline-block;
    width: 40px;
    height: 40px;
    float: left;
    margin: 0;
    border: 1px solid var(--color-y);
    border-radius: 8px;
    border-image: initial;
    text-align: center;
    padding-left: 5px;
    padding-right: 5px;
    font-weight: 500;
    font-size: 18px;
}
.product-count-element .element-counter button{
    display: inline-block;
    width: 40px;
    height: 40px;
    float: left;
    margin: 0;
    border: 1px solid var(--color-y);
    border-radius: 8px;
    font-size: 20px;
    font-family: arial;
    line-height: 34px;
    transition: all 200ms ease-out;
}
.product-count-element .element-counter button.btn-minus{
    line-height: 28px;
}
.product-count-element .element-counter button:hover{
    background: var(--color-y);
    color: #fff;
}
/* /. PRODUCT COUNT */

.product-price{
    font-size: 36px;
    color: #414141;
}

/* tabs */
.box{
    display: none;
}
.box.visible{
    display: block;
    width: var(--full-width);
    max-width: 100%;
}
ul.tabs {
    width: 100%;
}

ul.tabs li{
    display: table-cell;
    height: 40px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;
    color: #222222;
    background: #fff;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    position: relative;
    padding: 9px 15px;
    border-radius: 12px;
    background: #f8f8f8;
}
ul.tabs li.current,
ul.tabs li.current:hover{
    background: var(--color-y);
    color: #ffffff;
}
ul.tabs li:hover{
    background: #F6F6F6;
    border-color: #F6F6F6;        
}
ul.tabs li.current:after{
    content:"";
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: -2px;
    left: 0;
    background: #fff;
}
.mobile-tab-header{
    display: none;
}
.special-goods-wrapper{
    overflow: hidden;
}
.viewed-goods-wrapper,
.base-template .special-goods-wrapper{
    background: #F7F8FA;
}
.special-goods-wrapper ul.tabs{
    border-bottom: none;
}
.special-goods-wrapper ul.tabs li.current::after{
    display: none;
}
.special-goods-wrapper ul.tabs li:first-child {
    border-left: 1px solid #E7E7E7;
}
.special-goods-wrapper ul.tabs li.current, 
.special-goods-wrapper ul.tabs li.current:hover {
    background: var(--color-y);
    color: #ffffff;
}
@media only screen and (max-width: 767px){
    .mobile-tab-header{
        padding: 14px 40px 14px 14px;
        color: #ffffff;
        background: #2e2e2e;
        width: 100%;
        position: relative;
        display: block;
        font-weight: 500;
    }
    ul.tabs {
        display: flex !important;
        gap: 14px;
    }
    .mobile-tab-header:after{
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        margin-top: -10px;
        right: 24px;
        width: 12px;
        height: 12px;
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff;
        -moz-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-transition: all 200ms ease-out;
        -moz-transition: all 200ms ease-out;
        -o-transition: all 200ms ease-out;
        transition: all 200ms ease-out;
    }
    .mobile-tab-header.active:after {
        -moz-transform: rotate(225deg);
        -webkit-transform: rotate(225deg);
        -o-transform: rotate(225deg);
        -ms-transform: rotate(225deg);
        transform: rotate(225deg);
        margin-top: -4px;
    }
    ul.tabs li {
        padding: 15px;
        width: 100%;
        border-top: none;
        display: block;
        height: auto;
        text-transform: none;
        font-size: 15px;
    }
    .mobile-tab-header.active + ul.tabs{
        display: block;
        margin: 0 -1px 0;
        width: auto;
        box-shadow: 0 0 10px rgba(0,0,0,0.1);
    }
    .special-goods-wrapper ul.tabs li{
        border: none;
        border-bottom: 1px solid #eee;
    }
}
@media only screen and (max-width: 500px){
    ul.tabs li {
        padding: 10px;
        font-size: 13px;
    }
}
@media only screen and (min-width: 768px){
    .tabs.mobile{
        display: flex !important;
        gap: 14px;
    }
}
/* /. tabs */

/*cart */
#msOrder {
    margin-top: 20px !important;
}
.cart-body{
    margin: 10px 0 0;
}
.cart-body .element{
    background: #fff;
    padding: 15px;
    margin-bottom: 10px;
    border: 1px solid #EBEBEB;
    position: relative;
    border-radius: 8px;
}
.cart-body .element-counter{
    display: inline-block;
}
.cart-row-price{
    color: #414141;
}
.old_price + .cart-row-price{
    color: #CF2929;
}
.cart-body .element-price{
    display: inline-block;
}
.cart-body .element-delete {
    position: absolute;
    right: 5px;
    top: 5px;
    cursor: pointer;
    color: red;
    padding: 0;
    border: 0;
    background: transparent;
    z-index: 20;
}
.cart-body .element-delete span{
    display: block;
    width: 31px;
    height: 31px;
    cursor: pointer;
    z-index: 100;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.cart-body .element-delete span:after{
    width: 1px;
    top: 5px;
    bottom: 5px;
    left: 50%;
    content: "";
    display: block;
    position: absolute;
    background: #FF0000;
    margin-left: -1px;
    transition: all ease-out 300ms;
}
.cart-body .element-delete span:before{
    height: 1px;
    top: 50%;
    left: 5px;
    right: 5px;
    content: "";
    display: block;
    position: absolute;
    background: #FF0000;
    margin-top: -1px;
    transition: all ease-out 300ms;
}
.cart-body .element-delete span:hover:after,
.cart-body .element-delete span:hover:before{
    transform: rotate(180deg);
}
.cart-body .subelement2{
    display: flex;
    align-items: center;
}
.cart-body .subelement2 .text,
.cart-body .element .element-price,
.cart-body .element .element-counter{
    min-height: 100px;
    display: flex;
    align-items: center;
}
.cart-body .element .element-price{
    justify-content: center;
}
.cart-body .element .element-img-wrapper{
    padding: 2px;
    border: 1px solid #EBEBEB;
    margin-right: 15px;
}
.cart-body .element .element-img{
    width: 100px;
    height: 76px;
    transition: all 200ms ease-out;
    opacity: 1;
}
.cart-body .element a:hover .element-img{
    opacity: 0.8;
}
.cart-body .old_price {
    color: #979797 !important;
    margin-right: 10px;
}

@media only screen and (max-width: 767px) {
    .cart-body .element .element-img-wrapper{
        position:static;
        display: inline-block;
    }
    .cart-body .element .title-h4{
        margin-bottom: 0;    
    }
    .cart-body .subelement2 .text,
    .cart-body .element .element-price,
    .cart-body .element .element-counter{
        min-height: auto;
    }    
    .cart-body .subelement2 {
        padding-left: 0;
    }
    .cart-body .subelement2 .text,
    .cart-body .element .element-price,
    .cart-body .element .element-counter{
        height: auto;
    }
    .cart-body .subelement2 .text, .cart-body .element .element-price, .cart-body .element .element-counter{
        display: block;
    }
    .cart-body .title-h4{
        font-size: 14px;
    }
}

.order-trash-next{
    display: flex;
    align-items: center;
}
.trash-btn{
    height: 47px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    margin-bottom: 0;
    margin-right: 10px;
}
.trash-btn svg{
    width: 20px;
}
.order-next-btn{
    height: 47px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    margin-bottom: 0;
}
.order-next-btn svg{
    width: 21px;
    height: 24px;
    margin-left: 6px;
}
.order-wrapper{
    background: #fff;
    padding: 10px 0;
}
.order-wrapper .material-icons {
    vertical-align: middle;
    margin-top: -3px;
}
.order-wrapper h5{
    color: #414141;
    padding-left: 5px;
}
.order-wrapper #msOrder .error {
    border-color: #FF1A00 !important
}
.order-wrapper .agreement i{
    margin-top: 0;
    top: 3px;
}
.order-buttons{
    display: flex;
    align-items: center;
}
.prev-btn{
    display: flex;
    align-items: center;
}
.prev-btn svg{
    width: 21px;
    height: 24px;
    margin-right: 6px;
}
.button.ms2_link{
    height: 47px;
    display: flex;
    align-items: center;
    padding: 0 15px;
    margin-bottom: 0;
}
/* /. cart*/

.element-counter .form-control{
    display: inline-block;
    height: 30px;
    width: 40px;
    padding: 0 2px;
    text-align: center;
    color: #000;
    background: #F4F4F6;
    border: 1px solid #E5E5E5;
    margin-bottom: 0;
    border-radius: 6px;
}
.element-counter button {
    width: 30px;
    display: inline-block;
    padding: 0;
    vertical-align: top;
    background: transparent;
    font-size: 18px;
    height: 30px;
    line-height: 30px;
    border: 1px solid #e5e5e5;
    font-family: arial;
    border-radius: 6px;
}
.element-counter button:hover{
    color: var(--color-y);
}
.element-counter button[disabled]:hover{
    color: #1F1F1F;
}

.isa_success {
    border: 1px solid #414141;
    background-color: #fcf9f9;
    margin: 0 0 10px;
    padding: 15px;
}
.order-number{
    color: #414141;
}
.jgrowlHide #jGrowl{
    display: none !important;
}

.product-carousel-wrapper{
    width: calc(100% + 40px);
    overflow: hidden;
    padding-top: 80px;
    margin-top: -80px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: -20px;
    margin-right: -20px;
}

.brands-carousel-wrapper{
    width: calc(100% + 26px);
    overflow: hidden;
    padding-top: 80px;
    margin-top: -80px;
    padding-left: 13px;
    padding-right: 13px;
    margin-left: -13px;
    margin-right: -13px;
}
.products-carousel > div:first-of-type, .brands-carousel > div:first-of-type,
.products-carousel.slick-slider > div, .brands-carousel.slick-slider > div{
    display: block;
}

.products-carousel .slick-track, .brands-carousel .slick-track{
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.products-carousel .slick-slide, .brands-carousel .slick-slide {
    height: inherit;
}
.products-carousel .slick-slide > div, .brands-carousel .slick-slide > div,
.products-carousel .slick-slide > div > div, .brands-carousel .slick-slide > div > div,
.products-carousel .element, .brands-carousel .element{
    height: 100%;
}

/* Catalog header */
.catalog-header{
    margin-bottom: 30px;
}
/* Контейнер всего селектора */
.sort-dropdown-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
    user-select: none;
}

/* Стилизация вашей шапки */
.mse2_sort_header {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 12px;
    background: #f8f9fa;
    border: 1px solid #ededed;
    border-radius: 6px;
    font-size: 13px;
}

.mse2_sort_header_title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #1a1a1a;
}

/* Анимация стрелочки */
.mse2_sort_header .element_arrow svg {
    transition: transform 0.2s ease-in-out;
}

/* Состояние стрелочки при открытом списке */
.sort-dropdown-wrapper.is-open .element_arrow svg {
    transform: rotate(180deg);
}

/* Скрытый по умолчанию выпадающий блок */
.sort-dropdown-content {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 200px;
    background: #ffffff;
    border: 1px solid #ededed;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 6px 0;
    z-index: 100;
    
    /* Плавное проявление через CSS */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

/* Класс открытия, который будет добавлять JS */
.sort-dropdown-wrapper.is-open .sort-dropdown-content {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Ссылки внутри выпадающего списка */
.sort-dropdown-content a.sort {
    display: block;
    padding: 8px 16px;
    color: #4a4a4a;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.15s ease, color 0.15s ease;
}

.sort-dropdown-content a.sort:hover {
    background: #f5f5f7;
    color: #1a1a1a;
}

/* Выделение текущей активной сортировки */
.sort-dropdown-content a.sort.active {
    background: rgb(255 184 25 / 20%);
    color: var(--color-y);
    font-weight: 600;
}
/* Строка со сдвоенной сортировкой */
.sort-row-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 16px;
    gap: 12px;
}

.sort-row-label {
    font-size: 14px;
    color: #4a4a4a;
}

/* Группа кнопок-стрелок */
.sort-arrows-group {
    display: flex;
    gap: 4px;
}

/* Базовый стиль стрелочки */
a.sort-arrow-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: #f5f5f7;
    border: 1px solid #ededed;
    border-radius: 4px;
    color: #4a4a4a;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    transition: all 0.15s ease;
}

a.sort-arrow-btn:hover {
    background: rgb(255 184 25 / 20%);
    color: var(--color-y);
    border-color: #cbd5e1;
}

/* Активное состояние конкретной стрелочки */
a.sort-arrow-btn.active {
    background: var(--color-y);
    color: #ffffff;
    border-color: var(--color-y);
}

/* Подсветка всей строки, если выбрана сортировка по цене */
.sort-row-item.active-row .sort-row-label {
    color: var(--color-y);
    font-weight: 600;
}

.view-catalog-btns > span{
    display: inline-block;
    width: 38px;
    height: 38px;
    padding: 10px;
    border: 1px solid #e6e6e6;
    vertical-align: top;
    color: #414141;
    cursor: pointer;
    border-radius: 6px;
}
.view-catalog-btns > span:hover{
    background: #f8f9fa;
}
.view-catalog-btns > span.active{
    background: #f8f9fa;
    color: var(--color-y);
}

.main-image-wrapper{
    max-width: 530px;   
}
.main-image-wrapper img{
    border-radius: 8px;   
}
product-thumbnails-grid{
    max-width: 530px;    
}
.product-thumbnails-grid .thumb-trigger img{
    width: 80px; 
    height: 80px; 
    object-fit: contain; 
    border-radius: 8px; 
    cursor: pointer;
    border: 2px solid #ddd;
    transition: border-color 0.2s ease, opacity 0.2s ease;
    opacity: 0.7;
}
/* Эффект при наведении */
.product-thumbnails-grid .thumb-trigger:hover img{
    opacity: 1;
    border-color: #999;
}
.product-thumbnails-grid .thumb-trigger.active img{
    opacity: 1;
    border: 2px solid var(--color-y); 
}


.product-article{
    font-weight: 500;
}
.product-article span{
    color: #414141;
}
.product-info .product-old-price{
    color: #808080;
    margin-right: 20px;
}
.product-info .product-old-price + .product-price{
    color: rgb(207 41 41);
}
.product-info{
    padding-left: 20px;
}
.one-click {
    padding: 10px 20px 20px;    
}
.application-link{
    text-decoration: none;
    border-bottom: 1px dashed;
    position: relative;
    z-index: 20;
    color: var(--color-b);
}
.application-link:hover{
    border-bottom: transparent;
}
@media (max-width: 991px){
    .product-info{
        padding-left: 10px;
    }
}
@media (max-width: 767px){
    .product-carousel-wrapper{
        margin-top: 0;
        padding-top: 0;
    }
    .product-info{
        padding-left: 0;
    }
}
@media (max-width: 1130px){
    .col-xs-6 .product-tags div{
        padding: 6px 3px 5px;
        text-transform: none;
    }
}
@media (max-width: 366px){
    .catalog > .row > .col-xs-6,
    .row > .col-xs-6{
        width: 100%;
    }
}

/* /. Catalog header */

.ajax-catalog > .row{
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.ajax-catalog > .row > div{
    margin-bottom: 20px;
}
@media(min-width: 768px){
    .ajax-catalog > .row.viewlist > div[class^="col-"]{
        width: 100%;
    }
    .ajax-catalog > .row.viewlist .element{
        padding-left: 240px;
        min-height: 200px;
    }
    .ajax-catalog > .row.viewlist .element .img-wrapper{
        width: 200px;
        height: 200px;
        position: absolute;
        left: 0;
        top: 0;
    }
    .ajax-catalog > .row.viewlist .element .element-content{
        padding: 20px 20px 0px 20px;
    }
    .ajax-catalog > .row.viewlist .element .price{
        font-size: 22px;
    }
    .ajax-catalog > .row.viewlist .element .old-price{
        font-size: 16px;
    }
    .ajax-catalog > .row.viewlist .min{
        display: flex;
    }
    .ajax-catalog > .row.viewlist .element .t-left,
    .ajax-catalog > .row.viewlist .element .t-right{
        width: 50%;
    }
}

.catalog > .row.products-carousel{
    display: block;
}
.new-carousel .product-tag-popular,
.new-carousel .product-tag-sale{
    display: none;
}
.popular-carousel .product-tag-new,
.popular-carousel .product-tag-sale{
    display: none;
}
.sale-carousel .product-tag-new,
.sale-carousel .product-tag-popular{
    display: none;
}
.catalog .element {
    position: relative;
    border: 1px solid #ededed;
    background: #fff;
    border-radius: 12px;
    margin: 0 auto;
    height: 100%;
    transition: box-shadow ease .3s,border ease .3s,background ease .3s;
}

.catalog .element .element-content {
    padding: 0 20px;
}
.catalog .element:hover{
    border-color: #fff;
    box-shadow: 0 5px 20px rgba(34,34,34,.07);
}
.catalog .element .img-wrapper {
    overflow: hidden;
    position: relative;
    text-align: center;
    padding: 45px 16px 16px 16px;
}
@media(max-width: 480px){
    .catalog .element .title-h6{
        font-size: 13px;
    }
    .one-click{
        padding: 10px 10px 20px;
    }
    .catalog .element .img-wrapper {
        padding: 45px 5px 16px 5px;    
    }
    .catalog .element .element-content{
        padding: 0 5px;
    }
}
.catalog .element .element-article{
    z-index: 4;
    bottom: 0;
    left: 0;
    right: 0;
    color: #a6a6a6;
    font-weight: 500;
    margin-bottom: 10px;
}
.catalog .title-h5 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
    padding-right: 40px;
    color: #F9D118;
    margin-bottom: 0;
}
.catalog .element .img-wrapper img {
    width: 100%;
    height: auto !important;
}
.catalog .element .old-price{
    height: 14px;
    line-height: 14px;
    text-decoration: line-through;
    font-size: 15px;
    color: #808080;
    font-weight: 500;
}
.catalog .element .price{
    font-weight: 700;
    font-size: 19px;
    color: var(--color-b);
}
.catalog .element .old-price + .price{
    color: #CF2929;
}
.catalog .element .to-cart{
    display: inline-block;
    height: 36px;
    text-align: center;
    background: var(--color-y);
    font-size: 16px;
    color: #ffffff;
    margin: 0;
    padding: 4px 14px 4px 14px;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    position: relative;
    z-index: 20;
    border: 1px solid #e6e6e6;
    border-radius: 8px;
}
.catalog .element .button{
    position: relative;
    z-index: 40;
}
.catalog .element .to-cart svg{
    height: 20px;
    position: relative;
    bottom: -2px;
}
.catalog .element .to-cart:hover{
    border-color: var(--color-y);
}
.catalog .element a[href="#application"]{
    position: relative;
    z-index: 20;
    margin-bottom: 0;
}
.catalog .element .title-h6{
    font-weight: bold;
    height: 57px;
    overflow: hidden;
    margin-bottom: 10px;
}
.catalog .element .text{
    height: 48px;
    overflow: hidden;
    margin-bottom: 10px;
}
.catalog .element .msfavorites{
    position: relative;
    z-index: 30;
    text-decoration: none;
    width: 36px;
    height: 36px;
    text-align: center;
    display: inline-block;
    cursor: pointer;
    vertical-align: top;
    line-height: 36px;
    padding-top: 5px;
}
.catalog .element .msfavorites svg{
    height: 18px;
    transition: opacity 0.3s ease, color 0.3s ease;
    opacity: .35;
}
.catalog .element .msfavorites:hover svg{
    fill: var(--color-y);
    opacity: 1;
}
.catalog .element .msfavorites.voted svg{
    color: var(--color-y);
    cursor: pointer;
}
.catalog .element .msfavorites .msfavorites-active{
    display: none;
}
.catalog .element .msfavorites.voted .msfavorites-active{
    display: inline-block;
}
.catalog .element .msfavorites.voted .msfavorites-noneactive{
    display: none;
}

.product-tags{
    position: absolute;
    top: 10px;
    left: 15px;
    z-index: 5;
    text-align: left;
    display: flex;
    gap: 8px;;
}
.product-tags div{
    margin: 0 0 5px;
    padding: 6px 6px 5px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
    border-radius: .5rem;
}
.product-tags .product-tag-new{
    background: rgb(76 175 80 / 10%);
    color: rgb(76 175 80);
}
.product-tags .product-tag-popular{
    background: rgb(255 184 25 / 20%);
    color: rgb(253 152 0);
}
.product-tags .product-tag-sale{
    background: rgb(235 15 15 / 10%);
    color: rgb(207 41 41);
}
.index-template .products-carousel{
    margin-bottom: 30px;
}

/* Даём возможность тени выходить за пределы */
.splide__track {
    overflow: visible;
}
.product-detail .product-tags{
    position: relative;
    top: 0;
    left: 0;
}
.product-gallery #msGallery img{
    width: 100%;
}
/* Делаем обертку ссылки относительной */
#main-gallery-link {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

/* Настройки круглого темного блока */
.gallery-zoom-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    width: 54px;
    height: 54px;
    background-color: rgba(0, 0, 0, 0.45); /* Полупрозрачный черный фон */
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 10;
    
    /* Центрируем SVG внутри круга с помощью flexbox */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Стилизация самой иконки SVG внутри круга */
.gallery-zoom-icon svg {
    width: 24px;
    height: 24px;
    color: #ffffff; /* Белый цвет линий лупы */
    opacity: 0.7;
}

/* Эффект плавного появления при наведении */
#main-gallery-link:hover .gallery-zoom-icon {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* Легкое притемнение картинки товара для контраста */
#main-gallery-link:hover #main-gallery-img {
    filter: brightness(0.9);
    transition: filter 0.25s ease;
}

/* PRODUCT PAGE - FAVORITES */
.fav-block{
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 60px;
}
.btn-block{
    height: 40px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    min-width: 300px;
}
.fav-block .wrp-svg{
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-block button{
    margin: 0;
    min-width: 200px;
}
@media (max-width: 992px){
    .fav-block button{
        min-width: auto;
    }
    .fav-block{
        gap: 20px;    
    }
}
.favorites-btn-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 8px;
    border: none;
    box-shadow: 0px 5px 20px rgba(34, 34, 34, 0.1);
    width: 70px;
    height: 100%;
}
.product-detail .msfavorites{
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    color: var(--color-g);
}
.product-detail .msfavorites svg{
    width: 28px;
    height: 28px;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    position: relative;
    opacity: 0.6;
}
.product-detail .msfavorites:hover{
    color: var(--color-y);
}
.product-detail .msfavorites.voted svg{
    color: var(--color-y);
    cursor: pointer;
    opacity: 1;
}
.product-detail .msfavorites .msfavorites-active{
    display: none;
}
.product-detail .msfavorites.voted .msfavorites-active{
    display: inline-block;
}
.product-detail .msfavorites.voted .msfavorites-noneactive{
    display: none;
}
/* PRODUCT PAGE - FAVORITES */

.product-detail .boxes{
    border-top: 1px solid #D5D5D5;
    padding-top: 10px;
}

/* News */
.news > .row{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.news > .row > div{
    margin-bottom: 40px;
}
.news .item{
    height: 100%;
    padding-bottom: 65px;
    position: relative;
}
.news .item-img{
    height: 300px;
    position: relative;
    margin-bottom: 15px;
    background-size: cover;
}
.news .item-img-inner{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.news .item-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
.news .item-img:after{
    content:"";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.3);
    transition: all 1s linear;
    border-radius: 8px;
}
.news .item:hover .item-img:after{
    background: var(--color-y);
    opacity: 0.4;
}
.news .item-date{
    font-weight: bold;
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 3;
    color: #fff;
}
.news .item .day{
    font-size: 36px;
}
.news .item-title{
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    transition: all 300ms ease-out;
}
.news .item-btn{
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 10;
    color: #2e2e2e;
    height: 40px;
    padding: 0 35px 0;
    line-height: 36px;
    border: none;
    text-decoration: none;
    background: #fff;
    transition: all 200ms ease-out;
    border-radius: 8px;
    box-shadow: 0px 5px 20px rgba(34, 34, 34, 0.1);
}
.news .item-btn span{
    position: relative;
    z-index: 10;
}
.news .item:hover .item-title{
    color: #2e2e2e;
}
.news .item-btn:hover{
    color: var(--color-y);
}
.page-date{
    font-weight: bold;
    margin-bottom: 30px;
}
.page-date .inner{
    display: inline-block;
    background: #2e2e2e;
    color: #fff;
    padding: 10px;
}
.article-img .page-date{
    position: absolute;
    top: 20px;
    left: 0;
}
.page-date .day{
    font-size: 32px;
}
@media(max-width: 991px){
    .news .item-img{
        height: 30vw;
    }
}
@media(max-width: 767px){
    .news .item-img{
        height: 40vw;
    }
    .news .item-date{
        top: 5%;
        left: 5%;
    }
    .news > .row > div{
        margin-bottom: 0;
    }
    .news .item .day{
        font-size: 6vw;
    }
    .index-template .news > .row > div:nth-of-type(3){
        display: none;
    }
}
@media (max-width: 600px){
    .news .item-title {
        font-size: 3vw;
    }
    .news .item{
        padding-bottom: 0;
    }
    .news .item-btn{
        display: none;
    }
    .page-date .day{
        font-size: 22px;
    }
    .page-date .inner {
        padding: 5px;
        font-size: 10px;
    }
}
@media (max-width: 500px){
    .news .item-title {
        font-size: 4vw;
    }
}
/* /. News */

.aside-news .element{
    margin-bottom: 30px;
}
.aside-news .element .date{
    margin-bottom: 5px;
    color: #8A8A8A;
}
.aside-news .element .title a{
    text-decoration: none;
    color: #2C2C2C;
}
.gallery .element {
    margin-bottom: 10px;
    overflow: hidden;
}
.gallery > .row > hr:nth-of-type(2n){
    clear: both;
}

.gallery .img-wrapper > a span{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    background: url(../images/zoom.png) 50% 50% no-repeat;
    background-size: 50px 50px;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.gallery .img-wrapper > a:after{
    background: rgba(0, 0, 0, 0.2);
    content: "";
    position: absolute;
    left: 0;
    bottom: 50%;
    right: 0;
    top: 50%;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.gallery .img-wrapper > a:before {
    background: rgba(0, 0, 0, 0.2);
    bottom: 0;
    content: "";
    position: absolute;
    right: 50%;
    left: 50%;
    top: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.gallery .img-wrapper > a:hover:after{
    top: 0;
    bottom: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    opacity: 1;
    filter: alpha(opacity=100);
}
.gallery .img-wrapper > a:hover:before {
    left: 0;
    right: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    opacity: 1;
    filter: alpha(opacity=100);
}
.gallery .img-wrapper > a:hover span{
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
}

@media (min-width: 992px) {
    .gallery > .row > hr:nth-of-type(2n){
        clear: none;
    }
    .gallery > .row > hr:nth-of-type(3n){
        clear: both;
    }
    .aside-news{
        padding-left: 15px;
    }
}
/* Video */
.video-list .element{
    margin-bottom: 20px;
    background: #fff;
    width: 900px;
    max-width: 100%;
}
.video-list .element .element-img{
    height: 420px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}
@media only screen and (max-width: 1289px) {
    .video-list .element .element-img{
        height: 34vw;
    }
}
@media only screen and (max-width: 991px) {
    .video-list .element .element-img{
        height: 46vw;
    }
}
@media only screen and (max-width: 767px) {
    .video-list .element .element-img{
        height: 60vw;
    }
}
.video-list .element .play-block{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.video-list .element .play-block > span {
    display: inline-block;
    padding: 8px;
    border-radius: 100%;
    background: rgba(255,255,255,0.1);
}
.video-list .element .play-block span span{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border: 2px solid #fff;
    border-radius: 100%;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
}
.video-list .element .play-block svg{
    width: 21px;
    height: 24px;
    color: #fff;
    position: relative;
    right: -3px;
    bottom: -1px;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
}
.video-list .element .play-block:hover span span{
    border-color: #FF121A;
}
.video-list .element .play-block:hover svg{
    color: #FF121A;
}
.video-list .element .element-content{
    padding: 25px 0;
}

.video-list .element .element-content .title{
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 3px;
}
.video-list .element .element-content .text{
    font-size: 15px;
    margin-bottom: 10px;
}
/* /. Video */

.breadcrumb {
    margin: -10px 0 30px;
    padding: 0 0;
    list-style: none;
    display: flex;
    overflow: auto;
}
.breadcrumb > li {
    display: inline-block;
    font-size: 12px;
    padding: 0 15px;
    position: relative;
    margin-right: 19px;
    background: #f1f5f5;
    height: 28px;
    line-height: 28px;
    color: #000;
    white-space: nowrap;
}
.breadcrumb svg {
    width: 16px;
    position: relative;
    bottom: -3px;
    fill: var(--color-y);
}
.breadcrumb > li a {
    color: var(--color-y);
    text-decoration: none;
}
.breadcrumb > li a:hover{
    color: #000;
}
.breadcrumb > li:after {
    position: absolute;
    content: '';
    display: block;
    top: 4px;
    right: -10px;
    width: 20px;
    height: 20px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background: #f1f5f5;
}
.breadcrumb > li:before{
    position: absolute;
    content: '';
    left: -15px;
    bottom: 0;
    border: 14px solid #f1f5f5;
    border-left: 14px solid transparent;
}
.breadcrumb>li+li:before {
    color: #ccc;
}
.breadcrumb > li:first-of-type:before{
    display: none;
}

.top-slider-wrapper{
    padding: 0px 0 90px 0;
    overflow: hidden;
}
.top-slider{
    box-shadow: 0 0 25px rgba(0,0,0,0.1);
}
.top-slider > div:first-of-type,
.top-slider.slick-slider > div{
    display: block;
}
.top-slider .slick-slide > div{
    height: 400px;
}
.top-slider .item .inner{
    height: 400px;
    overflow: hidden;
}
.top-slider .item-img{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #f5f5f5;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}
.top-slider .item-img img{
    width: 100%;
    height: 100%;
    object-fit:cover;
    border-radius: 8px;
}
.top-slider .element-content-wrapper{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.top-slider .element-content{
    position: relative;
    display: inline;
    text-shadow: 0px 10px 17px rgba(0, 0, 0, 0.15);
}
.top-slider .element-content .button{
    margin-bottom: 0;
}
.top-slider .element-content.light{
    color: #fff;
}
.top-slider .element-content.dark{
    color: #414141;
}
.top-slider .item-title {
    font-size: 23px;
    margin-bottom: 30px;
    text-transform: uppercase;
}
.top-slider .item-description{
    margin-bottom: 25px;
    font-size: 16px;
}
.top-slider .item-description ul{
    list-style: circle;
    list-style-position: inside;
} 
.top-slider .splide__arrow--prev,
.top-slider .splide__arrow--next{
    position: absolute;
    display: block;
    width: 40px;
    height: 40px;
    text-align: center;
    top: 50%;
    margin-top: -20px;
    z-index: 20;
    opacity: 0.8;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    background: #fff;
}
.top-slider:hover .splide__arrow--prev,
.top-slider:hover .splide__arrow--next{
    opacity: 1;
}
.top-slider .splide__arrow--prev{
    left: 7px;
}
.top-slider .splide__arrow--next{
    right: 7px;
}
.top-slider .splide__arrow--prev:hover:after, 
.top-slider .splide__arrow--next:hover:after{
    border-color: var(--color-y);
}
.top-slider .s-wrapper{
    margin: 30px 50px;
    width: 300px;
    height: auto;
}
.top-slider .item .button{
    background: var(--color-y);
    color: #333;
    text-shadow: none;
}
.top-slider .item .button:hover{
    color: #fff;
    border-color: var(--color-y);
}
.top-slider .slick-dots {
    margin-bottom: 0;
    position: absolute;
    bottom: -55px;
}
.container-slider .row > .col-md-3{
    width: 300px;
}
.container-slider .row > .col-md-9{
    width: calc(100% - 300px);
}
@media(max-width: 1100px){
    .top-slider-wrapper{
        padding-bottom: 60px;
    }
}
@media(max-width: 991px){
    .top-slider .s-wrapper{
        width: 200px;
    }
    .top-slider .item .inner{
        height: 40vw;
    }
    .top-slider .item-title{
        font-size: 18px;
    }
    .top-slider .element-content{
        padding: 0 50px;
    }
    .container-slider .row > .col-md-9{
        width: 100%;
    }
}
@media(max-width: 767px){
    .top-slider-wrapper{
        padding-bottom: 40px;
    }    
    .top-slider .s-wrapper{
        margin: 30px;
        width: 150px;
    }
    .top-slider .slick-slide > div{
        height: 44vw;
    }
    .top-slider .item .inner{
        height: 44vw;
    }
    .top-slider .element-content{
        padding: 0 4%;
    }
    .top-slider .item-title{
        font-size: 2.2vw;
        font-weight: bold;
    }
    .top-slider .item-description{
        font-size: 1.8vw;
        display: none;
    }
    .top-slider .item .button{
        border: none;
        font-size: 1.8vw;
        margin: 0;
        padding: 8px 12px;
    }
}
@media(max-width: 480px){
    .top-slider .s-wrapper{
        margin: 20px;
        width: 90px;
    }
}
/* vantages */
.vantages-section{
    position: relative;
    padding: 60px 0;
}
.top-slider-wrapper + .vantages-section{
    padding: 0 0 70px;
    margin-top: -55px;
}
.vantages{
    padding: 30px 0 0 30px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0px 5px 20px rgba(34, 34, 34, 0.07);
}
.vantages > .row{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
}
.vantages > .row > div{
    margin-bottom: 30px;
}
.vantages .element{
    padding: 0 30px 0 60px;
    height: 100%;
    position: relative;
    width: max-content;
    margin: 0 auto;
}
.vantages .element .img-wrapper{
    position: absolute;
    width: 45px;
    top: -1px;
    left: 0;
}
.vantages .img-wrapper img{
    max-width: 100%;
    opacity: 0.8;
}
.vantages .img-wrapper img[src$=".svg"]{
    width: 45px;
    height: 45px;
}
.vantages .element .title{
    font-weight: 500;
    margin-bottom: 5px;
    font-size: 16px;
}
.vantages .element .text{
    font-size: 13px;
}
.special-goods-wrapper{
    background-color: #fff;
    
}
@media(max-width: 1400px) and (min-width:992px){
    .vantages{
        padding: 15px 0 0 10px;
    }
    .vantages > .row > div{
        margin-bottom: 15px;
    }
    .vantages .element{
        padding: 0 0 0 50px;
    }
    .vantages .element .title{
        font-weight: 500;
        font-size: 14px;
    }
    .vantages .element .text{
        font-size: 12px;
    }
}
@media(max-width: 991px){
    .vantages .element{
        width: auto;
    }    
}
@media(max-width: 767px){
    .top-slider-wrapper + .vantages-section{
        margin-top: -40px;
    }
    .vantages > .row{
        display: block;
    }
}
@media(max-width: 1100px){
    .vantages-section{
        display: none;
    }    
}
/* /. vantages */

/* Включаем Flexbox для родительского ряда только на ПК */
@media (min-width: 768px) {
  .equal-height-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  
  /* Заставляем левую и правую колонки растягиваться */
  .main-card-wrapper,
  .sub-cards-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  /* Левая большая карточка занимает 100% высоты */
  .main-card {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 100%;
  }

  /* Правые подблоки делят высоту пополам с учетом отступа между ними */
  .sub-cards-wrapper {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  
  .sub-card {
    height: calc(50% - 10px); /* 10px — половина отступа между правыми блоками */
  }
}

/* Стили для картинок, чтобы они правильно заполняли блоки без деформации */
.main-card, .sub-card {
  position: relative;
  overflow: hidden;
}

.main-card img, .sub-card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover; /* Картинка заполняет блок, лишнее обрезается */
  border-radius: 8px;
}

/* Небольшой отступ снизу для мобильной версии, когда блоки встают в ряд */
@media (max-width: 767px) {
  .main-card-wrapper,
  .sub-card {
    margin-bottom: 20px; 
  }
}

@media(max-width: 1279px){
    .banner-carousel{
        margin-bottom: 1.45vw;
    }
}
@media(max-width: 1229px){
    .banner-carousel{
        margin-bottom: 1.5vw;
    }
}
@media(max-width: 1189px){
    .banner-carousel{
        margin-bottom: 1.55vw;
    }
}
@media(max-width: 1149px){
    .banner-carousel{
        margin-bottom: 1.6vw;
    }
}
@media(max-width: 991px){
    .banner-carousel{
        margin-bottom: 20px;
    }
}

.middle{
    min-height: 300px;
}
@media(min-width: 992px){
    .services-template .main-column{
        padding-left: 20px;
    }
}


.catalog-type2 .element{
    border: 1px solid #E6E6E6;
    border-left: none;
}
.catalog-type2 .row > div > div:first-of-type{
    border-bottom: none;
}
.catalog-type2 .recommended-carousel.slick-slider .slick-slide > div > div > div:first-of-type,
.catalog-type2 .slick-slide > div:first-of-type{
    border-bottom: none;
}
.catalog-type2 .element-inner{
    height: 160px;
    position: relative;
    background: #fff;
    padding: 20px 20px 20px 160px;
    
}
.catalog-type2 > .row > div:nth-of-type(1) > .element,
.catalog-type2 .row.slick-slider .slick-track > div:nth-of-type(1) .element{
    border-left: 1px solid #E6E6E6;
}
.catalog-type2 .element-inner .element-content{
    height: 100%;
}
.catalog-type2 .element-inner .img-wrapper{
    width: 127px;
    height: 96px;
    position: absolute;
    left: 20px;
    top: 50%;
    margin-top: -48px;
}
.recommended-carousel > div{
    display: none;
}
.recommended-carousel > div:first-of-type,
.recommended-carousel.slick-slider > div{
    display: block;
}
.row.no-padding.recommended-carousel.slick-slider div[class^="col-"]{
    padding-left: 0;
    padding-right: 0;
    display: block !important;
}
.recommended-carousel .slick-list{
    padding: 0 1px;
}


.recommended-carousel .slick-prev, 
.recommended-carousel .slick-next{
    display: block;
    width: 40px;
    height: 50px;
    border: 1px solid #E7E7E7;
    color: #2E2E2E;
    background: #fff;
    position: absolute;
    z-index: 50;
    text-align: center;
    cursor: pointer;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
}
.recommended-carousel .slick-prev{
    top: -80px;
    margin: 0;
    right: 48px;
}
.recommended-carousel .slick-next{
    top: -80px;
    margin: 0;
    right: 0;
}
.recommended-carousel .slick-prev .material-icons,
.recommended-carousel .slick-next .material-icons{
    line-height: 50px;
}
.recommended-carousel .slick-prev:hover,
.recommended-carousel .slick-next:hover{
    background: #F6F6F6;
}
.catalog-type2 .element .element-article{
    text-transform: uppercase;
    color: #999999;
    margin-bottom: 10px;
    font-size: 13px;
}
.catalog-type2 .element .title{
    font-weight: bold;
    margin-bottom: 10px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.catalog-type2 .element .old-price{
    color: #9b9b9b;
    text-decoration: line-through;
    margin-right: 2px;
    font-size: 13px;
}
.catalog-type2 .element .old-price + .price{
    color: #cf2929;
}

.catalog-type2 .element a.absolute:before {
    background: rgba(0, 0, 0, 0.01);
    bottom: 0;
    content: "";
    position: absolute;
    right: 50%;
    left: 50%;
    top: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.catalog-type2 .element a.absolute:after{
    background: rgba(0, 0, 0, 0.01);
    content: "";
    position: absolute;
    left: 0;
    bottom: 50%;
    right: 0;
    top: 50%;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.catalog-type2 .element:hover a.absolute:before {
    left: 0;
    right: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    opacity: 1;
    filter: alpha(opacity=100);
}
.catalog-type2 .element:hover a.absolute:after{
    top: 0;
    bottom: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    opacity: 1;
    filter: alpha(opacity=100);
}
.catalog-type2 .element:hover .title{
    color: var(--color-y);
}

@media (max-width: 767px){
    .recommended-carousel-wrapper{
        padding-top: 80px;
    }
    .recommended-carousel .slick-prev{
        top: -80px;
        left: 0;
        right: auto;
    }
    .recommended-carousel .slick-next{
        top: -80px;
        left: 48px;
        right: auto;
    }
}

/* about */
.about-wrapper{
    display: flex;
    align-items: flex-start;
    gap: 20px;        
}
.flex-centr {
    display: flex;
    align-items: center;
}
.flex {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
.text-column{
    width: calc(60% - 20px);
}
.image-column{
    width: calc(40% - 20px);
    top: 60px;
    position: sticky;
}
.index-about-img img{
    width: 100%;
    border-radius: 8px;
    position: relative;
}
.about-section .container{
    position: relative;
}
.about-section .content{
    padding-right: 90px;
    margin-bottom: 0px;
}
.about-section .button{
    margin-bottom: 0px;
}
@media(max-width: 767px){
    .text-column{
        width: auto;
        margin-top: 20px;
    }
    .about-wrapper{
        flex-direction: column;        
    }
    .image-column{
       top: 30px;
       position: relative;
       order: -1;
       width: auto;
    }    
}
/* /. about */

/* Контейнер селектора */
.custom-select-container {
    position: absolute;
    left: 2px;
    z-index: 10;
    user-select: none;
    padding: 4px;
}

/* Внешний вид кнопки-триггера */
.custom-select-trigger {
    font-size: 14px;
    color: #333;
    cursor: pointer;
    padding: 5px 25px 5px 8px;
    background: #f5f5f5;
    border-radius: 8px;
    transition: background 0.2s;
}
.custom-select-trigger:hover {
    background: #e9e9e9;
}
/* Рисуем стрелочку */
.custom-select-trigger::after {
    content: '';
    position: absolute;
    right: 14px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-right: 2px solid #666; /* Цвет стрелочки */
    border-bottom: 2px solid #666;
    transform: translateY(-60%) rotate(45deg); /* Поворачиваем, чтобы получился уголок */
    transition: transform 0.2s ease; /* Плавный поворот */
}

/* Поворачиваем стрелку вверх, когда список открыт */
.custom-select-container.is-open .custom-select-trigger::after {
    transform: translateY(-30%) rotate(-135deg);
}
/* Окошко с опциями (Изначально скрыто) */
.custom-select-options {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    min-width: 120px;
    background: #ffffff;
    border-radius: 8px; /* Радиус скругления */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15); /* Мягкая тень вместо рамок */
    display: none; /* Прячем */
    overflow: hidden;
}

/* Класс для показа окошка */
.custom-select-container.is-open .custom-select-options {
    display: block;
}

/* Стили самих пунктов */
.custom-option {
    padding: 10px 14px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: background 0.2s;
}
.custom-option:hover {
    background: #f0f2f5; /* Цвет фона при наведении */
}
.search-button{
    position: absolute;
    top: 0px;
    right: 0;
    bottom: 0;  
}
.search-button button{
    border: none;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 80px;
    background: #2e2e2e;
    color: #fff;
    border-radius: 8px;   
}
.search-button button svg{
    height: 26px;
    transition: color 0.3s ease;
}
.search-button button:hover svg{
    color: var(--color-y);
}
@media(max-width: 1156px){
    .about-section .content{
        padding-right: 60px;
    }
}
.flex0{
    display: flex;   
}
.header-social{
    display: flex;
    gap: 10px;
}
.header-social .social-links{
    margin-bottom: 0;
}
@media(max-width: 767px){
    .index-about-img-wrapper {
        text-align: center;
    }
    .about-section{
        background-image: none;
    }
    .dots-bg, .dots-bg-2 {

        margin-top: -270px;
    }
    .about-section .content {
        padding-top: 20px;
        padding-right: 0;
    }
    .header-search input[type="text"] {
        border: 1px solid #b2b2b2;
        color: #414141;
    }
    .header .social-links a {
        color: #000;

    }
}
/* /. header search */



.props_list {
    width: 100%;
    margin: 0 0 0;
    color: #555;
}
table.props_list {
    border: 0;
    table-layout: fixed;
    border-collapse: collapse;
}
.char_block td {
    text-align: right;
    padding: 5px 0 5px 10px;
}
.props_list td {
    position: relative;
    vertical-align: top;
    background: url(../images/dott.png) repeat-x;
    background-position: left 0 bottom 9px;
    width: 50%;
}
.props_list tr td:first-child {
    text-align: left;
    padding-right: 10px;
    padding-left: 0;
}
.props_list .props_item {
    overflow: hidden;
    text-overflow: ellipsis;
}
.props_list .props_item span {
    background: #fff;
    padding-right: 10px;
}
.nbg.props_list td.char_value {
    text-align: left;
    background: 0 0;
    font-weight: 500;
}

@media (max-width: 767px) {
    .char_block .props_list table,
    .char_block .props_list tr{
        display: block !important;
        background: #fff;
        width: 100%;
        padding: 0;
    }
    .char_block .props_list td{
        display: block !important;
        background: #fff;
        width: auto;
        font-size: 13px;
        padding-left: 0;
    }
    .char_block .props_list tr{
        margin-bottom: 15px;
        border-bottom: 1px dotted #cfcfcf;
        padding-bottom: 15px;
    }
    .props_list .props_item span {
        padding-right: 0;
        font-weight: bold;
    }
}


/* CATALOG ASIDE FILTER */
.filter-item{
    position: relative;
    z-index: 200;
    margin-bottom: 15px;
}
.label-title{
    display: inline-block;
}
.label-title:first-letter{
    text-transform: uppercase;
}
.filter-item-title{
    height: 46px;
    background: #f7f8fa;
    padding: 0 44px 0 12px;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    cursor: pointer;
    z-index: 20;
    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    display: flex;
    align-items: center;
}
.filter-item-title:hover{
    background: #EAEBED;
}
.filter-item.active .filter-item-title{
    background: #2e2e2e;
    color: #fff;
}
.filter-item-title:before{
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -3px;
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #808080;
    border-right: 2px solid #808080;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.filter-item.active .filter-item-title:before{
    -moz-transform: rotate(225deg);
    -webkit-transform: rotate(225deg);
    -o-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    margin-top: -1px;
    border-color: #fff;
}
.filter-item .item-dropdown{
    display: none;
    background: #fff;
    padding: 15px 12px;
    border: 1px solid #e6e6e6;
}
.filter-item.last .item-dropdown{
    margin-bottom: 0;
}
.filter-item.last{
    margin-bottom: 25px;
}
.filter-item.active .item-dropdown{
    display: block;
    border-top-color: transparent;
}
.filter-customcheck-wrap > div:last-of-type{
    margin-bottom: 0;
}
.filter-customcheck {
    position: relative;
    margin-bottom: 15px;
}
.filter-customcheck input[type=checkbox]{
    position: fixed;  
    top: -100000px;
}
.filter-customcheck input[type=checkbox] + label{
    position: relative;
    padding-left: 25px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    display: block;
    font-size: 13px;
    padding-right: 15px;
    font-weight: 500;
}
.filter-customcheck input[type=checkbox] + label:before{
    background: url(../images/check-empty.svg) 0 0 no-repeat;
    content: "";
    display: block;
    position: absolute;
    width: 17px;
    height: 17px;
    top: 1px;
    left: 0px;
}
.filter-customcheck input[type=checkbox]:checked + label:before{
    background: url(../images/checked.svg) 0 0 no-repeat;
}
.filter-item fieldset{
    border: none;
    margin: 0;
    padding: 0;
}


/* ui slider*/
.aside-filters-block .ui-slider{
    border: none !important;
    height: 6px;
    background: #E9E9E9;
    margin-bottom: 20px;
    margin-top: 10px;
    width: 100%;
    margin: 10px auto 20px;
    padding: 0;
    right: -4px;
}
.aside-filters-block .ui-slider-range{
    background: #c1c1c1;
    border-radius: 0 !important;
}
.aside-filters-block .ui-slider-handle{
    width: 14px !important;
    height: 14px !important;
    margin-top: 0px !important;
    background: #fff !important;
    cursor: pointer !important;
    border: 1px solid #2e2e2e !important;
}
.aside-filters-block .ui-slider-horizontal .ui-slider-handle {
    margin-left: -.6em;
}
.aside-filters-block .ui-corner-all, 
.aside-filters-block .ui-corner-top, 
.aside-filters-block .ui-corner-right, 
.aside-filters-block .ui-corner-tr{
    border-radius: 0 !important;
}
.aside-filters-block .ui-slider-handle.ui-state-default.ui-corner-all{
    border-radius: 2px !important;
    background: var(--color-y) !important;
    border-color: var(--color-y) !important; 
    top: -4px;
    opacity: 1 !important;
}
.number_slider_wrapper{
    padding: 0 11px 0 3px;
    background: #E9E9E9;
}
.mse2_number_inputs .form-control{
    height: 32px;
    padding-left: 35px;
}
.mse2_number_inputs label{
    font-size: 14px;
    position: absolute;
    top: 7px;
    left: 7px;
    color: #757575;
}
/*./ ui slider*/

.aside-filters-block .item-dropdown-inner {
    max-height: 290px !important;
    overflow: auto;
}
.reset-filters-btn{
    border: none;
    padding: 0;
    background: transparent;
    color: #000;
}
.reset-filters-btn:hover{
    color: #D12C1C;
}
.reset-filters-btn img{
    margin-top: -2px;
}
.statuses-filters > div > div:last-of-type {
    display: none !important;
}
.statuses-filters > div:last-of-type > div{
    margin-bottom: 0;
}

@media(max-width: 991px){
    .filters-form-title-xs{
        position: relative;
        height: 54px;
        background: #2e2e2e;
        padding: 18px 40px 18px 20px;
        text-transform: uppercase;
        font-size: 13px;
        font-weight: bold;
        color: #fff;
        margin-bottom: 5px;
    }
    .filters-form-title-xs:after {
        content: "";
        position: absolute;
        top: 50%;
        right: 20px;
        margin-top: -3px;
        width: 6px;
        height: 6px;
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff;
        -moz-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .filters-form-title-xs.active:after{
        transform: rotate(225deg);
        margin-top: -1px;
    }
    .aside-filters-block{
        margin: -20px 0 30px;
    }
    .aside-filters-block form > .row > .col-md-3{
        width: 100%;
    }
    .filter-item-title:after{
        width: 100%;
        height: 1px;
        top: auto;
        left: 0;
    }
    .filter-item .item-dropdown{
        position: relative;
        border-top: none;
        box-shadow: none;
        margin-bottom: 0;
    }
    .filters-form{
        display: none;
    }
    .filters-form.active{
        display: block;
    }
    .filter-item-title{
        transition: none;
    }
    .filter-item-title:hover{
        background: #F3F3F3;
    }
    .filter-item.active .filter-item-title,
    .filter-item .filter-item-title{
        background: #F3F3F3;
        color: #2E2E2E;
        padding-left: 18px;
        font-weight: 500;
        height: 52px;
    }
    .filter-item.active .filter-item-title::before,
    .filter-item .filter-item-title::before{
        border-color: #2E2E2E;
    }
    .filter-item.last{
        border-bottom: 1px solid #F3F3F3;
    }
}
/* /. CATALOG ASIDE FILTER */


/* ======= custom check and radio order-wrapper ======= */
.order-wrapper .checkbox label{
    padding-left: 38px;
    position: relative;
    height: 22px;
    line-height: 22px;
    cursor: pointer;
    margin-bottom: 15px;
    display: inline-block;
}
.order-wrapper .checkbox label input{
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
}
.order-wrapper .checkbox label > div{
    position: absolute;
    left: 5px;
    top: 0;
    width: 22px;
    height: 22px;
    display: block;
    background: white;
    border: 2px solid rgba(0, 0, 0, 0.25);
    transition: 300ms all;
    border-radius: 2px;
}
.order-wrapper .checkbox label:hover > div{
    border-color: #414141;
}
.order-wrapper .checkbox label > div.radio{
    border-radius: 100%;
}
.order-wrapper .checkbox label > div.radio:before{
    position: absolute;
    left: 0;
    width: 100%;
    top: 0;
    height: 100%;
    content: '';
    display: block;
    background-color: white;
    border-radius: 100px;
    opacity: 0;
    transform: scale(0);
    transition: 300ms all;
}
.order-wrapper .checkbox input:checked + .radio{
    border-color: #414141;
    background-color: #414141;
}
.order-wrapper #msOrder .radio{
    min-height: 1px;
}
.order-wrapper .checkbox input:checked + .radio:before{
    opacity: 1;
    transform: scale(0.5);
}
.order-wrapper .checkboxsquare svg {
    width: 100%;
    opacity: 0;
    transform: scale(0);
    transition: 300ms all;
}
.order-wrapper .checkbox input:checked + .checkboxsquare{
    border-color: #414141;
    background-color: #414141;
}
.checkbox input:checked + .checkboxsquare svg{
    opacity: 1;
    transform: scale(1);
}
.order-wrapper .order-wrapper #msOrder .radio{
    min-height: 1px;
}
.order-wrapper input[type="checkbox"].error + div + span{
    color: red;
}
.order-wrapper .checkbox input:checked.error + div + span{
    color: #444444;
}
.order-wrapper .checkbox p.small{
    padding-left: 38px;
    font-size: 14px;
    color: #444;
}
/* ======= /. custom check and radio ======= */


/* reviews, rating */
.reviews .element {
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
    margin-bottom: 40px;
    border-radius: 0;
}
.reviews .element .rev-element-body{
    background: #F8F8F8;
    padding: 32px 22px 30px;
}
.reviews .element .rev-element-body:after {
    content: "";
    position: absolute;
    left: 25px;
    bottom: -20px;
    border: 10px solid transparent;
    border-left: 10px solid #F8F8F8;
    border-top: 10px solid #F8F8F8;
}
.rev-element-footer{
    padding: 20px 0 0 40px;
}
.rev-element-footer .rev-name{
    font-family: 'Roboto Slab', serif;
    font-size: 20px;
}
.rating {
    position: relative;
    height: 20px;
    width: 140px;
    color: #CFCFCF;
}
.rating .real {
    position: absolute;
    top: 0;
    left: 0;
    color: #f9ab28;
    width: 0;
    height: 20px;
    overflow: hidden;
    white-space: nowrap;
}
.rating svg {
	width: 24px;
	height: 21.328px;
}
.rating.rating1 .real {
    width: 20%;
}
.rating.rating2 .real {
    width: 40%;
}
.rating.rating3 .real {
    width: 60%
}
.rating.rating4 .real {
    width: 80%;
}
.rating.rating5 .real {
    width: 100%;
}
.rev-form .ec-rating-stars span {
    background: transparent;
    width: auto;
    height: auto;
    margin-right: 7px;
}
.ec-rating-stars svg {
	cursor: pointer;
	color: #d5d5d5;
	width: 20px;
	height: 20px;
}

.ec-rating-stars .active svg,
.ec-rating-stars .active2 svg {
	color: #F9AB28;
}
.alert-success {
    background: #d4f5d4;
    padding: 15px;
    border: 1px solid #b3dbb3;
    font-size: 14px;
    margin-bottom: 20px;
}
.form-group.has-error input {
    border-color: #FF1A00;
}
.product-rating-wrapper {
    margin-bottom: 15px;
}
.product-rating {
    display: inline-block;
    margin-right: 10px;
}
.product-rating-wrapper .ec-stars {
    display: inline-block;
    margin: 0;
    font-size: 18px;
    width: 105px;
}
.product-rating-wrapper .ec-stars svg{
    width: 17px;
}
.product-rating-wrapper .ec-stars span {
    background: transparent!important;
    display: block;
    height: 20px;
    width: auto;
    color: #CFCFCF;
}
.product-rating-wrapper .ec-stars .real {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 20px;
    white-space: nowrap;
    overflow: hidden;
    color: #f9ab28;
}
.product-rating-wrapper .rating-counter {
    font-size: 15px;
}

/* /. reviews, rating */
/* features*/
.f-wrapper, .how-wrapper{
    width: 100%;
    overflow: visible;
    padding-top: 80px;
    margin-top: -80px;
}
.f-inner{
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}
.f-inner .block{
    flex-basis: calc((100% - 50px) / 3);
    flex-shrink: 0;
}
.f-item{
    margin-bottom: 30px;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}
.f-item .flex{
    display: flex;
    gap: 10px;
}
.f-title{
    font-size: 18px;
    margin-bottom: 20px; 
    font-weight: 500;   
}
.f-desc{
    color: #71717b;
    font-size: 15px;    
}
.svg-foreground{
    color: var(--color-y);
}
@media(max-width: 767px){
    .f-inner .block{
        flex-basis: calc((100% - 25px) / 2);
        flex-shrink: 0;
    }
}
@media(max-width: 520px){
    .f-title{
        font-size: 15px;   
    }
    .f-desc{
        font-size: 14px;    
    }
}
/* numbers*/
.how-inner{
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}
.how-inner .block{
    flex-basis: calc((100% - 75px) / 4);
    flex-shrink: 0;
    border-left: 1px solid #ededed;
}
.how-item{
    margin-bottom: 30px;
    padding: 0 20px;
}
.how-title{
    font-size: 54px;
    margin-bottom: 10px;
    font-weight: 500;
    color: var(--color-y);
    width: fit-content;
    background: linear-gradient(45deg, #ffffff, var(--color-y));
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;  
}
.how-desc{
    color: #71717b;
    font-size: 16px;    
}
@media(max-width: 991px){
    .how-inner .block{
        flex-basis: calc((100% - 25px) / 2);
    }
}
@media(max-width: 991px){
    .how-desc{
        font-size: 14px;    
    }
}
@media(max-width: 480px){
    .how-desc{
        font-size: 13px;    
    }
    .how-item{
        padding: 0 10px;
    }
}

/* shop categories*/
.shop-categories-wrapper{
    width: 100%;
    overflow: visible;
    padding-top: 80px;
    margin-top: -80px;
}
.shop-categories-inner{
    margin-left: -10px;
    margin-right: -10px;
    display: flex;
    flex-wrap: wrap;
}
.shop-categories .col{
    width: 25%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
}
.shop-categories .col:hover .item{
    box-shadow: 0px 5px 20px rgba(34, 34, 34, 0.07);
    transform: translateY(-2px);
}
.shop-categories .item {
    height: 100%;
    display: flex;
    text-align: center;
    border-radius: 8px;
    padding: 16px 20px 16px 16px;
    color: #333;
    background: #f8f8f8;
    transition: box-shadow ease 0.3s, transform ease 0.3s;
}
.shop-categories .item-img{
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
}
.shop-categories .item-img img{
    max-height: 100%;
    width: 50px;
    max-width: max-content;
}
.shop-categories .item-title{
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
    margin-bottom: 3px;
}
.r-blck{
    text-align: left;
}
.shop-categories .item-desc{
    color: #999;
}
a.item{
    text-decoration: none;
}
@media(max-width:1489px){
    .shop-categories .col{
        padding-left: 7px;
        padding-right: 7px;
        margin-bottom: 14px;
    }
}
@media(max-width:1199px){
    .shop-categories .col{
        width: 33.3333%;
    }
}
@media(max-width:767px){
    .shop-categories .col{
        width: 50%;
    }
    .shop-categories .item {
        padding: 2vw;
    }
}
@media(max-width:480px){
    .shop-categories .col{
        width: 100%;
    }
}
/* /. shop categories*/

/* main-shop categories*/
.main-shop-categories-wrapper{
    width: calc(100% + 26px);
    overflow: hidden;
    padding-top: 80px;
    margin-top: -80px;
    padding-left: 13px;
    padding-right: 13px;
    margin-left: -13px;
    margin-right: -13px;
}
/* Слайд-ссылка */
.main-shop-categories-wrapper .splide__slide.item {
  height: auto; /* Позволяет Splide управлять высотой */
  display: flex;
  text-decoration: none; /* Убираем подчеркивание у ссылки */
  color: inherit;
}

/* Главная обертка внутри слайда */
.main-cat-wrapper {
  display: flex;
  flex-direction: column; /* Элементы друг под другом */
  justify-content: space-between; /* Распределяет картинку вверх, текст вниз */
  align-items: center; /* Центрирует по горизонтали */
  width: 100%;
  background: #ffffff;
  border-radius: 8px;
  padding: 20px 15px; /* Внутренние отступы карточки */
  box-sizing: border-box;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  will-change: transform, box-shadow;
}

/* Эффект при наведении */
.main-cat-wrapper:hover {
  box-shadow: 0px 5px 20px rgba(34, 34, 34, 0.07);
  transform: translateY(-2px); /* Легкий интерактивный подъем (опционально) */
}

/* Верхний блок: Картинка */
.main-shop-categories-wrapper .item-img.u-blck {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex-grow: 1; /* Занимает все свободное пространство сверху */
  margin-bottom: 15px;
}

.main-shop-categories-wrapper .item-img.u-blck img {
  width: 100%;
  max-width: 100px;
  height: auto;
  object-fit: contain; /* Картинка не деформируется */
}

/* Нижний блок: Текст */
.main-shop-categories-wrapper .b-blck {
  width: 100%;
  text-align: center; /* Центрирует текст по горизонтали */
  flex-shrink: 0; /* Не сжимается */
}

/* Заголовок категории */
.main-shop-categories-wrapper .item-title {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;
  color: #222222;
  margin-bottom: 5px;
}

@media(max-width:767px){
    .main-shop-categories-wrapper .item-title {
        font-size: 14px;
    }
}
@media(max-width:480px){
    .main-cat-wrapper {
        padding: 10px 5px;
    }
    .main-shop-categories-wrapper .item-img.u-blck{
        margin-bottom: 5px;
    }
    .main-shop-categories-wrapper .item-img.u-blck img{
        max-width: 60px;
    }
    .main-shop-categories-wrapper .item-title {
        font-size: 13px;
    }
}
/* /. shop categories*/
@media(max-width:480px){
    .push20{
        height: 12px;
    }
    .push25{
        height: 15px;
    }
    .push30{
        height: 20px;
    }
    .push35{
        height: 25px;
    }
    .push40{
        height: 30px;
    }
    .push45{
        height: 32px;
    }
    .push50{
        height: 35px;
    }
    .push55{
        height: 37px;
    }
    .push60{
        height: 40px;
    }
    .push70{
        height: 45px;
    }
    .push65{
        height: 48px;
    }
    .push75{
        height: 50px;
    }
    .push80{
        height: 50px;
    }
}










