:root {
	--font-headers-main: 'Roboto';
    --font-regular: 'Roboto Regular';
    --font-bold: 'Roboto';
    --font-title-bold: 'Roboto';
	
	--border-radius-default: 16px;
    --border-radius-button: 10px;
    --border-radius-form-control: 10px;
    
    --color-green: #00b656;
    --color-white: #fff;

    --color-primary: #00b656;
    --color-primary-hover: #009f4c;
    --color-primary-active: #008f44;


    --color-secondary: #2b2b2b;

    --color-gray-l-2: #c7c7c7;
    --color-gray: #8b8b8b;
    --color-gray-l: #8b8b8b;

    --color-secondary-d: #2b2b2b;

    --box-shadow-default: rgba(0, 0, 0, 0.1) 0px 0px 12px;

    --box-shadow-button: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px; /* 42 */
    --box-shadow-button: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px; /* 35 */
	
	--size-1_3-1_66: clamp(1.33, calc(1.33 + (1.66 - 1.33) * ((100vw - 320px) / (1200px - 320px))), 1.66);
    --size-0-12: clamp(0rem, -0.2727rem + 1.3636vw, 0.75rem);
    --size-0-24: clamp(0rem, -0.5455rem + 2.7273vw, 1.5rem);
    --size-2-3: clamp(0.125rem, 0.1023rem + 0.1136vw, 0.1875rem);
    --size-4-6: clamp(0.25rem, 0.2045rem + 0.2273vw, 0.375rem);
    --size-4-8: clamp(0.25rem, 0.1591rem + 0.4545vw, 0.5rem);
    --size-6-8: clamp(0.375rem, 0.3295rem + 0.2273vw, 0.5rem);
    --size-6-10: clamp(0.375rem, 0.2841rem + 0.4545vw, 0.625rem);
    --size-6-12: clamp(0.375rem, 0.2386rem + 0.6818vw, 0.75rem);
    --size-6-18: clamp(0.375rem, 0.1023rem + 1.3636vw, 1.125rem);
    --size-6-24: clamp(0.375rem, -0.0341rem + 2.0455vw, 1.5rem);
    --size-8-10: clamp(0.5rem, 0.4545rem + 0.2273vw, 0.625rem);
    --size-8-12: clamp(0.5rem, 0.4091rem + 0.4545vw, 0.75rem);
    --size-8-16: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
    --size-10-12: clamp(0.625rem, 0.5795rem + 0.2273vw, 0.75rem);
    --size-10-14: clamp(0.625rem, 0.5341rem + 0.4545vw, 0.875rem);
    --size-12-14: clamp(0.75rem, 0.7045rem + 0.2273vw, 0.875rem);
    --size-12-16: clamp(0.75rem, 0.6591rem + 0.4545vw, 1rem);
    --size-12-24: clamp(0.75rem, 0.4773rem + 1.3636vw, 1.5rem);
    --size-12-18: clamp(0.75rem, 0.6136rem + 0.6818vw, 1.125rem);
    --size-12-32: clamp(0.75rem, 0.2955rem + 2.2727vw, 2rem);
    --size-14-16: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem);
    --size-14-18: clamp(0.875rem, 0.7841rem + 0.4545vw, 1.125rem);
    --size-14-24: clamp(0.875rem, 0.6477rem + 1.1364vw, 1.5rem);
    --size-15-30: clamp(0.9375rem, 0.5966rem + 1.7045vw, 1.875rem);
    --size-16-18: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
    --size-16-20: clamp(1rem, 0.9091rem + 0.4545vw, 1.25rem);
    --size-16-22: clamp(1rem, 0.8636rem + 0.6818vw, 1.375rem);
    --size-16-24: clamp(1rem, 0.8182rem + 0.9091vw, 1.5rem);
    --size-16-28: clamp(1rem, 0.7273rem + 1.3636vw, 1.75rem);
    --size-18-24: clamp(1.125rem, 0.9886rem + 0.6818vw, 1.5rem);
    --size-18-32: clamp(1.125rem, 0.8068rem + 1.5909vw, 2rem);
    --size-18-36: clamp(1.125rem, 0.7159rem + 2.0455vw, 2.25rem);
    --size-18-42: clamp(1.125rem, 0.5795rem + 2.7273vw, 2.625rem);
    --size-18-48: clamp(1.125rem, 0.4432rem + 3.4091vw, 3rem);
    --size-18-60: clamp(1.125rem, 0.1705rem + 4.7727vw, 3.75rem);
    --size-24-32: clamp(1.5rem, 1.3182rem + 0.9091vw, 2rem);
    --size-24-36: clamp(1.5rem, 1.2273rem + 1.3636vw, 2.25rem);
    --size-24-48: clamp(1.5rem, 0.9545rem + 2.7273vw, 3rem);
    --size-24-60: clamp(1.5rem, 0.6818rem + 4.0909vw, 3.75rem);
    --size-24-72: clamp(1.5rem, 0.4091rem + 5.4545vw, 4.5rem);
    --size-24-80: clamp(1.5rem, 0.2273rem + 6.3636vw, 5rem);
    --size-28-96: clamp(1.75rem, 0.2045rem + 7.7273vw, 6rem);
    --size-32-42: clamp(2rem, 1.7727rem + 1.1364vw, 2.625rem);
    --size-32-48: clamp(2rem, 1.6364rem + 1.8182vw, 3rem);
    --size-36-120: clamp(2.25rem, 0.3409rem + 9.5455vw, 7.5rem);
    --size-48-96: clamp(3rem, 1.9091rem + 5.4545vw, 6rem);	
}

