.cat-page-header{text-align:center;padding:140px 80px 80px;background:var(--gray-100);min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.cat-page-header .headings{font-size:5rem;margin:12px 0 20px}.cat-filter-bar{display:flex;gap:10px;overflow-x:scroll;-webkit-overflow-scrolling:touch;padding:16px 80px;background:var(--gray-100);border-bottom:1px solid var(--gray-300);position:-webkit-sticky;position:sticky;top:var(--nav-height, 90px);z-index:90;scrollbar-width:none;-ms-overflow-style:none;-webkit-user-select:none;user-select:none;cursor:grab}.cat-filter-bar::-webkit-scrollbar{display:none}.cat-filter-btn{flex-shrink:0;padding:8px 20px;border-radius:10px;border:1px solid var(--gray-300);background:var(--gray-200);color:var(--gray-800);font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap;line-height:1}.cat-filter-btn:hover{border-color:var(--gray-400);background:var(--gray-300)}.cat-filter-btn--active{background:var(--primary-600);color:var(--gray-100);border-color:var(--primary-600)}.cat-filter-btn--active:hover{background:var(--primary-700);border-color:var(--primary-700)}.cat-controls{display:flex;justify-content:space-between;align-items:center;padding:20px 80px 0}.cat-col-toggle{display:flex;gap:6px}.cat-col-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:var(--gray-200);color:var(--gray-700);cursor:pointer;transition:background .2s ease,color .2s ease}.cat-col-btn:hover{background:var(--gray-300);color:var(--gray-900)}.cat-col-btn--active{background:var(--primary-600);color:var(--gray-100)}.cat-col-btn--active:hover{background:var(--primary-700);color:var(--gray-100)}.cat-sort{border:1px solid var(--gray-300);border-radius:10px;padding:8px 16px;background:var(--gray-100);color:var(--gray-800);font-family:inherit;font-size:.9rem;cursor:pointer;outline:none;transition:border-color .2s ease;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.cat-sort:hover,.cat-sort:focus{border-color:var(--gray-500)}.catalogue-grid-wrap{padding:40px 80px}.catalogue-grid{column-gap:20px}.catalogue-grid.cols-4{column-count:4}.catalogue-grid.cols-3{column-count:3}.catalogue-grid.cols-2{column-count:2}.cat-empty{text-align:center;padding:60px 0;color:var(--gray-500);font-size:1rem;width:100%}.cat-alert{display:none;margin:0 80px 20px;padding:12px 16px;background:var(--primary-50);border:1px solid var(--primary-200);border-radius:10px;color:var(--primary-800);font-size:.9rem}.cat-alert--visible{display:block}.cat-pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:40px;padding:0 80px 60px;flex-wrap:wrap}.cat-page-btn{padding:8px 14px;border-radius:8px;border:none;background:var(--gray-200);color:var(--gray-800);font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s ease,color .2s ease;line-height:1}.cat-page-btn:hover:not(:disabled){background:var(--gray-300);color:var(--gray-900)}.cat-page-btn:disabled{opacity:.4;cursor:not-allowed}.cat-page-btn--active{background:var(--primary-600);color:var(--gray-100)}.cat-page-btn--active:hover{background:var(--primary-700);color:var(--gray-100)}.cat-page-ellipsis{padding:8px 4px;color:var(--gray-500);font-size:.875rem;line-height:1}@media (max-width: 1024px){.cat-page-header{padding:100px 40px 50px}.cat-filter-bar{padding:16px 40px}.cat-controls{padding:20px 40px 0}.cat-col-toggle{display:none}.catalogue-grid-wrap{padding:30px 40px}.catalogue-grid{column-count:2!important}.cat-alert{margin:0 40px 20px}.cat-pagination{padding:0 40px 50px}}@media (max-width: 768px){.cat-page-header .headings{font-size:3rem}.cat-filter-bar{padding:16px 20px}.cat-controls{padding:16px 20px 0;flex-direction:column;align-items:stretch;gap:12px}.cat-sort{width:100%}}@media (max-width: 480px){.subheadings{margin:0}.cat-page-header{padding:90px 20px 40px}.cat-page-header .headings{font-size:2.6rem}.catalogue-grid-wrap{padding:20px}.catalogue-grid{column-count:1!important}.cat-alert{margin:0 20px 16px}.cat-pagination{padding:0 20px 40px}.cat-page-btn:not(:first-child):not(:last-child):not(.cat-page-btn--active),.cat-page-ellipsis{display:none}}
