/* ==========================================================================
   Treść z edytora bloków (.entry-content) + style bloków z inc/blocks.php.
   Ładowane na froncie i w edytorze, żeby redaktor widział to samo co pacjent.
   ========================================================================== */

.entry-content { font: 400 16px/30px var(--font-body); letter-spacing: .03em; color: var(--lx-text); }
.entry-content > * { margin-top: 0; margin-bottom: 0; }
.entry-content > * + * { margin-top: 20px; }
.entry-content > h2 { font: 500 30px/36px var(--font-heading); letter-spacing: .03em; margin-top: 48px; }
.entry-content > h2:first-child { margin-top: 0; }
.entry-content > h3 { font: 500 20px/26px var(--font-heading); letter-spacing: .03em; margin-top: 32px; }
.entry-content a { text-decoration: underline; }
.entry-content ul:not([class*="is-style"]) { list-style: disc; padding-left: 24px; }
.entry-content ol:not([class*="is-style"]) { list-style: decimal; padding-left: 24px; }
.entry-content strong { font-weight: 700; }
@media (max-width: 767px) {
	.entry-content { font-size: 15px; line-height: 26px; }
	.entry-content > h2 { font-size: 23px; line-height: 30px; margin-top: 32px; }
}

/* Wstęp */
.is-style-lead { font: 400 18px/30px var(--font-body); letter-spacing: 0; }

/* Lista z ptaszkami – przy 6+ punktach automatycznie w dwóch kolumnach */
ul.is-style-checklist { display: grid; gap: 16px; list-style: none; padding: 0; }
ul.is-style-checklist:has(> li:nth-child(6)) { grid-template-columns: 1fr 1fr; column-gap: 16px; }
ul.is-style-checklist li { display: flex; gap: 12px; font: 400 16px/24px var(--font-body); letter-spacing: 0; }
ul.is-style-checklist li::before {
	content: ""; flex: none; width: 24px; height: 24px; border-radius: 50%;
	background: var(--lx-tag-new) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='%230B882B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;
}
@media (max-width: 767px) { ul.is-style-checklist:has(> li:nth-child(6)) { grid-template-columns: 1fr; } }

/* Etykiety (np. badania) */
ul.is-style-chips { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; }
ul.is-style-chips li { padding: 10px 18px; border-radius: 24px; border: 1px solid var(--lx-stroke); background: #fff; font: 400 14px/22px var(--font-body); letter-spacing: 0; }

/* Kafelki (np. badania w programie) */
ul.is-style-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; list-style: none; padding: 0; }
ul.is-style-tiles li { display: grid; gap: 12px; align-content: start; padding: 20px; border-radius: var(--r-m); background: var(--lx-bg-blue); font: 600 14px/22px var(--font-body); letter-spacing: 0; }
ul.is-style-tiles li::before {
	content: ""; width: 40px; height: 40px; border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='%23005AA9' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat;
}
@media (max-width: 1099px) { ul.is-style-tiles { grid-template-columns: repeat(2, 1fr); } }

/* Kroki 1-2-3: pierwszy pogrubiony fragment = tytuł kroku */
ol.is-style-steps { display: grid; gap: 24px; list-style: none; padding: 0; counter-reset: step; }
ol.is-style-steps li { position: relative; padding: 8px 0 0 60px; min-height: 40px; counter-increment: step; color: var(--lx-text-secondary); font: 400 16px/24px var(--font-body); letter-spacing: 0; }
ol.is-style-steps li::before { content: counter(step); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--lx-primary); color: #fff; font: 500 20px/1 var(--font-heading); }
ol.is-style-steps li strong { display: block; margin-bottom: 4px; color: var(--lx-text); font: 500 20px/26px var(--font-heading); letter-spacing: .03em; }

/* Ramki informacyjne */
p.is-style-infobox, p.is-style-infobox-green {
	position: relative; padding: 20px 24px 20px 64px; border-radius: var(--r-m);
	background: var(--lx-bg-alice); font: 400 16px/24px var(--font-body); letter-spacing: 0;
}
p.is-style-infobox::before, p.is-style-infobox-green::before {
	content: "i"; position: absolute; left: 24px; top: 20px; width: 22px; height: 22px; border: 1.6px solid var(--lx-primary); border-radius: 50%;
	display: grid; place-items: center; color: var(--lx-primary); font: 700 13px/1 var(--font-body);
}
p.is-style-infobox-green { background: var(--lx-tag-new); }
p.is-style-infobox-green::before { border-color: var(--lx-green-dark); color: var(--lx-green-dark); }

