.grid {
}

/* Убираем полупрозрачную блокировку карточки при загрузке */
.product-line-wrap.in-proccess::after {
    display: none !important;
}

.grid .bx_content_section {
    margin-bottom: 15px;
}

.grid .bx_sidebar {
    margin-bottom: 15px;
}

/* grid2x1 */
.grid2x1 {
}

.grid2x1 .bx_content_section {
    float: right;
    width: 750px;
    margin-bottom: 20px;
}

.grid2x1 .bx_sidebar {
    width: 290px;
    margin-bottom: 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.modal-open {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  max-width: 100%;
  background-color: #fff;
  border-radius: 20px;
  z-index: 1010;
  padding: 20px;
}
.modal-open.active{
	display: block;
}
.back-new-b{
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #0000002e;
  display: none;
}
#modal1 .content_new{
    height: 380px;
    overflow: auto;
}
.back-new-b.active{
	display: block;
}
#modal1 h2{
	text-align: center;
	font-weight: bold;
    font-size: 30px;
    line-height: 37px;
    color: #000000;
    margin-bottom: 20px;
}
#modal h2{
	text-align: center;
	font-weight: bold;
    font-size: 30px;
    line-height: 37px;
    color: #000000;
    margin-bottom: 20px;
}
.content_new p{
	font-weight: normal;
    font-size: 16px;
    line-height: 150%;
    color: #333333;
}
.content_new ul{
	list-style: circle;
}
.content_new ul li{
	margin-left: 20px;
	color: #000;
}
.content_new ul li ul li{
	margin-left: 40px;
}

.catalog_banner_new {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 200px;
    display: none;
}
.catalog_banner_new img {
    width: 100%;
    position: absolute;
    top: 0;
}
.catalog_banner_new button {
z-index: 1;
border-radius: 20px;
border: 1px solid #dadada;
background-color: #fff;
padding: 9px 19px;
margin: 7px 4px;
text-transform: uppercase;
height: 42px;
cursor: pointer;
font-size: 16px;
transition: .25s;
font-family: "ProximaNovaRegular", Arial, sans-serif;
text-align: center;
}
.catalog_banner_new button:hover{
border: 1px solid #235e45;

}
.bx_sidebar .prikaz590__buttonlink{background-color: #ffffff;}
      .prikaz590__buttonlink_wrapper {text-align: left;}

      .prikaz590__buttonlink{background-color: #ffffff;border-radius: 0px;padding: 0px 0px;color: #fff;line-height: 0%;margin-bottom: 0px;-webkit-transition: all 10.15s 10s ease;-moz-transition: all 10.15s 10s ease;-o-transition: all 10.15s 0s ease;transition: all 10.15s 10s ease;}
      .prikaz590__buttonlink h3{margin-bottom: 0;margin-top: 0;font-weight: 0;line-height: 0%;}
      .prikaz590__buttonlink span{font-weight: 0; font-size: 0px;}
.iframe_video_bottom {
	text-align:center;
}
.iframe_video_bottom:hover .b-filter-video__play img {
	-webkit-box-shadow: 0px -20px 20px 0px rgb(34 60 80 / 20%) inset;
    -moz-box-shadow: 0px -20px 20px 0px rgb(34 60 80, 0.2) inset;
    box-shadow: 0px -20px 20px 0px rgb(34 60 80 / 20%) inset;
}
.b-filter-video {
    margin-bottom: 10px;
    display: block;
    overflow: hidden;
    border-radius: 15px;
    max-height: 213px;
}
.b-filter-video__thumb {
    width: 100%;
}
.b-filter-video__header {
	font-weight: bold;
    font-size: 18px;
    line-height: 150%;
    color: #235e45;
    text-decoration: none;
    padding-top: 0;
    margin: 0 0 10px;
    font-family: "ProximaNovaRegular";
}
.b-filter-video:hover .b-filter-video__play {
	background-color: red;
}
.b-filter-video__play {
    background-color: rgb(0 0 0 / 37%);
    padding: 11px 19px 10px;
    display: inline-block;
    line-height: 1;
    color: #fff;
    text-indent: 6px;
    font-size: 32px;
    border-radius: 10px;
    position: absolute;
    margin: 80px auto 0px 105px;
}
.catalog-wrapper {
    display: grid;
    grid-template-columns: 25% 1fr;
    margin-bottom: 50px;
}
.catalog-wrapper.loading {
    pointer-events: none;
    opacity: 0.8;
}
.catalog-wrapper .button_1664371261767 {
    display: block !important;
    cursor: pointer;
}
.catalog-wrapper .button_1664371261767:hover  a {
    background-color: #006089 !important;
}

.catalog-wrapper.mobile-display .catalog-wrapper__list,
.catalog-wrapper.mobile-display .section-row {
    list-style-type: none;
}
.catalog-wrapper.mobile-display .section-row {
    margin-left: 10px;
}

.catalog-wrapper.mobile-display  .bx_content_section.new-bl {
    width: 100% !important;
}
.b-sidebar-wrapper{
	width: 25%;
	float: left;
  margin-bottom: 30px;
  -webkit-transition: background 0.1s 0s ease-in;
  -moz-transition: background 0.1s 0s ease-in;
  -o-transition: background 0.1s 0s ease-in;
  transition: background 0.1s 0s ease-in;
  display: flex;
  flex-direction: column;
}

.b-sidebar-fileblock{
  border-radius: 15px;
  -webkit-box-shadow: 0px 0px 8px 0px rgb(34 60 80 / 20%);
  -moz-box-shadow: 0px 0px 8px 0px rgba(34, 60, 80, 0.2);
  box-shadow: 0px 0px 8px 0px rgb(34 60 80 / 20%);
  overflow: hidden;
}
#vmMainPage h4.b-sidebar-fileblock__header {
  margin-bottom: 0;
  margin-top: 0;
}
.b-sidebar-fileblock__item {
    border-bottom: 1px solid #eee;
    display: block;
    padding: 20px;
    -webkit-transition: background 0.1s 0s ease-in;
    -moz-transition: background 0.1s 0s ease-in;
    -o-transition: background 0.1s 0s ease-in;
    transition: background 0.1s 0s ease-in;
}
.b-sidebar-fileblock__item:hover {
  background-color: #098e7940;
  text-decoration: none;
}
.d-flex {
    display: flex;
}
.product-characteristics__table.d-flex a {
    display: block;
    border: 1px solid #ccc;
    border-collapse: collapse;
    border-radius: 5px;
    margin-right: 10px;
    overflow: hidden;
}
.product-characteristics__table.d-flex img {
	width:100%;
}
#description .desc-text table.product-characteristics__table td {
    padding: 0 15px 15px 0px;
}
#description .desc-text table ul li {
    list-style: none;
    font-size: 16px;
    font-weight: 100;
    padding: 0;
    margin: 0;
}
.m-inproductlist.bannnerazd {
    margin-top: 0;
}

