/**
 * Compact static pages (hidden test: ?gm_v2=1). Scoped to body.gm-site-v2.
 * Same rules as the product page v2: no half-empty bands, tighter rhythm,
 * one heading scale, flat ruled blocks instead of padded cards.
 */

body.gm-site-v2 {
	--gm2-ink: var(--gm-color-ink, #221f20);
	--gm2-brand: var(--gm-color-brand, #f39200);
	--gm2-line: var(--gm-color-line, #d8d3ca);
	--gm2-muted: var(--gm-color-muted, #565352);
	--gm2-gap: clamp(20px, 2.4vw, 32px);
}

/* Rhythm: every block separated by the same modest gap */
body.gm-site-v2 .gm-static-template__article {
	padding-top: 14px;
}

body.gm-site-v2 .gm-static-template__article .entry-content > * {
	margin-top: 0;
	margin-bottom: var(--gm2-gap);
}

/* One heading scale */
body.gm-site-v2 .entry-content h2 {
	margin: 0 0 10px;
	color: var(--gm2-ink);
	font-size: clamp(22px, 1.9vw, 28px);
	line-height: 1.08;
	text-wrap: balance;
}

/* Entry hero: a band, not a billboard */
body.gm-site-v2 .gm-intent-hero {
	min-height: 0;
	padding: 22px 24px;
	gap: 16px clamp(20px, 3vw, 40px);
	align-items: center;
}

body.gm-site-v2 .gm-intent-hero h1 {
	margin: 6px 0 8px;
	font-size: clamp(26px, 2.5vw, 36px);
	line-height: 1.04;
	text-wrap: balance;
}

body.gm-site-v2 .gm-intent-hero p {
	margin-top: 0;
	margin-bottom: 10px;
}

/* ---------- Second pass: measured on /dough-dividing-rounding/ ---------- */

/* A block-gap rule adds 36 px above every grid child but the first, so cards sit staggered.
   Inside grids and flex rows the gap property does the spacing. */
body.gm-site-v2 .entry-content .gm-intent-hero > *,
body.gm-site-v2 .entry-content .gm-check-grid > *,
body.gm-site-v2 .entry-content .gm-process-flow > *,
body.gm-site-v2 .entry-content .gm-solutions-grid > *,
body.gm-site-v2 .entry-content .gm-family-matrix__grid > *,
body.gm-site-v2 .entry-content .gm-faq-list > *,
body.gm-site-v2 .entry-content .gm-static-band > *,
body.gm-site-v2 .entry-content .gm-next-hero__metrics > *,
body.gm-site-v2 .entry-content .wp-block-columns > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.gm-site-v2 .entry-content .gm-intent-hero {
	padding: 20px 24px !important;
	gap: 14px clamp(20px, 3vw, 40px);
	align-items: center;
}

/* Hero side panel: three ruled lines instead of three boxes */
body.gm-site-v2 .entry-content .gm-next-hero__metrics {
	display: grid;
	gap: 0;
	border-top: 3px solid var(--gm2-ink);
}

body.gm-site-v2 .entry-content .gm-next-hero__metrics > * {
	padding: 9px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--gm2-line) !important;
	background: none !important;
	box-shadow: none !important;
}

body.gm-site-v2 .entry-content .gm-next-hero__metrics > * > * {
	margin: 0 !important;
}

body.gm-site-v2 .entry-content .gm-next-hero__metrics :is(h2, h3, strong, p:first-child) {
	font-size: 18px;
	line-height: 1.2;
}

/* Tag above headings: small plain label, no orange block */
body.gm-site-v2 .entry-content .gm-static-eyebrow {
	display: inline-block;
	margin: 0 0 4px !important;
	padding: 0 !important;
	border: 0;
	background: none !important;
	color: var(--gm2-muted) !important;
	font-size: 11px;
	letter-spacing: 0.1em;
}

/* Cards: tighter, equal height, flat */
body.gm-site-v2 .entry-content :is(.gm-check-grid, .gm-process-flow, .gm-solutions-grid, .gm-family-matrix__grid) {
	gap: 10px;
	align-items: stretch;
}

body.gm-site-v2 .entry-content .gm-static-card,
body.gm-site-v2 .entry-content .gm-process-flow > *,
body.gm-site-v2 .entry-content .gm-family-matrix__card {
	padding: 14px 16px !important;
	box-shadow: none !important;
}

body.gm-site-v2 .entry-content .gm-process-flow > * {
	padding-top: 34px !important;
}

body.gm-site-v2 .entry-content :is(.gm-static-card, .gm-family-matrix__card, .gm-process-flow > *) > * {
	margin-top: 0 !important;
	margin-bottom: 6px !important;
}

body.gm-site-v2 .entry-content :is(.gm-static-card, .gm-family-matrix__card) :is(h3, h4) {
	font-size: 17px;
	line-height: 1.2;
}

body.gm-site-v2 .entry-content :is(.gm-static-card, .gm-family-matrix__card) :is(p, li) {
	font-size: 14px;
	line-height: 1.45;
}

/* Icon beside the card title instead of above it */
body.gm-site-v2 .entry-content .gm-check-grid .gm-static-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 2px 12px;
	align-content: start;
}

body.gm-site-v2 .entry-content .gm-check-grid .gm-static-card > :first-child {
	grid-row: 1 / span 3;
	align-self: start;
}

/* Configuration matrix: six short cards in one row on wide screens */
@media (min-width: 1100px) {
	body.gm-site-v2 .entry-content .gm-family-matrix__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.gm-site-v2 .entry-content .gm-solutions-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

body.gm-site-v2 .entry-content .gm-family-matrix__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2px 14px;
	align-content: start;
	align-items: start;
}

body.gm-site-v2 .entry-content .gm-family-matrix__card > * {
	grid-column: 1;
}

body.gm-site-v2 .entry-content .gm-family-matrix__card > .wp-block-buttons {
	grid-column: 2;
	grid-row: 1 / span 4;
	align-self: center;
}

body.gm-site-v2 .entry-content .gm-family-matrix__card ul {
	padding-left: 18px;
}

/* FAQ and closing band */
body.gm-site-v2 .entry-content .gm-faq-list {
	gap: 0;
	border-top: 2px solid var(--gm2-ink);
}

body.gm-site-v2 .entry-content .gm-faq-list > details {
	padding: 10px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--gm2-line) !important;
	background: none !important;
}

body.gm-site-v2 .entry-content .gm-static-band {
	padding: 18px 22px !important;
}

body.gm-site-v2 .entry-content .gm-process-rail__nav,
body.gm-site-v2 .entry-content .gm-family-matrix__grid {
	margin-top: 10px !important;
}

/* A heading with nothing under it (next block is another heading) takes no room */
body.gm-site-v2 .entry-content > h2:has(+ h2) {
	display: none;
}

@media (max-width: 782px) {
	body.gm-site-v2 .entry-content .gm-family-matrix__card {
		grid-template-columns: minmax(0, 1fr);
	}

	body.gm-site-v2 .entry-content .gm-family-matrix__card > .wp-block-buttons {
		grid-column: 1;
		grid-row: auto;
	}
}

/* Matrix cards: the button squeezed the text when placed beside it; it goes under, small */
body.gm-site-v2 .entry-content .gm-family-matrix__card {
	grid-template-columns: minmax(0, 1fr);
}

body.gm-site-v2 .entry-content .gm-family-matrix__card > .wp-block-buttons {
	grid-column: 1;
	grid-row: auto;
	align-self: end;
	margin-top: 4px !important;
}

body.gm-site-v2 .entry-content .gm-family-matrix__card .wp-block-button__link {
	min-height: 0;
	padding: 8px 12px;
	font-size: 12px;
}

@media (min-width: 1100px) {
	body.gm-site-v2 .entry-content .gm-family-matrix__grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

/* ---------- Phones ---------- */
@media (max-width: 782px) {
	body.gm-site-v2 .entry-content .gm-intent-hero {
		padding: 14px 16px !important;
		gap: 12px;
	}

	body.gm-site-v2 .entry-content .gm-intent-hero h1 {
		font-size: 24px;
		line-height: 1.06;
	}

	body.gm-site-v2 .entry-content .gm-intent-hero p {
		font-size: 15px;
		line-height: 1.45;
	}

	body.gm-site-v2 .entry-content .gm-intent-hero .wp-block-buttons {
		gap: 8px;
	}

	body.gm-site-v2 .entry-content .gm-intent-hero .wp-block-button__link {
		padding: 10px 12px;
		font-size: 12px;
	}

	/* Two short cards per row instead of one long column */
	body.gm-site-v2 .entry-content :is(.gm-family-matrix__grid, .gm-solutions-grid) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px;
	}

	body.gm-site-v2 .entry-content :is(.gm-static-card, .gm-family-matrix__card) {
		padding: 10px 12px !important;
	}

	body.gm-site-v2 .entry-content :is(.gm-static-card, .gm-family-matrix__card) :is(h3, h4) {
		font-size: 15px;
	}

	body.gm-site-v2 .entry-content :is(.gm-static-card, .gm-family-matrix__card) :is(p, li) {
		font-size: 13px;
	}

	body.gm-site-v2 .entry-content .gm-family-matrix__card .wp-block-button__link {
		padding: 7px 8px;
		font-size: 11px;
	}

	body.gm-site-v2 .entry-content .gm-process-flow {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}

	body.gm-site-v2 .entry-content .gm-process-flow > * {
		padding: 28px 12px 10px !important;
	}
}

/* =====================================================================
   Contact: form beside the intro and the contact details (was stacked,
   with a 186 px title box before the form).
   ===================================================================== */
@media (min-width: 961px) {
	body.gm-site-v2 .gm-static-template__article--contact .entry-content {
		display: grid;
		grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
		gap: 14px clamp(20px, 2.6vw, 36px);
		align-items: start;
	}

	body.gm-site-v2 .gm-static-template__article--contact .entry-content > * {
		grid-column: 1;
		margin-bottom: 0 !important;
	}

	body.gm-site-v2 .gm-static-template__article--contact .entry-content > .gm-static-card {
		grid-column: 2;
		grid-row: 1 / span 4;
	}

	body.gm-site-v2 .gm-static-template__article--contact .entry-content .gm-static-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}
}

