/* каталог: layout макета + скрытие неготового */
.catalog{display:grid;grid-template-columns:280px 1fr;gap:24px;padding-bottom:40px}
.catalog.catalog--no-filters{grid-template-columns:1fr}
.catalog.catalog--no-filters .catalog-main{min-width:0}
.filters{align-self:start;position:sticky;top:96px}
.fblock{background:var(--paper);border-radius:16px;padding:22px;margin-bottom:16px}
.fblock h3{font-size:15px;font-weight:800;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.fitem{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14px;font-weight:500}
.fitem .cnt{margin-left:auto;color:var(--mut);font-size:12px}
.price-row{display:flex;gap:10px;margin-bottom:14px}
.price-row input{flex:1;border:2px solid var(--line);border-radius:10px;padding:10px 12px;font-family:var(--f);font-size:14px;font-weight:600}
.range{height:4px;background:var(--line);border-radius:4px;position:relative;margin:18px 6px 6px}
.range .fill{position:absolute;height:100%;left:15%;right:30%;background:var(--red);border-radius:4px}
.toolbar{background:var(--paper);border-radius:16px;padding:14px 20px;display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.toolbar .found{font-weight:700;font-size:14px}.toolbar .found span{color:var(--mut);font-weight:500}
.sort{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--mut);font-weight:600}
.sort select{border:2px solid var(--line);border-radius:10px;padding:9px 14px;font-family:var(--f);font-weight:600;font-size:14px}
.view{display:flex;gap:4px}
.view button{width:38px;height:38px;border-radius:9px;background:var(--bg);color:var(--mut);display:grid;place-items:center}
.view button.on{background:var(--red);color:#fff}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:2px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}
.pagi{display:flex;gap:8px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.pagi a,.pagi span{min-width:44px;height:44px;padding:0 14px;border-radius:11px;background:var(--paper);display:grid;place-items:center;font-weight:700;font-size:15px}
.pagi .on{background:var(--red);color:#fff}
.subcats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.subcats a{background:var(--paper);border-radius:12px;padding:10px 18px;font-weight:600;font-size:14px;border:2px solid transparent}
.subcats a:hover,.subcats a.on{border-color:var(--red);color:var(--red)}
.seo-block{background:var(--paper);border-radius:18px;padding:34px;margin-top:36px}
.seo-block h2{font-size:22px;font-weight:900;margin-bottom:14px}
.seo-block p{color:var(--mut);font-weight:500;margin-bottom:10px;max-width:90ch}

/* битое фото */
body.v2 img.is-broken{object-fit:contain;background:var(--bg);opacity:.85}

/* неготовый функционал (если вернётся в UI) */
.is-soon{position:relative;opacity:.55;pointer-events:none;user-select:none}
.is-soon::after{
  content:attr(data-soon);
  position:absolute;top:8px;right:8px;z-index:5;
  background:var(--ink);color:#fff;font-size:10px;font-weight:700;
  padding:3px 8px;border-radius:999px;letter-spacing:.02em;
}
.is-soon[data-soon=""]::after,.is-soon:not([data-soon])::after{content:"скоро"}

@media(max-width:980px){
  .catalog{grid-template-columns:1fr}
  .filters{position:static}
}
