/*!
 * longteng-typography-v3.css — единый слой типографики LONGTENG, версия 3
 * ---------------------------------------------------------------------------
 * Источник шкалы: MODX-ресурс 355 «Типографика v3»
 *   /backoffice/?a=resource/update&id=355  (не опубликован, служебный справочник)
 * Создан: 26.08.2026. Подключается на ВСЕХ страницах new.longteng.ru
 *   сниппетом ltUnifiedStyles (вызов [[!ltUnifiedStyles]] в чанке head #101,
 *   uncached — работает и на закэшированных страницах). Идёт после theme.css,
 *   styles.css, чанка lt_corporate_gradient_overrides и longteng-unified.css,
 *   то есть последним из фирменных CSS: при равной специфичности выигрывает он.
 *   Версия в ?v= берётся из filemtime — правка файла видна сразу, без бустера.
 *
 * ГДЕ ПРАВИТЬ: MODX manager → «Файлы» → assets/app/css/longteng-typography-v3.css.
 *   Помни: <style> внутри шаблонов страниц рендерится ПОСЛЕ head, поэтому
 *   инлайновые блоки шаблонов всё ещё сильнее этого файла — для них секция 5.
 *
 * ЗАЧЕМ. Уходим от размерных утилит Porto (theme.css: .text-4, .text-lg-8,
 * .line-height-3, .font-weight-normal — em-шкала с !important). Старое НЕ ломаем:
 * theme.css остаётся подключённым, вёрстка переводится на v3 по блокам.
 *
 * ЦЕЛЬ (уточнение владельца 26.08.2026): в перспективе отказаться и от
 * theme.css, и от кастомных <style> в каждом шаблоне — оставить один этот файл.
 * Поэтому здесь заранее лежат:
 *   секция 7 — точный порт типографических утилит Porto (страховка: theme.css
 *              можно выключить, и вёрстка со старыми классами не поедет);
 *   секция 8 — размеченное место, куда переезжают стили шаблонов и CSS-чанков.
 * Полное отключение theme.css — это ещё сетка, кнопки, шапка и карточки Porto;
 * типографика лишь первый слой, остальное переносится тем же порядком.
 *
 * СЕКЦИИ: 1 токены · 2 роли · 3 адаптив · 4 утилиты · 5 мосты для легаси ·
 *         6 карта перехода с Porto · 7 legacy-compat · 8 компоненты и страницы.
 *
 * ПРАВИЛА ЭТОГО ФАЙЛА (нарушение = регресс на живом сайте):
 *   1. Только НОВЫЕ имена: классы .ltv3-* и переменные --ltv3-*.
 *      Никаких селекторов по тегам (h1, p, body) и по легаси-классам вне
 *      секций 5 и 7 — файл не должен менять ни одной страницы, пока класс
 *      не проставлен в разметке руками. Секция 7 — копия правил темы
 *      один-в-один, она тоже ничего не меняет, пока theme.css подключён.
 *   2. Роли задают ТОЛЬКО шрифт: family / size / weight / line-height /
 *      letter-spacing. Цвет, отступы, фон — не здесь (иначе тёмные hero-блоки
 *      получат чёрный текст). Цвет — отдельными утилитами секции 4.
 *   3. !important не используем. Исключения — секция 5 (мосты: нужна, чтобы
 *      перебить em-утилиты Porto, у которых !important стоит в теме) и
 *      секция 7 (там !important воспроизведён как в theme.css).
 *   4. Меняешь размер роли — правь одновременно ресурс 355, иначе справочник
 *      и код разъедутся.
 *
 * СТАТУС РАЗВИЛОК (ресурс 355, раздел 4.1) — ждут решения владельца:
 *   • вес H2 секций: сейчас на сайте 400, в шкале v3 — 600;
 *   • единый вес заголовков карточек (сейчас 400/600/700 вперемешку);
 *   • мобильные значения для body/кнопок/карточек (в шкале только clamp у H1/H2/лида).
 *   Файл собран по шкале v3 как есть; поменять — одна строка в секции 1.
 */

/* ===========================================================================
   1. ТОКЕНЫ
   =========================================================================== */

