/* =============================================
   СОДЕРЖИМОЕ ИЗ БЛОЧНОГО РЕДАКТОРА (.post-content)
   =============================================
   Блоки ядра в стилях сайта. Один файл и для сайта (новость, template-parts/news-page.php),
   и для редактора (add_editor_style, inc/blocks.php): корень — .post-content на сайте и .is-root-container в редакторе.
   Размеры текста на сайте задают классы components.css, которые inc/blocks.php вешает на блоки
   (заголовки, кнопки, выделенная цитата, подписи) — здесь только ритм, цвета и оформление.
   CSS ядра блоков грузится после темы, поэтому правила, которые с ним спорят, — с корнем в селекторе. */

/* ---- Ритм ---- */
:is(.post-content, .is-root-container) > * + *,
:is(.post-content, .is-root-container) :is(.wp-block-group, .wp-block-column, .wp-block-cover__inner-container, .wp-block-media-text__content, .wp-block-details, .wp-block-quote) > * + * {
  margin-top: 1em;
}

:is(.post-content, .is-root-container) * + .wp-block-heading {
  margin-top: 40px;
}

:is(.post-content, .is-root-container) .wp-block-heading + * {
  margin-top: 16px;
}

:is(.post-content, .is-root-container) :is(.wp-block-spacer, .wp-block-spacer + *) {
  margin-top: 0;
}

/* Классический HTML (обтекание картинок): float не выпадает за контент */
.post-content::after {
  content: '';
  display: block;
  clear: both;
}

.wp-block-video video {
	width: 100%;
    height: 100%;
    max-height: 600px;
    object-fit: contain;
}

/* ---- Текст ---- */
:is(.post-content, .is-root-container) .wp-block-heading {
  color: var(--text-heading);
}

:is(.post-content, .is-root-container) a:where(:not(.wp-element-button)) {
  color: var(--accent-green);
  text-decoration: underline;
  text-underline-offset: .15em;
  border-radius: 2px;
}

@media (hover: hover) {
  :is(.post-content, .is-root-container) a:where(:not(.wp-element-button)):hover {
    text-decoration: none;
  }
}

:is(.post-content, .is-root-container) a:where(:not(.wp-element-button)):focus-visible {
  outline: 2px solid var(--accent-green);
  outline-offset: 2px;
}

:is(.post-content, .is-root-container) :is(strong, b) {
  font-weight: 700;
}

:is(.post-content, .is-root-container) :is(code, kbd, samp, pre:not(.wp-block-verse)) {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

:is(.post-content, .is-root-container) :not(pre) > code {
  padding: .1em .35em;
  border-radius: 4px;
  background: var(--bg-card);
}

/* Тёмный фон из палитры (группа, колонка, обложка) — светлый текст, заголовки и ссылки наследуют */
:is(.post-content, .is-root-container) :is(.has-bg-dark-background-color, .has-accent-green-background-color, .has-text-heading-background-color, .has-text-primary-background-color) {
  color: var(--bg-white);
}

:is(.post-content, .is-root-container) :is(.has-bg-dark-background-color, .has-accent-green-background-color, .has-text-heading-background-color, .has-text-primary-background-color, .wp-block-cover:not(.is-light)) :is(.wp-block-heading, a:where(:not(.wp-element-button))):not(.has-text-color) {
  color: inherit;
}

/* ---- Списки ---- */
:is(.post-content, .is-root-container) :is(ul, ol):where(:not(.wp-block-gallery, .blocks-gallery-grid)) {
  padding-left: 24px;
}

:is(.post-content, .is-root-container) ul:where(:not(.wp-block-gallery, .blocks-gallery-grid)) > li {
  list-style: disc;
}

:is(.post-content, .is-root-container) ol > li {
  list-style: decimal;
}

:is(.post-content, .is-root-container) li ul > li {
  list-style: circle;
}

:is(.post-content, .is-root-container) li + li,
:is(.post-content, .is-root-container) li > :is(ul, ol) {
  margin-top: .4em;
}

/* ---- Цитата ---- */
:is(.post-content, .is-root-container) .wp-block-quote {
  padding-left: 20px;
  border-left: 3px solid var(--accent-green);
  color: var(--text-desc);
}

:is(.post-content, .is-root-container) .wp-block-quote.is-style-plain {
  padding-left: 0;
  border-left: none;
}

:is(.post-content, .is-root-container) .wp-block-quote cite {
  display: block;
  margin-top: 12px;
  font-style: normal;
  color: var(--text-tip);
}

/* ---- Выделенная цитата (размер — .text-lead) ---- */
:is(.post-content, .is-root-container) .wp-block-pullquote {
  margin-bottom: 0;
  padding: 32px 0;
  border-top: 2px solid var(--accent-green);
  border-bottom: 2px solid var(--accent-green);
  color: var(--text-heading);
}

:is(.post-content, .is-root-container) .wp-block-pullquote cite {
  margin-top: 16px;
  font-style: normal;
  color: var(--text-tip);
}

/* ---- Изображения, медиа, подписи ---- */
:is(.post-content, .is-root-container) :is(img, video, iframe) {
  max-width: 100%;
}

.post-content img {
  height: auto;
}

.post-content iframe {
  display: block;
}

:is(.post-content, .is-root-container) :is(.wp-block-image, .wp-block-embed, .wp-block-video, .wp-block-audio, .wp-block-table) > figcaption,
:is(.post-content, .is-root-container) .blocks-gallery-caption,
:is(.post-content, .is-root-container) .wp-caption-text {
  margin-top: 8px;
  color: var(--text-tip);
}

:is(.post-content, .is-root-container) .wp-caption {
  max-width: 100%;
}

:is(.post-content, .is-root-container) .aligncenter {
  margin-left: auto;
  margin-right: auto;
}

:is(.post-content, .is-root-container) .alignleft {
  float: left;
  margin: 0 24px 16px 0;
}

:is(.post-content, .is-root-container) .alignright {
  float: right;
  margin: 0 0 16px 24px;
}

:is(.post-content, .is-root-container) .wp-block-audio audio {
  width: 100%;
}

/* ---- Обложка, группа, колонки ---- */
:is(.post-content, .is-root-container) .wp-block-cover {
  padding: 40px;
}

:is(.post-content, .is-root-container) .wp-block-group.has-background {
  padding: 32px 40px;
}

:is(.post-content, .is-root-container) .wp-block-columns {
  gap: 24px 40px;
}

/* ---- Таблица ---- */
:is(.post-content, .is-root-container) .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

:is(.post-content, .is-root-container) .wp-block-table :is(th, td) {
  padding: 12px 16px;
  border: 1px solid var(--stroke);
  vertical-align: top;
}

:is(.post-content, .is-root-container) .wp-block-table th {
  font-weight: 700;
  color: var(--text-heading);
}

:is(.post-content, .is-root-container) .wp-block-table thead {
  border-bottom: 2px solid var(--accent-green);
  background: var(--bg-card);
}

:is(.post-content, .is-root-container) .wp-block-table tfoot {
  border-top: 2px solid var(--accent-green);
}

:is(.post-content, .is-root-container) .wp-block-table.is-style-stripes {
  border-bottom: none;
}

:is(.post-content, .is-root-container) .wp-block-table.is-style-stripes :is(th, td) {
  border-color: transparent;
}

:is(.post-content, .is-root-container) .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--bg-card);
}

