/* Паспорт ЖК /zhk/<slug>/ — только раскладка (Д4, 08.10.2026). Компоненты (лист, крошки, бейджи, галерея, плашка цифр,
   ключ–значение, шкалы, сроки по домам, карта, карточки, оглавление) — static/css/components.css.
   Сетка десктопа — как у подборки: колонка 600 + 48 + липкое оглавление 320. */

.passport__main, .passport__side { min-width: 0; }
.passport__badges { margin-top: var(--space-4); }
.passport__badges .badge:not(.badge--sand):not(.badge--butter) { background: var(--bg); }   /* белый бейдж на белом листе */
.passport__head .page-title { margin-top: var(--space-3); }
.passport__meta { margin-top: var(--space-2); font: var(--type-ui); color: var(--muted); }
.passport__meta strong { color: var(--ink); font-weight: 600; }
.passport__gallery, .passport__actions, .passport__stats { margin-top: var(--step); }
.passport__gallery + .passport__actions { margin-top: var(--space-4); }
.passport__main > .toc { margin-top: var(--step-section); }
.passport__sec { margin-top: var(--step-section); scroll-margin-top: calc(var(--header-h) + var(--space-4)); }
.passport__sec > h2 + * { margin-top: var(--step-head); }
.passport__sec > * + .kv, .passport__sec > .panel + .kv { margin-top: var(--step); }
.passport__sub { margin-top: var(--step-section); margin-bottom: var(--space-4); font: var(--type-h3); letter-spacing: var(--tracking-head); }
.passport__sec .panel__src { margin-top: var(--space-4); }
.passport__map { margin-top: var(--step); }
.passport__dev { font: var(--type-display); text-transform: uppercase; letter-spacing: .01em; }
.passport__devbtn { margin-top: var(--space-4); }
/* застройщик ссылкой на его страницу (СЗ1): подчёркивание синим, как ссылки в тексте */
.passport__dev a, .passport__meta a { color: inherit; text-decoration: underline; text-decoration-color: var(--blue);
  text-decoration-thickness: 2px; text-underline-offset: 4px; }
.passport__dev a:hover, .passport__meta a:hover { color: var(--blue-ink); }
.passport__feed { margin-top: var(--space-4); }
.passport__side { display: none; }
.related { padding: var(--step-section) var(--gutter) 0; }

/* планшет: колонка 600 по центру; кнопки в ряд; карточки по две */
@media (min-width: 768px) {
  .passport__main { max-width: 600px; margin: 0 auto; }
  .passport__feed { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); }
  .passport__feed .card--row { grid-template-columns: 96px minmax(0, 1fr); }
  .passport__actions { grid-template-columns: minmax(0, 1fr) auto; }
  .passport__actions .btn { white-space: nowrap; }
  .passport__devbtn { justify-items: start; }
  .passport__devbtn .btn { min-width: 280px; }
  .related { max-width: 648px; margin: 0 auto; }
}

/* десктоп: колонка + липкое оглавление справа */
@media (min-width: 1024px) {
  .passport__layout { display: grid; grid-template-columns: 600px 320px; gap: var(--space-12); justify-content: center; align-items: start; }
  .passport__main { max-width: none; margin: 0; }
  .passport__main > .toc { display: none; }
  .passport__side { display: block; position: sticky; top: calc(var(--header-h) + var(--space-6)); }
  .passport__sidebtn { margin-top: var(--space-6); }
  .related { max-width: none; width: min(var(--page-max), 100% - 2 * var(--gutter)); padding: var(--step-section) 0 0; }
}
