.catalog{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;padding:36px 4.3% 16px;align-items:start}
.filters{border:1px solid #ececec;background:#fff}
.filters fieldset{border:0;margin:0;min-inline-size:0}
.filter-block{padding:18px 18px 14px;border-bottom:1px solid #eee}
.filter-block h2{display:flex;justify-content:space-between;align-items:center;font-size:16px;margin:0 0 14px;letter-spacing:-.02em}
.filter-block h2 span{color:#aaa;font-weight:400}
.filter-block label{display:flex;align-items:center;gap:10px;font-size:14px;color:#333;margin:0 0 10px;cursor:pointer}
.filter-block label em{margin-left:auto;font-style:normal;color:#888}
.filter-block input{accent-color:var(--red);width:15px;height:15px;margin:0}
.swatch{width:14px;height:14px;border-radius:50%;border:1px solid #ddd;flex-shrink:0}
.filter-actions{padding:16px 18px 18px}
.filter-actions button{width:100%;background:#fff;color:var(--red);border:1px solid var(--red);padding:11px 16px;font-weight:700;font-size:14px;cursor:pointer}
.filter-actions button:hover{background:var(--red);color:#fff}
.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}
.catalog-toolbar p{margin:0;font-weight:700;color:var(--ink);font-size:15px}
.catalog-toolbar label{display:flex;align-items:center;gap:8px;font-size:14px;color:#555}
.catalog-toolbar select{border:1px solid #e5e5e5;padding:8px 28px 8px 10px;font:inherit;font-size:14px;background:#fff}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px}
.product-card{min-width:0}
.product-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#f6f6f4}
.product-card h3{font-size:16px;margin:12px 0 6px;letter-spacing:-.02em}
.product-card p{font-size:13px;line-height:1.45;margin-bottom:8px}
a.product-card{color:inherit;text-decoration:none}
.product-card .view{color:var(--red);font-weight:700;font-size:14px}
.product-card:hover .view{text-decoration:underline}
.catalog-empty{display:none;padding:20px 0;color:var(--muted)}
.catalog .product-card.is-filtered-out{display:none !important}
@media(max-width:991px){
  .catalog{grid-template-columns:1fr;padding:28px 5% 10px}
  .product-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .product-grid{grid-template-columns:1fr}
  .catalog-toolbar{flex-direction:column;align-items:flex-start}
}
