.house-catalog .ol-page-main{padding-top:28px}
.house-catalog .ol-page-main h1{margin:16px 0}
.house-catalog .ol-page-lead{margin-bottom:0;font-size:16px;line-height:1.7}
.catalog-filters{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(200px,1.6fr) auto;align-items:end;gap:16px;margin:28px 0 8px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--glass)}
.catalog-filters label{display:flex;flex-direction:column;gap:9px;min-width:0;font-size:13px;color:var(--text)}
.catalog-filters input,.catalog-filters select{width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:16px;line-height:1.4;color-scheme:inherit}
.catalog-filters input::placeholder{color:var(--muted);opacity:1}
.catalog-filters select{padding-right:24px}
.catalog-filters .catalog-apply,.catalog-clear,.catalog-empty .button{min-height:46px;font:inherit;font-size:14px;cursor:pointer;justify-content:center;white-space:nowrap}
.catalog-filters .catalog-apply{padding:12px 18px;font-size:16px;background:var(--text);color:var(--bg);border-color:var(--text)}
.catalog-filter-error{grid-column:1/-1;color:var(--text);border-left:3px solid #b66b43;padding-left:12px;margin:0;font-size:14px;line-height:1.6}
.catalog-results-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px}
.catalog-results-bar p{margin:0;font-size:14px;color:var(--muted)}
.catalog-results-bar strong{color:var(--text);font-weight:600}
.catalog-clear{display:inline-flex;align-items:center;border:0;padding:10px 0;background:transparent;color:var(--text);text-decoration:underline;text-underline-offset:4px}
.catalog-empty{padding:48px 24px;text-align:center;border:1px solid var(--line);border-radius:18px;margin:8px 0 48px}
.catalog-empty h2{font-size:32px;line-height:1.2;margin:0 0 16px}
.catalog-empty p{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 24px}
.catalog-empty .button{padding:12px 20px;background:var(--text);color:var(--bg);border-color:var(--text)}
.house-catalog .house-showcase{padding-bottom:28px;gap:24px}
.house-catalog .house-specs{padding:20px}
.house-catalog .house-specs h2{font-size:29px;margin:0 0 16px}
.house-catalog .house-facts{gap:12px;margin-bottom:12px}
.house-catalog .house-facts dt{font-size:12px;line-height:1.4;margin-bottom:4px}
.house-catalog .house-facts dd{font-size:18px;line-height:1.4}
.house-catalog .house-room-preview{min-height:0;font-size:14px;line-height:1.65;margin-bottom:12px}
.house-catalog .house-rooms{padding:0;font-size:14px}
.house-catalog .house-rooms summary{display:list-item;min-height:46px;padding:12px 0;line-height:1.6}
.house-catalog .house-floor h3{font-size:21px;margin-top:16px}
.house-catalog .house-floor ul{padding-bottom:12px}
.house-catalog .house-price{padding:16px 0;gap:5px}
.house-catalog .house-price span{font-size:12px;line-height:1.5}
.house-catalog .house-price strong{font-size:28px}
.house-catalog .house-order{min-height:46px;font-size:14px;padding:12px 16px}
.house-catalog .house-catalog-note{font-size:13px;line-height:1.75;margin:0 0 36px;max-width:920px}
.catalog-filters :focus-visible,.catalog-results-bar a:focus-visible,.catalog-empty a:focus-visible{outline:2px solid var(--text);outline-offset:3px}
@media(max-width:1100px){.catalog-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-filters .catalog-apply{grid-column:1/-1;justify-self:start;min-width:160px}}
@media(max-width:700px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:16px;margin-top:22px}.catalog-filters label:first-child,.catalog-filters label:nth-child(4),.catalog-filters .catalog-apply{grid-column:1/-1}.catalog-filters .catalog-apply{width:100%}.catalog-results-bar{gap:8px}.catalog-results-bar p,.catalog-clear{font-size:13px}.house-catalog .house-showcase{gap:20px}.house-catalog .house-specs{padding:18px}.house-catalog .house-room-preview{font-size:14px}.house-catalog .house-catalog-note{margin-bottom:24px}.catalog-empty{padding:32px 18px}.catalog-empty h2{font-size:28px}.catalog-empty .button{width:100%;white-space:normal}}