html, body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  min-width: 320px;
  position: relative;
  /* font: 18px/30px 'Roboto', cursive; */
  font-size: var(--size-14-16);
  font-family: var(--font-regular);
  color: #333;
  font-weight: normal;
  background: var(--color-white);
  overflow-x: hidden;
}

body.scroll-lock {
    overflow: hidden !important;
    overscroll-behavior: contain;
}

body.catalog-panel-open:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 900;
}

a {
    color: var(--color-green);
}

a:hover {
   color: var(--color-green);
}

.icon-16 {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
}

.icon-16-24 {
    width: var(--size-16-24);
    height: var(--size-16-24);
    min-width: var(--size-16-24);
    min-height: var(--size-16-24);
}

.icon-20 {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
}

.icon-24 {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
}

.icon-32 {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
}

.icon-48 {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
}

.f-primary {
    fill: var(--color-primary);
}

.f-white {
    fill: var(--color-white);
}

.s-primary {
    stroke: var(--color-primary);
}

.btn-default {
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: var(--size-6-8) var(--size-10-14);
    transition: 0.15s;
    display: flex;
    align-items: center;
    transition: 0.15s;
    justify-content: center;
    cursor: pointer;
    border-radius: var(--size-4-6);
}

.btn-secondary {
    color: var(--color-text);
    background-color: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: var(--box-shadow-button);
    user-select: none;
}

.btn-secondary:hover {
    color: var(--color-text);
    background-color: #f7f7f7;
    border-color: #dcdcdc;
}

.btn-outline-primary {
    color: var(--color-primary);
    background-color: #fff;
    border: 1px solid var(--color-primary);
    box-shadow: var(--box-shadow-button);
    transition: 0.15s;
    user-select: none;
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}


header {
    background: #2b2b2b;
    background: #151414;
    /* background: #070b0d; */
    color: var(--color-white);
    z-index: 1050;
}

header .btn-default {
    padding: var(--size-6-12) var(--size-12-18);
}

header .logo img {
    /* width: auto; */
    width: clamp(7.5rem, 4.7727rem + 13.6364vw, 15rem);;
    height: 100%;
}

header a {
    text-decoration: inherit;
    color: inherit;
}

header a:hover {
    color: var(--color-green);
    text-decoration: underline;
}

.b-header-center {
    gap: var(--size-6-12);
    border-bottom: solid 1px #414141;
    padding: var(--size-4-6) 0;

    border-bottom: solid 1px #1C1E21;
}

.b-header-bottom {
    padding: var(--size-4-6) 0;
    border-top: solid 1px #000306;
    border-bottom: solid 1px #1C1E21;
}

.header-contact {
    font-size: var(--size-14-18);
    padding: 0 var(--size-12-24);
    white-space: nowrap;
    line-height: 1.66;

    
}

@media screen and (max-width: 576px) {

    header .logo {
        /* width: 100%; */
    }

    /* .header-contact {
        width: calc(50% - var(--size-6-12));
        padding: 0;
    }

    header > div > div {
        flex-wrap: wrap;
    } */
}

.header-contact {
    line-height: 1.1;
}

.header-contact span {
    /* font-size: var(--size-12-14); */
}

.b-header-contact__title {
    color: var(--color-gray-l);
    font-size: var(--size-14-16);
}

.header-mail a {
    /* color: var(--color-green); */
}

.header-phone {
    
}

.header-phone b {
    color: var(--color-green);
}

.header-city {
    white-space: inherit;
    font-size: var(--size-12-14);
}

