/* Real estate catalog and object card (07.10.2026). */
.ec-hero{padding:40px 0 18px}
.ec-section{padding-top:18px}
.ec-filters{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(16,32,51,.06)}
.ec-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:600}
.ec-filters select,.ec-filters input{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:15px;color:var(--ink);font-weight:500}
.ec-filters select:disabled{background:#f3f5f4;color:#9aa5b1}
.ec-filters .btn{height:44px}
.ec-count{margin:18px 0;color:var(--muted)}
.ec-count a{color:var(--green)}
.ec-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.ec-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;color:inherit;text-decoration:none;transition:box-shadow .18s,transform .18s}
.ec-card:hover{box-shadow:0 14px 34px rgba(16,32,51,.12);transform:translateY(-2px)}
.ec-photo{position:relative;aspect-ratio:4/3;background:#eef2ef}
.ec-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ec-nophoto{display:grid;place-items:center;height:100%;min-height:200px;color:var(--muted);font-size:14px}
.ec-badge{position:absolute;left:12px;top:12px;padding:5px 10px;border-radius:999px;background:var(--green);color:#fff;font-size:12px;font-weight:700}
.ec-body{padding:16px 18px 18px}
.ec-price{display:block;font-size:22px;color:var(--ink)}
.ec-body h3{margin:6px 0 4px;font-size:16px;line-height:1.3}
.ec-place{margin:0;color:var(--muted);font-size:14px}
.ec-facts{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.ec-facts span{padding:4px 10px;border-radius:999px;background:var(--soft);font-size:13px}
.ec-pages{display:flex;flex-wrap:wrap;gap:6px;margin:26px 0}
.ec-pages a,.ec-pages span{min-width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.ec-pages span{background:var(--green);border-color:var(--green);color:#fff}
.ec-help{margin-top:28px}
.ed-crumbs{padding:18px 0;font-size:14px;color:var(--muted)}
.ed-crumbs a{color:var(--muted)}
.ed-top{display:grid;gap:24px;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);align-items:start}
.ed-gallery{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:20px}
.ed-gallery img{flex:0 0 100%;width:100%;aspect-ratio:4/3;object-fit:cover;scroll-snap-align:start;border-radius:20px}
.ed-summary h1{margin:6px 0;font-size:26px;line-height:1.2}
.ed-price{margin:14px 0;font-size:32px;font-weight:800}
.ed-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}
.ed-facts div{padding:10px 12px;border-radius:12px;background:var(--soft)}
.ed-facts dt{font-size:12px;color:var(--muted)}
.ed-facts dd{margin:2px 0 0;font-weight:700}
.ed-cta{display:block;text-align:center}
.ed-text{max-width:760px;font-size:17px;line-height:1.6;color:#2c3a48}
@media (max-width:900px){.ed-top{grid-template-columns:1fr}}
@media (max-width:720px){.ec-filters{grid-template-columns:1fr 1fr;padding:14px}.ec-filters .btn{grid-column:1/-1}.ed-price{font-size:28px}}
.ed-gallery-wrap{position:relative}.ed-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18)}.ed-prev{left:12px}.ed-next{right:12px}.ed-counter{position:absolute;right:14px;bottom:14px;padding:4px 10px;border-radius:999px;background:rgba(21,34,50,.7);color:#fff;font-size:13px}