:root {
    /* Гарнитуры. Совпадают с --lt-font-* из longteng-unified.css:
       дублируем под своим именем, чтобы файл был самодостаточным. */
    --ltv3-font-heading: 'Geologica', 'Inter', Arial, sans-serif;
    --ltv3-font-text: 'Inter', 'Geologica', Arial, sans-serif;

    /* Размеры ролей */
    --ltv3-size-display: clamp(38px, 5vw, 64px);
    --ltv3-size-page-title: clamp(32px, 3.1vw, 46px);
    --ltv3-size-section-title: clamp(28px, 2.4vw, 38px);
    --ltv3-size-subsection-title: 24px;
    --ltv3-size-card-title: 19px;
    --ltv3-size-lead: clamp(16px, 1.05vw, 19px);
    --ltv3-size-body-lg: 18px;
    --ltv3-size-body: 15px;
    --ltv3-size-body-sm: 14px;
    --ltv3-size-hint: 13px;
    --ltv3-size-caption: 12px;
    --ltv3-size-nav: 19px;
    --ltv3-size-nav-mobile: 20px;

    /* Веса */
    --ltv3-weight-light: 300;
    --ltv3-weight-normal: 400;
    --ltv3-weight-medium: 500;
    --ltv3-weight-semibold: 600;
    --ltv3-weight-bold: 700;

    /* Интерлиньяж */
    --ltv3-lh-display: 1.08;
    --ltv3-lh-title: 1.13;
    --ltv3-lh-section: 1.2;
    --ltv3-lh-tight: 1.25;
    --ltv3-lh-snug: 1.4;
    --ltv3-lh-normal: 1.5;
    --ltv3-lh-relaxed: 1.58;
    --ltv3-lh-loose: 1.62;

    /* Цвета текста (используются только утилитами секции 4) */
    --ltv3-color-text: #07183f;
    --ltv3-color-muted: #5c6b8a;
    --ltv3-color-accent: #0d59a8;
    --ltv3-color-invert: #ffffff;
    --ltv3-color-invert-muted: rgba(255, 255, 255, 0.78);
}

/* ===========================================================================
   2. РОЛИ. Одна роль = одно назначение текста.
      Полное описание и живые образцы — ресурс 355, раздел 2.
   =========================================================================== */

/* --- Заголовки (Geologica) ------------------------------------------------ */

.ltv3-display {
    font-family: var(--ltv3-font-heading);
    font-size: var(--ltv3-size-display);
    font-weight: var(--ltv3-weight-semibold);
    line-height: var(--ltv3-lh-display);
    letter-spacing: 0;
}

.ltv3-page-title {
    font-family: var(--ltv3-font-heading);
    font-size: var(--ltv3-size-page-title);
    font-weight: var(--ltv3-weight-medium);
    line-height: var(--ltv3-lh-title);
    letter-spacing: 0;
}

.ltv3-section-title {
    font-family: var(--ltv3-font-heading);
    font-size: var(--ltv3-size-section-title);
    font-weight: var(--ltv3-weight-normal);
    line-height: var(--ltv3-lh-section);
    letter-spacing: 0;
}

.ltv3-subsection-title {
    font-family: var(--ltv3-font-heading);
    font-size: var(--ltv3-size-subsection-title);
    font-weight: var(--ltv3-weight-semibold);
    line-height: var(--ltv3-lh-tight);
    letter-spacing: 0;
}

.ltv3-card-title {
    font-family: var(--ltv3-font-heading);
    font-size: var(--ltv3-size-card-title);
    font-weight: var(--ltv3-weight-medium);
    line-height: 1.3;
    letter-spacing: 0;
}

/* --- Текст (Inter) -------------------------------------------------------- */

.ltv3-lead {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-lead);
    font-weight: var(--ltv3-weight-medium);
    line-height: var(--ltv3-lh-relaxed);
    letter-spacing: 0;
}

.ltv3-body-lg {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body-lg);
    font-weight: var(--ltv3-weight-normal);
    line-height: var(--ltv3-lh-loose);
    letter-spacing: 0;
}

.ltv3-body {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body);
    font-weight: var(--ltv3-weight-normal);
    line-height: 1.35;
    letter-spacing: 0;
}

.ltv3-body-sm {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body-sm);
    font-weight: var(--ltv3-weight-normal);
    line-height: var(--ltv3-lh-normal);
    letter-spacing: 0;
}

.ltv3-hint {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-hint);
    font-weight: var(--ltv3-weight-normal);
    line-height: 1.45;
    letter-spacing: 0;
}

.ltv3-caption {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-caption);
    font-weight: var(--ltv3-weight-medium);
    line-height: var(--ltv3-lh-snug);
    letter-spacing: 0.02em;
}

/* --- Навигация и служебные элементы --------------------------------------- */

.ltv3-nav {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-nav);
    font-weight: var(--ltv3-weight-semibold);
    line-height: var(--ltv3-lh-section);
    letter-spacing: 0;
}

/* Мобильное меню — Geologica 20/500 (решение 12.08.2026, эталон longteng.ru).
   Роль намеренно отличается от десктопной .ltv3-nav. */