.header-city .city {
    color: var(--color-green);
    font-size: var(--size-14-18);
}

.header-city:hover {
    text-decoration: inherit;
    color: inherit;
}

.header-city:hover span {
    color: var(--color-green);
    text-decoration: underline;
}

.header-menu {
    gap: var(--size-6-12);
}

.header-menu .menu-item {
    padding: var(--size-6-12) var(--size-12-24);
    position: relative;
    line-height: 1.33;
    padding-right: 6px;
}

.header-menu .menu-item:not(:first-child):after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: #28a745; /* зеленый */
}

.header-btn-catalog {
    /* padding: var(--size-6-12) var(--size-12-24); */
    background-color: var(--color-primary);   
}

.header-btn-catalog  .svg-sprite-icon {
    stroke: var(--color-white);
}

header .b-feedback .btn-default {
    white-space: nowrap;
    
}

.header-search {
    position: relative;
}

.header-search input {
    padding: var(--size-6-10);
    background-color: #232528;
    border: 0;
    outline: 0;
    color: #fff;
    border-radius: var(--size-4-6);
    padding: var(--size-6-12) var(--size-6-12);
}

.header-search input::placeholder {
    color: rgba(255, 255, 255, 0.55);
}


header.is-home-page {
    position:absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1050;
    background-color: rgba(0,0,0,0.5);
    backdrop-filter: blur(18px);
}




.search-drop {
  min-width: 100%;
  position: absolute;
  z-index: 200;
  top: 45px;
  left: 0;
  display: none;
  background: #ffffff;
  border-radius: 3px;
  white-space: nowrap;
  font-size: 14px;
}

.search-drop div + div {
  border-top: solid 1px #efefef;
}

.search-drop a {
  display: block;
  padding: 5px 20px;
  color: #333333;
  text-decoration: none;
}



.p-home h1 {
    font-size: var(--size-18-60);
    line-height: 1;
    padding: var(--size-24-48) 0 var(--size-12-24) 0;
    /* padding-top: 110px; */
    font-weight: 300;
    /* color: var(--color-white); */
}

.b-home-video {
    position: relative;
    width: 100%;
    padding: var(--size-36-120) 0;
    padding: 120px 0;
    background: #000;
    overflow: hidden;
}

.b-home-video__media video,
.b-home-video__media::before,
.b-home-video__media::after {
    pointer-events: none;
}

/* центрированный блок видео */
.b-home-video__media {
    position: relative;
    width: 100%;
    max-width: 1296px;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 1280 / 480;
    overflow: hidden;
}

/* видео */
.b-home-video__media video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* затемнение видео */
.b-home-video__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

/* боковые градиенты */
.b-home-video__media::after {
    content: "";
    position: absolute;
    inset: 0 -12px;
    z-index: 3;
    pointer-events: none;
    background:
        /* сверху */
        linear-gradient(
            180deg,
            #000 0%,
            rgba(0, 0, 0, 0.75) 8%,
            rgba(0, 0, 0, 0) 24%
        ),

        /* снизу */
        linear-gradient(
            0deg,
            #000 0%,
            rgba(0, 0, 0, 0.75) 8%,
            rgba(0, 0, 0, 0) 24%
        ),

        /* слева */
        linear-gradient(
            90deg,
            #000 0%,
            rgba(0, 0, 0, 0.78) 9%,
            rgba(0, 0, 0, 0) 24%
        ),

        /* справа */
        linear-gradient(
            270deg,
            #000 0%,
            rgba(0, 0, 0, 0.78) 9%,
            rgba(0, 0, 0, 0) 24%
        );
}
/* контент поверх видео */
.b-home-video__content {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    
}

.b-home-video__content .container {
    pointer-events: auto;
}

.b-home-video__title {
    margin: 0 0 24px;
    font-size: var(--size-24-60);
    line-height: 1.33;
    font-family: var(--font-regular);
    font-weight: 600;
    color: #fff;
    
}

.b-home-video__text {
    max-width: 620px;
    font-size: 21px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.82);
}

.b-home-video__feedback {
    display: inline;
    margin-top: var(--size-12-24);
}

.b-home-video__feedback .btn-default {
    display: inline-flex;
    gap: var(--size-6-12);
    padding: var(--size-6-12) var(--size-12-18);
    font-size: var(--size-14-18);
}


.b-home-video-advantages {
    display: flex;
    flex-direction: column;
    gap: var(--size-12-24);
    margin-left: var(--size-24-48);
}

