/* LAGOM: drobne uzupełnienia do theme.json. Cały system (kolory, fonty, odstępy) jest w theme.json. */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.has-text-align-center { margin-inline: auto; }
img { height: auto; }
::selection { background: var(--wp--preset--color--piasek); }

/* Widoczny focus dla wszystkiego, co klikalne. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--akcent);
	outline-offset: 3px;
}

/* Link „przejdź do treści” (dodaje rdzeń), jasny i czytelny. */
.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--tlo); color: var(--wp--preset--color--grafit); }

/* Nadtytuł: małe wersaliki z rozstrzeleniem. */
.is-style-nadtytul {
	font-size: 0.8125rem !important;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--akcent-tekst);
	margin-bottom: 0.75rem !important;
}
.has-czern-background-color .is-style-nadtytul,
.wp-block-cover .is-style-nadtytul { color: #fff; opacity: 0.92; }

/* Tekst prowadzący (lead). */
.is-style-lead { font-size: var(--wp--preset--font-size--sredni); font-weight: 300; line-height: 1.55; }

/* Przyciski: wariant jasny (na zdjęciu) i obrysowany. */
.wp-block-button.is-style-jasny .wp-block-button__link {
	background: #fff; color: var(--wp--preset--color--czern); border-color: #fff;
}
.wp-block-button.is-style-jasny .wp-block-button__link:hover {
	background: var(--wp--preset--color--piasek); color: var(--wp--preset--color--czern); border-color: var(--wp--preset--color--piasek);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--czern); border: 1px solid var(--wp--preset--color--czern);
	padding-top: 0.8rem; padding-bottom: 0.8rem;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--czern); color: #fff; border-color: var(--wp--preset--color--czern);
}
.wp-block-button.is-style-tekst .wp-block-button__link {
	background: transparent; border-color: transparent; color: inherit;
	padding-left: 0; padding-right: 0; text-decoration: underline; text-underline-offset: 0.3em;
}
.wp-block-button.is-style-tekst .wp-block-button__link:hover { color: var(--wp--preset--color--akcent); background: transparent; border-color: transparent; }
.wp-block-cover .wp-block-button.is-style-tekst .wp-block-button__link:hover { color: #fff; opacity: 0.85; }
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }

/* Nagłówek strony. */
.lagom-naglowek { border-bottom: 1px solid var(--wp--preset--color--linia); }
.lagom-naglowek .wp-block-site-logo img { display: block; }
.lagom-naglowek .wp-block-navigation__container { gap: 1.75rem; }
.lagom-naglowek .wp-block-navigation a:hover { color: var(--wp--preset--color--akcent); }
.lagom-naglowek .wp-block-navigation .current-menu-item > a,
.lagom-naglowek .wp-block-navigation a[aria-current="page"] { text-decoration: underline; text-underline-offset: 0.35em; }
.lagom-naglowek .lagom-przycisk-naglowek .wp-block-button__link { padding: 0.5rem 1rem; font-size: 0.875rem; text-transform: lowercase; }
@media (max-width: 781px) {
	.lagom-naglowek .lagom-przycisk-naglowek { display: none; }
}

