/* Tytuł strony na podstronach bez Elementora (Impressum, Datenschutz, AGB,
 * Konfigurator, mapa realizacji).
 *
 * Motyw nie wypisuje tytułu strony, więc H1 dopisujemy do treści
 * (scripts/fix-missing-h1.php). Bez tej reguły motyw renderował go MNIEJSZY
 * niż h2 pierwszej sekcji: „Impressum" wychodziło drobniejsze niż „Angaben
 * gemäß § 5 TMG" pod spodem — hierarchia na odwrót.
 *
 * Skala i krój odpowiadają nagłówkom stron procesowych (Planung, Produktion),
 * żeby wszystkie podstrony zaczynały się tak samo.
 *
 * Uwaga: `style.css` motywu potomnego NIE jest w tym projekcie nigdzie
 * kolejkowany — style dokładamy wyłącznie osobnymi plikami z assets/css/.
 */
.mh-page-title,
.mh-projects__heading {
	font-family: "Hanken Grotesk", "DM Sans", sans-serif;
	font-size: clamp(32px, 4.4vw, 52px);
	line-height: 1.12;
	font-weight: 600;
	letter-spacing: .2px;
	margin: 0 0 0.55em;
	color: #0F1923;
}

/* Pierwsza sekcja treści nie może kleić się do tytułu ani od niego odskakiwać —
   własny górny margines h2 z motywu dubluje dolny margines tytułu. */
.mh-page-title + h2,
.mh-page-title + h3,
.mh-page-title + p {
	margin-top: 0;
}

/* --- Skala nagłówków na stronach z samą treścią --------------------------
 *
 * Motyw daje tam h2 = 47 px przy tekście 14 px. „Angaben gemäß § 5 TMG"
 * wychodziło niemal tak duże jak „Impressum", a cały Datenschutz czytał się
 * jak spis wielkich nagłówków z drobnym drukiem między nimi. Skala niżej
 * odpowiada stronom procesowym: 52 → 32 → 22, tekst 16/1,7.
 *
 * Zakres ograniczony klasą `mh-plain-page` (filtr body_class w functions.php) —
 * strony budowane Elementorem mają własną typografię i nie wolno ich ruszać.
 */
.mh-plain-page .content h2 {
	font-size: clamp(24px, 2.4vw, 32px);
	line-height: 1.2;
	margin-top: 1.9em;
	margin-bottom: 0.5em;
}
.mh-plain-page .content h3 {
	font-size: clamp(19px, 1.6vw, 22px);
	line-height: 1.3;
	margin-top: 1.6em;
	margin-bottom: 0.45em;
}
.mh-plain-page .content p,
.mh-plain-page .content li {
	font-size: 16px;
	line-height: 1.7;
}

/* Teksty prawne czyta się w kolumnie, nie przez całą szerokość ekranu —
   przy 1290 px wiersz miał ponad 200 znaków. */
.mh-plain-page .content > .mh-page-title,
.mh-plain-page .content > h2,
.mh-plain-page .content > h3,
.mh-plain-page .content > p,
.mh-plain-page .content > ul,
.mh-plain-page .content > ol {
	max-width: 820px;
}

/* Konfigurator rozpycha `.content_wrap` na pełną szerokość okna, więc tytuł
   dopisany do treści przyklejał się do lewej krawędzi z uciętą pierwszą literą.
   Ten wariant wraca na siatkę serwisu i dokłada oddech pod nagłówkiem strony. */
.mh-page-title--boxed {
	max-width: 1290px;
	margin-left: auto;
	margin-right: auto;
	padding: 56px 24px 0;
}
@media (max-width: 767px) {
	.mh-page-title--boxed {
		padding: 32px 18px 0;
	}
}
