/* ============================================================
   Заголовки и текст (размеры из Elementor post-*.css оригинала)
   ============================================================ */
.heading {
  margin: 0 0 var(--widget-gap);
}

/* h1 — заголовок страницы/hero */
.heading--h1 {
  font-family: var(--font-alt);
  font-weight: 700;
  font-size: var(--fz-title-xl);
  line-height: 1.2;
  color: var(--color-brand);
}

/* h2 — крупный заголовок смысловой секции */
.heading--h2 {
  font-family: var(--font-alt);
  font-weight: 500;
  font-size: var(--fz-title-lg);
  line-height: 1.2;
  color: var(--color-brand);
}

/* h3 — подзаголовок секции */
.heading--h3 {
  font-family: var(--font-alt);
  font-weight: 600;
  font-size: var(--fz-title-sm);
  line-height: 1.25;
  color: var(--color-brand);
}

/* Вводный/пояснительный текст-заголовок (22px) */
.heading--lead {
  font-family: var(--font-alt);
  font-weight: 400;
  font-size: var(--fz-heading);
  line-height: 1.35;
  color: var(--color-brand);
}

/* Заголовок блока (новость / публикация / видеоматериал) — единый стиль для news, press, video:
   Noah Bold 22px + оранжевая полоса слева (1:1 с оригиналом Elementor) */
.heading--block {
  font-family: var(--font-alt);
  font-weight: 700;
  font-size: var(--fz-heading);
  line-height: 1.3;
  color: var(--color-brand);
  border-left: 4px solid var(--color-accent);
  padding-left: 30px;
  margin-bottom: 0.4em;
}

/* Подзаголовок блока с усилением (26px / 600) */
.heading--subhead {
  font-family: var(--font-alt);
  font-weight: 600;
  font-size: 26px;
  line-height: 1.3;
  color: var(--color-brand);
}

/* Пояснительный текст в виде заголовка (16px / 400) */
.heading--note {
  font-family: var(--font-alt);
  font-weight: 400;
  font-size: var(--fz-small);
  line-height: 1.5;
  color: var(--color-brand);
}

/* Акцентный подзаголовок преимуществ (20px / 700) */
.heading--feature {
  font-family: var(--font-alt);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  color: var(--color-brand);
}

/* Заголовок карточки презентации (24px / 700) */
.heading--card {
  font-family: var(--font-alt);
  font-weight: 700;
  font-size: var(--fz-title-sm);
  line-height: 1.25;
  color: var(--color-brand);
}

/* Мелкий текст-заголовок (18px) */
.heading--small {
  font-family: var(--font-alt);
  font-weight: 400;
  font-size: var(--fz-body);
  line-height: 1.4;
  color: var(--color-brand);
}

/* Заголовок новостной карточки (18px / 700) */
.heading--card-sm {
  font-family: var(--font-alt);
  font-weight: 700;
  font-size: var(--fz-body);
  line-height: 1.4;
  color: var(--color-brand);
}

/* Заголовок карточки-карусели (16px / 700) */
.heading--card-xs {
  font-family: var(--font-alt);
  font-weight: 700;
  font-size: var(--fz-small);
  line-height: 1.45;
  color: var(--color-brand);
}

.heading--center {
  text-align: center;
}

.heading--white,
.heading--white a {
  color: var(--color-white);
}

.heading--accent {
  color: var(--color-accent);
}

.heading a {
  color: inherit;
}

.heading a:hover {
  color: var(--color-accent);
}

.text {
  font-family: var(--font-alt);
  font-size: 18px;
  line-height: 1.45;
  color: var(--color-brand);
}

.text--center {
  text-align: center;
}

.text--justify {
  text-align: justify;
}

/* energy — основной текст 20px */
.text--lead {
  font-size: 20px;
  line-height: 1.3;
}

/* Текст карточки публикации (18px / 20px, как в оригинале press) */
.text--press {
  font-size: 18px;
  line-height: 20px;
}

/* Текст 18px / 22px (видео-блоки video-страницы) */
.text--lh22 {
  font-size: 18px;
  line-height: 22px;
}

.text--white,
.text--white p,
.text--white li {
  color: var(--color-white);
}

.text--brand,
.text--brand p,
.text--brand li {
  color: var(--color-brand);
}

.text ul {
  padding-left: 1.2em;
}

.text li {
  margin-bottom: 0.5em;
}

.text a {
  color: var(--color-link);
  text-decoration: none;
}

.text a:hover {
  text-decoration: underline;
}

@media (max-width: 1024px) {
  .heading--h1 {
    font-size: var(--fz-title-lg);
  }

  .heading--h2 {
    font-size: var(--fz-title-md);
  }

  .heading--h3 {
    font-size: var(--fz-heading);
  }

  .text {
    font-size: 16px;
  }

  .text--lead {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .heading--h1 {
    font-size: 32px;
  }

  .heading--h2 {
    font-size: var(--fz-heading);
  }

  .heading--h3 {
    font-size: var(--fz-body);
  }

  .heading--lead {
    font-size: var(--fz-body);
  }

  .heading--block {
    font-size: 20px;
  }

  .heading--feature {
    font-size: var(--fz-body);
  }

  .heading--card {
    font-size: 20px;
  }

  .heading--small {
    font-size: var(--fz-small);
  }
}
