/**
 * Product page layout v2 (hidden test: ?gm_pdp=v2).
 * Everything is scoped to body.gm-pdp-v2, so the current product page is untouched.
 * Industrial catalogue: radius 0, carbon rules, orange only for action and state.
 */

body.gm-pdp-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-paper: var(--gm-color-paper, #fff);
	--gm2-canvas: var(--gm-color-canvas, #f7f7f5);
	--gm2-on-ink: var(--gm-color-on-ink, #f7f7f5);
	--gm2-muted-on-ink: #c9c5bf;
	--gm2-section-gap: clamp(44px, 5.5vw, 84px);
	--gm2-rail-h: 52px;
	--gm2-sticky-top: var(--gm2-header-h, 0px);
}

body.gm-pdp-v2 .gm-pdp2 ::selection {
	background: var(--gm2-brand);
	color: var(--gm2-ink);
}

body.gm-pdp-v2 .gm-pdp2 :focus-visible {
	outline: 3px solid var(--gm2-ink);
	outline-offset: 2px;
}

/* ---------- Buttons ---------- */

body.gm-pdp-v2 .gm-pdp2-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 22px;
	border: 2px solid var(--gm2-ink);
	border-radius: 0;
	background: transparent;
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.18s ease-out, color 0.18s ease-out;
}

body.gm-pdp-v2 .gm-pdp2-btn--primary {
	background: var(--gm2-brand);
}

body.gm-pdp-v2 .gm-pdp2-btn--dark {
	background: var(--gm2-ink);
	color: var(--gm2-on-ink);
}

body.gm-pdp-v2 .gm-pdp2-btn:hover,
body.gm-pdp-v2 .gm-pdp2-btn:focus-visible {
	background: var(--gm2-ink);
	color: var(--gm2-on-ink);
}

body.gm-pdp-v2 .gm-pdp2-btn--dark:hover,
body.gm-pdp-v2 .gm-pdp2-btn--dark:focus-visible {
	background: var(--gm2-brand);
	color: var(--gm2-ink);
}

/* ---------- Hero: machine | summary ---------- */

body.gm-pdp-v2 .gm-pdp2-hero {
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	gap: clamp(24px, 3.4vw, 56px);
	align-items: start;
	padding-bottom: var(--gm2-section-gap);
}

body.gm-pdp-v2 .gm-pdp2-summary {
	display: grid;
	gap: clamp(18px, 2vw, 26px);
	align-content: start;
}

body.gm-pdp-v2 .gm-pdp2-pitch {
	margin: 0;
	max-width: 46ch;
	color: var(--gm2-ink);
	font-size: clamp(17px, 1.35vw, 20px);
	line-height: 1.5;
}

body.gm-pdp-v2 .gm-pdp2-pitch:empty {
	display: none;
}

body.gm-pdp-v2 .gm-pdp2-pitch p {
	margin: 0;
}

/* KPI plate: four ruled rows, label left, figure right */
body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi-strip {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 3px solid var(--gm2-ink);
	background: none;
	list-style: none;
}

body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi {
	display: flex;
	flex-direction: row-reverse;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 13px 0;
	border: 0;
	border-bottom: 1px solid var(--gm2-line);
	background: none;
	box-shadow: none;
	text-align: right;
}

body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi::before,
body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi::after {
	content: none;
}

body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi-value {
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: clamp(17px, 1.4vw, 21px);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi-label {
	flex: none;
	color: var(--gm2-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: left;
	text-transform: uppercase;
}

body.gm-pdp-v2 .gm-pdp2-buy {
	display: grid;
	gap: 16px;
}

body.gm-pdp-v2 .gm-pdp2-price {
	display: grid;
	gap: 4px;
	margin: 0;
}

body.gm-pdp-v2 .gm-pdp2-price__main,
body.gm-pdp-v2 .gm-pdp2-price__main .amount,
body.gm-pdp-v2 .gm-pdp2-price__main bdi {
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: clamp(28px, 2.6vw, 38px);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	line-height: 1.05;
}

body.gm-pdp-v2 .gm-pdp2-price__hint {
	color: var(--gm2-muted);
	font-size: 14px;
}

body.gm-pdp-v2 .gm-pdp2-buy__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

body.gm-pdp-v2 .gm-pdp2-assurance {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	margin: 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--gm2-line);
	color: var(--gm2-muted);
	font-size: 14px;
	list-style: none;
}

body.gm-pdp-v2 .gm-pdp2-assurance li {
	margin: 0;
}

body.gm-pdp-v2 .gm-pdp2-assurance a {
	color: var(--gm2-ink);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

/* ---------- Film band ---------- */

body.gm-pdp-v2 .gm-pdp2-film {
	margin-inline: calc(50% - 50vw);
	padding: clamp(36px, 5vw, 72px) max(16px, calc(50vw - 50%));
	background: var(--gm2-ink);
	color: var(--gm2-on-ink);
	scroll-margin-top: var(--gm2-sticky-top);
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab {
	display: grid;
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
	grid-template-areas:
		"title video"
		"intro video";
	grid-template-rows: auto 1fr;
	gap: 14px clamp(24px, 4vw, 64px);
	align-items: start;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab > h2 {
	grid-area: title;
	margin: 0;
	color: var(--gm2-on-ink);
	font-family: var(--gm-font-display);
	font-size: clamp(26px, 3vw, 42px);
	font-weight: 800;
	line-height: 1.02;
	text-transform: uppercase;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab__intro {
	grid-area: intro;
	margin: 0;
	max-width: 38ch;
	color: var(--gm2-muted-on-ink);
	font-size: 16px;
	line-height: 1.55;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade {
	grid-area: video;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__button,
body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: 0;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__button {
	position: relative;
	padding: 0;
	overflow: hidden;
	background: #000;
	cursor: pointer;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__poster {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__button:hover .gm-product-video-facade__poster {
	transform: scale(1.02);
}

/* Square orange play block instead of the round slate one */
body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__play {
	position: absolute;
	inset: 50% auto auto 50%;
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	background: var(--gm2-brand);
	transform: translate(-50%, -50%);
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__play svg {
	width: 84px;
	height: 84px;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__play svg circle {
	fill: transparent;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__play svg polygon {
	fill: var(--gm2-ink);
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__cta {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 10px 16px;
	border-radius: 0;
	background: var(--gm2-ink);
	color: var(--gm2-on-ink);
	font-family: var(--gm-font-display);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__caption {
	margin: 10px 0 0;
	color: var(--gm2-muted-on-ink);
	font-size: 13px;
	text-align: left;
}

/* ---------- Sticky rail ---------- */

body.gm-pdp-v2 .gm-pdp2-rail {
	position: sticky;
	top: var(--gm2-sticky-top);
	z-index: 20;
	margin-inline: calc(50% - 50vw);
	padding-inline: max(16px, calc(50vw - 50%));
	border-bottom: 2px solid var(--gm2-ink);
	background: var(--gm2-canvas);
}

body.gm-pdp-v2 .gm-pdp2-rail__inner {
	display: flex;
	align-items: stretch;
	gap: clamp(14px, 2.2vw, 34px);
	min-height: var(--gm2-rail-h);
	overflow-x: auto;
	scrollbar-width: none;
}

body.gm-pdp-v2 .gm-pdp2-rail__inner::-webkit-scrollbar {
	display: none;
}

body.gm-pdp-v2 .gm-pdp2-rail a {
	display: inline-flex;
	flex: none;
	align-items: center;
	border-bottom: 4px solid transparent;
	color: var(--gm2-ink);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

body.gm-pdp-v2 .gm-pdp2-rail a:hover,
body.gm-pdp-v2 .gm-pdp2-rail a[aria-current="true"] {
	border-bottom-color: var(--gm2-brand);
}

body.gm-pdp-v2 .gm-pdp2-rail a.gm-pdp2-rail__cta {
	align-self: center;
	margin-left: auto;
	padding: 9px 16px;
	border: 2px solid var(--gm2-ink);
	background: var(--gm2-brand);
}

body.gm-pdp-v2 .gm-pdp2-rail a.gm-pdp2-rail__cta:hover {
	background: var(--gm2-ink);
	color: var(--gm2-on-ink);
}

/* ---------- Sections ---------- */

body.gm-pdp-v2 .gm-pdp2-section {
	margin: 0;
	padding: var(--gm2-section-gap) 0;
	border: 0;
	border-top: 1px solid var(--gm2-line);
	background: none;
	box-shadow: none;
	scroll-margin-top: calc(var(--gm2-sticky-top) + var(--gm2-rail-h));
}

body.gm-pdp-v2 .gm-pdp2-rail + .gm-pdp2-section {
	border-top: 0;
}

body.gm-pdp-v2 .gm-pdp2-head {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 16px 32px;
	margin: 0 0 clamp(22px, 2.6vw, 36px);
}

body.gm-pdp-v2 .gm-pdp2-head h2,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero strong {
	margin: 0;
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: clamp(26px, 3vw, 40px);
	font-weight: 800;
	line-height: 1.02;
	text-transform: uppercase;
}

body.gm-pdp-v2 .gm-pdp2-downloads {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

/* ---------- Configurator, full width ---------- */

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero {
	display: grid;
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
	gap: 12px clamp(24px, 4vw, 64px);
	align-items: end;
	margin: 0 0 clamp(24px, 3vw, 40px);
	padding: 0;
	border: 0;
	background: none;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__eyebrow {
	display: none;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero span {
	max-width: 62ch;
	color: var(--gm2-muted);
	font-size: 17px;
	line-height: 1.5;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__layout {
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	gap: clamp(24px, 4vw, 64px);
	align-items: start;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__summary {
	position: sticky;
	top: calc(var(--gm2-sticky-top) + var(--gm2-rail-h) + 20px);
}

body.gm-pdp-v2 .gm-pdp2-config-cta {
	margin-top: 14px;
}

body.gm-pdp-v2 .gm-pdp2-config-cta > * {
	display: flex;
	width: 100%;
	justify-content: center;
}

body.gm-pdp-v2 .gm-pdp2-config-note {
	margin: 10px 0 0;
	color: var(--gm2-muted);
	font-size: 13px;
}

/* ---------- Technical data: table | capacity ---------- */

body.gm-pdp-v2 .gm-pdp2-specs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 4vw, 64px);
	align-items: start;
}

body.gm-pdp-v2 .gm-pdp2-specs > :only-child {
	grid-column: 1 / -1;
}

body.gm-pdp-v2 .gm-pdp2-specs > * {
	margin: 0;
}

/* ---------- Inner blocks: drop their own outer spacing ---------- */

body.gm-pdp-v2 .gm-pdp2-section--installations > *,
body.gm-pdp-v2 .gm-pdp2-section--order > * {
	margin-block: 0;
}

body.gm-pdp-v2 .gm-pdp2-section--about .woocommerce-tabs {
	margin: 0;
}

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: reduce) {
	body.gm-pdp-v2 .gm-pdp2-btn,
	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__poster {
		transition: none;
	}
}

/* ---------- Narrow screens ---------- */

@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-hero,
	body.gm-pdp-v2 .gm-pdp2-specs,
	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__layout,
	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero {
		grid-template-columns: minmax(0, 1fr);
	}

	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"title"
			"video"
			"intro";
	}

	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__summary {
		position: static;
	}

	body.gm-pdp-v2 .gm-pdp2-rail a.gm-pdp2-rail__cta {
		display: none;
	}

	body.gm-pdp-v2 .gm-pdp2-buy__actions .gm-pdp2-btn {
		flex: 1 1 100%;
	}
}

/* Blocks moved by this layout must never wait for the scroll-reveal fade */
body.gm-pdp-v2 .gm-pdp2 .gm-reveal {
	opacity: 1;
	transform: none;
}

/* =====================================================================
   Compact pass (11 Nov 2026): the desktop page was ~12 screens tall.
   Smaller gallery, half-height video, choices in columns, folded guide.
   ===================================================================== */

body.gm-pdp-v2 {
	--gm2-section-gap: clamp(26px, 3.2vw, 48px);
}

/* Hero fits one screen: thumbs in a side column, image capped */
@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-hero {
		grid-template-columns: minmax(0, 0.86fr) minmax(0, 1fr);
		gap: clamp(20px, 2.6vw, 40px);
	}

	body.gm-pdp-v2 .gm-pdp2-hero .gm-single-product__gallery {
		position: static;
		padding: 0;
		border: 0;
		background: none;
		box-shadow: none;
	}

	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 10px;
		align-items: start;
		margin: 0;
		max-width: 640px;
	}

	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery__main {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		margin: 0;
	}

	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery__main-btn,
	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery__main-img {
		width: 100%;
		height: auto;
		max-height: min(62vh, 560px);
		aspect-ratio: 1;
		object-fit: contain;
	}

	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery__thumbs {
		grid-column: 1;
		grid-row: 1;
		display: flex;
		flex-direction: column;
		gap: 8px;
		max-height: min(62vh, 560px);
		margin: 0;
		padding: 0;
		overflow-y: auto;
		scrollbar-width: none;
	}

	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery__thumb,
	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery__thumb-btn {
		flex: none;
		width: 72px;
		height: 72px;
	}

	body.gm-pdp-v2 .gm-pdp2-summary {
		gap: 16px;
	}

	body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi {
		padding: 9px 0;
	}
}

/* Video: half the height, text beside it */
body.gm-pdp-v2 .gm-pdp2-film {
	padding-block: clamp(24px, 3vw, 44px);
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab {
	grid-template-columns: minmax(0, 1fr) minmax(0, 620px);
	align-items: center;
	grid-template-rows: auto auto;
	align-content: center;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__play,
body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__play svg {
	width: 64px;
	height: 64px;
}

/* Configurator: choices in two columns */
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero {
	margin-bottom: 18px;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__steps {
	gap: 16px;
}

@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__choices {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px 12px;
	}

	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__choice label {
		grid-template-columns: 18px minmax(0, 1fr) auto;
	}
}

/* Description in two columns */
@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-section--about #tab-description {
		column-count: 2;
		column-gap: clamp(28px, 4vw, 64px);
		padding: 20px 0 0;
	}

	body.gm-pdp-v2 .gm-pdp2-section--about #tab-description > h2 {
		column-span: all;
	}

	body.gm-pdp-v2 .gm-pdp2-section--about #tab-description > h4 {
		break-after: avoid;
	}

	body.gm-pdp-v2 .gm-pdp2-section--about #tab-description > ul,
	body.gm-pdp-v2 .gm-pdp2-section--about #tab-description > p,
	body.gm-pdp-v2 .gm-pdp2-section--about #tab-description li {
		break-inside: avoid;
	}
}

/* Tables: tighter rows */
body.gm-pdp-v2 .gm-pdp2-specs .gm-product-spec-glance__table th,
body.gm-pdp-v2 .gm-pdp2-specs .gm-product-spec-glance__table td,
body.gm-pdp-v2 .gm-pdp2-specs .gm-capacity-matrix th,
body.gm-pdp-v2 .gm-pdp2-specs .gm-capacity-matrix td {
	padding-block: 6px;
}

body.gm-pdp-v2 .gm-pdp2-head {
	margin-bottom: 18px;
}

/* Order terms: two columns of rows */
@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-section--order .gm-order-terms__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: clamp(28px, 4vw, 64px);
	}
}

/* Folded buying guide */
body.gm-pdp-v2 .gm-pdp2-fold {
	padding-block: 0;
}

body.gm-pdp-v2 .gm-pdp2-fold__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0;
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: clamp(18px, 1.6vw, 22px);
	font-weight: 800;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}

body.gm-pdp-v2 .gm-pdp2-fold__summary::-webkit-details-marker {
	display: none;
}

body.gm-pdp-v2 .gm-pdp2-fold__summary svg {
	flex: none;
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

body.gm-pdp-v2 .gm-pdp2-fold[open] > .gm-pdp2-fold__summary svg {
	transform: rotate(45deg);
}

body.gm-pdp-v2 .gm-pdp2-fold[open] {
	padding-bottom: var(--gm2-section-gap);
}

@media (prefers-reduced-motion: reduce) {
	body.gm-pdp-v2 .gm-pdp2-fold__summary svg {
		transition: none;
	}
}

@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab > h2 {
		align-self: end;
	}

	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab__intro {
		align-self: start;
	}
}

/* Description: a single panel, so no tab strip and no box */
body.gm-pdp-v2 .gm-pdp2-section--about .wc-tabs {
	display: none;
}

body.gm-pdp-v2 .gm-pdp2-section--about .woocommerce-Tabs-panel {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

body.gm-pdp-v2 .gm-pdp2-section--about #tab-description > h2 {
	margin: 0 0 16px;
	font-size: clamp(26px, 3vw, 40px);
	line-height: 1.02;
}

/* Installations: title and figures side by side, no tag above the title */
body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations {
	padding: 0;
	border: 0;
	background: none;
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__eyebrow {
	display: none;
}

@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__header {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"title stats"
			"summary note";
		gap: 6px clamp(28px, 4vw, 64px);
		align-items: end;
		margin: 0 0 16px;
		padding: 0;
	}

	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__header > * {
		margin: 0;
		max-width: none;
	}

	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__title {
		grid-area: title;
	}

	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__summary {
		grid-area: summary;
		align-self: start;
	}

	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__stats {
		grid-area: stats;
	}

	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__disclaimer {
		grid-area: note;
		align-self: start;
	}
}

/* Header: title on the left, reference and category as a small line on the right */
body.gm-pdp-v2 .gm-pdp2 > .gm-single-product__header {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 6px 24px;
	margin: 0 0 14px;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 3px solid var(--gm2-brand);
	background: none;
}

body.gm-pdp-v2 .gm-pdp2 > .gm-single-product__header .gm-single-product__title-block {
	margin: 0;
	min-width: 0;
}

body.gm-pdp-v2 .gm-pdp2 > .gm-single-product__header .gm-single-product__spec-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 18px;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

body.gm-pdp-v2 .gm-pdp2 > .gm-single-product__header .gm-single-product__spec-strip > * {
	flex: none;
	width: auto;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--gm2-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: left;
}

body.gm-pdp-v2 .gm-pdp2 > .gm-single-product__header .gm-single-product__spec-strip::before,
body.gm-pdp-v2 .gm-pdp2 > .gm-single-product__header .gm-single-product__spec-strip::after {
	content: none;
}

/* Review loop, Model T Static Proofer: model cards on an even grid (the last row was stretching),
   and a lone spec table does not span the whole page. */
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 8px;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card {
	width: auto;
	min-width: 0;
	max-width: none;
}

body.gm-pdp-v2 .gm-pdp2-specs > :only-child {
	max-width: 900px;
}

/* Impeccable 4.8.2 detector pass: orange text on the light canvas was 2.2:1 (needs 4.5:1),
   headings and short paragraphs broke with a stray last word. */
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__choice-price,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__choice-price .gm-money,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__totals-row--grand strong,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__totals-row--grand .gm-money {
	color: var(--gm2-ink);
	font-weight: 800;
}

body.gm-pdp-v2 .gm-pdp2 h2,
body.gm-pdp-v2 .gm-pdp2 h3,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero strong {
	text-wrap: balance;
}

body.gm-pdp-v2 .gm-pdp2 p,
body.gm-pdp-v2 .gm-pdp2 li,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero span {
	text-wrap: pretty;
}

/* Review loop, Divider ECO on a phone: the four key figures were ~80 px tall each */
body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi {
	min-height: 0;
	height: auto;
}

body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi-value,
body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi-label {
	min-height: 0;
	margin: 0;
	padding: 0;
}

@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi {
		padding: 8px 0;
	}

	body.gm-pdp-v2 .gm-pdp2-summary .gm-single-product__kpi-value {
		font-size: 16px;
	}
}

/* Review loop, Dynamic Proofer ECO on a phone: the two download buttons were stacked and 78 px tall each */
@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-head {
		align-items: start;
		gap: 12px;
		margin-bottom: 14px;
	}

	body.gm-pdp-v2 .gm-pdp2-downloads {
		flex-wrap: nowrap;
		width: 100%;
		gap: 8px;
	}

	body.gm-pdp-v2 .gm-pdp2-downloads .gm-pdp2-btn {
		flex: 1 1 0;
		min-height: 44px;
		padding: 8px 10px;
		font-size: 12px;
		letter-spacing: 0.04em;
		text-align: center;
	}

	body.gm-pdp-v2 .gm-pdp2-film {
		padding-block: 22px;
	}

	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab {
		gap: 10px;
	}
}

/* =====================================================================
   Impeccable critique pass (11 Nov 2026): two independent reviews.
   Fixes: scrambled mobile order, 188 px of sticky chrome, loose section
   rhythm, seven heading sizes, old boxed cards next to ruled sections,
   orange text on light and white text on orange (2.2:1).
   ===================================================================== */

/* The old page reorders its blocks on phones; this layout must keep source order */
body.gm-pdp-v2 article.gm-pdp2 > * {
	order: 0 !important; /* beats the per-block order rules of 30-product.css */
}

/* Only the section rail sticks: the site header scrolls away on this page */
body.gm-pdp-v2 .gm-site-header {
	position: static;
}

body.gm-pdp-v2 {
	--gm2-section-gap: clamp(20px, 2.2vw, 30px);
}

/* One heading scale, one ink */
body.gm-pdp-v2 .gm-pdp2 h2,
body.gm-pdp-v2 .gm-pdp2-head h2,
body.gm-pdp-v2 .gm-pdp2-section--about #tab-description > h2,
body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab > h2,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero strong,
body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__title,
body.gm-pdp-v2 .gm-pdp2-section--related h2 {
	margin-top: 0;
	border: 0;
	padding: 0;
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: clamp(22px, 1.9vw, 28px);
	font-weight: 800;
	line-height: 1.08;
	text-transform: uppercase;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab > h2 {
	color: var(--gm2-on-ink);
}

body.gm-pdp-v2 .gm-pdp2 .gm-capacity-matrix__title,
body.gm-pdp-v2 .gm-pdp2 .gm-product-spec-glance__title,
body.gm-pdp-v2 .gm-pdp2 .gm-order-terms__title,
body.gm-pdp-v2 .gm-pdp2 .gm-product-editorial-model h2,
body.gm-pdp-v2 .gm-pdp2 .gm-product-editorial-model h3,
body.gm-pdp-v2 .gm-pdp2 #tab-description h4 {
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Hero: smaller gallery, less air below */
@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-hero {
		padding-bottom: 24px;
	}

	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery {
		max-width: 560px;
	}

	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery__main-btn,
	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery__main-img,
	body.gm-pdp-v2 .gm-pdp2-hero .gm-pdp-gallery__thumbs {
		max-height: min(54vh, 478px);
	}
}

/* Reference line: readable size and ink, no orange on light */
body.gm-pdp-v2 .gm-pdp2 > .gm-single-product__header .gm-single-product__spec-strip *,
body.gm-pdp-v2 .gm-pdp2 .gm-single-product__sku-label,
body.gm-pdp-v2 .gm-pdp2 .gm-single-product__sku-plain {
	background: none;
	color: var(--gm2-muted);
	font-size: 12px;
}

/* Video band: about 300 px instead of 437 */
body.gm-pdp-v2 .gm-pdp2-film {
	padding-block: 24px;
}

@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab {
		grid-template-columns: minmax(0, 1fr) minmax(0, 430px);
	}
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade__caption {
	display: none;
}

/* Configurator: title and intro on one row, plain step labels */
@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: baseline;
		margin-bottom: 14px;
	}
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__hero span {
	font-size: 15px;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step-title {
	margin: 0 0 8px;
	padding: 0 0 6px;
	border: 0;
	border-bottom: 2px solid var(--gm2-ink);
	color: var(--gm2-ink);
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step-num {
	width: auto;
	height: auto;
	min-width: 0;
	margin-right: 8px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--gm2-ink);
	font-weight: 800;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__summary-label {
	font-size: 12px;
}

/* Black on orange for every primary action (white on orange was 2.35:1) */
body.gm-pdp-v2 .gm-pdp2 .gm-btn--primary,
body.gm-pdp-v2 .gm-pdp2 .gm-quote-add,
body.gm-pdp-v2 .gm-pdp2 .gm-quote-add__label,
body.gm-pdp-v2 .gm-pdp2 .gm-pdp2-config-cta a {
	color: var(--gm2-ink);
	opacity: 1;
}

/* Technical data: ruled tables instead of beige cards */
body.gm-pdp-v2 .gm-pdp2-specs .gm-product-spec-glance,
body.gm-pdp-v2 .gm-pdp2-specs .gm-capacity-matrix {
	padding: 0;
	border: 0;
	border-top: 2px solid var(--gm2-ink);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

body.gm-pdp-v2 .gm-pdp2-specs .gm-product-spec-glance__title,
body.gm-pdp-v2 .gm-pdp2-specs .gm-capacity-matrix__title {
	padding-top: 10px;
}

body.gm-pdp-v2 .gm-pdp2-specs .gm-capacity-matrix__intro {
	margin: 0 0 6px;
	font-size: 13px;
}

body.gm-pdp-v2 .gm-pdp2-specs th,
body.gm-pdp-v2 .gm-pdp2-specs td {
	padding-block: 5px;
}

/* Installations: one-line header, flat cards */
body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__summary {
	display: none;
}

@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__header {
		grid-template-areas: "title stats" "note note";
		align-items: baseline;
		margin-bottom: 10px;
	}

	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__stats {
		justify-self: end;
	}
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__disclaimer {
	font-size: 12px;
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card {
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid var(--gm2-line);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

/* Order terms: plain heading on a rule, no orange bar or outer box */
body.gm-pdp-v2 .gm-pdp2-section--order .gm-order-terms {
	border: 0;
	background: none;
	box-shadow: none;
}

body.gm-pdp-v2 .gm-pdp2-section--order .gm-order-terms__head {
	padding: 0 0 8px;
	border: 0;
	border-bottom: 2px solid var(--gm2-ink);
	background: none;
	color: var(--gm2-ink);
}

body.gm-pdp-v2 .gm-pdp2-section--order .gm-order-terms__title {
	margin: 0;
	font-size: clamp(22px, 1.9vw, 28px);
	letter-spacing: 0;
}

/* Editorial notes and guide: ink headings, no orange text on light */
body.gm-pdp-v2 .gm-pdp2 .gm-product-seo-panel__eyebrow,
body.gm-pdp-v2 .gm-pdp2 .gm-card__eyebrow,
body.gm-pdp-v2 .gm-pdp2 .gm-card__price-label {
	color: var(--gm2-muted);
	font-size: 11px;
}

/* Related machines: no extra gap above the heading */
body.gm-pdp-v2 .gm-pdp2-section--related .related.products,
body.gm-pdp-v2 .gm-pdp2-section--related .upsells.products {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

body.gm-pdp-v2 .gm-pdp2-section--related h2 {
	margin-bottom: 14px;
}

/* Installations (Miguel, 11 Nov): the list scrolled inside a tall box with half of each card empty.
   Now every location is visible at once: compact one-line entries in columns, beside the map. */
body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__feed {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 0 24px;
	align-content: start;
	max-height: none;
	height: auto;
	padding: 0;
	overflow: visible;
	border-top: 2px solid var(--gm2-ink);
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0 10px;
	align-items: baseline;
	margin: 0;
	padding: 7px 0;
	min-height: 0;
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card::before,
body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card::after {
	content: none;
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card__head {
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
	margin: 0;
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card__flag {
	flex: none;
	padding: 0;
	border: 0;
	background: none;
	color: var(--gm2-muted);
	font-size: 12px;
	font-weight: 800;
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card__place {
	margin: 0;
	color: var(--gm2-ink);
	font-family: var(--gm-font-body);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card__year {
	margin: 0;
	color: var(--gm2-muted);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card__count {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--gm2-muted);
	font-size: 12px;
}

/* Location precision (postal / city / country) is internal detail, not buyer information */
body.gm-pdp-v2 .gm-pdp2-section--installations .gm-installation-card__badge {
	display: none;
}

@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__layout {
		grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr);
		gap: clamp(24px, 3vw, 48px);
		align-items: start;
	}
}

@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-section--installations .gm-product-installations__feed {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Piston / model cards (Miguel, 11 Nov: "uno más alto, otro más bajo, diferentes tamaños"):
   every card is the same size, with size, range and price stacked in the same three lines. */
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-grid {
	grid-template-columns: repeat(auto-fill, minmax(116px, 1fr));
	grid-auto-rows: 1fr;
	gap: 6px;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card {
	display: block;
	height: 100%;
	margin: 0;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto 1fr auto;
	gap: 2px;
	align-items: start;
	justify-items: start;
	height: 100%;
	min-height: 78px;
	padding: 9px 10px;
	border: 1px solid var(--gm2-line);
	border-radius: 0;
	background: var(--gm2-paper);
	box-shadow: none;
	text-align: left;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card-title {
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.15;
	white-space: nowrap;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card-range {
	margin: 0;
	color: var(--gm2-muted);
	font-size: 12px;
	line-height: 1.25;
	white-space: nowrap;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card-price,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card-price .gm-money {
	margin: 0;
	color: var(--gm2-ink);
	font-size: 14px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
	text-align: left;
	white-space: nowrap;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-radio:checked + .gm-configurator__variant-card-body {
	border-color: var(--gm2-ink);
	background: var(--gm2-ink);
	box-shadow: inset 0 -4px 0 var(--gm2-brand);
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-radio:checked + .gm-configurator__variant-card-body .gm-configurator__variant-card-title,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-radio:checked + .gm-configurator__variant-card-body .gm-configurator__variant-card-price,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-radio:checked + .gm-configurator__variant-card-body .gm-configurator__variant-card-price .gm-money {
	color: var(--gm2-on-ink);
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-radio:checked + .gm-configurator__variant-card-body .gm-configurator__variant-card-range {
	color: var(--gm2-muted-on-ink);
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-radio:focus-visible + .gm-configurator__variant-card-body {
	outline: 3px solid var(--gm2-ink);
	outline-offset: 2px;
}

/* The selected card already shows its range */
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variation-meta {
	display: none;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-grid {
	grid-auto-rows: auto;
	align-items: stretch;
	height: auto;
	max-height: none;
	overflow: visible;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card {
	height: auto;
	min-height: 0;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card-body {
	grid-template-rows: auto auto auto;
	height: auto;
	min-height: 0;
	gap: 3px;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card-price {
	padding-top: 4px;
}

/* Review loop, pizza divider-rounder line (no configurator): the quote button in the hero and in the
   configurator summary must look like the other v2 buttons, not a full-width underlined link. */
body.gm-pdp-v2 .gm-pdp2-buy__actions .gm-single-product__quote-basket {
	flex: 0 1 auto;
	margin: 0;
}

body.gm-pdp-v2 .gm-pdp2 .gm-single-product__quote-basket .gm-quote-add,
body.gm-pdp-v2 .gm-pdp2 .gm-single-product__quote-basket a,
body.gm-pdp-v2 .gm-pdp2 .gm-single-product__quote-basket button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 22px;
	border: 2px solid var(--gm2-ink);
	border-radius: 0;
	background: var(--gm2-brand);
	box-shadow: none;
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
}

body.gm-pdp-v2 .gm-pdp2 .gm-single-product__quote-basket .gm-quote-add__label {
	text-decoration: none;
}

body.gm-pdp-v2 .gm-pdp2 .gm-single-product__quote-basket a:hover,
body.gm-pdp-v2 .gm-pdp2 .gm-single-product__quote-basket button:hover {
	background: var(--gm2-ink);
	color: var(--gm2-on-ink);
}

body.gm-pdp-v2 .gm-pdp2 .gm-single-product__quote-basket a:hover .gm-quote-add__label,
body.gm-pdp-v2 .gm-pdp2 .gm-single-product__quote-basket button:hover .gm-quote-add__label {
	color: var(--gm2-on-ink);
}

/* Review loop, CIA Mini Plus: quote button and "Watch it working" share one row;
   the "Related products" heading uses the same ink as every other section. */
body.gm-pdp-v2 .gm-pdp2-buy__actions .gm-single-product__quote-basket,
body.gm-pdp-v2 .gm-pdp2-buy__actions .gm-single-product__quote-basket > * {
	display: inline-flex;
	width: auto;
	max-width: 100%;
}

body.gm-pdp-v2 .gm-pdp2 .gm-pdp2-section--related .related.products > h2,
body.gm-pdp-v2 .gm-pdp2 .gm-pdp2-section--related .upsells.products > h2 {
	color: var(--gm2-ink);
}

/* Phones: three piston cards per row instead of two */
@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card-body {
		padding: 8px;
	}

	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__variant-card-title {
		font-size: 15px;
	}
}

/* =====================================================================
   Film band, three columns (Miguel, 11 Nov: half the band was empty):
   video | page index | price and quote. The rail no longer takes its own
   strip under the band; it slides in fixed once the band is out of view.
   ===================================================================== */
body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab {
	display: contents;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab__intro {
	display: none;
}

body.gm-pdp-v2 .gm-pdp2-film__index {
	display: grid;
	align-content: start;
	border-top: 1px solid rgba(247, 247, 245, 0.28);
}

body.gm-pdp-v2 .gm-pdp2-film__index a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	border-bottom: 1px solid rgba(247, 247, 245, 0.28);
	color: var(--gm2-on-ink);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-decoration: none;
	text-transform: uppercase;
}

body.gm-pdp-v2 .gm-pdp2-film__index a:hover,
body.gm-pdp-v2 .gm-pdp2-film__index a:focus-visible {
	color: var(--gm2-brand);
}

body.gm-pdp-v2 .gm-pdp2-film__buy {
	display: grid;
	gap: 12px;
	align-content: center;
	justify-items: start;
}

body.gm-pdp-v2 .gm-pdp2-film__price {
	display: grid;
	gap: 4px;
	margin: 0;
}

body.gm-pdp-v2 .gm-pdp2-film__price .gm-money,
body.gm-pdp-v2 .gm-pdp2-film__price .gm-money .amount,
body.gm-pdp-v2 .gm-pdp2-film__price .gm-money bdi {
	color: var(--gm2-on-ink);
	font-family: var(--gm-font-display);
	font-size: clamp(22px, 1.9vw, 28px);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}

body.gm-pdp-v2 .gm-pdp2-film__price small {
	color: var(--gm2-muted-on-ink);
	font-size: 13px;
}

body.gm-pdp-v2 .gm-pdp2-film .gm-pdp2-btn--primary {
	border-color: var(--gm2-brand);
}

body.gm-pdp-v2 .gm-pdp2-film .gm-pdp2-btn--primary:hover {
	background: var(--gm2-on-ink);
	border-color: var(--gm2-on-ink);
	color: var(--gm2-ink);
}

@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-film {
		display: grid;
		grid-template-columns: minmax(0, 400px) minmax(0, 1fr) minmax(0, auto);
		grid-template-areas:
			"video title buy"
			"video index buy";
		grid-template-rows: auto 1fr;
		gap: 10px clamp(24px, 3.4vw, 56px);
		align-items: start;
	}

	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade {
		grid-area: video;
		align-self: center;
	}

	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab > h2 {
		grid-area: title;
		align-self: start;
	}

	body.gm-pdp-v2 .gm-pdp2-film__index {
		grid-area: index;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 28px;
	}

	body.gm-pdp-v2 .gm-pdp2-film__buy {
		grid-area: buy;
		align-self: center;
	}
}

@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-film {
		display: grid;
		gap: 12px;
	}

	body.gm-pdp-v2 .gm-pdp2-film__buy {
		display: none;
	}
}

/* Floating rail (pages with a video band) */
body.gm-pdp-v2 .gm-pdp2-rail--float {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	margin: 0;
	padding-inline: max(16px, calc((100vw - var(--gm-product-page-width, 1584px)) / 2));
	transform: translateY(-101%);
	visibility: hidden;
	transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.22s;
}

body.gm-pdp-v2 .gm-pdp2-rail--float.is-visible {
	transform: none;
	visibility: visible;
	transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s;
}

body.gm-pdp-v2 .gm-pdp2-film + .gm-pdp2-rail--float + .gm-pdp2-section {
	border-top: 0;
}

@media (prefers-reduced-motion: reduce) {
	body.gm-pdp-v2 .gm-pdp2-rail--float,
	body.gm-pdp-v2 .gm-pdp2-rail--float.is-visible {
		transition: none;
	}
}

/* "Is this machine for you" strip under the hero: three ruled columns */
body.gm-pdp-v2 .gm-pdp2-fit {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px clamp(24px, 3.4vw, 56px);
	margin: 0 0 24px;
	padding: 14px 0 0;
	border-top: 2px solid var(--gm2-ink);
}

body.gm-pdp-v2 .gm-pdp2 .gm-pdp2-fit__title {
	margin: 0 0 6px;
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.07em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.gm-pdp-v2 .gm-pdp2-fit ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.gm-pdp-v2 .gm-pdp2-fit li,
body.gm-pdp-v2 .gm-pdp2-fit p {
	margin: 0;
	padding: 3px 0;
	color: var(--gm2-ink);
	font-size: 14px;
	line-height: 1.4;
}

body.gm-pdp-v2 .gm-pdp2-fit li + li {
	border-top: 1px solid var(--gm2-line);
}

body.gm-pdp-v2 .gm-pdp2-fit a {
	color: var(--gm2-ink);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-hero {
		padding-bottom: 18px;
	}
}

/* Film band on phones: title, video, then the index at full width in two columns */
@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-film {
		grid-template-columns: minmax(0, 1fr);
	}

	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab > h2 {
		order: 1;
	}

	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade {
		order: 2;
		width: 100%;
	}

	body.gm-pdp-v2 .gm-pdp2-film__index {
		order: 3;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 16px;
		width: 100%;
	}

	body.gm-pdp-v2 .gm-pdp2-film__index a {
		font-size: 12px;
		letter-spacing: 0.04em;
	}
}

@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-film {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-tab > h2,
	body.gm-pdp-v2 .gm-pdp2-film .gm-product-video-facade,
	body.gm-pdp-v2 .gm-pdp2-film__index {
		grid-area: auto;
	}

	body.gm-pdp-v2 .gm-pdp2-film__index a {
		min-width: 0;
	}
}

/* =====================================================================
   Plan step 2: hoppers in a compact grid, long blocks cut with "Read more".
   ===================================================================== */
@media (min-width: 961px) {
	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--hopper .gm-configurator__choices {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
	}
}

@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__choices {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--hopper .gm-configurator__choice label,
body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__choices .gm-configurator__choice label {
	/* Fill the tile without growing past it: "height: 100%" plus padding and border made the
	   label 18px taller than its row, so tiles ran over the next row. */
	box-sizing: border-box;
	height: auto;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__choices .gm-configurator__choice {
	display: grid;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--hopper .gm-configurator__choice label {
	grid-template-columns: 18px minmax(0, 1fr);
	grid-template-areas: "radio name" "radio price";
	gap: 2px 8px;
	align-items: start;
	padding: 8px 10px;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--hopper .gm-configurator__choice input {
	grid-area: radio;
	margin-top: 2px;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--hopper .gm-configurator__choice-name {
	grid-area: name;
	font-size: 13px;
	line-height: 1.3;
}

body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--hopper .gm-configurator__choice-price {
	grid-area: price;
	justify-self: start;
	text-align: left;
}

@media (max-width: 960px) {
	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--options .gm-configurator__choice label {
		grid-template-columns: 18px minmax(0, 1fr);
		grid-template-areas: "box name" "box price";
		gap: 2px 8px;
		align-items: start;
		padding: 8px 10px;
	}

	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--options .gm-configurator__choice input {
		grid-area: box;
		margin-top: 2px;
	}

	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--options .gm-configurator__choice-name {
		grid-area: name;
		font-size: 13px;
		line-height: 1.3;
	}

	body.gm-pdp-v2 .gm-pdp2-section--configure .gm-configurator__step--options .gm-configurator__choice-price {
		grid-area: price;
		justify-self: start;
	}
}

/* Cut blocks */
body.gm-pdp-v2 .gm-pdp2-clamp {
	overflow: hidden;
}

body.gm-pdp-v2 .gm-pdp2-more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 8px 16px;
	border: 0;
	border-top: 2px solid var(--gm2-ink);
	border-radius: 0;
	background: var(--gm2-canvas);
	color: var(--gm2-ink);
	font-family: var(--gm-font-display);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	cursor: pointer;
}

body.gm-pdp-v2 .gm-pdp2-more:hover,
body.gm-pdp-v2 .gm-pdp2-more:focus-visible {
	background: var(--gm2-ink);
	color: var(--gm2-on-ink);
}