.button_1664371261767 {
    display: inline-block !important;
    text-decoration: none !important;
    background-color: #098e79 !important;
    color: #ffffff !important;
    border: 0px solid #098e79 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    padding: 10px 10px !important; 
    transition: all 0.8s ease !important;
vertical-align: center;
text-align: center;
}
.button_1664371261767:hover{
align-items: center;
    text-decoration: none !important; 
    background-color: #006089 !important;
    color: #ffeded !important;
    border-color: #104a19 !important;
}

.button_customleft {
    cursor: pointer;
    font-family: "ProximaNovaRegular", sans-serif;
    background-color: #ffffff;
    color: #295e45;
    font-size: 17px;
    border: none;
    padding: 8px 15px;
    border-radius: 50px;
    width: 100%;
    margin-bottom: 10px;
    min-height: 48px;
    align-content: center;
    border: 1px solid #295e45;
}
.button_customleft:hover {
    background-color: #e9efec; 
}



/*-----------------------------------------------------------------------------------*/
.dotted_section_list {
    border-bottom: dotted 2px #CCCCCC;
    margin-bottom: 30px;
}

.product_list_catalog {
    width: 100%;
    float: none;
    /*overflow: hidden;*/
    font-size: 0;
}

.product_list_catalog .product-item {
    margin-right: 5px;
    float: left;
}

.product_list_catalog .product-item > div {
    padding: 10px;
}

.product_list_catalog .col3 {
    width: 31%;
}

.product_list_catalog .col2 {
    width: 47%;
}

.product_list_catalog .col1 {
    width: 94%;
}

.product_list_catalog .image-wrapper {
    float: left;
    width: 90%;
    height: 100px;
    text-align: center;
}

.content {
    overflow: visible !important;
}

.product_list_catalog .s5_browseProductContainer h2 {
    height: 150px;
}