@media screen and (max-width: 768px) {
    .b-home-video-advantages {
        flex-direction: row;
        margin-top: var(--size-24-48);
        margin-left: 0;
        flex-wrap: wrap;
    }
    
}

.b-home-video-advantages__item {
    display: flex;
    align-items: center;
    gap: var(--size-12-24);
    flex-direction: row;
}

.b-home-video-advantages__icon {
    border-radius: 50%;
    /* border: 1px solid #333; */
    backdrop-filter: blur(18px);
    padding: var(--size-12-24);
    width: calc(48px + var(--size-12-24));
    height: calc(48px + var(--size-12-24));
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.3);
}

.b-home-video-advantages__icon svg {
    width: 48px;
    height: 48px;
    min-height: 48px;
    min-width: 48px;
}

.b-home-video-advantages__content {
    display: flex;
    flex-direction: column;
    gap: var(--size-4-6);
}

.b-home-video-advantages__title {
    font-size: var(--size-16-18);
    font-family: var(--font-regular);
    color: #fff;
    line-height: 1.1;
}

.b-home-video-advantages__text {
    color: var(--color-gray-l-2);
    line-height: 1.33;
}

/* xxl */
@media (max-width: 1399.98px) {

    .wrap-header-top-left-content {

    }

}

/* xl */
@media (max-width: 1199.98px) {

    .b-home-video {
        padding: 180px 0 80px 0;
    }

}

/* lg */
@media (max-width: 991.98px) {

    .b-home-video {
        padding: 180px 0 80px 0;
    }

    header .b-feedback .btn-default {
        white-space: normal;
        text-align: center;
    }

}

/* md */
@media (max-width: 767.98px) {

    .b-home-video {
        padding: 0;
    }

    .b-home-video__media {
        padding: 600px 0 80px 0;
    }

}

/* sm */
@media (max-width: 575.98px) {
    .b-home-video__media {
        padding: 800px 0 40px 0;
    }
}

.b-catalog-panel {
    position:absolute;
    left:0;
    top:100%;
    /* width:75vw;
    max-width:1200px; */
    width: 100%;
    z-index:1050;

    top: var(--header-h, 0px);
    height: calc(100vh - var(--header-h, 0px));
    height: calc(100dvh - var(--header-h, 0px));
    overflow: hidden;
    

    left: 50%;
    transform: translate(-50%, -100%);
    transition:transform .25s ease;
    will-change:transform;

    color: var(--color-secondary);
    
    /* left: 50%; */
    /* box-shadow: var(--box-shadow-default-2); */
    
    /* background-color: #F8FAFC; */
}

.b-catalog-panel {
    --catalog-panel-bottom-gap: 16px;

    height: calc(
        100vh
        - var(--header-h, 0px)
        - var(--catalog-panel-bottom-gap)
    );

    height: calc(
        100dvh
        - var(--header-h, 0px)
        - var(--catalog-panel-bottom-gap)
    );

}

@media screen and (max-width: 576px) {
    .b-catalog-panel {
        --catalog-panel-bottom-gap: 8px;
    }
}

.b-catalog-panel.catalog-panel-open{
    transform: translate(-50%, 0); 
}

.b-catalog-panel > div {
    background:#fff;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
    height: 100%;
    min-height: 0;
}

.b-catalog-panel .catalog-top {
    flex: 0 0 auto;
}

.b-catalog-panel .catalog-layout {
    display: flex;
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
    overflow: hidden;
}

.b-catalog-panel .catalog-left {
    width: 280px;
    height: auto;
    overflow-y: auto;
}

