.cat-layout{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}
.cat-filters{background:#fff;border:1px solid #e8ebe7;border-radius:18px;padding:20px;position:sticky;top:90px;box-shadow:0 10px 28px rgba(29,41,35,.05)}
.cat-filters h2{margin:0 0 16px;font-size:16px}
.filter-group{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #eef1ee}
.filter-group:last-of-type{border-bottom:0}
.filter-label{display:block;font-size:12px;font-weight:800;color:#7c887f;letter-spacing:.4px;text-transform:uppercase;margin-bottom:10px}
.filter-group label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin:0 0 8px;cursor:pointer}
.filter-group input[type=checkbox]{width:auto;margin:0;accent-color:#4778eb}
.filter-group input[type=text]{width:100%;margin:0;padding:10px 12px;border:1px solid #e1e6e1;border-radius:6px;font:inherit;box-sizing:border-box}
.filter-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.filter-actions .btn{width:100%;min-height:34px;height:34px;justify-content:center}
.cat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.cat-toolbar select{padding:10px 14px;border:1px solid #e1e6e1;border-radius:10px;font:inherit;font-weight:700;background:#fff}
.cat-count{font-size:13px;color:#7c887f;font-weight:600}
.cat-empty{padding:40px;text-align:center;background:#fff;border:1px dashed #dce2dc;border-radius:16px;color:#7c887f}
.categories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cat-card{background:#fff;border:1px solid #e7e8e3;border-radius:18px;padding:28px;transition:.25s;display:block;color:inherit;text-decoration:none}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(30,45,36,.08)}
.cat-card-img{margin:-28px -28px 16px;border-radius:18px 18px 0 0;overflow:hidden;height:140px;background:#edf0eb}
.cat-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.cat-card h3{font-size:18px;margin:0 0 10px;letter-spacing:-.5px}
.cat-card p{font-size:13px;color:#78827c;line-height:1.6;margin:0}
.cat-card .cat-meta{margin-top:12px;font-size:12px;font-weight:700;color:#4778eb}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 12px;max-width:900px}
.tag-cloud-item{display:inline-block;padding:7px 14px;border-radius:20px;font-size:13px;font-weight:700;text-decoration:none;background:#3fa4e1;color:#fff!important;border:0}
.tag-cloud-item:hover{filter:brightness(1.08)}
.tag-cloud-item.is-active{background:#1d6fa8;box-shadow:0 0 0 2px rgba(63,164,225,.35)}
.tag-cloud-reset{display:inline-block;padding:7px 14px;border-radius:20px;font-size:13px;font-weight:700;color:#a53d3d;text-decoration:none;background:#fdecec}
.cat-filters-toggle{display:none;align-items:center;gap:8px;margin-bottom:14px;min-height:34px;height:34px;padding:0 14px;border-radius:6px;border:1px solid #dce2dc;background:#fff;font-weight:700;font-size:13px;cursor:pointer}
.cat-filters-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cat-filters-close{display:none;border:0;background:transparent;font-size:18px;cursor:pointer}
.cat-filters-backdrop{display:none}
.cat-filters-close-btn{display:none}
@media(max-width:900px){
  .cat-layout{grid-template-columns:1fr}
  .categories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat-filters-toggle{display:inline-flex}
  .cat-filters-close{display:inline-flex}
  .cat-filters-close-btn{display:inline-flex!important;align-items:center;justify-content:center}
  .cat-filters{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:85vh;overflow:auto;z-index:40;border-radius:16px 16px 0 0;transform:translateY(110%);transition:transform .25s;margin:0}
  body.filters-open .cat-filters{transform:translateY(0)}
  body.filters-open .cat-filters-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:35}
}
@media(max-width:560px){.categories-grid{grid-template-columns:1fr}}