.product_list_catalog .s5_browseProductContainer h2 a {
    font-size: 12px;
    font-weight: bold;
    word-break: break-all;
}

.product_list_catalog .product-price-wrapper {
    text-align: center;
    font-size: 16px;
}

.product_list_catalog .button-submit-wrapper {
    float: left;
    width: 90%;
    margin-top: 3px;
    text-align: center;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22{
    background: #FFFFFF;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    border-radius: 24px;
    margin-bottom: 10px;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22:hover .plate-place{
    border: 1px solid transparent !important;
    border-radius: 24px;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22:hover{
    box-shadow: 0px 0px 4px 0px #235e45;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-place{
    border: 1px solid transparent !important;
    height: auto !important;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text{
    display: flex;
    align-items: baseline;
    flex-direction: unset;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text a{
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 16px;
    color: #000000;
    width: 59%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text .plate-product-price{
    font-weight: bold;
    font-size: 20px;
    line-height: 24px;
    color: #000000;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text .in-cart{
    background: unset;
    border: 1px solid #235e45;
    height: 40px;
    width: 40px;
    border-radius: 40px;
    padding-top: 0;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text .in-cart input{
    height: 58px;
    width: 58px;
    color: transparent;
    z-index: 999;
    position: relative;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text .in-cart::after{
    background: url(/upload/detail/shopping-cart.svg) no-repeat center /contain;
    width: 20px;
    height: 20px;
    margin-left: unset;
    transform: translateY(-48px) translateX(-1px);
    filter: brightness(0.5);
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text .b24-web-form-popup-btn-12.in-cart{
    color: transparent;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text .b24-web-form-popup-btn-12.in-cart::after{
    transform: unset;
}
.product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text .seacrh-text-catalog.new{
    font-weight: normal;
    font-size: 16px;
    line-height: 25px;
    text-decoration: none;
    color: #235e45;
    border-bottom: 1px solid #235e45;
    position: absolute;
    bottom: 0;
    right: 0;
    bottom: 20px;
    right: 45px;
    width: auto;
}
.block-otzv-detail-catalog.list{
    display: flex;
    position: absolute;
    bottom: 23px;
    left: 288px;
}
.fa-star.active_star{
    color: #f90;
}
.fa-star {
    color: #e1e1e1;
    width: 14px!important;
    height: 14px;
}
.fa-star:hover{
    color: #f90 !important;
}
.form-group.product__rating.js-rating{
    margin-bottom: 0;
    position: absolute;
    left: 150px;
    bottom: 24px;
}
.snt-howmuch{
    font-size: 13px;
    line-height: 24px;
    color: #000000;
    position: absolute;
    bottom: 24px;
    left: 250px;
}
.snt-howmuchs{
    font-size: 13px;
    line-height: 24px;
    color: #000000;
    position: absolute;
    bottom: 24px;
    left: 280px;
}
.snt-howmuchs img{
    padding-right: 6px;
}
body .date-text-new-catalogs{
    bottom: 27px;
    left: 345px;
}
.block_new{
    position: absolute;
    bottom: 23px;
    left: 250px;
    font-size: 13px;
    line-height: 24px;
    color: #000000;
}
.block_new + .block_new{
    display: none;
}
.form-group.product__rating.js-rating + .form-group.product__rating.js-rating{
    display: none;
}
ul.section-row {
    padding-left: 30px;
}
/* accordion */
.accordion-btn {
    --width: 30px;
    --height: 2px;
    --pad: 10px;

    position: relative;
    margin: 0;
    background-color: transparent;
    border: 1px solid transparent;
    cursor: pointer;
}
.accordion-btn::before,
.accordion-btn::after {
    position: absolute;
    background-color: #235e45;
    content: "";
}
.accordion-btn::before {
    top: 50%;
    transform: translateY(-50%);
    right: calc(var(--pad) + var(--width) / 2  - 1px);
    width: var(--height);
    height: var(--width);
    transition: transform 0.3s ease;
}
.accordion-btn::after {
    top: 50%;
    right: var(--pad);
    width: var(--width);
    height: var(--height);
    transform: translateY(-50%);
}
.accordion-btn.active::before {
    transform: translateY(-50%) rotate(90deg);
}
.accordion-btn.accordion-btn--small {
    --width: 20px;
    --pad: 10px;
}
.accordion-btn.accordion-btn--small::before {
    /* height: 20px;
    top: 10px; */
}
.accordion-btn.accordion-btn--small::after {
    /* width: 20px;
    right: 15px; */
}
.accordion-btn + div {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows 0.3s ease;
    will-change: grid-template-rows;
}
.catalog-wrapper__item {
    margin-bottom: 15px;
}
.catalog-wrapper__item-title.accordion-btn + div > div,
/* .js-accordion-trigger + div > ul, */
.js-accordion-trigger + div > *,
.js-accordion-trigger + [class^="section_id"] > div {
    min-height: 0;
    margin-top:0;
    transition: margin 0.3s ease;
}
.js-accordion-trigger.active + div {
    grid-template-rows: 1fr;
}
.js-accordion-trigger:not(.active) + div .new-show-catalog-cards {
    display: none !important;
}
.catalog-wrapper__item > .js-accordion-trigger + [class^="section_id"] {
    margin-top: 0;
    transition: margin 0.3s ease, grid-template-rows 0.3s ease;
}
.catalog-wrapper__item > .js-accordion-trigger.active + [class^="section_id"] {
    margin-top: 10px;
}
.js-accordion-trigger + [class^="section_id"] {
    margin-top: 0;
    transition: margin 0.3s ease, grid-template-rows 0.3s ease;
}
.js-accordion-trigger.active + [class^="section_id"] {
    margin-top: 10px;
}
/* .catalog-wrapper__item-title.accordion-btn + div > div,
.js-accordion-trigger.active + [class^="section_id"] > div:has(div),
.js-accordion-trigger.active + div > ul {
    margin-top: 15px;
} */
.catalog-wrapper__item-title  {
    font-family: "ProximaNovaRegular", sans-serif;
    font-size: 18px;
    border-radius: 50px;
    font-weight: 600;
    border: 1px solid #d1d1d1;
    background-color: #fff;
    text-align: left;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
}
.catalog-wrapper__item-title.accordion-btn {
    padding: 8px 20px;
    padding-right: 90px;
}

.catalog-wrapper__item-icon svg {
    display: block;
}

.catalog-wrapper__item-content > div > .section-row > li > span {
    display: flex;
    padding: 10px  40px 10px 0;
    border-bottom: 1px solid #dadada;
    transition: border-bottom .35s ease;
    font-weight: bold;
    align-items: center;
    gap: 8px;
}
.catalog-wrapper__item-content > div > .section-row > li > .accordion-btn.active {
    border-bottom: 1px solid #235e45;
    font-weight: bold;
}
.section-row > li .section-row > li > span {
    display: block;
    padding: 10px 40px 10px 0;
}
.catalog-wrapper .product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text{
    align-items: center;
    justify-content: space-around;
}
/* chekbox */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
}
.checkbox {
    flex-shrink: 0;
    align-self: center;
    padding: 1rem;
}
.checkbox label {
    display: block;
    position: relative;
    cursor: pointer;
    width: 20px;
    aspect-ratio: 1;
}
.checkbox input + label::before {
    content: ''; 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1;
    border: 1px solid #dadada;
    border-radius: 5px;
    transition: border-color 0.3s ease;
}
.checkbox input + label::after {
    content: ''; 
    position: absolute;
    left: 8px;
    top: 2px;
    width: 6px;
    height: 12px;
    border-right: 2px solid #235e45; 
    border-bottom: 2px solid #235e45; 
    transform: rotate(45deg);
    opacity: 0; 
    visibility: hidden;
    transition: opacity 0.3s ease;
}
.checkbox input:checked + label::after{
    opacity: 1;
    visibility: visible;
}

.catalog-wrapper.mobile-display .checkbox {
    padding: 0.5rem;
}

.plate-place .plate-product-image {
    height: 115px;
}
.catalog-wrapper.mobile-display .plate-place {
    flex-wrap: wrap;
}   
.catalog-wrapper.mobile-display .product_list_catalog .plate-product-image{
    flex: 0 1 100px;
}
.catalog-wrapper.mobile-display .product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text {
    flex: 0 1 calc(100% - 140px);
    display: block;
    margin-bottom: 10px !important;
}
.catalog-wrapper.mobile-display .product_list_catalog.new-show-catalog-cards .plate.catalog-plate.catalog-plate22 .plate-product-text a {
    width: 100%;
}

.catalog-wrapper.mobile-display .product_list_catalog .plate-place__counter {
    padding: 0;
    margin-left: 140px;
}
.plate-product-prikaz {
    color: cadetblue;
}
/* counter */
.plate-place__counter {
    align-self: center;
}
.counter {
    display: grid;
    grid-template-columns: repeat(3, 32px);
    padding: 1rem;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none; 
  margin: 0; 
}
input[type=number] {
    -moz-appearance:textfield;
}
.counter >  {
    width: 100%;
    height: 100%;
}
.counter > *:not(.counter__value) {
cursor: pointer;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex: none;
    margin: 0px -13px;
    font-size: 20px;
}
.counter__decrease,
.counter__increase {
    position: relative;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

.counter__decrease::after {
    content: '-';
}
.counter__value {
    border: none;
    border-top: 1px solid #dadada;
    border-bottom: 1px solid #dadada;
    outline: none;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
}

.counter__increase::after {
    content: '+';
}

.btn-icon {
    display: block;
    width: 45px;
    aspect-ratio: 1;
    position: relative;
    border: none;
    background-color: transparent;
    cursor: pointer;
}
.btn-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    aspect-ratio: 1;
    background: url("./img/exel.png") center center / contain no-repeat;
}

.product_list_catalog h3{
    padding-bottom: 5px;
    display: none; 
}
.product_list_catalog .section_elements{
    padding: 0px 8px;
}

.product_list_catalog .section_elements:first-child {
    padding-top: 8px;
}

.product_list_catalog .section_elements:last-child {
    padding-bottom: 8px;
}

.mobile-display .plate-product-text a{
    line-height: 1.5 !important;
}
.catalog-wrapper__item a span.plate-product-prikaz {
    display: block;
    margin-bottom: 10px;
    color: #000000;
}
.catalog-wrapper__item a span.plate-product-prikaz span{
    font-weight: 600;
}

body .bread-cramp {
    opacity: 1;
    height: auto;
    margin-top: 1em;
}

.button_1664371261767 {
	text-transform: uppercase;
}
.header_filter.new-panel {
    background: #098E79;
    border-radius: 15px 15px 0px 0px;
    font-weight: bold;
    font-size: 18px;
    line-height: 150%;
    color: #FFFFFF;
    padding: 15px 25px;
}
/* 

.title-main-pagess {
    margin-bottom: 16px !important;
    font-size: 30px !important;
    line-height: 1;
} */

/* ==========================================
   БЛОК "КАТАЛОГ" — единый стиль как у фильтра
   ========================================== */
.sidebar-catalog {
    background: #FFFFFF;
    border-radius: 24px;
    margin-bottom: 20px;
    overflow: hidden;
    border: 1px solid #295e45;
}

.sidebar-catalog__title {
    border-radius: 0;
    display: block;
    font-weight: bold;
    font-size: 18px;
    color: #FFFFFF;
    background: #235E45;
    padding: 10px 15px;
    text-align: center;
    margin: 0;
}

.sidebar-catalog-sections {
    border: none;
    border-radius: 0;
    padding: 10px 15px;
}

/* ==========================================
   ФИЛЬТР "ПРОИСХОЖДЕНИЕ"
   ========================================== */
.sidebar-filter {
    background: #FFFFFF;
    border-radius: 24px;
    margin-bottom: 20px;
    overflow: visible;
    border: 1px solid #295e45;
}

/* Фильтр + Каталог прилипают при скролле (десктоп) */
@media screen and (min-width: 768px) {
    .sidebar-sticky-group {
        position: sticky;
        top: 137px;
        z-index: 10;
        display: flex;
        flex-direction: column;
    }

    /* Отменяем собственный sticky у каталога — теперь sticky у группы */
    .sidebar-catalog {
        position: static;
    }
}

/* В табличном виде — каталог сверху, фильтр снизу */
#vmMainPage.catalog-type--table .sidebar-filter {
    order: 2;
}

#vmMainPage.catalog-type--table .sidebar-catalog {
    order: 1;
}

/* Кнопки в сайдбаре видны в обоих режимах */
#vmMainPage.catalog-type--table .sidebar-buttons {
    display: block !important;
}

.sidebar-filter__title {
    font-weight: bold;
    font-size: 18px;
    color: #FFFFFF;
    background: #235E45;
    padding: 10px 15px;
    text-align: center;
    border-radius: 22px 22px 0 0;
}

.sidebar-filter__items {
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-radius: 0 0 22px 22px;
}

/* Чекбокс — стиль из корзины */
.filter-checkbox-label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
    font-weight: normal;
    color: #333;
    margin: 0;
    font-size: 16px;
}

.filter-checkbox-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    background: transparent;
    border: 1px solid #235E45;
    border-radius: 5px;
    cursor: pointer;
    position: relative;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
    outline: none;
    transition: border-color 0.2s ease;
}

.filter-checkbox-label input[type="checkbox"]:checked {
    background: transparent;
    border-color: #235E45;
}

.filter-checkbox-label input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 1px;
    width: 5px;
    height: 11px;
    border: solid #235E45;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.filter-checkbox-label input[type="checkbox"]:indeterminate {
    background: transparent;
    border-color: #235E45;
}

.filter-checkbox-label input[type="checkbox"]:indeterminate::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 9px;
    width: 11px;
    height: 2px;
    background: #235E45;
    border-radius: 1px;
}

/* Разделитель перед "Оптимально для закупки" */
.filter-checkbox-label--optimal {
    margin-top: 4px;
    padding-top: 12px;
    font-weight: bold;
    color: #333;
}

.filter-optimal-row {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid #d1d1d1;
}

.filter-optimal-row .filter-checkbox-label--optimal {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

/* Иконка info и тултип (как в корзине) */
.filter-info-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url('/local/images/svg/info_icon.svg') no-repeat center / contain;
    cursor: pointer;
    vertical-align: middle;
    margin-left: 8px;
    flex-shrink: 0;
    position: relative;
}

.filter-info-tooltip {
    display: none;
    position: fixed;
    z-index: 9999;
    transform: translateX(-50%);
    background: #295e45;
    color: #fff;
    border-radius: 25px;
    padding: 10px 18px;
    font-size: 13px;
    white-space: normal;
    width: 250px;
    text-align: left;
    line-height: 1.5;
    font-weight: normal;
}

.filter-info-tooltip--visible {
    display: block;
}

.filter-info-tooltip::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: var(--arrow-offset, 50%);
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #295e45;
}

@media (max-width: 500px) {
    .filter-info-tooltip {
        width: 220px;
    }
}

/* Сообщение "нет товаров" */
.filter-empty-message {
    padding: 20px;
    text-align: center;
    font-size: 16px;
    color: #333;
    background: #efefef;
    border-radius: 24px;
    margin: 10px 0;
}

/* В табличном виде */
.catalog-table + .filter-empty-message {
    padding: 40px 20px;
    font-size: 18px;
}

/* Происхождение в таблице */
.table-manufacturer-label {
    display: inline-block;
}
.table-mf-russia {
    color: #295e45;
}
.table-mf-mpt {
    color: #1e459e;
}
.table-mf-other {
    color: #666;
}

/* На мобильных — группа не sticky */
@media (max-width: 767px) {
    .sidebar-sticky-group {
        position: static;
    }
}

/* ==========================================
   CATALOG-HEAD — сохранить слева, переключатель справа
   ========================================== */
.bx_content_section .catalog-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

/* В табличном виде убираем лишние отступы */
#vmMainPage.catalog-type--table .bx_content_section .catalog-head {
    margin-bottom: 10px;
    position: static;
}

