/* Off-Plan catalog — page-specific (shared card/hero/btn come from offplan-invest.css) */
/* ===== catalog page ===== */
.hero--slim .hero__in{padding-top:clamp(120px,15vh,150px);padding-bottom:clamp(28px,4vw,40px)}
.crumb{font-size:13px;color:var(--on-62);margin-bottom:14px}
.crumb a{color:var(--on-78)}.crumb a:hover{color:#fff}
.cat-bar{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--te-divider)}
.cat-bar__in{max-width:var(--max);margin-inline:auto;padding:12px var(--gut);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cat-search{flex:1 1 260px;min-width:210px;position:relative}
.cat-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cat-search input{width:100%;border:1px solid var(--te-border);border-radius:var(--r10);padding:11px 13px 11px 40px;font:inherit;font-size:14.5px}
.cat-search input:focus{outline:none;border-color:var(--te-accent);box-shadow:0 0 0 3px var(--te-accent-tint)}
.cat-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--te-muted)}
.cat-bar select{border:1px solid var(--te-border);border-radius:var(--r10);padding:11px 12px;font:inherit;font-size:14px;background:#fff;color:var(--te-ink)}
.cat-bar select:focus{outline:none;border-color:var(--te-accent)}
.cat-toggle{border:1px solid var(--te-border);border-radius:var(--rp);padding:10px 15px;font-size:13.5px;font-weight:600;background:#fff;cursor:pointer;color:var(--te-ink);white-space:nowrap}
.cat-toggle.on{background:var(--te-accent-tint);border-color:var(--te-accent-tint-border);color:var(--te-accent)}
.cat-count{max-width:var(--max);margin:0 auto;padding:26px var(--gut) 0;font-size:14.5px;color:var(--te-muted)}
.cat-count b{color:var(--te-ink);font-family:var(--fd)}
.cat-wrap{max-width:var(--max);margin:0 auto;padding:20px var(--gut) 0}
.cat-more{text-align:center;padding:40px 0 10px}
.cat-empty{text-align:center;padding:60px 20px;color:var(--te-muted)}
.cat-empty b{display:block;font-family:var(--fd);color:var(--te-ink);font-size:20px;margin-bottom:8px}
@media(max-width:640px){.cat-bar__in{gap:8px}.cat-search{min-width:100%;flex-basis:100%}.cat-filters{width:100%}}
