/* Project Intelligence («Разбор ЖК») - dense analytic layout, .pi-* only */

.pi-overview, .pi-supply, .pi-voice, .pi-events, .pi-price-facts { box-sizing: border-box; color: var(--ink, #1a1a1a); overflow-wrap: anywhere; }
.pi-overview h2, .pi-supply h2, .pi-voice h2, .pi-events h2 { margin: 0 0 8px; font-size: 1.2rem; }
.pi-muted { color: var(--ink-muted, #777); font-size: 0.85rem; }
.pi-insufficient { padding: 14px; border: 1px dashed var(--border, #e5e2dc); border-radius: 12px; color: var(--ink-muted, #777); }
.pi-note { margin: 0 0 14px; color: var(--ink-muted, #777); font-size: 0.85rem; line-height: 1.4; }

/* summary grid */
.pi-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
@media (min-width: 700px) { .pi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } }
@media (min-width: 1200px) { .pi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; } }
.pi-tile { min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--border, #e5e2dc); border-radius: 12px; background: var(--surface, #fff); }
.pi-tile-label { font-size: 0.72rem; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-muted, #777); }
.pi-tile-value { font-size: clamp(1.1rem, 1.5vw, 1.4rem); font-weight: 700; line-height: 1.15; word-break: break-word; }
.pi-tile-sub { font-size: 0.78rem; line-height: 1.3; color: var(--ink-2, #444); }
.pi-tile-period { font-size: 0.82rem; font-weight: 500; color: var(--ink-2, #444); }

/* neutral deltas: colour never encodes good/bad */
.pi-delta { font-weight: 600; white-space: nowrap; }
.pi-up { color: var(--brand-primary, #1f4d3a); }
.pi-down, .pi-flat { color: var(--ink-2, #444); }

.pi-highlights-block h3 { margin: 0 0 8px; font-size: 1rem; }
.pi-highlights { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 6px; }
@media (min-width: 768px) { .pi-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; } }
.pi-highlights li { position: relative; padding-left: 16px; font-size: 0.92rem; line-height: 1.4; color: var(--ink-2, #444); }
.pi-highlights li::before { content: ''; position: absolute; left: 0; top: 0.5em; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-primary, #1f4d3a); opacity: 0.7; }

/* anchor nav */
/* V4: section switcher is a tabs track (like .rc-tabs on /rent-cover), not a row of pills. */
.pi-nav { display: flex; gap: 6px; max-width: 100%; width: max-content; margin: 12px 0; padding: 4px; border-radius: 12px; background: var(--tabs-track, #EEF2F0); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.pi-nav::-webkit-scrollbar { display: none; }
.pi-nav-btn { flex: 0 0 auto; padding: 8px 14px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--ink-2, #6B716D); font: inherit; font-size: 0.9rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.pi-nav-btn:hover { color: var(--brand-primary, #1f4d3a); }
.pi-nav-btn.active { background: var(--brand-primary, #1f4d3a); border-color: var(--brand-primary, #1f4d3a); color: #fff; font-weight: 600; box-shadow: 0 4px 12px rgba(31,77,58,.18); }

/* price facts */
.pi-price-facts { display: flex; flex-direction: column; gap: 10px; }
.pi-price-current { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.pi-price-current-value { font-size: 1.6rem; font-weight: 800; }
.pi-price-current-label { font-size: 0.85rem; color: var(--ink-muted, #777); }
.pi-price-median { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; font-size: 0.95rem; }
.pi-price-median-label { font-weight: 600; color: var(--ink-2, #444); }
.pi-price-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pi-chip { display: inline-flex; align-items: baseline; gap: 4px; padding: 4px 10px; border: 1px solid var(--border, #e5e2dc); border-radius: 999px; background: var(--surface-sunken, #f5f5f4); font-size: 0.85rem; }
.pi-chip-label { color: var(--ink-muted, #777); }

/* supply */
.pi-supply-current { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.pi-supply-current-value { font-size: 1.8rem; font-weight: 800; }
.pi-supply-current-label { font-size: 0.9rem; color: var(--ink-muted, #777); }
.pi-supply-history { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 14px; }
.pi-supply-history-item { display: flex; align-items: baseline; gap: 6px; font-size: 0.9rem; }
.pi-supply-history-label { color: var(--ink-muted, #777); white-space: nowrap; }
.pi-supply-history-value { font-weight: 600; }
.pi-supply-30d h3 { margin: 0 0 8px; font-size: 1rem; }
.pi-supply-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
@media (max-width: 540px) { .pi-supply-grid { grid-template-columns: 1fr; } }
.pi-supply-row { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--border, #e5e2dc); font-size: 0.9rem; line-height: 1.3; }
.pi-supply-label { min-width: 0; color: var(--ink-2, #444); }
.pi-supply-value { font-weight: 600; text-align: right; }

/* voice teaser */
.pi-voice { border-left: 4px solid var(--brand-primary, #1f4d3a); }
.pi-voice-quote { margin: 0 0 10px; padding: 0; border: 0; font-size: 1rem; line-height: 1.5; }
.pi-voice-meta { margin-bottom: 12px; font-size: 0.9rem; color: var(--ink-2, #444); }
.pi-voice-sentiment { font-weight: 600; }
.pi-voice-count { margin-bottom: 12px; color: var(--ink-2, #444); }
.pi-voice-cta { padding: 8px 16px; border: 1px solid var(--brand-primary, #1f4d3a); border-radius: 999px; background: transparent; color: var(--brand-primary, #1f4d3a); font: inherit; font-weight: 600; cursor: pointer; }
.pi-voice-cta:hover { background: var(--brand-primary-soft, #edf3ef); }

/* events */
.pi-event-day { margin: 12px 0 2px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted, #777); }
.pi-event-day:first-of-type { margin-top: 0; }
.pi-event-row { padding: 6px 0; border-bottom: 1px solid var(--border, #e5e2dc); font-size: 0.9rem; line-height: 1.4; color: var(--ink-2, #444); }

/* price section on the ЖК page: chart + facts side by side, stacked on tablets/phones */
.pi-price-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.pi-price-row > * { min-width: 0; }
@media (max-width: 1024px) { .pi-price-row { grid-template-columns: 1fr; } }
.pi-verdict-slot { margin: 16px 0; }
.pi-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.pi-two-col > * { min-width: 0; }
@media (max-width: 1024px) { .pi-two-col { grid-template-columns: 1fr; } }

#pi-overview,#pi-price,#pi-supply,#pi-events{scroll-margin-top:88px}
.pi-price-side{display:flex;flex-direction:column;gap:12px;min-width:0}
#projectPricesSection{margin-top:20px}
#projectPricesSection h3,.pi-price-row h3{margin:0;font-size:1rem}

/* the «Что говорят» pill stands out from the neutral section pills */
.pi-nav-btn--voice { display: inline-flex; align-items: center; gap: 8px; border-color: var(--brand-primary, #1f4d3a); background: var(--brand-primary-soft, #edf3ef); color: var(--brand-primary-dark, #17392b); font-weight: 600; }
.pi-nav-btn--voice:hover { background: var(--brand-primary, #1f4d3a); border-color: var(--brand-primary, #1f4d3a); color: #fff; }
.pi-nav-count { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: var(--brand-primary, #1f4d3a); color: #fff; font-size: 0.78rem; font-weight: 700; line-height: 1.5; text-align: center; }
.pi-nav-btn--voice:hover .pi-nav-count { background: #fff; color: var(--brand-primary-dark, #17392b); }
:root[data-theme="dark"] .pi-nav-btn--voice { background: rgba(31, 77, 58, 0.2); color: #8fdcb4; border-color: rgba(111, 191, 151, 0.6); }
@media (max-width: 700px) {
  /* the nav scrolls sideways on phones; keep the highlighted pill in view */
  .pi-nav-btn--voice { order: -1; }
}

/* ---- The action bar of the open ЖК (2026-09-25): a second level under the site header, only on a ЖК page ---- */
.project-context-bar{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px;
  margin:0 0 12px; padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface);}
.project-context-name{display:flex; align-items:baseline; gap:8px; min-width:0;}
.project-context-label{font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted);}
.project-context-name b{font-size:16px; color:var(--ink); overflow-wrap:anywhere;}
.project-context-actions{display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.project-context-link, .project-context-actions .watch-cta{display:inline-flex; align-items:center; justify-content:center; gap:6px;
  min-height:36px; padding:0 14px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--ink-2);
  font:inherit; font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap; cursor:pointer;}
.project-context-link:hover, .project-context-actions .watch-cta:hover{border-color:var(--brand-primary-border-strong, var(--brand-primary)); color:var(--ink);}
.project-context-link:focus-visible, .project-context-actions .watch-cta:focus-visible{outline:2px solid var(--brand-primary); outline-offset:2px;}
.project-context-actions .watch-cta.is-watched{border-color:var(--brand-primary); color:var(--brand-primary);}
#projectVoice{scroll-margin-top:96px;}
@media (max-width:640px){
  .project-context-bar{padding:10px 12px;}
  .project-context-actions{width:100%; display:grid; grid-template-columns:1fr 1fr;}
  .project-context-link, .project-context-actions .watch-cta{width:100%; white-space:normal; min-height:40px;}
}

/* Reductions opened from a ЖК: the project filter chip */
.reductions-project-filter{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 12px; padding:8px 12px;
  border:1px solid var(--border); border-radius:10px; background:var(--surface); font-size:13px; color:var(--ink-2);}
.reductions-project-clear{border:0; background:none; padding:0; color:var(--brand-primary); font:inherit; font-weight:600; cursor:pointer;}

/* The bar offers four things, but only one of them is the thing to do first: «Следить» carries the
   accent, the other three stay quiet. (2026-09-25) */
.project-context-actions .watch-cta{border-color:var(--brand-primary); background:var(--brand-primary);
  color:#fff; font-weight:600;}
.project-context-actions .watch-cta:hover{filter:brightness(1.08); border-color:var(--brand-primary);
  color:#fff;}
.project-context-actions .watch-cta svg{color:currentColor;}
.project-context-actions .watch-cta.is-watched{background:var(--surface); color:var(--brand-primary);}

/* V4: buttons are 10px controls, not pills. */
.pi-voice-cta{border-radius:10px;}