/* ---- Разделитель: цвет — currentColor, поэтому меняется палитрой ---- */
:is(.post-content, .is-root-container) .wp-block-separator {
  margin-top: 40px;
  margin-bottom: 40px;
  border: none;
  border-top: 1px solid currentColor;
  color: var(--accent-green);
}

:is(.post-content, .is-root-container) .wp-block-separator.is-style-dots {
  border-top: none;
}

:is(.post-content, .is-root-container) .wp-block-separator + * {
  margin-top: 0;
}

/* ---- Кнопки (на сайте — .btn из components.css) ---- */
:is(.post-content, .is-root-container) .wp-block-buttons {
  gap: 16px;
}

.post-content .wp-block-button__link.btn {
  display: inline-flex;
}

/* ---- Файл: ссылка на файл + кнопка «Скачать» (.btn--secondary .btn--sm) ---- */
:is(.post-content, .is-root-container) .wp-block-file {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  font-size: inherit;
}

:is(.post-content, .is-root-container) .wp-block-file * + .wp-block-file__button {
  margin-left: 0;
}

/* ---- Подробности (раскрывающийся блок) ---- */
:is(.post-content, .is-root-container) .wp-block-details {
  padding: 16px 0;
  border-top: 1px solid var(--stroke);
  border-bottom: 1px solid var(--stroke);
}

:is(.post-content, .is-root-container) .wp-block-details + .wp-block-details {
  margin-top: 0;
  border-top: none;
}

:is(.post-content, .is-root-container) .wp-block-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-weight: 700;
  color: var(--text-heading);
  cursor: pointer;
  list-style: none;
}

:is(.post-content, .is-root-container) .wp-block-details summary::-webkit-details-marker {
  display: none;
}

:is(.post-content, .is-root-container) .wp-block-details summary::after {
  content: '';
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-color: var(--accent-green);
  -webkit-mask: url('../imgs/icons/chevron.svg') center / contain no-repeat;
  mask: url('../imgs/icons/chevron.svg') center / contain no-repeat;
  transition: transform 180ms ease-out;
}

:is(.post-content, .is-root-container) .wp-block-details[open] summary::after {
  transform: rotate(180deg);
}

:is(.post-content, .is-root-container) .wp-block-details summary:focus-visible {
  outline: 2px solid var(--accent-green);
  outline-offset: 4px;
  border-radius: 4px;
}

/* ---- Код, преформатированный текст, стихи ---- */
:is(.post-content, .is-root-container) :is(.wp-block-code, .wp-block-preformatted, .wp-block-verse) {
  padding: 16px 20px;
  border-radius: 10px;
  background: var(--bg-card);
  overflow-x: auto;
}

@media (max-width: 768px) {
  :is(.post-content, .is-root-container) * + .wp-block-heading {
    margin-top: 28px;
  }

  :is(.post-content, .is-root-container) .wp-block-heading + * {
    margin-top: 12px;
  }

  :is(.post-content, .is-root-container) :is(.alignleft, .alignright) {
    float: none;
    margin: 0 0 16px;
  }

  :is(.post-content, .is-root-container) .wp-block-cover,
  :is(.post-content, .is-root-container) .wp-block-group.has-background {
    padding: 20px;
  }

  :is(.post-content, .is-root-container) .wp-block-separator {
    margin-top: 28px;
    margin-bottom: 28px;
  }

  :is(.post-content, .is-root-container) .wp-block-table :is(th, td) {
    padding: 8px 12px;
  }
}
