.catalog-tabs { margin-bottom: 28px; border-bottom: 1px solid #dfe7ed; display: flex; gap: 30px; overflow-x: auto; }
.catalog-tab { position: relative; padding: 15px 4px 18px; white-space: nowrap; color: #596a79; font-size: 14px; font-weight: 700; border-bottom: 3px solid transparent; }
.catalog-tab:hover { color: #257e3e; }
.catalog-tab.is-active { color: #257e3e; border-bottom-color: #278743; }
.catalog-shop { padding: 32px 0 64px; background: #fff; }
.catalog-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 30px; margin: 0; align-items: start; }
.catalog-layout > .catalog-sidebar, .catalog-layout > .catalog-results { width: 100%; max-width: none; padding: 0; min-width: 0; }
.catalog-sidebar { grid-column: 1; grid-row: 1; }
.catalog-results { grid-column: 2; grid-row: 1; }
.catalog-layout.catalog-layout-full { grid-template-columns: minmax(0, 1fr); }
.catalog-layout-full > .catalog-results { grid-column: 1; grid-row: 1; }
.catalog-filter-panel { border: 1px solid #dfe7ed; border-radius: 10px; overflow: hidden; background: #fff; }
.catalog-filter-title { display: flex; gap: 10px; align-items: center; padding: 20px 18px; background: #f7f9fb; color: #3278bd; border-bottom: 1px solid #dfe7ed; }
.catalog-filter-title h2 { margin: 0; color: #213e52; font-size: 16px; }
.catalog-filter-panel .product-category-nav { margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.catalog-filter-panel .product-category-nav::after { display: none; }
.catalog-filter-panel .product-category-nav + .product-category-nav { border-top: 1px solid #e6edf2; }
.catalog-filter-panel .product-filter-heading { padding: 18px 16px; color: #364f62; font-size: 14px; line-height: 1.5; }
.catalog-filter-panel a.product-filter-all { color: #c0392b; }
.catalog-filter-panel a.product-filter-all:hover { color: #a93226; }
.catalog-filter-panel details[open] > .product-filter-heading { margin: 0; color: #256b3b; background: #f2f8f3; }
.catalog-filter-panel .product-category-nav ul { padding: 8px; max-height: 420px; overflow-y: auto; scrollbar-width: thin; }
.catalog-filter-panel .product-category-nav ul li { margin: 0 0 3px; }
.catalog-filter-panel .product-category-link { display: grid; grid-template-columns: 32px minmax(0, 1fr) 8px; align-items: center; gap: 9px; padding: 9px 7px; border: 1px solid transparent; border-radius: 5px; color: #526273; font-size: 15px; line-height: 1.45; }
.catalog-filter-panel .product-category-link:hover { background: #f4f7fa; color: #2368aa; }
.catalog-filter-panel .product-category-link.is-current { color: #246b3a; background: #eef6ef; border-color: #d6e9db; font-weight: 700; }
.catalog-filter-panel .product-category-image { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 4px; overflow: hidden; background: #f1f5f7; }
.catalog-filter-panel .product-category-image img { width: 100%; height: 100%; object-fit: contain; }
.catalog-filter-panel .product-category-name { overflow-wrap: anywhere; }
.catalog-filter-panel .product-category-arrow { font-size: 9px; color: #889aa9; }
.catalog-results-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; min-height: 44px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid #e6edf2; }
.catalog-results-bar h2 { font-size: 20px; line-height: 1.4; color: #213e52; margin: 0; }
.catalog-results-bar strong { font-size: 12px; font-weight: 400; color: #637687; }
.catalog-results-tools { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 0; }
.catalog-grid > [class*="col-"] { width: 100%; max-width: none; padding: 0; min-width: 0; }
.catalog-grid .product-item { height: 100%; display: flex; flex-direction: column; margin: 0; border: 1px solid #e0e8ed; border-radius: 9px; overflow: hidden; background: #fff; text-align: left; transition: border-color .2s, box-shadow .2s; }
.catalog-grid .product-item:hover { border-color: #a9c5b5; box-shadow: 0 6px 20px rgba(28, 67, 52, .08); }
.catalog-grid .product-img { margin: 0; padding: 10px; background: #f5f8f5; }
.catalog-grid .product-img > a { display: block; }
.catalog-grid .product-img img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border-radius: 5px; }
.catalog-grid .product-info { flex: 1; display: flex; flex-direction: column; align-items: stretch; padding: 18px; }
.catalog-grid .product-title { font-size: 14px; line-height: 1.55; margin: 0 0 20px; letter-spacing: 0; overflow-wrap: anywhere; }
.catalog-grid .product-title a { color: #25445a; }
.catalog-grid .product-title a:hover { color: #278743; }
.catalog-grid .product-info .btn { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; height: 42px; padding: 0 14px; min-width: 0; width: 100%; border-radius: 5px; font-size: 12px; }
.catalog-grid .product-info .btn i { font-size: 13px; }
.catalog-photo-tiles .catalog-photo-card .product-img { padding: 0; background: #e8eef2; }
.catalog-photo-tiles .catalog-photo-card .product-img img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; }
.catalog-photo-tiles .catalog-photo-count { margin: 0 0 16px; color: #637687; font-size: 13px; }
.catalog-logo-tiles .catalog-category-card .brand-logo-card-media { width: 100%; height: 150px; }
.catalog-logo-tiles .catalog-category-card .brand-logo-card-media img { width: 100%; max-width: 100%; height: 150px; max-height: 150px; object-fit: cover; border-radius: 4px; }
.catalog-logo-tiles .brand-logo-card { flex: 1; border: 0; }
.catalog-logo-tiles .brand-logo-card-media img { max-width: min(160px, 100%); }
.catalog-logo-tiles .brand-logo-card-name { font-size: 15px; min-height: 40px; display: flex; align-items: center; justify-content: center; }
.catalog-logo-tiles .category-card-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 40px; min-width: 0; width: auto; padding: 0 16px; margin-top: auto; font-size: 12px; border-radius: 5px; }
@media (min-width: 1200px) { .catalog-grid.catalog-logo-tiles, .catalog-layout-full .catalog-grid.catalog-photo-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.catalog-shop .product-scroll-loader { padding: 24px 0 0; color: #637687; font-size: 13px; }
.catalog-shop .product-scroll-loader p:empty { margin: 0; }
.catalog-shop a:focus-visible, .catalog-filter-panel summary:focus-visible { outline: 2px solid #3278bd; outline-offset: 3px; }
@media (min-width: 1200px) { .catalog-shop .container { max-width: 1320px; width: calc(100% - 64px); } }
@media (max-width: 1199px) { .catalog-layout { grid-template-columns: 230px minmax(0, 1fr); gap: 22px; } .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 767px) {
  .catalog-tabs { gap: 22px; }
  .catalog-tab { font-size: 12px; }
  .catalog-shop { padding-top: 22px; }
  .catalog-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .catalog-sidebar { grid-column: 1; grid-row: 1; }
  .catalog-results { grid-column: 1; grid-row: 2; }
  .catalog-filter-title { padding: 14px 16px; }
  .catalog-filter-panel .product-filter-heading { padding: 13px 16px; }
  .catalog-filter-panel .product-category-nav ul { max-height: 240px; }
  .catalog-grid { gap: 12px; }
  .catalog-grid .product-info { padding: 12px; }
  .catalog-grid .product-title { font-size: 12px; margin-bottom: 14px; }
  .catalog-grid .product-info .btn { padding: 0 10px; font-size: 11px; }
}
@media (max-width: 359px) { .catalog-grid { grid-template-columns: minmax(0, 1fr); } }
.catalog-view-switch { display: flex; gap: 6px; }
.catalog-view-switch button { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid #dfe7ed; border-radius: 5px; background: #fff; color: #637687; cursor: pointer; }
.catalog-view-switch button:hover, .catalog-view-switch button[aria-pressed="true"] { color: #267e3e; border-color: #a9c5b5; background: #eef6ef; }
.catalog-view-switch button:focus-visible { outline: 2px solid #3278bd; outline-offset: 2px; }
.catalog-results.is-list-view .catalog-grid { grid-template-columns: minmax(0, 1fr); }
.catalog-results.is-list-view .product-item { flex-direction: row; align-items: stretch; }
.catalog-results.is-list-view .catalog-photo-tiles .catalog-photo-card .product-img { flex: 0 0 220px; width: 220px; }
.catalog-results.is-list-view .catalog-photo-tiles .catalog-photo-card .product-img img { height: 100%; aspect-ratio: auto; min-height: 140px; }
.catalog-results.is-list-view .catalog-photo-tiles .catalog-photo-count { margin-bottom: 12px; }
.catalog-results.is-list-view .product-img { flex: 0 0 150px; width: 150px; }
.catalog-results.is-list-view .product-info { justify-content: center; }
.catalog-results.is-list-view .product-info .btn { margin-top: 0; max-width: 170px; }
.catalog-results.is-list-view .brand-logo-card { flex-direction: row; justify-content: flex-start; gap: 20px; }
.catalog-results.is-list-view .brand-logo-card-media { width: 120px; flex-shrink: 0; }
.catalog-results.is-list-view .brand-logo-card-name { text-align: left; justify-content: flex-start; }
.catalog-results.is-list-view .category-card-button { margin: 0 0 0 auto; flex-shrink: 0; }
@media (max-width: 575px) {
  .catalog-results.is-list-view .catalog-photo-tiles .catalog-photo-card .product-img { flex-basis: 120px; width: 120px; }
  .catalog-results.is-list-view .product-img { flex-basis: 105px; width: 105px; }
  .catalog-results.is-list-view .brand-logo-card { flex-wrap: wrap; gap: 12px; padding: 16px; }
  .catalog-results.is-list-view .brand-logo-card-media { width: 70px; }
  .catalog-results.is-list-view .brand-logo-card-name { flex: 1; }
  .catalog-results.is-list-view .category-card-button { margin-left: 82px; }
}