/* Pierwszy ekran. */
.lagom-pierwszy-ekran { min-height: 80vh !important; min-height: 80svh !important; }
.lagom-pierwszy-ekran h1 { color: #fff; max-width: 20ch; }
.lagom-pierwszy-ekran p { color: #fff; }

/* Karty i siatki. */
.lagom-karta img, .lagom-siatka-projektow .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.lagom-karta .wp-block-image a, .lagom-siatka-projektow .wp-block-post-featured-image a { display: block; overflow: hidden; }
.lagom-karta img, .lagom-siatka-projektow .wp-block-post-featured-image img { transition: opacity .2s ease; }
.lagom-karta a:hover img, .lagom-siatka-projektow .wp-block-post-featured-image a:hover img { opacity: 0.88; }
.lagom-siatka-projektow .wp-block-post-title a:hover, .lagom-karta h3 a:hover { color: var(--wp--preset--color--akcent); }
.lagom-podpis-projektu { color: var(--wp--preset--color--tekst-pomocniczy); font-size: var(--wp--preset--font-size--maly); margin-top: 0.35rem !important; }
.lagom-podpis-projektu:empty { display: none; }

/* Kroki procesu. */
.lagom-krok-numer { color: var(--wp--preset--color--akcent); font-weight: 300; line-height: 1; font-variant-numeric: tabular-nums; }
.lagom-krok { border-top: 1px solid var(--wp--preset--color--linia); padding-top: 1.5rem; }
.lagom-czas { color: var(--wp--preset--color--tekst-pomocniczy); font-size: var(--wp--preset--font-size--maly); font-weight: 600; }

/* Ceny. */
.lagom-cena-kwota { font-size: var(--wp--preset--font-size--duzy); font-weight: 400; }
.lagom-karta-ceny { border: 1px solid var(--wp--preset--color--linia); }

/* Dane projektu (miasto, metraż, rok, status). */
.lagom-dane-projektu { border-top: 1px solid var(--wp--preset--color--linia); border-bottom: 1px solid var(--wp--preset--color--linia); }
.lagom-dane-projektu .lagom-etykieta { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--tekst-pomocniczy); margin: 0; }
.lagom-dane-projektu .lagom-wartosc { margin-top: 0.25rem !important; }
.lagom-dane-projektu > .wp-block-group:has(.lagom-wartosc:empty) { display: none; }

/* Filtr projektów. */
.lagom-filtr { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0; }
.lagom-filtr a { display: inline-block; padding: 0.4rem 0.9rem; border: 1px solid var(--wp--preset--color--linia); border-radius: 2px; text-decoration: none; font-size: 0.875rem; text-transform: lowercase; }
.lagom-filtr a:hover { border-color: var(--wp--preset--color--czern); color: var(--wp--preset--color--czern); }
.lagom-filtr a[aria-current="page"] { background: var(--wp--preset--color--czern); border-color: var(--wp--preset--color--czern); color: #fff; }

/* FAQ. */
.wp-block-details summary { cursor: pointer; font-weight: 400; font-size: var(--wp--preset--font-size--sredni); list-style: none; position: relative; padding-right: 2rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0.25rem; top: 0; font-weight: 300; font-size: 1.5rem; line-height: 1.2; color: var(--wp--preset--color--akcent); }
.wp-block-details[open] summary::after { content: "−"; }
.wp-block-details > :not(summary) { margin-top: 0.75rem; color: var(--wp--preset--color--grafit); }

/* Galerie w projektach: równe kadry, bez efektów. */
.wp-block-gallery.has-nested-images figure.wp-block-image img { object-fit: cover; }

/* Stopka. */
.lagom-stopka a { text-decoration: none; }
.lagom-stopka a:hover { text-decoration: underline; }
.lagom-stopka ul { list-style: none; padding: 0; margin: 0; }
.lagom-stopka li { margin: 0.35rem 0; }
.lagom-stopka .lagom-stopka-tytul { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--wp--preset--color--tekst-pomocniczy); }
.lagom-logotypy-ue { text-align: center; margin-inline: auto !important; }
.lagom-logotypy-ue img { width: 100%; max-width: 720px; height: auto; display: block; margin-inline: auto; }

/* Pasek mobilny: tylko na telefonie. */
.lagom-pasek-mobilny {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
	background: var(--wp--preset--color--tlo); border-top: 1px solid var(--wp--preset--color--linia);
	padding: 0.5rem 0.75rem calc(0.5rem + env(safe-area-inset-bottom));
}
.lagom-pasek-mobilny .wp-block-buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.lagom-pasek-mobilny .wp-block-button { width: 100%; }
.lagom-pasek-mobilny .wp-block-button__link { width: 100%; text-align: center; padding: 0.75rem 0.5rem; }
@media (max-width: 781px) {
	body { padding-bottom: 4.5rem; }
}
@media (min-width: 782px) {
	.lagom-pasek-mobilny { display: none !important; }
}

/* Układ „Oferta”: pole kontaktu przyklejone z boku na komputerze. */
@media (min-width: 782px) {
	.lagom-boczne-pole { position: sticky; top: 2rem; }
}

/* Formularz (blok wtyczki) dziedziczy fonty i kolory motywu. */
.lagom-formularz input, .lagom-formularz select, .lagom-formularz textarea { font-family: inherit; }

/* Tabela cennika. */
.lagom-cennik table { border-collapse: collapse; width: 100%; }
.lagom-cennik th, .lagom-cennik td { border: 0; border-bottom: 1px solid var(--wp--preset--color--linia); padding: 0.9rem 0.75rem 0.9rem 0; text-align: left; vertical-align: top; }
.lagom-cennik thead th { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--tekst-pomocniczy); font-weight: 600; border-bottom-color: var(--wp--preset--color--grafit); }
.lagom-cennik td:last-child { white-space: nowrap; font-weight: 600; }
@media (max-width: 600px) {
	.lagom-cennik td:last-child { white-space: normal; }
}