#vmMainPage.catalog-type--table .catalog-switch__type {
    position: static;
    top: auto;
}

/* ==========================================
   ПЕРЕКЛЮЧАТЕЛИ РЕЖИМОВ — иконки через CSS
   ========================================== */
.catalog-switch__type-item {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
    opacity: 0.3;
    transition: opacity 0.2s ease;
    box-sizing: content-box;
}

.catalog-switch__type-item.accordeon {
    background-image: url('/local/images/svg/accordeons_view_icon.svg');
    margin-right: 8px;
}

.catalog-switch__type-item.table {
    background-image: url('/local/images/svg/table_view_icon.svg');
}

.catalog-switch__type-item img {
    display: none;
}

/* Активная иконка — зелёная (opacity: 1) */
#vmMainPage:not(.catalog-type--table) .catalog-switch__type-item.accordeon,
#vmMainPage.catalog-type--table .catalog-switch__type-item.table {
    opacity: 1;
}

/* ==========================================
   ССЫЛКА "СОХРАНИТЬ В ФАЙЛ" (как в корзине)
   ========================================== */
.catalog-head .button-link.save {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #333;
    font-size: 16px;
    text-decoration: none;
    line-height: normal;
}

.catalog-head .button-link.save .icon {
    width: 17px;
    height: 19px;
    background: url('/local/images/svg/save_xlsx.svg') no-repeat center;
    background-size: contain;
    flex-shrink: 0;
}

