/* Bonza QA sweep, lane C (M2, M8, H29, H30, M15): headings and quotes break into
   balanced lines so no single word sits alone on the last line. Pure line-break
   choice: no text, size or width changes, and hyphenation is left as it was.
   Config investigated: the Gutenberg typography panel and Blocksy's typography
   options expose size, weight, line-height, spacing, case and decoration, but no
   text-wrap control, so a CSS rule is the only way to set it. */
.bhp-page :is(h1, h2, h3, h4, blockquote, .bhp-founder-credit, .bhp-founder-quote),
.bfg-h2,
.bppm-why__heading,
.bppm-section__heading {
	text-wrap: balance;
}

/* M15 (z8udzkgngu): Figma sizes this heading 20/24 on mobile (428 frame), 28/28 on tablet (744)
   and 30/36 on desktop (1512). The page kept the 30px desktop size at every width, so it ran to
   5-6 lines on phones. Mobile and tablet now take the Figma size; balance keeps the last line
   from being a lone word and the green emphasis is untouched. */
@media (max-width: 743.98px) {
	.bppm-section h2.bppm-why__heading {
		font-size: 20px;
		line-height: 24px;
	}
}
/* Phones: the column is 240-320px wide against Figma's 348px, so the 20px size still wraps to
   4-5 lines. 16px keeps it to about three balanced lines (QA, 21 Oct: smaller size or tighter measure). */
@media (max-width: 599.98px) {
	.bppm-section h2.bppm-why__heading {
		font-size: 16px;
		line-height: 20px;
	}
}
@media (min-width: 744px) and (max-width: 1279.98px) {
	.bppm-section h2.bppm-why__heading {
		font-size: 28px;
		line-height: 28px;
	}
}

/* NEW-16 (z8udzkhqeb): on the Delivery Information page the region heading sits beside a 52px
   icon in a flex row. The heading kept its 28px size and its longest word as the minimum width,
   so "Germany and other European destinations" ran 35/20/5px past its card at 360/375/390px
   (DE 36/21/6, FR 40/25/10, NL 74/59/44/22 up to 412px). The heading may now shrink (min-width: 0),
   scales from 20px at 360px up to 28px at 500px+, and a word that still cannot fit breaks
   (German, French and Dutch hyphenate, English wraps at the card edge). The page's own inline
   style sets .bhp-sh h2.bhp-sh-h2, so this selector is one class deeper to win regardless of order. */
@media (max-width: 599.98px) {
	.bhp-sh .bhp-sh-region-head h2.bhp-sh-h2 {
		flex: 1 1 0;
		min-width: 0;
		font-size: clamp(20px, 5.6vw, 28px);
		overflow-wrap: anywhere;
		-webkit-hyphens: auto;
		hyphens: auto;
	}
}

/* M15 (z8udzkgngu): 3 lines at 360-412 in every language. The wrapping column flex sizes
   its cross axis to the widest word (DE "Mindestanforderungen"), so max-width pins the columns.
   DE and FR scale with the room (viewport minus 80px gutters, 12px floor). ES and NL are
   14.5px below 390. */
@media (max-width: 599.98px) {
	.bppm-why__copy,
	.bppm-why__aside {
		max-width: 100%;
	}

	html:lang(de) .bppm-section h2.bppm-why__heading,
	html:lang(fr) .bppm-section h2.bppm-why__heading {
		font-size: clamp(12px, calc((100vw - 80px) * 0.044), 16px);
	}

	html:lang(es) .bppm-section h2.bppm-why__heading,
	html:lang(nl) .bppm-section h2.bppm-why__heading {
		font-size: 14.5px;
	}
}

@media (min-width: 389.98px) and (max-width: 599.98px) {
	html:lang(es) .bppm-section h2.bppm-why__heading,
	html:lang(nl) .bppm-section h2.bppm-why__heading {
		font-size: 16px;
	}
}