/* Treść pierwszego ekranu w tej samej siatce co reszta strony. */
.wp-block-cover.lagom-pierwszy-ekran .wp-block-cover__inner-container { width: 100% !important; max-width: 1280px; margin-inline: auto !important; }

/* Sekcje stykają się bez białych pasków między nimi. */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull,
.wp-block-post-content > .alignfull + *,
main > .alignfull + .alignfull { margin-block-start: 0; }
@media (max-width: 781px) {
	.lagom-pierwszy-ekran .wp-block-cover__background { opacity: 1; background: linear-gradient(0deg, rgba(17,17,17,0.8) 0%, rgba(17,17,17,0.55) 55%, rgba(17,17,17,0.3) 100%) !important; }
	.lagom-pierwszy-ekran .wp-block-cover__image-background { object-position: 65% 50% !important; }
}

/* Treść projektów i wpisów: oddech przed śródtytułami. */
.wp-block-post-content > h2.wp-block-heading { margin-top: var(--wp--preset--spacing--50); }
.wp-block-post-content > .wp-block-gallery, .wp-block-post-content > .wp-block-image.alignwide { margin-top: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--40); }
.is-style-nadtytul a { color: inherit; text-decoration: none; }
.is-style-nadtytul a:hover { color: var(--wp--preset--color--akcent); }

/* ===== Wersja 2.1: jednolite białe tło, duże zdjęcia, małe przerwy ===== */