.catalog-head .button-link.save:hover .text {
    text-decoration: underline;
    color: #295e45;
}

/* Скрываем старую кнопку из компонента */
.cart-action-btn.custom-btn.js-load-list {
    display: none !important;
}

/* ==========================================
   ТАБЛИЦА — цвет шрифта и центрирование
   ========================================== */
.catalog-table {
    color: #000;
}

.catalog-table tr.catalog-plate22 td:first-child,
.catalog-table tr.catalog-plate22 td:nth-child(3),
.catalog-table tr.catalog-plate22 td:nth-child(5) {
    text-align: center;
}

/* ==========================================
   КАРТОЧКА ТОВАРА: "В корзину" → счётчик + удалить
   (стили как на странице товара)
   ========================================== */

/* Кнопка "В корзину" — зелёная, с иконкой корзины */
.product-list .add-to-cart:not(.no-show) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 24px;
    background: #235E45;
    color: #fff;
    border: none;
    border-radius: 24px;
    font-size: 18px;
    cursor: pointer;
    transition: .2s ease;
    white-space: nowrap;
    font-family: ProximaNovaRegular, sans-serif;
    gap: 8px;
    text-decoration: none;
    width: auto;
    min-width: auto;
}
.product-list .add-to-cart:not(.no-show)::before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    background: url(/local/images/svg/basket_icon.svg) no-repeat center / contain;
    filter: brightness(0) invert(1);
}
.product-list .add-to-cart:not(.no-show):hover {
    background: #2d7758;
}

