.ts-catalogue h1 { margin: 0 0 10px; }
.ts-catalogue-intro { color: #616161; margin-bottom: 22px; max-width: 800px; }
.ts-catalogue-search { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; padding: 18px; background: #f1f1f1; border-radius: 4px; margin-bottom: 28px; }
.ts-catalogue-search label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 7px; }
.ts-catalogue-query { flex: 1 1 300px; }
.ts-catalogue-search .btn { min-height: 40px; }
.ts-catalogue-reset { padding: 10px 0; }
.ts-catalogue-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 15px; }
.ts-catalogue-heading h2 { font-size: 22px; margin: 0; }
.ts-catalogue-heading h2 span { font-size: 14px; padding: 4px 9px; margin-left: 5px; border-radius: 12px; background: #ececec; color: #555; vertical-align: middle; }
.ts-catalogue-category-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; list-style: none; margin: 0; padding: 0; }
.ts-catalogue-category-list a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 12px; background: #fff; border: 1px solid #ddd; border-radius: 3px; text-decoration: none; overflow-wrap: anywhere; height: 100%; }
.ts-catalogue-category-list a:hover { border-color: #a52628; background: #fff7f7; }
.ts-catalogue-category-list span { color: #999; }
.ts-catalogue-paging { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; }
.ts-catalogue-paging a + a { margin-left: 20px; }
.ts-catalogue-categories { padding-bottom: 24px; margin-bottom: 25px; border-bottom: 1px solid #ddd; }
.ts-catalogue small { color: #666; }
.ts-catalogue .product-thumb { height: 100%; margin-bottom: 0; display: flex; flex-direction: column; }
.ts-catalogue .product-thumb .image { padding: 12px; }
.ts-catalogue .product-thumb .image img { width: 100%; height: 160px; object-fit: contain; }
.ts-catalogue .product-thumb .content { display: flex; flex: 1; flex-direction: column; }
.ts-catalogue .product-thumb .description { flex: 1; }
.ts-catalogue .product-thumb h4 { font-size: 16px; }
.ts-catalogue .product-thumb .description > p { font-size: 12px; color: #666; max-height: 38px; overflow: hidden; }
.ts-catalogue .product-thumb .price { font-size: 17px; }
.ts-catalogue .product-thumb .price-tax { font-size: 11px; }
.ts-catalogue section { scroll-margin-top: 20px; }
@media(max-width:991px) { .ts-catalogue-category-list { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media(max-width:767px) {
  .ts-catalogue-search { padding: 13px; gap: 12px; }
  .ts-catalogue-search > div { flex: 1 1 100%; }
  .ts-catalogue-search .btn { flex: 1; }
  .ts-catalogue-category-list { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: 235px; overflow-y: auto; }
  .ts-catalogue-heading { align-items: start; flex-wrap: wrap; }
  .ts-catalogue-paging { align-items: start; }
  .ts-catalogue .product-thumb .image img { height: 150px; }
}