/* Galeria projektów: duże kadry, nazwa po najechaniu. */
.lagom-galeria .wp-block-post { position: relative; overflow: hidden; margin: 0; }
.lagom-galeria .wp-block-post-featured-image { margin: 0; }
.lagom-galeria .wp-block-post-featured-image a { display: block; }
.lagom-galeria .wp-block-post-featured-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .6s ease; }
.lagom-galeria .wp-block-post::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: rgba(17,17,17,.45);
	opacity: 0; transition: opacity .3s ease;
}
.lagom-galeria .lagom-kafel-tytul, .lagom-galeria .lagom-podpis-projektu {
	position: absolute; left: 1rem; right: 1rem; z-index: 2; margin: 0 !important; text-align: center;
	color: #fff; opacity: 0; transform: translateY(6px); transition: opacity .3s ease, transform .3s ease;
}
.lagom-galeria .lagom-kafel-tytul { top: 50%; bottom: auto; margin-top: -1.4rem !important; font-size: var(--wp--preset--font-size--duzy); font-weight: 300; letter-spacing: 0.02em; }
.lagom-galeria .lagom-kafel-tytul a { color: #fff; text-decoration: none; }
.lagom-galeria .lagom-podpis-projektu { top: 50%; bottom: auto; margin-top: 0.9rem !important; font-size: 0.8125rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,.88); }
.lagom-galeria .wp-block-post:hover::after, .lagom-galeria .wp-block-post:focus-within::after,
.lagom-galeria .wp-block-post:hover .lagom-kafel-tytul, .lagom-galeria .wp-block-post:focus-within .lagom-kafel-tytul,
.lagom-galeria .wp-block-post:hover .lagom-podpis-projektu, .lagom-galeria .wp-block-post:focus-within .lagom-podpis-projektu { opacity: 1; transform: none; }
.lagom-galeria .wp-block-post:hover img { transform: scale(1.02); }
/* Na ekranach dotykowych nazwa widoczna od razu. */
@media (hover: none) {
	.lagom-galeria .wp-block-post::after, .lagom-galeria .lagom-kafel-tytul, .lagom-galeria .lagom-podpis-projektu { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .lagom-galeria .wp-block-post:hover img { transform: none; } }

/* Galerie w treści: małe przerwy. */
.wp-block-gallery.has-nested-images { --wp--style--unstable-gallery-gap: 0.5rem; gap: 0.5rem; }

/* Strona projektu: tekst tej samej szerokości co zdjęcia. */
.lagom-tresc-projektu p { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.lagom-tresc-projektu h2, .lagom-tresc-projektu h3 { text-align: center; }
.single-projekt main .wp-block-post-title, .single-projekt main .wp-block-post-excerpt, .single-projekt main .wp-block-post-terms { text-align: center; }
.single-projekt .wp-block-post-excerpt__excerpt { max-width: none; }

/* Dwa wejścia na pełną szerokość. */
.lagom-dwa-wejscia figure { margin: 0; }

/* Na białym tle karty z formularzem i ceną oddziela cienka linia. */
.wp-block-group:has(> .lagom-formularz), .lagom-boczne-pole { border: 1px solid var(--wp--preset--color--linia); }


/* ===== Wersja 2.2 ===== */

/* Etapy w wierszach (zamiast kafelków). */
.lagom-etapy { border-top: 1px solid var(--wp--preset--color--linia); }
.lagom-etap { display: grid; grid-template-columns: 4.5rem 1fr 11rem; gap: 0 1.5rem; align-items: baseline; padding: 1.5rem 0; border-bottom: 1px solid var(--wp--preset--color--linia); margin: 0 !important; }
.lagom-etap > * { margin: 0 !important; }
.lagom-etap-numer { font-size: var(--wp--preset--font-size--duzy); font-weight: 300; color: var(--wp--preset--color--akcent); font-variant-numeric: tabular-nums; }
.lagom-etap-tresc h3 { margin: 0 0 0.35rem; font-size: var(--wp--preset--font-size--sredni); font-weight: 400; }
.lagom-etap-tresc p { margin: 0; color: var(--wp--preset--color--tekst-pomocniczy); }
.lagom-etap-czas { text-align: right; font-size: 0.8125rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--grafit); white-space: nowrap; }
@media (max-width: 781px) {
	.lagom-etap { grid-template-columns: 3rem 1fr; }
	.lagom-etap-czas { grid-column: 2; text-align: left; margin-top: 0.5rem !important; }
}

/* Cennik w wierszach. */
.lagom-cennik-lista { border-top: 1px solid var(--wp--preset--color--linia); }
.lagom-cena-wiersz { display: grid; grid-template-columns: 1fr auto; gap: 0.25rem 2rem; align-items: baseline; padding: 1.25rem 0; border-bottom: 1px solid var(--wp--preset--color--linia); margin: 0 !important; }
.lagom-cena-wiersz > * { margin: 0 !important; }
.lagom-cena-opis h3 { margin: 0 0 0.3rem; font-size: var(--wp--preset--font-size--sredni); font-weight: 400; }
.lagom-cena-opis p { margin: 0; font-size: 0.9375rem; color: var(--wp--preset--color--tekst-pomocniczy); }
.lagom-cena-kwota-wiersz { font-size: var(--wp--preset--font-size--sredni); font-weight: 600; white-space: nowrap; text-align: right; }
@media (max-width: 600px) {
	.lagom-cena-wiersz { grid-template-columns: 1fr; }
	.lagom-cena-kwota-wiersz { text-align: left; }
}
.lagom-przyklad { border-left: 2px solid var(--wp--preset--color--akcent); padding: 0.25rem 0 0.25rem 1.25rem; margin-top: var(--wp--preset--spacing--40) !important; }
.lagom-przyklad > * { margin: 0 !important; }
.lagom-przyklad-etykieta { font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--akcent-tekst); font-weight: 600; }
.lagom-przyklad-opis { color: var(--wp--preset--color--tekst-pomocniczy); margin-top: 0.35rem !important; }
.lagom-przyklad-kwota { font-size: var(--wp--preset--font-size--duzy); font-weight: 400; margin-top: 0.15rem !important; }

