/* =========================================================
   Блоки ядра, которых нет в макете: текст статьи и блоки, собранные пользователем из стандартных
   элементов (группа, колонки, медиа и текст, таблица, цитата…). Вид — из токенов дизайн-системы
   (design.css), поэтому следует за «Стилями» (цвета, шрифты). Подключается на сайте и в редакторе.
   Секции макета (классы pl-…) эти правила не трогают.
   ========================================================= */

/* ---------- 1. Текст статьи ---------- */

/* Изображения: подпись, обтекание (фото слева/справа), на телефоне — на всю ширину */
body.pl-site:not(#pl) .pl-article-content figcaption,
body.pl-site:not(#pl) .pl-article-content .wp-element-caption{margin:12px 0 0;font-family:var(--pl-sans);font-size:14px;font-weight:400;line-height:1.5;color:var(--pl-muted);text-align:left}
body.pl-site:not(#pl) .pl-article-content > .alignleft{float:left;margin:6px 36px 16px 0;max-width:50%}
body.pl-site:not(#pl) .pl-article-content > .alignright{float:right;margin:6px 0 16px 36px;max-width:50%}
body.pl-site:not(#pl) .pl-article-content > .aligncenter{margin-inline:auto;text-align:center}
body.pl-site:not(#pl) .pl-article-content > :is(h2,h3,h4,h5,h6,.wp-block-quote,.wp-block-pullquote,.wp-block-gallery,.wp-block-table,
  .wp-block-columns,.wp-block-media-text,.wp-block-cover,.wp-block-group,.wp-block-buttons,.wp-block-separator,.wp-block-details,
  .wp-block-embed,.wp-block-code,.wp-block-preformatted,.wp-block-image:not(.alignleft):not(.alignright)){clear:both}
body.pl-site:not(#pl) .pl-article-content img{height:auto;max-width:100%}

/* Цитата: курсив шрифтом заголовков, линия акцента слева, подпись — как мета */
body.pl-site:not(#pl) .pl-article-content .wp-block-quote{margin-inline:0;padding:4px 0 4px 28px;border:0;border-left:1px solid var(--pl-gold);
  font-family:var(--pl-serif);font-size:var(--pl-fs-h3);font-style:italic;font-weight:300;line-height:1.35;color:var(--pl-dark);background:none}
body.pl-site:not(#pl) .pl-article-content .wp-block-quote p{font:inherit;color:inherit;margin:0}
body.pl-site:not(#pl) .pl-article-content .wp-block-quote p + p{margin-top:12px}
body.pl-site:not(#pl) .pl-article-content :is(.wp-block-quote,.wp-block-pullquote) cite{display:block;margin-top:14px;font-family:var(--pl-sans);font-size:var(--pl-fs-meta);
  font-style:normal;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--pl-muted)}

/* Выделенная цитата: крупно, по центру, линии сверху и снизу */
body.pl-site:not(#pl) .pl-article-content .wp-block-pullquote{margin-inline:0;padding:36px 0;border:0;border-top:1px solid var(--pl-line);border-bottom:1px solid var(--pl-line);
  text-align:center;font-size:inherit}
body.pl-site:not(#pl) .pl-article-content .wp-block-pullquote blockquote{margin:0;padding:0;border:0}
body.pl-site:not(#pl) .pl-article-content .wp-block-pullquote p{font-family:var(--pl-serif);font-size:var(--pl-fs-h3);font-style:italic;font-weight:300;line-height:1.35;color:var(--pl-dark);margin:0}

/* Галерея: промежутки между фото (у темы общий промежуток блоков — 0) */
body.pl-site:not(#pl) .pl-article-content .wp-block-gallery{--wp--style--unstable-gallery-gap:12px;gap:12px}

/* Таблица: тонкие линии, заголовок слева; на телефоне — прокрутка вбок, а не слова по буквам */
body.pl-site:not(#pl) .pl-article-content .wp-block-table{overflow-x:auto}
body.pl-site:not(#pl) .pl-article-content .wp-block-table table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5}
body.pl-site:not(#pl) .pl-article-content .wp-block-table :is(th,td){padding:12px 16px;border:1px solid var(--pl-line);text-align:left;vertical-align:top}
body.pl-site:not(#pl) .pl-article-content .wp-block-table th{font-weight:500;color:var(--pl-dark);background:var(--pl-beige)}
body.pl-site:not(#pl) .pl-article-content .wp-block-table thead{border-bottom:1px solid var(--pl-line-btn)}
body.pl-site:not(#pl) .pl-article-content .wp-block-table figcaption{text-align:left}

/* Код и преформатированный текст */
body.pl-site:not(#pl) .pl-article-content :is(.wp-block-code,.wp-block-preformatted){margin-inline:0;padding:16px 20px;border:0;border-radius:12px;background:var(--pl-beige);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:1.6;color:var(--pl-dark);white-space:pre-wrap;overflow-wrap:anywhere}
body.pl-site:not(#pl) .pl-article-content .wp-block-code code{font:inherit}

/* Раскрывающийся блок: заголовок жирнее, линии сверху и снизу */
body.pl-site:not(#pl) .pl-article-content .wp-block-details{padding:16px 0;border-top:1px solid var(--pl-line);border-bottom:1px solid var(--pl-line)}
body.pl-site:not(#pl) .pl-article-content .wp-block-details summary{cursor:pointer;font-weight:500;color:var(--pl-dark)}

/* Разделитель */
body.pl-site:not(#pl) .pl-article-content .wp-block-separator{border:0;border-top:1px solid var(--pl-line);height:0;opacity:1}

@media (max-width:767px){
  body.pl-site:not(#pl) .pl-article-content > :is(.alignleft,.alignright){float:none;max-width:100%;margin:22px 0 0}
  body.pl-site:not(#pl) .pl-article-content > :is(.alignleft,.alignright) img{width:100%}
  body.pl-site:not(#pl) .pl-article-content .wp-block-table table{min-width:520px;font-size:15px}
  body.pl-site:not(#pl) .pl-article-content .wp-block-table :is(th,td){padding:10px 12px}
  body.pl-site:not(#pl) .pl-article-content .wp-block-gallery{--wp--style--unstable-gallery-gap:8px;gap:8px}
  body.pl-site:not(#pl) .pl-article-content .wp-block-pullquote{padding:28px 0}
}

/* ---------- 2. Блоки пользователя (без классов макета): промежутки между элементами ----------
   У темы общий промежуток блоков — 0 (вёрстку задаёт макет), поэтому в группе, колонке, «Медиа и тексте»,
   обложке элементы шли бы вплотную. Макет собран из групп с раскладкой «по умолчанию» (is-layout-flow), без колонок,
   строк и стеков — эти правила его не задевают: «Группа» из вставки блоков — is-layout-constrained,
   «Строка», «Стек» — is-layout-flex, «Сетка» — is-layout-grid. */
body.pl-site:not(#pl) :is(.wp-block-group.is-layout-constrained,.wp-block-column,.wp-block-details):not([class*="pl-"]) > * + *,
body.pl-site:not(#pl) :is(.wp-block-media-text__content,.wp-block-cover__inner-container) > * + *{margin-top:16px}
body.pl-site:not(#pl) .wp-block-group:is(.is-layout-flex,.is-layout-grid):not([class*="pl-"]){gap:16px}
body.pl-site:not(#pl) .wp-block-columns:not([class*="pl-"]){gap:32px}

/* ---------- 3. Блоки пользователя на странице (верхний уровень, вне секций макета) ----------
   Поля по бокам и ширина — как у секций макета (контейнер pl-wrap), фон группы — на всю ширину.
   Свои отступы из настроек блока — сильнее. */
body.pl-site:not(#pl) main.wp-block-post-content > :not([class*="pl-"]){
  padding-inline:max(var(--pl-gutter), calc((100% - var(--pl-max)) / 2 + var(--pl-gutter)));margin-block:0}
/* отступ от секций макета и между своими блоками: первый после секции — как у секции, следующие — 24px */
body.pl-site:not(#pl) main.wp-block-post-content > :not([class*="pl-"]):first-child,
body.pl-site:not(#pl) main.wp-block-post-content > [class*="pl-"] + :not([class*="pl-"]),
body.pl-site:not(#pl) main.wp-block-post-content > .has-background:not([class*="pl-"]) + :not([class*="pl-"]){margin-top:var(--pl-sec-sm)}
body.pl-site:not(#pl) main.wp-block-post-content > :not([class*="pl-"]) + :not([class*="pl-"]){margin-top:24px}
body.pl-site:not(#pl) main.wp-block-post-content > :not([class*="pl-"]):last-child,
body.pl-site:not(#pl) main.wp-block-post-content > :not([class*="pl-"]):has(+ [class*="pl-"]),
body.pl-site:not(#pl) main.wp-block-post-content > :not([class*="pl-"]):has(+ .has-background:not([class*="pl-"])){margin-bottom:var(--pl-sec-sm)}
/* группа с фоном — полоса во всю ширину: отступы внутри, снаружи — без */
body.pl-site:not(#pl) main.wp-block-post-content > .has-background:not([class*="pl-"]){margin-block:0;padding-block:var(--pl-sec-sm)}