.ltv3-nav-mobile {
    font-family: var(--ltv3-font-heading);
    font-size: var(--ltv3-size-nav-mobile);
    font-weight: var(--ltv3-weight-medium);
    line-height: var(--ltv3-lh-tight);
    letter-spacing: 0;
}

.ltv3-breadcrumb {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-caption);
    font-weight: var(--ltv3-weight-medium);
    line-height: 1.35;
    letter-spacing: 0;
}

.ltv3-button-lg {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body);
    font-weight: var(--ltv3-weight-bold);
    line-height: var(--ltv3-lh-section);
    letter-spacing: 0;
}

.ltv3-button {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body-sm);
    font-weight: var(--ltv3-weight-bold);
    line-height: var(--ltv3-lh-section);
    letter-spacing: 0;
}

.ltv3-chip {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-hint);
    font-weight: var(--ltv3-weight-semibold);
    line-height: 1;
    letter-spacing: 0;
}

.ltv3-meta {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-hint);
    font-weight: var(--ltv3-weight-medium);
    line-height: var(--ltv3-lh-snug);
    letter-spacing: 0;
}

.ltv3-link {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body);
    font-weight: var(--ltv3-weight-semibold);
    line-height: var(--ltv3-lh-snug);
    letter-spacing: 0;
}

.ltv3-footer {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body-sm);
    font-weight: var(--ltv3-weight-normal);
    line-height: var(--ltv3-lh-normal);
    letter-spacing: 0;
}

/* --- Карточка товара: характеристики -------------------------------------- */

.ltv3-spec-label {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body-sm);
    font-weight: var(--ltv3-weight-medium);
    line-height: 1.45;
    letter-spacing: 0;
}

.ltv3-spec-value {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body-sm);
    font-weight: var(--ltv3-weight-normal);
    line-height: 1.45;
    letter-spacing: 0;
}

/* --- Блок менеджера направления ------------------------------------------- */

.ltv3-manager-role {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-hint);
    font-weight: var(--ltv3-weight-semibold);
    line-height: var(--ltv3-lh-snug);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ltv3-manager-value {
    font-family: var(--ltv3-font-text);
    font-size: var(--ltv3-size-body);
    font-weight: var(--ltv3-weight-medium);
    line-height: var(--ltv3-lh-normal);
    letter-spacing: 0;
}

/* ===========================================================================
   3. АДАПТИВ
      Роли с clamp() (display, page-title, section-title, lead) масштабируются
      сами. Здесь — только то, что clamp не покрывает.
   =========================================================================== */

@media (max-width: 991.98px) {
    /* Карточки и подзаголовки на планшете/мобиле на шаг мельче. */
    .ltv3-subsection-title {
        font-size: 21px;
    }
    .ltv3-card-title {
        font-size: 17px;
    }
    .ltv3-body-lg {
        font-size: 17px;
    }
}

@media (max-width: 575.98px) {
    .ltv3-subsection-title {
        font-size: 20px;
    }
    .ltv3-body-lg {
        font-size: 16px;
    }
}

/* ===========================================================================
   4. УТИЛИТЫ
      Замена размерных/весовых утилит Porto (.text-N, .font-weight-*,
      .line-height-N, .text-geologica). Пишутся в разметке рядом с ролью
      или вместо неё, когда роль не подходит.
   =========================================================================== */

/* --- Гарнитура ------------------------------------------------------------ */
.ltv3-font-heading { font-family: var(--ltv3-font-heading); }
.ltv3-font-text { font-family: var(--ltv3-font-text); }

/* --- Размер (круглая шкала v3; замена .text-N) ---------------------------- */
.ltv3-fs-12 { font-size: 12px; }
.ltv3-fs-13 { font-size: 13px; }
.ltv3-fs-14 { font-size: 14px; }
.ltv3-fs-16 { font-size: 16px; }
.ltv3-fs-18 { font-size: 18px; }
.ltv3-fs-19 { font-size: 19px; }
.ltv3-fs-20 { font-size: 20px; }
.ltv3-fs-24 { font-size: 24px; }
.ltv3-fs-28 { font-size: 28px; }
.ltv3-fs-32 { font-size: 32px; }
.ltv3-fs-38 { font-size: 38px; }
.ltv3-fs-44 { font-size: 44px; }
.ltv3-fs-46 { font-size: 46px; }

/* --- Вес (замена .font-weight-*) ------------------------------------------ */
.ltv3-w-300 { font-weight: 300; }
.ltv3-w-400 { font-weight: 400; }
.ltv3-w-500 { font-weight: 500; }
.ltv3-w-600 { font-weight: 600; }
.ltv3-w-700 { font-weight: 700; }
.ltv3-w-800 { font-weight: 800; }

