/*
 * V74 / ПРОСТРАНСТВО
 * Шеф смотрит сайт на 3440x1440. Вся вёрстка считалась под 1440x900:
 * контент зажат в колонку 1420px посреди чёрного океана, вертикальные
 * паддинги и vh-высоты растягиваются - отсюда «чёрные дыры» по всей странице.
 *
 * Здесь: шире колонка на больших экранах, потолки на vh-высотах, срез
 * лишнего воздуха. Дашборд НЕ ТРОГАЕМ - его сцена держит прежнюю ширину.
 */

/* ---------- 1 · колонка растёт вместе с экраном ---------- */
@media (min-width: 1700px) {
  :root { --shell: min(1640px, calc(100vw - 180px)); }
}
@media (min-width: 2200px) {
  :root { --shell: min(2080px, calc(100vw - 240px)); }
}
@media (min-width: 3000px) {
  /* на 3440 колонка 2040 оставляла по 700px чёрного с каждой стороны -
     шеф читал это как «дырки». Держим поля ~440px, тексты ограничены в ch */
  :root { --shell: min(2560px, calc(100vw - 280px)); }
}

/* дашборд остаётся ровно таким, каким принят: своя ширина сцены */
.telemetry-stage { width: min(1420px, calc(100vw - 80px)) !important; }

/* НО на широком экране канон разъезжался сам: панель позиционировалась в
   vw (left: max(28vw,395px)), а сцена держала 1420px - на 3440 дашборд
   уезжал за правый край сцены и обрезался. Те же пропорции, что приняты
   на 1440 (левый край 29.6% сцены, ширина 65.7%), но в единицах сцены */
@media (min-width: 1500px) {
  .vg-roidash { left: 29.5% !important; width: min(940px, 66%) !important; }
}

/* ---------- 2 · потолки на vh-высотах ---------- */
/* кино-пины: на высоком экране 400vh это почти 6000px прокрутки впустую */
.cinema-pin { height: min(400vh, 3200px); }
.cinema-pin--paths { height: min(400vh, 3200px); }

/* телеметрия: 150vh на 1440 = 2160px, из них ~1480 пустота под панелью */
.telemetry[data-telemetry-v53] { min-height: min(150vh, 1420px) !important; }
.telemetry { min-height: 0; padding: 110px 0 90px; }
.telemetry-stage { min-height: 620px; margin-top: 64px; }

/* карточки стека расходились на 60vh: на 1440 это 864px чёрного между
   каждой парой, пять раз подряд. Потолок в пикселях убирает провалы */
.stack-card--02,
.stack-card--03,
.stack-card--04,
.stack-card--05,
.stack-card--06 { margin-top: min(60vh, 540px); }

/* ---------- 3 · срез лишнего воздуха на больших экранах ---------- */
@media (min-height: 1100px) {
  .route-choice { padding: 110px 0 120px; }
  .control-stack { padding-bottom: 40px; }
  .vgo-scene { padding: clamp(48px, 5vh, 78px) 0; }
  .finder { padding: 110px 0 120px; }
  .safe-install { padding: 100px 0 104px; }
  .fleet--merged { padding: 110px 0 116px; }
  .authority { padding: 104px 0 110px; }
  .models { padding: 104px 0 112px; }
  .ecosystem { padding: 96px 0 100px; }
  .briefings { padding: 96px 0 104px; }
  .final-cta { padding: 104px 0 110px; }
  .cinema-act--ritual .cinema-stage { padding: 110px 0 116px; }
}

/* ---------- 3a · кокпит: кадр под обрезанное фото (стол убран) ---------- */
.vgo-cockpit .vgo-frame { aspect-ratio: 1672 / 705; }

/* ---------- 3b · INSTALL KIT: название и описание больше не в одной строке ---------- */
/* было: <i> и <small> сиблинги во flex-строке, тексты налезали друг на друга */
.kit-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  padding: 12px 14px;
  column-gap: 14px;
  row-gap: 3px;
}
.kit-link > i {
  grid-row: 1;
  grid-column: 1;
  display: block;
  flex: none;
}
.kit-link > small {
  grid-row: 2;
  grid-column: 1;
  margin: 0;
}
.kit-link > em {
  grid-row: 1 / 3;
  grid-column: 2;
  align-self: center;
  margin: 0;
}
.kit-link--gold { align-items: center; }
.kit-link--gold > em { grid-row: 1; }

/* ---------- 3c · финдер: карточки выбора изящнее ---------- */
.finder-resolver-panel .resolver-option {
  min-height: 72px;
  padding: 15px 18px;
  gap: 3px 14px;
}
.finder-resolver-panel .resolver-option b { font-size: 15.5px; }
.finder-resolver-panel .resolver-option small { font-size: 9.5px; letter-spacing: .08em; }
.finder-resolver-panel .resolver-option em { font-size: 17px; }
.resolver-options { gap: 1px; }
.finder-model-chip { padding: 7px 13px; font-size: 11px; }

/* ---------- 4 · широкий экран: секции дышат по горизонтали ---------- */
@media (min-width: 1700px) {
  .safe-path { margin-top: 118px; gap: 22px; }
  .safe-install .safe-path li { min-height: 244px; border-radius: 150px 150px 18px 18px; }
  .safe-install .safe-path li span { font-size: 13.5px; }
  .safe-install .safe-path li strong { font-size: 18px; }
  .oneminer-body { gap: 80px; }
  .coverage-grid { grid-template-columns: repeat(auto-fill, minmax(238px, 1fr)); }
  .safe-path { grid-template-columns: repeat(5, 1fr); }
  .fleet-story { gap: 1px; }
}