/* Lewa kolumna z nagłówkiem zostaje na miejscu przy przewijaniu. */
@media (min-width: 782px) {
	.lagom-sticky-lewa > .wp-block-column:first-child > * { position: sticky; top: 2rem; }
	.lagom-sticky-lewa > .wp-block-column:first-child { align-self: stretch; }
}

/* Lista z „ptaszkami”. */
.lagom-lista-check { list-style: none; padding-left: 0; }
.lagom-lista-check li { position: relative; padding-left: 1.75rem; margin: 0.55rem 0; }
.lagom-lista-check li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--wp--preset--color--akcent); font-weight: 600; }
.lagom-usluga .wp-block-list { list-style: none; padding-left: 0; }
.lagom-usluga .wp-block-list li { position: relative; padding-left: 1.75rem; margin: 0.45rem 0; }
.lagom-usluga .wp-block-list li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--akcent); font-weight: 600; }

/* Oferta: usługi w wierszach, zdjęcie na zmianę z lewej i prawej. */
.lagom-usluga { margin-bottom: var(--wp--preset--spacing--60) !important; }
.lagom-usluga figure { margin: 0; }
.lagom-usluga-cena { font-size: var(--wp--preset--font-size--sredni); font-weight: 600; margin-top: var(--wp--preset--spacing--30) !important; }
@media (min-width: 782px) {
	.lagom-usluga.lagom-odwroc { flex-direction: row-reverse; }
}

/* Dwa wejścia: obrazki tej samej szerokości co tekst strony. */
.lagom-dwa-wejscia figure { margin: 0; }
.lagom-dwa-wejscia h3 { margin-top: var(--wp--preset--spacing--30); }

/* ===== Wersja 2.4: nagłówki zawsze na środku, zdjęcia bez przycinania ===== */

/* Nagłówki, nadtytuły i teksty prowadzące na środku. */
h1.wp-block-heading, h2.wp-block-heading, h3.wp-block-heading,
.wp-block-post-title, .wp-block-query-title, .wp-block-term-description,
.is-style-nadtytul, .is-style-lead { text-align: center; }
.is-style-lead { margin-inline: auto !important; max-width: 60rem; }
/* Wyjątki: wiersze etapów i cennika oraz kafelki galerii mają własny układ. */
.lagom-etap h3.wp-block-heading, .lagom-cena-opis h3.wp-block-heading { text-align: left; }
.lagom-filtr { justify-content: center; }
.lagom-stopka h2, .lagom-stopka h3 { text-align: left; }

/* Pierwszy ekran: tekst i przyciski na środku. */
.lagom-pierwszy-ekran .wp-block-cover__inner-container > .wp-block-group { margin-inline: auto !important; text-align: center; }
.lagom-pierwszy-ekran h1 { margin-inline: auto; }
.lagom-pierwszy-ekran .wp-block-buttons { justify-content: center; }

/* Sekcje „nagłówek z boku” układają się jedna pod drugą: nagłówek na środku, treść pod nim. */
.wp-block-columns.lagom-stos { flex-direction: column; gap: var(--wp--preset--spacing--40) !important; }
.wp-block-columns.lagom-stos > .wp-block-column { flex-basis: 100% !important; width: 100%; }
.wp-block-columns.lagom-stos > .wp-block-column:first-child { text-align: center; }
.wp-block-columns.lagom-stos > .wp-block-column:first-child > * { position: static !important; margin-inline: auto; }
.wp-block-columns.lagom-stos > .wp-block-column:first-child .wp-block-buttons { justify-content: center; }
.wp-block-columns.lagom-stos .lagom-przyklad { display: inline-block; text-align: left; }
/* Kontakt: dane na środku, formularz w wąskiej karcie pośrodku. */
.wp-block-columns.lagom-stos .wp-block-group:has(> .lagom-formularz) { max-width: 760px; margin-inline: auto; }