/* --- Интерлиньяж (замена .line-height-N) ---------------------------------- */
.ltv3-lh-1 { line-height: 1; }
.ltv3-lh-tight { line-height: 1.15; }
.ltv3-lh-snug { line-height: 1.3; }
.ltv3-lh-normal { line-height: 1.5; }
.ltv3-lh-relaxed { line-height: 1.6; }

/* --- Регистр и выравнивание ----------------------------------------------- */
.ltv3-upper { text-transform: uppercase; letter-spacing: 0.04em; }
.ltv3-nowrap { white-space: nowrap; }
.ltv3-balance { text-wrap: balance; }

/* --- Цвет текста (опционально; роли цвет не задают) ----------------------- */
.ltv3-text-dark { color: var(--ltv3-color-text); }
.ltv3-text-muted { color: var(--ltv3-color-muted); }
.ltv3-text-accent { color: var(--ltv3-color-accent); }
.ltv3-text-invert { color: var(--ltv3-color-invert); }
.ltv3-text-invert-muted { color: var(--ltv3-color-invert-muted); }

/* --- Ограничение длины строки --------------------------------------------- */
.ltv3-measure { max-width: 68ch; }
.ltv3-measure-narrow { max-width: 46ch; }

/* ===========================================================================
   5. МОСТЫ (opt-in). Единственное место, где разрешён !important.
      Ничего не делают, пока класс-обёртка не проставлен на блоке вручную.
   =========================================================================== */

/*
 * .ltv3-scope — перевод целого блока на шкалу v3 без разметки каждого узла.
 * Вешается на секцию/контейнер: <section class="ltv3-scope"> … </section>.
 * Внутри h1–h4, p, li получают роли v3 автоматически.
 * !important здесь обязателен: em-утилиты Porto (.text-8 и т.п.) в theme.css
 * объявлены с !important и иначе перебьют шкалу.
 */
.ltv3-scope h1 {
    font-family: var(--ltv3-font-heading) !important;
    font-size: var(--ltv3-size-page-title) !important;
    font-weight: var(--ltv3-weight-medium) !important;
    line-height: var(--ltv3-lh-title) !important;
}

.ltv3-scope h2 {
    font-family: var(--ltv3-font-heading) !important;
    font-size: var(--ltv3-size-section-title) !important;
    font-weight: var(--ltv3-weight-semibold) !important;
    line-height: var(--ltv3-lh-section) !important;
}

.ltv3-scope h3 {
    font-family: var(--ltv3-font-heading) !important;
    font-size: var(--ltv3-size-subsection-title) !important;
    font-weight: var(--ltv3-weight-semibold) !important;
    line-height: var(--ltv3-lh-tight) !important;
}

.ltv3-scope h4 {
    font-family: var(--ltv3-font-heading) !important;
    font-size: var(--ltv3-size-card-title) !important;
    font-weight: var(--ltv3-weight-semibold) !important;
    line-height: 1.3 !important;
}

.ltv3-scope p,
.ltv3-scope li {
    font-family: var(--ltv3-font-text) !important;
    font-size: var(--ltv3-size-body) !important;
    font-weight: var(--ltv3-weight-normal) !important;
    line-height: 1.55 !important;
}

.ltv3-scope .lead {
    font-size: var(--ltv3-size-lead) !important;
    font-weight: var(--ltv3-weight-medium) !important;
    line-height: var(--ltv3-lh-relaxed) !important;
}

/*
 * .ltv3-force — модификатор для точечного перебивания Porto на одном элементе:
 * <h2 class="text-8 ltv3-section-title ltv3-force"> …
 * Нужен там, где старый класс размера снять нельзя (общий чанк, MIGX-шаблон).
 */
