/* Informational pages share the central contact typography and spacing. */
.psk-info-layout {
	color: var(--wp--preset--color--text);
}

.psk-info-section {
	margin-block: 0 32px;
	padding: clamp(20px, 3vw, 36px);
	border-radius: 8px;
}

.psk-info-section:nth-child(even) {
	background: var(--wp--preset--color--surface-soft);
}

.psk-info-layout .psk-info-section:first-child {
	padding-top: 8px;
}

.psk-info-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	align-items: start;
	gap: 32px;
}

.psk-info-hero > * {
	margin-block: 0;
}

.psk-info-photo .wp-block-image {
	margin: 0;
}

.psk-info-photo img {
	width: 100% !important;
	height: auto !important;
	max-height: 440px;
	object-fit: cover;
	object-position: center 25%;
	border-radius: 8px;
}

.psk-info-layout :is(h2, h3) {
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.25;
}

.psk-info-layout h2 {
	font-size: clamp(25px, 2.4vw, 34px);
}

.psk-info-layout p {
	line-height: 1.6;
}

.psk-info-layout .psk-info-section > :is(h2, h3):first-child,
.psk-info-layout .psk-info-copy > :is(h2, h3):first-child {
	margin-top: 0;
}

.psk-information-page .wp-block-post-content a[href^="tel:"] {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	color: var(--wp--preset--color--text);
	font-size: inherit;
	font-weight: 700;
	text-decoration: none;
}

.psk-information-page .wp-block-post-content a[href^="tel:"]::before {
	content: "";
	flex: 0 0 22px;
	height: 22px;
	border-radius: 50%;
	background: #f5f5f5 url("../images/icons/contact-phone.svg") center / 12px no-repeat;
}

.psk-information-page .wp-block-post-content a[href^="mailto:"] {
	display: inline-block;
	min-height: 44px;
	align-content: center;
	text-underline-offset: 4px;
}

.psk-information-page .wp-block-post-content :is(a, button, summary):focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 3px;
}

.psk-information-page .wp-block-post-content .wp-block-button__link {
	border-radius: 6px;
	min-height: 44px;
	box-sizing: border-box;
}

.psk-information-page .psk-info-copy .wp-block-gallery {
	gap: 12px;
}

.psk-information-page .psk-info-copy .wp-block-gallery img {
	max-height: 48px;
	object-fit: contain;
}

.psk-information-page .wp-block-post-content > :is(p, ul, ol),
.psk-information-page .psk-info-section > :is(p, ul, ol) {
	max-width: 1000px;
}

.psk-information-page .wp-block-post-content {
	color: var(--wp--preset--color--text);
	overflow-wrap: anywhere;
}

.psk-information-page .wp-block-post-content h2 {
	font-size: clamp(25px, 2.4vw, 34px);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.2;
	margin-block: 32px 14px;
}

.psk-information-page .wp-block-post-content h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	margin-block: 24px 8px;
}

.psk-information-page .wp-block-post-content p {
	line-height: 1.6;
}

.psk-information-page .wp-block-post-content :is(.wp-block-columns, .psk-service-page__steps) {
	gap: 32px;
}

.psk-information-page .wp-block-post-content :is(.wp-block-column, .psk-service-page__body) {
	min-width: 0;
}

.psk-information-page .wp-block-post-content .wp-block-image img {
	border-radius: 8px;
}

.psk-information-page .wp-block-post-content :is(.psk-service-page__manufacturer, .psk-service-page__step, .psk-service-page__contact) {
	border-radius: 8px;
	box-shadow: none;
}

.psk-information-page .wp-block-post-content :is(.psk-service-page__manufacturer, .psk-service-page__contact) {
	background: var(--wp--preset--color--surface-soft);
}

.psk-information-page .wp-block-post-content :is(.psk-central-page, .psk-service-page__manufacturer, .psk-service-page__advice, .psk-service-page__step, .psk-service-page__contact) :is(h2, h3):first-child,
.psk-information-page .wp-block-post-content > :is(h2, h3):first-child {
	margin-top: 0;
}

.psk-information-page .psk-service-page__contact h2,
.psk-information-page .psk-central-service h2 {
	font-size: 26px;
}

@media (max-width: 781px) {
	.psk-info-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.psk-info-section {
		padding: 20px 16px;
		margin-bottom: 24px;
	}

	.psk-information-page .wp-block-post-content .wp-block-gallery {
		gap: 12px;
	}

	.psk-info-photo img {
		max-height: 320px;
	}

	.psk-information-page .wp-block-post-content h2 {
		font-size: 25px;
		margin-top: 24px;
	}

	.psk-information-page .wp-block-post-content .wp-block-columns {
		gap: 24px;
	}
}