/* Wiersze zdjęcie + tekst: tekst na środku, listy wyrównane do lewej w środku kolumny. */
.wp-block-columns.lagom-media > .wp-block-column:not(:has(> figure:only-child)) { text-align: center; }
.wp-block-columns.lagom-media .wp-block-buttons { justify-content: center; }
.wp-block-columns.lagom-media .wp-block-list { display: inline-block; text-align: left; }
.wp-block-columns.lagom-media .wp-block-image img { margin-inline: auto; }

/* Dane projektu na środku kolumn. */
.lagom-dane-projektu { text-align: center; }

.wp-block-columns.lagom-media .wp-block-quote { border-left: 0; padding-left: 0; }

/* ===== Wersja 2.5: spójne wyrównanie, kadry wypełnione, opisy po najechaniu ===== */

/* Tekst pod nagłówkami: wyjustowany na całą szerokość, ostatnia linijka na środku.
   Krótkie akapity wyglądają więc jak wyśrodkowane, długie tworzą równy blok. */
.wp-block-columns.lagom-stos > .wp-block-column p:not([class*="lagom-"]):not(.is-style-nadtytul):not(.is-style-lead),
.wp-block-columns.lagom-media > .wp-block-column p:not([class*="lagom-"]):not(.is-style-nadtytul):not(.is-style-lead),
.wp-block-post-content > p,
.wp-block-post-content > .alignfull > p:not([class*="lagom-"]):not(.is-style-nadtytul):not(.is-style-lead) {
	text-align: justify; text-align-last: center; hyphens: auto; -webkit-hyphens: auto;
}
.wp-block-columns.lagom-stos > .wp-block-column { text-align: center; }
/* Wyjątki z własnym układem: wiersze etapów i cen, FAQ, formularz. */
.wp-block-columns.lagom-stos .lagom-etap, .wp-block-columns.lagom-stos .lagom-cena-wiersz,
.wp-block-columns.lagom-stos .wp-block-details, .wp-block-columns.lagom-stos .lagom-formularz,
.wp-block-columns.lagom-stos .lagom-etapy, .wp-block-columns.lagom-stos .lagom-cennik-lista { text-align: left; }
.wp-block-columns.lagom-stos .lagom-etap p, .wp-block-columns.lagom-stos .lagom-cena-wiersz p,
.wp-block-columns.lagom-stos .wp-block-details p, .wp-block-columns.lagom-stos .lagom-formularz p { text-align: left !important; text-align-last: auto !important; }
.wp-block-columns.lagom-stos .lagom-etap-czas, .wp-block-columns.lagom-stos .lagom-cena-kwota-wiersz { text-align: right !important; }
@media (max-width: 781px) { .wp-block-columns.lagom-stos .lagom-etap-czas { text-align: left !important; } }
@media (max-width: 600px) { .wp-block-columns.lagom-stos .lagom-cena-kwota-wiersz { text-align: left !important; } }

/* Listy: blok na środku, punkty i znaczniki wyrównane do lewej w jego wnętrzu. */
.wp-block-columns.lagom-stos .wp-block-list,
.wp-block-post-content > .alignfull > .wp-block-list { display: table; margin-inline: auto; text-align: left; max-width: 100%; }
.wp-block-post-content > ul.wp-block-list { text-align: left; }
.wp-block-columns.lagom-stos .wp-block-list li { text-align: left; }

/* Zdjęcia w sekcjach jedna pod drugą: na środku, na całą szerokość treści. */
.wp-block-columns.lagom-stos .wp-block-image { margin-inline: auto; }
.wp-block-columns.lagom-stos .wp-block-image img { display: block; width: 100%; margin-inline: auto; }
.lagom-naglowek-oferty .wp-block-image img { aspect-ratio: 16 / 9 !important; object-fit: cover; }
.lagom-naglowek-oferty .wp-block-buttons { justify-content: center; }

