/* =========================================================
   CLS — Блог. Подключается только на страницах блога.
   Цвета и шрифты — из темы сайта (Geologica для заголовков, Inter Tight для текста).
   Ритм текста статьи:
   — строка ≈ 65–75 знаков: колонка 700 px при 18 px;
   — межстрочный 1.7, между абзацами 1 строка;
   — над H2 ≈ 3 строки, под ним ≈ 0,8: заголовок «прилипает» к своему тексту, а не к предыдущему;
   — картинки, таблицы, врезки отделены 1,8 строки сверху и снизу.
   ========================================================= */
:where(.clsb, .clsb-callout, .clsb-cta, .clsb-faq) {
  --clsb-ink: var(--cls-color-dark-blue, #060e26);
  --clsb-text: #2b3040;
  --clsb-muted: var(--cls-color-gray, #434859);
  --clsb-muted-2: #6c707b; /* серый темы #83868f, чуть темнее: контраст мелкого текста 4,95:1 (норма — 4,5:1) */
  --clsb-blue: var(--cls-color-blue, #1645d9);
  --clsb-red: var(--cls-color-red, #d01c1f);
  --clsb-light: var(--cls-color-light-blue, #f2f4fa);
  --clsb-gray: var(--cls-color-gray-light, #f5f6fa);
  --clsb-line: #e3e6ef;
  --clsb-green: var(--cls-color-green, #10a215);
  --clsb-green-l: var(--cls-color-light-green, #edfced);
  --clsb-red-l: var(--cls-color-light-red, #fceded);
  --clsb-orange: var(--cls-color-orange, #ffb919);
  --clsb-fh: "Geologica", system-ui, sans-serif;
  --clsb-f: "Inter Tight", system-ui, sans-serif;
  --clsb-ease: cubic-bezier(.16, 1, .3, 1);
  --clsb-sh: 0 1px 2px rgba(6, 14, 38, .04), 0 10px 30px rgba(6, 14, 38, .06);
  --clsb-sh-h: 0 2px 6px rgba(6, 14, 38, .05), 0 20px 44px rgba(6, 14, 38, .1);
  color: var(--clsb-text);
}
.clsb *, .clsb *::before, .clsb *::after { box-sizing: border-box; }
/* ширина контента = ширина шапки сайта: контейнер темы 80.25rem и те же поля, что у шапки (outer + inner) */
.clsb { --clsb-pad: 2rem; } /* как у шапки: .header (0.75rem) + .header__outer (1.25rem); в теме до 1280px — 0 + 1rem */
@media (max-width: 1280px) { .clsb { --clsb-pad: 1rem; } }
.clsb .clsb-wrap { max-width: calc(80.25rem + 2 * var(--clsb-pad)); padding-left: var(--clsb-pad); padding-right: var(--clsb-pad); }
.clsb .clsb-i { width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; }
.clsb .clsb-i--b { fill: currentColor; stroke: none; }

/* навигационная цепочка: Главная › Блог › Рубрика */
.clsb-crumbs { padding-top: 1.5rem; }
.clsb-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 0; margin: 0; padding: 0; list-style: none; font: 400 .875rem/1.3 var(--clsb-f); color: var(--clsb-muted-2); }
.clsb-crumbs li { display: inline-flex; align-items: center; }
.clsb-crumbs__sep { width: .875rem; height: .875rem; margin: 0 .375rem; color: #b7bccb; flex: none; }
.clsb-crumbs a { position: relative; color: var(--clsb-muted-2); text-decoration: none; transition: color .2s; }
.clsb-crumbs a::after { content: ""; position: absolute; inset: -10px -4px; } /* зона нажатия на телефоне */
.clsb-crumbs a:hover { color: var(--clsb-blue); }
.clsb-crumbs [aria-current] { color: var(--clsb-ink); }

/* ---------- список ---------- */
.clsb-head { margin-top: 1.25rem; }
.clsb-head__title { margin: 0; font: 700 2.25rem/1.1 var(--clsb-fh); letter-spacing: -.01em; color: var(--clsb-ink); }
.clsb-head__page { font-weight: 500; color: var(--clsb-muted-2); }
.clsb-head__lead { max-width: 46rem; margin: 1rem 0 0; font: 400 1.0625rem/1.55 var(--clsb-f); color: var(--clsb-muted); text-wrap: pretty; }

.clsb-chips { display: flex; gap: .5rem; overflow-x: auto; margin: 1.75rem calc(-1 * var(--clsb-pad)) 0; padding: 2px var(--clsb-pad); scrollbar-width: none; }
.clsb-chips::-webkit-scrollbar { display: none; }
.clsb-chip { flex: none; display: inline-flex; align-items: center; height: 2.5rem; padding: 0 1.125rem; border-radius: .75rem; background: var(--clsb-light); font: 500 .9375rem/1 var(--clsb-f); color: var(--clsb-ink); text-decoration: none; white-space: nowrap; transition: background-color .2s, color .2s; }
.clsb-chip:hover { background: #e6eaf7; }
.clsb-chip.is-on { background: var(--clsb-blue); color: #fff; }

.clsb-grid { display: grid; gap: 1rem; margin-top: 1.75rem; }
.clsb-card { display: flex; min-width: 0; }
.clsb-card__link { display: flex; flex-direction: column; width: 100%; overflow: hidden; border-radius: 1.5rem; background: #fff; box-shadow: var(--clsb-sh); color: var(--clsb-ink); text-decoration: none; transition: transform .35s var(--clsb-ease), box-shadow .35s var(--clsb-ease); }
.clsb-card__link:hover { transform: translateY(-3px); box-shadow: var(--clsb-sh-h); }
.clsb-card__img { position: relative; display: block; aspect-ratio: 1200 / 630; overflow: hidden; background: var(--clsb-light); }
.clsb-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--clsb-ease); }
.clsb-card__link:hover .clsb-card__img img { transform: scale(1.03); }
.clsb-card__ph { position: absolute; inset: 0; display: grid; place-items: center; background: linear-gradient(135deg, #e9eefc, var(--clsb-light)); }
.clsb-card__ph img { width: 30%; height: auto; opacity: .35; object-fit: contain; }
.clsb-card__body { display: flex; flex: 1; flex-direction: column; gap: .625rem; padding: 1.125rem 1.25rem 1.125rem; }
.clsb-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem .75rem; font: 400 .8125rem/1.2 var(--clsb-f); color: var(--clsb-muted-2); }
.clsb-card__rubric { padding: .3125rem .625rem; border-radius: .5rem; background: var(--clsb-light); font-weight: 500; color: var(--clsb-blue); }
.clsb-card__title { margin: 0; font: 600 1.1875rem/1.28 var(--clsb-fh); letter-spacing: -.01em; color: var(--clsb-ink); text-wrap: balance; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.clsb-card__excerpt { font: 400 .9375rem/1.5 var(--clsb-f); color: var(--clsb-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.clsb-card__more { display: flex; align-items: center; gap: .375rem; margin-top: auto; padding-top: .5rem; font: 500 .9375rem/1 var(--clsb-f); color: var(--clsb-blue); }
.clsb-card__more .clsb-i { margin-left: auto; width: 2rem; height: 2rem; padding: .4375rem; border-radius: 50%; background: var(--clsb-light); transition: transform .3s var(--clsb-ease), background-color .25s, color .25s; }
.clsb-card__link:hover .clsb-card__more .clsb-i { background: var(--clsb-blue); color: #fff; transform: translateX(2px); }
.clsb-empty { padding: 3rem 0; text-align: center; color: var(--clsb-muted); }

.clsb-pager { display: flex; justify-content: center; align-items: center; gap: .375rem; margin-top: 2.5rem; }
.clsb-pager__num, .clsb-pager__btn { display: grid; place-items: center; min-width: 2.75rem; height: 2.75rem; padding: 0 .375rem; border-radius: .75rem; font: 500 1rem/1 var(--clsb-f); color: var(--clsb-ink); text-decoration: none; transition: background-color .2s; }
.clsb-pager__num:hover, .clsb-pager__btn:hover { background: var(--clsb-light); }
.clsb-pager__num.is-current { background: var(--clsb-blue); color: #fff; }
.clsb-pager__btn { background: var(--clsb-light); color: var(--clsb-blue); font-size: 1.125rem; }
.clsb-pager__gap { color: var(--clsb-muted-2); }

/* ---------- призыв ---------- */
.clsb-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; padding: 1.5rem; border-radius: 1.5rem; background: var(--clsb-light); }
.clsb-cta__text p { margin: 0; font: 400 1rem/1.5 var(--clsb-f); color: var(--clsb-muted); }
.clsb-cta__text .clsb-cta__title { margin-bottom: .5rem; font: 600 1.375rem/1.2 var(--clsb-fh); letter-spacing: -.01em; color: var(--clsb-ink); }
.clsb-cta__btn { flex: none; }

/* блок «Оставить заявку на консультацию»: разметка, форма и кнопка — как на главной (стили и поведение темы) */
/* блок с формой — по ширине контента (как шапка), компактнее, чем на главной */
.clsb-page .clsb-bnform { margin-top: 3rem; padding-left: var(--clsb-pad); padding-right: var(--clsb-pad); }
.clsb-page .clsb-bnform .block-bnform__outer { max-width: 80.25rem; margin: 0 auto; padding: 0; }
.clsb-page .clsb-bnform .container { padding: 0 1.25rem; }
@media (min-width: 1281px) {
  .clsb-page .clsb-bnform { margin-top: 4.5rem; }
  .clsb-page .clsb-bnform .container { padding: 0 3.5rem; }
  .clsb-page .clsb-bnform .block-bnform__inner { padding: 4.5rem 0; min-height: 24rem; }
  .clsb-page .clsb-bnform .block-bnform__backg-media { height: 27rem; }
  .clsb-page .clsb-bnform .block-bnform__title, .clsb-page .clsb-bnform .block-bnform__desc { width: 72%; } /* блок уже, чем на главной: заголовок — в одну строку */
}

/* ---------- статья: шапка ---------- */
.clsb-progress { position: fixed; left: 0; right: 0; top: 0; z-index: 1000; height: 3px; pointer-events: none; }
.clsb-progress span { display: block; height: 100%; background: var(--cls-color-red, #d01c1f); transform: scaleX(0); transform-origin: 0 50%; }
.admin-bar .clsb-progress { top: 46px; }
@media (min-width: 783px) { .admin-bar .clsb-progress { top: 32px; } }

.clsb-post__head { margin-top: 1.25rem; }
.clsb-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; font: 400 .875rem/1.3 var(--clsb-f); color: var(--clsb-muted-2); }
.clsb-meta > span { display: inline-flex; align-items: center; gap: .375rem; }
.clsb-meta .clsb-i { font-size: 1rem; }
.clsb-meta__rubric { padding: .375rem .75rem; border-radius: .625rem; background: var(--clsb-light); font-weight: 500; color: var(--clsb-blue); text-decoration: none; }
.clsb-post__title { margin: 1rem 0 0; font: 700 1.875rem/1.15 var(--clsb-fh); letter-spacing: -.015em; color: var(--clsb-ink); text-wrap: balance; }
.clsb-post__lead { margin: 1rem 0 0; font: 400 1.125rem/1.55 var(--clsb-f); color: var(--clsb-muted); text-wrap: pretty; }
.clsb-author { display: flex; align-items: center; gap: .75rem; }
.clsb-author--top { margin-top: 1.25rem; }
.clsb-author__ava { flex: none; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; background: var(--clsb-light); }
.clsb-author__ava--logo { display: grid; place-items: center; background: var(--clsb-light); }
.clsb-author__ava--logo img { width: 62%; height: auto; }
.clsb-author__txt { display: flex; flex-direction: column; gap: .125rem; font: 400 .875rem/1.4 var(--clsb-f); color: var(--clsb-muted-2); }
.clsb-author__txt b, .clsb-author__name { font-weight: 600; font-size: .9375rem; color: var(--clsb-ink); text-decoration: none; }
.clsb-author__name:hover { color: var(--clsb-blue); }
.clsb-author--bottom { scroll-margin-top: 1.5rem; }
.clsb-cover { margin: 1.5rem 0 0; }
.clsb-cover img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; border-radius: 1.5rem; background: var(--clsb-light); }
.clsb-cover figcaption, .clsb-prose figcaption, .clsb-prose .gb-block-image__under { margin-top: .625rem; font: 400 .875rem/1.45 var(--clsb-f); color: var(--clsb-muted-2); text-align: left; }

/* ---------- статья: колонки ---------- */
/* статья: одна колонка фиксированной ширины (760px) — шапка статьи, картинка, текст и всё внутри; ничто не шире */
.clsb-layout { --clsb-col: 47.5rem; margin-top: 0; }
.clsb-post__head, .clsb-cover, .clsb-side, .clsb-prose { max-width: var(--clsb-col); }
.clsb-side { margin-top: 1.75rem; margin-bottom: 2rem; }
.clsb-toc { display: flex; flex-direction: column; min-height: 0; border-radius: 1.25rem; background: var(--clsb-gray); }
.clsb-toc__title { display: flex; align-items: center; gap: .5rem; width: 100%; margin: 0; padding: 1rem 1.125rem; border: 0; border-radius: 1.25rem; background: none; font: 600 1rem/1.2 var(--clsb-fh); color: var(--clsb-ink); text-align: left; cursor: pointer; }
.clsb-toc__title:focus-visible { outline: 2px solid var(--clsb-blue); outline-offset: -2px; }
.clsb-toc__count { display: grid; place-items: center; min-width: 1.5rem; height: 1.5rem; padding: 0 .375rem; border-radius: .5rem; background: #fff; font: 600 .75rem/1 var(--clsb-fh); color: var(--clsb-muted-2); }
.clsb-toc__title .clsb-i { margin-left: auto; color: var(--clsb-blue); transition: transform .3s var(--clsb-ease); }
.clsb-toc.is-open .clsb-toc__title .clsb-i { transform: rotate(180deg); }
.clsb-toc:not(.is-open) .clsb-toc__list { display: none; }
.clsb-toc__list { position: relative; display: flex; flex-direction: column; gap: 2px; min-height: 0; margin: 0; padding: 0 .5rem .75rem; list-style: none; counter-reset: toc;
  overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #cfd4e4 transparent; }
.clsb-toc__list::-webkit-scrollbar { width: 6px; }
.clsb-toc__list::-webkit-scrollbar-thumb { border-radius: 3px; background: #cfd4e4; }
/* если пункты не помещаются — края списка растворяются: видно, что дальше есть ещё */
.clsb-toc__list.is-scroll { --ft: 20px; --fb: 28px; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ft), #000 calc(100% - var(--fb)), transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ft), #000 calc(100% - var(--fb)), transparent 100%); }
.clsb-toc__list.is-scroll.at-top { --ft: 0px; }
.clsb-toc__list.is-scroll.at-bottom { --fb: 0px; }
.clsb-toc__list a { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); column-gap: .375rem; align-items: baseline; padding: .5rem .625rem; border-radius: .625rem; font: 400 .9375rem/1.4 var(--clsb-f); color: var(--clsb-muted); text-decoration: none; transition: background-color .2s, color .2s; }
.clsb-toc__list a::before { counter-increment: toc; content: counter(toc, decimal-leading-zero); font: 600 .75rem/1 var(--clsb-fh); font-variant-numeric: tabular-nums; color: #a7adc2; }
.clsb-toc__list a:hover { background: #fff; color: var(--clsb-ink); }
.clsb-toc__list a.is-active { background: #fff; color: var(--clsb-ink); font-weight: 500; }
.clsb-toc__list a.is-active::before, .clsb-toc__list a:hover::before { color: var(--clsb-blue); }
.clsb-share { display: none; }
.clsb-share__label { font: 500 .875rem/1 var(--clsb-f); color: var(--clsb-muted-2); }
.clsb-share__btn { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 0; border-radius: 50%; background: var(--clsb-light); color: var(--clsb-blue); cursor: pointer; transition: background-color .2s, transform .2s var(--clsb-ease); }
.clsb-share__btn:hover { transform: translateY(-2px); background: #e6eaf7; }
.clsb-share__btn .clsb-i { width: 1.125rem; height: 1.125rem; }
.clsb-share__btn.is-done { background: var(--clsb-green); color: #fff; }

/* ---------- статья: текст ---------- */
.clsb-prose { min-width: 0; font: 400 1.0625rem/1.68 var(--clsb-f); color: var(--clsb-text); }
.clsb-prose > * { margin-top: 0; margin-bottom: 0; }
.clsb-prose > * + * { margin-top: 1.05em; }
.clsb-prose h2 { margin-top: 2.25em; font: 600 1.5rem/1.22 var(--clsb-fh); letter-spacing: -.012em; color: var(--clsb-ink); text-wrap: balance; scroll-margin-top: 1.25rem; }
.clsb-prose h3 { margin-top: 1.75em; font: 600 1.25rem/1.3 var(--clsb-fh); letter-spacing: -.01em; color: var(--clsb-ink); scroll-margin-top: 1.25rem; }
.clsb-prose h4 { margin-top: 1.6em; font: 600 1.0625rem/1.35 var(--clsb-fh); color: var(--clsb-ink); }
.clsb .clsb-prose > h2 { margin-top: 2.25em; }
.clsb .clsb-prose > h3 { margin-top: 1.75em; }
.clsb-prose h2 + *, .clsb-prose h3 + *, .clsb-prose h4 + * { margin-top: .75em; }
.clsb-prose > :first-child { margin-top: 0; }
.clsb-prose p { margin-bottom: 0; }
.clsb-prose a { color: var(--clsb-blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.clsb-prose a:hover { text-decoration-thickness: 2px; }
.clsb-prose b, .clsb-prose strong { font-weight: 600; color: var(--clsb-ink); }
.clsb-prose ul, .clsb-prose ol { display: flex; flex-direction: column; gap: .5em; margin-left: 0; padding-left: 0; list-style: none; }
.clsb-prose li { position: relative; margin: 0; }
.clsb-prose ul > li { padding-left: 1.5em; }
.clsb-prose ul > li::before { content: ""; position: absolute; left: .35em; top: .72em; width: .4em; height: .4em; border-radius: 50%; background: var(--clsb-blue); }
.clsb-prose ol { counter-reset: ol; }
.clsb-prose ol > li { padding-left: 2.25em; counter-increment: ol; }
.clsb-prose ol > li::before { content: counter(ol); position: absolute; left: 0; top: .1em; display: grid; place-items: center; width: 1.6em; height: 1.6em; border-radius: 50%; background: var(--clsb-light); font: 600 .8125em/1 var(--clsb-fh); color: var(--clsb-blue); }
.clsb-prose li > ul, .clsb-prose li > ol { margin-top: .5em; }

/* картинки, таблицы, врезки — с воздухом */
.clsb-prose > figure, .clsb-prose > .wp-block-image, .clsb-prose > .gb-block-image, .clsb-prose > .wp-block-table, .clsb-prose > .clsb-callout,
.clsb-prose > .clsb-cta, .clsb-prose > blockquote, .clsb-prose > .clsb-faq { margin-top: 1.8em; }
.clsb-prose > figure + *, .clsb-prose > .wp-block-image + *, .clsb-prose > .gb-block-image + *, .clsb-prose > .wp-block-table + *, .clsb-prose > .clsb-callout + *,
.clsb-prose > .clsb-cta + *, .clsb-prose > blockquote + * { margin-top: 1.8em; }
.clsb-prose figure { margin-left: 0; margin-right: 0; }
.clsb-zoom { display: block; cursor: zoom-in; text-decoration: none; }
.clsb-prose img { max-width: 100%; height: auto; border-radius: 1.25rem; }
.clsb-prose .gb-block-image__media { overflow: hidden; border-radius: 1.25rem; }
.clsb-prose .gb-block-image__image { display: block; width: 100%; height: auto; border-radius: 0; }

/* таблицы — в стиле таблиц сайта (рамка, «зебра»), но с прокруткой на телефоне и выделенной шапкой */
.clsb-prose .wp-block-table { overflow-x: auto; }
.clsb-prose table { min-width: 30rem; font-size: .9375rem; line-height: 1.45; }
.clsb-prose thead th, .clsb-prose thead td { padding: .75rem 1rem; background: var(--clsb-light); text-align: left; vertical-align: bottom; font-weight: 600; color: var(--clsb-ink); border: 0; }
.clsb-prose tbody td, .clsb-prose tbody th { padding: .75rem 1rem; border: 0; vertical-align: top; text-align: left; }
.clsb-prose thead + tbody tr:nth-child(odd) { background: #fff; }
.clsb-prose thead + tbody tr:nth-child(even) { background: #f8f9fc; }
.clsb-prose .wp-block-table figcaption { padding: 0 1rem .75rem; }

.clsb-prose blockquote { position: relative; margin-left: 0; margin-right: 0; padding: 1.25rem 1.25rem 1.25rem 1.5rem; border-left: 4px solid var(--clsb-orange); border-radius: 0 1.25rem 1.25rem 0; background: #fff8e8; }
.clsb-prose blockquote p { font: 500 1.125rem/1.5 var(--clsb-f); color: var(--clsb-ink); }
.clsb-prose blockquote cite { display: block; margin-top: .5rem; font: 400 .875rem/1.4 var(--clsb-f); font-style: normal; color: var(--clsb-muted-2); }

/* врезка «Совет / Важно / Запомнить» */
.clsb-callout { display: flex; gap: .875rem; padding: 1.125rem 1.25rem; border-radius: 1.25rem; background: var(--clsb-green-l); }
.clsb-callout__ico { display: grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; border-radius: .75rem; background: #fff; color: var(--clsb-green); font-size: 1.25rem; }
.clsb-callout__body { min-width: 0; font-size: 1rem; line-height: 1.6; }
.clsb-callout__body p { margin: 0; }
.clsb-callout__body p + p { margin-top: .6em; }
.clsb-callout__title { margin-bottom: .25rem !important; font: 600 1rem/1.4 var(--clsb-fh); color: #0b7a10; }
.clsb-callout--warn { background: var(--clsb-red-l); }
.clsb-callout--warn .clsb-callout__ico { color: var(--clsb-red); }
.clsb-callout--warn .clsb-callout__title { color: #a4161a; }
.clsb-callout--note { background: var(--clsb-light); }
.clsb-callout--note .clsb-callout__ico { color: var(--clsb-blue); }
.clsb-callout--note .clsb-callout__title { color: var(--clsb-blue); }

/* вопросы и ответы */
.clsb-faq { margin-top: 3.4em !important; }
.clsb-faq__title { margin: 0 0 .9em !important; }
.clsb-faq__item { border-top: 1px solid var(--clsb-line); }
.clsb-faq__item:last-child { border-bottom: 1px solid var(--clsb-line); }
.clsb-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.125rem 0; font: 600 1.0625rem/1.4 var(--clsb-fh); color: var(--clsb-ink); cursor: pointer; list-style: none; }
.clsb-faq__q::-webkit-details-marker { display: none; }
.clsb-faq__ico { display: grid; place-items: center; flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: var(--clsb-light); color: var(--clsb-blue); transition: transform .3s var(--clsb-ease), background-color .2s, color .2s; }
.clsb-faq__item[open] .clsb-faq__ico { transform: rotate(45deg); background: var(--clsb-blue); color: #fff; }
.clsb-faq__a { padding: 0 3rem 1.25rem 0; font-size: 1rem; line-height: 1.65; color: var(--clsb-muted); }
.clsb-faq__a p { margin: 0; }
.clsb-faq__a p + p { margin-top: .6em; }

/* призывы внутри и в конце статьи */
.clsb-author--bottom { align-items: flex-start; margin-top: 2.25em !important; padding-top: 1.5rem; border-top: 1px solid var(--clsb-line); }
.clsb-author--bottom .clsb-author__ava { width: 64px; height: 64px; }
.clsb-author--bottom .clsb-author__txt { font-size: .9375rem; line-height: 1.5; color: var(--clsb-muted); }
.clsb-author--bottom .clsb-author__txt b { font-size: 1.0625rem; }
.clsb-author__label { font-size: .8125rem; text-transform: uppercase; letter-spacing: .06em; color: var(--clsb-muted-2); }

/* читайте также */
.clsb-related { margin-top: 4rem; }
.clsb-related__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.clsb-related__title { margin: 0; font: 700 1.75rem/1.15 var(--clsb-fh); letter-spacing: -.01em; color: var(--clsb-ink); }
.clsb-related__all { display: inline-flex; align-items: center; gap: .375rem; font: 500 1rem/1 var(--clsb-f); color: var(--clsb-blue); text-decoration: none; white-space: nowrap; }
.clsb-related__all:hover { text-decoration: underline; text-underline-offset: .2em; }
.clsb-grid--related { margin-top: 1.5rem; }

/* ---------- планшет ---------- */
@media (min-width: 768px) {
  .clsb-head__title { font-size: 2.75rem; }
  .clsb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
  .clsb-cta { flex-direction: row; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.75rem 2rem; }
  .clsb-post__title { font-size: 2.5rem; }
  .clsb-post__lead { font-size: 1.25rem; }
  .clsb-cover img { border-radius: 2rem; }
  .clsb-prose { font-size: 1.125rem; line-height: 1.7; }
  .clsb-prose h2 { font-size: 1.75rem; }
  .clsb-prose h3 { font-size: 1.375rem; }
  .clsb-callout { padding: 1.25rem 1.5rem; }
}

/* ---------- компьютер ---------- */
@media (min-width: 1200px) {
  .clsb-chips { flex-wrap: wrap; margin: 2rem 0 0; padding: 0; overflow: visible; }
  .clsb-head { margin-top: 1.75rem; }
  .clsb-head__title { font-size: 3.25rem; }
  .clsb-head__lead { font-size: 1.1875rem; }
  .clsb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
  .clsb-pager { margin-top: 3rem; }
  .clsb-cta { padding: 2rem 2.5rem; }

  /* статья: шапка выровнена по колонке текста, слева — содержание */
  .clsb-post__head { margin-top: 0; }
  .clsb-post__title { font-size: 2.5rem; line-height: 1.12; }
  .clsb-meta { font-size: .9375rem; }
  .clsb-author--top { margin-top: 1.5rem; }
  .clsb-cover { margin-top: 2.25rem; }
  .clsb-cover img { border-radius: 2.5rem; }
  .clsb-layout { display: grid; grid-template-columns: 21rem var(--clsb-col); grid-template-rows: auto auto 1fr; column-gap: 4rem; margin-top: 2rem; }
  .clsb-layout > .clsb-post__head { grid-column: 2; grid-row: 1; }
  .clsb-layout > .clsb-cover { grid-column: 2; grid-row: 2; }
  .clsb-layout > .clsb-prose { grid-column: 2; grid-row: 3; margin-top: 3rem; }
  .clsb-layout > .clsb-side { grid-column: 1; grid-row: 1 / span 3; }
  /* колонка слева липкая, но не выше экрана: длинное содержание прокручивается внутри */
  .clsb-side { position: sticky; top: 1.5rem; align-self: start; display: flex; flex-direction: column; max-width: none; max-height: calc(100vh - 3rem); max-height: calc(100dvh - 3rem); margin: 0; }
  .clsb-layout--notoc { grid-template-columns: var(--clsb-col); } .clsb-layout--notoc > * { grid-column: 1 !important; } .clsb-layout--notoc > .clsb-side { display: none; }
  .admin-bar .clsb-side { top: calc(32px + 1.5rem); max-height: calc(100vh - 32px - 3rem); max-height: calc(100dvh - 32px - 3rem); }
  .clsb-toc { flex: 0 1 auto; }
  .clsb-toc__title:hover .clsb-i { color: var(--clsb-ink); }
  .clsb-share { flex: none; display: flex; align-items: center; gap: .5rem; margin-top: 1.25rem; padding-left: .5rem; }
  .clsb-share__label { margin-right: .25rem; }
  /* текст в колонке 760px — 20px (~75–78 знаков в строке, граница нормы); картинки, таблицы, плашки — той же ширины */
  .clsb-prose { font-size: 1.25rem; line-height: 1.65; }
  .clsb-prose h3 { font-size: 1.5rem; }
  .clsb-callout__body, .clsb-faq__a { font-size: 1.0625rem; }
  .clsb-prose h2 { font-size: 1.875rem; }
  .clsb-related { margin-top: 6rem; }
  .clsb-related__title { font-size: 2.25rem; }
  .clsb-grid--related { margin-top: 2rem; }
}