body.gm-site-v2 .gm-static-template__article--contact .grosmac-lead-form {
	padding: 14px 0 0;
	border: 0;
	background: none;
	box-shadow: none;
	gap: 12px;
}

body.gm-site-v2 .gm-static-template__article--contact .grosmac-lead-form__grid {
	gap: 10px 14px;
}

body.gm-site-v2 .gm-static-template__article--contact .grosmac-lead-form__field--message textarea {
	min-height: 96px;
	height: 96px;
}

body.gm-site-v2 .entry-content .gm-about-editorial {
	padding: 16px 20px !important;
}

/* =====================================================================
   About: intro text beside the three facts; seven small cards in rows of
   four; steps without the extra gap.
   ===================================================================== */
@media (min-width: 961px) {
	body.gm-site-v2 .entry-content .gm-about-hero {
		display: grid !important;
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
		gap: 6px clamp(20px, 3vw, 44px);
		align-items: start;
		min-height: 0;
	}

	body.gm-site-v2 .entry-content .gm-about-hero > * {
		grid-column: 1;
		margin: 0 !important;
	}

	body.gm-site-v2 .entry-content .gm-about-hero > .gm-about-proof-row {
		grid-column: 2;
		grid-row: 1 / span 3;
		width: auto;
	}

	body.gm-site-v2 .entry-content .gm-about-service-grid,
	body.gm-site-v2 .gm-static-template__article--about .entry-content .gm-check-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	body.gm-site-v2 .entry-content .gm-about-service-grid--three {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.gm-site-v2 .entry-content .gm-about-proof-row {
	display: grid;
	gap: 0;
	border-top: 3px solid var(--gm2-ink);
}

body.gm-site-v2 .entry-content .gm-about-proof-row__item {
	width: auto;
	padding: 8px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--gm2-line) !important;
	background: none !important;
	box-shadow: none !important;
}

body.gm-site-v2 .entry-content .gm-about-service-grid {
	gap: 10px;
}

body.gm-site-v2 .entry-content .gm-about-icon-card {
	padding: 12px 14px !important;
	gap: 6px;
	box-shadow: none !important;
}

body.gm-site-v2 .entry-content .gm-about-icon-card > *,
body.gm-site-v2 .entry-content .gm-about-service-grid > * {
	margin: 0 !important;
}

body.gm-site-v2 .entry-content .gm-about-icon-card p {
	font-size: 14px;
	line-height: 1.45;
}

body.gm-site-v2 .entry-content .gm-customer-journey__steps {
	margin-top: 8px !important;
}

/* In About the cards keep their icon row on top (the two-column card rule squeezed the text) */
body.gm-site-v2 .gm-static-template__article--about .entry-content .gm-check-grid .gm-static-card {
	display: block;
}

/* =====================================================================
   Quote request, FAQ, installations map
   ===================================================================== */

/* Every lead form: no inner box, tighter grid */
body.gm-site-v2 .entry-content .grosmac-lead-form {
	padding: 12px 0 0;
	border: 0;
	background: none;
	box-shadow: none;
	gap: 12px;
}

body.gm-site-v2 .entry-content .grosmac-lead-form__grid {
	gap: 10px 14px;
}

body.gm-site-v2 .entry-content .grosmac-lead-form__field--message textarea {
	min-height: 96px;
	height: 96px;
}

/* Quote request: form on the left, "what to send" and the three steps beside it */
@media (min-width: 961px) {
	body.gm-site-v2 .gm-static-template__article--request-a-technical-quote .entry-content {
		display: grid;
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
		gap: 14px clamp(20px, 2.6vw, 36px);
		align-items: start;
	}

	body.gm-site-v2 .gm-static-template__article--request-a-technical-quote .entry-content > * {
		grid-column: 1 / -1;
		margin-bottom: 0 !important;
	}

	body.gm-site-v2 .gm-static-template__article--request-a-technical-quote .entry-content > :nth-child(1) {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	body.gm-site-v2 .gm-static-template__article--request-a-technical-quote .entry-content > :nth-child(2),
	body.gm-site-v2 .gm-static-template__article--request-a-technical-quote .entry-content > :nth-child(3) {
		grid-column: 2;
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	body.gm-site-v2 .gm-static-template__article--request-a-technical-quote .entry-content > :nth-child(2) > * {
		padding: 12px 14px;
	}
}

/* Closing band with a heading, a sentence and a button: text left, button right */
body.gm-site-v2 .entry-content .gm-static-band > :is(h2, h3, p) {
	grid-column: 1;
}

body.gm-site-v2 .entry-content .gm-static-band > .wp-block-buttons {
	grid-column: 2;
	grid-row: 1 / span 3;
	align-self: center;
	justify-self: end;
}

@media (max-width: 782px) {
	body.gm-site-v2 .entry-content .gm-static-band > .wp-block-buttons {
		grid-column: 1;
		grid-row: auto;
		justify-self: start;
	}
}

/* Installations page: shorter map, record lists in two columns */
body.gm-site-v2 .gm-installations-page-intro,
body.gm-site-v2 .gm-installations-map-section,
body.gm-site-v2 .gm-trade-records,
body.gm-site-v2 .gm-installations-page-how {
	margin-bottom: var(--gm2-gap);
}

body.gm-site-v2 .gm-installations-map-section.is-headerless .gm-installations-map {
	height: min(52vh, 420px);
}

@media (min-width: 961px) {
	body.gm-site-v2 .gm-trade-records__rows {
		columns: 2;
		column-gap: clamp(24px, 3vw, 48px);
	}

	body.gm-site-v2 .gm-trade-records__rows > * {
		break-inside: avoid;
	}
}

/* ---------- Phones, second pass (reviewed at 375 px) ---------- */
@media (max-width: 782px) {
	/* Forms: short fields share a row, long ones keep the full width */
	body.gm-site-v2 .entry-content .grosmac-lead-form__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px 10px;
	}

	body.gm-site-v2 .entry-content .grosmac-lead-form__field {
		grid-column: 1 / -1;
		min-width: 0;
	}

	body.gm-site-v2 .entry-content .grosmac-lead-form__field--phone,
	body.gm-site-v2 .entry-content .grosmac-lead-form__field--country {
		grid-column: auto;
	}

	/* Utility pages (Contact, FAQ): short intro so the form or the answers come sooner */
	body.gm-site-v2 .entry-content .gm-intent-hero--utility p:not(.gm-static-eyebrow) {
		font-size: 14px;
		line-height: 1.4;
	}

}

/* Cards built with a "constrained" group centred their text with side margins of ~45px,
   so headings and paragraphs started at different places. Everything starts at the card edge. */
body.gm-site-v2 .entry-content .gm-static-card.is-layout-constrained > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

body.gm-site-v2 .entry-content .gm-static-card.is-layout-constrained > :is(h2, h3, h4, p) {
	width: 100%;
	text-align: left;
}

/* FAQ on a phone: one question per row. Two columns left 10-line strips of text. */
@media (max-width: 600px) {
	body.gm-site-v2.page-id-1570 .entry-content .gm-solutions-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Card header (icon + title): the title sits next to its icon, not drifting away from it. */
body.gm-site-v2 .entry-content .gm-static-card > .wp-block-group.is-nowrap {
	gap: 12px;
	justify-content: flex-start;
}

body.gm-site-v2 .entry-content .gm-static-card > .wp-block-group.is-nowrap > :is(h2, h3, h4) {
	margin: 0;
	text-align: left;
}

/* Lead form on a phone: one field per row, so placeholders ("Example: United States, UK, UAE...") fit. */
@media (max-width: 480px) {
	body.gm-site-v2 .entry-content .grosmac-lead-form__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}