.b-catalog-panel .catalog-right {
    flex: 1 1 auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

.b-catalog-panel .catalog-panel-item {
    display: none;
}

.b-catalog-panel .catalog-panel-item.catalog-panel-active {
    display: block;
}

.b-catalog-panel .catalog-mobile-head {
    display: none;
}

.b-catalog-panel.catalog-mobile-mode .catalog-layout {
    position: relative;
    overflow-x: hidden;
}

.b-catalog-panel.catalog-mobile-mode .catalog-left,
.b-catalog-panel.catalog-mobile-mode .catalog-right {
    width: 100%;
    flex: 0 0 100%;
    transition: transform .2s ease;
    will-change: transform;
}

.b-catalog-panel.catalog-mobile-mode .catalog-right {
    position: absolute;
    inset: 0;
    background: #fff;
    transform: translateX(100%);
}

.b-catalog-panel.catalog-mobile-mode.catalog-mobile-subopen .catalog-right {
    transform: translateX(0);
}

.b-catalog-panel.catalog-mobile-mode.catalog-mobile-subopen .catalog-left {
    transform: translateX(-100%);
}

@media screen and (max-width: 1200px) {
    .b-catalog-panel {
        width:100vw;
    }
    
}

.b-catalog-panel ul {
    padding: var(--size-6-12) 0;
    margin: 0;
    list-style: none;
}

.b-catalog-panel .catalog-groups {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}



.b-catalog-panel .catalog-groups .catalog-group {
    flex:0 0 calc(33% - 12px);
}

@media screen and (max-width: 576px) {
    .b-catalog-panel .catalog-groups {
        gap: 0;
    }

    .b-catalog-panel .catalog-groups .catalog-group {
        flex:0 0 100%;
    }

    .b-catalog-panel {
        width:100vw; max-width:none;
        height: calc(100vh - var(--header-h, 0px));
        height: calc(100dvh - var(--header-h, 0px));
    }

    .b-catalog-panel .catalog-left {
        width:100%;
    }
}
  

.b-catalog-panel .catalog-group-parent-li {

}

.b-catalog-panel .catalog-top {
    padding: var(--size-12-16) var(--size-12-24);
    border-bottom: 1px solid var(--color-gray-l);
}

.b-catalog-panel .catalog-layout {
    
}

.b-catalog-panel .catalog-left,
.b-catalog-panel .catalog-right {
    padding: var(--size-12-16) var(--size-12-24);
    padding-bottom: var(--header-h);
}

.b-catalog-panel .catalog-left {
    border-right: 1px solid var(--color-gray-l);   
    padding-top: 0;
    padding: 0;
    padding-bottom: var(--header-h);
}

.b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li {

}

.b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li a {
    font-size: var(--size-14-16);
    padding: 12px var(--size-12-16);
    width: 100%;
    display: inline-block;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}

@media screen and (max-width: 576px) {
    .b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li a {
        border-bottom: 1px solid var(--color-gray-l);
    }

    
}

@media screen and (min-width: 576px) {
    .b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li a.catalog-cat-active {
        background-color: var(--color-secondary);
        color: var(--color-white);
    }

    .b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li a .svg-sprite-icon {
        display: none;
    }
}

.b-catalog-panel .catalog-right {
    border-left: 1px solid var(--color-white);
}

.b-catalog-panel .catalog-right .catalog-group-parent-li {
    padding: 0;
    font-size: var(--size-16-18);
    font-family: var(--font-regular);
    margin-bottom: var(--size-6-12);

    /* margin-left: calc(38px + var(--size-6-12)); */
}

.b-catalog-panel .catalog-right .catalog-group-parent-li a {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--size-6-12);
    color: var(--color-secondary);
}

.b-catalog-panel .catalog-right .catalog-group-item-li {
    margin-bottom: var(--size-6-12);
}

.b-catalog-panel .catalog-right .catalog-group-ul {
    padding: 0;
}

.b-catalog-panel .catalog-right .catalog-group-item {
    display: flex;
    flex-direction: row;
    gap: var(--size-6-12);
    align-items: center;
    font-size: 14px;
    color: var(--color-secondary);
}

.b-catalog-panel .catalog-right .img {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    border-radius: var(--border-radius-default);
    background-color: #F7F8FA;
    position: relative;

    display: none;
}

.b-catalog-panel .catalog-right  .img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    border-radius: var(--border-radius-default);
}

.b-catalog-panel .catalog-right .img:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset rgba(0, 0, 0, 0.05) -6px 6px 12px 0px;
    border-radius: 12px;
}

.b-catalog-panel .catalog-right .catalog-group-more-li {
    margin-top: var(--size-12-18);
    margin-bottom: var(--size-18-24);
}

.b-catalog-panel .catalog-right .catalog-group-more-li > div {
    display: flex;
    align-items: center;
    /* justify-content: center; */
    flex-wrap: nowrap;
    gap: var(--size-4-6);
    gap: calc((calc((38px - 20px) / 2)) + var(--size-6-12));
    /* color: var(--color-red); */
    margin-left: calc((38px - 20px) / 2);
    text-decoration: underline;
    
}

.b-catalog-panel .catalog-right.catalog-mobile-head {
    display:none;
}

.b-catalog-panel.catalog-mobile-mode .catalog-right .catalog-mobile-head {
    display:flex;
    gap: var(--size-6-12);
    align-items:center;
    padding: var(--size-6-12) 0;
    margin-bottom: var(--size-12-24);
    border-bottom: 1px solid var(--color-gray-l);
    padding-bottom: var(--size-12-24);
}

