@charset "UTF-8";
body {
  --wp--style--gallery-gap-default: 25px;
}

@keyframes live-blink {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.65);
  }
}
.main-text, .is-root-container {
  font-size: 16px;
  line-height: 22px;
}
@media (max-width: 991px) {
  .main-text, .is-root-container {
    font-size: 14px;
    line-height: 20px;
  }
}
.main-text h1 a, .main-text h2 a, .main-text h3 a, .main-text h4 a, .main-text h5 a, .main-text h6 a,
.main-text .h1 a, .main-text .h2 a, .main-text .h3 a, .main-text .h4 a, .main-text .h5 a, .main-text .h6 a, .is-root-container h1 a, .is-root-container h2 a, .is-root-container h3 a, .is-root-container h4 a, .is-root-container h5 a, .is-root-container h6 a,
.is-root-container .h1 a, .is-root-container .h2 a, .is-root-container .h3 a, .is-root-container .h4 a, .is-root-container .h5 a, .is-root-container .h6 a {
  border-bottom: 1px solid;
}
@media (hover: hover) {
  .main-text h1 a, .main-text h2 a, .main-text h3 a, .main-text h4 a, .main-text h5 a, .main-text h6 a,
  .main-text .h1 a, .main-text .h2 a, .main-text .h3 a, .main-text .h4 a, .main-text .h5 a, .main-text .h6 a, .is-root-container h1 a, .is-root-container h2 a, .is-root-container h3 a, .is-root-container h4 a, .is-root-container h5 a, .is-root-container h6 a,
  .is-root-container .h1 a, .is-root-container .h2 a, .is-root-container .h3 a, .is-root-container .h4 a, .is-root-container .h5 a, .is-root-container .h6 a {
    transition: color 0.25s;
  }
  .main-text h1 a:hover, .main-text h2 a:hover, .main-text h3 a:hover, .main-text h4 a:hover, .main-text h5 a:hover, .main-text h6 a:hover,
  .main-text .h1 a:hover, .main-text .h2 a:hover, .main-text .h3 a:hover, .main-text .h4 a:hover, .main-text .h5 a:hover, .main-text .h6 a:hover, .is-root-container h1 a:hover, .is-root-container h2 a:hover, .is-root-container h3 a:hover, .is-root-container h4 a:hover, .is-root-container h5 a:hover, .is-root-container h6 a:hover,
  .is-root-container .h1 a:hover, .is-root-container .h2 a:hover, .is-root-container .h3 a:hover, .is-root-container .h4 a:hover, .is-root-container .h5 a:hover, .is-root-container .h6 a:hover {
    color: #FA6E4B;
  }
}
.main-text h2, .main-text .h2, .is-root-container h2, .is-root-container .h2 {
  margin: 25px 0 15px;
  font-family: "Cormorant Garamond Holod";
  font-size: 36px;
  line-height: 32px;
  font-weight: 600;
  /* на WP каждому h2 руками ставили has-text-align-center — класс потерялся
     при миграции, центрируем структурно (h3 на бою остаются слева) */
  text-align: center;
}
@media (max-width: 991px) {
  .main-text h2, .main-text .h2, .is-root-container h2, .is-root-container .h2 {
    margin-top: 32px;
    margin-bottom: 20px;
    font-size: 28px;
    line-height: 25px;
    letter-spacing: normal;
  }
}
.main-text h2:first-child, .main-text .h2:first-child, .is-root-container h2:first-child, .is-root-container .h2:first-child {
  margin-top: 0;
}
.main-text h2:last-child, .main-text .h2:last-child, .is-root-container h2:last-child, .is-root-container .h2:last-child {
  margin-bottom: 0;
}
.main-text h3, .main-text .h3, .is-root-container h3, .is-root-container .h3 {
  margin: 25px 0 15px;
  font-family: "Golos Text Holod", sans-serif;
  font-size: 22px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: -0.66px;
}
@media (max-width: 991px) {
  .main-text h3, .main-text .h3, .is-root-container h3, .is-root-container .h3 {
    margin-top: 32px;
    margin-bottom: 16px;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.54px;
  }
}
.main-text h3:first-child, .main-text .h3:first-child, .is-root-container h3:first-child, .is-root-container .h3:first-child {
  margin-top: 0;
}
.main-text h3:last-child, .main-text .h3:last-child, .is-root-container h3:last-child, .is-root-container .h3:last-child {
  margin-bottom: 0;
}
.main-text h4, .main-text h5, .main-text .h4, .main-text .h5, .is-root-container h4, .is-root-container h5, .is-root-container .h4, .is-root-container .h5 {
  margin: 25px 0 15px;
  font-family: "Golos Text Holod", sans-serif;
  font-size: 22px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: -0.66px;
}
@media (max-width: 991px) {
  .main-text h4, .main-text h5, .main-text .h4, .main-text .h5, .is-root-container h4, .is-root-container h5, .is-root-container .h4, .is-root-container .h5 {
    margin-top: 32px;
    margin-bottom: 16px;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.54px;
  }
}
.main-text h4:first-child, .main-text h5:first-child, .main-text .h4:first-child, .main-text .h5:first-child, .is-root-container h4:first-child, .is-root-container h5:first-child, .is-root-container .h4:first-child, .is-root-container .h5:first-child {
  margin-top: 0;
}
.main-text h4:last-child, .main-text h5:last-child, .main-text .h4:last-child, .main-text .h5:last-child, .is-root-container h4:last-child, .is-root-container h5:last-child, .is-root-container .h4:last-child, .is-root-container .h5:last-child {
  margin-bottom: 0;
}
.main-text h6, .main-text .h6, .is-root-container h6, .is-root-container .h6 {
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  margin-top: 25px;
  margin-bottom: 15px;
}
@media (max-width: 991px) {
  .main-text h6, .main-text .h6, .is-root-container h6, .is-root-container .h6 {
    margin-top: 32px;
    margin-bottom: 20px;
  }
}
.main-text h6:first-child, .main-text .h6:first-child, .is-root-container h6:first-child, .is-root-container .h6:first-child {
  margin-top: 0;
}
.main-text h6:last-child, .main-text .h6:last-child, .is-root-container h6:last-child, .is-root-container .h6:last-child {
  margin-bottom: 0;
}
.main-text h6::before, .main-text .h6::before, .is-root-container h6::before, .is-root-container .h6::before {
  content: "— ";
}
.main-text p b, .main-text p strong, .main-text li b, .main-text li strong, .is-root-container p b, .is-root-container p strong, .is-root-container li b, .is-root-container li strong {
  font-weight: 600;
}
.main-text p a, .main-text li a, .is-root-container p a, .is-root-container li a {
  border-bottom: 1px solid #A7A7A7;
}
@media (hover: hover) {
  .main-text p a, .main-text li a, .is-root-container p a, .is-root-container li a {
    transition: color 0.25s, border-color 0.25s;
  }
  .main-text p a:hover, .main-text li a:hover, .is-root-container p a:hover, .is-root-container li a:hover {
    color: #FA6E4B;
    border-color: #FA6E4B;
  }
}
.main-text p, .is-root-container p {
  margin-bottom: 15px;
}
.main-text p:last-child, .is-root-container p:last-child {
  margin-bottom: 0;
}
.main-text ul, .main-text ol, .is-root-container ul, .is-root-container ol {
  margin: 25px 0;
}
@media (max-width: 991px) {
  .main-text ul, .main-text ol, .is-root-container ul, .is-root-container ol {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.main-text ul:first-child, .main-text ol:first-child, .is-root-container ul:first-child, .is-root-container ol:first-child {
  margin-top: 0;
}
.main-text ul:last-child, .main-text ol:last-child, .is-root-container ul:last-child, .is-root-container ol:last-child {
  margin-bottom: 0;
}
.main-text ul li, .main-text ol li, .is-root-container ul li, .is-root-container ol li {
  position: relative;
}
.main-text ul li, .is-root-container ul li {
  padding-left: 24px;
}
@media (max-width: 991px) {
  .main-text ul li, .is-root-container ul li {
    padding-left: 20px;
  }
}
.main-text ul li::before, .is-root-container ul li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #191919;
}
@media (max-width: 991px) {
  .main-text ul li::before, .is-root-container ul li::before {
    width: 4px;
    height: 4px;
    left: 4px;
    top: 8px;
  }
}
.main-text ol, .is-root-container ol {
  counter-reset: olCounter;
}
.main-text ol li, .is-root-container ol li {
  padding-left: 24px;
}
.main-text ol li::before, .is-root-container ol li::before {
  content: counter(olCounter) ".";
  counter-increment: olCounter;
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding-right: 5px;
  box-sizing: border-box;
}
.main-text figcaption, .is-root-container figcaption {
  display: block !important;
  margin: 10px 0 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  color: #191919 !important;
  font-weight: 400 !important;
  opacity: 0.8 !important;
  position: static !important;
  padding: 0 !important;
  background: none !important;
  max-height: none !important;
  height: auto !important;
  flex-basis: auto !important;
  flex-grow: 0 !important;
}
.main-text figcaption.wp-element-caption--additional, .is-root-container figcaption.wp-element-caption--additional {
  color: #A7A7A7 !important;
  opacity: 1 !important;
}
.main-text figcaption + figcaption, .is-root-container figcaption + figcaption {
  margin-top: 5px !important;
}
.main-text figure, .main-text > .wp-block-image, .is-root-container figure, .is-root-container > .wp-block-image {
  margin: 25px 0;
}
@media (max-width: 991px) {
  .main-text figure, .main-text > .wp-block-image, .is-root-container figure, .is-root-container > .wp-block-image {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.main-text figure.kg-width-wide:not(.kg-gallery-card), .main-text figure.kg-width-full:not(.kg-gallery-card), .main-text figure.alignwide, .main-text figure.alignfull, .main-text > .wp-block-image.alignwide, .main-text > .wp-block-image.alignfull, .is-root-container figure.alignwide, .is-root-container figure.alignfull, .is-root-container > .wp-block-image.alignwide, .is-root-container > .wp-block-image.alignfull {
  width: 1295px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 1334px) {
  .main-text figure.kg-width-wide:not(.kg-gallery-card), .main-text figure.kg-width-full:not(.kg-gallery-card), .main-text figure.alignwide, .main-text figure.alignfull, .main-text > .wp-block-image.alignwide, .main-text > .wp-block-image.alignfull, .is-root-container figure.alignwide, .is-root-container figure.alignfull, .is-root-container > .wp-block-image.alignwide, .is-root-container > .wp-block-image.alignfull {
    width: calc(100vw - 40px);
  }
}
@media (max-width: 991px) {
  .main-text figure.kg-width-wide:not(.kg-gallery-card), .main-text figure.kg-width-full:not(.kg-gallery-card), .main-text figure.alignwide, .main-text figure.alignfull, .main-text > .wp-block-image.alignwide, .main-text > .wp-block-image.alignfull, .is-root-container figure.alignwide, .is-root-container figure.alignfull, .is-root-container > .wp-block-image.alignwide, .is-root-container > .wp-block-image.alignfull {
    width: calc(100vw - 20px);
  }
}
@media (max-width: 767px) {
  .main-text figure.kg-width-wide:not(.kg-gallery-card), .main-text figure.kg-width-full:not(.kg-gallery-card), .main-text figure.alignwide, .main-text figure.alignfull, .main-text > .wp-block-image.alignwide, .main-text > .wp-block-image.alignfull, .is-root-container figure.alignwide, .is-root-container figure.alignfull, .is-root-container > .wp-block-image.alignwide, .is-root-container > .wp-block-image.alignfull {
    width: 100%;
    left: auto;
    transform: none;
  }
}
.main-text figure:first-child, .main-text > .wp-block-image:first-child, .is-root-container figure:first-child, .is-root-container > .wp-block-image:first-child {
  margin-top: 0;
}
.main-text figure:last-child, .main-text > .wp-block-image:last-child, .is-root-container figure:last-child, .is-root-container > .wp-block-image:last-child {
  margin-bottom: 0;
}
.main-text figure img, .main-text > .wp-block-image img, .is-root-container figure img, .is-root-container > .wp-block-image img {
  width: 100%;
  height: auto !important;
}
.main-text figure figcaption, .main-text > .wp-block-image figcaption, .is-root-container figure figcaption, .is-root-container > .wp-block-image figcaption {
  display: block !important;
  margin: 10px 0 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  color: #191919 !important;
  font-weight: 400 !important;
  opacity: 0.8 !important;
}
.main-text blockquote, .is-root-container blockquote {
  margin: 25px 0;
}
.main-text blockquote.alignwide, .main-text blockquote.alignfull, .is-root-container blockquote.alignwide, .is-root-container blockquote.alignfull {
  width: 988px;
  padding: 25px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 1334px) {
  .main-text blockquote.alignwide, .main-text blockquote.alignfull, .is-root-container blockquote.alignwide, .is-root-container blockquote.alignfull {
    width: 900px;
  }
}
@media (max-width: 991px) {
  .main-text blockquote.alignwide, .main-text blockquote.alignfull, .is-root-container blockquote.alignwide, .is-root-container blockquote.alignfull {
    width: 100%;
    left: auto;
    transform: none;
    padding: 0;
  }
}
@media (max-width: 991px) {
  .main-text blockquote, .is-root-container blockquote {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.main-text blockquote:first-child, .is-root-container blockquote:first-child {
  margin-top: 0;
}
.main-text blockquote:last-child, .is-root-container blockquote:last-child {
  margin-bottom: 0;
}
/* Цитаты Ghost приходят без внутреннего <p> (<blockquote>текст</blockquote>),
   поэтому рядом с WP-селекторами blockquote p везде добавлен вариант
   blockquote:not(:has(> p)) — стили для «голой» цитаты без дублирования */
.main-text blockquote, .is-root-container blockquote {
  font-size: 22px;
  line-height: 30px;
  letter-spacing: -0.66px;
  font-weight: 400;
}
@media (max-width: 991px) {
  .main-text blockquote, .is-root-container blockquote {
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.6px;
  }
}
.main-text blockquote p, .is-root-container blockquote p {
  font-size: 22px;
  line-height: 30px;
  letter-spacing: -0.66px;
  font-weight: 400;
}
@media (max-width: 991px) {
  .main-text blockquote p, .is-root-container blockquote p {
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.6px;
  }
}
.main-text blockquote p:first-child, .main-text blockquote:not(:has(> p)), .is-root-container blockquote p:first-child, .is-root-container blockquote:not(:has(> p)) {
  position: relative;
  text-indent: 30px;
}
.main-text blockquote p:first-child::before, .main-text blockquote:not(:has(> p))::before, .is-root-container blockquote p:first-child::before, .is-root-container blockquote:not(:has(> p))::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 20px;
  height: 17px;
  background: url(../images/blockquote-icon.svg) center center no-repeat;
  background-size: contain;
}
.main-text blockquote p:last-of-type, .is-root-container blockquote p:last-of-type {
  margin-bottom: 0;
}
.main-text blockquote + blockquote, .is-root-container blockquote + blockquote {
  margin-top: -30px;
}
@media (max-width: 991px) {
  .main-text blockquote + blockquote, .is-root-container blockquote + blockquote {
    margin-top: -22px;
  }
}

/* Alt-цитата Ghost = блок «Хайлайт» с боя (WP `block-highlight.php`:
   обёртка `.a-highlight.a-block`, внутри `.a-factoid__text` без своих стилей —
   вся типографика на обёртке). У Ghost это один <blockquote class="kg-blockquote-alt">
   без внутреннего div, поэтому правила вешаем прямо на него.
   Значения сверены с боевым holod.media 11.08.2026 (computed styles на
   /2026/07/17/rossiyanka-sluchajno-poshla-na-svidanie-s-ubijczej/) и совпадают
   с `legacy/assets/sass/_blocks.scss:1467`.
   В импорте таких цитат нет (0 из 800 постов препрода) — блок на будущее.
   Отступы 25/32 приходят от общего правила blockquote выше.

   Сюда же добавлен `.a-factoid__text` — тот самый div из html-карточки-сниппета.
   Это НЕ второй вид блока: на бою у `.a-factoid__text` своих стилей нет вообще,
   весь вид приходит от `.a-highlight`, а он до буквы совпадает с alt-цитатой.
   Поэтому у обоих один список объявлений — чтобы они не разъехались при правках.
   Лишние для div'а сбросы (font-style, text-indent) безвредны, вертикальные
   отступы у него свои — см. секцию «Фактоид» ниже. */
.main-text blockquote.kg-blockquote-alt, .is-root-container blockquote.kg-blockquote-alt,
.main-text .a-factoid__text, .is-root-container .a-factoid__text {
  padding: 0 56px;
  color: #FA6E4B;
  font-size: 30px;
  line-height: 42px;
  font-weight: 600;
  letter-spacing: -0.9px;
  text-transform: uppercase;
  font-style: normal; /* дефолт Ghost — курсив */
  text-align: left; /* дефолт Ghost — по центру */
  text-indent: 0; /* снимаем отступ под иконку кавычек от обычной цитаты */
}
/* иконки кавычек у «Хайлайта» нет */
.main-text blockquote.kg-blockquote-alt::before, .is-root-container blockquote.kg-blockquote-alt::before {
  content: none;
}
@media (max-width: 991px) {
  .main-text blockquote.kg-blockquote-alt, .is-root-container blockquote.kg-blockquote-alt,
  .main-text .a-factoid__text, .is-root-container .a-factoid__text {
    padding: 0 20px;
    font-size: 18px;
    line-height: 26px;
    font-weight: 500;
  }
}
@media (max-width: 575px) {
  .main-text blockquote.kg-blockquote-alt, .is-root-container blockquote.kg-blockquote-alt,
  .main-text .a-factoid__text, .is-root-container .a-factoid__text {
    padding: 0;
  }
}

/* --- Фактоид («Фактоид» с боя, WP `block-factoid.php`) --------------------
   Редакция вставляет его html-карточкой-сниппетом. Разметка боя —
   `<div class="a-factoid a-block">` с двумя div'ами внутри; в сниппете обёртки
   может не быть, поэтому типографику вешаем прямо на `__num`/`__desc`
   (descendant-селектором — тогда правила работают и с обёрткой, и без неё),
   а вертикальные отступы — только на прямых детях `.main-text`, чтобы при
   наличии обёртки их получала она, а не каждая строка отдельно.
   Значения сверены с `legacy/assets/sass/_blocks.scss:854` и с отданным HTML
   /2026/07/28/stalin-ubedil-gitlera-otdat-emu-eti-iskonno-russkie-zemli/. */
.main-text .a-factoid, .is-root-container .a-factoid {
  text-align: center;
}
.main-text .a-factoid__num, .is-root-container .a-factoid__num {
  text-align: center;
  font-size: 72px;
  line-height: 80px;
  letter-spacing: -2.16px;
  font-weight: 600;
  text-transform: uppercase;
  color: #FA6E4B;
}
@media (max-width: 991px) {
  .main-text .a-factoid__num, .is-root-container .a-factoid__num {
    font-size: 46px;
    line-height: 52px;
    letter-spacing: -1.38px;
  }
}
.main-text .a-factoid__desc, .is-root-container .a-factoid__desc {
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  width: 100%;
  max-width: 320px;
  margin-top: 10px; /* зазор до числа; в плоской форме его перебивает и
                       восстанавливает секция геометрии ниже */
  margin-left: auto;
  margin-right: auto;
  opacity: 0.8;
}
@media (max-width: 991px) {
  .main-text .a-factoid__desc, .is-root-container .a-factoid__desc {
    max-width: 250px;
    margin-top: 0;
  }
}

/* Геометрия блоков из html-карточки: на бою отступы 25/32 даёт класс `.a-block`
   у обёртки, здесь их получает каждый блок верхнего уровня. Соседние
   вертикальные поля схлопываются, поэтому у пары «число + подпись» приходится
   задавать обе стороны зазора: 10px на десктопе (`__desc` на бою имеет
   margin-top: 10px) и 0 на ≤991px, где бой этот отступ снимает. */
.main-text > .a-factoid, .main-text > .a-highlight,
.main-text > .a-factoid__text, .main-text > .a-factoid__num, .main-text > .a-factoid__desc,
.is-root-container > .a-factoid, .is-root-container > .a-highlight,
.is-root-container > .a-factoid__text, .is-root-container > .a-factoid__num, .is-root-container > .a-factoid__desc {
  margin-top: 25px;
  margin-bottom: 25px;
}
@media (max-width: 991px) {
  .main-text > .a-factoid, .main-text > .a-highlight,
  .main-text > .a-factoid__text, .main-text > .a-factoid__num, .main-text > .a-factoid__desc,
  .is-root-container > .a-factoid, .is-root-container > .a-highlight,
  .is-root-container > .a-factoid__text, .is-root-container > .a-factoid__num, .is-root-container > .a-factoid__desc {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.main-text > .a-factoid:first-child, .main-text > .a-highlight:first-child,
.main-text > .a-factoid__text:first-child, .main-text > .a-factoid__num:first-child, .main-text > .a-factoid__desc:first-child,
.is-root-container > .a-factoid:first-child, .is-root-container > .a-highlight:first-child,
.is-root-container > .a-factoid__text:first-child, .is-root-container > .a-factoid__num:first-child, .is-root-container > .a-factoid__desc:first-child {
  margin-top: 0;
}
.main-text > .a-factoid:last-child, .main-text > .a-highlight:last-child,
.main-text > .a-factoid__text:last-child, .main-text > .a-factoid__num:last-child, .main-text > .a-factoid__desc:last-child,
.is-root-container > .a-factoid:last-child, .is-root-container > .a-highlight:last-child,
.is-root-container > .a-factoid__text:last-child, .is-root-container > .a-factoid__num:last-child, .is-root-container > .a-factoid__desc:last-child {
  margin-bottom: 0;
}
.main-text > .a-factoid__num:has(+ .a-factoid__desc), .is-root-container > .a-factoid__num:has(+ .a-factoid__desc) {
  margin-bottom: 10px;
}
.main-text > .a-factoid__num + .a-factoid__desc, .is-root-container > .a-factoid__num + .a-factoid__desc {
  margin-top: 10px;
}
@media (max-width: 991px) {
  .main-text > .a-factoid__num:has(+ .a-factoid__desc), .is-root-container > .a-factoid__num:has(+ .a-factoid__desc) {
    margin-bottom: 0;
  }
  .main-text > .a-factoid__num + .a-factoid__desc, .is-root-container > .a-factoid__num + .a-factoid__desc {
    margin-top: 0;
  }
}

/* Таблицы, код и разделитель темой не описывались вообще. В импортированном
   контенте их нет (0 из 800 постов препрода), но редактор Ghost их умеет,
   а .site-main{overflow:hidden} срезает всё шире колонки 635px БЕЗ прокрутки —
   то есть лишние колонки таблицы и длинные строки кода просто пропадали. */
.main-text table, .is-root-container table {
  display: block; /* только так работает overflow-x; платим тем, что таблица
                     тянется по содержимому, а не на всю ширину колонки */
  max-width: 100%;
  overflow-x: auto;
  margin: 25px 0;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 20px;
}
@media (max-width: 991px) {
  .main-text table, .is-root-container table {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.main-text table th, .main-text table td, .is-root-container table th, .is-root-container table td {
  padding: 8px 12px;
  border: 1px solid rgba(25, 25, 25, 0.1);
  text-align: left;
  vertical-align: top;
}
.main-text table th, .is-root-container table th {
  font-weight: 600;
  background-color: #F5F5F5;
}
.main-text pre, .is-root-container pre {
  margin: 25px 0;
  padding: 16px 20px;
  background-color: #F5F5F5;
  overflow-x: auto;
}
@media (max-width: 991px) {
  .main-text pre, .is-root-container pre {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.main-text code, .is-root-container code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 14px;
  line-height: 20px;
}
/* Инлайновый код — подложка только вне <pre>, иначе плашка внутри плашки */
.main-text :not(pre) > code, .is-root-container :not(pre) > code {
  padding: 2px 5px;
  background-color: #F5F5F5;
}
.main-text hr, .is-root-container hr {
  margin: 25px 0;
  border: 0;
  border-top: 1px solid rgba(25, 25, 25, 0.1);
}
@media (max-width: 991px) {
  .main-text hr, .is-root-container hr {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}

/* Врезки: на WP это .a-selected-block (#EDF3FA), мигратор превратил их
   в серые callout-карточки Ghost — перекрашиваем под оригинал.
   Геометрия задана всем цветам сразу: в импорте все врезки серые
   (30 из 800 постов препрода, не-серых ноль), но если редакция выберет
   в редакторе другой цвет, отступы и скругление останутся правильными,
   отличаться будет только фон.
   После перемиграции 29.09.2026 тот же блок приезжает уже не callout'ом,
   а html-карточкой с голой разметкой боя — div.a-selected-block.a-block
   с абзацами внутри. Обе формы делят один список объявлений, чтобы
   не разъехаться; значения сверены с CSS, который отдаёт holod.media. */
.main-text .kg-callout-card, .is-root-container .kg-callout-card,
.main-text .a-selected-block, .is-root-container .a-selected-block {
  padding: 20px;
  border-radius: 0;
  margin: 25px 0;
}
.main-text .kg-callout-card-grey, .is-root-container .kg-callout-card-grey,
.main-text .a-selected-block, .is-root-container .a-selected-block {
  background-color: #EDF3FA;
}
.main-text h2 + .kg-callout-card, .main-text h3 + .kg-callout-card, .is-root-container h2 + .kg-callout-card, .is-root-container h3 + .kg-callout-card,
.main-text h2 + .a-selected-block, .main-text h3 + .a-selected-block, .is-root-container h2 + .a-selected-block, .is-root-container h3 + .a-selected-block {
  margin-top: 0;
}
/* На бою это роль .a-block: первому и последнему блоку в тексте поле не нужно */
.main-text .a-selected-block:first-child, .is-root-container .a-selected-block:first-child {
  margin-top: 0;
}
.main-text .a-selected-block:last-child, .is-root-container .a-selected-block:last-child {
  margin-bottom: 0;
}
/* Раскрывашки: на WP это .a-dropdown-text (обёртка #F5F5F5 без паддинга,
   свои отступы у шапки и контента) — приводим Ghost toggle-карточку к ним */
.main-text .kg-toggle-card, .is-root-container .kg-toggle-card {
  margin: 25px 0;
  padding: 0;
  background-color: #F5F5F5;
  border-radius: 0;
  box-shadow: none; /* дефолт Ghost рисует рамку box-shadow'ом */
}
.main-text .kg-toggle-heading, .is-root-container .kg-toggle-heading {
  padding: 10px 20px 10px 30px;
  align-items: center;
}
.main-text h4.kg-toggle-heading-text, .is-root-container h4.kg-toggle-heading-text {
  margin: 0;
  font-family: "Golos Text Holod", sans-serif;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: normal;
}
.main-text .kg-toggle-content, .is-root-container .kg-toggle-content {
  padding: 0 70px 20px 30px;
}
/* Ghost сворачивает контент через max-height:0 — паддинг при этом остаётся
   и раздувает закрытую карточку снизу, убираем его в закрытом состоянии */
.main-text .kg-toggle-card[data-kg-toggle-state=close] .kg-toggle-content, .is-root-container .kg-toggle-card[data-kg-toggle-state=close] .kg-toggle-content {
  padding-top: 0;
  padding-bottom: 0;
}
@media (max-width: 991px) {
  .main-text .kg-callout-card, .main-text .kg-toggle-card, .is-root-container .kg-callout-card, .is-root-container .kg-toggle-card,
  .main-text .a-selected-block, .is-root-container .a-selected-block {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}

/* Заголовок главы: на WP это блок acf/chapter, после перемиграции 29.09.2026
   приезжает html-карточкой с разметкой боя —
     div.a-toc-title.a-toc-title--numbered > span > span  +  h2.a-toc-title__item.h1
     div.a-toc-title.a-toc-title--subtitle > h2.a-toc-title__item.h1 + div.a-toc-title__sub
   Сам h2 набирается классом .h1 из typography.css; здесь всё остальное: поля,
   центровка подписи, волосяная линия и номер главы на ней. Номер печатает
   пустой внутренний span через счётчик chapterCounter — он сбрасывается
   на .article__content ниже по файлу. Белая подложка span'а закрывает линию
   под цифрой. Правила перенесены с CSS, который отдаёт holod.media. */
.main-text .a-toc-title, .is-root-container .a-toc-title {
  text-align: center;
  margin-top: 60px;
  margin-bottom: 40px;
}
.main-text .a-toc-title:first-child, .is-root-container .a-toc-title:first-child {
  margin-top: 0;
}
.main-text .a-toc-title:last-child, .is-root-container .a-toc-title:last-child {
  margin-bottom: 0;
}
.main-text .a-toc-title > span, .is-root-container .a-toc-title > span {
  display: block;
  width: 245px;
  font-size: 14px;
  line-height: 20px;
  margin: 0 auto 10px;
  position: relative;
  z-index: 1;
  text-align: center;
}
.main-text .a-toc-title > span:last-child, .is-root-container .a-toc-title > span:last-child {
  margin-bottom: 0;
}
.main-text .a-toc-title > span::before, .is-root-container .a-toc-title > span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: rgba(25, 25, 25, 0.1);
  z-index: -1;
}
.main-text .a-toc-title > span span, .is-root-container .a-toc-title > span span {
  display: block;
  width: 25px;
  margin: 0 auto;
  background-color: #fff;
}
.main-text .a-toc-title--numbered > span span::before, .is-root-container .a-toc-title--numbered > span span::before {
  counter-increment: chapterCounter;
  content: counter(chapterCounter);
}
.main-text .a-toc-title--chaptered > span span, .is-root-container .a-toc-title--chaptered > span span {
  width: auto;
  text-transform: uppercase;
}
.main-text .a-toc-title--chaptered > span span::before, .is-root-container .a-toc-title--chaptered > span span::before {
  counter-increment: chapterCounter;
  content: "Глава " counter(chapterCounter);
}
/* !important как на бою: перебивает верхнее поле заголовка из .main-text h2 */
.main-text .a-toc-title__item, .is-root-container .a-toc-title__item {
  margin-top: 0 !important;
}
@media (max-width: 991px) {
  .main-text .a-toc-title, .is-root-container .a-toc-title {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}

/* Мнение эксперта: на WP это блок acf/expert, после перемиграции 29.09.2026
   приезжает html-карточкой с разметкой боя —
     div.a-expert.a-block.a-expert--color|--default
       > div.a-expert__img > img                     (фото необязательное)
       > div.a-expert__info > .a-expert__name.h3 + .a-expert__position + .a-expert__content
   Имя набирается классом .h3, абзацы — общими правилами .main-text p; здесь
   круглое фото, должность и серая подложка варианта --color. Подложка шире
   колонки — на весь экран, лишнее срезает overflow у .site-main. Картинка
   на препроде — полноразмерный оригинал без srcset (на бою было превью
   160×160), поэтому размер держит обёртка, а не сам файл. Правила перенесены
   с CSS, который отдаёт holod.media; поля 25/32 — роль .a-block. */
.main-text .a-expert, .is-root-container .a-expert {
  position: relative;
  margin: 25px 0;
}
.main-text .a-expert:first-child, .is-root-container .a-expert:first-child {
  margin-top: 0;
}
.main-text .a-expert:last-child, .is-root-container .a-expert:last-child {
  margin-bottom: 0;
}
.main-text .a-expert--color, .is-root-container .a-expert--color {
  padding-top: 40px;
  padding-bottom: 40px;
}
.main-text .a-expert--color::before, .is-root-container .a-expert--color::before {
  content: "";
  background: #F5F5F5;
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
}
.main-text .a-expert__img, .is-root-container .a-expert__img {
  width: 160px;
  height: 160px;
  margin-bottom: 20px;
}
.main-text .a-expert__img:last-child, .is-root-container .a-expert__img:last-child {
  margin-bottom: 0;
}
.main-text .a-expert__img img, .is-root-container .a-expert__img img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
.main-text .a-expert__position, .is-root-container .a-expert__position {
  margin-top: -15px;
  margin-bottom: 20px;
  opacity: 0.8;
}
.main-text .a-expert__position:last-child, .is-root-container .a-expert__position:last-child {
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .main-text .a-expert, .is-root-container .a-expert {
    margin-top: 32px;
    margin-bottom: 32px;
  }
  .main-text .a-expert--color, .is-root-container .a-expert--color {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

/* Врезка-ссылка на статью (bookmark): на WP это .a-single-card — голубая
   плашка, картинка 208px слева на всю высоту, текст по центру, рубрика оранжевым.
   Селекторы с "a" — чтобы перебить .kg-bookmark-card a.kg-bookmark-container
   из cards.min.css Ghost */
.main-text .kg-bookmark-card, .is-root-container .kg-bookmark-card {
  margin: 25px 0;
}
.main-text .kg-bookmark-card a.kg-bookmark-container, .main-text .kg-bookmark-card a.kg-bookmark-container:hover, .is-root-container .kg-bookmark-card a.kg-bookmark-container, .is-root-container .kg-bookmark-card a.kg-bookmark-container:hover {
  display: flex;
  align-items: stretch;
  gap: 10px;
  background: #EDF3FA;
  padding: 20px;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
  color: #191919;
}
.main-text .kg-bookmark-thumbnail, .is-root-container .kg-bookmark-thumbnail {
  order: -1; /* в разметке Ghost картинка после текста, на бою она слева */
  flex: 0 0 208px;
  min-width: 0;
  position: static;
}
.main-text .kg-bookmark-thumbnail img, .is-root-container .kg-bookmark-thumbnail img {
  position: static;
  width: 100%;
  /* !important — иначе перебивает общее .main-text figure img { height: auto !important } */
  height: 100% !important;
  object-fit: cover;
  border-radius: 0;
}
.main-text .kg-bookmark-content, .is-root-container .kg-bookmark-content {
  display: block;
  flex: 1 1 auto;
  align-self: center;
  padding: 0;
}
.main-text .kg-bookmark-title, .is-root-container .kg-bookmark-title {
  font-family: "Golos Text Holod", sans-serif;
  font-size: 22px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: -0.66px;
  color: #191919;
}
.main-text .kg-bookmark-description, .is-root-container .kg-bookmark-description {
  margin-top: 8px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: #191919;
  opacity: 1;
}
.main-text .kg-bookmark-metadata, .is-root-container .kg-bookmark-metadata {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
/* ВНИМАНИЕ: Ghost меняет поля местами. В .kg-bookmark-author попадает
   metadata.publisher, а в .kg-bookmark-publisher — metadata.author.
   Здесь и ниже названы CSS-классы, а не поля карточки.
   В импорте (850 карточек локально, 622 поста из 800 на препроде) заполнен
   только .kg-bookmark-author, и лежит в нём рубрика — её и красим оранжевым.
   .kg-bookmark-publisher и .kg-bookmark-icon не встречаются ни разу;
   правила ниже — на случай, если карточку соберут руками. */
.main-text .kg-bookmark-author, .is-root-container .kg-bookmark-author {
  color: #FA6E4B;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.36px;
  font-weight: 400;
}
/* под «N минут чтения», как на WP */
.main-text .kg-bookmark-publisher, .is-root-container .kg-bookmark-publisher {
  color: rgba(25, 25, 25, 0.8);
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 400;
}
.main-text .kg-bookmark-icon, .is-root-container .kg-bookmark-icon,
.main-text .kg-bookmark-author::after, .is-root-container .kg-bookmark-author::after {
  display: none;
}
@media (max-width: 991px) {
  .main-text .kg-bookmark-card, .is-root-container .kg-bookmark-card {
    margin-top: 32px;
    margin-bottom: 32px;
  }
  .main-text .kg-bookmark-title, .is-root-container .kg-bookmark-title {
    font-size: 18px;
    line-height: 23px;
    letter-spacing: -0.54px;
  }
}
@media (max-width: 575px) {
  /* на WP тут display:block (картинка первая в DOM), у Ghost она вторая —
     флекс-колонка сохраняет order:-1 и картинка остаётся сверху */
  .main-text .kg-bookmark-card a.kg-bookmark-container, .main-text .kg-bookmark-card a.kg-bookmark-container:hover, .is-root-container .kg-bookmark-card a.kg-bookmark-container, .is-root-container .kg-bookmark-card a.kg-bookmark-container:hover {
    flex-direction: column;
    gap: 0;
  }
  .main-text .kg-bookmark-thumbnail, .is-root-container .kg-bookmark-thumbnail {
    position: relative;
    width: 100%;
    flex-basis: auto; /* в колонке 208px из базового flex стал бы высотой */
    height: auto;
    padding-bottom: 55.769%;
  }
  .main-text .kg-bookmark-thumbnail img, .is-root-container .kg-bookmark-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
  }
  .main-text .kg-bookmark-content, .is-root-container .kg-bookmark-content {
    margin-top: 10px;
  }
}

.article-line {
  position: fixed;
  left: 0;
  top: 78px;
  right: 0;
  z-index: 97;
  height: 5px;
  background-color: #F5F5F5;
  overflow: hidden;
  transition: top 0.4s;
}
@media (max-width: 991px) {
  .article-line {
    top: 62px;
  }
}
.article-line span {
  display: block;
  width: 0%;
  height: 100%;
  background-color: #D2E1F2;
}

.header.header-hidden:not(.menu-open) ~ .main .article-line {
  top: 0;
}

.article {
  padding-top: 8px;
  counter-reset: cards;
}
.article .container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 991px) {
  .article {
    padding-top: 10px;
  }
}
.article__wrap {
  max-width: 635px;
}
@media (max-width: 767px) {
  .article__wrap {
    max-width: 100%;
  }
}
.article__header {
  position: relative;
  margin-bottom: 25px;
}
@media (max-width: 991px) {
  .article__header {
    margin-bottom: 32px;
  }
}
.article__header--share .article__share {
  justify-content: center;
  margin-top: 0;
}
.article__header--share .article__share-item {
  height: 25px;
}
.article__header:last-child {
  margin-bottom: 0;
}
.article__category {
  font-size: 10px;
  line-height: 1;
  color: #FA6E4B;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
@media (max-width: 991px) {
  .article__category {
    margin-bottom: 16px;
  }
}
@media (hover: hover) {
  .article__category a {
    transition: opacity 0.25s;
  }
  .article__category a:hover {
    opacity: 0.8;
  }
}
.article__title:not(.article__title--lg) {
  font-family: "Golos Text Holod", sans-serif;
  font-size: 32px;
  line-height: 36px;
  font-weight: 400;
}
@media (max-width: 991px) {
  .article__title:not(.article__title--lg) {
    font-size: 26px;
    line-height: 1;
  }
}
.article__sub {
  margin-top: 16px;
  font-size: 20px;
  line-height: 28px;
}
@media (max-width: 991px) {
  .article__sub {
    font-size: 18px;
    line-height: 26px;
    letter-spacing: -0.54px;
  }
}
.article__sub + .article__date {
  margin-top: 16px;
}
.article__sub ~ .article__share {
  margin-top: 25px;
}
@media (max-width: 991px) {
  .article__sub ~ .article__share {
    margin-top: 16px;
  }
}
.article__date {
  margin-top: 20px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 10px;
  line-height: 1;
  color: rgba(25, 25, 25, 0.8);
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .article__date {
    margin-top: 16px;
  }
}
.article__share {
  margin-top: 20px;
  padding: 7px 0 8px;
  border-top: 1px solid rgba(25, 25, 25, 0.1);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
}
@media (max-width: 991px) {
  .article__share {
    margin-top: 16px;
    gap: 5px 16px;
  }
}
.article__share.article__share--footer {
  margin: 0;
  padding: 0;
  border: 0;
}
@media (max-width: 991px) {
  .article__share.article__share--footer {
    border-top: 1px solid rgba(25, 25, 25, 0.1);
    padding-top: 10px;
    gap: 10px;
  }
}
.article__share.article__share--footer .article__share-item {
  background-color: #191919;
  color: #fff;
  border-radius: 3px;
}
@media (hover: hover) {
  .article__share.article__share--footer .article__share-item {
    transition: background-color 0.25s;
  }
  .article__share.article__share--footer .article__share-item:hover {
    background-color: #FA6E4B;
  }
}
.article__share.article__share--footer .article__share-item svg path {
  fill: #fff !important;
}
.article__share-item {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px;
  font-size: 10px;
  line-height: 15px;
  text-transform: uppercase;
  transition: color 0.25s;
}
@media (hover: hover) {
  .article__share-item:hover {
    color: #FA6E4B;
  }
  .article__share-item:hover svg path {
    fill: #FA6E4B;
  }
}
.article__share-item img, .article__share-item svg {
  flex-shrink: 0;
}
.article__share-item svg path {
  transition: fill 0.25s;
}
.article__content, .article .is-root-container {
  counter-reset: chapterCounter;
}
/* .post-content__text (обёртка контента в page.hbs) добавлен сюда намеренно:
   без него страница на мобильном оставалась на 14/20 от .main-text, тогда как
   статья поднималась до 16/22 — один и тот же текст набирался по-разному */
@media (max-width: 991px) {
  .article__content, .article .is-root-container, .post-content__text {
    font-size: 16px;
    line-height: 22px;
  }
}
/* Лид: на WP класс is-style-lead ставили руками, после миграции в Ghost классы
   потерялись, поэтому первый абзац статьи стилизуем структурно — он лид всегда */
.article__content > p:first-of-type, .article__content .is-style-lead, .article .is-root-container .is-style-lead {
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
  margin-bottom: 25px;
}
.article__content .is-style-lead:last-child, .article .is-root-container .is-style-lead:last-child {
  margin-bottom: 0;
}
.article__content .alignwide, .article__content .alignfull, .article .is-root-container .alignwide, .article .is-root-container .alignfull {
  width: 1295px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 1334px) {
  .article__content .alignwide, .article__content .alignfull, .article .is-root-container .alignwide, .article .is-root-container .alignfull {
    width: calc(100vw - 40px);
  }
}
@media (max-width: 991px) {
  .article__content .alignwide, .article__content .alignfull, .article .is-root-container .alignwide, .article .is-root-container .alignfull {
    width: calc(100vw - 20px);
  }
}
@media (max-width: 767px) {
  .article__content .alignwide, .article__content .alignfull, .article .is-root-container .alignwide, .article .is-root-container .alignfull {
    width: 100%;
    left: auto;
    transform: none;
  }
}
.article__content ul li, .article .is-root-container ul li {
  padding-left: 55px;
  margin-bottom: 10px;
}
@media (max-width: 991px) {
  .article__content ul li, .article .is-root-container ul li {
    padding-left: 40px;
    margin-bottom: 20px;
  }
}
.article__content ul li::before, .article .is-root-container ul li::before {
  top: 9px !important;
  left: 25px;
  width: 5px !important;
  height: 5px !important;
  background-color: #FA6E4B;
  border-radius: 0;
}
@media (max-width: 991px) {
  .article__content ul li::before, .article .is-root-container ul li::before {
    left: 15px;
  }
}
.article__content ul li:last-child, .article .is-root-container ul li:last-child {
  margin-bottom: 0;
}
.article__content ol li, .article .is-root-container ol li {
  padding-left: 55px;
  margin-bottom: 10px;
}
@media (max-width: 991px) {
  .article__content ol li, .article .is-root-container ol li {
    padding-left: 40px;
    margin-bottom: 20px;
  }
}
.article__content ol li:last-child, .article .is-root-container ol li:last-child {
  margin-bottom: 0;
}
.article__content ol li::before, .article .is-root-container ol li::before {
  left: 25px;
  padding: 0;
  width: 30px;
  display: block;
}
@media (max-width: 991px) {
  .article__content ol li::before, .article .is-root-container ol li::before {
    left: 10px;
  }
}
.article__content > iframe, .article .is-root-container > iframe {
  margin: 25px 0;
}
@media (max-width: 991px) {
  .article__content > iframe, .article .is-root-container > iframe {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.article__content > iframe:first-child, .article .is-root-container > iframe:first-child {
  margin-top: 0;
}
.article__content > iframe:last-child, .article .is-root-container > iframe:last-child {
  margin-bottom: 0;
}
/* Эмбеды редактора (figure.kg-embed-card).
   YouTube отдаёт по oEmbed разметку с width="160" height="90" — без сброса iframe
   так и рендерится, крошечным. Видео-площадкам задаём ширину колонки и 16:9;
   у остальных эмбедов (Spotify, Instagram) своя высота, им только ограничение ширины. */
.main-text iframe, .is-root-container iframe {
  max-width: 100%;
}
/* iframe без атрибута height схлопывается в дефолтные для заменяемого элемента
   150px. Так приезжают визуализации «Важных историй» (`static.istories.media`,
   `<iframe width="100%" style="border:none">`) — свою высоту они сообщают скриптом,
   а скрипты при миграции вырезаны. 500px — осознанная догадка, точную высоту взять
   неоткуда; ставится ДО правила видео-площадок, а там min-height обнулён,
   чтобы у видео осталась пропорция 16:9. */
.main-text iframe:not([height]), .is-root-container iframe:not([height]) {
  min-height: 500px;
}
.main-text iframe[src*="youtube.com/embed"], .main-text iframe[src*="youtube-nocookie.com"], .main-text iframe[src*="player.vimeo.com"], .main-text iframe[src*="rutube.ru"], .main-text iframe[src*="vk.com/video_ext"], .main-text iframe[src*="vkvideo.ru"], .main-text iframe[src*="dailymotion.com/embed"], .main-text iframe[src*="ok.ru/videoembed"], .is-root-container iframe[src*="youtube.com/embed"], .is-root-container iframe[src*="youtube-nocookie.com"], .is-root-container iframe[src*="player.vimeo.com"], .is-root-container iframe[src*="rutube.ru"], .is-root-container iframe[src*="vk.com/video_ext"], .is-root-container iframe[src*="vkvideo.ru"], .is-root-container iframe[src*="dailymotion.com/embed"], .is-root-container iframe[src*="ok.ru/videoembed"] {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16/9;
  border: 0;
}

/* Эмбеды на blockquote (твиты, тиктоки, старые посты инстаграма) — до того,
   как их подменит внешний скрипт, это обычный <blockquote>, и он подхватывал
   оформление редакционной цитаты: 22/30, отступ первой строки и оранжевую кавычку.
   Скрипты в архиве есть (8 постов из 1700 на препроде), но у читателей из России
   они, скорее всего, не загрузятся — и тогда чужая публикация навсегда останется
   похожей на цитату «Холода». Возвращаем таким блокам обычный текст. */
.main-text blockquote[class*=twitter], .main-text blockquote[class*=tiktok], .main-text blockquote[class*=instagram], .is-root-container blockquote[class*=twitter], .is-root-container blockquote[class*=tiktok], .is-root-container blockquote[class*=instagram] {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: normal;
  text-indent: 0;
}
.main-text blockquote[class*=twitter] p, .main-text blockquote[class*=tiktok] p, .main-text blockquote[class*=instagram] p, .is-root-container blockquote[class*=twitter] p, .is-root-container blockquote[class*=tiktok] p, .is-root-container blockquote[class*=instagram] p {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: normal;
}
.main-text blockquote[class*=twitter] p:first-child, .main-text blockquote[class*=tiktok] p:first-child, .main-text blockquote[class*=instagram] p:first-child, .is-root-container blockquote[class*=twitter] p:first-child, .is-root-container blockquote[class*=tiktok] p:first-child, .is-root-container blockquote[class*=instagram] p:first-child {
  text-indent: 0;
}
.main-text blockquote[class*=twitter] p:first-child::before, .main-text blockquote[class*=tiktok] p:first-child::before, .main-text blockquote[class*=instagram] p:first-child::before, .main-text blockquote[class*=twitter]::before, .main-text blockquote[class*=tiktok]::before, .main-text blockquote[class*=instagram]::before, .is-root-container blockquote[class*=twitter] p:first-child::before, .is-root-container blockquote[class*=tiktok] p:first-child::before, .is-root-container blockquote[class*=instagram] p:first-child::before, .is-root-container blockquote[class*=twitter]::before, .is-root-container blockquote[class*=tiktok]::before, .is-root-container blockquote[class*=instagram]::before {
  content: none;
}

/* html-карточки редактора приезжают голым <div> (внутри — своя обёртка эмбеда,
   например 16:9-контейнер Google Карт). Ни `.main-text figure`, ни
   `.article__content > iframe` его не ловят, и блок вставал вплотную к соседним
   абзацам — единственный во всём тексте без вертикальных отступов. */
.main-text > div:has(iframe), .is-root-container > div:has(iframe) {
  margin: 25px 0;
}
@media (max-width: 991px) {
  .main-text > div:has(iframe), .is-root-container > div:has(iframe) {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.main-text > div:has(iframe):first-child, .is-root-container > div:has(iframe):first-child {
  margin-top: 0;
}
.main-text > div:has(iframe):last-child, .is-root-container > div:has(iframe):last-child {
  margin-bottom: 0;
}
.article__content b, .article__content strong, .article .is-root-container b, .article .is-root-container strong {
  font-weight: 600;
}
.article__content h2 b, .article__content h2 strong, .article__content h3 b, .article__content h3 strong, .article__content h4 b, .article__content h4 strong, .article__content h5 b, .article__content h5 strong, .article__content h6 b, .article__content h6 strong,
.article__content .h2 b,
.article__content .h2 strong, .article__content .h3 b, .article__content .h3 strong, .article__content .h4 b, .article__content .h4 strong, .article__content .h5 b, .article__content .h5 strong, .article__content .h6 b, .article__content .h6 strong, .article .is-root-container h2 b, .article .is-root-container h2 strong, .article .is-root-container h3 b, .article .is-root-container h3 strong, .article .is-root-container h4 b, .article .is-root-container h4 strong, .article .is-root-container h5 b, .article .is-root-container h5 strong, .article .is-root-container h6 b, .article .is-root-container h6 strong,
.article .is-root-container .h2 b,
.article .is-root-container .h2 strong, .article .is-root-container .h3 b, .article .is-root-container .h3 strong, .article .is-root-container .h4 b, .article .is-root-container .h4 strong, .article .is-root-container .h5 b, .article .is-root-container .h5 strong, .article .is-root-container .h6 b, .article .is-root-container .h6 strong {
  font-weight: 600;
}
.article__content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image, .article__content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item, .article__content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image, .article__content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item, .article .is-root-container .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image, .article .is-root-container .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item, .article .is-root-container .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image, .article .is-root-container .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item {
  padding-left: 0;
}
.article__content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image::before, .article__content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item::before, .article__content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image::before, .article__content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item::before, .article .is-root-container .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image::before, .article .is-root-container .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item::before, .article .is-root-container .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image::before, .article .is-root-container .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item::before {
  display: none;
}
.article__content .wp-block-separator.is-style-dots:before, .article .is-root-container .wp-block-separator.is-style-dots:before {
  content: "❅❅❅";
  height: 1em;
  font-size: 0.8em;
  width: 100%;
  background: transparent;
  margin: 0;
  left: 0;
  text-align: center;
  opacity: 0.8;
}
.article__content .has-background, .article .is-root-container .has-background {
  padding: 20px;
}
.article__content .has-background.has-orange-background-color, .article .is-root-container .has-background.has-orange-background-color {
  background-color: #E24E1B;
}
.article__content .has-background.has-ice-background-color, .article .is-root-container .has-background.has-ice-background-color {
  background-color: #E0E9E8;
}
.article__content .has-background.has-gray-background-color, .article .is-root-container .has-background.has-gray-background-color {
  background-color: #505252;
}
.article__content .has-background.has-semi-gray-background-color, .article .is-root-container .has-background.has-semi-gray-background-color {
  background-color: #DFDFDF;
}
.article__content .has-background.has-light-gray-background-color, .article .is-root-container .has-background.has-light-gray-background-color {
  background-color: #F8F8F8;
}
.article__content .has-background.has-gray-900-background-color, .article .is-root-container .has-background.has-gray-900-background-color {
  background-color: #979999;
}
.article__content .has-background.has-gray-200-background-color, .article .is-root-container .has-background.has-gray-200-background-color {
  background-color: #293032;
}
.article__content .has-background.has-formcontrol-background-color, .article .is-root-container .has-background.has-formcontrol-background-color {
  background-color: #343132;
}
.article__content .has-background.has-formtext-background-color, .article .is-root-container .has-background.has-formtext-background-color {
  background-color: #A7A7A7;
}
.article__content .has-background.has-white-background-color, .article .is-root-container .has-background.has-white-background-color {
  background-color: #FFFFFF;
}
.article__content .has-background.has-black-background-color, .article .is-root-container .has-background.has-black-background-color {
  background-color: #020100;
}
.article__content .has-text-color.has-orange-color, .article .is-root-container .has-text-color.has-orange-color {
  color: #E24E1B;
}
.article__content .has-text-color.has-ice-color, .article .is-root-container .has-text-color.has-ice-color {
  color: #E0E9E8;
}
.article__content .has-text-color.has-gray-color, .article .is-root-container .has-text-color.has-gray-color {
  color: #505252;
}
.article__content .has-text-color.has-semi-gray-color, .article .is-root-container .has-text-color.has-semi-gray-color {
  color: #DFDFDF;
}
.article__content .has-text-color.has-light-gray-color, .article .is-root-container .has-text-color.has-light-gray-color {
  color: #F8F8F8;
}
.article__content .has-text-color.has-gray-900-color, .article .is-root-container .has-text-color.has-gray-900-color {
  color: #979999;
}
.article__content .has-text-color.has-gray-200-color, .article .is-root-container .has-text-color.has-gray-200-color {
  color: #293032;
}
.article__content .has-text-color.has-formcontrol-color, .article .is-root-container .has-text-color.has-formcontrol-color {
  color: #343132;
}
.article__content .has-text-color.has-formtext-color, .article .is-root-container .has-text-color.has-formtext-color {
  color: #A7A7A7;
}
.article__content .has-text-color.has-white-color, .article .is-root-container .has-text-color.has-white-color {
  color: #FFFFFF;
}
.article__content .has-text-color.has-black-color, .article .is-root-container .has-text-color.has-black-color {
  color: #020100;
}
.article__footer {
  margin-top: 25px;
}
@media (max-width: 991px) {
  .article__footer {
    margin-top: 32px;
  }
}
/* Ссылка на страницу автора в подвале статьи (на бою автор без ссылки —
   кликабельность добавлена намеренно, июль 2026) */
.article__info-item a {
  color: inherit;
  border-bottom: 1px solid #A7A7A7;
}
@media (hover: hover) {
  .article__info-item a {
    transition: color 0.25s, border-color 0.25s;
  }
  .article__info-item a:hover {
    color: #FA6E4B;
    border-color: #FA6E4B;
  }
}

/* Блок «подпишитесь на наши соцсети» в конце статьи (WP .a-our-social) */
.a-our-social {
  margin: 25px 0;
  padding: 25px;
  background-color: #EDF3FA;
}
.a-our-social:first-child {
  margin-top: 0;
}
.a-our-social:last-child {
  margin-bottom: 0;
}
.a-our-social__sub {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 22px;
}
@media (min-width: 992px) {
  .a-our-social__sub {
    max-width: 452px;
  }
}
.a-our-social__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}
.a-our-social__item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  line-height: 20px;
  color: inherit;
}
.a-our-social__item span {
  margin-top: -2px;
  border-bottom: 1px solid #A7A7A7;
}
@media (hover: hover) {
  .a-our-social__item {
    transition: color 0.25s;
  }
  .a-our-social__item:hover {
    color: #FA6E4B;
  }
  .a-our-social__item:hover span {
    border-color: #FA6E4B;
  }
  .a-our-social__item span {
    transition: border-color 0.25s;
  }
}
@media (max-width: 991px) {
  .a-our-social {
    margin-top: 32px;
    margin-bottom: 32px;
  }
  .a-our-social__sub {
    font-size: 14px;
    line-height: 20px;
  }
}
@media (max-width: 575px) {
  .a-our-social__list {
    gap: 20px 10px;
  }
}

.article__info {
  margin-top: 25px;
  padding-top: 8px;
  padding-bottom: 8px;
  border-top: 1px solid rgba(25, 25, 25, 0.1);
}
@media (max-width: 991px) {
  .article__info {
    margin-top: 20px;
  }
}
.article__info:first-child {
  margin-top: 0;
}
.article__info-item {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.36px;
  margin-bottom: 8px;
}
.article__info-item:last-child {
  margin-bottom: 0;
}
.article__info-item span:first-child {
  padding-right: 4px;
  color: #A7A7A7;
}
.other-articles__title.section-title {
  text-align: center;
}
.other-articles__row {
  justify-content: center;
}
@media (max-width: 575px) {
  .other-articles__row {
    margin-bottom: -16px;
  }
}
.other-articles__col {
  width: 16.666666666%;
}
@media (max-width: 1199px) {
  .other-articles__col {
    width: 20%;
  }
  .other-articles__col:nth-child(6) {
    display: none;
  }
}
@media (max-width: 991px) {
  .other-articles__col {
    width: 25%;
  }
  .other-articles__col:nth-child(5) {
    display: none;
  }
}
@media (max-width: 767px) {
  .other-articles__col {
    width: 50%;
  }
}
@media (max-width: 575px) {
  .other-articles__col {
    width: 100%;
    margin-bottom: 16px;
  }
  .other-articles__col .news-card {
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(25, 25, 25, 0.1);
  }
}

.longrind-header {
  /* обложка вплотную к шапке (решение: без белого зазора, на бою он 30px);
     компенсируем site-main(25)+article(8), на мобильном 8+10 */
  margin-top: -33px;
  margin-bottom: 25px;
  background-color: #191919;
  color: #fff;
  position: relative;
  z-index: 97;
}
@media (max-width: 991px) {
  .longrind-header {
    /* шапка на мобильном 62px, а отступ site-main считан от 78 — добираем 16 */
    margin-top: -34px;
    margin-bottom: 8px;
  }
}
.longrind-header + .container .article__share {
  margin-top: 0;
}
.longrind-header__img {
  position: relative;
  padding-bottom: 49.896%;
  min-height: 500px;
}
.longrind-header__img::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) -34.17%, rgba(0, 0, 0, 0.9) 100%);
}
.longrind-header__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .longrind-header__img img {
    height: auto;
    display: flex;
    position: relative;
  }
}
@media (max-width: 767px) {
  .longrind-header__img {
    min-height: unset;
    padding-bottom: 0;
  }
}
.longrind-header__wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 60px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (max-width: 991px) {
  .longrind-header__wrap {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media (max-width: 767px) {
  .longrind-header__wrap {
    position: relative;
  }
}
@media (max-width: 575px) {
  .longrind-header__wrap {
    padding-top: 20px;
    padding-bottom: 20px;
    justify-content: flex-end;
  }
}
.longrind-header__content {
  text-align: center;
}
@media (max-width: 575px) {
  .longrind-header__content {
    text-align: left;
  }
}
.longrind-header__category {
  font-size: 10px;
  line-height: 1;
  color: #FA6E4B;
  text-transform: uppercase;
  margin-bottom: 30px;
}
@media (max-width: 991px) {
  .longrind-header__category {
    margin-bottom: 18px;
  }
}
@media (hover: hover) {
  .longrind-header__category a {
    transition: opacity 0.25s;
  }
  .longrind-header__category a:hover {
    opacity: 0.8;
  }
}
@media (min-width: 992px) {
  .longrind-header__title {
    font-size: 86px;
    line-height: 68px;
  }
}
.longrind-header__desc {
  width: 100%;
  max-width: 516px;
  margin: 20px auto 0;
}
@media (max-width: 991px) {
  .longrind-header__desc {
    margin-top: 16px;
  }
}
.longrind-header__bottom {
  margin-top: 16px;
  font-size: 10px;
  line-height: 1;
  color: #A7A7A7;
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .longrind-header__bottom {
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
  }
}
@media (max-width: 575px) {
  .longrind-header__bottom {
    justify-content: flex-start;
  }
}
@media (min-width: 992px) {
  .longrind-header__bottom span {
    display: block;
    margin-bottom: 20px;
  }
  .longrind-header__bottom span:last-child {
    margin-bottom: 0;
  }
}

.podcast-header {
  margin-top: -33px;
  margin-bottom: 25px;
  padding: 28px 0;
  background-color: #191919;
  color: #fff;
  position: relative;
  z-index: 97;
}
@media (max-width: 991px) {
  .podcast-header {
    margin-top: -34px;
    margin-bottom: 8px;
    padding-top: 36px;
    padding-bottom: 46px;
  }
}
.podcast-header + .container .article__share {
  margin-top: 0;
}
.podcast-header__img {
  width: 100%;
  max-width: 412px;
  margin: 0 auto 20px;
}
@media (max-width: 991px) {
  .podcast-header__img {
    margin-bottom: 40px;
  }
}
@media (max-width: 575px) {
  .podcast-header__img {
    max-width: 100%;
    padding-left: 52px;
    padding-right: 52px;
  }
}
.podcast-header__img img {
  width: 100%;
}
.podcast-header__content {
  text-align: center;
}
.podcast-header__category {
  font-size: 10px;
  line-height: 1;
  color: #FA6E4B;
  text-transform: uppercase;
  margin-bottom: 30px;
}
@media (max-width: 991px) {
  .podcast-header__category {
    margin-bottom: 18px;
  }
}
@media (min-width: 992px) {
  .podcast-header__title {
    font-size: 86px;
    line-height: 68px;
  }
}
.podcast-header__desc {
  width: 100%;
  max-width: 516px;
  margin: 20px auto 0;
}
@media (max-width: 991px) {
  .podcast-header__desc {
    margin-top: 16px;
  }
}
.podcast-header__bottom {
  margin-top: 16px;
  font-size: 10px;
  line-height: 1;
  color: #A7A7A7;
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .podcast-header__bottom {
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
  }
}
@media (min-width: 992px) {
  .podcast-header__bottom span {
    display: block;
    margin-bottom: 30px;
  }
  .podcast-header__bottom span:last-child {
    margin-bottom: 0;
  }
}

.all-listen__title {
  padding-bottom: 16px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(25, 25, 25, 0.1);
}
@media (max-width: 991px) {
  .all-listen__title {
    padding-bottom: 8px;
    margin-bottom: 16px;
  }
}
/* Сами кнопки платформ — .podcast-links--lg в cards.css: ссылки приходят
   из подписи к обложке голыми <a>, обёрток .all-listen__col у нас нет */

@media (max-width: 575px) {
  .longrid-single__wrap .container {
    padding: 0;
  }
}

.post-top {
  padding-top: 42px;
}
@media (max-width: 991px) {
  .post-top {
    padding-top: 9px;
  }
}

.post-content__wrap {
  max-width: 635px;
  margin: 0 auto;
}
@media (max-width: 991px) {
  .post-content__wrap {
    max-width: 100%;
  }
}
.post-content__wrap--full {
  max-width: 100%;
}
.post-content__title {
  text-align: center;
  letter-spacing: 0.46px;
  margin-bottom: 50px;
}
@media (max-width: 1199px) {
  .post-content__title {
    letter-spacing: normal;
  }
}
@media (max-width: 991px) {
  .post-content__title {
    margin-bottom: 32px;
  }
}
.post-content__title:last-child {
  margin-bottom: 0;
}

.opinions__row {
  align-items: stretch;
  margin-bottom: -25px;
}
@media (max-width: 575px) {
  .opinions__row {
    margin-bottom: -15px;
  }
}
.opinions__col {
  width: 25%;
  margin-bottom: 25px;
}
@media (max-width: 1199px) {
  .opinions__col {
    width: 50%;
  }
}
@media (max-width: 575px) {
  .opinions__col {
    width: 100%;
    margin-bottom: 15px;
  }
}
.opinions__col--lg {
  width: 50%;
}
@media (max-width: 991px) {
  .opinions__col--lg {
    width: 100%;
  }
}