/* Media i tekst = sekcja „split” z projektu */
.wp-block-media-text { gap: 96px; grid-template-columns: 1fr 1fr !important; align-items: center; }
.wp-block-media-text .wp-block-media-text__content { padding: 0 !important; display: grid; gap: 24px; }
.wp-block-media-text img { border-radius: var(--r-xl); width: 100%; aspect-ratio: 522 / 480; object-fit: cover; }
.wp-block-media-text h2 { font: 700 35px/42px var(--font-heading); }
@media (max-width: 767px) {
	.wp-block-media-text { gap: 24px; grid-template-columns: 1fr !important; }
	.wp-block-media-text .wp-block-media-text__media { grid-row: 1 !important; grid-column: 1 !important; }
	.wp-block-media-text .wp-block-media-text__content { grid-row: 2 !important; grid-column: 1 !important; }
	.wp-block-media-text img { aspect-ratio: 388 / 240; border-radius: var(--r-l); }
	.wp-block-media-text h2 { font-size: 26px; line-height: 32px; }
}

/* Oś czasu – kolumny jako karty, ostatnia wyróżniona */
.wp-block-columns.is-style-timeline { gap: 24px; }
.wp-block-columns.is-style-timeline > .wp-block-column { padding: 32px; border-radius: var(--r-xl); background: #fff; box-shadow: var(--sh-blue); display: grid; gap: 16px; align-content: start; }
.wp-block-columns.is-style-timeline > .wp-block-column > * { margin: 0; }
.wp-block-columns.is-style-timeline > .wp-block-column > :first-child { font: 700 35px/42px var(--font-heading); color: var(--lx-primary); padding-bottom: 20px; background: linear-gradient(var(--lx-green), var(--lx-green)) left bottom / 40px 4px no-repeat; }
.wp-block-columns.is-style-timeline > .wp-block-column h3 { font: 500 20px/26px var(--font-heading); }
.wp-block-columns.is-style-timeline > .wp-block-column p:not(:first-child) { font: 400 14px/22px var(--font-body); color: var(--lx-text-secondary); letter-spacing: 0; }
.wp-block-columns.is-style-timeline > .wp-block-column:last-child { background: var(--lx-primary); color: #fff; box-shadow: none; }
.wp-block-columns.is-style-timeline > .wp-block-column:last-child > :first-child { color: #fff; background-image: linear-gradient(#fff, #fff); }
.wp-block-columns.is-style-timeline > .wp-block-column:last-child p { color: #fff !important; }

/* Sekcja na niebieskim tle (najlepiej z wyrównaniem „pełna szerokość”) */
.wp-block-group.is-style-section-blue { background: var(--lx-bg-blue); padding-top: var(--section-y); padding-bottom: var(--section-y); }
.entry-content > .alignfull { margin-top: var(--section-y); }
.wp-block-group.alignfull { padding-left: var(--gutter); padding-right: var(--gutter); }
.wp-block-group.is-style-section-blue > h2 { font: 700 35px/42px var(--font-heading); margin-bottom: 40px; }
@media (max-width: 767px) { .wp-block-group.is-style-section-blue > h2 { font-size: 26px; line-height: 32px; margin-bottom: 24px; } }

/* Przyciski z edytora → komponent Button */
.wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 32px; border-radius: 24px; background: var(--lx-primary); color: #fff; font: 400 16px/24px var(--font-body); text-decoration: none !important; }
.wp-block-button__link:hover { background: var(--lx-primary-hover); }
.is-style-outline .wp-block-button__link { background: #fff; color: var(--lx-primary); border: 1px solid var(--lx-primary); }

/* Tabela */
.entry-content table { width: 100%; border-collapse: collapse; font: 400 14px/22px var(--font-body); }
.entry-content th, .entry-content td { padding: 12px 16px; border-bottom: 1px solid var(--lx-stroke-medium); text-align: left; }
.entry-content th { background: var(--lx-bg-blue); font-weight: 600; }

/* Obrazki */
.entry-content .wp-block-image img { border-radius: var(--r-l); }

/* Kolory z palety (theme.json) – na wypadek wyłączonych stylów globalnych */
.has-green-dark-color { color: var(--lx-green-dark) !important; }
.has-primary-color { color: var(--lx-primary) !important; }
.wp-block-media-text .has-green-dark-color { font: 600 18px/24px var(--font-body); letter-spacing: 0; }