.b-catalog-panel.catalog-mobile-mode .catalog-right .catalog-mobile-head .catalog-mobile-title {
    font-size: var(--size-16-18);
    font-family: var(--font-title-bold);
    border-left: 1px solid var(--color-gray-l);
    padding-left: var(--size-6-12);
    line-height: 1.1;
}

.b-catalog-panel .catalog-right .catalog-mobile-back {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.b-catalog-panel .catalog-right .catalog-mobile-back,
.b-catalog-panel .catalog-right .catalog-group-more-li > div:hover {
    cursor: pointer;
}

.catalog-is-hidden,
.b-catalog-panel .catalog-right .catalog-group-more-li > div.catalog-is-hidden {
    display:none;
}

.b-catalog-panel .catalog-top-title {
    font-size: var(--size-16-24);
    font-family: var(--font-title-bold);

    
}




.b-catalog-panel .catalog-top {

}


footer {
    background-color: #2b2b2b;
    color: var(--color-white);
}




.b-filters {
    /* padding: var(--size-6-12); */
    /* border-radius: var(--border-radius-default); */
    background-color: var(--color-white);
    /* box-shadow: var(--box-shadow-default); */
    /* display: flex; */
    flex-direction: row;
    gap: var(--size-12-24);
    font-weight: 500;

    
    /* border: 1px solid #EFEFEF; */
}

.filter-group {
    position: relative;
}

.filter-group-title {
    cursor: pointer;
    font-weight: 600;
    padding: 8px 0;
}

.filter-group-body {
    display: none;
    padding: 6px 0;
    box-shadow: var(--box-shadow-default);
    padding: var(--size-6-12);
   


    /* top: calc(var(--size-24-32) + var(--size-12-24)); */
    top: var(--size-12-32);
    
    
    position: absolute;
    background-color: var(--color-white);
    padding: var(--size-4-6);
    box-shadow: var(--box-shadow-default);
    /* border-radius: 12px; */
    min-width: 200px;
    z-index: 100;

    width: max-content;
    min-width: 200px;
    max-width: 100vw;
}



.filter-group.active .filter-group-body {
    display: block;
}


.filter-header-arrow svg {
    transition: 0.3s;
    fill: var(--color-green);
}

.filter-group.active  .filter-header-arrow svg {
    transform: rotate(180deg);
}

.filter-list {
    max-height: 200px;      /* нужная тебе высота */
    overflow-y: auto;       /* вертикальный скролл */
    margin: 0;
    padding: 0;
    list-style: none;

    /* border: 1px solid var(--color-gray-l); */
    padding: var(--size-4-6);

    background-color: var(--color-white);
    border-radius: var(--border-radius-form-control);
}

.filter-item label {
    /* margin-bottom: 4px; */
    padding: 6px 0;
    pointer-events: auto;
    -webkit-touch-callout: none;
    line-height: 1;
}

.filter-item input {
    width: 16px;
    height: 16px;
}

.filter-item input:disabled + .filter-label {
    color: var(--color-gray);
}

.filter-item input:disabled {
    opacity: 0.05;
    cursor: not-allowed;
}

.filter-item input:disabled + .filter-label {
    color: var(--color-gray);
    cursor: not-allowed;
}

.filter-search {
    width: 100%;
    margin-bottom: 8px;
    padding: 6px 8px;
    border: none;
    border-radius: 6px;
    background-color: #f0f1f4;
}

.filter-empty {
    padding: 4px 0;
    color: #888;
    font-size: 14px;
}

.filter-item label {
    cursor: pointer;
    display: flex;
    gap: 6px;
    align-items: center;
}

.filter-header {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 6px;
    max-width: 100%;
}

.filter-header:hover .filter-header-arrow svg {
    stroke: var(--color-blue-d);
}

.filter-header-clear {
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 4px 0;
    z-index: 2;
    text-decoration: underline;
    color: var(--color-blue);
    /* height: 100%; */
    /* flex: 0 0 auto; */
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.filter-header-clear svg {
    fill: var(--color-gray-l-2);
    transition: 0.15s;
}

.filter-header-clear:hover svg {
    fill: var(--color-primary-hover);
}

.filter-header-main {
    flex: 1;
    cursor: pointer; /* кликаем по всей области */
    display: inline-grid;
    grid-template-columns: auto;
    grid-template-rows: auto auto;

    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;

    cursor: pointer;
    
}

.filter-header-title-row {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: var(--size-4-6);
    /* border: 1px solid #fff; */
    /* border: 1px solid rgba(0, 0, 0, 0.05); */
    /* padding: 12px; */
    box-sizing: border-box;

    
    /* box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px 0px;

    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; */
    /* box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; */
    /* box-shadow: var(--box-shadow-button); */
    transition: 0.15s;

    
}

.filter-header-title-row:hover {
    /* box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; */
    /* border: 1px solid #00b655; */

    /* background-color: #f7f7f7; */
    /* box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; */

}

.filter-header-title {
    font-family: var(--font-title-bold);
    /* white-space: nowrap; */
}

.filter-header-arrow {
    font-size: 10px;
    border-radius: 50%;
    background-color: var(--color-secondary-l);
    flex: 0 0 auto;
    /* padding: 12px; */
}

.wrap-filter-header-selected {
    display: flex;
    flex-direction: column;
    gap: var(--size-6-12);
    align-items: center;
    margin-top: 4px;
    padding: var(--size-4-6) var(--size-6-12);
    background-color: #f9f9f9;
    /* border-radius: var(--border-radius-default); */
    justify-content: space-between;

    width: 0;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.filter-header-selected {
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--size-12-14);
    color: #555;
    /* white-space: nowrap; */
    overflow: hidden;
    text-overflow: ellipsis;
    /* white-space: nowrap; */
}

.clear-filter {
    display: flex;
    align-items: start;
    justify-content: center;
    text-wrap: nowrap;
    
}

.clear-filter a {
    text-align: center;;
    padding: 12px;
    
    /* border: 1px solid var(--color-gray-l-2); */
    /* background-color: var(--color-primary); */
    /* color: var(--color-white); */
    transition: 0.15s;
    text-decoration: none;
}

.clear-filter a:hover {
   
}


.filtersModal .modal-body {
    padding: 0;
}

@media screen and (max-width: 576px) {
    .b-filters {
        
        box-shadow: none;
        background-color: inherit;
        gap: 0;
        padding: 0;
    }

    .b-filters  .filter-group-body {
        width: 85%;
        padding-left: var(--bs-modal-padding);
        box-shadow: none;
    }

    .filter-header-main {
        margin-left: 0;
        padding: var(--bs-modal-padding) 0;
    }

    .filter-header {
        
        border-top: 1px solid var(--color-gray-l);
    }

    .filter-header-title-row {
        padding: var(--bs-modal-padding);
        
    }

    .filter-group:last-child .filter-header {
        border-bottom: 1px solid var(--color-gray-l);
    }
    
}


.b-filters input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin: 0;
    padding: 0;

    border: 2px solid var(--color-secondary-d);
    /* border-radius: 6px; */

    cursor: pointer;
    position: relative;
}

.b-filters input[type="checkbox"]:checked {
    background: var(--color-primary-active);
    border-color: var(--color-primary-active);
}

.b-filters input[type="checkbox"]:hover {
    border-color: var(--color-primary-hover);
}

.b-filters input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}


