

/* Start:/bitrix/templates/promonews/css/blog.css?179301318746174*/
/* ============================================================
   Статьи медиа: листинг + карточка + страница материала.
   Путь: /local/templates/{ШАБЛОН}/css/blog.css
   Использует общие токены из layout.css.
   ============================================================ */

.bl-page, .bl-detail { font-family: var(--font-b); color: var(--ink); padding: 24px 20px 0; }   /* 254: снизу 0 — до подвала его отступ (56) */

/* хлебные крошки */
.bl-bc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: var(--fs-xs); color: var(--muted); margin-bottom: 22px; }
.bl-bc a { color: var(--muted); text-decoration: none; }
.bl-bc a:hover { color: var(--green-deep); }
.bl-bc span { color: var(--muted); }   /* разделитель «/» — того же цвета, что в каталоге (раньше был почти не виден) */
.bl-bc b { color: var(--ink); font-weight: 600; }

/* шапка листинга */
.bl-head { margin-bottom: 22px; }
.bl-h1 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h1); letter-spacing: var(--ls-tight); margin: 0 0 8px; line-height: var(--lh-tight); }
.bl-head__sub { color: var(--ink-soft); font-size: var(--fs-lead); margin: 0; max-width: 640px; line-height: var(--lh-body); }
.bl-head__sub code { overflow-wrap: anywhere; }   /* версия 245: длинное имя файла в служебном сообщении не выходит за экран */
.bl-h2 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h2); letter-spacing: var(--ls-tight); margin: 0 0 var(--sp-h2-after); line-height: var(--lh-tight); }

/* вкладки по типу материала: Все · Новости · Статьи · Интервью (свойство MATERIAL_TYPE, /blog/?type=) */
.bl-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.bl-tab { font-family: var(--font-d); font-weight: 600; font-size: var(--fs-sm); color: var(--ink-soft); text-decoration: none;
    padding: 10px 14px; margin-bottom: -1px; border-bottom: 2px solid transparent; transition: .15s; }
.bl-tab:hover { color: var(--green-deep); }
.bl-tab.is-active { color: var(--ink); border-bottom-color: var(--btn); }

/* бейдж типа материала (новость / статья / интервью) и пометка «Реклама» у партнёрских материалов (ERID) */
.bl-type { display: inline-block; font-family: var(--font-d); font-weight: 600; font-size: var(--fs-caps); letter-spacing: .04em;
    text-transform: uppercase; color: var(--green-deep); background: rgba(27,106,229,.1); border-radius: 6px; padding: 4px 8px; line-height: 1.2; }
