/* Treść wpisu: core/post-content z klasą phx-entry (szablon single-post) i korzeń treści edytora wpisu
   (.editor-styles-wrapper .is-root-container – plik ładuje się w panelu tylko na ekranie wpisu, Blog\Integration).
   Style bloków natywnych na tokenach wyłącznie dla bezpośrednich dzieci treści i ich wnętrza – sekcje phx i grupy
   w stylu sekcji mają własne style (components.css). Strony i pozostałe szablony bez zmian: plik ładuje się tylko dla
   is_singular('post'). Branding przez --wp--preset--* / --wp--custom--* / --phx-* (composer lint), układ dowolnie.
   Kolumna czytania: layout constrained core/post-content (contentSize = layout.contentWidth).
   Zmienne kontekstu --phx-* (components.css) są ustawione tylko w sekcjach / .phx-ctx-* (i na body z woocommerce.css),
   więc poza sekcjami fallback na tokeny kontekstu jasnego. */

/* marginesy boczne jak .phx-container; sekcje na pełną szerokość (alignfull) i grupy w stylu sekcji wychodzą poza nie */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) {
  --phx-entry-pad: var(--wp--preset--spacing--30);
  --phx-entry-bleed: calc(var(--phx-entry-pad) * -1);
  padding-inline: var(--phx-entry-pad);
}
@media (min-width: 782px) {
  :is(.phx-entry, .editor-styles-wrapper .is-root-container) { --phx-entry-pad: var(--wp--preset--spacing--40); }
}
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .alignfull { margin-inline: var(--phx-entry-bleed); }
/* grupa w stylu sekcji bez align: layout constrained centruje dzieci przez margin auto !important */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-group[class*="is-style-phx-section"] { margin-inline: var(--phx-entry-bleed) !important; }

/* odstęp od stopki; treść kończąca się sekcją na pełną szerokość – bez dolnego odstępu (sekcja ma własny) */
.phx-entry { padding-bottom: var(--wp--custom--derived--space--section); }
.phx-entry:has(> .alignfull:last-child) { padding-bottom: 0; }

/* rytm pionowy między blokami treści, większy nad nagłówkami, mniejszy pod nimi; sekcje na pełną szerokość i grupy
   w stylu sekcji poza rytmem – mają własne odstępy i stykają się jak na stronach (components.css) */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > * + :where(:not(.alignfull, .wp-block-group[class*="is-style-phx-section"])) { margin-block-start: var(--wp--preset--spacing--30); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > * + .wp-block-heading { margin-block-start: var(--wp--preset--spacing--40); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-heading + * { margin-block-start: var(--wp--preset--spacing--20); }

/* nagłówki h2–h4: rozmiar i krój ze styles.elements (theme.json); h5/h6 – rozmiary z tokenów */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-heading { margin-block-end: 0; color: var(--phx-heading-color, currentColor); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > h5.wp-block-heading { font-size: var(--wp--preset--font-size--s); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > h6.wp-block-heading { font-size: var(--wp--preset--font-size--xs); }

/* akapity: rozmiar i interlinia treści */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > p { font-size: var(--wp--preset--font-size--s); line-height: var(--wp--custom--type--body--line-height); }

/* linki w tekście: kolor marki, podkreślenie */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > :is(p, .wp-block-list, .wp-block-quote, .wp-block-image) a { color: var(--phx-link, var(--wp--preset--color--brand-text)); text-decoration: underline; text-underline-offset: 0.2em; }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > :is(p, .wp-block-list, .wp-block-quote, .wp-block-image) a:hover { text-decoration-thickness: 2px; }

/* listy: wcięcie, odstęp elementów, znacznik w kolorze marki, lista zagnieżdżona */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-list { padding-inline-start: var(--wp--preset--spacing--30); line-height: var(--wp--custom--type--body--line-height); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-list li + li { margin-top: var(--wp--preset--spacing--10); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-list li::marker { color: var(--phx-link, var(--wp--preset--color--brand-text)); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-list .wp-block-list { margin-top: var(--wp--preset--spacing--10); padding-inline-start: var(--wp--preset--spacing--30); }

/* cytat: lewa krawędź w kolorze marki, większa czcionka, cite wyciszony */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-quote { padding-inline-start: var(--wp--preset--spacing--30); border-inline-start: 3px solid var(--phx-link, var(--wp--preset--color--brand-text)); font-size: var(--wp--preset--font-size--m); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-quote > * { margin-block: 0; }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-quote > * + * { margin-block-start: var(--wp--preset--spacing--20); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-quote > cite { display: block; font-size: var(--wp--preset--font-size--xs); font-style: normal; color: var(--phx-fg-muted, var(--wp--preset--color--muted)); }

/* obraz: promień z tokenów, podpis mniejszy i wyciszony */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-image img { border-radius: var(--wp--custom--derived--radius--element); }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > .wp-block-image figcaption { margin-top: var(--wp--preset--spacing--10); margin-bottom: 0; font-size: var(--wp--preset--font-size--xs); color: var(--phx-fg-muted, var(--wp--preset--color--muted)); text-align: start; }

/* separator: kolor obramowania, szerokość kolumny czytania (zamiast 100 px core), większy odstęp */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > hr.wp-block-separator.wp-block-separator { width: auto; border: 0; border-top: 1px solid var(--phx-border, var(--wp--preset--color--border)); opacity: 1; }
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > * + hr.wp-block-separator,
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > hr.wp-block-separator + * { margin-block-start: var(--wp--preset--spacing--40); }

/* kod w tekście: tło jasnej powierzchni, krój monospace przeglądarki dla code (motyw nie ma tokenu kroju mono) */
:is(.phx-entry, .editor-styles-wrapper .is-root-container) > :is(p, .wp-block-list, .wp-block-quote) code {
  padding: 0 var(--wp--preset--spacing--10);
  border-radius: var(--wp--custom--derived--radius--element);
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--on-surface);
  font-size: var(--wp--preset--font-size--xs);
}
