/**
 * loan-child — правки блога. zaim-77.ru, заказ Kwork #64515126.
 *
 * Всё прижато к контейнерам блога (.blog-card__text, .article__content).
 * Глобальный ресет темы (assets/css/reset.css) не трогается ни одной строкой —
 * на нём стоит весь остальной сайт.
 *
 * !important не используется: специфичность .article__content h2 (0,1,1)
 * выше группового селектора ресета (0,0,1), этого достаточно.
 */

/* ══════════════════════════════════════════════════════════════════
   T7. Превью статьи в списке блога — ровно 4 строки
   ══════════════════════════════════════════════════════════════════
   Клампим внутренний <p>, а не .blog-card__text: внутри контейнера лежит
   готовый абзац от the_excerpt(), и обрезать надо именно тот элемент,
   в котором лежит текст.
   max-height — фолбэк на случай, если -webkit-line-clamp не поддержан:
   4 строки × line-height × font-size, по каждому брейкпоинту отдельно. */

.blog-card__text > p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-height: 108px;          /* 4 × 1.5 × 18px */
    margin: 0;
}

@media (max-width: 1024px) {
    .blog-card__text > p {
        max-height: 102.4px;    /* 4 × 1.6 × 16px */
    }
}

@media (max-width: 640px) {
    .blog-card__text > p {
        max-height: 89.6px;     /* 4 × 1.6 × 14px */
    }
}


/* ══════════════════════════════════════════════════════════════════
   Кнопка отправки формы на время запроса
   ══════════════════════════════════════════════════════════════════
   Пока заявка уходит, кнопка заблокирована — иначе двойной клик
   отправлял форму дважды. Приглушаем её, чтобы человек видел, что
   нажатие принято и идёт отправка. Класс снимается скриптом сразу
   после ответа сервера. */

.hero-btn.is-sending {
    opacity: 0.6;
    cursor: progress;
}


/* ══════════════════════════════════════════════════════════════════
   Кнопка «Согласие на обработку ПД» в футере
   ══════════════════════════════════════════════════════════════════
   В футере тег был написан с опечаткой: <botton> вместо <button>.
   Для браузера это неизвестный элемент — он не получает фокус с
   клавиатуры и не читается скринридером как кнопка.

   Тег исправлен в footer.php. Настоящий <button> приходит с браузерным
   оформлением (фон, рамка, свой шрифт), поэтому гасим его теми же тремя
   свойствами, что уже стоят у соседней рабочей кнопки
   .footer-link--info-police-2 — чтобы обе выглядели одинаково.

   line-height задаём отдельно: браузер навязывает кнопке `normal`, а
   прежний <botton> наследовал 1.4 от body. Без этой строки текст
   смещается на долю пикселя — глазом не видно, но в приёмке записано
   «визуально не изменились», а значит должно совпадать точно. */

.footer-link--info-police-1 {
    font-family: var(--Montserrat);
    border: none;
    background: none;
    line-height: inherit;
}


/* ══════════════════════════════════════════════════════════════════
   T8. Типографика внутри статьи
   ══════════════════════════════════════════════════════════════════
   Ресет темы (Meyer Reset v2.0) гасит заголовки и жирный строкой
   font: inherit, а списки — list-style: none. Восстанавливаем только
   внутри .article__content.

   Размеры взяты из логики существующего дизайна:
   .article__title 40/32/24px, .blog-card__title 24/20/18px,
   текст 18/16/14px. Заголовки статьи встают между ними. */

.article__content h2 {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.3;
    color: #545454;
    margin-top: 40px;
    margin-bottom: 16px;
}

.article__content h3 {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
    color: #545454;
    margin-top: 28px;
    margin-bottom: 12px;
}

/* Первый заголовок не отбивается сверху — сразу под картинкой статьи */
.article__content > h2:first-child,
.article__content > h3:first-child {
    margin-top: 0;
}

.article__content strong,
.article__content b {
    font-weight: 700;
}

/* Заголовки в Gutenberg обёрнуты в <strong>. Пусть держат свой вес,
   а не 700 от правила выше, иначе h2 и h3 сравняются по насыщенности. */
.article__content h2 strong,
.article__content h3 strong,
.article__content h2 b,
.article__content h3 b {
    font-weight: inherit;
}

.article__content em,
.article__content i {
    font-style: italic;
}

/* Списки: ресет снял и маркеры, и отступ */
.article__content ul,
.article__content ol {
    margin: 0 0 20px;
    padding-left: 24px;
}

.article__content ul { list-style: disc outside; }
.article__content ol { list-style: decimal outside; }

.article__content li {
    font-size: 18px;
    line-height: 1.5;
    color: #191919;
    margin-bottom: 8px;
}

.article__content li:last-child {
    margin-bottom: 0;
}

.article__content li > ul,
.article__content li > ol {
    margin: 8px 0 0;
}

@media (max-width: 1023px) {
    .article__content h2 {
        font-size: 24px;
        margin-top: 32px;
        margin-bottom: 14px;
    }
    .article__content h3 {
        font-size: 19px;
        margin-top: 24px;
        margin-bottom: 10px;
    }
    .article__content ul,
    .article__content ol {
        margin-bottom: 16px;
        padding-left: 22px;
    }
    .article__content li {
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 6px;
    }
}

@media (max-width: 767px) {
    .article__content h2 {
        font-size: 20px;
        margin-top: 26px;
        margin-bottom: 12px;
    }
    .article__content h3 {
        font-size: 17px;
        margin-top: 20px;
        margin-bottom: 8px;
    }
    .article__content ul,
    .article__content ol {
        margin-bottom: 12px;
        padding-left: 20px;
    }
    .article__content li {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 6px;
    }
}
