/* Витрина «Недвижимость» (templates/realty/hub.html): герой с поиском, цветные плитки, цены городов, сервисы. */
.realty-hero{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--radius-lg);padding:clamp(1.25rem,5vw,3.5rem) clamp(.85rem,4vw,3rem);display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 18%,var(--bg-elev)),color-mix(in srgb,var(--accent) 16%,var(--bg-elev)));border:1px solid var(--border)}
.realty-hero::before{content:"";position:absolute;inset:-30%;z-index:-1;background:radial-gradient(35% 40% at 15% 25%,color-mix(in srgb,var(--primary) 35%,transparent),transparent 70%),radial-gradient(30% 35% at 85% 20%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 70%),radial-gradient(40% 40% at 60% 100%,color-mix(in srgb,var(--info) 25%,transparent),transparent 70%);filter:blur(30px)}
@media (min-width:960px){.realty-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}}
.realty-hero h1{font-size:clamp(1.9rem,4.5vw,3rem);letter-spacing:-.03em;line-height:1.08;margin:0 0 .6rem}
.realty-search{padding:1.1rem;display:flex;flex-direction:column;gap:.9rem;box-shadow:var(--shadow-lg,var(--shadow));min-width:0}
.realty-deals{display:flex;gap:.25rem;background:var(--bg-sunken);padding:.3rem;border-radius:999px;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.realty-deal{position:relative;cursor:pointer}
.realty-deal input{position:absolute;opacity:0;pointer-events:none}
.realty-deal span{display:block;padding:.45rem clamp(.65rem,3vw,1rem);border-radius:999px;font-weight:600;font-size:.92rem;color:var(--fg-muted);transition:.15s;white-space:nowrap}
.realty-deal input:checked+span{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}
.realty-deal input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
.realty-search-fields{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}
.realty-search-fields .realty-city{grid-column:1/-1;position:relative}
@media (min-width:640px){.realty-search-fields{grid-template-columns:1.5fr .8fr 1fr}}
.realty-search .city-results{position:absolute;inset-inline:0;top:100%;z-index:20;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:.25rem}
.realty-tiles{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.realty-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.realty-tile{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border-radius:var(--radius);text-decoration:none;color:var(--fg);background:linear-gradient(160deg,hsl(var(--hue) 85% 92%),hsl(calc(var(--hue) + 25) 80% 86%));border:1px solid hsl(var(--hue) 50% 82%);transition:transform .15s,box-shadow .15s}
.realty-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.realty-tile-emoji{font-size:1.9rem;line-height:1}
.realty-tile-name{font-weight:700}
.realty-tile-n{font-size:.85rem;color:color-mix(in srgb,var(--fg) 65%,transparent)}
:root[data-theme="dark"] .realty-tile{background:linear-gradient(160deg,hsl(var(--hue) 35% 22%),hsl(calc(var(--hue) + 25) 35% 17%));border-color:hsl(var(--hue) 30% 30%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .realty-tile{background:linear-gradient(160deg,hsl(var(--hue) 35% 22%),hsl(calc(var(--hue) + 25) 35% 17%));border-color:hsl(var(--hue) 30% 30%)}}
.realty-prices{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){.realty-prices{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1100px){.realty-prices{grid-template-columns:repeat(5,minmax(0,1fr))}}
.realty-price{display:flex;flex-direction:column;gap:.15rem;padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);text-decoration:none;color:var(--fg);transition:border-color .15s,box-shadow .15s}
.realty-price:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}
.realty-price.is-local{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
.realty-price-value{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.realty-tools{display:grid;gap:.75rem;grid-template-columns:1fr}
@media (min-width:640px){.realty-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.realty-tools{grid-template-columns:repeat(4,minmax(0,1fr))}}
.realty-tool{display:flex;flex-direction:column;gap:.3rem;padding:1.1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);text-decoration:none;color:var(--fg);transition:transform .15s,box-shadow .15s}
.realty-tool>span[aria-hidden]{font-size:1.6rem}
.realty-tool:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.realty-tool.is-main{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,var(--accent)));color:#fff;border-color:transparent}
.realty-tool.is-main .hint{color:color-mix(in srgb,#fff 85%,transparent)}
.realty-band{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:1.25rem 1.4rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,var(--bg-elev)),color-mix(in srgb,var(--primary) 14%,var(--bg-elev)));border:1px solid var(--border)}
.realty-band p{margin:.25rem 0 0;color:var(--fg-muted)}
.is-up{color:var(--success-ink,var(--success))}
.is-down{color:var(--danger-ink,var(--danger))}
