.catalog-nav .active{color:var(--accent)}.new-catalog-hero{display:grid;grid-template-columns:1.5fr .7fr;align-items:end}.new-catalog-hero p{max-width:520px;line-height:1.7;color:#57534e;margin-bottom:12px}.catalog-shell{padding:0 clamp(20px,5vw,72px) 80px}.filter-bar{position:sticky;top:77px;z-index:20;display:grid;grid-template-columns:1.6fr repeat(4,1fr) auto;gap:1px;background:#d1d5db;border:1px solid #d1d5db;box-shadow:0 8px 30px rgba(23,36,44,.07)}.filter-bar label{display:grid;gap:7px;background:#fff;padding:13px 15px}.filter-bar label span{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#777}.filter-bar input,.filter-bar select{border:0;background:transparent;outline:0;font:inherit;min-width:0}.filter-bar button{border:0;background:var(--ink);color:#fff;padding:0 18px;cursor:pointer}.catalog-summary{display:flex;justify-content:space-between;padding:24px 0 18px;font-size:12px;color:#6b7280}.catalog-summary span:first-child{font-weight:700;color:var(--ink)}.project-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.catalog-project{background:#fff;border:1px solid #d1d5db}.catalog-project-image{display:block;aspect-ratio:1.5;position:relative;overflow:hidden;color:#fff}.catalog-project-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.catalog-project:hover img{transform:scale(1.035)}.catalog-project-image>span,.catalog-project-image>em{position:absolute;top:14px;background:rgba(24,35,31,.87);padding:7px 9px;font-size:11px;font-style:normal}.catalog-project-image>span{left:14px}.catalog-project-image>em{right:14px}.catalog-project-body{padding:22px}.project-tags{display:flex;gap:8px;flex-wrap:wrap}.project-tags span{font-size:10px;background:#e5e7eb;padding:6px 8px}.catalog-project h2{font:24px/1.2 var(--serif);margin:17px 0 8px}.catalog-project h2 a{color:inherit;text-decoration:none}.catalog-project-body>p{font-size:12px;color:#6b7280;min-height:36px}.catalog-project-foot{display:flex;justify-content:space-between;align-items:end;margin-top:22px;padding-top:17px;border-top:1px solid #d1d5db}.catalog-project-foot div{display:grid;gap:5px}.catalog-project-foot small{font-size:9px;color:#777}.catalog-project-foot strong{font:20px var(--serif)}.catalog-project-foot>a{color:var(--accent);font-size:12px;text-decoration:none;font-weight:700}.empty-catalog{grid-column:1/-1;padding:60px;background:#fff;text-align:center}.catalog-seo{max-width:920px;margin:0 auto;padding:20px 24px 90px}.catalog-seo h2{font:34px var(--serif)}.catalog-seo p{line-height:1.8;color:#57534e}@media(max-width:1200px){.project-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px){.filter-bar{grid-template-columns:repeat(3,1fr);position:static}.filter-bar button{min-height:52px}.project-catalog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.new-catalog-hero{grid-template-columns:1fr}.filter-bar,.project-catalog-grid{grid-template-columns:1fr}.catalog-summary{display:grid;gap:8px}.catalog-nav{display:none}}
/* API catalog states and pagination */
.catalog-more{margin:32px auto 0}.catalog-more[hidden]{display:none}.catalog-image-empty{position:static!important;display:grid!important;place-items:center;height:100%;background:#e5e7eb;color:#57534e!important}.catalog-project-foot strong{font-size:16px}
/* Пагинация: центрируется по горизонтали, компактная — первые 4 + текущая ±1 + последние 2. */
.catalog-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:48px auto 0;font:14px var(--sans)}
.catalog-pagination a,.catalog-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;transition:.2s}
.catalog-pagination a:hover{border-color:var(--accent);color:var(--accent)}
.catalog-pagination [aria-current="page"]{background:var(--ink);color:#fff;border-color:var(--ink);pointer-events:none}
.catalog-pagination .ellipsis{border:0;background:transparent;min-width:20px;padding:0 4px;color:#9ca3af}
.catalog-pagination .disabled{opacity:.4;pointer-events:none;background:transparent}
.catalog-pagination a[rel="prev"],.catalog-pagination a[rel="next"],.catalog-pagination .disabled:first-child,.catalog-pagination .disabled:last-child{padding:0 18px;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.catalog-project-image{background:#e5e7eb;aspect-ratio:5/3}.catalog-project-image img{object-fit:contain;object-position:center;padding:6px;background:#fff;transition:none}.catalog-project:hover .catalog-project-image img{transform:none}
.catalog-project-body{padding:14px 16px 16px;gap:8px}
.catalog-project h2{font:18px/1.2 var(--serif);margin:2px 0 4px}
.catalog-project-body>p{font-size:11.5px;color:#6b7280;min-height:0;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.catalog-project-foot{margin-top:10px;padding-top:10px;gap:10px}
.catalog-project-foot small{font-size:8px}
.catalog-project-foot strong{font:16px var(--serif)}
.project-specs{gap:5px}
.project-specs>div{padding:6px 8px;gap:7px}
.project-specs svg{width:20px;height:20px;flex-basis:20px}
.project-specs small{font-size:7px}
.project-specs strong{font-size:10px;margin-top:2px}
.catalog-plan-preview{width:72px;height:54px}
.catalog-details{font-size:11px}

/* Illustrated project parameters and real floor-plan preview. */
.catalog-project{display:flex;flex-direction:column;min-width:0}
.catalog-project-body{display:flex;flex:1;flex-direction:column}
.project-tags{display:none}
.project-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.project-specs>div{min-width:0;display:flex;align-items:center;gap:9px;padding:9px 10px;background:#f3f4f6;border:1px solid #e8e3da}
.project-specs svg{width:25px;height:25px;flex:0 0 25px;fill:none;stroke:var(--forest);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.project-specs span{display:grid;min-width:0;line-height:1.15}
.project-specs small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#817b72}
.project-specs strong{margin-top:4px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-project-body>p{flex:1}
.catalog-project-foot{gap:14px}
.catalog-adapt{display:grid;gap:5px;min-width:0}
.catalog-project-actions{display:flex;align-items:flex-end;gap:12px;margin-left:auto}
.catalog-plan-preview{position:relative;display:block;width:88px;height:66px;overflow:hidden;border:1px solid #d8d2c7;background:#fff}
.catalog-plan-preview img{width:100%;height:100%;object-fit:contain;transition:transform .25s}
.catalog-plan-preview:hover img{transform:scale(1.06)}
.catalog-plan-preview span{position:absolute;right:4px;bottom:4px;padding:2px 5px;background:rgba(0,105,168,.9);color:#fff;font-size:7px;text-transform:uppercase;letter-spacing:.08em}
.catalog-details{color:var(--accent);font-size:12px;text-decoration:none;font-weight:700;white-space:nowrap}

@media(max-width:1250px){.project-specs{grid-template-columns:1fr}.project-specs>div{padding:7px 9px}.project-specs svg{width:22px;height:22px;flex-basis:22px}}
@media(max-width:700px){.project-specs{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-project-foot{align-items:end}.catalog-plan-preview{width:78px;height:60px}}
@media(max-width:430px){.project-specs{grid-template-columns:1fr}.catalog-project-actions{gap:8px}.catalog-plan-preview{width:70px;height:54px}}
.catalog-project-foot .catalog-project-actions{display:flex}
.catalog-project:hover .catalog-plan-preview img{transform:none}
.catalog-project .catalog-plan-preview:hover img{transform:scale(1.06)}

/* Catalog filters: roof selector and optional project features. */
.filter-bar{grid-template-columns:1.5fr repeat(4,minmax(125px,1fr)) auto auto}
.filter-features{position:relative;min-width:max-content;margin:0;padding:24px 14px 8px;border:0;background:#fff;display:flex;align-items:center;gap:12px}
.filter-features legend{position:absolute;top:9px;left:14px;margin:0;font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:1px;color:#777}
.filter-features label{display:flex;align-items:center;gap:5px;padding:0;background:transparent;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}
.filter-features label span{font-size:10px;letter-spacing:0;text-transform:none;color:#35322d}
.filter-features input{width:15px;height:15px;margin:0;accent-color:var(--forest)}

@media(max-width:1400px){.filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-features{min-height:58px}.filter-bar>button{min-height:58px}}
@media(max-width:700px){.filter-bar{grid-template-columns:1fr}.filter-features{display:grid;grid-template-columns:repeat(3,1fr);min-width:0}.filter-features legend{grid-column:1/-1}.filter-features label{justify-content:flex-start}}

/* Card actions row: «Подробнее» + PDF download */
.project-card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px 14px;border-top:1px solid #d1d5db;background:#f3f4f6}
.project-card-open{color:var(--forest);font-size:11px;font-weight:700;text-decoration:none;letter-spacing:.04em;text-transform:uppercase}
.project-card-open:hover{color:var(--accent)}
.project-card-pdf{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:700;color:var(--forest);border:1px solid var(--forest);background:#fff;text-decoration:none;letter-spacing:.03em;transition:background-color .18s,color .18s,border-color .18s}
.project-card-pdf svg{flex:0 0 16px;stroke:currentColor}
.project-card-pdf:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.project-card-pdf:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:430px){.project-card-actions{padding:8px 12px 12px}.project-card-pdf{padding:5px 8px;font-size:10px}}