/* Блок "в корзине": удалить + счётчик — скрыт по умолчанию */
.product-in-cart-block {
    display: none;
    align-items: center;
    gap: 10px;
}

/* Счётчик — как swimming-counter */
.product-list .product-count {
    display: flex;
    align-items: center;
    gap: 2px;
    border: 1px solid #d1d1d1;
    border-radius: 24px;
    height: 40px;
    padding-inline: 2px;
    margin: 0;
}
.product-list .product-count__btn {
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: relative;
    border: none;
    background: transparent;
    user-select: none;
    transition: background .2s ease;
    font-size: 0;
    color: transparent;
}
.product-list .product-count__btn.product-count__plus::before,
.product-list .product-count__btn.product-count__plus::after {
    content: '';
    position: absolute;
    background-color: #235E45;
    border-radius: 2px;
}
.product-list .product-count__btn.product-count__plus::before {
    width: 12px;
    height: 2px;
}
.product-list .product-count__btn.product-count__plus::after {
    width: 2px;
    height: 12px;
}
.product-list .product-count__btn.product-count__minus::after {
    content: '';
    position: absolute;
    width: 12px;
    height: 2px;
    background-color: #235E45;
    border-radius: 2px;
}
.product-list .product-count__value {
    width: 42px;
    text-align: center;
    border: none;
    padding: 2px;
    outline: none;
    font-size: 20px;
    color: #000;
    background: transparent;
    -moz-appearance: textfield;
}
.product-list .product-count__value::-webkit-outer-spin-button,
.product-list .product-count__value::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.product-list .product-count__value:focus {
    border: 1px solid #ddd;
    border-radius: 4px;
}

/* Кнопка удаления — красная круглая с иконкой корзины */
.product-remove-btn {
    width: 40px;
    height: 40px;
    border: 1px solid #C0392B;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}
.product-remove-btn::before {
    content: "";
    display: block;
    width: 20px;
    height: 22px;
    margin: auto;
    background-image: url("/local/images/svg/to-trash.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.product-remove-btn:hover {
    background: #ffe8e6;
}

/* Состояние "в корзине" */
.product-line-wrap.product--in-cart .add-to-cart {
    display: none !important;
}
.product-line-wrap.product--in-cart .product-in-cart-block {
    display: flex;
}

.line-product-text__data {
    justify-items: end;
}

/* Убираем тень при наведении на карточки товаров */
.product_list_catalog.new-show-catalog-cards .product-line-wrap:hover,
.product_list_catalog.new-show-catalog-cards .product-list:hover {
    box-shadow: none !important;
}