.b-article-filters-tags {
    margin: var(--size-12-24) 0;
}

.b-article-filters-tags .items {
    list-style: none;
    padding: 0;
    gap: var(--size-6-12);
    flex-wrap: wrap;
    align-items: center;
}

.b-article-filters-tags .title:before {
    content: "";
    flex-basis: 100%;
}

.b-article-filters-tags .title {
    font-family: var(--font-title-bold);
    white-space: nowrap;
    
}

.b-article-filters-tags .item {
    /* padding: 0 6px; */
    white-space: nowrap;
    text-decoration: none;

    /* padding: var(--size-4-6) var(--size-6-12); */

    display: flex;
    align-items: center;
    gap: 4px;

    color: inherit;
    transition: 0.15s;
    
}

.b-article-filters-tags .item.selected {
    /* color: var(--color-gray); */
    /* border-color: var(--color-white); */



    /* border: 1px solid #f1f1f1; */
    /* box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; /* 41 */
}

.b-article-filters-tags .item .svg-sprite-icon {
    fill: #f1f1f1;
    transition: 0.15s;
}


.b-article-filters-tags .item.selected .svg-sprite-icon {
    fill: var(--color-primary-active);
}

.b-article-filters-tags .item:hover .svg-sprite-icon {
    fill: var(--color-primary-hover);
}

@media screen and (max-width: 767px) {
    .b-article-filters-tags .items {
        min-width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 12px;
    }

}

.p-catalog-new .b-catalog-left-menu {
    min-width: 100%;
    max-width: 100%;
}


.b-catalog-items-list {
    width: 100%;
}

