/* Страница "Лагеря и поездки" (/camps): исключение этой страницы в
   общем блоке первого экрана (pg-hero, чужой файл - не трогаем его).

   В дампе страницы (фрейм VH7ML, 1440x620) секция первого экрана и фото
   в ней - 620 в высоту, а не 720/700, как у остальных страниц с этим
   блоком (pg-hero.css уже несёт такое же исключение для дошкольников,
   720 -> 700). Фото здесь и уже 620 в ширину (у программ - 660), это
   ровно тот же приём "ширина фото 620 у поездок против 660 у программ",
   который описан как техника переиспользования в docs/stranicy.md.

   Правило - по имени страницы на <body> (шаблон ставит класс "page-
   [[*alias]]"), запертое в ширину @media (min-width: 861px) - иначе
   настольное правило перебьёт мобильную высоту 290 (тот же риск, что и
   у исключения дошкольников). Мобильная раскладка этой страницы совпадает
   с общей (фото 290 в высоту, фрейм r3o13u/CTCtW), исключения на телефоне
   не нужно. */

@media (min-width: 861px) {
  body.page-camps .pg-hero__row {
    height: 620px;
  }

  body.page-camps .pg-hero__photo {
    flex: 0 0 620px;
    width: 620px;
    height: 620px;
  }
}

/* У этой страницы нет четырёх плашек формата (pg_hero_format_items -
   пустой список, build/stranicy-teksty/camps.php): в дампе у секции
   VH7ML слоя "Формат" нет вовсе. Разметка pg-hero.tpl (чужой файл) всё
   равно рисует обёртку .pg-hero__format - её padding-top и gap родителя
   добавляли бы лишние ~36px высоты текстовой колонки на пустом месте.
   :has() проверяет, что внутри нет ни одной карточки kItems (а не
   просто текст/пробелы), и прячет именно пустую обёртку. */
body.page-camps .pg-hero__format:not(:has(*)) {
  display: none;
}

/* Кегль заголовка первого экрана: у этой страницы 44/50 на компьютере и
   28/32 на телефоне, а не 42/27 как у дошкольников, на которых верстался
   общий блок. Замерено дампом (лагеря-десктоп: fontSize 44, лагеря-
   мобильная: fontSize 28; высота строки - та же метрика 1,14), таблица
   кеглей по всем страницам - docs/stranicy.md.

   Без этого правила мобильный кадр первого экрана короче эталона на 2px
   (700 против 702): каждая строка заголовка на 1px ниже, а строк две, и
   diff.mjs отказывается сравнивать кадры разного размера. */
@media (min-width: 861px) {
  body.page-camps .pg-hero__h1 {
    font-size: 44px;
    line-height: 50px;   /* 44 x 1.14 */
  }
}

@media (max-width: 860px) {
  body.page-camps .pg-hero__h1 {
    font-size: 28px;
    line-height: 32px;   /* 28 x 1.14 */
  }
}

/* Фон секций на сайте чередуется по странице, а не закреплён за блоком.
   Общий pg-kak.css красит "Как проходит" бумажным - так в макете на всех
   семи страницах программ и на лагерных страницах. На странице лагерей
   тот же блок белый (дамп фрейма aJ3XT, fill #FFFFFF), потому что выше
   него стоит бумажная секция направлений. Поэтому исключение страницы. */
body.page-camps .pg-kak {
  background: var(--white);
}
