/* =============================================
   Эплпен — страница каталога
   Карточки: product.css (.catalog-card, .products-grid)
   ============================================= */

   *, *::before, *::after { box-sizing: border-box; }

   body.catalog-page {
     margin: 0;
     font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
     font-size: 14px;
     line-height: 1.5;
     color: #1d1d1f;
     background: #ffffff;
     -webkit-font-smoothing: antialiased;
   }
   
   img { max-width: 100%; height: auto; display: block; }
   button { font-family: inherit; cursor: pointer; border: none; background: none; padding: 0; }
   a { color: inherit; text-decoration: none; }
   ul { margin: 0; padding: 0; list-style: none; }
   
   .container {
     max-width: 1440px;
     margin: 0 auto;
     padding: 0 40px;
   }
   
   .breadcrumbs {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 8px;
     padding: 20px 0 16px;
     font-size: 13px;
     color: #6e6e73;
   }
   
   .breadcrumbs a:hover { color: #8B8AA4; }
   .breadcrumbs__sep { color: #aeaeb2; }
   
   .catalog-page {
     padding-bottom: 64px;
   }
   
   .catalog-page__title {
     margin: 0 0 24px;
     font-size: 32px;
     font-weight: 700;
     letter-spacing: -0.02em;
     color: #3D4453;
   }
   
   /* ---- Brand chips (horizontal scroll) ---- */
   
   .catalog-brands {
     position: relative;
     margin-bottom: 24px;
   }
   
   .catalog-brands::after {
     content: "";
     position: absolute;
     top: 0;
     right: 0;
     bottom: 10px;
     width: 48px;
     background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
     pointer-events: none;
   }
   
   .catalog-brands__scroll {
     display: flex;
     flex-wrap: nowrap;
     gap: 8px;
     overflow-x: auto;
     padding-bottom: 10px;
     -webkit-overflow-scrolling: touch;
     scrollbar-width: thin;
     scrollbar-color: #d1d1d6 transparent;
   }
   
   .catalog-brands:hover .catalog-brands__scroll {
     scrollbar-color: #aeaeb2 #f5f5f7;
   }
   
   .catalog-brands__scroll::-webkit-scrollbar {
     height: 6px;
   }
   
   .catalog-brands__scroll::-webkit-scrollbar-track {
     background: transparent;
     border-radius: 3px;
   }
   
   .catalog-brands__scroll::-webkit-scrollbar-thumb {
     background: #d1d1d6;
     border-radius: 3px;
   }
   
   .catalog-brands:hover .catalog-brands__scroll::-webkit-scrollbar-track {
     background: #f5f5f7;
   }
   
   .catalog-brands:hover .catalog-brands__scroll::-webkit-scrollbar-thumb {
     background: #aeaeb2;
   }
   
   .catalog-brands:hover .catalog-brands__scroll::-webkit-scrollbar-thumb:hover {
     background: #8e8e93;
   }
   
   .catalog-brand-chip {
     display: flex;
     flex: 0 0 auto;
     align-items: center;
     gap: 12px;
     width: 188px;
     min-height: 72px;
     padding: 8px 12px 8px 8px;
     border-radius: 4px;
     background: #f5f5f7;
     transition: background 0.2s;
   }
   
   .catalog-brand-chip:hover {
     background: #ececf0;
   }
   
   .catalog-brand-chip__icon {
     flex-shrink: 0;
     width: 56px;
     height: 56px;
     border-radius: 12px;
     object-fit: contain;
     background: #ffffff;
   }
   
   .catalog-brand-chip__meta {
     display: flex;
     flex-direction: column;
     gap: 2px;
     min-width: 0;
   }
   
   .catalog-brand-chip__name {
     font-size: 14px;
     font-weight: 600;
     line-height: 1.25;
     color: #3D4453;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
   }
   
   .catalog-brand-chip__count {
     font-size: 12px;
     line-height: 1.3;
     color: #6e6e73;
     white-space: nowrap;
   }
   
   /* ---- Layout ---- */
   
   .catalog-layout {
     display: grid;
     grid-template-columns: 280px minmax(0, 1fr);
     gap: 32px;
     align-items: start;
   }
   
   /* ---- Filters ---- */

   .catalog-filters {
     position: relative;
   }

   .catalog-filters__panel {
     display: flex;
     flex-direction: column;
   }

   .catalog-controls {
     display: none;
   }

   .catalog-filters__toggle {
     display: none;
     align-items: center;
     justify-content: flex-start;
     gap: 8px;
     flex-shrink: 0;
     width: auto;
     margin-bottom: 0;
     padding: 0;
     border: none;
     border-radius: 0;
     background: transparent;
     font-size: 14px;
     font-weight: 500;
     line-height: 1;
     color: #3D4453;
   }

   .catalog-filters__toggle-label {
     line-height: 1;
   }

   .catalog-filters__toggle-icon {
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     width: 20px;
     height: 20px;
     color: #3D4453;
   }

   .catalog-filters__indicator {
     display: none;
     position: absolute;
     top: -1px;
     right: -1px;
     width: 9px;
     height: 9px;
     border: 1.5px solid #ffffff;
     border-radius: 50%;
     background: #EF2626;
   }

   .catalog-filters__toggle.has-active-filters .catalog-filters__indicator {
     display: block;
   }

   .catalog-filters__overlay {
     display: none;
   }

   .catalog-filters__header {
     display: none;
   }

   .catalog-filters__heading {
     margin: 0;
     font-size: 16px;
     font-weight: 600;
     line-height: 1.2;
     color: #3D4453;
     text-align: center;
   }

   .catalog-filters__scroll {
     min-height: 0;
     padding-bottom: 120px;
   }

   .catalog-filters__reset--header {
     display: none;
   }

   .catalog-filters__close {
     display: none;
   }

   .catalog-filter {
     border-bottom: none;
   }

   .catalog-filter__toggle {
     display: flex;
     align-items: center;
     justify-content: space-between;
     width: 100%;
     padding: 20px 0 12px;
     font-size: 15px;
     font-weight: 600;
     color: #3D4453;
     text-align: left;
   }

   .catalog-filter:first-child .catalog-filter__toggle {
     padding-top: 0;
   }

   .catalog-filter__icon {
     position: relative;
     flex-shrink: 0;
     width: 20px;
     height: 20px;
   }

   .catalog-filter__icon::before,
   .catalog-filter__icon::after {
     content: "";
     position: absolute;
     background: #3D4453;
     border-radius: 1px;
   }

   .catalog-filter__toggle[aria-expanded="true"] .catalog-filter__icon::before {
     top: 50%;
     left: 3px;
     right: 3px;
     height: 2px;
     transform: translateY(-50%);
   }

   .catalog-filter__toggle[aria-expanded="true"] .catalog-filter__icon::after {
     display: none;
   }

   .catalog-filter__toggle[aria-expanded="false"] .catalog-filter__icon::before {
     top: 50%;
     left: 3px;
     right: 3px;
     height: 2px;
     transform: translateY(-50%);
   }

   .catalog-filter__toggle[aria-expanded="false"] .catalog-filter__icon::after {
     top: 3px;
     bottom: 3px;
     left: 50%;
     width: 2px;
     transform: translateX(-50%);
   }

   .catalog-filter__body {
     padding-bottom: 4px;
   }

   .catalog-filter__body[hidden] {
     display: none;
   }

   .catalog-filter__list {
     display: flex;
     flex-direction: column;
     gap: 2px;
   }

   .catalog-filter__list--collapsed .catalog-filter__item:nth-child(n+6) {
     display: none;
   }

   .catalog-colors--collapsed .catalog-color:nth-child(n+6) {
     display: none;
   }

   .catalog-filter__item label {
     display: flex;
     align-items: center;
     gap: 10px;
     min-height: 40px;
     padding: 8px 10px;
     border-radius: 8px;
     cursor: pointer;
     transition: background 0.15s;
   }

   .catalog-filter__item label:hover {
     background: #f5f5f7;
   }

   .catalog-filter__item:has(input:checked) label {
     background: #f5f5f7;
   }

   .catalog-filter__select {
     width: 100%;
     height: 40px;
     padding: 0 12px;
     border: 1px solid #DFDEEF;
     border-radius: 10px;
     background: #ffffff;
     font-family: inherit;
     font-size: 14px;
     color: #3D4453;
   }

   .products-grid.is-loading {
     opacity: 0.55;
     pointer-events: none;
   }

   .catalog-filter__checkbox {
     flex-shrink: 0;
     width: 20px;
     height: 20px;
     margin: 0;
     border: 1px solid #DFDEEF;
     border-radius: 4px;
     background: #ffffff;
     cursor: pointer;
     appearance: none;
     -webkit-appearance: none;
     position: relative;
     transition: background 0.15s, border-color 0.15s;
   }

   .catalog-filter__checkbox:checked {
     background: #55b555;
     border-color: #55b555;
   }

   .catalog-filter__checkbox:checked::after {
     content: "";
     position: absolute;
     left: 6px;
     top: 2px;
     width: 5px;
     height: 10px;
     border: solid #ffffff;
     border-width: 0 2px 2px 0;
     transform: rotate(45deg);
   }

   .catalog-filter__checkbox:focus-visible {
     outline: 2px solid rgba(85, 181, 85, 0.35);
     outline-offset: 2px;
   }

   .catalog-filter__label-text {
     font-size: 14px;
     line-height: 1.3;
     color: #3D4453;
   }

   .catalog-filter__more {
     margin-top: 10px;
     padding: 0;
     font-size: 14px;
     font-weight: 500;
     color: #8B8AA4;
     text-align: left;
   }

   .catalog-filter__more:hover {
     text-decoration: underline;
   }

   /* Price */

   .catalog-price {
     margin-bottom: 6px;
   }

   .catalog-price__box {
     position: relative;
     background: #f5f5f7;
     border-radius: 10px;
     padding: 14px 16px 18px;
   }
   .catalog-price__values label.catalog-price__part {
      gap: 5px;
  }
   .catalog-price__values {
     display: flex;
     align-items: baseline;
     justify-content: center;
     flex-wrap: nowrap;
     gap: 0px;
     margin-bottom: 0;
     font-size: 14px;
     line-height: 1.2;
     white-space: nowrap;
   }

   .catalog-price__part {
     display: inline-flex;
     align-items: baseline;
     gap: 4px;
     cursor: text;
   }

   .catalog-price__part--max {
     gap: 4px;
   }

   .catalog-price__label,
   .catalog-price__sep,
   .catalog-price__currency {
     color: #8B8AA4;
     font-weight: 400;
     flex-shrink: 0;
   }

   .catalog-price__currency {
     margin-left: 2px;
   }

   .catalog-price__input {
     width: 80px;
     min-width: 0;
     padding: 0;
     border: none;
     outline: none;
     background: transparent;
     font-family: inherit;
     font-size: 14px;
     font-weight: 600;
     line-height: 1.2;
     color: #1d2849;
   }

   .catalog-price__input--max {
     width: 62px;
   }

   .catalog-price__slider {
     position: absolute;
     left: 16px;
     right: 16px;
     bottom: 0;
     height: 16px;
     transform: translateY(50%);
   }

   .catalog-price__slider-rail {
     position: absolute;
     top: 50%;
     left: 0;
     right: 0;
     height: 2px;
     transform: translateY(-50%);
     pointer-events: none;
   }

   .catalog-price__slider-fill {
     position: absolute;
     top: 0;
     bottom: 0;
     left: 15%;
     right: 78%;
     background: #1d2849;
     border-radius: 1px;
   }

   .catalog-price__range {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 16px;
     margin: 0;
     padding: 0;
     appearance: none;
     -webkit-appearance: none;
     background: transparent;
     pointer-events: none;
   }

   .catalog-price__range::-webkit-slider-runnable-track {
     height: 2px;
     background: transparent;
     border: none;
   }

   .catalog-price__range::-moz-range-track {
     height: 2px;
     background: transparent;
     border: none;
   }

   .catalog-price__range::-webkit-slider-thumb {
     appearance: none;
     -webkit-appearance: none;
     pointer-events: auto;
     width: 12px;
     height: 12px;
     margin-top: -5px;
     border: none;
     border-radius: 50%;
     background: #1d2849;
     cursor: grab;
   }

   .catalog-price__range:active::-webkit-slider-thumb {
     cursor: grabbing;
   }

   .catalog-price__range::-moz-range-thumb {
     pointer-events: auto;
     width: 12px;
     height: 12px;
     border: none;
     border-radius: 50%;
     background: #1d2849;
     cursor: grab;
   }

   .catalog-price__range--min {
     z-index: 3;
   }

   .catalog-price__range--max {
     z-index: 2;
   }

   .catalog-price__range--min.is-active,
   .catalog-price__range--max.is-active {
     z-index: 5;
   }

   /* Colors */

   .catalog-colors {
     display: flex;
     flex-direction: column;
     gap: 2px;
   }

   .catalog-color {
     display: flex;
     align-items: center;
     gap: 10px;
     min-height: 40px;
     padding: 8px 10px;
     border-radius: 8px;
     cursor: pointer;
     transition: background 0.15s;
   }

   .catalog-color:hover {
     background: #f5f5f7;
   }

   .catalog-color.is-checked,
   .catalog-color:has(input:checked) {
     background: #f5f5f7;
   }

   .catalog-color input {
     display: none;
   }

   .catalog-color__swatch {
     flex-shrink: 0;
     width: 20px;
     height: 20px;
     border-radius: 50%;
     border: 1px solid rgba(0, 0, 0, 0.08);
     box-sizing: border-box;
     transition: border 0.15s;
   }

   .catalog-color.is-checked .catalog-color__swatch,
   .catalog-color:has(input:checked) .catalog-color__swatch {
     border: 4px solid #8B8AA4;
   }

   .catalog-color__name {
     font-size: 14px;
     color: #3D4453;
   }

   .catalog-filters__actions {
     display: flex;
     flex-direction: column;
     gap: 12px;
     position: sticky;
     bottom: 0;
     z-index: 2;
     margin-top: -120px;
     padding: 16px 0 24px;
     border-top: 1px solid #F0F0F5;
     background: #ffffff;
     /* box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.06); */
   }

   .catalog-filters__apply {
     height: 48px;
     border-radius: 25px;
     background: #3D4453;
     color: #ffffff;
     font-size: 15px;
     font-weight: 600;
     transition: background 0.2s;
   }

   .catalog-filters__apply:hover {
     background: #151d36;
   }

   .catalog-filters__reset {
     font-size: 14px;
     font-weight: 500;
     color: #2E2E2E;
     text-align: center;
   }

   .catalog-filters__reset:hover {
     text-decoration: underline;
   }
   
   /* ---- Main ---- */
   
   .catalog-main {
     min-width: 0;
   }
   
   .catalog-banner {
     display: flex;
     align-items: center;
     justify-content: center;
     min-height: 56px;
     margin-bottom: 16px;
     /* padding: 12px 20px; */
     border-radius: 10px;
     /* background: #262626; */
     /* color: #ffffff; */
     /* font-size: 14px; */
     /* font-weight: 600; */
     /* text-align: center; */
     transition: background 0.2s;
   }
   
   .catalog-banner:hover {
     background: #1a1a1a;
   }
   
   .catalog-banner__icon {
     flex-shrink: 0;
     margin-right: 8px;
   }
   
   .catalog-toolbar {
     display: grid;
     grid-template-columns: minmax(0, 1fr) auto;
     align-items: start;
     gap: 12px 24px;
     margin-bottom: 20px;
   }

   .catalog-tags {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     min-width: 0;
   }

   .catalog-tag {
     display: inline-flex;
     align-items: center;
     height: 36px;
     padding: 0 14px;
     border: none;
     border-radius: 999px;
     background: #F5F5F9;
     font-family: inherit;
     font-size: 14px;
     font-weight: 500;
     line-height: 1;
     color: #3D4453;
     cursor: pointer;
     transition: background 0.15s;
   }

   .catalog-tag:hover {
     background: #ececf1;
   }

   .catalog-tag.is-active {
     gap: 8px;
     padding: 0 12px 0 14px;
     background: #3D4453;
     color: #ffffff;
     cursor: default;
   }

   .catalog-tag.is-active:hover {
     background: #3D4453;
   }

   .catalog-tag__remove {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 20px;
     height: 20px;
     margin-right: -2px;
     border-radius: 50%;
     color: rgba(255, 255, 255, 0.75);
     font-size: 18px;
     line-height: 1;
     cursor: pointer;
     transition: color 0.15s, background 0.15s;
   }

   .catalog-tag__remove:hover {
     color: #ffffff;
     background: rgba(255, 255, 255, 0.15);
   }

   .catalog-sort {
     display: flex;
     align-items: center;
     flex-wrap: nowrap;
     gap: 20px;
     flex-shrink: 0;
     padding-top: 4px;
   }

   .catalog-sort--mobile {
     display: none;
   }

   .catalog-sort--desktop {
     display: flex;
   }

   .catalog-sort-mobile {
     display: none;
     position: relative;
     flex-shrink: 0;
   }

   .catalog-sort-mobile__toggle {
     display: flex;
     align-items: center;
     justify-content: flex-start;
     gap: 8px;
     padding: 0;
     border: none;
     background: transparent;
     font-size: 14px;
     font-weight: 500;
     line-height: 1;
     color: #3D4453;
   }

   .catalog-sort-mobile__icon {
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     width: 20px;
     height: 20px;
     color: #3D4453;
   }

   .catalog-sort-mobile__indicator {
     display: none;
     position: absolute;
     top: -1px;
     right: -1px;
     width: 9px;
     height: 9px;
     border: 1.5px solid #ffffff;
     border-radius: 50%;
     background: #EF2626;
   }

   .catalog-sort-mobile__toggle.has-active-sort .catalog-sort-mobile__indicator {
     display: block;
   }

   .catalog-sort-mobile__overlay,
   .catalog-sort-mobile__panel,
   .catalog-sort-mobile__header {
     display: none;
   }

   .catalog-sort-mobile__group-title {
     margin: 0 0 8px;
     font-size: 15px;
     font-weight: 600;
     color: #3D4453;
   }

   .catalog-sort-mobile__group {
     padding: 16px 0;
     border-bottom: 1px solid #F0F0F5;
   }

   .catalog-sort-mobile__group:last-child {
     border-bottom: none;
   }

   .catalog-sort-mobile__options {
     display: flex;
     flex-direction: column;
     gap: 4px;
   }

   .catalog-sort-mobile__option {
     display: flex;
     align-items: center;
     min-height: 40px;
     padding: 8px 12px;
     border-radius: 8px;
     font-size: 14px;
     font-weight: 500;
     color: #3D4453;
     transition: background 0.15s;
   }

   .catalog-sort-mobile__option:hover {
     background: #f5f5f7;
   }

   .catalog-sort-mobile__option.is-selected {
     background: #F5F5F9;
     color: #3D4453;
   }

   .catalog-sort-mobile__option.is-selected::before {
     content: "";
     flex-shrink: 0;
     width: 16px;
     height: 16px;
     margin-right: 10px;
     border-radius: 50%;
     background: #3D4453;
     box-shadow: inset 0 0 0 3px #F5F5F9;
   }

   .catalog-sort-mobile__option:not(.is-selected)::before {
     content: "";
     flex-shrink: 0;
     width: 16px;
     height: 16px;
     margin-right: 10px;
     border: 1.5px solid #DFDEEF;
     border-radius: 50%;
   }

   .catalog-sort__drop {
     position: relative;
   }

   .catalog-sort__toggle {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     padding: 4px 0;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 14px;
     font-weight: 500;
     line-height: 1.2;
     color: #3D4453;
     cursor: pointer;
     white-space: nowrap;
   }

   .catalog-sort__toggle:hover {
     color: #1d2849;
   }

   .catalog-sort__toggle:focus-visible {
     outline: 2px solid #8B8AA4;
     outline-offset: 2px;
     border-radius: 4px;
   }

   .catalog-sort__chevron {
     flex-shrink: 0;
     width: 10px;
     height: 10px;
     background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%233D4453' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
     transition: transform 0.2s;
   }

   .catalog-sort__drop.is-open .catalog-sort__chevron {
     transform: rotate(180deg);
   }

   .catalog-sort__menu {
     position: absolute;
     top: calc(100% + 8px);
     right: 0;
     z-index: 30;
     display: none;
     flex-direction: column;
     min-width: 184px;
     padding: 8px 0;
     border: 1px solid #DFDEEF;
     border-radius: 10px;
     background: #ffffff;
     box-shadow: 0 8px 24px rgba(61, 68, 83, 0.12);
   }

   .catalog-sort__drop.is-open .catalog-sort__menu {
     display: flex;
   }

   .catalog-sort__option {
     display: block;
     padding: 10px 16px;
     font-size: 14px;
     font-weight: 400;
     line-height: 1.2;
     color: #3D4453;
     text-decoration: none;
     transition: background 0.15s;
   }

   .catalog-sort__option:hover,
   .catalog-sort__option.is-selected {
     background: #F5F5F9;
   }
   
   /* Promo in grid */

   .catalog-promo {
     display: block;
     height: 100%;
     border-radius: 10px;
     overflow: hidden;
     transition: opacity 0.2s;
   }

   .catalog-promo:hover {
     opacity: 0.92;
   }

   .catalog-promo__img {
     display: block;
     width: 100%;
     height: 100%;
     object-fit: cover;
   }
   
   /* Footer */
   
   .catalog-footer {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 24px;
   }
   
   .catalog-more {
     font-size: 15px;
     font-weight: 600;
     color: #55b555;
   }
   
   .catalog-more:hover {
     text-decoration: underline;
   }
   
   .catalog-pagination {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: center;
     gap: 4px;
   }
   
   .catalog-pagination a,
   .catalog-pagination span {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 36px;
     height: 36px;
     padding: 0 8px;
     border-radius: 50%;
     font-size: 14px;
     font-weight: 500;
     color: #3D4453;
   }
   
   .catalog-pagination a:hover {
     background: #f5f5f7;
   }
   
   .catalog-pagination .is-active {
     background: #55b555;
     color: #ffffff;
   }
   
   .catalog-pagination .is-dots {
     min-width: 24px;
     color: #6e6e73;
   }
   
   .catalog-seo {
     margin-top: 56px;
     color: #3D4453;
   }
   
   .catalog-seo__toggle {
     display: inline-block;
     margin-top: 12px;
     font-size: 14px;
     font-weight: 500;
     color: #8B8AA4;
   }
   
   /* ---- mSearch2 ---- */
   
   .msearch2 .catalog-filters__panel form,
   .msearch2 #mse2_filters {
     display: flex;
     flex-direction: column;
   }
   
   .msearch2 .catalog-filters__panel .form-group,
   .msearch2 .catalog-filters__panel fieldset,
   .msearch2 .catalog-filters__panel .mse2_filter {
     padding: 0;
     margin: 0;
     border: none;
     border-radius: 0;
   }

   .msearch2 .catalog-filters__panel .mse2_filter-title,
   .msearch2 .catalog-filters__panel legend {
     display: flex;
     align-items: center;
     justify-content: space-between;
     width: 100%;
     margin-bottom: 0;
     padding: 20px 0 12px;
     border: none;
     font-size: 15px;
     font-weight: 600;
     color: #3D4453;
   }

   .msearch2 .catalog-filters__panel .mse2_filter-body,
   .msearch2 .catalog-filters__panel .mse2_filter-options {
     padding-bottom: 4px;
   }
   
   .msearch2 .catalog-filters__panel label {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 0 10px;
     border-radius: 8px;
     font-size: 14px;
     cursor: pointer;
   }
   
   .msearch2 .catalog-filters__panel label:hover {
     background: #f5f5f7;
   }
   
   .msearch2 .catalog-filters__panel input[type="checkbox"] {
     flex-shrink: 0;
     width: 20px;
     height: 20px;
     margin: 0;
     border: 1px solid #DFDEEF;
     border-radius: 4px;
     background: #ffffff;
     cursor: pointer;
     appearance: none;
     -webkit-appearance: none;
     position: relative;
     transition: background 0.15s, border-color 0.15s;
   }

   .msearch2 .catalog-filters__panel input[type="checkbox"]:checked {
     background: #55b555;
     border-color: #55b555;
   }

   .msearch2 .catalog-filters__panel input[type="checkbox"]:checked::after {
     content: "";
     position: absolute;
     left: 6px;
     top: 2px;
     width: 5px;
     height: 10px;
     border: solid #ffffff;
     border-width: 0 2px 2px 0;
     transform: rotate(45deg);
   }

   .msearch2 .catalog-filters__panel input[type="radio"] {
     width: 18px;
     height: 18px;
     margin: 0;
     accent-color: #55b555;
   }
   
   .msearch2 .catalog-filters__panel input[type="text"],
   .msearch2 .catalog-filters__panel input[type="number"] {
     height: 40px;
     padding: 0 3px;
     border-radius: 8px;
     font-family: inherit;
     font-size: 14px;
   }

   .msearch2 #mse2_tags .mse2_tag,
   .msearch2 #mse2_tags a,
   .msearch2 .catalog-tags .mse2_tag,
   .msearch2 .catalog-tags a {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     height: 36px;
     padding: 0 12px 0 14px;
     border-radius: 999px;
     background: #3D4453;
     font-size: 14px;
     font-weight: 500;
     line-height: 1;
     color: #ffffff;
     text-decoration: none;
     cursor: pointer;
     transition: background 0.15s;
   }

   .msearch2 #mse2_tags .mse2_tag:hover,
   .msearch2 #mse2_tags a:hover,
   .msearch2 .catalog-tags .mse2_tag:hover,
   .msearch2 .catalog-tags a:hover {
     background: #2f3542;
     color: #ffffff;
   }

   .msearch2 #mse2_tags .mse2_tag_remove,
   .msearch2 #mse2_tags .mse2_tag span,
   .msearch2 .catalog-tags .mse2_tag_remove,
   .msearch2 .catalog-tags .mse2_tag span {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 20px;
     height: 20px;
     margin-right: -2px;
     border-radius: 50%;
     color: rgba(255, 255, 255, 0.75);
     font-size: 18px;
     line-height: 1;
   }

   .msearch2 .catalog-sort__drop .sort,
   .msearch2 .catalog-sort__menu .sort,
   .msearch2 .catalog-sort__menu a.sort {
     display: block;
     padding: 10px 16px;
     border: none;
     border-radius: 0;
     background: transparent;
     font-size: 14px;
     font-weight: 400;
     line-height: 1.2;
     color: #3D4453;
     text-decoration: none;
   }

   .msearch2 .catalog-sort__menu .sort:hover,
   .msearch2 .catalog-sort__menu .sort.active,
   .msearch2 .catalog-sort__menu a.sort.active {
     background: #F5F5F9;
     color: #3D4453;
   }
   
   .msearch2 .pagination,
   .msearch2 ul.pagination {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: center;
     gap: 4px;
     margin: 0;
     padding: 0;
     list-style: none;
   }
   
   .msearch2 .pagination li a,
   .msearch2 .pagination li span {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 36px;
     height: 36px;
     padding: 0 8px;
     border-radius: 50%;
     font-size: 14px;
     font-weight: 500;
   }
   
   .msearch2 .pagination li.active a,
   .msearch2 .pagination li.active span {
     background: #55b555;
     color: #ffffff;
   }
   
   /* =============================================
      Responsive
      ============================================= */
   
   @media (max-width: 1024px) {
     .catalog-layout {
       grid-template-columns: 220px minmax(0, 1fr);
       gap: 24px;
     }
   }
   
   @media (max-width: 768px) {
     .container {
       padding: 0 16px;
     }
   
     .catalog-page__title {
       font-size: 24px;
       margin-bottom: 16px;
     }
   
     .catalog-brands {
       margin: 0 -16px 16px;
       padding: 0 16px;
     }
   
     .catalog-brands::after {
       right: 16px;
     }
   
     .catalog-brand-chip {
       width: 168px;
       min-height: 64px;
     }
   
     .catalog-brand-chip__icon {
       width: 48px;
       height: 48px;
     }
   
     .catalog-layout {
       grid-template-columns: 1fr;
     }

     .catalog-layout .products-grid {
       grid-template-columns: repeat(2, minmax(0, 1fr));
       gap: 8px;
     }

     .catalog-layout .catalog-card {
       padding: 6px;
     }

     .catalog-layout .catalog-card__name {
       font-size: 12px;
     }

     .catalog-layout .catalog-card__price {
       font-size: 14px;
     }

     .catalog-layout .catalog-card .btn {
       font-size: 12px;
       padding-left: 8px;
       padding-right: 8px;
     }
   
     .catalog-filters {
       position: relative;
       top: auto;
     }

     .catalog-filters__toggle {
       display: flex;
     }

     .catalog-controls {
       display: flex;
       align-items: center;
       justify-content: space-between;
       gap: 16px;
       margin-bottom: 12px;
       padding-top: 12px;
       border-top: 1px solid #F0F0F5;
     }
   
     .catalog-filters__overlay {
       display: block;
       position: fixed;
       inset: 0;
       z-index: 200;
       background: rgba(0, 0, 0, 0.35);
       opacity: 0;
       visibility: hidden;
       transition: opacity 0.25s, visibility 0.25s;
     }
   
     .catalog-filters.is-open .catalog-filters__overlay {
       opacity: 1;
       visibility: visible;
     }
   
     .catalog-filters__panel {
       position: fixed;
       inset: 0;
       z-index: 201;
       width: 100%;
       max-width: 100%;
       max-height: none;
       padding: 0;
       background: #ffffff;
       overflow: hidden;
       transform: translateY(100%);
       transition: transform 0.3s ease;
       box-shadow: none;
     }
   
     .catalog-filters.is-open .catalog-filters__panel {
       transform: translateY(0);
     }

     .catalog-filters__header {
       display: flex;
       align-items: center;
       justify-content: center;
       position: relative;
       flex-shrink: 0;
       padding: 12px 16px;
       border-bottom: 1px solid #F0F0F5;
       background: #ffffff;
     }

     .catalog-filters__scroll {
       flex: 1;
       overflow-y: auto;
       padding: 0 16px;
       padding-bottom: 0;
       -webkit-overflow-scrolling: touch;
     }

     .catalog-filters__scroll .catalog-filter:first-child .catalog-filter__toggle {
       padding-top: 12px;
     }

     .catalog-filters__actions {
       position: static;
       flex-shrink: 0;
       flex-direction: column;
       gap: 12px;
       margin: 0;
       margin-top: 0;
       padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
       padding-top: 12px;
       border-top: 1px solid #F0F0F5;
       background: #ffffff;
       box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.06);
     }
   
     .catalog-filters__close {
       display: flex;
       align-items: center;
       justify-content: center;
       position: absolute;
       right: 16px;
       top: 50%;
       transform: translateY(-50%);
       width: 36px;
       height: 36px;
       margin: 0;
       border-radius: 50%;
       background: #f5f5f7;
       font-size: 22px;
       line-height: 1;
       color: #6e6e73;
     }
   
     .catalog-sort-mobile {
       display: block;
     }

     .catalog-sort-mobile__overlay {
       display: block;
       position: fixed;
       inset: 0;
       z-index: 200;
       background: rgba(0, 0, 0, 0.35);
       opacity: 0;
       visibility: hidden;
       transition: opacity 0.25s, visibility 0.25s;
     }

     .catalog-sort-mobile.is-open .catalog-sort-mobile__overlay {
       opacity: 1;
       visibility: visible;
     }

     .catalog-sort-mobile__panel {
       display: flex;
       flex-direction: column;
       position: fixed;
       inset: 0;
       z-index: 201;
       width: 100%;
       max-width: 100%;
       padding: 0;
       background: #ffffff;
       overflow: hidden;
       transform: translateY(100%);
       transition: transform 0.3s ease;
     }

     .catalog-sort-mobile.is-open .catalog-sort-mobile__panel {
       transform: translateY(0);
     }

     .catalog-sort-mobile__header {
       display: flex;
       align-items: center;
       justify-content: center;
       position: relative;
       flex-shrink: 0;
       padding: 12px 16px;
       border-bottom: 1px solid #F0F0F5;
       background: #ffffff;
     }

     .catalog-sort-mobile__heading {
       margin: 0;
       font-size: 16px;
       font-weight: 600;
       line-height: 1.2;
       color: #3D4453;
       text-align: center;
     }

     .catalog-sort-mobile__close {
       display: flex;
       align-items: center;
       justify-content: center;
       position: absolute;
       right: 16px;
       top: 50%;
       transform: translateY(-50%);
       width: 36px;
       height: 36px;
       margin: 0;
       border-radius: 50%;
       background: #f5f5f7;
       font-size: 22px;
       line-height: 1;
       color: #6e6e73;
     }

     .catalog-sort-mobile__scroll {
       flex: 1;
       overflow-y: auto;
       padding: 0 16px;
       -webkit-overflow-scrolling: touch;
     }

     .catalog-sort-mobile__actions {
       display: flex;
       flex-direction: column;
       gap: 12px;
       flex-shrink: 0;
       padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
       border-top: 1px solid #F0F0F5;
       background: #ffffff;
       box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.06);
     }

     .catalog-sort-mobile__apply {
       width: 100%;
       height: 48px;
       border-radius: 25px;
       background: #3D4453;
       color: #ffffff;
       font-size: 15px;
       font-weight: 600;
     }

     .catalog-sort-mobile__apply:hover {
       background: #151d36;
     }

     .catalog-sort-mobile__reset {
       font-size: 14px;
       font-weight: 500;
       color: #2E2E2E;
       text-align: center;
     }

     .catalog-sort-mobile__reset:hover {
       text-decoration: underline;
     }

     .catalog-sort--desktop {
       display: none;
     }

     .catalog-toolbar {
       grid-template-columns: 1fr;
       gap: 12px;
       margin-bottom: 16px;
     }

     .catalog-tags {
       flex-wrap: wrap;
       overflow: visible;
       padding-bottom: 0;
     }

     .catalog-banner {
       display: none;
     }
   }
   