/* Galeria projektów: po dwa w wierszu, kadr 16:9 wypełniony zdjęciem, pierwszy projekt na całą szerokość. */
.lagom-galeria .wp-block-post-featured-image img { aspect-ratio: 16 / 9 !important; object-fit: cover; height: auto; }
.lagom-galeria:not(.lagom-galeria-rowna) .wp-block-post-template > .wp-block-post:first-child { grid-column: 1 / -1; }
@media (min-width: 782px) {
	.lagom-galeria .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 781px) {
	.lagom-galeria .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
}

/* Zdjęcia w projekcie: wszystkie w tym samym kadrze 16:9, wypełnionym do krawędzi. */
.single-projekt .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; height: auto; }
.lagom-tresc-projektu .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { align-self: stretch; }
.lagom-tresc-projektu .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { aspect-ratio: 16 / 9; height: auto !important; width: 100%; object-fit: cover !important; }

/* Dwa wejścia: nazwa na zdjęciu, opis pojawia się po najechaniu. */
.lagom-wejscie { position: relative; overflow: hidden; margin: 0 !important; }
.lagom-wejscie figure { margin: 0 !important; }
.lagom-wejscie figure a { display: block; }
.lagom-wejscie img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s ease; }
.lagom-wejscie::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: rgba(17,17,17,.28); transition: background-color .3s ease; z-index: 1; }
.lagom-wejscie-tekst {
	position: absolute; inset: 0; z-index: 2; margin: 0 !important; pointer-events: none;
	display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;
	padding: var(--wp--preset--spacing--50); color: #fff;
}
.lagom-wejscie-tekst h3 { margin: 0; color: #fff; font-size: var(--wp--preset--font-size--naglowek-sekcji); font-weight: 300; text-shadow: 0 1px 12px rgba(0,0,0,.25); }
.lagom-wejscie-tekst h3 a { color: #fff; text-decoration: none; pointer-events: auto; }
.lagom-wejscie-tekst p { margin: 0.75rem 0 0 !important; max-width: 32rem; color: #fff; text-align: center !important; opacity: 0; transform: translateY(8px); transition: opacity .3s ease, transform .3s ease; }
.lagom-wejscie:hover::after, .lagom-wejscie:focus-within::after { background: rgba(17,17,17,.58); }
.lagom-wejscie:hover .lagom-wejscie-tekst p, .lagom-wejscie:focus-within .lagom-wejscie-tekst p { opacity: 1; transform: none; }
.lagom-wejscie:hover img { transform: scale(1.02); }
@media (hover: none) {
	.lagom-wejscie::after { background: rgba(17,17,17,.5); }
	.lagom-wejscie-tekst p { opacity: 1; transform: none; }
}
@media (max-width: 600px) {
	.lagom-wejscie-tekst { padding: 1.25rem; }
	.lagom-wejscie-tekst p { font-size: 0.9375rem; }
}
@media (prefers-reduced-motion: reduce) { .lagom-wejscie:hover img { transform: none; } }

/* Polityka prywatności i zwykłe strony: listy czytelne, nagłówki z oddechem. */
.wp-block-post-content > h2.wp-block-heading { margin-top: var(--wp--preset--spacing--50); }
/* Na telefonie wąska kolumna: bez justowania (unikamy dziur między słowami), tekst na środku. */
@media (max-width: 781px) {
	.wp-block-columns.lagom-stos > .wp-block-column p:not([class*="lagom-"]):not(.is-style-nadtytul):not(.is-style-lead),
	.wp-block-columns.lagom-media > .wp-block-column p:not([class*="lagom-"]):not(.is-style-nadtytul):not(.is-style-lead),
	.wp-block-post-content > .alignfull > p:not([class*="lagom-"]):not(.is-style-nadtytul):not(.is-style-lead) { text-align: center; }
	.wp-block-post-content > p { text-align: left; text-align-last: auto; }
}
