/* Страница ЗПИФ на каркасе страницы фонда v2 (scripts/zpif_page_v2.py): только то,
   чего нет в fund-v2.css. Всё на токенах дизайн-системы. Макет принят 23.10.2026:
   approval/zpif-v2-2026-10-23/. */

/* цена против расчётной стоимости: две полосы одной шкалы */
.zv-rsp { display: grid; gap: 8px; }
.zv-rsp__k { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; color: var(--cf-ink-2); }
.zv-rsp__k b { font-size: 15px; font-weight: 700; }
.zv-rsp__row { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: 13px; color: var(--cf-ink-3); }
.zv-rsp__row b { color: var(--cf-ink); font-weight: 600; font-variant-numeric: tabular-nums; min-width: 96px; text-align: right; }
.zv-rsp__bar { height: 8px; border-radius: var(--cf-radius-pill); background: var(--cf-surface-2); overflow: hidden; }
.zv-rsp__bar i { display: block; height: 100%; border-radius: inherit; background: var(--cf-chart-1); }
.zv-rsp__row.is-nav .zv-rsp__bar i { background: var(--cf-chart-muted); }

/* четыре числа выплат вместо трёх */
.fv-pay__nums.zv-pay4 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }

/* состав фонда: полоса долей + список объектов */
.zv-objs { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--cf-space-40); align-items: center; }
.zv-objs--one { grid-template-columns: 1fr; }
.zv-objs--one .fv-fee__x { max-width: 72ch; margin-top: 8px; }
.zv-obar { display: flex; gap: 2px; height: 10px; margin: 12px 0 10px; border-radius: var(--cf-radius-pill); overflow: hidden; }
.zv-obar__s { display: block; height: 100%; flex-basis: 0; }
.zv-o1 { background: var(--cf-chart-1); }
.zv-o2 { background: var(--cf-chart-2); }
.zv-o3 { background: var(--cf-violet); }
.zv-o4 { background: var(--cf-teal); }
.zv-o5 { background: var(--cf-chart-muted); }
.zv-objs__list { list-style: none; margin: 0; padding: 0; }
.zv-objs__list li { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto 44px; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid var(--cf-line); font-size: 14px; }
.zv-objs__list li:first-child { border-top: 0; }
.zv-objs__list i { width: 10px; height: 10px; border-radius: 3px; }
.zv-objs__list small { display: block; font-size: 12px; color: var(--cf-ink-3); }
.zv-objs__list b { font-weight: 600; font-variant-numeric: tabular-nums; }
.zv-objs__list em { font-style: normal; text-align: right; color: var(--cf-ink-2); font-variant-numeric: tabular-nums; }

/* ориентиры: одна шкала, строка фонда выделена */
.zv-bm { list-style: none; margin: 0 0 12px; padding: 0; }
.zv-bm li { display: grid; grid-template-columns: minmax(150px, 2fr) minmax(0, 3fr) 76px; gap: 14px; align-items: center; padding: 8px 10px; margin: 0 -10px; border-radius: var(--cf-radius-sm); font-size: 14px; color: var(--cf-ink-2); }
.zv-bm li.is-now { background: var(--cf-accent-soft); color: var(--cf-ink); font-weight: 600; }
.zv-bm b { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.zv-bm__bar { height: 8px; border-radius: var(--cf-radius-pill); background: var(--cf-surface-2); overflow: hidden; }
.zv-bm__bar i { display: block; height: 100%; border-radius: inherit; background: var(--cf-chart-muted); }
.zv-bm li.is-now .zv-bm__bar i { background: var(--cf-chart-1); }

/* описание объекта от УК */
.zv-desc { margin: 10px 0 8px; font-size: 14px; line-height: 1.55; color: var(--cf-ink-2); max-width: 72ch; }
.zv-note { margin-top: var(--cf-space-14); }

/* РСП по месяцам: линия на всю ширину слева, цифры справа */
.zv-nav { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--cf-space-40); align-items: center; }
.zv-nav__plot { height: 140px; }
.zv-nav__svg { display: block; width: 100%; height: 100%; }
.zv-nav__area { fill: var(--cf-chart-1); opacity: .1; }
.zv-nav__line { fill: none; stroke: var(--cf-chart-1); stroke-width: 2; stroke-linejoin: round; vector-effect: non-scaling-stroke; }

/* предупреждение о данных под лентой чисел */
.zv-warn { margin: var(--cf-space-12) 0 0; padding: var(--cf-space-12) var(--cf-space-16); border-radius: var(--cf-radius-md); background: var(--cf-amber-soft); color: var(--cf-ink); font-size: 14px; line-height: 1.5; }

/* шапка: метки сразу под описанием, карточка не растягивает левую колонку */
.zv .fv-tags { margin-top: 0; }
.zv .fv-top { align-items: start; }

@media (max-width: 1100px) {
  .zv-nav { grid-template-columns: 1fr; gap: var(--cf-space-16); }
  .zv-objs { grid-template-columns: 1fr; gap: var(--cf-space-20); }
}
@media (max-width: 767px) {
  .zv-bm li { grid-template-columns: minmax(0, 1fr) 72px; row-gap: 6px; }
  .zv-bm__bar { grid-column: 1 / -1; grid-row: 2; }
  .zv-objs__list li { grid-template-columns: 10px minmax(0, 1fr) auto; }
  .zv-objs__list em { display: none; }
}
