/* Список программ: "Форматы занятий" (pl-formaty.tpl +
   pl-formaty-item.tpl). Макет: фреймы tmBYp (десктоп, 1440x598) и KAO4D
   (телефон, 390x970) страницы "Программы". Полосу 1440 с контентом 1328
   (гуттер 56/20) даёт сайтовый .wrap (base.css), раскладку ряда карточек
   в три колонки - общий .pg-ryad (pg.css); здесь - своя геометрия и
   типографика блока (тот же приём чисел, что в pg-cena.css - карточка и
   зазор ряда 26 совпали с другой секцией случайно, не через общий
   токен). */

.pl-formaty {
  background: var(--paper);
  /* Дамп: padding-block 100 - свой отступ блока, не токен --section-y (110). */
  padding-block: 100px;
}

.pl-formaty__wrap {
  display: flex;
  flex-direction: column;
  gap: var(--gap-section); /* 44 в дампе = токену */
}

.pl-formaty__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}

.pl-formaty__head-copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pl-formaty__kicker {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 12px;
  line-height: 15px;   /* 12 x 1.21 (метрика Inter) */
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--magenta-text);
}

.pl-formaty__h2 {
  margin: 0;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 48px;
  line-height: 55px;   /* 48 x 1.14 = 54.72, в дампе строка 55 */
  letter-spacing: -1.6px;
  color: var(--ink);
}

.pl-formaty__all {
  flex: none;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 15px;
  line-height: 18px;   /* 15 x 1.21 = 18.15, в дампе строка 18 */
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
}

.pl-formaty__all-ico {
  color: var(--magenta-text);
}

.pl-formaty__row {
  gap: 26px;
}

.pl-formaty-item {
  background: var(--white);
  border-radius: 8px; /* дамп: cornerRadius 8, не совпадает с токенами скругления */
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 34px;
}

.pl-formaty-item__name {
  margin: 0;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 20px;
  line-height: 27px;   /* 20 x 1.36 (метрика Manrope) = 27.2, в дампе строка 27 */
  letter-spacing: -0.4px;
  color: var(--ink);
}

.pl-formaty-item__line {
  display: block;
  width: 44px;
  height: 3px;
  border-radius: 2px;
  background: var(--sun);
}

.pl-formaty-item__price {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.pl-formaty-item__price-value {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 38px;
  line-height: 52px;   /* 38 x 1.36 = 51.68, в дампе строка 52 */
  letter-spacing: -1.2px;
  color: var(--ink);
}

.pl-formaty-item__price-unit {
  padding-bottom: 7px; /* дамп: "Сдвиг" - нижний паддинг 7, сажает подпись на базовую линию цены */
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14px;
  line-height: 17px;   /* 14 x 1.21 = 16.94, в дампе строка 17 */
  color: var(--muted);
}

.pl-formaty-item__text {
  margin: 0;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 26px;   /* 15 x 1.75 = 26.25, в дампе строка 26 */
  color: var(--muted);
}

@media (max-width: 860px) {
  .pl-formaty {
    padding-block: var(--section-y-m); /* 52 в дампе = токену */
  }

  .pl-formaty__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
  }

  .pl-formaty__kicker {
    font-size: 11px;
    line-height: 13px;   /* 11 x 1.21 */
    /* Дамп: letter-spacing мобильного кикера здесь 3px - как на десктопе. */
  }

  .pl-formaty__h2 {
    font-size: 30px;
    line-height: 34px;   /* 30 x 1.14 = 34.2, в дампе строка 34 */
    letter-spacing: -0.9px;
  }

  .pl-formaty__all {
    font-size: 14px;
    line-height: 17px;   /* 14 x 1.21 = 16.94, в дампе строка 17 */
  }

  .pl-formaty__row {
    gap: 26px;
  }

  .pl-formaty-item {
    padding: 20px;
  }

  .pl-formaty-item__name {
    font-size: 18px;
    /* Дамп: высота строки заголовка карточки на телефоне 25px - не
       совпадает с арифметикой 18 x 1.36 = 24.48 (округлило бы до 24),
       взято по эталону (docs/stranicy.md, "высота строки не всегда к
       ближайшему"). */
    line-height: 25px;
    letter-spacing: -0.3px;
  }

  .pl-formaty-item__price-value {
    font-size: 25px;
    line-height: 34px;   /* 25 x 1.36 = 34 */
    letter-spacing: -0.7px;
  }

  .pl-formaty-item__price-unit {
    font-size: 13px;
    line-height: 16px;   /* 13 x 1.21 = 15.73, в дампе строка 16 */
  }

  .pl-formaty-item__text {
    font-size: 14px;
    line-height: 25px;   /* 14 x 1.75 = 24.5, в дампе строка 25 */
  }
}