.b-catalog-item-list:hover .b-catalog-item-list__title a {
    text-decoration: underline;
    color: var(--color-primary-hover);
}

.b-catalog-items-list thead tr {
    border-top: 2px solid var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
}

.b-catalog-items-list th {
    font-weight: 400;
    padding-top: var(--size-6-12);
    padding-bottom: var(--size-6-12);
}


.b-catalog-items-list__th-filter {
    vertical-align: top;
    padding-right: var(--size-6-12);
    padding-left: var(--size-6-12);
}

.b-catalog-items-list__th-name {
    vertical-align: middle;
    text-align: center;
    font-family: var(--font-title-bold);
}

.b-catalog-item-list {
    border-bottom: solid 1px #e1e1e1;
    border-top: solid 1px #e1e1e1;
    transition: 0.1s;
}

.b-catalog-item-list:hover {
    /* background-color: #daf4ee; */
    /* z-index: 10; */
    /* border-color: var(--color-primary-hover); */
    box-shadow: var(--box-shadow-default);

  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.b-catalog-item-list td {
    padding-top: var(--size-6-12);
    padding-bottom: var(--size-6-12);
}

td.b-catalog-item-list__title {
    
    padding-right: var(--size-6-12);
    border-right: 1px solid #f0f0f0;
}

.b-catalog-item-list__title a {
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    height: 100%;
}

.b-catalog-item-list__image {
    padding-right: var(--size-6-12);
}

.b-catalog-item-list__image img {
    width: 64px;
}

.b-catalog-item-list__price {
    white-space: nowrap;
    padding-left: var(--size-6-12);
    padding-right: var(--size-6-12);

    border-left: 1px solid #f0f0f0;
}

.b-catalog-item-list__buy-wrap {
    border-left: 1px solid #f0f0f0;
}

.b-catalog-item-list__buy {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    padding: var(--size-6-12);
    border: 0;
    color: inherit;
    font: inherit;
    cursor: pointer;
    background-color: var(--color-white);
}

.b-catalog-item-list__buy svg {
    fill: var(--color-primary);
}

/* .b-catalog-item-list-params {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--size-6-12);
}

*/

.b-catalog-item-list-params__item-wrap {
    padding: var(--size-6-12);
}

.b-catalog-item-list-params__item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--size-4-6);
    align-items: center;
    font-size: var(--size-12-14);
    
} 

.b-catalog-item-list-params__value {
    white-space: nowrap;
}

.b-catalog-item-list-params__icon  {
    stroke: var(--color-gray-l-2);
    fill: var(--color-gray-l-2);
}

@media (max-width: 767px) {
    .b-catalog-items-list tbody tr {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }

    .b-catalog-items-list tbody td {
        box-sizing: border-box;
        min-width: 0;
    }

    /* 1 колонка — авто, например картинка */
    .b-catalog-items-list tbody td:first-child {
        flex: 0 0 auto;
        order: 1;
    }

    /* 2 колонка — занимает весь остаток первой строки */
    .b-catalog-items-list tbody td:nth-child(2) {
        flex: 1 1 0;
        width: 0;
        min-width: 0;
        order: 1;
    }

    /* перенос после 2-й колонки */
    .b-catalog-items-list tbody tr::before {
        content: "";
        flex: 0 0 100%;
        height: 0;
        order: 2;
    }

    /* средние колонки — авто */
    .b-catalog-items-list tbody td:nth-child(n + 3):not(:nth-last-child(-n + 2)) {
        flex: 0 0 auto;
        order: 3;
    }

    /* перенос перед последними двумя колонками */
    .b-catalog-items-list tbody tr::after {
        content: "";
        flex: 0 0 100%;
        height: 0;
        order: 4;
    }

    /* предпоследняя — 70% */
    .b-catalog-items-list tbody td:nth-last-child(2) {
        flex: 0 0 70%;
        max-width: 70%;
        order: 5;

        display: flex;
        align-items: center;
        justify-content: center;

        font-size: var(--size-16-18);

        border-left: none;
        border-top: 1px solid #f0f0f0;        
    }

    /* последняя — 30% */
    .b-catalog-items-list tbody td:last-child {
        flex: 0 0 30%;
        max-width: 30%;
        order: 5;
        border-left: none;
        border-top: 1px solid #f0f0f0;        
    }

    .b-catalog-item-list__title {
        line-height: 1.33;
    }

    .b-catalog-item-list__buy {
        flex-direction: row;
        gap: var(--size-6-12);
    }

    td.b-catalog-item-list-params__item-wrap {
        padding: 0;
        padding-right: var(--size-6-12);
    }
}

