:root {
  --ink: #1d222d; --blue: #172E4D; --blue-soft: #f0f2f4; --red: #E6321F;
  --paper: #f7f7f5; --white: #fff; --muted: #767a86; --line: #dcdee4;
  font-family: Arial, Helvetica, sans-serif; color: var(--ink); background: var(--paper); font-synthesis: none;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.topbar { height: 82px; padding: 0 clamp(20px,4vw,64px); display: flex; align-items: center; border-bottom: 1px solid rgba(23,46,77,.12); background: rgba(247,247,245,.92); backdrop-filter: blur(16px); position: sticky; top: 0; z-index: 20; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; color: var(--blue); }
.brand img { display: block; width: 146px; height: auto; }
.brand-fallback { color: var(--blue); font-family: Georgia, "Times New Roman", serif; font-size: 24px; letter-spacing: .04em; }
.nav { display: flex; align-self: stretch; align-items: center; gap: 34px; margin-left: auto; }
.nav a, .nav button { border: 0; background: none; text-decoration: none; color: var(--muted); padding: 0; font-size: 12px; position: relative; }
.nav .active { color: var(--blue); }
.nav .active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -32px; height: 2px; background: var(--red); }
.nav sup { min-width: 16px; height: 16px; padding: 0 4px; display: inline-grid; place-items: center; border-radius: 10px; background: var(--blue); color: white; font-size: 8px; top: -.3em; }
main { overflow: clip; }
.hero { min-height: 630px; padding: clamp(66px,8vw,116px) max(6vw,24px) 58px; display: flex; flex-direction: column; align-items: center; text-align: center; background: var(--paper); position: relative; }
.hero::after { content: ""; position: absolute; width: 46vw; height: 46vw; max-width: 700px; max-height: 700px; min-width: 360px; min-height: 360px; border: 1px solid rgba(23,46,77,.07); border-radius: 50%; left: 50%; top: -25vw; transform: translateX(-50%); box-shadow: 0 0 0 100px rgba(23,46,77,.018), 0 0 0 220px rgba(23,46,77,.012); pointer-events: none; }
.hero-kicker { display: flex; align-items: center; gap: 12px; color: var(--blue); text-transform: uppercase; font-size: 10px; letter-spacing: .16em; }
.hero-kicker i { width: 28px; height: 1px; background: var(--red); }
h1 { max-width: 1040px; margin: 25px 0 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px,7vw,96px); line-height: .93; letter-spacing: -.055em; font-weight: 400; color: var(--blue); position: relative; z-index: 1; }
h1 em { color: var(--red); font-weight: 400; }
.hero-copy { max-width: 560px; margin: 0 0 43px; color: var(--muted); line-height: 1.65; font-size: 14px; }
.smart-search { position: relative; z-index: 2; width: min(1040px,100%); min-height: 78px; padding: 12px 12px 12px 20px; display: flex; align-items: center; gap: 16px; background: var(--white); border: 1px solid rgba(23,46,77,.18); box-shadow: 0 18px 60px rgba(23,46,77,.08); text-align: left; }
.ai-mark { flex: 0 0 auto; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--blue); color: white; font-size: 9px; font-weight: 700; letter-spacing: .08em; }
.smart-search textarea { flex: 1; min-width: 0; resize: none; overflow: hidden; border: 0; outline: 0; background: transparent; padding: 14px 0; font-size: clamp(15px,1.6vw,20px); line-height: 1.35; }
.smart-search textarea::placeholder { color: #9a9ca4; }
.search-submit { width: 52px; height: 52px; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: white; font-size: 24px; transition: transform .2s, background .2s; }
.search-submit:hover { transform: translateX(2px); background: #a9162a; }
.smart-search.is-searching .search-submit { color: transparent; pointer-events: none; }
.smart-search.is-searching .search-submit::after { content: ""; width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.42); border-top-color: white; border-radius: 50%; animation: search-spin .7s linear infinite; }
@keyframes search-spin { to { transform: rotate(360deg); } }
.search-meta { width: min(1040px,100%); position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 20px; align-items: start; padding-top: 15px; }
.examples { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; color: var(--muted); font-size: 10px; }
.examples button { border: 0; background: none; color: var(--blue); padding: 0 0 2px; border-bottom: 1px solid rgba(20,44,103,.3); font-size: 10px; }
.filters-toggle { border: 0; background: none; padding: 0; display: flex; align-items: center; gap: 8px; white-space: nowrap; color: var(--blue); font-size: 11px; }
.filters-toggle svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.filters-toggle > span { min-width: 17px; height: 17px; padding: 0 4px; border-radius: 10px; background: var(--red); color: white; place-items: center; font-size: 9px; }
.filters-toggle > span:not([hidden]) { display: inline-grid; }
.parsed-filters { width: min(1040px,100%); margin-top: 18px; padding: 14px 16px; position: relative; z-index: 2; align-items: center; gap: 12px; border-left: 2px solid var(--red); background: var(--blue-soft); font-size: 11px; text-align: left; }
.parsed-filters:not([hidden]) { display: flex; }
.parsed-filters > span { color: var(--muted); white-space: nowrap; }
#parsed-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.parsed-chip { padding: 6px 8px 6px 10px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid transparent; border-radius: 2px; background: var(--white); color: var(--blue); transition: color .18s, border-color .18s, background .18s; }
.parsed-chip b { font-size: 15px; line-height: .8; font-weight: 400; opacity: .45; }
.parsed-chip:hover, .parsed-chip:focus-visible { color: var(--red); border-color: rgba(230,50,31,.28); background: #fffafa; outline: none; }
.parsed-chip:hover b, .parsed-chip:focus-visible b { opacity: 1; }
#clear-smart { margin-left: auto; border: 0; background: none; color: var(--muted); font-size: 10px; }

.manual-panel { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.manual-panel:not([hidden]) { display: block; }
.manual-panel-inner { width: min(1380px,92vw); margin: 0 auto; padding: 42px 0; display: grid; grid-template-columns: 1.05fr repeat(5,minmax(120px,1fr)) auto; gap: 20px; align-items: end; }
.section-label { margin: 0 0 8px; color: var(--red); text-transform: uppercase; font-size: 9px; letter-spacing: .16em; }
.panel-title h2, .results-head h2, .drawer-header h2 { margin: 0; font-family: Georgia, serif; font-weight: 400; color: var(--blue); }
.panel-title h2 { font-size: 34px; }
.field { display: grid; gap: 9px; }.field > span { color: var(--muted); text-transform: uppercase; font-size: 9px; letter-spacing: .1em; }
.field input, .field select, .sort-control select { width: 100%; height: 43px; padding: 0 12px; border: 0; border-bottom: 1px solid var(--line); outline: 0; background: transparent; }
.field input:focus, .field select:focus, .sort-control select:focus { border-color: var(--blue); }
.range { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.completion-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.filter-actions { display: flex; align-items: center; gap: 12px; }.text-button { border: 0; background: none; padding: 10px 0; color: var(--muted); font-size: 10px; }.apply-button { height: 44px; padding: 0 18px; border: 0; background: var(--blue); color: white; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }

.results { width: min(1320px,88vw); margin: 0 auto; padding: 80px 0 120px; }
.results-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 32px; }
.results-head h2 { font-size: clamp(34px,4vw,55px); letter-spacing: -.035em; }.results-head h2 sup { color: var(--red); font-family: Arial, sans-serif; font-size: 12px; vertical-align: top; margin-left: 5px; }
.sort-control { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 10px; }.sort-control select { width: auto; padding-right: 26px; color: var(--blue); }
.selection-suggestion { margin: -10px 0 28px; padding: 17px 20px; align-items: center; justify-content: space-between; gap: 20px; background: var(--blue); color: white; }
.selection-suggestion:not([hidden]) { display: flex; }.selection-suggestion p { margin: 0; display: grid; gap: 3px; }.selection-suggestion strong { font-family: Georgia, serif; font-weight: 400; font-size: 18px; }.selection-suggestion span { color: #bfc8dc; font-size: 10px; }.selection-suggestion button { height: 38px; padding: 0 16px; border: 1px solid rgba(255,255,255,.4); background: transparent; color: white; text-transform: uppercase; letter-spacing: .08em; font-size: 9px; }
.property-grid { display: grid; grid-template-columns: repeat(4,minmax(190px,1fr)); gap: 28px 16px; }
.property-card { min-width: 0; }.card-visual { height: clamp(180px,20vw,280px); position: relative; display: grid; place-items: center; overflow: hidden; background: var(--card-bg); }.visual-link { position: absolute; inset: 0; display: grid; place-items: center; color: inherit; text-decoration: none; }
.card-visual::before { content: ""; position: absolute; width: 130%; height: 42%; top: 5%; right: -50%; transform: rotate(28deg); background: rgba(255,255,255,.32); }
.building { width: 42%; height: 65%; position: relative; background: var(--building); box-shadow: 35px 20px 0 var(--building-2), -27px 38px 0 var(--building-2); opacity: .88; }
.building::after { content: ""; position: absolute; inset: 12%; background: repeating-linear-gradient(90deg, rgba(255,255,255,.78) 0 8px, transparent 8px 20px), repeating-linear-gradient(0deg, transparent 0 17px, rgba(255,255,255,.46) 17px 23px); }
.lot-tag { position: absolute; z-index: 2; left: 12px; top: 12px; padding: 6px 8px; background: rgba(255,255,255,.9); color: var(--blue); text-transform: uppercase; letter-spacing: .08em; font-size: 8px; }
.favorite { position: absolute; z-index: 10; top: 12px; right: 12px; width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.96); color: var(--blue); font-size: 18px; box-shadow:0 4px 14px rgba(23,46,77,.15); transition: .2s; touch-action:manipulation; }.property-card.selected .favorite { background: var(--red); color: white; transform: rotate(45deg); }
.card-body { padding: 15px 2px 0; }.card-title { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }.card-title h3 { margin: 0; color: var(--blue); font-family: Georgia, serif; font-weight: 400; font-size: 20px; line-height: 1.15; }.card-title h3 a { color: inherit; text-decoration: none; }.card-title h3 a:hover { color: var(--red); }.card-id { color: #a3a6ae; font-size: 8px; white-space: nowrap; }
.facts { margin-top: 15px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }.fact { display: grid; gap: 3px; }.fact span { color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: 8px; }.fact strong { font-size: 11px; font-weight: 500; }.fact.price strong { color: var(--red); font-size: 13px; }
.empty-state { max-width:720px; margin:34px auto 0; padding:58px 34px; text-align:center; border:1px solid var(--line); background:linear-gradient(145deg,#fff 0%,#f3f4f3 100%); position:relative; overflow:hidden; }
.empty-state::after { width:180px; height:180px; content:""; position:absolute; right:-90px; bottom:-110px; border:1px solid rgba(23,46,77,.08); border-radius:50%; box-shadow:0 0 0 34px rgba(23,46,77,.025); }
.empty-state-mark { width:54px; height:54px; margin:0 auto 22px; display:grid; place-items:center; border-radius:50%; background:var(--blue); position:relative; }
.empty-state-mark i { width:18px; height:18px; display:block; border:2px solid white; border-radius:50%; position:relative; }
.empty-state-mark i::after { width:8px; height:2px; content:""; position:absolute; right:-6px; bottom:-3px; transform:rotate(45deg); background:var(--red); }
.empty-state span { display:block; color:var(--blue); font-size:clamp(24px,3vw,34px); font-weight:500; letter-spacing:-.035em; }
.empty-state p { max-width:480px; margin:12px auto 24px; color:var(--muted); font-size:12px; line-height:1.6; }
.empty-state button { min-height:40px; padding:0 18px; border:1px solid var(--blue); background:transparent; color:var(--blue); font-size:8px; text-transform:uppercase; letter-spacing:.09em; position:relative; z-index:1; }
.empty-state button:hover { background:var(--blue); color:white; }
@media(max-width:560px){.empty-state{margin-top:20px;padding:42px 20px}.empty-state-mark{width:48px;height:48px}}
.catalog-pagination { margin:32px auto 0; display:flex; align-items:center; justify-content:center; gap:10px; }
.catalog-pagination[hidden] { display:none; }
.catalog-page-list { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.catalog-page-gap { width:22px; display:grid; place-items:center; color:var(--muted); font-size:11px; }
.catalog-pagination button { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:white; color:var(--blue); font-size:10px; transition:background .18s ease,color .18s ease,border-color .18s ease; }
.catalog-pagination button:hover:not(:disabled), .catalog-pagination button.active { border-color:var(--blue); background:var(--blue); color:white; }
.catalog-pagination button:disabled { opacity:.32; cursor:default; }
.catalog-pagination.is-loading { opacity:.62; pointer-events:none; }
.catalog-pagination .catalog-page-arrow { font-size:16px; }
footer { min-height: 100px; padding: 35px max(6vw,24px); display: flex; justify-content: space-between; color: #c9cfdf; background: var(--blue); text-transform: uppercase; letter-spacing: .12em; font-size: 8px; }

.selection-fab { position: fixed; z-index: 25; right: 28px; bottom: 24px; min-width: 210px; padding: 13px 14px; border: 0; display: grid; grid-template-columns: 1fr auto; gap: 3px 16px; background: var(--red); color: white; text-align: left; box-shadow: 0 16px 45px rgba(90,14,28,.24); }.selection-fab span { text-transform: uppercase; letter-spacing: .08em; font-size: 9px; }.selection-fab small { color: #f3c8ce; font-size: 9px; }.selection-fab b { grid-row: 1 / 3; grid-column: 2; align-self: center; min-width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: white; color: var(--red); font-size: 10px; }
.drawer-backdrop { position: fixed; inset: 0; z-index: 30; background: rgba(17,22,45,.4); backdrop-filter: blur(3px); }.collection-drawer { position: fixed; z-index: 31; right: 0; top: 0; bottom: 0; width: min(460px,100vw); padding: 34px; display: flex; flex-direction: column; gap: 25px; background: white; transform: translateX(105%); transition: transform .28s ease; box-shadow: -20px 0 70px rgba(17,22,45,.18); }.collection-drawer.open { transform: translateX(0); }
.drawer-header { display: flex; justify-content: space-between; align-items: start; }.drawer-header h2 { font-size: 38px; }.icon-button { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: none; font-size: 22px; }.collection-name { margin-bottom: 4px; }.collection-list { overflow: auto; display: grid; gap: 0; }.collection-item { padding: 15px 0; display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; border-bottom: 1px solid var(--line); }.collection-item strong { color: var(--blue); font-family: Georgia, serif; font-size: 17px; font-weight: 400; }.collection-item strong a { color: inherit; text-decoration: none; }.collection-item strong a:hover { color: var(--red); }.collection-item span { color: var(--muted); font-size: 9px; }.remove-button { grid-row: 1/3; grid-column: 2; border: 0; background: none; color: var(--muted); font-size: 20px; }.collection-empty { padding: 50px 20px; text-align: center; color: var(--muted); }.collection-empty span { display: inline-grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; font-size: 20px; }.collection-empty p { font-size: 11px; }.drawer-footer { margin-top: auto; padding-top: 20px; display: grid; gap: 12px; border-top: 1px solid var(--line); }.primary-button { height: 50px; border: 0; background: var(--blue); color: white; text-transform: uppercase; letter-spacing: .1em; font-size: 9px; }.primary-button:disabled { opacity: .3; cursor: not-allowed; }.secondary-button { height: 46px; border: 1px solid var(--blue); background: transparent; color: var(--blue); text-transform: uppercase; letter-spacing: .1em; font-size: 9px; }.secondary-button:disabled { opacity: .3; cursor: not-allowed; }
.collection-type-tabs { display:grid; grid-template-columns:1fr 1fr; padding:4px; background:#f3f3f0; border-radius:999px; }
.collection-type-tabs button { min-height:38px; border:0; border-radius:999px; background:transparent; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:9px; }
.collection-type-tabs button.active { background:var(--blue); color:white; }
.collection-type-tabs sup { margin-left:4px; font-size:8px; }
.project-collection-item span { color:var(--blue); }
.clear-collections-button { min-height:38px; border:0; background:transparent; color:var(--red); text-transform:uppercase; letter-spacing:.08em; font-size:8px; }
.clear-collections-button:not(:disabled):hover { text-decoration:underline; text-underline-offset:4px; }
.clear-collections-button:disabled { opacity:.3; cursor:not-allowed; }
.clear-modal { position:fixed; z-index:60; inset:0; padding:20px; display:grid; place-items:center; background:rgba(12,25,43,.62); backdrop-filter:blur(8px); opacity:0; transition:opacity .18s ease; }
.clear-modal.open { opacity:1; }
.clear-modal-panel { width:min(440px,100%); padding:38px; position:relative; overflow:hidden; background:white; box-shadow:0 30px 90px rgba(10,22,38,.3); transform:translateY(12px) scale(.98); transition:transform .18s ease; }
.clear-modal.open .clear-modal-panel { transform:translateY(0) scale(1); }
.clear-modal-panel::after { content:""; width:160px; height:160px; position:absolute; right:-92px; top:-92px; border:1px solid rgba(145,29,48,.14); border-radius:50%; box-shadow:0 0 0 28px rgba(145,29,48,.035); }
.clear-modal-icon { width:48px; height:48px; margin-bottom:26px; display:grid; place-items:center; border-radius:50%; background:#f7e9eb; }
.clear-modal-icon span { width:14px; height:18px; position:relative; border:2px solid var(--red); border-top:0; }
.clear-modal-icon span::before { content:""; width:18px; position:absolute; left:-4px; top:-5px; border-top:2px solid var(--red); }
.clear-modal-icon span::after { content:""; width:6px; position:absolute; left:2px; top:-9px; border-top:2px solid var(--red); }
.clear-modal-panel h2 { max-width:330px; margin:0 0 12px; color:var(--blue); font:500 31px/1.05 Arial,sans-serif; letter-spacing:-.035em; }
.clear-modal-panel > p:not(.section-label) { max-width:330px; margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.clear-modal-summary { margin:24px 0; padding:13px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--blue); text-transform:uppercase; letter-spacing:.08em; font-size:8px; }
.clear-modal-actions { display:grid; grid-template-columns:1fr 1.25fr; gap:9px; }
.clear-modal-actions button { min-height:46px; text-transform:uppercase; letter-spacing:.09em; font-size:8px; }
.clear-modal-cancel { border:1px solid var(--blue); background:white; color:var(--blue); }
.clear-modal-confirm { border:1px solid var(--red); background:var(--red); color:white; }
.clear-modal-confirm:hover { background:#761426; }
@media(max-width:520px){.clear-modal{padding:14px;align-items:end}.clear-modal-panel{padding:30px 24px 24px}.clear-modal-panel h2{font-size:28px}.clear-modal-actions{grid-template-columns:1fr}.clear-modal-confirm{grid-row:1}.clear-modal-cancel{grid-row:2}}
.collection-comment,.collection-offer { grid-column:1/-1; margin-top:6px; display:grid; gap:6px; }
.collection-comment small,.collection-offer small { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:7px; }
.collection-comment textarea,.collection-offer textarea { width:100%; min-height:54px; padding:9px 10px; resize:vertical; border:1px solid var(--line); border-radius:0; background:#fafaf8; color:var(--blue); font:11px/1.4 Arial,sans-serif; }
.collection-comment textarea:focus,.collection-offer textarea:focus { outline:1px solid var(--blue); outline-offset:-1px; }
.collection-offer { margin-top:10px; }
.collection-offer small { color:var(--red); font-weight:700; }
.collection-offer textarea { border-color:rgba(141,31,47,.35); background:#fff8f7; }
.toast { position: fixed; z-index: 50; left: 50%; bottom: 26px; padding: 12px 18px; background: var(--ink); color: white; transform: translate(-50%,18px); opacity: 0; pointer-events: none; font-size: 11px; transition: .25s; }.toast.show { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 1080px) { .manual-panel-inner { grid-template-columns: repeat(2,1fr); }.panel-title { grid-column: 1/-1; }.property-grid { grid-template-columns: repeat(3,minmax(190px,1fr)); } }
@media (max-width: 760px) { .topbar { height: 68px; padding: 0 18px; }.nav { display: none; }.brand img { width: 122px; }.hero { min-height: auto; padding: 60px 20px 45px; }.hero::after { opacity: .5; }.hero-copy { margin-bottom: 30px; }.smart-search { padding: 8px 8px 8px 13px; gap: 10px; min-height: 68px; }.ai-mark { width: 30px; height: 30px; }.search-submit { width: 45px; height: 45px; }.examples { display: none; }.search-meta { justify-content: flex-end; }.parsed-filters:not([hidden]) { align-items: start; flex-wrap: wrap; }.parsed-filters #clear-smart { margin-left: 0; }.manual-panel-inner { width: calc(100% - 40px); grid-template-columns: 1fr; }.property-grid { grid-template-columns: repeat(2,minmax(140px,1fr)); }.results { width: calc(100% - 40px); padding-top: 60px; }.results-head { align-items: start; gap: 20px; }.sort-control span { display: none; }.sort-control select { max-width: 150px; }.selection-suggestion { align-items: start; }.selection-fab { right: 16px; bottom: 16px; }.card-visual { height: 190px; }.facts { grid-template-columns: 1fr; }.fact:nth-child(2) { display: none; } }
@media (max-width: 600px) { h1 { font-size: 40px; line-height: .98; } h1 em { font-size: 37px; }.smart-search textarea { font-size: 14px; }.property-grid { grid-template-columns: 1fr; }.card-visual { height: 260px; }.results-head { display: grid; }.results-head h2 { font-size: 34px; }.sort-control { justify-self: start; }.selection-suggestion:not([hidden]) { display: grid !important; }.selection-suggestion button { justify-self: start; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* Более строгая типографика и брокерская карточка */
h1 { max-width: 900px; font-family: Arial, Helvetica, sans-serif; font-size: clamp(42px,5.4vw,76px); line-height: 1.02; letter-spacing: -.045em; font-weight: 500; }
h1 em { font-style: normal; font-weight: 500; }
.panel-title h2, .results-head h2, .drawer-header h2, .card-title h3, .collection-item strong, .selection-suggestion strong, .empty-state span { font-family: Arial, Helvetica, sans-serif; }
.card-photo { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.property-card:hover .card-photo { transform: scale(1.025); }
.card-visual::before { display: none; }
.broker-facts { margin-top: 14px; padding: 10px 11px; display: grid; grid-template-columns: 1fr auto; gap: 12px; border-left: 2px solid var(--red); background: #eef1f4; }
.broker-facts div { min-width: 0; display: grid; gap: 4px; }
.broker-facts div:last-child { text-align: right; }
.broker-facts span { color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: 7px; }
.broker-facts strong { overflow: hidden; color: var(--blue); font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 600px) { h1, h1 em { font-size: 39px; } .broker-facts { grid-template-columns: 1fr auto; } }

/* Расширенная панель фильтров каталога */
.manual-panel-inner { display:block; padding:34px 0; }
.panel-title { margin-bottom:24px; display:flex; justify-content:space-between; align-items:end; }
.filter-fields { display:grid; grid-template-columns:repeat(4,minmax(180px,1fr)); gap:20px 24px; }
.filter-fields .field { min-width:0; }
.filter-actions { margin-top:24px; justify-content:flex-end; }
@media(max-width:1100px){.filter-fields{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:620px){.manual-panel-inner{width:calc(100% - 36px);padding:28px 0}.filter-fields{grid-template-columns:1fr;gap:18px}.panel-title{margin-bottom:20px}.filter-actions{justify-content:space-between}}

/* Компактный каталог с предпросмотром */
.property-grid { grid-template-columns: repeat(5,minmax(180px,1fr)); gap: 18px 14px; }
.property-card { min-width: 0; position: relative; isolation: isolate; }
.property-card:hover, .property-card:focus-within { z-index: 6; }
.card-media { height: clamp(150px,14vw,188px); position: relative; overflow: hidden; background: var(--card-bg); }
.card-caption { min-height: 48px; padding: 11px 1px 6px; display: flex; align-items: start; justify-content: space-between; gap: 8px; transition: opacity .2s ease; }
.card-caption h3 { min-width: 0; margin: 0; overflow: hidden; color: var(--blue); font-size: 15px; line-height: 1.2; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.card-caption span { padding-top: 2px; color: #9b9ea8; font-size: 7px; white-space: nowrap; }
.card-caption span small { margin-top:4px; display:block; color:var(--muted); font-size:6px; text-align:right; text-transform:uppercase; letter-spacing:.05em; }
.preview-actualized { color:var(--muted); text-transform:uppercase; letter-spacing:.06em; font-size:6px; }
.card-preview { width: calc(100% + 12px); min-height: 178px; padding: 12px; position: absolute; z-index: 4; left: -6px; right: -6px; bottom: -6px; display: grid; gap: 8px; background: rgba(255,255,255,.97); border-top: 2px solid var(--red); box-shadow: 0 18px 44px rgba(23,46,77,.2); opacity: 0; transform: translateY(10px); pointer-events: none; transition: opacity .2s ease,transform .24s ease; }
.property-card:hover .card-preview, .property-card:focus-within .card-preview { opacity: 1; transform: translateY(0); pointer-events: auto; }
.property-card:hover .card-caption, .property-card:focus-within .card-caption { opacity: 0; }
.preview-heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.preview-heading > div { min-width: 0; }
.preview-heading span { display: block; margin-bottom: 3px; color: var(--red); text-transform: uppercase; letter-spacing: .1em; font-size: 6px; }
.preview-heading h3 { margin: 0; overflow: hidden; color: var(--blue); font-size: 14px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.preview-heading small { padding-top: 2px; color: #9b9ea8; font-size: 7px; white-space: nowrap; }
.preview-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 10px; }
.preview-facts div { min-width: 0; display: grid; gap: 2px; }
.preview-facts span { color: var(--muted); text-transform: uppercase; letter-spacing: .07em; font-size: 6px; }
.preview-facts strong { overflow: hidden; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.preview-facts .preview-price strong { color: var(--red); }
.preview-broker { padding-top: 7px; display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid var(--line); color: var(--blue); font-size: 8px; }
.preview-broker span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preview-broker strong { flex: 0 0 auto; font-size: inherit; }
.preview-button { min-height: 32px; padding: 0 10px; display: flex; align-items: center; justify-content: space-between; background: var(--blue); color: white; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; font-size: 7px; }
.preview-button span { color: #f36f60; font-size: 13px; }

@media(max-width:1180px){.property-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}}
@media(max-width:920px){.property-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media(max-width:700px){
  .topbar{height:62px;padding:0 15px}.brand img{width:116px}.hero{padding:44px 15px 34px}.hero-copy{max-width:520px;margin-bottom:24px;font-size:12px;line-height:1.55}.smart-search{width:100%;min-height:62px}.search-meta{width:100%;margin-top:12px}.filters-toggle{font-size:9px}.results{width:calc(100% - 28px);padding:45px 0 90px}.results-head{margin-bottom:22px}.results-head h2{font-size:31px}.property-grid{grid-template-columns:repeat(2,minmax(150px,1fr));gap:16px 12px}.card-media{height:170px}.selection-fab{min-width:185px;padding:11px 12px}.collection-drawer{padding:24px 20px}.drawer-header h2{font-size:31px}
}
@media(max-width:700px){.favorite{z-index:12;width:40px;height:40px;top:8px;right:8px;font-size:20px}.card-preview{z-index:4}}
@media(max-width:560px){
  html,body{max-width:100%;overflow-x:hidden}.hero,.hero>*{min-width:0;max-width:100%}.hero h1,.hero h1 em{width:100%;font-size:clamp(29px,8.1vw,34px);line-height:1.04;letter-spacing:-.04em}.hero-kicker{font-size:8px}.smart-search{padding-left:10px}.smart-search textarea{min-width:0;font-size:13px;line-height:1.4}.search-submit{flex:0 0 43px;width:43px;height:43px}.ai-mark{flex:0 0 28px;width:28px;height:28px;font-size:7px}.results-head{display:grid;gap:12px}.sort-control{justify-self:start}.property-grid{grid-template-columns:1fr;gap:12px}.property-card{min-height:184px;display:grid;grid-template-columns:minmax(118px,39%) 1fr;background:white;border:1px solid var(--line)}.card-media{height:100%;min-height:184px}.card-caption{display:none}.card-preview{width:auto;min-height:0;padding:13px;position:static;display:flex;flex-direction:column;gap:9px;border:0;box-shadow:none;opacity:1;transform:none;pointer-events:auto}.preview-heading h3{font-size:15px}.preview-facts{gap:8px}.preview-facts strong{font-size:10px}.preview-broker{font-size:7px}.preview-button{margin-top:auto}.lot-tag{left:8px;top:8px;max-width:calc(100% - 16px);padding:5px 6px;font-size:6px}.favorite{top:8px;right:8px;width:27px;height:27px}.selection-fab{right:10px;bottom:10px;min-width:170px}.manual-panel-inner{width:calc(100% - 28px)}
}
@media(max-width:380px){.property-card{grid-template-columns:112px 1fr}.preview-broker{display:grid;gap:3px}.preview-heading small{display:none}.selection-fab{left:10px;right:10px;width:auto}}
@media(hover:none){.property-card:hover .card-photo{transform:none}}

/* Каталог проектов */
.catalog-controls { display:flex; align-items:center; gap:20px; }
.view-switch { padding:4px; display:flex; gap:2px; border-radius:999px; background:#e9ebed; }
.view-switch button { min-height:34px; padding:0 15px; border:0; border-radius:999px; background:transparent; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:8px; }
.view-switch button.active { background:var(--blue); color:white; box-shadow:0 5px 14px rgba(23,46,77,.14); }
.property-grid.project-view { grid-template-columns:repeat(3,minmax(260px,1fr)); gap:24px 16px; }
.project-card { min-width:0; overflow:hidden; background:white; border:1px solid var(--line); }
.project-media { height:250px; position:relative; display:block; overflow:hidden; background:var(--card-bg); color:inherit; text-decoration:none; }
.project-card:hover .card-photo { transform:scale(1.025); }
.project-status { position:absolute; top:13px; padding:7px 9px; background:rgba(255,255,255,.94); color:var(--blue); text-transform:uppercase; letter-spacing:.08em; font-size:7px; }
.project-status { left:13px; }
.project-card-body { padding:18px; display:grid; gap:16px; }
.project-card-heading { display:flex; justify-content:space-between; gap:16px; align-items:start; }
.project-card-heading > div { min-width:0; }.project-card-heading p { margin:0 0 6px; overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.project-card-heading h3 { margin:0; color:var(--blue); font-size:22px; line-height:1.05; font-weight:600; letter-spacing:-.025em; }.project-card-heading h3 a { color:inherit; text-decoration:none; }.project-card-heading h3 a:hover { color:var(--red); }
.project-select { flex:0 0 32px; width:32px; height:32px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--blue); font-size:17px; }.project-card.selected .project-select { border-color:var(--red); background:var(--red); color:white; }
.project-summary { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.project-summary div { min-width:0; padding:12px 9px; display:grid; gap:4px; border-right:1px solid var(--line); }.project-summary div:first-child { padding-left:0; }.project-summary div:last-child { padding-right:0; border:0; }
.project-summary span,.project-internal span { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:7px; }.project-summary strong { overflow:hidden; font-size:10px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.project-broker { display:flex; justify-content:space-between; gap:12px; color:var(--blue); font-size:9px; }.project-broker strong { color:var(--red); font-size:inherit; }.project-broker span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-open { min-height:38px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; background:var(--blue); color:white; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:8px; }.project-open span { color:#f36f60; font-size:15px; }
.preview-broker a { color:inherit; text-decoration:none; }.preview-broker a:hover { color:var(--red); }

/* Отдельная страница проекта */
.project-page { width:min(1420px,94vw); margin:0 auto; padding:40px 0 90px; }
.project-nav a:first-child { color:var(--blue); }
.project-section-nav { min-height:56px; padding:0 clamp(20px,4vw,64px); position:sticky; z-index:18; top:82px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:34px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(16px); }
.project-section-nav a { color:var(--muted); text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:8px; white-space:nowrap; }
.project-section-back { display:flex; align-items:center; gap:8px; color:var(--blue) !important; }.project-section-back span { color:var(--red); font-size:14px; }
.project-section-links { min-width:0; display:flex; justify-content:center; align-self:stretch; gap:28px; overflow-x:auto; scrollbar-width:none; }.project-section-links::-webkit-scrollbar { display:none; }.project-section-links a { height:100%; position:relative; display:flex; align-items:center; }.project-section-links a.active { color:var(--blue); }.project-section-links a.active::after { content:""; height:2px; position:absolute; left:0; right:0; bottom:0; background:var(--red); }
.project-section-nav button { height:34px; padding:0 13px; border:0; display:flex; align-items:center; gap:12px; background:var(--blue); color:white; text-transform:uppercase; letter-spacing:.08em; font-size:8px; }.project-section-nav button span { color:#f36f60; font-size:14px; }.project-section-nav button.selected { background:var(--red); }.project-section-nav button.selected span { color:white; }
.project-hero { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(340px,.85fr); gap:40px; align-items:stretch; }
.project-hero-media { min-height:530px; overflow:hidden; background:var(--blue-soft); }.project-hero-media img { width:100%; height:100%; display:block; object-fit:cover; }
.project-hero-copy { padding:30px 4px 4px; display:flex; flex-direction:column; align-items:start; }
.project-hero-copy h1 { margin:10px 0 15px; font-family:Arial,Helvetica,sans-serif; font-size:clamp(48px,5vw,72px); line-height:.96; font-weight:500; letter-spacing:-.05em; }
.project-address { margin:0 0 24px; color:var(--blue); font-size:14px; }.project-description { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.project-actions { width:100%; margin-top:auto; padding-top:28px; display:grid; gap:9px; }.project-actions .primary-button.selected { background:var(--red); }.project-back { display:flex; align-items:center; justify-content:center; text-decoration:none; }
.project-internal { width:100%; margin-top:22px; padding:14px 0; display:grid; grid-template-columns:1fr 1fr; gap:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.project-internal div { display:grid; gap:5px; }.project-internal strong { color:var(--blue); font-size:11px; }
.project-metrics { margin:54px 0 76px; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.project-metrics div { min-height:105px; padding:20px 16px; display:grid; align-content:start; gap:8px; border-right:1px solid var(--line); }.project-metrics div:last-child { border:0; }.project-metrics span { color:var(--muted); text-transform:uppercase; letter-spacing:.09em; font-size:8px; }.project-metrics strong { color:var(--blue); font-size:17px; font-weight:600; }
.project-about { padding:0 0 76px; display:grid; grid-template-columns:minmax(210px,.55fr) minmax(320px,1fr) minmax(220px,.55fr); gap:48px; align-items:start; }.project-about h2,.project-location-section h2 { margin:0; color:var(--blue); font-size:clamp(34px,4vw,54px); line-height:.98; font-weight:500; letter-spacing:-.045em; }.project-about > div:nth-child(2) p { margin:0; color:#4f535a; font-size:17px; line-height:1.7; }
.project-details { padding-bottom:76px; display:grid; grid-template-columns:1fr 1fr; gap:70px; }.project-details h2,.project-units-head h2 { margin:0 0 24px; color:var(--blue); font-size:clamp(30px,3.4vw,46px); line-height:1; font-weight:500; letter-spacing:-.04em; }.project-feature-list { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; list-style:none; }.project-feature-list li { padding:12px 0 12px 20px; position:relative; border-bottom:1px solid var(--line); font-size:12px; }.project-feature-list li::before { content:""; width:6px; height:6px; position:absolute; left:0; top:17px; border-radius:50%; background:var(--red); }
.project-detail-table p { margin:0; padding:14px 0; display:flex; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); font-size:12px; }.project-detail-table span { color:var(--muted); }.project-detail-table strong { color:var(--blue); text-align:right; }

/* Особенности доступных лотов проекта */
.project-lot-highlights{margin:-38px 0 76px;padding:28px 0;display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr);gap:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-lot-highlights h2{margin:6px 0 0;color:var(--blue);font-size:clamp(28px,3vw,42px);line-height:1;font-weight:500;letter-spacing:-.04em}
.project-lot-highlights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.project-lot-highlights-grid article{min-width:0;padding:15px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;background:#f7f7f4;border:1px solid var(--line)}
.project-lot-highlights-grid i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:white;font-size:11px;font-style:normal}
.project-lot-highlights-grid article>div{min-width:0;display:grid;gap:3px}
.project-lot-highlights-grid small{color:var(--red);font-size:7px;text-transform:uppercase;letter-spacing:.09em}
.project-lot-highlights-grid strong{color:var(--blue);font-size:14px}
.project-lot-highlights-grid span{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:780px){.project-lot-highlights{grid-template-columns:1fr;gap:22px;margin-top:-20px}}
@media(max-width:560px){.project-lot-highlights-grid{grid-template-columns:1fr}}
.project-units { padding-top:58px; border-top:1px solid var(--line); }.project-units-head { margin-bottom:24px; display:flex; justify-content:space-between; gap:30px; align-items:end; }.project-units-head h2 { margin:0; }.project-units-head h2 sup { color:var(--red); font-size:11px; vertical-align:top; }.project-units-head > p { margin:0; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.project-lot-grid { display:grid; grid-template-columns:repeat(4,minmax(220px,1fr)); gap:16px; }.project-lot-card { min-width:0; background:white; border:1px solid var(--line); }.project-lot-media { height:180px; position:relative; display:block; overflow:hidden; }.project-lot-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .3s; }.project-lot-card:hover .project-lot-media img { transform:scale(1.025); }.project-lot-media span { position:absolute; left:10px; top:10px; padding:6px 8px; background:rgba(255,255,255,.94); color:var(--blue); font-size:7px; }
.project-lot-body { padding:14px; display:grid; grid-template-columns:1fr auto; gap:12px; }.project-lot-body p { margin:0 0 5px; color:var(--muted); font-size:8px; }.project-lot-body h3 { margin:0; color:var(--blue); font-size:16px; }.project-lot-body button { grid-column:2; grid-row:1; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--blue); font-size:16px; }.project-lot-body button.selected { border-color:var(--red); background:var(--red); color:white; }
.project-lot-actualized { margin-top:6px; display:block; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; font-size:6px; }
.project-lot-body dl { grid-column:1/-1; margin:0; padding:11px 0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.project-lot-body dl div { min-width:0; padding:0 7px; border-right:1px solid var(--line); }.project-lot-body dl div:first-child { padding-left:0; }.project-lot-body dl div:last-child { padding-right:0; border:0; }.project-lot-body dt { color:var(--muted); text-transform:uppercase; letter-spacing:.07em; font-size:6px; }.project-lot-body dd { margin:4px 0 0; overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.project-lot-feature-tags { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:5px; }
.project-lot-feature-tags span { padding:5px 8px; border:1px solid rgba(174,35,35,.2); border-radius:999px; background:#fff6f4; color:var(--red); font-size:7px; font-weight:600; }
.project-lot-open { grid-column:1/-1; display:flex; justify-content:space-between; color:var(--blue); text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:7px; }.project-lot-open span { color:var(--red); font-size:13px; }
.project-location-section { margin-top:76px; padding:54px; display:grid; grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr); gap:58px; align-items:center; background:#ebece9; }.project-location-section h2 { margin-bottom:18px; }.project-location-section p { max-width:620px; margin:0; color:var(--muted); font-size:13px; line-height:1.65; }.project-location-section dl { margin:28px 0 0; display:grid; gap:0; }.project-location-section dl div { padding:12px 0; display:grid; grid-template-columns:90px 1fr; gap:20px; border-bottom:1px solid rgba(23,46,77,.14); }.project-location-section dt { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:7px; }.project-location-section dd { margin:0; color:var(--blue); font-size:11px; }.project-map { height:340px; position:relative; overflow:hidden; background:#e2e3df; }
.project-not-found { min-height:65vh; display:grid; place-items:center; align-content:center; text-align:center; }.project-not-found h1 { max-width:760px; font-family:Arial,Helvetica,sans-serif; font-size:clamp(38px,5vw,64px); font-weight:500; }.project-not-found a { color:var(--blue); }
.project-map > a { min-height:38px; padding:0 14px; position:absolute; z-index:2; right:12px; bottom:12px; display:flex; align-items:center; gap:10px; background:var(--blue); color:white; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:8px; box-shadow:0 8px 24px rgba(23,46,77,.2); }
.project-map > a span { width:auto; height:auto; position:static; border:0; border-radius:0; background:none; color:#ffbcc5; font-size:13px; filter:none; transform:none; }

@media(max-width:1100px){.property-grid.project-view{grid-template-columns:repeat(2,minmax(260px,1fr))}.project-hero{grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr)}.project-hero-media{min-height:460px}.project-metrics{grid-template-columns:repeat(3,1fr)}.project-metrics div:nth-child(3){border-right:0}.project-metrics div:nth-child(-n+3){border-bottom:1px solid var(--line)}.project-lot-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}}
@media(max-width:780px){.catalog-controls{align-items:flex-end;flex-direction:column;gap:10px}.project-section-nav{top:62px;padding:0 15px;grid-template-columns:1fr auto;gap:14px}.project-section-back{display:none}.project-section-links{justify-content:flex-start;gap:20px}.project-hero{grid-template-columns:1fr;gap:18px}.project-hero-media{min-height:0;height:58vw}.project-hero-copy{padding-top:14px}.project-actions{margin-top:8px}.project-metrics{margin:38px 0 54px}.project-about{grid-template-columns:1fr;gap:26px}.project-details{grid-template-columns:1fr;gap:42px}.project-lot-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.project-units-head{align-items:start;flex-direction:column}.project-location-section{grid-template-columns:1fr;padding:34px;gap:34px}}
@media(max-width:560px){.results-head{gap:16px}.catalog-controls{width:100%;align-items:stretch}.view-switch{align-self:start}.sort-control{align-self:start}.property-grid.project-view{grid-template-columns:1fr;gap:14px}.project-card{display:grid;grid-template-columns:42% 1fr}.project-media{height:auto;min-height:240px}.project-card-body{padding:14px;gap:12px}.project-summary{grid-template-columns:1fr}.project-summary div,.project-summary div:first-child,.project-summary div:last-child{padding:7px 0;border-right:0;border-bottom:1px solid var(--line)}.project-summary div:last-child{border-bottom:0}.project-page{width:calc(100% - 28px);padding-top:18px}.project-nav{display:flex;gap:14px}.project-nav a{font-size:9px}.project-section-nav button{width:34px;padding:0;justify-content:center;font-size:0}.project-section-nav button span{font-size:14px}.project-hero-media{height:68vw}.project-hero-copy h1{font-size:42px}.project-metrics{grid-template-columns:repeat(2,1fr)}.project-metrics div,.project-metrics div:nth-child(3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.project-metrics div:nth-child(2n){border-right:0}.project-metrics div:last-child{border-bottom:0}.project-about>div:nth-child(2) p{font-size:15px}.project-feature-list{grid-template-columns:1fr}.project-lot-grid{grid-template-columns:1fr}.project-lot-card{display:grid;grid-template-columns:38% 1fr}.project-lot-media{height:auto}.project-lot-body dl{grid-template-columns:1fr}.project-lot-body dl div,.project-lot-body dl div:first-child,.project-lot-body dl div:last-child{padding:6px 0;border-right:0;border-bottom:1px solid var(--line)}.project-lot-body dl div:last-child{border:0}.project-location-section{margin-top:54px;padding:26px 20px}.project-map{height:240px}}

/* Компактные карточки без всплывающего предпросмотра */
.lot-catalog-card,
.project-card {
  cursor:pointer;
  outline:none;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
  transform-origin:center;
}
.lot-catalog-card {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
}
.lot-catalog-card .card-media { height:clamp(142px,13vw,178px); flex:0 0 auto; }
.lot-card-body { min-width:0; padding:12px; display:grid; gap:10px; }
.lot-card-heading { display:flex; align-items:start; justify-content:space-between; gap:10px; }
.lot-card-heading > div { min-width:0; }
.lot-card-heading p { margin:0 0 4px; overflow:hidden; color:var(--muted); font-size:7px; line-height:1.2; text-overflow:ellipsis; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.lot-card-heading h3 { margin:0; overflow:hidden; color:var(--blue); font-size:15px; line-height:1.15; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.lot-card-heading > span { flex:0 0 auto; padding-top:1px; color:#9b9ea8; font-size:7px; }
.lot-card-price { color:var(--red); font-size:14px; line-height:1; font-weight:600; }
.lot-card-facts { padding:9px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.lot-card-facts div { min-width:0; padding:0 7px; display:grid; gap:3px; border-right:1px solid var(--line); }
.lot-card-facts div:first-child { padding-left:0; }
.lot-card-facts div:last-child { padding-right:0; border-right:0; }
.lot-card-facts span { color:var(--muted); font-size:6px; text-transform:uppercase; letter-spacing:.06em; }
.lot-card-facts strong { overflow:hidden; font-size:9px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.lot-feature-tags { display:flex; flex-wrap:wrap; gap:5px; }
.lot-feature-tags span { padding:5px 8px; border:1px solid rgba(174,35,35,.2); border-radius:999px; background:#fff6f4; color:var(--red); font-size:7px; font-weight:600; letter-spacing:.03em; }
.lot-card-broker { min-width:0; display:flex; justify-content:space-between; gap:8px; color:var(--blue); font-size:7px; }
.lot-card-broker span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lot-card-broker strong { flex:0 0 auto; color:var(--red); font-size:inherit; }
.lot-card-footer { display:flex; align-items:center; justify-content:space-between; color:var(--muted); }
.lot-card-footer small { font-size:6px; text-transform:uppercase; letter-spacing:.05em; }
.lot-card-footer span { color:var(--red); font-size:15px; line-height:1; transition:transform .22s ease; }
.project-card { position:relative; }
.project-media { height:210px; }
.project-card-body { padding:16px; gap:12px; }
.project-summary div { padding-top:10px; padding-bottom:10px; }
.project-open { min-height:auto; padding:7px 0 0; background:transparent; color:var(--blue); border-top:1px solid var(--line); }
.project-open span { transition:transform .22s ease; }
.lot-catalog-card:hover,
.lot-catalog-card:focus-visible,
.project-card:hover,
.project-card:focus-visible {
  z-index:6;
  border-color:rgba(23,46,77,.28);
  box-shadow:0 16px 34px rgba(23,46,77,.13);
  transform:translateY(-4px) scale(1.012);
}
.lot-catalog-card:hover .lot-card-footer span,
.lot-catalog-card:focus-visible .lot-card-footer span,
.project-card:hover .project-open span,
.project-card:focus-visible .project-open span { transform:translateX(4px); }
.lot-catalog-card:active,
.project-card:active { transform:translateY(-1px) scale(.997); }
.lot-catalog-card .favorite,
.project-card .project-select { cursor:pointer; }

@media(max-width:700px){
  .lot-catalog-card .card-media { height:160px; }
  .lot-card-body { padding:11px; gap:9px; }
}
@media(max-width:560px){
  .lot-catalog-card { min-height:202px; display:grid; grid-template-columns:minmax(122px,39%) 1fr; }
  .lot-catalog-card .card-media { width:100%; height:100%; min-height:202px; }
  .lot-card-body { align-content:start; padding:13px; }
  .lot-card-heading h3 { font-size:16px; }
  .lot-card-price { font-size:13px; }
  .lot-card-broker { display:grid; gap:3px; }
  .lot-card-footer { margin-top:auto; }
  .project-card { grid-template-columns:40% 1fr; }
  .project-media { min-height:220px; }
  .project-card-body { padding:13px; gap:10px; }
  .project-card-heading h3 { font-size:18px; }
  .project-summary div,.project-summary div:first-child,.project-summary div:last-child { padding:6px 0; }
  .project-open { padding-top:7px; }
}
@media(max-width:380px){
  .lot-catalog-card { grid-template-columns:112px 1fr; }
  .lot-card-facts div { padding:0 4px; }
  .lot-card-facts span { font-size:5px; }
  .project-card { grid-template-columns:112px 1fr; }
}
@media(hover:none){
  .lot-catalog-card:hover,
  .project-card:hover { border-color:var(--line); box-shadow:none; transform:none; }
  .lot-catalog-card:active,
  .project-card:active { transform:scale(.99); }
}

/* Перелистывание фотографий в каталоге */
.card-gallery-controls { position:absolute; z-index:8; inset:0; pointer-events:none; }
.card-gallery-controls button { width:31px; height:31px; padding:0; position:absolute; top:50%; display:grid; place-items:center; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(16,36,62,.66); color:white; font:22px/1 Arial,sans-serif; opacity:0; pointer-events:auto; transform:translateY(-50%) scale(.9); transition:opacity .18s ease,transform .18s ease,background .18s ease; backdrop-filter:blur(7px); }
.card-gallery-controls button:first-of-type { left:9px; }
.card-gallery-controls button:last-of-type { right:9px; }
.card-gallery-controls button:hover,.card-gallery-controls button:focus-visible { background:var(--blue); outline:2px solid white; outline-offset:2px; }
.card-gallery-controls > span { min-width:42px; padding:5px 8px; position:absolute; left:50%; bottom:9px; border-radius:999px; background:rgba(16,36,62,.68); color:white; font-size:7px; text-align:center; letter-spacing:.08em; transform:translateX(-50%); backdrop-filter:blur(7px); }
.card-gallery-controls b { font:inherit; }
.lot-catalog-card:hover .card-gallery-controls button,
.lot-catalog-card:focus-within .card-gallery-controls button,
.project-card:hover .card-gallery-controls button,
.project-card:focus-within .card-gallery-controls button { opacity:1; transform:translateY(-50%) scale(1); }
.card-photo { transition:transform .3s ease,opacity .16s ease; }
.card-photo.gallery-changing { opacity:.55; }

/* Каталог: изолируем карточки от перерасчёта всей страницы при прокрутке. */
.lot-catalog-card,
.project-card {
  content-visibility: auto;
  contain: layout paint style;
  contain-intrinsic-size: 380px 420px;
}
.card-photo { backface-visibility: hidden; }
@media(hover:none){.card-gallery-controls button{opacity:1;transform:translateY(-50%) scale(1);width:29px;height:29px}.card-gallery-controls button:first-of-type{left:7px}.card-gallery-controls button:last-of-type{right:7px}}

/* Оглавление готовой презентации в панели подборки */
.collection-list { gap:0; }
.collection-item { padding:14px 0; grid-template-columns:68px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:8px 12px; align-items:start; }
.collection-item-thumb { width:68px; height:68px; grid-column:1; grid-row:1; display:block; object-fit:cover; background:#ecece8; }
.collection-item-copy { min-width:0; grid-column:2; grid-row:1; display:grid; align-content:start; gap:4px; }
.collection-item-copy > small { color:var(--red); text-transform:uppercase; letter-spacing:.09em; font-size:6px; }
.collection-item-copy strong { overflow:hidden; color:var(--blue); font-size:16px; line-height:1.1; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.collection-item-copy span { overflow:hidden; font-size:8px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.collection-item .remove-button { grid-column:3; grid-row:1; align-self:start; }
.collection-item .collection-offer,.collection-item .collection-comment { grid-column:1/-1; }
.drawer-footer .primary-button { font-size:8px; }
.broker-inputs { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.broker-inputs .field { min-width:0; }
.broker-inputs input { width:100%; }
@media(max-width:420px){.broker-inputs{grid-template-columns:1fr}}

/* Ручная сортировка страниц подборки */
.collection-item { grid-template-columns:68px minmax(0,1fr) auto auto; transition:opacity .16s ease,background .16s ease,transform .16s ease; }
.collection-item-actions { grid-column:3; grid-row:1; display:flex; align-items:center; gap:3px; }
.collection-item-actions button { width:25px; height:25px; padding:0; border:1px solid var(--line); background:white; color:var(--blue); font-size:12px; }
.collection-item-actions button:disabled { opacity:.25; cursor:not-allowed; }
.collection-drag-handle { width:22px; height:25px; display:grid; place-items:center; color:var(--muted) !important; font-size:13px !important; letter-spacing:-3px; cursor:grab; user-select:none; }
.collection-drag-handle:active { cursor:grabbing; }
.collection-item .remove-button { grid-column:4; }
.collection-item.dragging { opacity:.42; transform:scale(.985); }
.collection-item.drag-target { background:#f3f3f0; box-shadow:inset 0 2px 0 var(--red); }
@media(max-width:420px){.collection-item{grid-template-columns:58px minmax(0,1fr) auto}.collection-item-thumb{width:58px;height:58px}.collection-item-actions{grid-column:3}.collection-item .remove-button{grid-column:3;grid-row:2}.collection-item .collection-offer,.collection-item .collection-comment{grid-column:1/-1}}

/* compact-map-filter-v2 */
.map-filter-toggle { min-height:40px; padding:0 15px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:#fff; color:var(--blue); text-transform:uppercase; letter-spacing:.08em; font-size:8px; }
.map-filter-toggle > span { color:var(--red); font-size:17px; line-height:1; }
.map-filter-toggle:hover,.map-filter-toggle.active { border-color:var(--blue); background:var(--blue-soft); }
.map-filter-toggle.has-filter { border-color:var(--red); }
.map-filter-toggle.has-filter::after { width:6px; height:6px; content:""; border-radius:50%; background:var(--red); }
.map-search-section { width:100%; margin:16px 0 0; padding:24px; grid-column:1/-1; border:1px solid var(--line); background:#f7f7f4; }
.map-search-section:not([hidden]) { display:block; }
.map-search-head { margin-bottom:18px; display:flex; justify-content:space-between; align-items:end; gap:30px; }
.map-search-head h2 { margin:4px 0 8px; color:var(--blue); font-size:clamp(24px,2.5vw,36px); line-height:1; font-weight:500; letter-spacing:-.035em; }
.map-search-head p:not(.section-label) { max-width:650px; margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.map-search-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.map-search-actions button { min-height:38px; padding:0 14px; border:1px solid var(--blue); background:white; color:var(--blue); text-transform:uppercase; letter-spacing:.08em; font-size:8px; }
.map-search-actions button:first-child,.map-search-actions button.active { background:var(--blue); color:white; }
.map-search-actions button:disabled { opacity:.3; cursor:not-allowed; }
.catalog-map-shell { position:relative; overflow:hidden; border-radius:2px; background:#e9e9e5; }
#catalog-map { height:390px; z-index:1; cursor:grab; }
#catalog-map.drawing { cursor:crosshair; }
.map-search-status { min-height:42px; padding:0 14px; display:flex; justify-content:space-between; align-items:center; gap:20px; background:#fff; border-top:1px solid var(--line); color:var(--muted); font-size:9px; pointer-events:none; }
.map-search-status strong { color:var(--blue); white-space:nowrap; }
@media(max-width:780px){
  .map-search-section{margin-top:12px;padding:16px 12px}
  .map-search-head{align-items:stretch;flex-direction:column;gap:16px}
  .map-search-actions{justify-content:flex-start}
  .map-search-actions button{flex:1 1 auto}
  #catalog-map{height:330px}
  .map-search-status{padding:9px 11px;align-items:start;flex-direction:column;gap:3px}
  .filter-actions{flex-wrap:wrap}
  .map-filter-toggle{order:-1;width:100%;justify-content:center}
}


/* price-history-v1 */
.lot-card-price-change { margin-top:-4px; display:flex; align-items:center; gap:7px; font-size:7px; }
.lot-card-price-change del { color:var(--muted); }
.lot-card-price-change span,.project-price-trend strong { color:var(--blue); }
.lot-card-price-change.is-down span,.project-price-trend.is-down strong { color:var(--red); }
.project-price-trend { margin:0; padding:8px 0 0; display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--line); color:var(--muted); font-size:7px; white-space:nowrap; }
.project-price-trend span { overflow:hidden; text-overflow:ellipsis; }
.project-price-trend strong { flex:none; font-size:9px; }
.lot-price-comparison { margin-top:9px; display:flex; flex-wrap:wrap; align-items:center; gap:7px 12px; }
.lot-price-comparison[hidden] { display:none; }
.lot-price-comparison del { color:var(--muted); font-size:13px; }
.lot-price-comparison > strong { color:var(--blue); font-size:12px; }
.lot-price-comparison.is-down > strong { color:var(--red); }
.lot-price-comparison small { flex-basis:100%; color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.07em; }
.lot-price-history-section { margin:0 0 76px; padding:34px; display:grid; grid-template-columns:minmax(220px,.7fr) minmax(420px,1.3fr); gap:54px; background:#f1f2ef; }
.lot-price-history-section[hidden] { display:none; }
.lot-price-history-section h2 { margin:0 0 12px; color:var(--blue); font-size:clamp(28px,3vw,42px); line-height:1; font-weight:500; letter-spacing:-.035em; }
.lot-price-history-section > div:first-child > p:last-child { max-width:430px; color:var(--muted); font-size:10px; line-height:1.55; }
.lot-price-history-table { border-top:1px solid var(--line); }
.lot-price-history-table > div { min-height:48px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:12px; border-bottom:1px solid var(--line); }
.lot-price-history-table time { color:var(--muted); font-size:9px; }
.lot-price-history-table strong { color:var(--blue); font-size:12px; }
.lot-price-history-table span { justify-self:end; color:var(--blue); font-size:9px; }
.lot-price-history-table .is-down span { color:var(--red); }
.lot-price-history-table .is-flat span { color:var(--muted); }
@media(max-width:760px){.lot-price-history-section{padding:24px 18px;grid-template-columns:1fr;gap:24px}.lot-price-history-table>div{grid-template-columns:1fr 1fr}.lot-price-history-table span{grid-column:2;justify-self:end}}


/* project-price-analytics-v1 */
.project-price-analytics { margin:0 0 76px; padding:42px; background:var(--blue); color:white; }
.project-analytics-head { display:flex; justify-content:space-between; align-items:end; gap:32px; }
.project-analytics-head h2 { margin:4px 0 9px; font-size:clamp(32px,4vw,50px); line-height:1; font-weight:500; letter-spacing:-.04em; }
.project-analytics-head p:not(.section-label) { margin:0; color:#bcc7d5; font-size:10px; }
.analytics-periods { display:flex; flex-wrap:wrap; gap:6px; }
.analytics-periods button { min-height:34px; padding:0 12px; border:1px solid rgba(255,255,255,.28); background:transparent; color:#dce2ea; text-transform:uppercase; letter-spacing:.07em; font-size:7px; }
.analytics-periods button.active { border-color:white; background:white; color:var(--blue); }
.project-analytics-metrics { margin:28px 0 20px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.project-analytics-metrics div { min-height:82px; padding:16px; display:grid; align-content:start; gap:7px; border-right:1px solid rgba(255,255,255,.18); }
.project-analytics-metrics div:last-child { border:0; }
.project-analytics-metrics span { color:#aebac9; text-transform:uppercase; letter-spacing:.08em; font-size:7px; }
.project-analytics-metrics strong { font-size:15px; font-weight:600; }
.project-analytics-metrics strong.is-down { color:#ff8b80; }
.project-analytics-metrics strong.is-up { color:#fff; }
.price-chart { margin:0; }
.price-chart svg { width:100%; height:auto; display:block; overflow:visible; }
.price-chart text { fill:#aebac9; font:8px Arial,sans-serif; }
.chart-grid line { stroke:rgba(255,255,255,.12); stroke-width:1; }
.chart-area { fill:rgba(141,31,47,.2); }
.chart-line { fill:none; stroke:#f06a5e; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.chart-dots circle { fill:#fff; stroke:#f06a5e; stroke-width:2; }
.price-chart figcaption { color:#aebac9; font-size:8px; text-align:right; }
.project-price-history { margin-top:28px; padding-top:24px; border-top:1px solid rgba(255,255,255,.18); }
.project-price-history-head { margin-bottom:12px; display:flex; align-items:end; justify-content:space-between; gap:24px; }
.project-price-history-head > div { display:grid; gap:5px; }
.project-price-history-head span { color:#aebac9; text-transform:uppercase; letter-spacing:.1em; font-size:7px; }
.project-price-history-head strong { font-size:15px; font-weight:600; }
.project-price-history-head > b { padding:7px 10px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:#dce2ea; font-size:8px; font-weight:600; }
.project-price-history-table { max-height:390px; overflow:auto; border-top:1px solid rgba(255,255,255,.14); scrollbar-color:rgba(255,255,255,.3) transparent; }
.project-price-history-table > div { min-height:55px; padding:10px 4px; display:grid; grid-template-columns:110px minmax(170px,1fr) 170px 90px; align-items:center; gap:16px; border-bottom:1px solid rgba(255,255,255,.12); }
.project-price-history-table time { color:#aebac9; font-size:9px; }
.project-price-history-table strong { font-size:13px; font-weight:600; }
.project-price-history-table strong small { color:#aebac9; font-size:8px; font-weight:400; }
.project-price-history-table span { justify-self:start; color:#dbe2ea; font-size:9px; font-weight:600; }
.project-price-history-table .is-up span { color:#ffaaa2; }
.project-price-history-table .is-down span { color:#8eb8df; }
.project-price-history-table .is-flat span { color:#aebac9; }
.project-price-history-table em { justify-self:end; color:#8e9cad; font-size:8px; font-style:normal; }
.project-lot-price-change { margin-top:5px; display:block; color:var(--blue); font-size:7px; }
.project-lot-price-change.is-down { color:var(--red); }
@media(max-width:780px){.project-price-analytics{padding:28px 20px}.project-analytics-head{align-items:start;flex-direction:column}.project-analytics-metrics{grid-template-columns:repeat(2,1fr)}.project-analytics-metrics div:nth-child(2){border-right:0}.price-chart svg{min-width:620px}.price-chart{overflow-x:auto}.price-chart figcaption{text-align:left}.project-price-history-head{align-items:start;flex-direction:column;gap:12px}.project-price-history-table>div{grid-template-columns:90px minmax(145px,1fr) 145px 70px;gap:10px;min-width:520px}.project-price-history{overflow-x:auto}}

.project-units-meta { display:grid; justify-items:end; gap:9px; }
.project-units-meta > p:first-child { margin:0; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.project-price-summary { margin:0 0 30px; padding:28px 30px 20px; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(190px,.62fr) minmax(420px,1.38fr); gap:24px 34px; background:var(--blue); color:white; }
.project-price-summary::before { height:3px; position:absolute; inset:0 0 auto; content:""; background:var(--blue-light,#54708f); }
.project-price-summary.is-up::before { background:var(--red); }
.project-price-summary[hidden] { display:none; }
.project-price-story-intro { padding-right:30px; display:grid; align-content:center; border-right:1px solid rgba(255,255,255,.17); }
.project-price-story-intro > span { color:#b8c4d1; font-size:7px; text-transform:uppercase; letter-spacing:.14em; }
.project-price-story-intro > strong { margin:10px 0 7px; color:white; font-size:34px; line-height:1; font-weight:500; letter-spacing:-.04em; }
.project-price-summary.is-up .project-price-story-intro > strong { color:#ffbbb5; }
.project-price-story-intro p { margin:0; color:#aebac8; font-size:8px; line-height:1.5; }
.project-price-story-flow { padding:20px 22px; display:grid; grid-template-columns:1fr 110px 1fr; align-items:center; gap:20px; background:rgba(255,255,255,.06); }
.project-price-story-flow > div:not(.project-price-story-arrow) { display:grid; gap:8px; }
.project-price-story-flow small { color:#aebac8; font-size:7px; text-transform:uppercase; letter-spacing:.09em; }
.project-price-story-flow b { display:grid; gap:4px; font-size:19px; font-weight:500; white-space:nowrap; }
.project-price-story-flow em { color:#aebac8; font-size:7px; font-style:normal; font-weight:400; text-transform:uppercase; letter-spacing:.07em; }
.project-price-story-arrow { display:grid; grid-template-columns:1fr auto; align-items:center; gap:9px; }
.project-price-story-arrow i { height:1px; position:relative; display:block; background:rgba(255,255,255,.38); }
.project-price-story-arrow i::after { width:6px; height:6px; position:absolute; right:0; top:50%; content:""; border-top:1px solid white; border-right:1px solid white; transform:translateY(-50%) rotate(45deg); }
.project-price-story-arrow span { max-width:58px; color:#aebac8; font-size:6px; line-height:1.35; text-transform:uppercase; letter-spacing:.06em; }
.project-price-summary footer { grid-column:1/-1; padding-top:17px; display:flex; flex-wrap:wrap; align-items:center; gap:11px 22px; border-top:1px solid rgba(255,255,255,.15); }
.project-price-summary footer span { display:flex; align-items:center; gap:7px; color:#d9e0e7; font-size:8px; }
.project-price-summary footer span b { color:white; font-size:11px; }
.project-price-summary footer i { width:7px; height:7px; border-radius:50%; background:#8996a5; }
.project-price-summary footer .is-increased i { background:#f06a5e; }
.project-price-summary footer .is-decreased i { background:#7fa2c8; }
.project-price-summary footer > small { margin-left:auto; color:#8fa0b2; font-size:7px; }
@media(max-width:850px){.project-units-meta{width:100%;justify-items:start}.project-price-summary{grid-template-columns:1fr}.project-price-story-intro{padding:0 0 20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.17)}.project-price-summary footer>small{width:100%;margin-left:0}}
@media(max-width:560px){.project-price-summary{padding:24px 18px 18px}.project-price-story-flow{padding:18px;grid-template-columns:1fr}.project-price-story-arrow{grid-template-columns:1fr auto}.project-price-story-flow b{font-size:17px}.project-price-summary footer{align-items:flex-start;flex-direction:column}}

/* project-map-api-v2 */
.project-map-canvas { width:100%; height:100%; }
.project-map-status { position:absolute; z-index:1; inset:0; display:grid; place-items:center; align-content:center; gap:12px; background:#e7e8e4; color:var(--blue); }
.project-map-status[hidden] { display:none; }
.project-map-status span { width:26px; height:26px; position:static; border:2px solid rgba(23,46,77,.16); border-top-color:var(--red); border-radius:50%; background:none; filter:none; animation:project-map-spin .8s linear infinite; }
.project-map-status strong { font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.project-map-status.is-error span { width:9px; height:9px; border:0; background:var(--red); animation:none; }
@keyframes project-map-spin { to { transform:rotate(360deg); } }

/* project-price-rooms-v1 */
.analytics-controls{display:grid;gap:8px;justify-items:end}.analytics-rooms{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.analytics-rooms button{min-height:32px;padding:0 11px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#dce2ea;text-transform:uppercase;letter-spacing:.07em;font-size:7px}.analytics-rooms button.active{border-color:#f06a5e;background:#f06a5e;color:white}.price-chart-legend{min-height:25px;margin-bottom:4px;display:flex;flex-wrap:wrap;gap:10px 18px;color:#dce2ea;font-size:8px}.price-chart-legend span{display:flex;align-items:center;gap:6px}.price-chart-legend i{width:18px;height:3px;display:inline-block;border-radius:2px}@media(max-width:780px){.analytics-controls{width:100%;justify-items:start}.analytics-rooms{justify-content:flex-start}}

/* Расширенная карточка проекта */
.project-stage-card{padding:24px;display:grid;gap:12px;background:var(--blue);color:white}
.project-stage-card>span{color:#bfc8d6;text-transform:uppercase;letter-spacing:.1em;font-size:8px}
.project-stage-card>strong{font-size:24px;line-height:1.1;font-weight:500;letter-spacing:-.025em}
.project-stage-card>small{padding-top:12px;border-top:1px solid rgba(255,255,255,.18);color:#c9d0dc;font-size:9px;line-height:1.5}
.project-buildings-section{margin-bottom:76px;padding:48px;background:#f1f2ef}
.project-section-heading{margin-bottom:28px;display:grid;grid-template-columns:minmax(230px,.7fr) minmax(300px,1fr);gap:8px 40px;align-items:end}
.project-section-heading .section-label{grid-column:1/-1}
.project-section-heading h2{margin:0;color:var(--blue);font-size:clamp(30px,3.4vw,46px);line-height:1;font-weight:500;letter-spacing:-.04em}
.project-section-heading>p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.project-building-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:12px}
.project-building-card{min-width:0;padding:22px;display:grid;align-content:start;gap:18px;background:white;border-top:3px solid var(--blue)}
.project-building-card p{margin:0 0 7px;color:var(--red);text-transform:uppercase;letter-spacing:.08em;font-size:7px}
.project-building-card h3{margin:0;color:var(--blue);font-size:20px;line-height:1.1}
.project-building-card dl{margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-building-card dl div{min-width:0;padding:12px 10px 12px 0;display:grid;gap:5px}
.project-building-card dl div+div{padding-left:10px;border-left:1px solid var(--line)}
.project-building-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:7px}
.project-building-card dd{margin:0;color:var(--blue);font-size:10px}
.project-building-card ul{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;list-style:none}
.project-building-card li{padding:6px 8px;background:var(--blue-soft);color:var(--blue);font-size:8px}
.project-building-card>small{color:var(--muted);font-size:9px}
.project-availability-breakdown{margin:0 0 28px;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-availability-breakdown article{min-width:0;padding:16px;display:grid;gap:5px;border-right:1px solid var(--line)}
.project-availability-breakdown article:last-child{border-right:0}
.project-availability-breakdown span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:7px}
.project-availability-breakdown strong{color:var(--blue);font-size:14px}
.project-availability-breakdown small{overflow:hidden;color:var(--red);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.project-transport{margin-top:28px;display:grid;gap:24px}
.project-transport:empty{display:none}
.project-transport h3{margin:0 0 8px;color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:8px}
.project-transport p{max-width:none;padding:9px 0;display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(23,46,77,.12);font-size:10px;line-height:1.35}
.project-transport p span{color:var(--blue)}
.project-transport p strong{flex:0 0 auto;color:var(--red);font-weight:600}
.project-transport-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.project-transport-head>span{color:var(--muted);font-size:8px}.project-transport-group:not(.is-expanded) .project-transport-routes .is-extra{display:none}.project-transport-group>button{margin-top:10px;padding:8px 0;border:0;border-bottom:1px solid rgba(23,46,77,.22);background:transparent;color:var(--blue);cursor:pointer;text-transform:uppercase;letter-spacing:.07em;font-size:7px}.project-transport-group>button i{margin-left:8px;color:var(--red);font-size:11px;font-style:normal}
@media(max-width:1100px){.project-building-grid{grid-template-columns:repeat(2,minmax(230px,1fr))}.project-availability-breakdown{grid-template-columns:repeat(2,1fr)}.project-availability-breakdown article:nth-child(2n){border-right:0}.project-availability-breakdown article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:780px){.project-buildings-section{padding:32px 24px}.project-section-heading{grid-template-columns:1fr;gap:12px}.project-section-heading .section-label{grid-column:auto}}
@media(max-width:560px){.project-building-grid{grid-template-columns:1fr}.project-availability-breakdown{grid-template-columns:1fr}.project-availability-breakdown article,.project-availability-breakdown article:nth-child(2n){border-right:0;border-bottom:1px solid var(--line)}.project-availability-breakdown article:last-child{border-bottom:0}.project-transport p{align-items:flex-start;flex-direction:column;gap:4px}}

/* Compact project lot catalogue */
.project-lot-toolbar{margin:24px 0 18px;padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-lot-toolbar p{margin:0;color:var(--muted);font-size:8px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em}
.project-lot-toolbar button{min-height:40px;padding:0 17px;border:0;border-radius:999px;background:var(--blue);color:white;cursor:pointer;font-size:8px;text-transform:uppercase;letter-spacing:.08em;transition:transform .2s,background .2s}
.project-lot-toolbar button:hover{background:#213f65;transform:translateY(-1px)}
.project-lot-toolbar button span{margin-left:12px;color:#ff9d94;font-size:13px}
.project-lot-toolbar button[hidden]{display:none}
.project-lot-card{overflow:hidden;border:0;border-radius:18px;box-shadow:0 8px 26px rgba(23,46,77,.08);transition:transform .22s,box-shadow .22s}
.project-lot-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(23,46,77,.13)}
.project-lot-media{height:210px;background:var(--blue-soft)}
.project-lot-media::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,27,48,.45));pointer-events:none}
.project-lot-media span{z-index:2;border-radius:999px;box-shadow:0 4px 16px rgba(23,46,77,.08)}
.project-lot-media>i{width:32px;height:32px;position:absolute;right:12px;bottom:12px;z-index:2;display:grid;place-items:center;border-radius:50%;background:var(--red);color:white;font-size:13px;font-style:normal;box-shadow:0 6px 18px rgba(185,47,51,.28)}
.project-lot-body{padding:18px;gap:14px}
.project-lot-heading{min-width:0}
.project-lot-heading p{margin-bottom:7px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.project-lot-body h3{font-size:19px;line-height:1.1}
.project-lot-body button{cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.project-lot-body button:hover{border-color:var(--red);transform:scale(1.05)}
.project-lot-body dl{padding:0;overflow:hidden;border:0;border-radius:11px;background:#f3f4f2}
.project-lot-body dl div,.project-lot-body dl div:first-child,.project-lot-body dl div:last-child{padding:11px 10px;border-right:1px solid rgba(23,46,77,.09)}
.project-lot-body dl div:last-child{border-right:0}
.project-lot-body dd{font-size:10px}
.project-lot-finish{grid-column:1/-1;margin:0!important;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted)!important}
.project-lot-finish span{font-size:7px;text-transform:uppercase;letter-spacing:.08em}
.project-lot-finish strong{color:var(--blue);font-size:9px;font-weight:500;text-align:right}
.project-lot-open{padding-top:12px;border-top:1px solid var(--line)}
.project-lot-pagination{margin:28px auto 0;display:flex;align-items:center;justify-content:center;gap:8px}
.project-lot-pagination[hidden]{display:none}
.project-lot-pagination>button,#project-lot-page-list button{width:38px;height:38px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:white;color:var(--blue);cursor:pointer;font-size:10px;transition:background .2s,color .2s,border-color .2s}
.project-lot-pagination>button:hover:not(:disabled),#project-lot-page-list button:hover,#project-lot-page-list button.active{border-color:var(--blue);background:var(--blue);color:white}
.project-lot-pagination>button:disabled{opacity:.3;cursor:default}
#project-lot-page-list{display:flex;align-items:center;gap:8px}
#project-lot-page-list>span{width:18px;color:var(--muted);text-align:center}
@media(max-width:560px){
  .project-lot-toolbar{align-items:stretch;flex-direction:column;gap:12px}
  .project-lot-toolbar button{width:100%}
  .project-lot-card{display:block}
  .project-lot-media{height:220px}
  .project-lot-body dl{grid-template-columns:repeat(3,1fr)}
  .project-lot-body dl div,.project-lot-body dl div:first-child,.project-lot-body dl div:last-child{padding:10px 8px;border-right:1px solid rgba(23,46,77,.09);border-bottom:0}
  .project-lot-body dl div:last-child{border-right:0}
  .project-lot-pagination>button,#project-lot-page-list button{width:34px;height:34px}
  .project-lot-pagination,#project-lot-page-list{gap:5px}
}

/* Galleries on the full project page */
.project-gallery{position:relative;isolation:isolate;outline:none}
.project-gallery::after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:125px;background:linear-gradient(transparent,rgba(10,27,48,.62));pointer-events:none}
.project-gallery #project-image{transition:opacity .18s ease,transform .35s ease}
.project-gallery #project-image.is-changing{opacity:.58}
.page-gallery-arrow{width:46px;height:46px;padding:0;position:absolute;z-index:4;top:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(18,39,65,.58);color:white;font:30px/1 Arial,sans-serif;transform:translateY(-50%);opacity:0;backdrop-filter:blur(8px);transition:opacity .18s,background .18s,transform .18s}
.page-gallery-arrow.is-prev{left:18px}.page-gallery-arrow.is-next{right:18px}
.project-gallery:hover .page-gallery-arrow,.project-gallery:focus-within .page-gallery-arrow{opacity:1}
.page-gallery-arrow:hover,.page-gallery-arrow:focus-visible{background:var(--blue);outline:2px solid white;outline-offset:2px;transform:translateY(-50%) scale(1.05)}
.page-gallery-counter{min-width:64px;padding:8px 12px;position:absolute;z-index:4;right:18px;top:18px;border-radius:999px;background:rgba(18,39,65,.66);color:white;font-size:8px;text-align:center;letter-spacing:.12em;backdrop-filter:blur(8px)}
.page-gallery-thumbs{max-width:calc(100% - 36px);position:absolute;z-index:4;left:50%;bottom:14px;display:flex;gap:7px;transform:translateX(-50%)}
.page-gallery-thumbs[hidden]{display:none}
.page-gallery-thumbs button{width:62px;height:46px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.52);border-radius:7px;background:#fff;opacity:.68;transition:opacity .18s,border-color .18s,transform .18s}
.page-gallery-thumbs button.active{border:2px solid white;opacity:1;transform:translateY(-3px)}
.page-gallery-thumbs img{width:100%;height:100%;display:block;object-fit:cover}
@media(hover:none){.page-gallery-arrow{opacity:1}}
@media(max-width:560px){.page-gallery-arrow{width:38px;height:38px;font-size:25px}.page-gallery-arrow.is-prev{left:10px}.page-gallery-arrow.is-next{right:10px}.page-gallery-counter{right:10px;top:10px}.page-gallery-thumbs{bottom:9px}.page-gallery-thumbs button{width:48px;height:36px}}

/* Search suggestions, data completeness, project filters and availability matrix */
.smart-suggestions{width:min(860px,100%);margin:8px auto 0;padding:7px;display:grid;border:1px solid rgba(23,46,77,.12);border-radius:13px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(23,46,77,.14);text-align:left}
.smart-suggestions[hidden]{display:none}
.smart-suggestions button{min-height:48px;padding:8px 12px;display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--blue);text-align:left}
.smart-suggestions button:last-child{border-bottom:0}.smart-suggestions button:hover,.smart-suggestions button:focus-visible{background:#f3f4f2;outline:none}
.smart-suggestions small{color:var(--red);font-size:7px;text-transform:uppercase;letter-spacing:.1em}.smart-suggestions strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.smart-suggestions span{color:var(--muted);font-size:8px}
.client-preview-button{min-height:42px;border:1px solid var(--blue);background:#f2f4f7;color:var(--blue);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.client-preview-button:disabled{opacity:.4}
.lot-card-quality,.project-card-quality,.project-lot-quality{margin:0!important;display:flex;align-items:center;gap:7px;color:var(--muted)!important;font-size:7px!important;text-transform:uppercase;letter-spacing:.06em}
.lot-card-quality i,.project-card-quality i,.project-lot-quality i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#dfa442}.lot-card-quality.is-complete i,.project-card-quality.is-complete i,.project-lot-quality.is-complete i{background:#4c9a72}
.project-lot-quality{grid-column:1/-1}
.project-lot-filters{margin:24px 0 0;padding:18px;display:grid;grid-template-columns:repeat(6,minmax(120px,1fr)) auto;gap:10px;align-items:end;border:1px solid var(--line);border-radius:16px;background:#f6f7f5}
.project-lot-filters label{min-width:0;display:grid;gap:7px}.project-lot-filters label>span{color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.08em}.project-lot-filters select,.project-lot-filters input{width:100%;height:39px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--blue);font-size:9px}.project-lot-filters>button{height:39px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:var(--red);font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.project-lot-view-switch{display:flex;padding:3px;border-radius:999px;background:#eceeec}.project-lot-view-switch button{min-height:34px!important;padding:0 13px!important;border-radius:999px!important;background:transparent!important;color:var(--muted)!important}.project-lot-view-switch button.active{background:white!important;color:var(--blue)!important;box-shadow:0 3px 12px rgba(23,46,77,.08)}
.project-lot-toolbar{display:grid;grid-template-columns:1fr auto auto}.project-lot-filter-empty{grid-column:1/-1;min-height:180px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed var(--line);color:var(--muted);text-align:center}.project-lot-filter-empty strong{color:var(--blue);font-size:18px}.project-lot-filter-empty span{font-size:9px}
.project-lot-matrix[hidden]{display:none}.project-lot-matrix{display:grid;gap:22px}.project-matrix-legend{display:flex;flex-wrap:wrap;gap:15px;color:var(--muted);font-size:8px}.project-matrix-legend span{display:flex;align-items:center;gap:6px}.project-matrix-legend i{width:10px;height:10px;border-radius:3px;background:#edf0f2}.project-matrix-legend .is-available{background:#dceee4}.project-matrix-legend .is-reserved{background:#f5e7bd}.project-matrix-legend .is-sold{background:#e6e6e6}.project-matrix-group{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:white}.project-matrix-group>header{padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--blue);color:white}.project-matrix-group header div{display:grid;gap:3px}.project-matrix-group header small{color:#aebed1;font-size:6px;text-transform:uppercase;letter-spacing:.1em}.project-matrix-group header strong{font-size:15px}.project-matrix-group header>span{font-size:9px}.project-matrix-rows{overflow-x:auto}.project-matrix-row{min-width:720px;display:grid;grid-template-columns:70px 1fr;border-bottom:1px solid var(--line)}.project-matrix-row:last-child{border-bottom:0}.project-matrix-row>b{padding:14px 10px;display:grid;place-items:center;align-content:center;color:var(--blue);font-size:16px}.project-matrix-row>b small{color:var(--muted);font-size:6px;text-transform:uppercase}.project-matrix-row>div{padding:9px;display:flex;gap:8px;border-left:1px solid var(--line)}.project-matrix-lot{width:142px;min-height:70px;padding:9px;display:grid;gap:4px;border:1px solid transparent;border-radius:9px;background:#edf0f2;color:var(--blue);text-decoration:none}.project-matrix-lot.is-available{background:#dceee4}.project-matrix-lot.is-reserved{background:#f5e7bd}.project-matrix-lot.is-sold,.project-matrix-lot.is-withdrawn{background:#e8e8e8;color:#777}.project-matrix-lot:hover{border-color:var(--blue)}.project-matrix-lot small{font-size:6px;text-transform:uppercase;letter-spacing:.06em}.project-matrix-lot strong{font-size:9px}.project-matrix-lot span{font-size:8px}
@media(max-width:1100px){.project-lot-filters{grid-template-columns:repeat(3,1fr)}.project-lot-filters>button{justify-self:start}}
@media(max-width:700px){.smart-suggestions button{grid-template-columns:55px 1fr}.smart-suggestions button span{display:none}.project-lot-filters{grid-template-columns:repeat(2,1fr);padding:14px}.project-lot-toolbar{grid-template-columns:1fr}.project-lot-view-switch{justify-self:start}.project-lot-toolbar>button{width:100%}}

/* Компактный список корпусов */
.project-buildings-section{margin-bottom:60px;padding:32px 40px}
.project-buildings-section .project-section-heading{margin-bottom:20px}
.project-building-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-building-list-head,.project-building-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(150px,.9fr) minmax(140px,.8fr) minmax(100px,.55fr);gap:18px;align-items:center}
.project-building-list-head{padding:9px 12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:7px}
.project-building-row{min-height:52px;padding:11px 12px;border-top:1px solid var(--line)}
.project-building-row strong{color:var(--blue);font-size:12px}
.project-building-row span{color:#4f535a;font-size:10px}
.project-building-row strong small,.project-building-row span small{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:400}
.project-building-row span:last-child{color:var(--red)}
.project-building-list:not(.is-expanded) .project-building-row.is-extra{display:none}.project-building-toggle{width:100%;min-height:48px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-top:1px solid var(--line);background:rgba(255,255,255,.55);color:var(--blue);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:8px}.project-building-toggle:hover{background:white}.project-building-toggle span{min-width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:white;font-size:8px}.project-building-toggle i{color:var(--red);font-size:13px;font-style:normal}
.project-building-empty{margin:0;padding:18px 12px;color:var(--muted);font-size:11px}
@media(max-width:780px){.project-buildings-section{padding:26px 20px}.project-building-list{overflow-x:auto}.project-building-list-head,.project-building-row{min-width:680px}}
.project-matrix-empty-floor{align-self:center;color:var(--muted);font-size:9px}

/* История поиска, быстрые ссылки и объяснение совпадений */
.search-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.search-action-button{min-height:30px;padding:0;border:0;background:transparent;color:var(--blue);font-size:9px;white-space:nowrap}
.search-action-button>span{margin-right:5px;color:var(--red);font-size:13px;vertical-align:-1px}
.search-action-button>b{min-width:17px;height:17px;margin-left:4px;padding:0 5px;display:inline-grid;place-items:center;border-radius:999px;background:var(--red);color:white;font-size:8px}
.search-action-button:disabled{opacity:.35;cursor:default}
.search-library{width:min(1040px,100%);margin-top:15px;padding:22px;position:relative;z-index:5;border:1px solid rgba(23,46,77,.14);background:rgba(255,255,255,.98);box-shadow:0 22px 55px rgba(23,46,77,.12);text-align:left}
.search-library-head{display:flex;align-items:start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.search-library-head span,.save-search-form>label,.search-library-label>span{color:var(--red);font-size:7px;text-transform:uppercase;letter-spacing:.12em}
.search-library-head h2{margin:4px 0 0;color:var(--blue);font-size:24px}
.search-library-head>button{width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:50%;background:white;color:var(--blue);font-size:18px}
.search-library-columns{padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.search-library-label{min-height:25px;display:flex;align-items:start;justify-content:space-between;gap:12px}
.search-library-label button{padding:0;border:0;background:transparent;color:var(--muted);font-size:8px}
.search-library-list{display:grid;border-top:1px solid var(--line)}
.search-library-item{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;border-bottom:1px solid var(--line)}
.search-library-item>button:first-child{min-width:0;padding:12px 4px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;background:transparent;text-align:left}
.search-library-item strong{overflow:hidden;color:var(--blue);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.search-library-item span{flex:0 0 auto;color:var(--muted);font-size:7px}
.search-library-remove{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:15px}
.search-library-item button:hover strong,.search-library-remove:hover{color:var(--red)}
.search-library-empty{margin:0;padding:17px 4px;color:var(--muted);font-size:9px;line-height:1.5}
.save-search-form{margin-top:16px;padding:14px;display:grid;gap:9px;background:var(--blue-soft)}
.save-search-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
.save-search-form input{min-width:0;height:40px;padding:0 12px;border:1px solid var(--line);background:white;outline:none}
.save-search-form button{height:40px;padding:0 14px;border:0;background:var(--blue);color:white;font-size:8px;text-transform:uppercase;letter-spacing:.07em}
.save-search-form button:last-child{background:transparent;color:var(--muted)}
.search-match{display:grid;gap:6px}
.search-match>span{color:var(--muted);font-size:6px;text-transform:uppercase;letter-spacing:.09em}
.search-match>div{display:flex;gap:5px;flex-wrap:wrap}
.search-match b{max-width:100%;padding:5px 7px;overflow:hidden;border-radius:999px;background:#f0f2f4;color:var(--blue);font-size:7px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}

/* Опциональная динамика стоимости в презентации */
.collection-price-option{padding:13px 14px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fafaf8;cursor:pointer}
.collection-price-option input{position:absolute;opacity:0;pointer-events:none}
.collection-price-option-control{width:38px;height:22px;padding:2px;position:relative;border-radius:999px;background:#d9dde2;transition:background .2s}
.collection-price-option-control::after{content:"";width:18px;height:18px;display:block;border-radius:50%;background:white;box-shadow:0 2px 6px rgba(23,46,77,.22);transition:transform .2s}
.collection-price-option input:checked+.collection-price-option-control{background:var(--red)}
.collection-price-option input:checked+.collection-price-option-control::after{transform:translateX(16px)}
.collection-price-option input:focus-visible+.collection-price-option-control{outline:2px solid var(--blue);outline-offset:3px}
.collection-price-option>span:last-child{display:grid;gap:3px}
.collection-price-option strong{color:var(--blue);font-size:10px;font-weight:600}
.collection-price-option small{color:var(--muted);font-size:7px;line-height:1.35}
.project-card .search-match{padding-top:1px}
@media(max-width:760px){.search-meta{align-items:flex-start;flex-direction:column}.search-actions{width:100%;justify-content:flex-start}.search-library{padding:17px}.search-library-columns{grid-template-columns:1fr}.save-search-form>div{grid-template-columns:1fr 1fr}.save-search-form input{grid-column:1/-1}}
@media(max-width:560px){.search-action-button{font-size:8px}.search-library{width:100%}.search-library-item>button:first-child{display:grid;gap:4px}.search-library-item span{font-size:6px}.search-match b{padding:4px 6px;font-size:6px}}