.bl-type--news { color: #8a4b00; background: rgba(240,150,0,.14); }
.bl-type--interview { color: #5a2d8f; background: rgba(120,70,190,.12); }
.bl-type--qa { color: #0b5f4a; background: rgba(20,150,110,.13); }   /* версия 3.4: «Вопрос эксперту» */
.bl-ad-mark { display: inline-block; font-family: var(--font-d); font-weight: 600; font-size: var(--fs-caps); letter-spacing: .04em;
    text-transform: uppercase; color: var(--muted); border: 1px solid var(--line); border-radius: 6px; padding: 3px 7px; line-height: 1.2; }
.bl-card__badges { position: absolute; right: 12px; top: 12px; display: flex; gap: 6px; }
.bl-card__badges .bl-type, .bl-card__badges .bl-ad-mark { background: rgba(255,255,255,.92); }
/* плашка маркировки рекламы над материалом (закон о рекламе): «Реклама · erid: …» */
.bl-erid { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 0 0 18px; padding: 10px 14px; font-size: var(--fs-xs);
    color: var(--ink-soft); background: var(--surface); border: 1px solid var(--line); border-radius: 10px; }
.bl-erid b { font-weight: 600; color: var(--ink); }
.bl-erid code { font-family: inherit; user-select: all; overflow-wrap: anywhere; }

/* чипы рубрик */
.bl-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.bl-chip { font-family: var(--font-d); font-weight: 600; font-size: var(--fs-sm); color: var(--ink-soft);
    background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; text-decoration: none; transition: .15s; }
.bl-chip:hover { border-color: var(--green); color: var(--green-deep); }
.bl-chip.is-active { display: inline-flex; align-items: center; gap: 6px; background: var(--btn); border-color: var(--btn); color: #fff; }
/* версия 249: выбранная метка — цвет кнопок (--btn) с галочкой: «выбрано» видно и без цвета. Была ярко-синей (--green). */
.bl-chip.is-active::before { content: ''; flex: none; width: 12px; height: 12px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }

/* версия 215: книги портала на общей странице блога — карточки с обложкой, по две в ряд (.bl-books, .bl-book; blog/index.php).
   Правила .bl-guide ниже — прежний вид полосой (до 215), оставлены на случай старого blog/index.php */
.bl-books { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; margin-bottom: 28px; }
.bl-book { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 18px; align-items: center; padding: 18px 22px 18px 18px;
    background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); transition: .18s; }
.bl-book:hover { box-shadow: var(--shadow-h); border-color: rgba(27,106,229,.35); }
.bl-book__cover { height: 124px; display: flex; flex-direction: column; justify-content: space-between; padding: 12px 8px 10px 15px;
    border-radius: 6px 10px 10px 6px; color: #fff; font-family: var(--font-d); font-weight: 800; line-height: var(--lh-tight);
    background: linear-gradient(160deg, #1b6ae5, #0b3c84); box-shadow: inset 6px 0 0 rgba(0,0,0,.18), 0 8px 18px rgba(26,43,74,.18); transition: transform .18s; }
.bl-book:nth-child(2n) .bl-book__cover { background: linear-gradient(160deg, #f59e0b, #c2410c); }
.bl-book:nth-child(3n) .bl-book__cover { background: linear-gradient(160deg, #10b981, #047857); }
.bl-book:hover .bl-book__cover { transform: translateY(-2px) rotate(-1.5deg); }
.bl-book__label { font-size: 9px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; opacity: .8; }
.bl-book__title { font-size: var(--fs-ui); line-height: var(--lh-tight); overflow-wrap: anywhere; }
.bl-book__title small { display: block; font-size: 10.5px; margin-top: 2px; }
.bl-book__text { display: grid; gap: 5px; min-width: 0; }
.bl-book__text b { font-family: var(--font-d); font-weight: 800; font-size: var(--fs-read); line-height: var(--lh-head); }
.bl-book__meta { font-size: var(--fs-xs); color: var(--muted); }
.bl-book__note { margin: 0; font-size: var(--fs-sm); line-height: var(--lh-ui); color: var(--ink-soft); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bl-book__more { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); color: var(--green-deep); }
.bl-book__more .ic { transition: transform .2s; }
.bl-book:hover .bl-book__more .ic { transform: translateX(4px); }
@media (max-width: 560px) {
    .bl-books { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .bl-book { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; padding: 14px 16px 14px 14px; }
    .bl-book__cover { height: 104px; padding: 9px 4px 8px 11px; }
    .bl-book__title { font-size: var(--fs-xs); overflow-wrap: normal; }
    .bl-book__title small { font-size: 8.5px; }   /* длинное слово названия помещается в строку обложки, не рвётся */
}
@media (prefers-reduced-motion: reduce) { .bl-book__cover, .bl-book__more .ic { transition: none; } }

/* полоса учебника (/uchebnik/) на общей странице статей — прежний вид до 215 */
.bl-guide { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; margin-bottom: 28px; padding: 18px 22px;
    background: linear-gradient(135deg, #eef3ff 0%, #f5f7fa 70%); border: 1px solid var(--line); border-radius: 18px; text-decoration: none; color: inherit; transition: .18s; }
.bl-guide:hover { box-shadow: var(--shadow-h); border-color: rgba(27,106,229,.35); }
.bl-guide__text { min-width: 0; display: grid; gap: 3px; }
.bl-guide__text b { font-family: var(--font-d); font-weight: 800; font-size: var(--fs-text); }
.bl-guide__text span { color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); }
.bl-guide__more { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); color: var(--green-deep); white-space: nowrap; }
.bl-guide__more .ic { transition: transform .2s; }
.bl-guide:hover .bl-guide__more .ic { transform: translateX(4px); }
@media (max-width: 720px) { .bl-guide { grid-template-columns: auto 1fr; } .bl-guide__more { grid-column: 2; justify-self: start; } }

/* промо-статья */
.bl-feature { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; background: var(--surface);
    border: 1px solid var(--line); border-radius: 20px; overflow: hidden; box-shadow: var(--shadow);
    text-decoration: none; color: inherit; margin-bottom: 36px; transition: .18s; }
.bl-feature:hover { box-shadow: var(--shadow-h); }
/* Обложка промо-статьи не обрезается: картинка всегда 15:8. Когда текст справа выше картинки, поля сверху и снизу
   заполняет её размытая копия (адрес — в переменной --cover, её ставит страница блога); без переменной — ровный фон. */
.bl-feature__img { position: relative; overflow: hidden; background: #eef2f8; display: grid; align-items: center; }
.bl-feature__img::before { content: ''; position: absolute; inset: -30px; background: var(--cover, none) center / cover no-repeat; filter: blur(24px); }
.bl-feature__img img { position: relative; width: 100%; height: auto; aspect-ratio: 15 / 8; object-fit: cover; display: block; }
.bl-feature__img .bl-card__img-ph { position: relative; justify-self: center; padding: 60px 0; }
.bl-feature__body { padding: 32px; display: flex; flex-direction: column; }
.bl-feature__tag { align-self: flex-start; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-caps);
    letter-spacing: .04em; text-transform: uppercase; color: var(--green-deep);
    background: rgba(27,106,229,.1); border-radius: 999px; padding: 5px 12px; margin-bottom: 14px; }
.bl-feature__title { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h3); line-height: var(--lh-head); margin: 0 0 12px; letter-spacing: var(--ls-head); }
.bl-feature__excerpt { color: var(--ink-soft); font-size: var(--fs-ui); line-height: var(--lh-body); margin: 0 0 16px; }
.bl-feature__meta { color: var(--muted); font-size: var(--fs-xs); display: flex; gap: 8px; margin-bottom: 18px; }
.bl-feature__more { margin-top: auto; font-family: var(--font-d); font-weight: 700; color: var(--green-deep); }

/* сетка карточек */
.bl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bl-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
    overflow: hidden; box-shadow: var(--shadow); text-decoration: none; color: inherit;
    display: flex; flex-direction: column; transition: .18s; }
.bl-card:hover { box-shadow: var(--shadow-h); transform: translateY(-3px); }
/* Обложка статьи везде одной пропорции — 15:8 (загружать 1200×640), как баннер компании в списках: карточка,
   промо-статья и страница статьи показывают её целиком. Раньше карточка была 16:10 и срезала края обложки. */
.bl-card__img { position: relative; aspect-ratio: 15 / 8; background: #eef2f8; display: grid; place-items: center; }
.bl-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* обложки нет — значок статьи из набора иконок */
.bl-card__img-ph { display: grid; place-items: center; color: #9fb2d3; font-size: 34px; line-height: 1; }
.bl-card__img-ph .ic { stroke-width: 1.3; }
.bl-card__rubric { position: absolute; left: 12px; top: 12px; font-family: var(--font-d); font-weight: 600;
    font-size: var(--fs-caps); color: var(--ink); background: rgba(255,255,255,.92); border-radius: 8px; padding: 5px 10px; }
.bl-card__body { padding: 18px; display: flex; flex-direction: column; flex: 1 1 auto; }
.bl-card__title { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-text); line-height: var(--lh-head); margin: 0 0 8px; }
.bl-card__excerpt { color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); margin: 0 0 14px; }
.bl-card__meta { margin-top: auto; color: var(--muted); font-size: var(--fs-xs); display: flex; gap: 6px; }

.bl-empty { text-align: center; color: var(--ink-soft); background: var(--surface);
    border: 1px dashed var(--line); border-radius: var(--radius); padding: 48px 24px; }

/* SEO-текст */
/* версия 254: SEO-текст — по стандарту, как на главной (.hm-seo): «текст разделов» 17 px цветом --ink (был 15 px, серый),
   колонка --measure, отступы абзацев, пунктов и подзаголовков из шкалы, ссылки — полупрозрачное подчёркивание */
.bl-seo { color: var(--ink); line-height: var(--lh-read); font-size: var(--fs-text); }
.bl-seo--top { margin-bottom: 24px; }
.bl-seo--bottom { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.bl-seo h2, .bl-seo h3 { font-family: var(--font-d); color: var(--ink); }
.bl-seo h2 { margin: var(--sp-h2-before) 0 var(--sp-h2-after); font-size: var(--fs-h3); line-height: var(--lh-head); letter-spacing: var(--ls-head); font-weight: var(--fw-head); }   /* версия 245: по шкале */
.bl-seo h3 { font-size: var(--fs-h5); line-height: var(--lh-head); letter-spacing: var(--ls-sub); font-weight: var(--fw-sub); }
.bl-seo > * { max-width: var(--measure); }
.bl-seo h3 { margin: var(--sp-h4-before) 0 var(--sp-h4-after); }
.bl-seo p, .bl-seo ul:not([class]), .bl-seo ol:not([class]) { margin: 0 0 var(--sp-p); }
.bl-seo li:not([class]) { margin-bottom: var(--sp-li); }   /* :not([class]) — списки-компоненты (.rt-how__list) не трогаем */
.bl-seo b, .bl-seo strong { color: var(--ink); font-weight: 600; }
.bl-seo a { color: var(--green-deep); font-weight: 400; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: rgba(13, 75, 160, .4); }
.bl-seo a:hover { text-decoration-color: currentColor; }
.bl-seo > :last-child { margin-bottom: 0; }


/* ---------------- ДЕТАЛЬНАЯ СТАТЬЯ ---------------- */
.bl-detail { max-width: 1080px; }

/* прогресс чтения */
.bl-progress { position: sticky; top: var(--st-top, 0px); left: 0; height: 3px; background: transparent; z-index: 40; }
.bl-progress i { display: block; height: 100%; width: 0; background: var(--green); transition: width .1s linear; }

.bl-art__head { margin-bottom: 24px; max-width: 760px; }   /* 254: 24 (было 22) */
.bl-art__rubric { display: inline-block; font-family: var(--font-d); font-weight: 600; font-size: var(--fs-xs);
    color: var(--green-deep); text-decoration: none; margin-bottom: 10px; }
.bl-art__rubric:hover { color: var(--green); }
.bl-art__title { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h1); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); margin: 0 0 16px; }

/* строка автора/даты */
.bl-art__byline { color: var(--muted); font-size: var(--fs-sm); display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.bl-art__avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--btn); color: #fff;
    font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); display: inline-flex; align-items: center; justify-content: center; }
.bl-art__author { color: var(--ink); font-weight: 600; }
.bl-art__byline > span:not(.bl-art__avatar):not(.bl-art__author):not(.bl-art__dot) { position: relative; padding-left: 16px; }
.bl-art__byline > span:not(.bl-art__avatar):not(.bl-art__author):not(.bl-art__dot)::before {
    content: ''; position: absolute; left: 0; top: 50%; width: 3px; height: 3px; border-radius: 50%; background: var(--line); transform: translateY(-50%); }
.bl-art__dot { display: none; }
/* версия 180: у первого пункта строки точки-разделителя нет — иначе у статьи без автора и даты строка начиналась с «· 1 просмотр» */
.bl-art__byline > span:first-child:not(.bl-art__avatar):not(.bl-art__author):not(.bl-art__dot) { padding-left: 0; }
.bl-art__byline > span:first-child:not(.bl-art__avatar):not(.bl-art__author):not(.bl-art__dot)::before { display: none; }

.bl-art__cover { border-radius: 18px; overflow: hidden; margin: 10px 0 30px; max-height: 520px; }
/* версия 178: aspect-ratio 15/8 — пропорции копии обложки (ResizeImageGet 1200×640, EXACT): высота известна до загрузки картинки
   и текст под обложкой не сдвигается (CLS). Исходник меньше 1200×640 остаётся своих пропорций — object-fit: cover
   подрезает его до тех же 15/8, как и у карточек списка */
.bl-art__cover img { width: 100%; height: auto; display: block; aspect-ratio: 15 / 8; object-fit: cover; }

/* двухколоночный макет: статья + «липкая» колонка */
.bl-art__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; }
.bl-art__main { min-width: 0; max-width: 760px; }
.bl-art__aside { position: relative; align-self: stretch; }   /* версия 218: во всю высоту ряда — иначе .bl-aside-sticky не прилипал */
.bl-aside-sticky { position: sticky; top: calc(var(--st-top, 0px) + 24px); display: flex; flex-direction: column; gap: 18px; }

/* оглавление */
.bl-toc { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); }
.bl-toc__title { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); letter-spacing: .02em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.bl-toc__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.bl-toc__item a { display: block; color: var(--ink-soft); text-decoration: none; font-size: var(--fs-sm); line-height: var(--lh-snug);
    padding: 6px 10px; border-left: 2px solid transparent; border-radius: 0 8px 8px 0; transition: .12s; }
.bl-toc__item--h3 a { padding-left: 22px; font-size: var(--fs-xs); color: var(--muted); }
.bl-toc__item a:hover { color: var(--green-deep); background: #f1f5ff; }
.bl-toc__item a.is-active { color: var(--green-deep); border-left-color: var(--btn); background: #f1f5ff; font-weight: 600; }

/* мини-CTA в колонке */
/* версия 222: призыв в колонке — белая карточка, сверху иконка компаса в кружке, текст по центру, кнопка на всю ширину.
   Иконка — псевдоэлемент: разметка призывов глав, идей, терминов и статей блога не меняется */
.bl-aside-cta { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 22px; box-shadow: var(--shadow); text-align: center; }
.bl-aside-cta::before { content: ''; display: block; width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 50%;
    background: #eef3fd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d4ba0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15.6 8.4l-1.9 5.3-5.3 1.9 1.9-5.3 5.3-1.9z'/%3E%3Ccircle fill='%23f59e0b' stroke='none' cx='12' cy='12' r='1.4'/%3E%3C/svg%3E") center / 26px 26px no-repeat; }
.bl-aside-cta__h { font-family: var(--font-d); font-weight: 800; font-size: var(--fs-text); line-height: var(--lh-head); margin-bottom: 6px; color: var(--ink); }
.bl-aside-cta p { margin: 0 0 16px; color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); }
.bl-aside-cta .bl-btn { display: flex; justify-content: center; width: 100%; box-sizing: border-box; white-space: normal; }
.bl-btn--sm { padding: 11px 18px; font-size: var(--fs-sm); }
/* баннер Premium-компании в колонке (include/banner_slot.php, стили .tf-banner — tariffs.css): отступ даёт gap колонки */
.bl-aside-sticky .tf-banner--aside { margin: 0; }

/* автор под статьёй */
.bl-author { display: flex; gap: 14px; align-items: center; background: var(--surface); border: 1px solid var(--line);
    border-radius: var(--radius); padding: 18px 20px; margin: 30px 0; box-shadow: var(--shadow); }
.bl-author__avatar { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; background: var(--btn); color: #fff;
    font-family: var(--font-d); font-weight: 700; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; }
.bl-author__name { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-md); }
.bl-author__role { color: var(--muted); font-size: var(--fs-xs); }
/* автор из справочника «Авторы блога»: фото, пара строк о нём, ссылка на его страницу */
.bl-author { align-items: flex-start; }
.bl-author__avatar--img, .bl-art__avatar--img { object-fit: cover; background: #eef2f8; padding: 0; }
.bl-author__body { min-width: 0; }
.bl-author__name a { color: inherit; text-decoration: none; }
.bl-author__name a:hover { color: var(--green-deep); }
.bl-author__about { color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); margin: 8px 0 0; }
.bl-author__more { display: inline-block; margin-top: 8px; color: var(--green-deep); font-weight: 600; font-size: var(--fs-sm); text-decoration: none; }
a.bl-art__author { text-decoration: none; }
a.bl-art__author:hover { color: var(--green-deep); }

/* шаринг */
.bl-share { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.bl-share--bottom { margin: 26px 0 4px; }
.bl-share__label { color: var(--muted); font-size: var(--fs-sm); margin-right: 4px; }
.bl-share__btn { font-family: var(--font-d); font-weight: 600; font-size: var(--fs-xs); color: var(--ink-soft);
    background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 9px 14px; cursor: pointer; transition: .15s; }
.bl-share__btn:hover { border-color: var(--green); color: var(--green-deep); }

/* версия 238: 18 px вместо 17 — в колонке 812 px строка была 85–90 знаков, стало около 80 */
.bl-art__body { font-size: var(--fs-read); line-height: var(--lh-read); color: var(--ink); }
/* у подзаголовков свой межстрочный интервал: раньше они наследовали 1,75 от текста — строки двухстрочного заголовка расходились */
.bl-art__body h2 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h3); line-height: var(--lh-head); letter-spacing: var(--ls-head); margin: var(--sp-h3-before) 0 var(--sp-h3-after); }
/* версия 237: под h3 — 14 px вместо 10: подзаголовок прилипал к тексту */
/* версия 238→239: h3 22 px (на телефоне 20) — после 18 px текста подзаголовок 21 px почти не отличался от абзаца */
.bl-art__body h3 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h4); line-height: var(--lh-head); margin: var(--sp-h3-before) 0 var(--sp-h3-after); letter-spacing: var(--ls-head); }
/* версия 234: заголовок раздела открывается линией под ним — серая на всю колонку, синий отрезок 64 px в начале
   (вариант 8 «Подчёркивание»; перекликается с синей линией под шапкой таблиц). Только h2 текста без класса:
   служебные заголовки внутри статьи (.gd-def__h «Словарь главы», .cs-cta h2) остаются как были. */
/* версия 237: под линией 26 px вместо 18 (было равно отступу между абзацами, и с учётом межстрочного интервала текст
   стоял к линии ближе, чем абзацы друг к другу), от заголовка до линии 14 px вместо 12 */
.bl-art__body > h2:not([class]) { margin: var(--sp-h2-before) 0 var(--sp-h2-after); }   /* линия — общее правило, layout.css (246) */
.bl-art__body > h2:not([class]):first-child { margin-top: 0; }
@media (max-width: 720px) {
}
.bl-art__body p { margin: 0 0 var(--sp-p); }
.bl-art__body ul, .bl-art__body ol { margin: 0 0 var(--sp-p); padding-left: 22px; }
/* версия 237: 10 px между пунктами вместо 8 — пункты в несколько строк сливались */
.bl-art__body li { margin-bottom: var(--sp-li); }
.bl-art__body img { max-width: 100%; height: auto; border-radius: 12px; margin: 8px 0; }
/* версия 180: таблицы в статьях — как в главах путеводителя (guide.css .gd-body): рамки, шапка на подложке, чередование
   строк, первая колонка полужирная. До 180 таблица была блоком с прокруткой без рамок — на странице читалась как текст
   в четыре колонки. На узком экране — снова прокрутка вбок, не сжимая колонки */
/* версия 237: блоки в рамках (таблица, «Совет», схема, файл, калькулятор) — 28 px сверху и снизу, раньше 18–30 вразнобой */
.bl-art__body table { display: table; width: 100%; max-width: 100%; border-collapse: collapse; margin: var(--sp-block) 0; font-size: var(--fs-ui); line-height: var(--lh-snug); }
.bl-art__body th, .bl-art__body td { border: 1px solid var(--line); padding: 9px 12px; text-align: left; vertical-align: top; }
.bl-art__body th { background: #f1f5ff; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); color: var(--ink); }
.bl-art__body tr:nth-child(even) td { background: #fafbfe; }
.bl-art__body td:first-child { font-weight: 600; }
.bl-art__body td p:last-child, .bl-art__body th p:last-child { margin-bottom: 0; }
@media (max-width: 720px) {
    .bl-art__body table { display: block; overflow-x: auto; white-space: nowrap; font-size: var(--fs-sm); -webkit-overflow-scrolling: touch; }
    .bl-art__body td, .bl-art__body th { white-space: normal; min-width: 140px; }
}
.bl-art__body a { color: var(--green-deep); }
/* версия 222: цитата в тексте — «Совет»: белая карточка, слева жёлтая лампочка на плашке, сверху подпись. Только CSS —
   тексты глав, идей, терминов и статей не меняются (иконка и подпись — псевдоэлементы) */
.bl-art__body blockquote { position: relative; margin: var(--sp-block) 0; padding: 40px 22px 18px 76px; border: 1px solid var(--line); border-radius: 16px;
    background: var(--surface); box-shadow: var(--shadow); color: var(--ink); }
.bl-art__body blockquote::before { content: ''; position: absolute; left: 22px; top: 18px; width: 40px; height: 40px; border-radius: 12px;
    background: #fff6e0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 17v-1.7a6.3 6.3 0 1 1 6 0V17z'/%3E%3Cpath d='M9.8 20.5h4.4'/%3E%3Ccircle fill='%23f59e0b' stroke='none' cx='12' cy='9.8' r='1.9'/%3E%3C/svg%3E") center / 22px 22px no-repeat; }
.bl-art__body blockquote::after { content: 'Совет'; position: absolute; left: 76px; top: 17px; font: 700 var(--fs-caps)/var(--lh-head) var(--font-d);
    letter-spacing: .06em; text-transform: uppercase; color: #b45309; }
.bl-art__body blockquote > :first-child { margin-top: 0; }
.bl-art__body blockquote > :last-child { margin-bottom: 0; }
@media (max-width: 560px) {
    .bl-art__body blockquote { padding: 64px 16px 16px; }
    .bl-art__body blockquote::before { left: 16px; top: 14px; }
    .bl-art__body blockquote::after { left: 66px; top: 26px; }
}
/* версия 238: читаемость текста.
   «Совет» — обычный шрифт текста чуть мельче основного (в главах был шрифт заголовков 600 — несколько предложений
   читались тяжёлым блоком); полужирное внутри остаётся полужирным. */
.bl-art__body blockquote { font-size: var(--fs-text); line-height: var(--lh-read); }
.bl-art__body blockquote :is(b, strong) { font-weight: 700; }
/* Ссылки в тексте: тонкая линия с отступом от букв (стандартная браузерная — толстая, вплотную, режет «р», «у», «д»),
   при наведении — сплошная. Только ссылки без класса внутри абзацев, списков, таблиц: кнопки и карточки не трогаем. */
.bl-art__body :is(p, li, td, th) a:not([class]) { text-decoration-line: underline; text-decoration-thickness: 1px;
    text-underline-offset: .2em; text-decoration-color: rgba(13, 75, 160, .4); transition: text-decoration-color .15s; }
.bl-art__body :is(p, li, td, th) a:not([class]):hover { text-decoration-color: currentColor; }
/* Без одиноких коротких слов на последней строке абзаца; двухстрочные заголовки — строками примерно равной длины.
   Браузеры без поддержки просто игнорируют. */
.bl-art__body :is(p, li, blockquote) { text-wrap: pretty; }
.bl-art__body :is(h2, h3) { text-wrap: balance; }
/* Цифры одной ширины в таблицах — суммы и проценты в столбце стоят друг под другом */
.bl-art__body table { font-variant-numeric: tabular-nums; }
/* На телефоне — переносы по слогам (lang="ru" у страницы): без них длинные слова оставляли в строках дыры.
   Не короче 6 букв и не меньше 3 букв на строке, где браузер это поддерживает. */
@media (max-width: 560px) {
    .bl-art__body :is(p, li, blockquote) { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 6 3 3; }
}
/* версия 239: таблица шире экрана прокручивается вбок — тень у края, за которым ещё есть столбцы. Обёртку .bl-tscroll
   ставит js/ux.js и он же переключает is-more (справа есть ещё) и is-moved (таблицу уже сдвинули — тень слева). */
.bl-tscroll { position: relative; }
.bl-tscroll::before, .bl-tscroll::after { content: ''; position: absolute; top: 1px; bottom: 1px; width: 32px; z-index: 1;
    pointer-events: none; opacity: 0; transition: opacity .2s; }
.bl-tscroll::after { right: 0; border-radius: 0 13px 13px 0; background: linear-gradient(to left, rgba(26, 43, 74, .16), rgba(26, 43, 74, 0)); }
.bl-tscroll::before { left: 0; border-radius: 13px 0 0 13px; background: linear-gradient(to right, rgba(26, 43, 74, .16), rgba(26, 43, 74, 0)); }
.bl-tscroll.is-more::after, .bl-tscroll.is-moved::before { opacity: 1; }

.bl-art__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0; }
.bl-tag { font-size: var(--fs-xs); color: var(--ink-soft); background: var(--bg); border: 1px solid var(--line); border-radius: 8px; padding: 6px 12px; }
/* тег-ссылка: под статьёй и на странице всех тегов (/blog/tags/) */
.bl-tag--link { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; overflow-wrap: anywhere; text-decoration: none; transition: border-color .15s ease, color .15s ease; }
.bl-tag--link:hover { border-color: var(--green); color: var(--green-deep); }
.bl-tag--link i { font-style: normal; font-size: var(--fs-caps); color: var(--muted); background: var(--surface); border-radius: 999px; padding: 1px 7px; }
.bl-tagcloud { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.bl-tagcloud .bl-tag { font-size: var(--fs-ui); padding: 9px 14px; background: var(--surface); }
.bl-chip--tags { margin-left: auto; border-style: dashed; }
.bl-head__sub a { color: var(--green-deep); }

/* --- связь с каталогом: специализации каталога компаний у статьи (App\Site\BlogCategories) --- */
.bl-art__cats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 30px; }
.bl-art__cats-label { font-size: var(--fs-sm); color: var(--muted); margin-right: 4px; }
.bl-cat { display: inline-flex; align-items: center; font-family: var(--font-d); font-weight: 600; font-size: var(--fs-sm);
  color: var(--green-deep); background: var(--surface); border: 1px solid var(--green); border-radius: 999px;
  padding: 7px 14px; text-decoration: none; transition: background .15s ease, color .15s ease; }
.bl-cat:hover { background: var(--btn); color: #fff; }   /* 251: было --green */
/* блок «Компании по теме» на странице статьи (карточки — agency_card из home.css) */
.bl-theme { margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--line); }
.bl-theme__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bl-theme__all { color: var(--green-deep); font-weight: 600; text-decoration: none; white-space: nowrap; }
.bl-theme__all:hover { color: var(--green); }
/* панель темы на /blog/?category= */
.bl-theme-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: -8px 0 22px; padding: 12px 16px;
  background: var(--surface); border: 1px solid var(--line); border-radius: 12px; font-size: var(--fs-ui); }
.bl-theme-bar__label { color: var(--muted); }
.bl-theme-bar__name { font-family: var(--font-d); }
.bl-theme-bar__link { color: var(--green-deep); font-weight: 600; text-decoration: none; }
.bl-theme-bar__link:hover { color: var(--green); }
.bl-theme-bar__reset { margin-left: auto; color: var(--ink-soft); font-size: var(--fs-sm); }

.bl-art__cta { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap;
    position: relative; overflow: hidden; color: #fff; background: linear-gradient(120deg, #0b3c84 0%, #0d4ba0 50%, #1b6ae5 100%);
    border-radius: 20px; padding: 28px 30px; margin: 34px 0; box-shadow: 0 14px 34px rgba(13, 75, 160, .22); }
/* версия 215: синяя плашка (была светло-голубая) — тёплое пятно справа, иконка на полупрозрачной плашке, кнопка белая */
.bl-art__cta::after { content: ''; position: absolute; right: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 200, 87, .35), transparent 65%); pointer-events: none; }
.bl-art__cta-ic { flex: none; width: 56px; height: 56px; border-radius: 16px; background: rgba(255, 255, 255, .14); display: grid; place-items: center; color: #fff; }
.bl-art__cta-ic .ic { --ic-accent: #ffc857; }
.bl-art__cta-t { flex: 1 1 260px; min-width: 0; }
.bl-art__cta-h { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h4); line-height: var(--lh-head); margin-bottom: 4px; color: #fff; letter-spacing: var(--ls-head); }
.bl-art__cta p { margin: 0; color: rgba(255, 255, 255, .85); font-size: var(--fs-ui); }
.bl-art__cta .bl-btn { position: relative; z-index: 1; background: #fff; color: var(--green-deep); }
.bl-art__cta .bl-btn:hover { background: #eef3fd; color: var(--green-deep); }
.bl-art__cta .bl-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
/* версия 223 (аудит 222, п. 1.12): длинное «Компании: {категория}» переносится, а не срезается краем плашки (overflow: hidden) */
.bl-art__cta .bl-btn { white-space: normal; max-width: 100%; box-sizing: border-box; text-align: center; line-height: var(--lh-snug); }
.bl-btn { display: inline-flex; align-items: center; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-ui);
    background: var(--btn); color: #fff; border-radius: 12px; padding: 14px 24px; text-decoration: none; white-space: nowrap; transition: .15s; }
.bl-btn:hover { background: var(--btn-deep); }

.bl-related { margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--line); }

/* пагинация bitrix (шаблон system.pagenavigation «modern») — лёгкая стилизация */
.bl-page .modern-page-navigation { margin-top: 32px; display: flex; gap: 6px; flex-wrap: wrap; }
.bl-page .modern-page-navigation a,
.bl-page .modern-page-navigation span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px;
    border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); text-decoration: none; font-weight: 600; font-size: var(--fs-sm); }
.bl-page .modern-page-navigation a:hover { border-color: var(--green); color: var(--green-deep); }
.bl-page .modern-page-navigation .modern-page-current { background: var(--btn); border-color: var(--btn); color: #fff; }   /* 251: было --green */

/* ---------------- АДАПТИВ ---------------- */
@media (max-width: 920px) {
    .bl-grid { grid-template-columns: repeat(2, 1fr); }
    .bl-feature { grid-template-columns: 1fr; }
    .bl-art__layout { grid-template-columns: 1fr; gap: 0; }
    .bl-art__aside { order: -1; margin-bottom: 24px; }
    .bl-aside-sticky { position: static; }
    .bl-aside-cta, .bl-aside-sticky .tf-banner { display: none; }   /* в потоке остаётся только оглавление */
    .bl-toc { background: var(--bg); box-shadow: none; }
}
@media (max-width: 560px) {
    .bl-page, .bl-detail { padding: 20px 16px 0; }
    .bl-grid { grid-template-columns: 1fr; }
    .bl-feature__body { padding: 22px; }
    .bl-art__cta { flex-direction: column; align-items: flex-start; padding: 24px 22px; }
    .bl-art__cta-t { flex: none; }
    .bl-art__cta .bl-btn { width: 100%; justify-content: center; }   /* версия 223 */
}

/* ============================================================
   АВТОРЫ БЛОГА (/blog/authors/): список авторов и страница автора.
   ============================================================ */
.bl-chip--authors { border-style: dashed; }
.bl-chip--tags + .bl-chip--authors { margin-left: 0; }
.bl-chips > .bl-chip--authors:not(.bl-chip--tags ~ .bl-chip--authors) { margin-left: auto; }   /* тегов нет — «Авторы» сами уходят вправо */
/* список авторов */
.bl-people { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: 18px; }
.bl-people__card { display: flex; gap: 16px; align-items: flex-start; height: 100%; box-sizing: border-box; background: var(--surface); border: 1px solid var(--line);
    border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); transition: transform .15s ease, box-shadow .15s ease; }
.bl-people__card:hover { transform: translateY(-3px); box-shadow: var(--shadow-h); }
.bl-people__photo { flex: 0 0 72px; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; background: #eef2f8; }
.bl-people__photo--ph { display: grid; place-items: center; font-family: var(--font-d); font-weight: 800; font-size: 28px; color: var(--green-deep); }
.bl-people__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bl-people__name { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-read); line-height: var(--lh-head); }
.bl-people__role { color: var(--muted); font-size: var(--fs-sm); line-height: var(--lh-snug); }
.bl-people__about { color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); margin-top: 4px;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.bl-people__count { margin-top: 8px; color: var(--green-deep); font-weight: 600; font-size: var(--fs-sm); }
/* страница автора */
.bl-person { display: flex; gap: 28px; align-items: flex-start; background: var(--surface); border: 1px solid var(--line); border-radius: 20px;
    padding: 32px; box-shadow: var(--shadow); margin-bottom: 36px; }
.bl-person__photo { flex: 0 0 160px; width: 160px; height: 160px; border-radius: 50%; object-fit: cover; background: #eef2f8; }
.bl-person__photo--ph { display: grid; place-items: center; font-family: var(--font-d); font-weight: 800; font-size: 60px; color: var(--green-deep); }
.bl-person__body { min-width: 0; }
.bl-person__name { margin-bottom: 6px; }
.bl-person__role { color: var(--green-deep); font-family: var(--font-d); font-weight: 600; font-size: var(--fs-md); margin: 0 0 12px; }
.bl-person__about { color: var(--ink-soft); font-size: var(--fs-text); line-height: var(--lh-body); margin: 0; max-width: 720px; }
.bl-person__links { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bl-person__links a { display: inline-block; font-weight: 600; font-size: var(--fs-sm); color: var(--ink); background: var(--bg); border: 1px solid var(--line);
    border-radius: 999px; padding: 7px 14px; text-decoration: none; overflow-wrap: anywhere; transition: border-color .15s ease, color .15s ease; }
.bl-person__links a:hover { border-color: var(--green); color: var(--green-deep); }
.bl-person__bio { max-width: 820px; margin-bottom: 40px; font-size: var(--fs-md); }
.bl-person__bio img { max-width: 100%; height: auto; }
.bl-person__bio a { color: var(--green-deep); }
.bl-person__count { font-weight: 600; font-size: .6em; color: var(--muted); vertical-align: middle; margin-left: 6px; }
.bl-person__all { margin: 32px 0 0; }
.bl-person__all a { color: var(--green-deep); font-weight: 600; text-decoration: none; }
@media (max-width: 720px) {
    .bl-person { flex-direction: column; gap: 18px; padding: 22px; }
    .bl-person__photo { flex-basis: auto; width: 112px; height: 112px; }
    .bl-person__photo--ph { font-size: 42px; }
    .bl-person__about { font-size: 16px; }
}

/* ---- Рубрика «Вопрос эксперту» (версия 3.4): карточка эксперта и форма вопроса ---- */
.bl-expert { display: flex; gap: 16px; align-items: flex-start; margin: 26px 0; padding: 16px 18px; border: 1px solid var(--line, #e3e6ea); border-radius: 14px; background: var(--card, #fff); }
.bl-expert__logo { width: 56px; height: 56px; object-fit: contain; border-radius: 10px; background: #fff; flex: none; }
.bl-expert__label { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted, #6b7280); }
.bl-expert__name { font-weight: 600; font-size: var(--fs-lg, 18px); margin: 2px 0 4px; }
.bl-expert__name a { color: inherit; text-decoration: none; }
.bl-expert__name a:hover { text-decoration: underline; }
.bl-expert__brief { margin: 0 0 6px; color: var(--muted, #6b7280); font-size: var(--fs-sm, 14px); }
.bl-expert__more { font-size: var(--fs-sm, 14px); }
.bl-ask { margin: 26px 0; }
.bl-ask__head { margin-bottom: 14px; }
.bl-ask .svc-h2 { margin-top: 0; }
.bl-ask textarea.svc-input { resize: vertical; min-height: 96px; }
.bl-tabs .bl-tab[href*="type=qa"] { font-weight: 600; }

/* End */
/* /bitrix/templates/promonews/css/blog.css?179301318746174 */