.ltv3-force.ltv3-display { font-size: var(--ltv3-size-display) !important; font-weight: 600 !important; line-height: var(--ltv3-lh-display) !important; font-family: var(--ltv3-font-heading) !important; }
.ltv3-force.ltv3-page-title { font-size: var(--ltv3-size-page-title) !important; font-weight: 500 !important; line-height: var(--ltv3-lh-title) !important; font-family: var(--ltv3-font-heading) !important; }
.ltv3-force.ltv3-section-title { font-size: var(--ltv3-size-section-title) !important; font-weight: 600 !important; line-height: var(--ltv3-lh-section) !important; font-family: var(--ltv3-font-heading) !important; }
.ltv3-force.ltv3-subsection-title { font-size: var(--ltv3-size-subsection-title) !important; font-weight: 600 !important; line-height: var(--ltv3-lh-tight) !important; font-family: var(--ltv3-font-heading) !important; }
.ltv3-force.ltv3-card-title { font-size: var(--ltv3-size-card-title) !important; font-weight: 600 !important; line-height: 1.3 !important; font-family: var(--ltv3-font-heading) !important; }
.ltv3-force.ltv3-lead { font-size: var(--ltv3-size-lead) !important; font-weight: 500 !important; line-height: var(--ltv3-lh-relaxed) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-body-lg { font-size: var(--ltv3-size-body-lg) !important; font-weight: 400 !important; line-height: var(--ltv3-lh-loose) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-body { font-size: var(--ltv3-size-body) !important; font-weight: 400 !important; line-height: 1.55 !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-body-sm { font-size: var(--ltv3-size-body-sm) !important; font-weight: 400 !important; line-height: var(--ltv3-lh-normal) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-hint { font-size: var(--ltv3-size-hint) !important; font-weight: 400 !important; line-height: 1.45 !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-caption { font-size: var(--ltv3-size-caption) !important; font-weight: 500 !important; line-height: var(--ltv3-lh-snug) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-nav { font-size: var(--ltv3-size-nav) !important; font-weight: 600 !important; line-height: var(--ltv3-lh-section) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-nav-mobile { font-size: var(--ltv3-size-nav-mobile) !important; font-weight: 500 !important; line-height: var(--ltv3-lh-tight) !important; font-family: var(--ltv3-font-heading) !important; }
.ltv3-force.ltv3-breadcrumb { font-size: var(--ltv3-size-caption) !important; font-weight: 500 !important; line-height: 1.35 !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-button-lg { font-size: var(--ltv3-size-body) !important; font-weight: 700 !important; line-height: var(--ltv3-lh-section) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-button { font-size: var(--ltv3-size-body-sm) !important; font-weight: 700 !important; line-height: var(--ltv3-lh-section) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-chip { font-size: var(--ltv3-size-hint) !important; font-weight: 600 !important; line-height: 1 !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-meta { font-size: var(--ltv3-size-hint) !important; font-weight: 500 !important; line-height: var(--ltv3-lh-snug) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-link { font-size: var(--ltv3-size-body) !important; font-weight: 600 !important; line-height: var(--ltv3-lh-snug) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-footer { font-size: var(--ltv3-size-body-sm) !important; font-weight: 400 !important; line-height: var(--ltv3-lh-normal) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-spec-label { font-size: var(--ltv3-size-body-sm) !important; font-weight: 500 !important; line-height: 1.45 !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-spec-value { font-size: var(--ltv3-size-body-sm) !important; font-weight: 400 !important; line-height: 1.45 !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-manager-role { font-size: var(--ltv3-size-hint) !important; font-weight: 600 !important; line-height: var(--ltv3-lh-snug) !important; font-family: var(--ltv3-font-text) !important; }
.ltv3-force.ltv3-manager-value { font-size: var(--ltv3-size-body) !important; font-weight: 500 !important; line-height: var(--ltv3-lh-normal) !important; font-family: var(--ltv3-font-text) !important; }

/* ===========================================================================
   6. КАРТА ПЕРЕХОДА С PORTO (theme.css) — справочно, кода тут нет.

     Porto            px      →  роль / утилита v3
     ---------------------------------------------------------------
     .text-1          12.8       .ltv3-caption (12) / .ltv3-hint (13)
     .text-2          14.4       .ltv3-body-sm / .ltv3-fs-14
     .text-3          16         .ltv3-body / .ltv3-fs-16
     .text-4          19.2       .ltv3-lead / .ltv3-fs-19
     .text-4-5        21.6       .ltv3-fs-20 (или .ltv3-nav-mobile)
     .text-5          24         .ltv3-subsection-title / .ltv3-fs-24
     .text-5-6        26.4       .ltv3-fs-28 (округление вверх)
     .text-6          28.8       .ltv3-section-title (нижняя граница)
     .text-7          32         .ltv3-fs-32
     .text-8          36.8       .ltv3-section-title
     .text-9          40         .ltv3-fs-38 / .ltv3-page-title
     .text-10         44         .ltv3-page-title
     .text-11         48         .ltv3-display
     .line-height-N   1…1.9      .ltv3-lh-*
     .font-weight-*   100…900    .ltv3-w-*
     .text-geologica  —          .ltv3-font-heading
     .text-dark-longteng /
     .text-grey-longteng —       .ltv3-text-dark / .ltv3-text-muted

   Полная таблица с частотой использования — ресурс 355, раздел 3.1.
   =========================================================================== */

/* ===========================================================================
   7. LEGACY-COMPAT: порт типографических утилит Porto (theme.css)
   ---------------------------------------------------------------------------
   ЗАЧЕМ. Чтобы можно было ОТКЛЮЧИТЬ theme.css, не переписывая всю вёрстку
   разом. Ниже — те же правила, что в
   assets/templates/portohtm-1010/css/theme.css, один-в-один (em-значения,
   !important, брейкпоинты). Пока theme.css подключён, секция ничего не меняет:
   значения совпадают до символа. Снимем theme.css — эти утилиты продолжат
   работать, и сайт не поедет.

   ПОРЯДОК ОТКАЗА ОТ theme.css (типографика):
     1. эта секция живёт как есть (страховка);
     2. блоки по одному переводятся с .text-N / .line-height-N /
        .font-weight-* на роли и утилиты v3 из секций 2 и 4;
     3. когда в разметке не остаётся ни одного legacy-класса
        (grep по шаблонам/чанкам/ресурсам) — секция 7 удаляется целиком;
     4. отключение самого theme.css — отдельный шаг: там ещё сетка, кнопки,
        шапка, карточки Porto. Типографика — только первый слой.

   ⚠ НЕ редактировать вручную: секция сгенерирована из theme.css 26.08.2026.
   Меняешь размер — меняй роль в секции 2, а не копию Porto.
   ⚠ Известное расхождение темы, воспроизведено намеренно:
     .font-weight-semibold / .font-weight-semi-bold в theme.css — ПУСТОЕ
     правило (веса не задаёт). Не «чиним» здесь, иначе поедут блоки,
     где класс висит, но вес приходит из другого места.
   =========================================================================== */

/* Переменные цвета Porto, на которые ссылаются .text-*-longteng */
:root {
    --gray-longteng: #EEF1F3;
    --dark-longteng: #1D1D1D;
}
.text-grey-longteng { color: var(--gray-longteng) !important; }
.text-dark-longteng { color: var(--dark-longteng) !important; }
.text-0 { font-size: .7em !important; }
.text-1 { font-size: .8em !important; }
.text-2 { font-size: .9em !important; }
.text-2-3,
 .text-2-5 { font-size: .95em !important; }
.text-3 { font-size: 1em !important; }
.text-3-4,
 .text-3-5 { font-size: 1.5em !important; }
.text-4 { font-size: 1.2em !important; }
.text-4-5 { font-size: 1.35em !important; }
.text-5 { font-size: 1.50em !important; }
.text-5-6,
 .text-5-5 { font-size: 1.65em !important; }
.text-6 { font-size: 1.80em !important; }
.text-6-7,
 .text-6-5 { font-size: 1.9em !important; }
.text-7 { font-size: 2em !important; }
.text-8 { font-size: 2.30em !important; }
.text-9 { font-size: 2.50em !important; }
.text-10 { font-size: 2.75em !important; }
.text-11 { font-size: 3em !important; }
.text-12 { font-size: 3.5em !important; }
.text-12-13,
 .text-12-5 { font-size: 3.75em !important; }
.text-13 { font-size: 4em !important; }
.text-14 { font-size: 4.5em !important; }
.text-15 { font-size: 5em !important; }
.text-16 { font-size: 5.33em !important; }
.text-17 { font-size: 5.66em !important; }
.text-18 { font-size: 6em !important; }
.text-19 { font-size: 6.33em !important; }
.text-20 { font-size: 6.66em !important; }

@media (min-width: 576px) {
    .text-sm-0 { font-size: .7em !important; }
    .text-sm-1 { font-size: .8em !important; }
    .text-sm-2 { font-size: .9em !important; }
    .text-sm-2-3,
     .text-sm-2-5 { font-size: .95em !important; }
    .text-sm-3 { font-size: 1em !important; }
    .text-sm-3-4,
     .text-sm-3-5 { font-size: 1.1em !important; }
    .text-sm-4 { font-size: 1.2em !important; }
    .text-sm-4-5 { font-size: 1.35em !important; }
    .text-sm-5 { font-size: 1.50em !important; }
    .text-sm-5-6,
     .text-sm-5-5 { font-size: 1.65em !important; }
    .text-sm-6 { font-size: 1.80em !important; }
    .text-sm-6-7,
     .text-sm-6-5 { font-size: 1.9em !important; }
    .text-sm-7 { font-size: 2em !important; }
    .text-sm-8 { font-size: 2.30em !important; }
    .text-sm-9 { font-size: 2.50em !important; }
    .text-sm-10 { font-size: 2.75em !important; }
    .text-sm-11 { font-size: 3em !important; }
    .text-sm-12 { font-size: 3.5em !important; }
    .text-sm-12-13,
     .text-sm-12-5 { font-size: 3.75em !important; }
    .text-sm-13 { font-size: 4em !important; }
    .text-sm-14 { font-size: 4.5em !important; }
    .text-sm-15 { font-size: 5em !important; }
    .text-sm-16 { font-size: 5.33em !important; }
    .text-sm-17 { font-size: 5.66em !important; }
    .text-sm-18 { font-size: 6em !important; }
    .text-sm-19 { font-size: 6.33em !important; }
    .text-sm-20 { font-size: 6.66em !important; }
}

@media (min-width: 768px) {
    .text-md-0 { font-size: .7em !important; }
    .text-md-1 { font-size: .8em !important; }
    .text-md-2 { font-size: .9em !important; }
    .text-md-2-3,
     .text-md-2-5 { font-size: .95em !important; }
    .text-md-3 { font-size: 1em !important; }
    .text-md-3-4,
     .text-md-3-5 { font-size: 1.1em !important; }
    .text-md-4 { font-size: 1.2em !important; }
    .text-md-4-5 { font-size: 1.35em !important; }
    .text-md-5 { font-size: 1.50em !important; }
    .text-md-5-6,
     .text-md-5-5 { font-size: 1.65em !important; }
    .text-md-6 { font-size: 1.80em !important; }
    .text-md-6-7,
     .text-md-6-5 { font-size: 1.9em !important; }
    .text-md-7 { font-size: 2em !important; }
    .text-md-8 { font-size: 2.30em !important; }
    .text-md-9 { font-size: 2.50em !important; }
    .text-md-10 { font-size: 2.75em !important; }
    .text-md-11 { font-size: 3em !important; }
    .text-md-12 { font-size: 3.5em !important; }
    .text-md-12-13,
     .text-md-12-5 { font-size: 3.75em !important; }
    .text-md-13 { font-size: 4em !important; }
    .text-md-14 { font-size: 4.5em !important; }
    .text-md-15 { font-size: 5em !important; }
    .text-md-16 { font-size: 5.33em !important; }
    .text-md-17 { font-size: 5.66em !important; }
    .text-md-18 { font-size: 6em !important; }
    .text-md-19 { font-size: 6.33em !important; }
    .text-md-20 { font-size: 6.66em !important; }
}

@media (min-width: 992px) {
    .text-lg-0 { font-size: .7em !important; }
    .text-lg-1 { font-size: .8em !important; }
    .text-lg-2 { font-size: .9em !important; }
    .text-lg-2-3,
     .text-lg-2-5 { font-size: .95em !important; }
    .text-lg-3 { font-size: 1em !important; }
    .text-lg-3-4,
     .text-lg-3-5 { font-size: 1.1em !important; }
    .text-lg-4 { font-size: 1.2em !important; }
    .text-lg-4-5 { font-size: 1.35em !important; }
    .text-lg-5 { font-size: 1.50em !important; }
    .text-lg-5-6,
     .text-lg-5-5 { font-size: 1.65em !important; }
    .text-lg-6 { font-size: 1.80em !important; }
    .text-lg-6-7,
     .text-lg-6-5 { font-size: 1.9em !important; }
    .text-lg-7 { font-size: 2em !important; }
    .text-lg-8 { font-size: 2.30em !important; }
    .text-lg-9 { font-size: 2.50em !important; }
    .text-lg-10 { font-size: 2.75em !important; }
    .text-lg-11 { font-size: 3em !important; }
    .text-lg-12 { font-size: 3.5em !important; }
    .text-lg-12-13,
     .text-lg-12-5 { font-size: 3.75em !important; }
    .text-lg-13 { font-size: 4em !important; }
    .text-lg-14 { font-size: 4.5em !important; }
    .text-lg-15 { font-size: 5em !important; }
    .text-lg-16 { font-size: 5.33em !important; }
    .text-lg-17 { font-size: 5.66em !important; }
    .text-lg-18 { font-size: 6em !important; }
    .text-lg-19 { font-size: 6.33em !important; }
    .text-lg-20 { font-size: 6.66em !important; }
}

@media (min-width: 1200px) {
    .text-xl-0 { font-size: .7em !important; }
    .text-xl-1 { font-size: .8em !important; }
    .text-xl-2 { font-size: .9em !important; }
    .text-xl-2-3,
     .text-xl-2-5 { font-size: .95em !important; }
    .text-xl-3 { font-size: 1em !important; }
    .text-xl-3-4,
     .text-xl-3-5 { font-size: 1.1em !important; }
    .text-xl-4 { font-size: 1.2em !important; }
    .text-xl-4-5 { font-size: 1.35em !important; }
    .text-xl-5 { font-size: 1.50em !important; }
    .text-xl-5-6,
     .text-xl-5-5 { font-size: 1.65em !important; }
    .text-xl-6 { font-size: 1.80em !important; }
    .text-xl-6-7,
     .text-xl-6-5 { font-size: 1.9em !important; }
    .text-xl-7 { font-size: 2em !important; }
    .text-xl-8 { font-size: 2.30em !important; }
    .text-xl-9 { font-size: 2.50em !important; }
    .text-xl-10 { font-size: 2.75em !important; }
    .text-xl-11 { font-size: 3em !important; }
    .text-xl-12 { font-size: 3.5em !important; }
    .text-xl-12-13,
     .text-xl-12-5 { font-size: 3.75em !important; }
    .text-xl-13 { font-size: 4em !important; }
    .text-xl-14 { font-size: 4.5em !important; }
    .text-xl-15 { font-size: 5em !important; }
    .text-xl-16 { font-size: 5.33em !important; }
    .text-xl-17 { font-size: 5.66em !important; }
    .text-xl-18 { font-size: 6em !important; }
    .text-xl-19 { font-size: 6.33em !important; }
    .text-xl-20 { font-size: 6.66em !important; }
}
.text-1rem { font-size: 16px !important; font-size: 1rem !important; }
.line-height-1 { line-height: 1 !important; }
.line-height-1-1 { line-height: 1.1 !important; }
.line-height-2 { line-height: 1.2 !important; }
.line-height-3 { line-height: 1.3 !important; }
.line-height-4 { line-height: 1.4 !important; }
.line-height-5 { line-height: 1.5 !important; }
.line-height-6 { line-height: 1.6 !important; }
.line-height-7 { line-height: 1.7 !important; }
.line-height-8 { line-height: 1.8 !important; }
.line-height-9 { line-height: 1.9 !important; }
.font-weight-thin { font-weight: 100 !important; }
.font-weight-extralight,
 .font-weight-extra-light { font-weight: 200 !important; }
.font-weight-light { font-weight: 300 !important; }
.font-weight-regular,
 .font-weight-normal { font-weight: 400 !important; }
.font-weight-medium { font-weight: 500 !important; }
.font-weight-bold { font-weight: 700 !important; }
.font-weight-extrabold,
 .font-weight-extra-bold { font-weight: 800 !important; }
.font-weight-black { font-weight: 900 !important; }
/* .text-geologica: в theme.css задан без fallback-ов, а чанк head перекрывает
   его семейством с запасными шрифтами. Здесь зафиксировано то, что реально
   вычисляется сейчас, — семейство с fallback + CRSV из темы. */
.text-geologica { font-family: 'Geologica', 'Inter', Arial, sans-serif; font-variation-settings: 'CRSV' 1; letter-spacing: 0; }

/* ===========================================================================
   8. КОМПОНЕНТЫ И СТРАНИЦЫ — место для переезда per-template стилей
   ---------------------------------------------------------------------------
   Сюда постепенно переносится то, что сейчас лежит в <style> внутри шаблонов
   и в CSS-чанках (lt_pay_page_css, lt_info_page_css, lt_ind_page_css,
   lt_corporate_gradient_overrides и т.д.). Цель — один файл вместо россыпи.

   ПОРЯДОК ПЕРЕНОСА одного блока (проверенный, без сюрпризов):
     1. переносишь правила сюда КАК ЕСТЬ, ничего не переименовывая;
     2. убеждаешься, что страница не изменилась (правила-дубли безопасны:
        значения одинаковые);
     3. только после этого удаляешь исходный <style> в шаблоне/чанке;
     4. затем чистишь перенесённое: размеры → на роли v3, лишние !important
        убираются, потому что этот файл и так грузится последним.

   ВАЖНО про приоритет: <style> внутри шаблона страницы рендерится ПОЗЖЕ
   этого файла и потому сильнее. Пока блок не переехал сюда — перебивать его
   можно только через .ltv3-force / .ltv3-scope (секция 5). Как переехал —
   гонка за специфичностью заканчивается.

   Раскладка секции (заводим по мере переезда):
     8.1 общие компоненты (кнопки, карточки, чипы, таблицы характеристик)
     8.2 шапка и футер
     8.3 страницы направлений (energy / medical / petro / logistics /
         payments / info / industrial)
     8.4 каталог: категория и карточка товара
     8.5 новости, контакты, о компании
   =========================================================================== */

/*далее стили добавил Олег - ИИ не удалять их*/
.lt-card-body {
    margin: 10px 0 0;
}

.ltv3-hero-infobloks-text {
    
    font-size: 20px!important;
    line-height: 1.34;
    font-weight: 400;
}
.ltv3-hero-4infobloks-text { 
    font-size: 19px!important;
    line-height: 1.34;
    font-weight: 400;
}
