: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-secondary: #2b2b2b;
	
	--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);
}

body.scroll-lock {
    overflow: hidden !important;
    overscroll-behavior: contain;
    position: relative !important;
    padding-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    margin-left: 0;
    margin-top: 0;
    margin-right: 15px !important;
}

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

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

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

.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;
}

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

.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;
}

header {
    background: #2b2b2b;
    color: var(--color-white);
    z-index: 1000;
}

header .logo img {
    width: auto;
    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;
}

.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 span {
    font-size: var(--size-12-14);
}

.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);
}

.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-24-60);
    line-height: 1;
    padding-top: 110px;
    font-weight: 300;
    color: var(--color-white);
}




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

    top:var(--header-h);
    /* height:calc(100vh - var(--header-h)); */

    /* 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-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;
}

@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));
    }

    .b-catalog-panel > div {
        height: 100%;
    }

    .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 {

}