/**
 * Product detail page — Figma node 499:188979 (Vinyl Casement).
 * Uses Delco tokens from delco-tokens.css / home-figma.css.
 */
.dps-product-page {
	--dps-bg: #f9f7f5;
	--dps-surface: #ffffff;
	--dps-tan: #f2efeb;
	--dps-text: #3f4853;
	--dps-text-dark: #323c48;
	--dps-text-body: #465260;
	--dps-brown: #645852;
	--dps-accent-bar: #756963;
	--dps-cta: #3f4853;
	--dps-cta-border: #4779b9;
	--dps-badge: #858585;
	--dps-font-display: var(--delco-font-display);
	--dps-font-title: var(--delco-font-title);
	--dps-font-body: var(--delco-font-body);
	--dps-font-ui: var(--delco-font-title);
	/* Tab Groups: Magneta SemiBold upright (no italic face at 500/600) */
	--dps-tab-title-font: var(--dps-font-display), "Magneta", Georgia, serif;
	--dps-tab-title-weight: 600;
	--dps-tab-title-style: normal;
	--dps-max: 149.2rem;
	--dps-pad: clamp(2rem, 4vw, 11.4rem);
	--dpg-block-pad-y: clamp(3.5rem, 5vw, 5.5rem);
	--dpg-footer-pad-y: clamp(6rem, 8vw, 8rem);
	--dpg-block-head-gap: clamp(2rem, 2.5vw, 2.8rem);
	--dps-tab-content-max: 129.6rem;
	--dps-gallery-sticky-top: calc(var(--delco-mega-top, 13.9rem) + 2rem);
	--dps-tabs-sticky-top: var(--delco-mega-top, 13.9rem);
	--delco-bottom-cta-offset: 0;
	--dpg-features-chrome-top: var(--delco-mega-top, var(--delco-header-height, 13.9rem));
}

@media (max-width: 768px) {
	.dps-product-page {
		--dps-pad: clamp(2.4rem, 6vw, 3.6rem);
		--delco-nav-offset: var(--delco-header-height, 8.4rem);
		--dps-tabs-sticky-top: var(--delco-nav-offset);
		--dps-gallery-sticky-top: calc(var(--delco-nav-offset) + 2rem);
		--dpg-features-chrome-top: var(--delco-nav-offset);
	}

	body.dps-product-page .wrapper,
	body.dps-product-page .wrapper_small,
	body.dps-product-page .wrapper_full {
		padding-left: var(--dps-pad);
		padding-right: var(--dps-pad);
	}
}

@media (min-width: 993px) {
	body.dps-product-page:has(.delco-bottom-cta) {
		--delco-bottom-cta-offset: 6.6rem;
	}
}

.dps-product-page.second {
	background: var(--dps-bg);
}

body.dpg-features-sheet-open {
	overflow: hidden;
	overscroll-behavior: none;
	touch-action: none;
}

/* ── Hero shell ─────────────────────────────────────────────────────────── */
.dps-hero {
	max-width: var(--dps-max);
	margin: 0 auto;
	padding: 5rem var(--dps-pad) 5rem;
	display: grid;
	grid-template-columns: minmax(0, 54.1rem) minmax(0, 68rem);
	gap: clamp(3rem, 5vw, 9.9rem);
	align-items: start;
	justify-content: center;
}

@media (max-width: 768px) {
	.dps-hero {
		grid-template-columns: 1fr;
	}
}

/* ── Gallery (left, sticky) ─────────────────────────────────────────────── */
.dps-gallery {
	position: sticky;
	top: var(--dps-gallery-sticky-top);
	width: 100%;
	max-width: 54.1rem;
	z-index: 5;
}

.dps-gallery__main {
	background: var(--dps-surface);
	border-radius: 1rem;
	position: relative;
	width: 100%;
	height: 58.7rem;
	min-height: 58.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	box-sizing: border-box;
	overflow: hidden;
}

.dps-gallery__main #dps-main-img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
}

.dps-gallery__main img:not(#dps-main-img) {
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.dps-gallery__badge {
	position: absolute;
	top: 1.4rem;
	right: 1.4rem;
	width: 6.7rem;
	height: auto;
}

.dps-gallery__strip {
	margin-top: 1.9rem;
	overflow-x: auto;
	padding-bottom: 0.4rem;
}

.dps-gallery__strip-track {
	display: flex;
	flex-wrap: nowrap;
	gap: 1.6rem;
	width: max-content;
	max-width: 100%;
}

.dps-gallery__thumb {
	flex: 0 0 10.4rem;
	height: 11.3rem;
	background: var(--dps-surface);
	border: none;
	border-radius: 0.2rem;
	padding: 0.7rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dps-gallery__thumb.is-active {
	outline: 2px solid var(--dps-cta-border);
	outline-offset: 1px;
}

.dps-gallery__thumb img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

/* ── Info column ────────────────────────────────────────────────────────── */
.dps-info {
	display: flex;
	flex-direction: column;
	gap: 2.4rem;
	min-width: 0;
	max-width: 68rem;
}

.dps-info__head {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.dps-eyebrow {
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: var(--delco-type-body);
	letter-spacing: 0.16rem;
	color: var(--dps-text-dark);
	text-transform: uppercase;
	margin: 0;
}

.dps-info h1 {
	font-family: var(--dps-font-display);
	font-weight: 500;
	font-size: var(--delco-type-display-xl);
	line-height: 1.1;
	letter-spacing: 0.2rem;
	color: var(--dps-text);
	margin: 0;
}

.dps-rating {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	font-family: var(--dps-font-body);
	color: var(--dps-text);
	margin: 0;
}

.dps-rating__score {
	font-size: var(--delco-type-lede);
	line-height: 1;
}

.dps-rating__label {
	font-size: var(--delco-type-label-sm);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.dps-tagline {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body);
	line-height: 1.4;
	color: var(--dps-text);
	margin: 0;
}

.dps-footnote {
	font-family: var(--dps-font-body);
	font-style: italic;
	font-size: var(--delco-type-caption);
	line-height: 1.4;
	color: var(--dps-text);
	margin: 0;
}

/* ── Price box ──────────────────────────────────────────────────────────── */
.dps-price-box {
	background: var(--dps-tan);
	border-radius: 1rem;
	padding: 2.4rem 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.dps-price-box__label {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body);
	line-height: 1.35;
	color: var(--dps-text);
	margin: 0;
}

.dps-price-box__range {
	font-family: var(--dps-font-display);
	font-weight: 500;
	font-size: var(--delco-type-display-lg);
	color: var(--dps-brown);
	margin: 0;
	line-height: 1.1;
}

.dps-price-box__note {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-caption);
	line-height: 1.4;
	color: var(--dps-text);
	margin: 0;
}

.dps-price-box__typical {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body);
	line-height: 1.4;
	font-style: oblique;
	color: var(--dps-text);
	margin: 0;
}

.dps-price-box__typical strong {
	font-weight: 800;
	font-style: oblique;
}

.dps-price-box__timeline {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-caption);
	line-height: 1.4;
	color: var(--dps-text);
	margin: 0;
}

/* ── CTA ────────────────────────────────────────────────────────────────── */
.dps-cta-wrap {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

/*
 * Product brochure / spec buttons (Figma NHP hero) — outlined cream, not primary CTA.
 * Up to 3 equal-width buttons in a row under the product description.
 */
.dps-doc-btns {
	display: grid;
	grid-template-columns: repeat(var(--dps-doc-count, 2), minmax(0, 1fr));
	gap: 1.2rem;
	width: 100%;
	margin: 0;
}

.dps-doc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 5.6rem;
	padding: 1.4rem 1.6rem;
	border: 1px solid var(--dps-text-dark, #323c48);
	border-radius: 0.4rem;
	background: var(--dps-tan, #f2efeb);
	color: var(--dps-text-dark, #323c48);
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: clamp(1.3rem, 1.45vw, 1.5rem);
	letter-spacing: 0.12em;
	line-height: 1.25;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.dps-doc-btn:hover,
.dps-doc-btn:focus-visible {
	background: var(--dps-text-dark, #323c48);
	border-color: var(--dps-text-dark, #323c48);
	color: #fff;
	outline: none;
}

@media (max-width: 640px) {
	.dps-doc-btns {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.dps-doc-btn {
		min-height: 5.2rem;
		letter-spacing: 0.1em;
		font-size: 1.35rem;
	}
}

.dps-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	width: 100%;
	min-height: 7.5rem;
	padding: 1.5rem 2rem;
	background: var(--dps-cta);
	border: 1px solid var(--dps-cta-border);
	border-radius: var(--delco-radius-button, 1rem);
	color: #fff;
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: var(--delco-type-body);
	letter-spacing: 0.316rem;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	cursor: pointer;
	transition: background 0.2s;
}

.dps-cta:hover {
	background: #323c48;
	color: #fff;
}

/* Pivot “watch in action” secondary CTA (Figma 1440:129001) */
.dps-cta--watch {
	min-height: 6.6rem;
	background: #756963;
	border-color: #756963;
	letter-spacing: 0.3rem;
}

.dps-cta--watch:hover,
.dps-cta--watch:focus,
.dps-cta--watch:focus-visible {
	background: #5f554f;
	border-color: #5f554f;
	color: #fff;
	outline: none;
}

.dps-cta__play {
	width: 2.2rem;
	height: 2.2rem;
	flex: 0 0 auto;
}

.dps-cta-sub {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body);
	line-height: 1.35;
	color: var(--dps-text);
	margin: 0;
}

.dps-cta-sub svg {
	flex-shrink: 0;
	width: 2.1rem;
	height: 1.6rem;
}

/* ── Trust badges ───────────────────────────────────────────────────────── */
.dps-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
}

.dps-trust__item {
	flex: 1 1 18rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	min-height: 5rem;
	padding: 0.7rem 1.2rem;
	background: var(--dps-surface);
	border-radius: 0.9rem;
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-base);
	line-height: 1.25;
	color: #000;
	text-align: center;
}

.dps-trust__item svg {
	width: 2.7rem;
	height: 2.7rem;
	flex-shrink: 0;
}

/* ── Pull quote + body copy ─────────────────────────────────────────────── */
.dps-copy-block {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.dps-pullquote {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.dps-pullquote__bar {
	flex-shrink: 0;
	width: 0.8rem;
	height: 3.8rem;
	background: var(--dps-accent-bar);
	border-radius: 0.1rem;
}

.dps-pullquote p {
	font-family: var(--dps-font-body);
	font-style: italic;
	font-size: var(--delco-type-body);
	color: var(--dps-text-body);
	margin: 0;
	line-height: 1.4;
}

.dps-body-copy {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body);
	line-height: 1.5;
	color: var(--dps-text-body);
	padding: 1.6rem 0 0;
}

.dps-body-copy p {
	margin: 0 0 1.2rem;
}

.dps-body-copy p:last-child {
	margin-bottom: 0;
}

/* ── Key features box ───────────────────────────────────────────────────── */
.dps-features-box {
	background: var(--dps-tan);
	border-radius: 1rem;
	padding: 2.4rem 2.4rem;
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.dps-features-box__label {
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: var(--delco-type-body);
	letter-spacing: 0.16rem;
	color: var(--dps-text-dark);
	text-transform: uppercase;
	margin: 0 0 1.4rem;
}

.dps-features-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-content: space-between;
	gap: 1.4rem 2rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

@media (min-width: 701px) {
	.dps-trust__item {
		white-space: nowrap;
		min-width: min-content;
	}
}

@media (max-width: 700px) {
	.dps-features-grid {
		grid-template-columns: 1fr;
	}
}

.dps-features-grid li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body);
	line-height: 1.35;
	color: #000;
	min-width: 0;
	white-space: normal;
	overflow-wrap: anywhere;
}

.dps-features-grid li svg {
	width: 2.3rem;
	height: 2.3rem;
	flex-shrink: 0;
	margin-top: 0.1rem;
}

/* ── Option sections (color / hardware / glass) ─────────────────────────── */
.dps-options-stack {
	display: flex;
	flex-direction: column;
	gap: 4rem;
}

.dps-opt-section {
	margin: 0;
	padding: 0;
	max-width: none;
}

.dps-opt-section__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.2rem 2rem;
	flex-wrap: nowrap;
	margin-bottom: 2.1rem;
}

.dps-opt-section h2 {
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: var(--delco-type-lede);
	letter-spacing: 0.2rem;
	text-transform: uppercase;
	color: var(--dps-text-dark);
	margin: 0;
	flex: 0 0 auto;
	white-space: nowrap;
}

.dps-opt-section__sub {
	font-family: var(--dps-font-body);
	font-style: oblique;
	font-size: var(--delco-type-base);
	color: var(--dps-text-dark);
	margin: 0;
	text-align: right;
	flex: 1 1 auto;
	min-width: 0;
	max-width: none;
	white-space: nowrap;
}

/* Color: swatch grid + full-width preview */
.dps-color-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.9rem;
	align-items: stretch;
	width: 100%;
	max-width: none;
}

.dps-colors-grid {
	display: grid;
	grid-template-columns: repeat(var(--dps-color-cols, 8), minmax(0, 1fr));
	gap: 0.3rem;
	align-content: start;
	min-width: 0;
	width: 100%;
}

@media (max-width: 640px) {
	.dps-colors-grid {
		grid-template-columns: repeat(var(--dps-color-cols-mobile, var(--dps-color-cols, 6)), minmax(0, 1fr));
		gap: 0.25rem;
	}
}

.dps-color-swatch {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	max-height: 4.4rem;
	padding: 0;
	margin: 0;
	border: 2px solid transparent;
	border-radius: 0.15rem;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	box-sizing: border-box;
}

.dps-color-swatch:hover,
.dps-color-swatch.is-active {
	border-color: var(--dps-cta-border);
	box-shadow: 0 0 0 1px rgba(71, 121, 185, 0.25);
}

.dps-color-swatch:focus-visible {
	outline: 2px solid var(--dps-cta-border);
	outline-offset: 2px;
}

.dps-color-preview {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	width: 100%;
	min-height: 8rem;
	height: auto;
	padding: 1.1rem 1rem;
	border-radius: 0.15rem;
	background: var(--dps-accent-bar);
	transition: background-color 0.18s ease;
	box-sizing: border-box;
}

@media (max-width: 640px) {
	.dps-color-swatch {
		max-height: 3.6rem;
	}

	.dps-color-preview {
		min-height: 7rem;
		padding: 0.9rem 0.75rem;
	}
}

.dps-color-preview__label {
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: var(--delco-type-body-sm);
	letter-spacing: 0.06rem;
	line-height: 1.25;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	margin: 0;
	max-width: 100%;
	word-break: break-word;
	hyphens: auto;
}

.dps-color-preview__badge {
	margin: 0;
	max-width: 100%;
	font-family: var(--dps-font-body);
	font-size: 1.15rem;
	line-height: 1.3;
	letter-spacing: 0.04rem;
	text-align: center;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.88);
}

.dps-color-preview__badge.is-empty,
.dps-color-preview__badge[hidden] {
	display: none;
}

.dps-color-preview.is-light .dps-color-preview__label {
	color: var(--dps-text-dark);
}

.dps-color-preview.is-light .dps-color-preview__badge {
	color: rgba(50, 60, 72, 0.75);
}

/* Woodgrain stain swatches (fiberglass doors) */
.dps-wood-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.9rem;
	align-items: stretch;
	width: 100%;
}

.dps-wood-grid {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 0.3rem;
	align-content: start;
	width: 100%;
}

@media (max-width: 640px) {
	.dps-wood-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 0.25rem;
	}
}

.dps-wood-swatch {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	max-height: 4.4rem;
	padding: 0;
	margin: 0;
	border: 2px solid transparent;
	border-radius: 0.15rem;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	cursor: pointer;
}

.dps-wood-swatch:hover,
.dps-wood-swatch.is-active {
	border-color: var(--dps-cta-border);
	box-shadow: 0 0 0 1px rgba(71, 121, 185, 0.25);
}

.dps-wood-swatch:focus-visible {
	outline: 2px solid var(--dps-cta-border);
	outline-offset: 2px;
}

.dps-wood-preview {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	min-height: 8rem;
	height: auto;
	padding: 1.1rem 1rem;
	border-radius: 0.15rem;
	background-color: var(--dps-accent-bar);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

@media (max-width: 640px) {
	.dps-wood-swatch {
		max-height: 3.6rem;
	}

	.dps-wood-preview {
		min-height: 7rem;
	}
}

.dps-wood-preview__label {
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: var(--delco-type-body-sm);
	letter-spacing: 0.06rem;
	line-height: 1.25;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	padding: 0.35rem 0.7rem;
	border-radius: 0.2rem;
	background: rgba(50, 60, 72, 0.72);
}

/* Hardware / glass rows */
.dps-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 2.4rem 2rem;
	align-items: flex-start;
}

.dps-chip-row .dps-chip {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	border: none;
	border-radius: 0;
	padding: 0;
	min-width: 0;
	background: transparent;
	text-align: center;
	gap: 1rem;
}

.dps-chip-row .dps-chip img {
	display: block;
	width: 13.1rem;
	height: 4.8rem;
	object-fit: contain;
	border-radius: 0;
}

.dps-chip-row .dps-chip span {
	display: block;
	width: 13.1rem;
	max-width: 100%;
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: var(--delco-type-base);
	line-height: 1.25;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--dps-text-dark);
	text-align: center;
}

.dps-chip-row .dps-chip .badge {
	display: none;
}

.dps-chip-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

a.dps-chip-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	color: inherit;
}

a.dps-chip-link:hover .dps-chip span,
a.dps-chip-link:focus-visible .dps-chip span {
	color: var(--dps-accent-blue, #4779b9);
}

a.dps-chip-link:focus-visible {
	outline: 2px solid var(--dps-accent-blue, #4779b9);
	outline-offset: 3px;
	border-radius: 0.2rem;
}

/* Panel sizes — proportional door panes (matches glass standard sizes) */
.dps-panel-sizes__grid {
	--dps-panel-cols: 4;
	display: grid;
	grid-template-columns: repeat(var(--dps-panel-cols), minmax(0, 1fr));
	gap: 1.6rem 1.4rem;
	max-width: 100%;
}

.dps-panel-size {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	min-height: 12.4rem;
	padding: 1.8rem 1.2rem 1.4rem;
	border: 1px solid rgba(50, 60, 72, 0.22);
	border-radius: 0.8rem;
	background: #faf8f6;
	box-shadow: 0 0.4rem 1.2rem rgba(50, 60, 72, 0.06);
}

.dps-panel-size__visual {
	flex: 1 1 auto;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	min-height: 7.8rem;
	margin-bottom: 1.2rem;
}

.dps-panel-size__pane {
	flex: none;
	border: 2px solid #4a3728;
	border-radius: 2px;
	background:
		repeating-linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.04) 0,
			rgba(255, 255, 255, 0.04) 2px,
			transparent 2px,
			transparent 6px
		),
		linear-gradient(180deg, #6b4f3a 0%, #3d2817 100%);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.dps-panel-size__label {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3.2rem;
	max-width: none;
	margin: 0;
	padding: 0.7rem 0.55rem;
	box-sizing: border-box;
	border-radius: 0.35rem;
	background: var(--dps-accent-bar);
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: var(--delco-type-body-sm, 1.3rem);
	line-height: 1.25;
	letter-spacing: 0.06rem;
	text-transform: uppercase;
	color: #fff;
	text-align: center;
	white-space: nowrap;
}

@media (max-width: 768px) {
	/* Even count → 2/row; odd count → 3/row */
	.dps-panel-sizes__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.85rem;
	}

	.dps-panel-sizes__grid:has(> .dps-panel-size:last-child:nth-child(odd)) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.dps-panel-sizes__grid:has(> .dps-panel-size:only-child) {
		grid-template-columns: minmax(0, 1fr) !important;
		max-width: 18rem;
	}

	.dps-panel-size {
		min-height: 0;
		padding: 1.1rem 0.55rem 0.9rem;
	}

	.dps-panel-size__visual {
		min-height: 4.8rem;
		margin-bottom: 0.55rem;
	}

	.dps-panel-sizes__grid:has(> .dps-panel-size:last-child:nth-child(odd)) .dps-panel-size__visual {
		min-height: 4.2rem;
	}

	.dps-panel-sizes__grid:has(> .dps-panel-size:last-child:nth-child(odd)) .dps-panel-size__pane {
		transform: scale(0.88);
		transform-origin: bottom center;
	}

	.dps-panel-size__label {
		font-size: var(--delco-type-label-sm, 1.2rem);
		letter-spacing: 0.03em;
		line-height: 1.2;
		min-height: 2.8rem;
		padding: 0.55rem 0.35rem;
		white-space: normal;
	}
}

@media (max-width: 640px) {
	.dps-panel-sizes__grid {
		gap: 0.7rem;
	}

	.dps-panel-size {
		padding: 0.9rem 0.4rem 0.75rem;
	}

	.dps-panel-size__visual {
		min-height: 4.2rem;
		margin-bottom: 0.45rem;
	}

	.dps-panel-sizes__grid:has(> .dps-panel-size:last-child:nth-child(odd)) .dps-panel-size__visual {
		min-height: 3.6rem;
	}

	.dps-panel-size__label {
		font-size: 1.05rem;
	}
}

.dps-chip-wrap .badge {
	position: absolute;
	top: 0;
	right: 0;
	background: var(--dps-cta-border);
	color: #fff;
	font-size: var(--delco-type-label-sm);
	font-weight: 700;
	padding: 0.2rem 0.5rem;
	border-radius: 0.2rem;
	letter-spacing: 0.05em;
	z-index: 1;
}

.dps-glass-row .dps-chip img {
	width: 8.6rem;
	height: 8.6rem;
	object-fit: cover;
	border-radius: 0;
}

.dps-glass-row .dps-chip span {
	width: 8.6rem;
	font-size: var(--delco-type-label-sm);
	letter-spacing: 0.04em;
}

.dps-glass-row .dps-chip--more .dps-chip__more-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 8.6rem;
	height: 8.6rem;
	box-sizing: border-box;
	background: var(--dps-dt-navy, #323c48);
	color: #fff !important;
	border-radius: 0;
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: var(--delco-type-label-sm, 1.2rem);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.2;
	text-align: center;
	padding: 0.6rem;
	transition: background 0.15s ease;
}

.dps-glass-row a.dps-chip-link--more:hover .dps-chip__more-tile,
.dps-glass-row a.dps-chip-link--more:focus-visible .dps-chip__more-tile {
	background: #1f2730;
	color: #fff !important;
}

.dps-glass-row a.dps-chip-link--more:hover .dps-chip span,
.dps-glass-row a.dps-chip-link--more:focus-visible .dps-chip span {
	color: #fff !important;
}

/* ── Owner blocks (Figma sections below hero) ───────────────────────────── */
.dpg-section {
	max-width: var(--dps-max);
	margin: 0 auto;
	padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) var(--dps-pad);
}

/* Full-bleed product bands — same vertical rhythm, horizontal via inner wrappers */
.dpg-section.dpg-why,
.dpg-section.dpg-features,
.dpg-section.dpg-section--gallery {
	max-width: none;
	width: 100%;
	padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) 0;
	box-sizing: border-box;
}

.dpg-section--why {
	background: var(--dps-bg);
}

.dpg-section--gallery {
	background: var(--dps-surface);
}

/* Full-bleed background; horizontal padding handled by .dpg-gallery__inner */
.dpg-section.dpg-section--gallery {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
}

/* Product page bands — one vertical gap between stacked sections (not 2× padding) */
.dps-product-page > .dps-tabs-section + :is(.dps-tabs-section, .dpg-section),
.dps-product-page > .dps-tabs-section + script + .dpg-section,
.dps-product-page > .dpg-section + .dpg-section {
	padding-top: 0;
}

/* Why-choose has its own cream band — keep top inset even after tabs/CTA */
.dps-product-page > .dpg-section.dpg-why,
.dps-product-page > .dpg-section--why {
	padding-top: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem));
}

/*
 * Tabs → next page section
 * - Drop tabs chrome bottom pad (avoids triple stack)
 * - Keep a modest last-band bottom so tab content isn’t flush to the seam
 * - Following section keeps its normal top pad (gallery title inset)
 */
.dps-product-page > .dps-tabs-section:has(+ .dpg-section),
.dps-product-page > .dps-tabs-section:has(+ script + .dpg-section) {
	padding-bottom: 0 !important;
}

.dps-product-page > .dps-tabs-section:has(+ .dpg-section) .dps-tabs-panel.is-active .dps-tabs-panel__content .dps-tab-band:last-child .dps-dt__band:last-child,
.dps-product-page > .dps-tabs-section:has(+ script + .dpg-section) .dps-tabs-panel.is-active .dps-tabs-panel__content .dps-tab-band:last-child .dps-dt__band:last-child {
	padding-bottom: clamp(1.6rem, 2.5vw, 2.4rem) !important;
}

.dps-product-page > .dps-tabs-section:has(+ .dpg-section) .dps-tabs-panel.is-active .dps-tabs-panel__content .dps-tab-band:last-child:not(:has(.dps-dt__band)) > .dps-tab-band__inner,
.dps-product-page > .dps-tabs-section:has(+ .dpg-section) .dps-tabs-panel.is-active .dps-tabs-panel__content .dps-tab-band--cert:last-child > .dps-tab-band__inner,
.dps-product-page > .dps-tabs-section:has(+ script + .dpg-section) .dps-tabs-panel.is-active .dps-tabs-panel__content .dps-tab-band:last-child:not(:has(.dps-dt__band)) > .dps-tab-band__inner,
.dps-product-page > .dps-tabs-section:has(+ script + .dpg-section) .dps-tabs-panel.is-active .dps-tabs-panel__content .dps-tab-band--cert:last-child > .dps-tab-band__inner {
	padding-bottom: clamp(1.6rem, 2.5vw, 2.4rem) !important;
}

.dps-product-page > .dps-tabs-section + .dpg-section,
.dps-product-page > .dps-tabs-section + script + .dpg-section {
	padding-top: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem));
}

/* Gallery after any prior page band also owns its own top spacer */
.dps-product-page > .dpg-section + .dpg-section--gallery {
	padding-top: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem));
}

.dps-product-page > .dpg-section--gallery:has(+ .dpg-section) {
	padding-bottom: 0;
}

.dps-product-page > .dpg-section--gallery:has(+ .dpg-section) .dpg-gallery__inner {
	padding-bottom: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem));
}

.dps-product-page > .dpg-section--why {
	padding-bottom: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem));
}

.dps-product-page > .dpg-explore:has(+ .hf-section) {
	padding-bottom: 0;
}

.dps-product-page > .hf-section + .hf-section {
	padding-top: 0;
}

/* Keep breathing room above FAQ / testimonials / CTA (adjacent rule above
   zeroed padding-top and made the FAQ title kiss the previous block). */
.dps-product-page > .hf-section + .hf-section.hf-faqs,
.dps-product-page > .hf-section + .hf-section.hf-testimonials,
.dps-product-page > .hf-section + .hf-section.hf-cta {
	padding-top: var(--dpg-footer-pad-y);
}

/* Product page block backgrounds (subsections.divisions in Juicebox) */
.dps-block-bg--cream {
	background: var(--dps-bg) !important;
}

.dps-block-bg--white {
	background: var(--dps-surface) !important;
}

.dps-block-bg--subtle {
	background: #f0ebe4 !important;
}

.dps-block-bg--dark {
	background: #1a1a1a !important;
	--dps-text-dark: #f9f7f5;
	--dps-text-body: #b8b8b8;
	--dps-text: #d4d4d4;
}

.dps-block-bg--dark .dpg-section__head h2,
.dps-block-bg--dark .dpg-explore__title,
.dps-block-bg--dark .dpg-why .dpg-section__head h2,
.dps-block-bg--dark .dpg-why__card h3 {
	color: #f9f7f5;
}

.dps-block-bg--dark .dpg-section__head p,
.dps-block-bg--dark .dpg-explore__lead,
.dps-block-bg--dark .dpg-why .dpg-section__head p,
.dps-block-bg--dark .dpg-why__card p {
	color: #b8b8b8;
}

.dps-block-bg--dark .dpg-explore__cta {
	background: transparent;
	border-color: #f9f7f5;
	color: #f9f7f5;
}

.dps-block-bg--dark .dpg-explore__cta:hover {
	background: #f9f7f5;
	color: #1a1a1a;
}

.dps-block-bg--dark .dpg-explore__nav {
	border-color: rgba(255, 255, 255, 0.35);
	color: #f9f7f5;
}

.dps-block-bg--dark .dpg-explore__card {
	background: rgba(255, 255, 255, 0.06);
}

.dps-block-bg--dark .dpg-explore__card-title {
	color: #d4d4d4;
}

.dps-block-bg--dark .dpg-why__card {
	background: rgba(255, 255, 255, 0.06);
}

.dps-block-bg--dark .dpg-why__chip {
	background: rgba(255, 255, 255, 0.08);
	color: #d4d4d4;
}

.dps-block-bg--dark .dpg-gallery__cta {
	background: transparent;
	border-color: #f9f7f5;
	color: #f9f7f5;
}

.dps-block-bg--dark .dpg-gallery__cta:hover {
	background: #f9f7f5;
	color: #1a1a1a;
}

.dpg-section__head {
	text-align: center;
	max-width: 101.9rem;
	margin: 0 auto var(--dpg-block-head-gap, clamp(2rem, 2.5vw, 2.8rem));
}

.dpg-section__head h2 {
	font-family: var(--dps-font-display);
	font-weight: 500;
	font-size: var(--delco-type-display-xl);
	letter-spacing: 0.27rem;
	color: var(--dps-text);
	margin: 0 0 1rem;
	line-height: 1.15;
}

.dpg-section--gallery .dpg-section__head h2 {
	font-weight: 300;
	color: #2c2a26;
	font-size: var(--delco-type-display-xl);
}

.dpg-section__head p {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-display-xs);
	letter-spacing: 0.13rem;
	color: var(--dps-text);
	margin: 0;
	line-height: 1.4;
}

/* H3 Fusion Mulling Options (Figma 778:557430) */
.dpg-section.dpg-mulling,
.dpg-section--mulling {
	background: var(--dps-bg);
	padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) var(--dps-pad);
}

.dpg-mulling__inner {
	max-width: 158.8rem;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(2rem, 2.5vw, 3rem);
}

.dpg-mulling .dpg-section__head {
	margin-bottom: 0;
	max-width: 149.4rem;
}

.dpg-mulling .dpg-section__head h2 {
	font-weight: 500;
	letter-spacing: 0.2rem;
}

.dpg-mulling__hero {
	width: min(100%, 50rem);
}

.dpg-mulling__hero img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.dpg-mulling__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.6rem, 3.5vw, 6.5rem);
	width: 100%;
	max-width: 158.8rem;
}

.dpg-mulling__card {
	background: #fff;
	border-radius: 1rem;
	padding: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	min-width: 0;
}

.dpg-mulling__card-media {
	width: 100%;
	aspect-ratio: 309 / 263;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 1rem;
	overflow: hidden;
	background: #fff;
}

.dpg-mulling__card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.dpg-mulling__card-body {
	width: 100%;
	text-align: left;
}

.dpg-mulling__card-body h3 {
	margin: 0 0 1rem;
	font-family: var(--dps-font-body);
	font-weight: 600;
	font-size: var(--delco-type-body-lg, 2rem);
	letter-spacing: 0.2rem;
	color: var(--dps-text);
	line-height: 1.2;
}

.dpg-mulling__card-body p {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body, 1.6rem);
	letter-spacing: 0.1rem;
	color: var(--dps-text);
	line-height: 1.45;
}

@media (max-width: 900px) {
	.dpg-mulling__grid {
		grid-template-columns: 1fr;
		max-width: 42rem;
		margin: 0 auto;
	}
}

/* Available Sliding / Hung Options (Figma 546:457729 / 546:457999) */
.dpg-section.dpg-style-opts,
.dpg-section--style-opts {
	background: var(--dps-bg);
	padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 6.25rem)) var(--dps-pad);
}

.dpg-style-opts__inner {
	max-width: 124.2rem;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(2rem, 2.5vw, 3rem);
}

.dpg-style-opts .dpg-section__head {
	margin-bottom: 0;
	width: 100%;
}

.dpg-style-opts .dpg-section__head h2 {
	font-family: var(--dps-font-display, "Magneta", Georgia, serif);
	font-weight: 500;
	font-size: clamp(2.8rem, 3.2vw, 4rem);
	letter-spacing: 0.2rem;
	color: #3f4853;
	text-align: center;
}

.dpg-style-opts__stacks {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: clamp(2.4rem, 3vw, 4.7rem);
}

.dpg-style-opts__stack {
	background: #fff;
	border-radius: 1rem;
	padding: 3rem;
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.dpg-style-opts__row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3rem;
	min-height: 26.3rem;
}

.dpg-style-opts__row.is-flip {
	flex-direction: row-reverse;
}

.dpg-style-opts__media {
	flex: 0 0 auto;
	width: min(100%, 30.9rem);
	aspect-ratio: 309 / 263;
	border-radius: 1rem;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}

.dpg-style-opts__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.dpg-style-opts__copy {
	flex: 1 1 auto;
	max-width: 61.1rem;
	min-width: 0;
}

.dpg-style-opts__copy h3 {
	margin: 0 0 1rem;
	font-family: var(--dps-font-body);
	font-weight: 600;
	font-size: 2rem;
	letter-spacing: 0.2rem;
	color: #323c48;
	line-height: 1.2;
	text-transform: uppercase;
}

.dpg-style-opts__copy p {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: 2rem;
	letter-spacing: 0.1rem;
	color: #3f4853;
	line-height: 1.35;
}

.dpg-style-opts__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.6rem, 3vw, 4rem);
	width: 100%;
}

.dpg-style-opts__card {
	background: #fff;
	border-radius: 1rem;
	padding: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	min-width: 0;
}

.dpg-style-opts__card .dpg-style-opts__media {
	width: 100%;
}

.dpg-style-opts__card .dpg-style-opts__copy {
	width: 100%;
	max-width: none;
}

@media (max-width: 900px) {
	.dpg-style-opts__row,
	.dpg-style-opts__row.is-flip {
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		gap: 1.6rem;
		padding: 1.2rem 0;
	}

	.dpg-style-opts__media {
		width: min(100%, 28rem);
		margin: 0 auto;
	}

	.dpg-style-opts__copy {
		max-width: none;
		text-align: left;
	}

	.dpg-style-opts__grid {
		grid-template-columns: 1fr;
		max-width: 42rem;
		margin: 0 auto;
	}
}

/* Weber Grain Technology / patented process (fiberglass doors) */
.dpg-section.dpg-patent {
	max-width: none;
	width: 100%;
	padding: 0;
	background: var(--dps-bg);
}

.dpg-patent__head-band {
	padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) var(--dps-pad) var(--dpg-block-head-gap, clamp(2rem, 2.5vw, 2.8rem));
}

.dpg-patent__head {
	max-width: 143.2rem;
	margin: 0 auto;
	text-align: center;
}

.dpg-patent__eyebrow {
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: var(--delco-type-body);
	letter-spacing: 0.3rem;
	text-transform: uppercase;
	color: var(--dps-text);
	margin: 0 0 clamp(1.8rem, 2.4vw, 3rem);
}

.dpg-patent__head h2 {
	font-family: var(--dps-font-display);
	font-weight: 500;
	font-size: var(--delco-type-display-xl);
	letter-spacing: 0.27rem;
	color: var(--dps-text);
	margin: 0;
	line-height: 1.15;
}

.dpg-patent__rule {
	display: block;
	width: 100%;
	height: 0;
	border: 0;
	border-top: 1px solid #000;
	margin: 0;
}

.dpg-patent__split {
	display: grid;
	grid-template-columns: minmax(0, 77.6rem) minmax(0, 73.1rem);
	gap: clamp(3rem, 6vw, 10rem);
	align-items: center;
	justify-content: center;
	max-width: 173.1rem;
	margin: 0 auto;
	padding: var(--dpg-block-head-gap, clamp(2rem, 2.5vw, 2.8rem)) var(--dps-pad) var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem));
	box-sizing: border-box;
}

.dpg-patent__media {
	margin: 0;
}

.dpg-patent__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 1rem;
	object-fit: cover;
	aspect-ratio: 776 / 590;
}

.dpg-patent__panel-title {
	font-family: var(--dps-font-display);
	font-weight: 600;
	font-size: var(--delco-type-display-xl);
	letter-spacing: 0.2rem;
	color: var(--dps-text);
	margin: 0 0 clamp(1.8rem, 2.2vw, 2.5rem);
	line-height: 1.15;
}

.dpg-patent__body p {
	font-family: var(--dps-font-body);
	font-size: 2.018rem;
	line-height: 1.24;
	color: var(--dps-text);
	margin: 0 0 2.5rem;
}

.dpg-patent__body p:last-child {
	margin-bottom: 0;
}

@media (max-width: 960px) {
	.dpg-patent__split {
		grid-template-columns: 1fr;
	}
}

.dpg-why__inner {
	max-width: 108.8rem;
	margin: 0 auto;
	padding: 0 var(--dps-pad);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--dpg-block-head-gap, clamp(2rem, 2.5vw, 2.8rem));
	box-sizing: border-box;
}

.dpg-why .dpg-section__head {
	text-align: center;
	max-width: 72rem;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(0.8rem, 1.2vw, 1.2rem);
}

.dpg-why .dpg-section__head h2 {
	font-family: var(--dps-font-display);
	font-weight: 500;
	font-size: var(--delco-type-display-lg);
	letter-spacing: 0.12rem;
	color: var(--dps-text);
	margin: 0;
	line-height: 1.15;
}

.dpg-why .dpg-section__head p {
	font-family: var(--dps-font-body);
	font-weight: 400;
	font-size: var(--delco-type-lede-fluid);
	letter-spacing: 0.06rem;
	color: var(--dps-text);
	margin: 0;
	line-height: 1.35;
}

/* Why choose cards — Figma 719:415459 */
.dpg-why__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.6rem, 2vw, 2.4rem);
	width: 100%;
	max-width: 96rem;
	margin: 0 auto;
}

@media (max-width: 768px) {
	.dpg-why__grid {
		grid-template-columns: 1fr;
	}
}

.dpg-why__card {
	max-width: none;
	min-width: 0;
	background: var(--dps-surface);
	border-radius: 1rem;
	padding: clamp(2rem, 2.5vw, 2.8rem) clamp(1.8rem, 2vw, 2.4rem);
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.08);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	box-sizing: border-box;
}

.dpg-why__icon {
	width: clamp(4rem, 4vw, 4.8rem);
	height: clamp(4rem, 4vw, 4.8rem);
	object-fit: contain;
	flex-shrink: 0;
}

.dpg-why__icon--emoji {
	display: block;
	font-size: var(--delco-type-display-lg);
	line-height: 1;
}

.dpg-why__card-body {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	flex: 1 1 auto;
	width: 100%;
}

.dpg-why__card h3 {
	font-family: var(--dps-font-ui);
	font-size: var(--delco-type-lede-fluid);
	color: #000;
	margin: 0;
	font-weight: 400;
	line-height: 1.25;
}

.dpg-why__card p {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-fluid);
	letter-spacing: 0.04rem;
	color: var(--dps-text);
	line-height: 1.45;
	margin: 0;
}

.dpg-why__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	min-height: 4.4rem;
	margin-top: auto;
	padding: 0.8rem 1rem;
	background: var(--dps-badge);
	border-radius: 1rem;
	font-family: var(--dps-font-ui);
	font-weight: 500;
	font-size: var(--delco-type-body-sm);
	color: var(--dps-bg);
	text-align: center;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-sizing: border-box;
}

.dpg-why__chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.2rem 2rem;
	width: 100%;
	margin: 0;
	padding: clamp(1.6rem, 2.5vw, 2.4rem) clamp(2rem, 5vw, 8rem);
	background: var(--dps-bg);
	box-sizing: border-box;
}

.dpg-why__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	font-family: var(--dps-font-ui);
	font-size: var(--delco-type-body-fluid);
	font-weight: 400;
	color: #000;
	line-height: 1.2;
}

.dpg-why__chip-icon {
	width: clamp(2rem, 2vw, 2.4rem);
	height: clamp(2rem, 2vw, 2.4rem);
	flex-shrink: 0;
	object-fit: contain;
}

/* Tabs */
.dpg-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
	margin-bottom: 3rem;
	border-bottom: 1px solid rgba(63, 72, 83, 0.2);
}

.dpg-tabs__btn {
	background: none;
	border: none;
	border-bottom: 3px solid transparent;
	padding: 1.2rem 2.4rem;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: var(--delco-type-body);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dps-text);
	cursor: pointer;
	margin-bottom: -1px;
}

.dpg-tabs__btn.is-active {
	color: var(--dps-cta-border);
	border-bottom-color: var(--dps-cta-border);
}

.dpg-tabs__panel {
	display: none;
	max-width: 90rem;
	margin: 0 auto;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-lg);
	line-height: 1.65;
	color: var(--dps-text-body);
}

.dpg-tabs__panel.is-active {
	display: block;
}

/* Gallery — 4-up square grid (matches type landing / Figma) */
.dpg-gallery__inner {
	max-width: var(--dps-max);
	margin: 0 auto;
	padding: 0 var(--dps-pad);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(2.4rem, 3.5vw, 4rem);
	text-align: center;
}

.dpg-gallery__inner > .dpg-section__head {
	width: 100%;
}

.dpg-gallery__lede {
	margin: 0 auto;
	max-width: 80rem;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-lg);
	line-height: 1.45;
	color: var(--dps-text-body);
}

.dpg-gallery__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.6rem, 2.5vw, 3rem);
	width: 100%;
	margin: 0;
	align-items: stretch;
}

@media (max-width: 1200px) {
	.dpg-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.dpg-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.2rem;
	}
}

@media (max-width: 480px) {
	.dpg-gallery__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

.dpg-gallery__item {
	display: block;
	position: relative;
	min-width: 0;
	width: 100%;
	border-radius: 0.5rem;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: #ddd;
}

.dpg-gallery__item img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.dpg-gallery__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	position: relative;
	z-index: 1;
	flex-shrink: 0;
	min-height: 5.5rem;
	margin: 0;
	padding: 1.5rem 3rem;
	background: var(--dps-text-dark);
	border: 0.077rem solid var(--dps-cta-border);
	border-radius: var(--delco-radius-button, 1rem);
	color: #fff;
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: var(--delco-type-body);
	letter-spacing: 0.316rem;
	text-transform: uppercase;
	text-decoration: none;
}

.dpg-gallery__cta:hover {
	background: var(--dps-cta);
	color: #fff;
	text-decoration: none;
}

/* Explore other styles — Figma 2027:1053745 */
.dpg-explore {
	--dpg-explore-slot: 27.4rem;
	--dpg-explore-card-sm: 22.8rem;
	--dpg-explore-card-lg: 27.4rem;
	--dpg-explore-gap: 3rem;
	--dpg-explore-stage-h: 29.5rem;
	--dpg-explore-stage-w: calc(
		var(--dpg-explore-card-lg) + var(--dpg-explore-gap) +
		var(--dpg-explore-card-sm) + var(--dpg-explore-gap) +
		var(--dpg-explore-card-sm)
	);
	max-width: none;
	width: 100%;
	margin: 0;
	padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) var(--dps-pad);
	background: var(--dps-surface);
	box-sizing: border-box;
}

.dpg-explore__inner {
	max-width: var(--dps-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(28rem, 54.6rem) minmax(0, 1fr);
	align-items: center;
	gap: clamp(3rem, 5vw, 5rem);
}

.dpg-explore__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(1.6rem, 2.6vw, 2.6rem);
	min-width: 0;
}

.dpg-explore__title {
	font-family: var(--dps-font-display);
	font-weight: 500;
	font-size: var(--delco-type-display-lg);
	line-height: 1.12;
	color: var(--dps-text-dark);
	margin: 0;
	max-width: 54.6rem;
	text-wrap: balance;
}

.dpg-explore__lead {
	font-family: var(--dps-font-body);
	font-weight: 400;
	font-size: var(--delco-type-lede-fluid);
	line-height: 1.35;
	color: var(--dps-text-dark);
	margin: 0;
	max-width: 54.6rem;
}

.dpg-explore__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 5.8rem;
	padding: 1.5rem 2rem;
	background: var(--dps-cta);
	border: 1px solid var(--dps-cta-border);
	border-radius: var(--delco-radius-button, 1rem);
	color: #fff;
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: var(--delco-type-body-sm);
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	box-sizing: border-box;
	transition: background 0.2s ease;
}

.dpg-explore__cta:hover {
	background: var(--dps-cta-border);
	color: #fff;
}

.dpg-explore__carousel {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(1rem, 2vw, 2rem);
	min-width: 0;
}

.dpg-explore__nav {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.4rem;
	height: 3.4rem;
	padding: 0;
	border: none;
	background: transparent;
	color: var(--dps-text-dark);
	cursor: pointer;
	transition: opacity 0.2s ease, color 0.2s ease;
}

.dpg-explore__nav:hover:not(:disabled) {
	color: var(--dps-cta-border);
}

.dpg-explore__nav:disabled {
	opacity: 0.35;
	cursor: default;
}

.dpg-explore__nav svg {
	display: block;
	width: 3.4rem;
	height: 3.4rem;
}

.dpg-explore__stage {
	overflow: hidden;
	width: var(--dpg-explore-stage-w);
	max-width: 100%;
	height: var(--dpg-explore-stage-h);
	flex: 0 0 var(--dpg-explore-stage-w);
	position: relative;
}

.dpg-explore__track {
	display: flex;
	align-items: center;
	gap: var(--dpg-explore-gap);
	transition: transform 0.35s ease;
}

.dpg-explore__slot {
	flex: 0 0 var(--dpg-explore-slot);
	width: var(--dpg-explore-slot);
	min-width: var(--dpg-explore-slot);
	height: var(--dpg-explore-stage-h);
	display: flex;
	align-items: center;
	justify-content: center;
}

.dpg-explore__card {
	float: none;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.9rem;
	width: var(--dpg-explore-card-sm);
	height: 24rem;
	padding: 2.1rem 1.2rem;
	background: var(--dps-surface);
	border-radius: 1rem;
	box-shadow: 0 0 1.31rem rgba(0, 0, 0, 0.1);
	text-decoration: none;
	color: inherit;
	box-sizing: border-box;
	transition: width 0.25s ease, height 0.25s ease, box-shadow 0.25s ease;
}

.dpg-explore__card.is-active {
	width: var(--dpg-explore-card-lg);
	height: 27.4rem;
	padding: 2.55rem 1.2rem;
	box-shadow: 0 0 1.57rem rgba(0, 0, 0, 0.1);
}

.dpg-explore__card:hover {
	box-shadow: 0 0 1.8rem rgba(0, 0, 0, 0.14);
}

.dpg-explore__card-media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	/* Flex to fill whatever space the (up to 2-line) title leaves, so the
	   title is never pushed outside the card and clipped by the stage. */
	flex: 1 1 auto;
	min-height: 0;
}

.dpg-explore__card-title {
	flex: 0 0 auto;
}

.dpg-explore__card-media img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: center;
}

.dpg-explore__card-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	width: 100%;
	font-family: var(--dps-font-display);
	font-weight: 500;
	font-size: var(--delco-type-body-lg);
	line-height: 1.25;
	text-align: center;
	color: var(--dps-text-dark);
}

.dpg-explore__card.is-active .dpg-explore__card-title {
	font-size: var(--delco-type-lede);
}

@media (max-width: 1100px) {
	.dpg-explore {
		--dpg-explore-slot: 24rem;
		--dpg-explore-card-sm: 20rem;
		--dpg-explore-card-lg: 24rem;
		--dpg-explore-gap: 2rem;
		--dpg-explore-stage-h: 26.5rem;
		--dpg-explore-stage-w: calc(
			var(--dpg-explore-card-lg) + var(--dpg-explore-gap) +
			var(--dpg-explore-card-sm) + var(--dpg-explore-gap) +
			var(--dpg-explore-card-sm)
		);
	}
}

/* Narrow desktop — keep 3-card explore carousel, compress instead of stacking */
@media (max-width: 960px) and (min-width: 769px) {
	.dpg-explore {
		--dpg-explore-slot: 15.5rem;
		--dpg-explore-card-sm: 13.5rem;
		--dpg-explore-card-lg: 15.5rem;
		--dpg-explore-gap: 0.75rem;
		--dpg-explore-stage-h: 18.5rem;
	}

	.dpg-explore__inner {
		grid-template-columns: minmax(13rem, 30%) minmax(0, 1fr);
		gap: 0.85rem;
	}

	.dpg-explore__title {
		font-size: clamp(2rem, 2.4vw, 2.6rem);
	}

	.dpg-explore__lead {
		font-size: var(--delco-type-body);
	}

	.dpg-explore__cta {
		min-height: 4.8rem;
		padding: 1.1rem 1.2rem;
		font-size: var(--delco-type-label-sm, 1.2rem);
	}

	.dpg-explore__card {
		height: 15.5rem;
		padding: 1rem 0.6rem;
		gap: 0.45rem;
	}

	.dpg-explore__card.is-active {
		height: 17.5rem;
		padding: 1.2rem 0.6rem;
	}

	.dpg-explore__card-title {
		font-size: var(--delco-type-body-sm);
	}

	.dpg-explore__card.is-active .dpg-explore__card-title {
		font-size: var(--delco-type-body);
	}

	.dpg-explore__carousel {
		gap: 0.5rem;
	}

	.dpg-explore__nav {
		width: 2.6rem;
		height: 2.6rem;
	}

	.dpg-explore__nav svg {
		width: 2.4rem;
		height: 2.4rem;
	}
}

@media (max-width: 768px) {
	.dpg-explore__inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: clamp(2rem, 4vw, 2.8rem);
	}

	.dpg-explore__intro {
		display: contents;
	}

	.dpg-explore__title {
		order: 1;
		width: 100%;
		max-width: none;
		text-align: center;
	}

	.dpg-explore__lead {
		order: 2;
		width: 100%;
		max-width: none;
		text-align: center;
	}

	.dpg-explore__carousel {
		order: 3;
		display: grid;
		grid-template-columns: 1fr;
		align-items: center;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding: 0 0.2rem;
	}

	.dpg-explore__stage {
		grid-column: 1;
		grid-row: 1;
		flex: none;
		width: 100%;
		min-width: 0;
		max-width: none;
	}

	.dpg-explore__nav {
		grid-column: 1;
		grid-row: 1;
		flex: none;
		width: 2.8rem;
		height: 2.8rem;
		z-index: 3;
		align-self: center;
		background: rgba(249, 247, 245, 0.92);
		border-radius: 50%;
		box-shadow: 0 0 0.6rem rgba(50, 60, 72, 0.08);
	}

	.dpg-explore__nav--prev {
		justify-self: start;
	}

	.dpg-explore__nav--next {
		justify-self: end;
	}

	.dpg-explore__nav svg {
		width: 2.6rem;
		height: 2.6rem;
	}

	.dpg-explore__cta {
		order: 4;
		width: 100%;
	}

	.dpg-explore__nav[hidden] {
		display: none;
	}
}

@media (max-width: 640px) {
	.dpg-explore {
		--dpg-explore-slot: 18rem;
		--dpg-explore-card-sm: 15.5rem;
		--dpg-explore-card-lg: 18rem;
		--dpg-explore-gap: 1.2rem;
		--dpg-explore-stage-h: 23.5rem;
		--dpg-explore-stage-w: var(--dpg-explore-card-lg);
	}

	.dpg-explore__carousel {
		gap: 0.15rem;
	}

	.dpg-explore__nav {
		flex: none;
		width: 2.4rem;
		height: 2.4rem;
	}

	.dpg-explore__nav svg {
		width: 2.2rem;
		height: 2.2rem;
	}

	.dpg-explore__card,
	.dpg-explore__card.is-active {
		padding: 1.8rem 1rem;
		height: 20rem;
	}

	.dpg-explore__card.is-active {
		height: 22rem;
	}

	.dpg-explore__card-media,
	.dpg-explore__card.is-active .dpg-explore__card-media {
		min-height: 0;
	}

	.dpg-explore__card-title,
	.dpg-explore__card.is-active .dpg-explore__card-title {
		font-size: var(--delco-type-base);
	}
}

/* ── Product tab groups (Figma 546:361945) ──────────────────────────────── */
.dps-tabs-section {
	--dps-tabs-bg: var(--dps-bg);
	--dps-tabs-active: #f1ece3;
	background: var(--dps-tabs-bg);
	padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) 0;
	scroll-margin-top: var(--dps-tabs-sticky-top, var(--delco-mega-top, 13.9rem));
}

.dps-tabs-section--cream {
	--dps-tabs-bg: #f9f7f5;
}

.dps-tabs-section--white {
	--dps-tabs-bg: #ffffff;
}

.dps-tabs-section--subtle {
	--dps-tabs-bg: #f0ebe4;
}

.dps-tabs-section--dark {
	--dps-tabs-bg: #1a1a1a;
	--dps-tabs-active: #2a2a2a;
}

.dps-tabs-section--dark .dps-tabs-bar__btn {
	background: #252525;
	color: #d4d4d4;
	border-color: #3a3a3a;
}

.dps-tabs-section--dark .dps-tabs-bar__btn.is-active {
	background: var(--dps-tabs-active, #2a2a2a);
	color: #f9f7f5;
}

.dps-tabs-section--dark .dps-tabs-panel__content {
	background: var(--dps-tabs-bg, #1a1a1a);
}

.dps-tabs-section__inner {
	max-width: var(--dps-max);
	margin: 0 auto;
}

.dps-tabs-bar {
	display: flex;
	width: 100%;
	gap: 0;
	background: var(--dps-accent-bar);
	position: sticky;
	top: var(--dps-tabs-sticky-top, var(--delco-mega-top, 13.9rem));
	z-index: 1090;
}

.dps-tabs-bar__btn {
	flex: 1 1 0;
	min-width: 0;
	min-height: 6.4rem;
	padding: 0.8rem 1.2rem;
	border: 1px solid var(--dps-accent-bar);
	border-right: none;
	background: var(--dps-surface);
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: var(--delco-type-tab);
	letter-spacing: 0.12em;
	line-height: 1.25;
	text-transform: uppercase;
	color: var(--dps-text-dark);
	cursor: pointer;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
}

.dps-tabs-bar__btn.is-active {
	background: var(--dps-tabs-active, #f1ece3);
}

.dps-tabs-bar__btn:last-child {
	border-right: 1px solid var(--dps-accent-bar);
}

.dps-tabs-panel {
	background: transparent;
	border: none;
}

.dps-tabs-panel__content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--dpg-block-head-gap, clamp(2rem, 2.5vw, 2.8rem));
	padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) 0;
	background: var(--dps-tabs-bg, var(--dps-bg));
	box-sizing: border-box;
}

.dps-tabs-panel__content .dps-tab-band {
	width: 100%;
}

/* Full-bleed band backgrounds inside tab panels (Figma) */
.dps-tabs-panel__content:has(> .dps-tab-band),
.dps-tabs-panel__content:has(> .dps-tab-legacy),
.dps-tabs-panel__content:has(> .dps-dt--nhp) {
	padding: 0;
	gap: 0;
	align-items: stretch;
	overflow-x: clip;
}

/* First band under the tab bar — include legacy-wrapped CMS panels */
.dps-tabs-panel__content > .dps-tab-band:first-child > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child > .dps-tab-band__inner {
	padding-top: clamp(3.6rem, 5.5vw, 5.5rem);
}

.dps-tabs-panel__content .dps-tab-legacy > .dps-dt > .dps-dt__band:first-child,
.dps-tabs-panel__content > .dps-tab-band:first-child .dps-dt__band:first-child {
	padding-top: clamp(3.6rem, 5.5vw, 5.5rem);
}

/* Win-section / rich zero the band inner — keep the first dt band’s top inset */
.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-tab-blk--win-section, .dps-tab-blk--rich) .dps-dt__band:first-child,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child:has(.dps-tab-blk--win-section, .dps-tab-blk--rich) .dps-dt__band:first-child {
	/* Top inset now lives on .dps-tab-band__inner (see rules after __inner defaults) */
	padding-top: 0;
}

.dps-tabs-panel__content .dps-tab-legacy > .dps-dt > .dps-dt__band:first-child .dps-dt__head,
.dps-tabs-panel__content > .dps-tab-band:first-child .dps-dt__head {
	margin-top: 0;
}

@media (min-width: 961px) {
	.dps-tabs-section__inner .dps-tabs-panel__content > .dps-tab-band,
	.dps-tabs-section__inner .dps-tabs-panel__content > .dps-tab-legacy,
	.dps-tabs-section__inner .dps-tabs-panel__content > .dps-dt--nhp {
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
}

/* Legacy full-tab rich HTML: one outer band; inner dps-dt__band sections alternate */
.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-dt--win),
.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-tab-blk--rich),
.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-tab-blk--win-section),
.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-tab-blk--door-hardware),
.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-dt--hardware) {
	background: transparent !important;
}

.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-dt--win) .dps-tab-band__inner,
.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-tab-blk--rich) .dps-tab-band__inner,
.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-tab-blk--win-section) .dps-tab-band__inner,
.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-tab-blk--door-hardware) .dps-tab-band__inner,
.dps-tabs-panel__content > .dps-tab-band:only-child:has(.dps-dt--hardware) .dps-tab-band__inner {
	max-width: none;
	width: 100%;
	padding: 0;
	align-items: stretch;
	gap: 0;
}

.dps-tabs-panel__content .dps-dt--win,
.dps-tabs-panel__content .dps-tab-rich .dps-dt,
.dps-tabs-panel__content .dps-dt--hardware {
	gap: 0;
}

/* Rich door/window tab HTML — breathing room between each section band */
.dps-tabs-panel__content .dps-tab-rich .dps-dt--win,
.dps-tabs-panel__content .dps-tab-legacy > .dps-dt--win:not(.dps-dt--hardware),
.dps-tabs-panel__content .dps-tab-legacy > .dps-dt--accessories {
	gap: clamp(3.5rem, 5.5vw, 6rem);
}

.dps-tabs-panel__content .dps-dt__band {
	border-radius: 0;
	padding-block: clamp(3.2rem, 4.5vw, 4.8rem);
	padding-inline: max(var(--dps-pad), calc((100% - min(var(--dps-tab-content-max, 129.6rem), 100% - 2 * var(--dps-pad))) / 2));
}

.dps-tabs-panel__content .dps-dt__band + .dps-dt__band {
	padding-top: 0;
}

/* Hardware tab — stacked bands flush; padding lives inside each band */
.dps-tabs-panel__content:has(.dps-dt--hardware),
.dps-tabs-panel__content:has(.dps-tab-blk--door-hardware) {
	padding: 0;
	gap: 0;
}

.dps-tabs-panel__content .dps-dt--hardware .dps-dt__band,
.dps-tabs-panel__content .dps-tab-legacy > .dps-dt--hardware > .dps-dt__band:first-child,
.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-dt--hardware) .dps-dt__band {
	padding-block: clamp(3.2rem, 4.5vw, 4.8rem);
}

.dps-tabs-panel__content .dps-dt--hardware .dps-dt__band + .dps-dt__band {
	padding-top: clamp(2.4rem, 3.5vw, 3.6rem);
}

.dps-tabs-panel__content .dps-dt--hardware > .dps-dt__band:last-child,
.dps-tabs-panel__content .dps-tab-legacy > .dps-dt--hardware > .dps-dt__band:last-child {
	padding-bottom: clamp(3rem, 4vw, 5rem);
}

.dps-tabs-panel__content .dps-tab-legacy > .dps-dt:not(.dps-dt--hardware) > .dps-dt__band:last-child {
	padding-bottom: clamp(3rem, 4vw, 5rem);
}

/* Structured CMS blocks: inner win band transparent so tab-band divisions show through */
.dps-tabs-panel__content > .dps-tab-band .dps-dt__band {
	background: transparent !important;
	border-radius: 0;
}

/* Legacy full-tab rich HTML: alternating cream / white inside one outer band */
.dps-tabs-panel__content > .dps-tab-band:only-child .dps-dt__band:not(.dps-dt__band--alt):not(.dps-dt__band--lock) {
	background: var(--dps-bg) !important;
}

.dps-tabs-panel__content > .dps-tab-band:only-child .dps-dt__band--alt {
	background: var(--dps-surface) !important;
}

.dps-tabs-panel__content .dps-dt__band--lock {
	border-radius: 0;
}

/*
 * Tab group titles — unified Magneta SemiBold upright.
 * Section heads (e.g. “Benefits of Low-E…”), card titles (“Energy-gain”),
 * split heads, and diagram titles share the same face/weight/style.
 * Intro-split (Exterior Colours) stays Montserrat — overridden below.
 */
.dps-tabs-panel__content :is(
	.dps-tab-blk__title,
	.dps-tab-blk__title--section,
	.dps-tab-blk__title--tab-intro,
	.dps-tab-blk__title--hero,
	.dps-tab-blk__title--diagram,
	.dps-tab-feature-card__title,
	.dps-tab-compare-col__title,
	.dps-tab-low-e__title,
	.dps-dt__head .dps-dt__title,
	.dps-dt__title,
	.dps-dt-split__title,
	.dps-dt-featcard h4
) {
	font-family: var(--dps-tab-title-font);
	font-style: var(--dps-tab-title-style);
	font-weight: var(--dps-tab-title-weight);
	font-synthesis: none;
}

.dps-tabs-panel__content .dps-dt__head .dps-dt__title {
	font-size: var(--delco-type-display-md);
	line-height: var(--delco-leading-heading, 1.15);
	color: var(--dps-text-dark);
	text-align: center;
	max-width: 102.1rem;
	margin-inline: auto;
}

.dps-tabs-panel__content > .dps-tab-band:first-child .dps-dt-prose p,
.dps-tabs-panel__content > .dps-tab-band:first-child .dps-dt__sub,
.dps-tabs-panel__content .dps-tab-legacy > .dps-dt > .dps-dt__band:first-child .dps-dt-prose p,
.dps-tabs-panel__content .dps-tab-legacy > .dps-dt > .dps-dt__band:first-child .dps-dt__sub {
	font-weight: 500;
}

/* Tab: Intro text — tall band (whole block padding, not just copy) */
.dps-tabs-panel__content .dps-tab-band:has(.dps-tab-blk--prose) .dps-tab-band__inner {
	padding-block: clamp(4.5rem, 7vw, 7rem);
	gap: clamp(1rem, 1.8vw, 1.5rem);
}

.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-tab-blk--prose) .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child:has(.dps-tab-blk--prose) .dps-tab-band__inner {
	padding-top: clamp(3.5rem, 5.5vw, 5.5rem);
}

.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--prose) .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--prose) .dps-tab-band__inner {
	padding-top: clamp(4.5rem, 7vw, 7rem);
}

.dps-tabs-panel__content .dps-dt__band:has(.dps-dt-prose) {
	padding-block: clamp(4.5rem, 7vw, 7rem);
}

.dps-tabs-panel__content .dps-dt__band + .dps-dt__band:has(.dps-dt-prose) {
	padding-top: clamp(4.5rem, 7vw, 7rem);
}

.dps-tab-blk__sub--tab-intro {
	text-align: center;
	max-width: 72rem;
	margin: 0 auto clamp(1.5rem, 2vw, 2rem);
	font-weight: 500;
	padding-block: 0;
}

.dps-tab-blk--prose .dps-tab-blk__sub--center {
	text-align: center;
	max-width: 72rem;
	margin-left: auto;
	margin-right: auto;
}

.dps-tab-blk--prose .dps-tab-blk__sub--left {
	text-align: left;
	max-width: 90rem;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.dps-tab-blk__sub--tab-intro.dps-tab-blk__sub--left {
	text-align: left;
	max-width: 90rem;
}

/* Tab: Intro text block titles — larger (Interior Finishes, Colors and Wood, etc.) */
.dps-tabs-panel__content .dps-tab-blk--prose > .dps-tab-blk__title--section,
.dps-tabs-panel__content .dps-tab-blk--prose > .dps-tab-blk__title--tab-intro,
.dps-tabs-panel__content .dps-dt__band:has(.dps-dt-prose) .dps-dt__head .dps-dt__title {
	font-size: var(--delco-type-display-lg);
	font-weight: 600;
}

/* Section titles — Wood Species, Ultra Coat, Features & Specs (CMS grids) */
.dps-tabs-panel__content .dps-tab-blk__title--section {
	font-size: var(--delco-type-display-md);
	line-height: var(--delco-leading-heading, 1.15);
	color: var(--dps-text-dark);
	text-align: center;
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto clamp(1.5rem, 2vw, 2rem);
}

/*
 * Feature media-split titles (Lift and Slide Mechanism, Multipoint Lock, …)
 * Face/weight set by the unified tab-title rule above.
 */
.dps-tabs-panel__content .dps-dt-split__title {
	font-size: clamp(2.6rem, 3.4vw, 3.6rem);
	line-height: 1.2;
	color: var(--dps-dt-navy, var(--dps-text-dark));
	text-align: left;
	max-width: none;
	margin: 0 0 clamp(1.2rem, 2vw, 1.6rem);
}

/* Intro-split (Exterior Colours) — Montserrat, not Magneta */
.dps-tabs-panel__content .dps-tab-blk--intro-split .dps-tab-blk__title {
	font-family: var(--dps-font-title);
	font-style: normal;
	font-weight: 600;
	font-size: clamp(2.6rem, 3.4vw, 3.6rem);
	line-height: 1.2;
	color: var(--dps-dt-navy, var(--dps-text-dark));
	text-align: left;
	max-width: none;
	margin: 0 0 clamp(1.2rem, 2vw, 1.6rem);
}

.dps-tabs-panel__content .dps-dt__head {
	margin-bottom: clamp(2rem, 3vw, 2.8rem);
}

.dps-tabs-panel__content .dps-tab-rich .dps-dt__head {
	margin-bottom: clamp(2.4rem, 3.5vw, 3.6rem);
}

.dps-tabs-panel__content .dps-tab-blk--heading-hero .dps-dt__title {
	font-size: clamp(2.8rem, 4vw, 4rem);
	line-height: 1.1;
	color: var(--dps-dt-navy);
	max-width: none;
}

.dps-tabs-panel__content .dps-tab-blk--heading-hero .dps-dt__head {
	margin-bottom: clamp(2.4rem, 4vw, 3.6rem);
}

.dps-tab-blk--color-swatches .dps-dt-ultra-coat {
	max-width: var(--dps-tab-content-max, 129.6rem);
	margin-inline: auto;
}

/* Tab block divisions (cream / white / subtle) — from Juicebox subsections.divisions */
.dps-tabs-panel__content .dps-tab-band--cream {
	background: var(--dps-bg) !important;
}

.dps-tabs-panel__content .dps-tab-band--white {
	background: var(--dps-surface) !important;
}

.dps-tabs-panel__content .dps-tab-band--subtle {
	background: #f0ebe4 !important;
}

.dps-tabs-panel__content .dps-tab-band--dark {
	background: #1a1a1a !important;
	--dps-tab-band-text: #8f8f8f;
	--dps-tab-cert-text: #8f8f8f;
}

.dps-tabs-panel__content .dps-tab-band--dark .dps-tab-blk__title,
.dps-tabs-panel__content .dps-tab-band--dark .dps-tab-blk__sub,
.dps-tabs-panel__content .dps-tab-band--dark .dps-tab-prose,
.dps-tabs-panel__content .dps-tab-band--dark .dps-tab-prose p {
	color: #c8c8c8;
}

.dps-tabs-panel__content .dps-tab-band--dark .dps-tab-blk__title {
	color: #d0d4da;
}

.dps-tabs-panel__content .dps-tab-band--diagram .dps-tab-band__inner {
	padding: clamp(3rem, 5vw, 5rem) var(--dps-pad);
}

/* Diagram / logo strips — optional tight vertical padding (CMS: field_1 / field_2 = flush) */
.dps-tabs-panel__content .dps-tab-band--flush > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-band--diagram.dps-tab-band--flush > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-band--logo-diagram.dps-tab-band--flush > .dps-tab-band__inner {
	padding-top: 0;
	padding-bottom: 0;
	gap: 0;
}

/* Heading / intro bands — CMS field_2 = narrow (tighter gap before next block) */
.dps-tabs-panel__content .dps-tab-band--pad-narrow > .dps-tab-band__inner {
	padding-top: clamp(2rem, 3vw, 2.8rem);
	padding-bottom: clamp(0.6rem, 1vw, 1rem);
	gap: 0;
}

.dps-tabs-panel__content .dps-tab-band--pad-narrow + .dps-tab-band > .dps-tab-band__inner {
	padding-top: clamp(0.6rem, 1vw, 1rem);
}

/* Hardware tab continuous cream — narrow heading beats the default stacked pads */
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band--pad-narrow:has(.dps-tab-blk--heading-hero) .dps-tab-band__inner,
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band--pad-narrow:has(.dps-tab-blk--heading-intro) .dps-tab-band__inner {
	padding-top: clamp(2rem, 3vw, 2.8rem);
	padding-bottom: clamp(0.4rem, 0.8vw, 0.8rem);
}

.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band--pad-narrow:has(.dps-tab-blk--heading-hero) + .dps-tab-band .dps-tab-band__inner,
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band--pad-narrow:has(.dps-tab-blk--heading-intro) + .dps-tab-band .dps-tab-band__inner {
	padding-top: clamp(0.4rem, 0.8vw, 0.8rem);
}

.dps-tabs-panel__content .dps-tab-band--logos-only > .dps-tab-band__inner {
	gap: 0;
}

.dps-tabs-panel__content .dps-tab-band--logos-only .dps-tab-logo-strip--diagram,
.dps-tabs-panel__content .dps-tab-band--flush .dps-tab-logo-strip--diagram {
	margin-top: 0;
	padding-block: clamp(0.8rem, 1.5vw, 1.6rem);
}

.dps-tabs-panel__content .dps-tab-band--diagram.dps-tab-band--dark .dps-tab-blk__title,
.dps-tabs-panel__content .dps-tab-band--diagram.dps-tab-band--dark .dps-tab-blk__sub,
.dps-tabs-panel__content .dps-tab-band--diagram.dps-tab-band--dark .dps-tab-note-card__title,
.dps-tabs-panel__content .dps-tab-band--diagram.dps-tab-band--dark .dps-tab-note-card__body {
	color: var(--dps-tab-band-text, #8f8f8f);
}

.dps-tabs-panel__content .dps-tab-band--diagram.dps-tab-band--dark .dps-tab-note-card {
	background: rgba(255, 255, 255, 0.06);
}

.dps-tabs-panel__content .dps-tab-band__inner {
	max-width: var(--dps-tab-content-max, 129.6rem);
	width: 100%;
	margin: 0 auto;
	/* Do NOT use the padding shorthand here — it was wiping first-band padding-top
	   set earlier in this file (tab content flush under the tab chrome). */
	padding-top: 0;
	padding-inline: var(--dps-pad);
	padding-bottom: clamp(3.2rem, 4.5vw, 4.8rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(2rem, 3.5vw, 3.5rem);
	box-sizing: border-box;
}

/* First band under the tab bar — restore after the default padding-top: 0 above */
.dps-tabs-panel__content > .dps-tab-band:first-child > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child > .dps-tab-band__inner {
	padding-top: clamp(3.6rem, 5.5vw, 5.5rem);
}

.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-tab-blk--prose) > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child:has(.dps-tab-blk--prose) > .dps-tab-band__inner {
	padding-top: clamp(4rem, 6vw, 6rem);
}

/* Subsequent bands: grids / headings / brochures need __inner top inset.
   Win/rich use .dps-dt__band padding; flush logo strips stay tight. */
.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band > .dps-tab-band__inner {
	padding-top: clamp(3.4rem, 5vw, 5.2rem);
}

.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) > .dps-tab-band__inner,
.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band.dps-tab-band--flush > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band.dps-tab-band--flush > .dps-tab-band__inner {
	padding-top: 0;
}

.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--prose) > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--prose) > .dps-tab-band__inner {
	padding-top: clamp(4.5rem, 7vw, 7rem);
}

/* Narrow heading → next band: keep the tighter hand-off */
.dps-tabs-panel__content .dps-tab-band--pad-narrow + .dps-tab-band > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band--pad-narrow + .dps-tab-band > .dps-tab-band__inner {
	padding-top: clamp(0.6rem, 1vw, 1rem);
}

.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band--pad-narrow:has(.dps-tab-blk--heading-hero) + .dps-tab-band > .dps-tab-band__inner,
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band--pad-narrow:has(.dps-tab-blk--heading-intro) + .dps-tab-band > .dps-tab-band__inner {
	padding-top: clamp(0.4rem, 0.8vw, 0.8rem);
}

.dps-tabs-panel__content > .dps-tab-band:last-child .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:last-child .dps-tab-band__inner {
	padding-bottom: clamp(3.6rem, 5vw, 6rem);
}

/* CMS: background = bigger — roomier band padding */
.dps-tabs-panel__content .dps-tab-band--pad-bigger > .dps-tab-band__inner {
	padding-top: clamp(4.8rem, 7vw, 7.5rem);
	padding-bottom: clamp(4.8rem, 7vw, 7.5rem);
}

.dps-tabs-panel__content > .dps-tab-band--pad-bigger:first-child > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band--pad-bigger:first-child > .dps-tab-band__inner {
	padding-top: clamp(5rem, 7.5vw, 8rem);
}

.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band--pad-bigger > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band--pad-bigger > .dps-tab-band__inner {
	padding-top: clamp(4.8rem, 7vw, 7.5rem);
}

.dps-tabs-panel__content .dps-tab-band--pad-bigger:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-dt__band,
.dps-tabs-panel__content .dps-tab-band--pad-bigger .dps-tab-blk--win-section .dps-dt__band {
	padding-block: clamp(4rem, 6vw, 6.5rem);
}

/* Rich / win CMS blocks — let inner dps-dt__band own horizontal inset (avoid double padding) */
.dps-tabs-panel__content > .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-band__inner:has(.dps-dt-gcards) {
	max-width: none;
	width: 100%;
	padding-inline: 0;
	align-items: stretch;
}

/* Stacked structured / rich bands — equal top/bottom via dt__band only.
   Keep first-band top padding so content isn’t flush under the tab chrome. */
.dps-tabs-panel__content > .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-tab-band__inner {
	padding-bottom: 0 !important;
	gap: 0;
}

.dps-tabs-panel__content > .dps-tab-band:not(:first-child):has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:not(:first-child):has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-tab-band__inner {
	padding-top: 0 !important;
}

/* First win/rich band: keep top inset on __inner (beats the :not(:first-child) zero) */
.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) > .dps-tab-band__inner {
	padding-top: clamp(3rem, 4.5vw, 4.5rem) !important;
}

.dps-tabs-panel__content > .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-dt__band,
.dps-tabs-panel__content .dps-tab-blk--rich .dps-dt__band,
.dps-tabs-panel__content .dps-tab-blk--win-section .dps-dt__band {
	padding-block: clamp(3.4rem, 5vw, 5.2rem);
}

/* First win/rich band already has __inner top inset — don’t double it on dt__band */
.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-dt__band:first-child,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-dt__band:first-child {
	padding-top: 0 !important;
}

/* Premium Glass (cards-below): keep the band compact — image + cards are one unit */
.dps-tabs-panel__content .dps-tab-blk--win-section .dps-dt__band:has(.dps-dt-split--cards-below),
.dps-tabs-panel__content .dps-tab-blk--win-section .dps-dt__band:has(.dps-dt-split--preserve) {
	padding-block: clamp(2.4rem, 3.2vw, 3.2rem);
}

.dps-tabs-panel__content > .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) .dps-dt__band + .dps-dt__band,
.dps-tabs-panel__content .dps-tab-blk--rich .dps-dt__band + .dps-dt__band,
.dps-tabs-panel__content .dps-tab-blk--win-section .dps-dt__band + .dps-dt__band {
	padding-top: clamp(2.8rem, 4vw, 4.2rem);
}

.dps-tabs-panel__content > .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section):last-child .dps-dt__band,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section):last-child .dps-dt__band {
	padding-bottom: clamp(2.8rem, 4vw, 4.2rem);
}

.dps-tabs-panel__content .dps-tab-legacy,
.dps-tabs-panel__content .dps-tab-blk--rich,
.dps-tabs-panel__content .dps-tab-blk--win-section,
.dps-tabs-panel__content .dps-tab-rich {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

/* Non-structured multi-band fallback */
.dps-tabs-panel__content > .dps-tab-band:not(:only-child):not(:has(.dps-tab-blk--rich, .dps-tab-blk--win-section)) .dps-dt__band {
	padding-block: clamp(1.6rem, 2.5vw, 2.8rem);
}

/* Hardware tab — one continuous cream band (Figma Handle Options) */
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band:has(.dps-tab-blk--heading-hero),
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band:has(.dps-tab-blk--heading-intro),
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band:has(.dps-tab-blk--hardware-series) {
	background: var(--dps-bg) !important;
}

.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band:has(.dps-tab-blk--heading-hero) + .dps-tab-band,
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band:has(.dps-tab-blk--heading-intro) + .dps-tab-band {
	margin-top: 0;
}

.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band:has(.dps-tab-blk--heading-hero) .dps-tab-band__inner,
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band:has(.dps-tab-blk--heading-intro) .dps-tab-band__inner {
	padding-top: clamp(2.4rem, 3.5vw, 3.6rem);
	padding-bottom: clamp(2.4rem, 3.5vw, 3.6rem);
}

.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band:has(.dps-tab-blk--heading-hero) + .dps-tab-band .dps-tab-band__inner,
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-band:has(.dps-tab-blk--heading-intro) + .dps-tab-band .dps-tab-band__inner {
	padding-top: clamp(2.4rem, 3.5vw, 3.6rem);
}

.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-blk--heading-hero .dps-dt__head,
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-blk--heading-intro .dps-tab-blk__title {
	margin-bottom: 0;
}

.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-dt-hw-series {
	max-width: var(--dps-tab-content-max, 129.6rem);
}

.dps-tab-blk {
	width: 100%;
	margin-bottom: 0;
}

.dps-tab-blk:last-child {
	margin-bottom: 0;
}

/* Full-bleed section bands inside tab panels — Figma 546:361945
 * Reset global `section { padding: 4rem 0 }` from main.css — band spacing
 * lives on .dps-tab-band__inner / .dps-dt__band only. */
.dps-tab-band {
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.dps-tab-band__inner {
	max-width: var(--dps-max);
	margin: 0 auto;
	padding: clamp(3rem, 4vw, 5rem) var(--dps-pad);
	box-sizing: border-box;
}

.dps-tab-band--hero,
.dps-tab-band--tan,
.dps-tab-band--cream {
	background: var(--dps-bg);
}

.dps-tab-band--white {
	background: var(--dps-surface);
}

.dps-tab-band--subtle {
	background: #f0ebe4;
}

.dps-tab-band--diagram + .dps-tab-band--logos {
	margin-top: calc(-1 * clamp(2rem, 4vw, 5rem));
}

.dps-tab-band--logos .dps-tab-band__inner {
	padding-top: 0;
	padding-bottom: clamp(4rem, 6vw, 10rem);
}

.dps-tab-blk__title {
	font-family: var(--dps-tab-title-font, var(--dps-font-display));
	font-style: var(--dps-tab-title-style, normal);
	font-weight: var(--dps-tab-title-weight, 600);
	font-synthesis: none;
	font-size: var(--delco-type-display-sm);
	color: var(--dps-text-dark);
	margin: 0 0 1rem;
	text-align: center;
}

.dps-tab-blk__title--hero {
	text-align: center;
	font-size: var(--delco-type-display-md);
	line-height: 1.2;
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto clamp(0.8rem, 1.5vw, 1.2rem);
}

.dps-tab-blk__title--section {
	text-align: center;
	font-size: var(--delco-type-display-md);
	line-height: var(--delco-leading-heading, 1.15);
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto clamp(1.5rem, 2vw, 2rem);
	color: var(--dps-text-dark);
}

.dps-tab-blk__title--tab-intro {
	text-align: center;
	font-size: var(--delco-type-display-md);
	line-height: var(--delco-leading-heading, 1.15);
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto clamp(1.2rem, 2vw, 1.6rem);
	color: var(--dps-text-dark);
}

.dps-tab-prose {
	max-width: 72rem;
	width: 100%;
	margin-inline: auto;
}

.dps-tab-prose--center {
	text-align: center;
}

.dps-tab-prose--left {
	text-align: left;
	max-width: 90rem;
}

.dps-tab-prose p {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-fluid);
	line-height: 1.5;
	color: var(--dps-text-dark);
}

.dps-tab-blk--prose-intro .dps-tab-prose p {
	font-weight: 500;
}

.dps-tab-blk--prose-section .dps-tab-prose--center p {
	font-weight: 400;
}

.dps-tab-blk__title--diagram {
	text-align: center;
	font-weight: 600;
	font-size: var(--delco-type-display-md);
	line-height: 1.15;
	max-width: 72rem;
	margin: 0 auto 1.5rem;
}

.dps-tab-blk__sub {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body);
	line-height: 1.6;
	color: var(--dps-text-body);
	margin: 0 0 1.5rem;
}

.dps-tab-blk__sub--hero {
	text-align: left;
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto;
	font-size: var(--delco-type-body-fluid);
	line-height: 1.5;
	color: var(--dps-text-dark);
}

.dps-tab-blk__sub--diagram {
	text-align: center;
	max-width: 72rem;
	margin: 0 auto clamp(3rem, 4vw, 5rem);
	font-size: var(--delco-type-lede-fluid);
	color: var(--dps-text);
}

.dps-tab-diagram__head {
	margin-bottom: clamp(3rem, 4vw, 5rem);
}

/* Features tab grid — Figma 546:361945 */
.dps-tab-blk--feature-grid {
	max-width: 114.8rem;
	margin: 0 auto;
	width: 100%;
}

.dps-tab-feature-grid {
	display: grid;
	grid-template-columns: repeat(var(--dps-tab-cols-effective, var(--dps-tab-cols, 3)), minmax(0, 1fr));
	justify-content: center;
	gap: clamp(2rem, 2.5vw, 3.5rem);
	align-items: stretch;
	width: 100%;
}

.dps-tab-item-grid {
	--dps-tab-gap: clamp(1.6rem, 2.5vw, 3.5rem);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--dps-tab-gap);
	width: 100%;
	max-width: var(--dps-tab-content-max, 129.6rem);
	margin: 0 auto;
}

.dps-tab-item-cell {
	flex: 0 0 calc((100% - (var(--dps-tab-cols, 4) - 1) * var(--dps-tab-gap)) / var(--dps-tab-cols, 4));
	max-width: 22rem;
	box-sizing: border-box;
	margin: 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
}

a.dps-tab-item-cell__link,
a.dps-tab-feature-card__link {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	flex: 1 1 auto;
	height: 100%;
	text-decoration: none;
	color: inherit;
	width: 100%;
}

a.dps-tab-item-cell__link:hover figcaption,
a.dps-tab-item-cell__link:focus-visible figcaption,
a.dps-tab-feature-card__link:hover .dps-tab-feature-card__title,
a.dps-tab-feature-card__link:focus-visible .dps-tab-feature-card__title {
	color: var(--dps-accent-blue, #4779b9);
}

.dps-tab-item-cell img {
	width: 100%;
	max-width: 22rem;
	aspect-ratio: 1;
	max-height: none;
	object-fit: contain;
	border-radius: 0.8rem;
	background: #fff;
	display: block;
}

/* Wide wood-grain / stain swatches (~500×169 source assets) */
.dps-tab-item-grid--swatch .dps-tab-item-cell {
	gap: 0.8rem;
}

.dps-tab-item-grid--swatch .dps-tab-item-cell img {
	aspect-ratio: 500 / 169;
	object-fit: cover;
}

/* Landscape product shots (accessories sills, frames, etc.) */
.dps-tab-item-grid--product .dps-tab-item-cell {
	max-width: 28rem;
}

.dps-tab-item-grid--product .dps-tab-item-cell img {
	aspect-ratio: 5 / 3;
	max-width: 28rem;
	object-fit: cover;
	background: #e8e6e4;
	padding: 0;
}

/* Explicit fit overrides (panel diagrams vs photo tiles) */
.dps-tab-item-grid--fit-contain .dps-tab-item-cell img {
	object-fit: contain;
	background: #fff;
}

.dps-tab-item-grid--product.dps-tab-item-grid--fit-contain .dps-tab-item-cell img {
	aspect-ratio: 16 / 9;
	width: 100%;
	padding: 0.8rem;
	box-sizing: border-box;
}

.dps-tab-item-grid--fit-cover .dps-tab-item-cell img {
	object-fit: cover;
}

.dps-tab-item-cell__desc {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-sm, 1.4rem);
	line-height: 1.4;
	color: var(--dps-text-body, #3f4853);
}

/* Handle swatch cards — tall product images */
.dps-tab-item-grid--handles .dps-tab-item-cell {
	max-width: 24rem;
}

.dps-tab-item-grid--handles .dps-tab-item-cell img {
	aspect-ratio: 3 / 4;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--dps-dt-line, #e0dbd6);
	padding: 1.4rem;
}

/* Brochure thumbnails — portrait, centered when solo */
.dps-tab-item-grid--brochures .dps-tab-item-cell img {
	aspect-ratio: 4 / 5;
	object-fit: contain;
	background: #fff;
}

.dps-tab-item-grid--brochures.dps-tab-item-grid:has(.dps-tab-item-cell:only-child) {
	justify-content: center;
}

.dps-tab-item-grid--brochures .dps-tab-item-cell:only-child {
	flex: 0 1 32rem;
	max-width: 32rem;
}

.dps-tab-grid-logo {
	margin: clamp(2rem, 3vw, 3.2rem) auto 0;
	padding: clamp(0.8rem, 1.5vw, 1.4rem) clamp(1.4rem, 2.5vw, 2rem);
	max-width: min(100%, 48rem);
	box-sizing: border-box;
	text-align: center;
}

.dps-tab-grid-logo img {
	display: block;
	width: auto;
	max-width: min(100%, 48rem);
	max-height: clamp(5rem, 7vw, 8.5rem);
	height: auto;
	object-fit: contain;
	margin-inline: auto;
}

.dps-dt-frames .dps-tab-grid-logo {
	max-width: min(100%, 48rem);
	margin-inline: auto;
}

.dps-tab-item-cell figcaption {
	margin: 0;
	font-family: var(--dps-font-ui);
	font-size: var(--delco-type-base);
	font-weight: 500;
	line-height: 1.3;
	color: var(--dps-text-dark);
}

/* Keep section-title typography (matches other accessory headings) */
.dps-tab-blk--item-grid .dps-tab-blk__title {
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto 1.5rem;
}

/* Combined hero + pattern row (single item-grid block) */
.dps-tab-blk--item-grid:has(.dps-tab-blk__sub) > .dps-tab-blk__title--section {
	margin-bottom: 0.8rem;
}

.dps-tab-blk--item-grid .dps-tab-blk__sub {
	text-align: center;
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto clamp(2rem, 3vw, 3rem);
	font-size: var(--delco-type-body-fluid);
	line-height: 1.5;
	color: var(--dps-text-dark);
}

@media (max-width: 768px) {
	.dps-tab-feature-grid--compare,
	.dps-tab-feature-grid--benefits {
		grid-template-columns: 1fr;
		gap: 2.4rem;
	}
}

@media (max-width: 768px) {
	.dps-tab-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.2rem;
		justify-content: stretch;
	}

	.dps-tab-feature-card {
		max-width: none;
		gap: 1rem;
	}

	.dps-tab-item-cell {
		flex: 0 0 calc((100% - var(--dps-tab-gap)) / min(var(--dps-tab-cols, 4), 2));
		max-width: none;
	}

	.dps-tab-item-grid--swatch .dps-tab-item-cell {
		flex: 0 0 calc((100% - 2 * var(--dps-tab-gap)) / 3);
		max-width: none;
	}
}

@media (max-width: 560px) {
	.dps-tab-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	.dps-tab-feature-card__img {
		aspect-ratio: 4 / 5;
		border-radius: 0.8rem;
	}

	.dps-tab-feature-grid--compare .dps-tab-feature-card__img {
		aspect-ratio: auto;
	}

	.dps-tab-feature-grid--benefits .dps-tab-feature-card__img {
		aspect-ratio: 1;
	}

	.dps-tab-feature-card__title {
		font-size: clamp(1.3rem, 3.6vw, 1.5rem);
	}

	.dps-tab-feature-card__body {
		font-size: var(--delco-type-label-sm, 1.2rem);
		line-height: 1.35;
	}

	.dps-tab-item-cell {
		flex: 0 0 calc((100% - var(--dps-tab-gap)) / 2);
		max-width: none;
	}

	.dps-tab-item-grid--swatch .dps-tab-item-cell {
		flex: 0 0 calc((100% - 2 * var(--dps-tab-gap)) / 3);
	}

	.dps-tab-item-grid--swatch .dps-tab-item-cell figcaption {
		font-size: var(--delco-type-label-sm, 1.2rem);
	}
}

.dps-tab-feature-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: clamp(1.6rem, 2vw, 2.4rem);
	width: 100%;
	max-width: none;
	height: 100%;
	background: var(--dps-surface);
	border: var(--delco-inner-card-border);
	border-radius: 1rem;
	padding: clamp(1.8rem, 2.2vw, 2.4rem);
	box-shadow: var(--delco-inner-card-shadow);
	box-sizing: border-box;
}

.dps-tab-feature-card__img {
	aspect-ratio: 1;
	width: 100%;
	border-radius: 1.335rem;
	overflow: hidden;
	background: var(--dps-surface);
	flex-shrink: 0;
}

.dps-tab-feature-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dps-tab-feature-card__copy {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 1rem;
	width: 100%;
	text-align: left;
	align-items: stretch;
}

.dps-tab-feature-card__title {
	font-family: var(--dps-tab-title-font, var(--dps-font-display));
	font-style: var(--dps-tab-title-style, normal);
	font-weight: var(--dps-tab-title-weight, 600);
	font-synthesis: none;
	font-size: var(--delco-type-display-xs);
	color: var(--dps-text-dark);
	margin: 0;
	line-height: 1.25;
	text-align: center;
}

.dps-tab-feature-card__body {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-sm);
	line-height: 1.55;
	margin: 0;
	color: var(--dps-text-dark);
	text-align: left;
}

/* 2-column glass compare — Figma side-by-side (not giant cards) */
.dps-tab-feature-grid--compare,
.dps-tab-feature-grid--benefits {
	gap: clamp(3rem, 5vw, 6.9rem);
	max-width: 110rem;
	margin: 0 auto;
}

.dps-tab-feature-grid--compare .dps-tab-feature-card,
.dps-tab-feature-grid--benefits .dps-tab-feature-card {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	gap: clamp(1.6rem, 2vw, 2.4rem);
}

.dps-tab-feature-grid--compare .dps-tab-feature-card__img,
.dps-tab-feature-grid--benefits .dps-tab-feature-card__img {
	aspect-ratio: auto;
	max-width: 49.8rem;
	border-radius: 1.893rem;
	background: var(--dps-bg);
}

.dps-tab-feature-grid--compare .dps-tab-feature-card__img img,
.dps-tab-feature-grid--benefits .dps-tab-feature-card__img img {
	height: auto;
	object-fit: contain;
}

.dps-tab-feature-grid--compare .dps-tab-feature-card__title {
	text-align: left;
	font-size: var(--delco-type-display-sm);
}

.dps-tab-feature-grid--benefits .dps-tab-feature-card {
	align-items: center;
	text-align: center;
}

.dps-tab-feature-grid--benefits .dps-tab-feature-card__img {
	aspect-ratio: 1;
}

.dps-tab-feature-grid--benefits .dps-tab-feature-card__copy {
	align-items: center;
}

.dps-tab-feature-grid--benefits .dps-tab-feature-card__title,
.dps-tab-feature-grid--benefits .dps-tab-feature-card__body {
	text-align: center;
}

/* Explicit CMS alignment override (field_2 on feature grid) */
.dps-tab-feature-grid--align-center .dps-tab-feature-card,
.dps-tab-feature-grid--align-center .dps-tab-feature-card__copy {
	align-items: center;
	text-align: center;
}

.dps-tab-feature-grid--align-center .dps-tab-feature-card__title,
.dps-tab-feature-grid--align-center .dps-tab-feature-card__body {
	text-align: center;
}

.dps-tab-feature-grid--align-left .dps-tab-feature-card,
.dps-tab-feature-grid--align-left .dps-tab-feature-card__copy {
	align-items: flex-start;
	text-align: left;
}

.dps-tab-feature-grid--align-left .dps-tab-feature-card__title,
.dps-tab-feature-grid--align-left .dps-tab-feature-card__body {
	text-align: left;
}

.dps-tab-compare-two--center .dps-tab-compare-col {
	align-items: center;
	text-align: center;
}

.dps-tab-compare-two--center .dps-tab-compare-col__title,
.dps-tab-compare-two--center .dps-tab-compare-col__body {
	text-align: center;
}

.dps-tab-blk--heading:not(.dps-tab-blk--heading-hero) .dps-tab-blk__title {
	text-align: center;
	font-weight: 600;
	font-size: var(--delco-type-display-sm);
	line-height: 1.2;
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto clamp(2rem, 3vw, 2.5rem);
}

.dps-tab-blk--heading:not(.dps-tab-blk--heading-hero) .dps-tab-blk__sub {
	text-align: left;
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto clamp(2rem, 3vw, 2.5rem);
	font-size: var(--delco-type-body-fluid);
}

/*
 * Handle Options intro — beat .heading:not(.hero). Scale matches other tab intros.
 */
.dps-tabs-panel__content .dps-tab-blk--heading-intro > .dps-tab-blk__title.dps-tab-blk__title--tab-intro,
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-blk--heading-intro .dps-tab-blk__title.dps-tab-blk__title--tab-intro {
	font-family: var(--dps-font-display, "Magneta", Georgia, serif);
	font-style: normal;
	font-weight: 600;
	font-size: var(--delco-type-display-lg);
	line-height: var(--delco-leading-heading, 1.15);
	letter-spacing: 0;
	color: #323c48;
	text-align: center;
	max-width: 102.1rem;
	width: 100%;
	margin: 0 auto;
}

.dps-tabs-panel__content .dps-tab-blk--heading-intro > .dps-tab-blk__sub.dps-tab-blk__sub--tab-intro,
.dps-tabs-panel__content .dps-tab-blk--heading-intro > .dps-tab-blk__sub.dps-tab-blk__sub--center,
.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-blk--heading-intro .dps-tab-blk__sub {
	text-align: center;
	max-width: 72rem;
	width: 100%;
	margin: 1.2rem auto 0;
	font-family: var(--dps-font-body, "Acumin Pro", "Avenir", sans-serif);
	font-weight: 400;
	font-size: var(--delco-type-body-fluid, 1.6rem);
	letter-spacing: 0.02em;
	line-height: 1.5;
	color: #3f4853;
}

@media (max-width: 720px) {
	.dps-tabs-panel__content .dps-tab-blk--heading-intro > .dps-tab-blk__title.dps-tab-blk__title--tab-intro,
	.dps-tabs-panel__content:has(.dps-tab-blk--hardware-series) .dps-tab-blk--heading-intro .dps-tab-blk__title.dps-tab-blk__title--tab-intro {
		font-size: clamp(2.4rem, 6vw, 3.4rem);
	}
}

.dps-tab-blk--intro-split {
	max-width: var(--dps-tab-content-max, 129.6rem);
	margin: 0 auto;
	width: 100%;
}

/* Exterior Brickmoulds intro (and all intro-split bands): taller top/bottom padding */
.dps-tabs-panel__content .dps-tab-band:has(.dps-tab-blk--intro-split) > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:has(.dps-tab-blk--intro-split) > .dps-tab-band__inner {
	padding-top: clamp(5rem, 7.5vw, 8rem);
	padding-bottom: clamp(5rem, 7.5vw, 8rem);
}

.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-tab-blk--intro-split) > .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child:has(.dps-tab-blk--intro-split) > .dps-tab-band__inner {
	padding-top: clamp(5.5rem, 8vw, 8.5rem);
}

.dps-tab-blk--intro-split .dps-tab-blk__title {
	text-align: left;
	font-family: var(--dps-font-title);
	font-style: normal;
	font-weight: 600;
	font-size: clamp(2.6rem, 3.4vw, 3.6rem);
	line-height: 1.2;
	margin: 0 0 clamp(1.2rem, 2vw, 1.6rem);
	color: var(--dps-dt-navy, var(--dps-text-dark));
}

.dps-tab-blk--intro-split .dps-tab-blk__sub {
	text-align: left;
	max-width: none;
	margin: 0 0 clamp(2rem, 3vw, 2.8rem);
	font-size: var(--delco-type-body-fluid);
	line-height: 1.5;
	color: var(--dps-text-dark);
}

.dps-tab-intro-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(3rem, 5vw, 6.4rem);
	align-items: center;
}

.dps-tab-intro-split--flip .dps-tab-intro-split__copy {
	order: 2;
}

.dps-tab-intro-split--flip .dps-tab-intro-split__media {
	order: 1;
}

.dps-tab-intro-split__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 12rem;
}

.dps-tab-intro-split__media img {
	display: block;
	width: 100%;
	max-width: 42rem;
	height: auto;
	object-fit: contain;
	margin-inline: auto;
}

@media (max-width: 768px) {
	.dps-tab-intro-split { grid-template-columns: 1fr; }
}

.dps-tab-intro-split__checks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 2.4rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dps-tab-intro-split__checks li {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body);
	line-height: 1.5;
	color: var(--dps-text-dark);
}

.dps-tab-intro-split__checks li svg {
	width: 2.3rem;
	height: 2.3rem;
	flex-shrink: 0;
	margin-top: 0.1rem;
}

@media (max-width: 560px) {
	.dps-tab-intro-split__checks { grid-template-columns: 1fr; }
}

.dps-tab-bullets {
	margin: 1rem 0 0;
	padding-left: 1.25rem;
	font-size: var(--delco-type-base);
	line-height: 1.6;
	color: var(--dps-text-body);
}

.dps-tab-intro-split__swatches {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.2rem, 2vw, 2rem);
	align-self: start;
}

.dps-tab-swatch-lg {
	margin: 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.dps-tab-swatch-lg img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 0.8rem;
	background: var(--dps-tan);
}

.dps-tab-swatch-lg figcaption {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-sm);
	font-weight: 400;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: 0;
	color: var(--dps-text-body);
}

/* Intro + swatch tab: keep breathing room before the options grid below */
.dps-tab-band:has(.dps-tab-blk--intro-split) + .dps-tab-band:has(.dps-tab-blk--item-grid) .dps-tab-blk--item-grid .dps-tab-blk__title--section {
	margin-bottom: clamp(2rem, 3vw, 3rem);
}

.dps-tab-diagram-split {
	display: grid;
	grid-template-columns: minmax(0, 32rem) minmax(0, 1fr);
	gap: clamp(3rem, 6vw, 9.4rem);
	align-items: center;
	max-width: 120rem;
	margin: 0 auto;
}

/* Low-E (Figma 849:815662): centered head + diagram beside 2×2 cream cards */
.dps-tab-band--low-e {
	background: #fff;
}

.dps-tab-blk--low-e {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(4rem, 5vw, 6.9rem);
	width: 100%;
}

.dps-tab-low-e__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.5rem;
	max-width: 113rem;
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.dps-tab-low-e__title,
.dps-tab-blk--low-e .dps-tab-blk__title--diagram {
	margin: 0;
	max-width: 113rem;
	font-family: var(--dps-font-display, var(--delco-font-display));
	font-weight: 600;
	font-size: clamp(2.8rem, 3.2vw, 3.55rem);
	line-height: 1.15;
	color: #323c48;
	text-align: center;
}

.dps-tab-low-e__lead {
	margin: 0;
	max-width: 113rem;
	font-family: var(--dps-font-body);
	font-size: clamp(1.7rem, 1.8vw, 2.02rem);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.05rem;
	color: #323c48;
	text-align: center;
}

.dps-tab-diagram-split--low-e {
	display: grid;
	grid-template-columns: minmax(22rem, 32rem) minmax(0, 1fr);
	gap: clamp(3rem, 6vw, 9.4rem);
	align-items: center;
	justify-content: center;
	max-width: 139rem;
	width: 100%;
	margin: 0 auto;
}

.dps-tab-diagram-split--low-e .dps-tab-diagram-split__img {
	justify-content: center;
}

.dps-tab-diagram-split--low-e .dps-tab-diagram-split__img img {
	width: 100%;
	max-width: 32rem;
	height: auto;
	object-fit: contain;
}

.dps-tab-diagram-split__copy {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
}

.dps-tab-diagram-split__lead {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 1.6vw, 1.7rem);
	line-height: 1.6;
	color: #3f4853;
}

.dps-tab-diagram-split--low-e .dps-tab-diagram-split__notes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem 2rem;
	align-items: stretch;
	min-width: 0;
}

.dps-tab-note-card--low-e {
	background: #f9f7f5;
	border: none;
	box-shadow: none;
	border-radius: 1rem;
	padding: 3rem;
	gap: 1rem;
	text-align: left;
}

.dps-tab-note-card--low-e .dps-tab-note-card__title {
	font-family: var(--dps-font-display, var(--delco-font-display));
	font-weight: 600;
	font-size: clamp(2rem, 2.2vw, 2.5rem);
	line-height: 1.2;
	color: #323c48;
	text-align: left;
}

.dps-tab-note-card--low-e .dps-tab-note-card__body {
	font-family: var(--dps-font-body);
	font-size: clamp(1.6rem, 1.7vw, 2.02rem);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.05rem;
	color: #323c48;
	text-align: left;
}

.dps-tab-blk--low-e .dps-tab-logo-strip--diagram {
	margin-top: 0;
}

@media (max-width: 900px) {
	.dps-tab-diagram-split,
	.dps-tab-diagram-split--low-e {
		grid-template-columns: 1fr;
	}

	.dps-tab-diagram-split--low-e .dps-tab-diagram-split__img {
		order: -1;
	}

	.dps-tab-diagram-split--low-e .dps-tab-diagram-split__notes {
		grid-template-columns: 1fr;
	}
}

.dps-tab-diagram-split__img {
	display: flex;
	align-items: center;
	justify-content: center;
}

.dps-tab-diagram-split__img img {
	width: 100%;
	max-width: 32rem;
	height: auto;
	object-fit: contain;
}

.dps-tab-diagram-split__notes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
}

@media (max-width: 640px) {
	.dps-tab-diagram-split__notes { grid-template-columns: 1fr; }
}

.dps-tab-note-card {
	background: var(--dps-bg);
	border: var(--delco-inner-card-border);
	border-radius: 1rem;
	padding: clamp(2rem, 2.5vw, 3rem);
	box-shadow: var(--delco-inner-card-shadow);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	height: 100%;
	box-sizing: border-box;
}

.dps-tab-note-card__title {
	font-family: var(--dps-font-display);
	font-weight: 600;
	font-size: var(--delco-type-display-xs);
	margin: 0;
	color: var(--dps-text-dark);
	line-height: 1.2;
	text-align: center;
}

.dps-tab-note-card__body {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-fluid);
	line-height: 1.45;
	color: var(--dps-text-dark);
	text-align: center;
}

.dps-tab-logo-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: clamp(2rem, 4vw, 5.2rem);
	max-width: 100rem;
	margin: 0 auto;
}

.dps-tab-logo-strip img {
	max-height: clamp(3.5rem, 4vw, 7rem);
	width: auto;
	max-width: min(32rem, 100%);
	object-fit: contain;
}

.dps-tab-logo-strip--diagram {
	margin-top: clamp(3rem, 5vw, 6.9rem);
	padding-top: 0;
}

.dps-tab-compare-two {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(3rem, 5vw, 6.9rem);
	max-width: 110rem;
	margin: 0 auto;
	align-items: start;
}

@media (max-width: 768px) {
	.dps-tab-compare-two { grid-template-columns: 1fr; }
}

.dps-tab-compare-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: clamp(2rem, 2.5vw, 2.5rem);
}

.dps-tab-compare-col__img {
	width: 100%;
	max-width: 49.8rem;
	border-radius: 1.893rem;
	overflow: hidden;
	background: var(--dps-bg);
}

.dps-tab-compare-col__img img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.dps-tab-compare-col__title {
	font-family: var(--dps-tab-title-font, var(--dps-font-display));
	font-style: var(--dps-tab-title-style, normal);
	font-weight: var(--dps-tab-title-weight, 600);
	font-synthesis: none;
	font-size: var(--delco-type-display-sm);
	margin: 0;
	color: var(--dps-text-dark);
	line-height: 1.2;
	width: 100%;
	text-align: center;
}

.dps-tab-compare-col__body {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-fluid);
	line-height: 1.45;
	color: var(--dps-text-dark);
	width: 100%;
	text-align: center;
}

.dps-tab-compare-two--left .dps-tab-compare-col {
	align-items: flex-start;
	text-align: left;
}

.dps-tab-compare-two--left .dps-tab-compare-col__title,
.dps-tab-compare-two--left .dps-tab-compare-col__body {
	text-align: left;
}

/* ── Certifications tab (Figma specifications) ───────────────────────────── */
.dps-tabs-panel__content:has(> .dps-tab-band--cert) {
	padding: 0;
	gap: 0;
	align-items: stretch;
}

.dps-tabs-panel__content .dps-tab-band--cert {
	width: 100%;
	background: var(--dps-bg) !important;
}

.dps-tabs-panel__content .dps-tab-band--cert.dps-tab-band--white {
	background: var(--dps-surface) !important;
}

.dps-tabs-panel__content .dps-tab-band--cert.dps-tab-band--cream {
	background: var(--dps-bg) !important;
}

.dps-tabs-panel__content .dps-tab-band--cert.dps-tab-band--subtle {
	background: #f0ebe4 !important;
}

.dps-tabs-panel__content .dps-tab-band--cert.dps-tab-band--dark {
	background: #1a1a1a !important;
	--dps-tab-cert-text: #8f8f8f;
}

.dps-tabs-panel__content .dps-tab-band--cert .dps-tab-band__inner {
	max-width: 114rem;
	width: 100%;
	margin: 0 auto;
	padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) var(--dps-pad);
	display: block;
}

.dps-tab-cert {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(2.4rem, 4vw, 4rem);
	width: 100%;
}

.dps-tab-cert__logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: min(24rem, 28vw);
}

.dps-tab-cert__logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 24rem;
	object-fit: contain;
}

.dps-tab-cert__copy {
	flex: 0 1 58rem;
	max-width: 58rem;
	min-width: 0;
}

.dps-tab-cert__title {
	font-family: var(--dps-font-display);
	font-weight: 600;
	font-size: var(--delco-type-display-md);
	line-height: 1.2;
	margin: 0 0 1.2rem;
	color: var(--dps-tab-cert-text, var(--dps-text-dark));
	text-align: left;
}

.dps-tab-cert__body {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-fluid);
	line-height: 1.5;
	color: var(--dps-tab-cert-text, var(--dps-text-dark));
}

.dps-tab-cert__body p {
	margin: 0 0 1em;
}

.dps-tab-cert__body p:last-child {
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.dps-tab-cert {
		flex-direction: column;
		align-items: flex-start;
	}

	.dps-tab-cert__logo {
		max-width: min(28rem, 100%);
	}

	.dps-tab-cert__copy {
		flex: 1 1 auto;
		max-width: none;
		width: 100%;
	}
}

.dps-tab-rich { font-size: var(--delco-type-base); line-height: 1.6; color: var(--dps-text-body); }

.dps-tab-rich h1,
.dps-tab-rich h2,
.dps-tab-rich h3,
.dps-tab-rich h4,
.dps-tab-rich h5,
.dps-tab-rich h6 {
	text-align: center;
}

/* Split rows inside rich blocks stay left-aligned (Exterior Colours, accessories, …) */
.dps-tab-rich .dps-dt-split__title,
.dps-tab-rich .dps-dt-split__body,
.dps-tab-rich .dps-dt-split__text,
.dps-tab-rich .dps-dt-split__text p,
.dps-tab-rich .dps-dt-split__eyebrow {
	text-align: left;
}

.dps-tab-rich .dps-dt-featcard h4,
.dps-tab-rich .dps-dt-featcard p {
	text-align: left;
}

/* ── Mobile / responsive ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
	.dps-gallery {
		position: static;
		top: auto;
		max-width: none;
		width: 100%;
		order: 1;
	}

	.dps-gallery__main {
		height: auto;
		min-height: 0;
		max-height: min(56svh, 36rem);
		aspect-ratio: 1 / 1;
		padding: clamp(0.8rem, 2vw, 1.2rem);
		border-radius: 0.8rem;
	}

	.dps-gallery__main #dps-main-img {
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
		object-position: center;
	}

	.dps-product-page .dps-gallery__main #dps-main-img {
		height: 100%;
		max-height: 100%;
	}

	.dps-gallery__badge {
		top: 0.8rem;
		right: 0.8rem;
		width: 5.2rem;
	}

	.dps-gallery__strip {
		margin-top: 0.8rem;
		margin-left: calc(-1 * var(--dps-pad));
		margin-right: calc(-1 * var(--dps-pad));
		padding: 0.2rem var(--dps-pad) 0.4rem;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.dps-gallery__strip-track {
		gap: 0.6rem;
		width: max-content;
		margin-inline: auto;
	}

	.dps-gallery__strip::-webkit-scrollbar {
		display: none;
	}

	.dps-gallery__thumb {
		flex: 0 0 5.8rem;
		width: 5.8rem;
		height: 6.4rem;
		padding: 0.4rem;
		border-radius: 0.35rem;
		scroll-snap-align: start;
		flex-shrink: 0;
	}

	.dps-gallery__thumb img {
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
	}

	/* Gallery first on mobile, then title + price. */
	.dps-hero {
		display: flex;
		flex-direction: column;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		gap: 2rem;
		padding-left: var(--dps-pad);
		padding-right: var(--dps-pad);
	}

	.dps-info {
		display: contents;
	}

	.dps-info__head {
		order: 2;
	}

	.dps-price-box {
		order: 3;
	}

	.dps-trust {
		order: 4;
	}

	.dps-copy-block {
		order: 5;
	}

	.dps-features-box {
		order: 6;
	}

	.dps-options-stack {
		order: 7;
	}

	.dps-security-banner {
		order: 8;
	}

	.dps-info h1 {
		font-size: clamp(2.8rem, 7vw, 3.6rem);
		letter-spacing: 0.12rem;
	}

	.dps-tabs-bar {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.55rem;
		padding: 0.75rem var(--dps-pad) 0.85rem;
		overflow: visible;
		position: sticky;
		top: var(--delco-nav-offset, var(--delco-header-height, 8.4rem));
		z-index: 1090;
		background: var(--dps-bg, #f9f7f5);
		border-bottom: 1px solid rgba(117, 105, 99, 0.1);
		box-shadow: 0 0.15rem 0.5rem rgba(50, 60, 72, 0.06);
	}

	.dps-tabs-bar__btn {
		width: auto;
		min-width: 0;
		max-width: none;
		min-height: 5rem;
		padding: 0.7rem 0.55rem;
		font-size: clamp(1rem, 2.85vw, 1.12rem);
		font-weight: 600;
		letter-spacing: 0.055em;
		line-height: 1.2;
		white-space: normal;
		hyphens: manual;
		border: 1px solid #ddd5cb !important;
		border-radius: 0.55rem;
		background: #fff;
		box-shadow: 0 1px 2px rgba(50, 60, 72, 0.04);
		transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
	}

	.dps-tabs-bar__btn.is-active {
		background: var(--dps-tabs-active, #f1ece3);
		border-color: #c9bfb4 !important;
		box-shadow: inset 0 0 0 1px rgba(117, 105, 99, 0.1);
	}

	.dps-tabs-bar__btn:active {
		transform: scale(0.985);
	}

	/* Odd count: last tab spans full width */
	.dps-tabs-bar__btn:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		min-height: 4.6rem;
	}

	body.dps-product-page {
		--delco-bottom-cta-offset: 9.8rem;
		display: flex;
		flex-direction: column;
		overflow-x: clip;
		padding-top: var(--delco-nav-offset, var(--delco-header-height, 8.4rem)) !important;
	}

	body.dps-product-page .dps-hero .dps-cta-wrap {
		display: none;
	}

	body.dps-product-page > .header {
		order: -1;
		position: fixed !important;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 1100;
		animation: none !important;
		background: var(--delco-color-bg-surface, #fff) !important;
		box-shadow: 0 0 1rem rgba(50, 60, 72, 0.08);
	}

	body.dps-product-page > .header .header_row {
		background: var(--delco-color-bg-surface, #fff);
	}

	body.dps-product-page > * {
		order: 20;
	}

	body.dps-product-page > .dps-breadcrumb {
		order: 1;
		margin-top: 0;
		position: relative;
		z-index: 2;
	}

	body.dps-product-page > .dps-hero {
		order: 2;
		padding-top: clamp(1.2rem, 3vw, 2rem);
		align-self: stretch;
		min-width: 0;
	}

	body.dps-product-page > .dps-tabs-section {
		order: 4;
		align-self: stretch;
		width: 100%;
		overflow: visible;
	}

	body.dps-product-page > .dpg-section.dpg-features {
		order: 3;
	}

	body.dps-product-page > .dpg-section.dpg-patent {
		order: 5;
	}

	.dps-tabs-section {
		padding-top: 0;
		padding-bottom: clamp(2.5rem, 4vw, 4rem);
		scroll-margin-top: var(--delco-nav-offset, var(--delco-header-height, 8.4rem));
	}

	.dps-tabs-section__inner {
		max-width: none;
		overflow: visible;
	}

	.dps-tabs-panel__content {
		padding: var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) 0;
		gap: var(--dpg-block-head-gap, clamp(2rem, 2.5vw, 2.8rem));
	}

	.dps-tabs-panel__content:has(> .dps-tab-band),
	.dps-tabs-panel__content:has(> .dps-tab-legacy),
	.dps-tabs-panel__content:has(> .dps-dt--nhp) {
		padding: 0;
		gap: 0;
	}

	.dps-tabs-panel__content .dps-tab-band__inner {
		padding-top: 0;
		padding-inline: var(--dps-pad);
		padding-bottom: clamp(2.5rem, 4vw, 4rem);
	}

	/* After the __inner defaults — restore space under the tab bar */
	.dps-tabs-panel__content > .dps-tab-band:first-child > .dps-tab-band__inner,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child > .dps-tab-band__inner {
		padding-top: clamp(2.8rem, 4vw, 3.6rem);
	}

	.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-tab-blk--prose) > .dps-tab-band__inner,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child:has(.dps-tab-blk--prose) > .dps-tab-band__inner {
		padding-top: clamp(3rem, 4.5vw, 4rem);
	}

	.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) > .dps-tab-band__inner,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) > .dps-tab-band__inner {
		padding-top: clamp(2.8rem, 4vw, 3.6rem) !important;
	}

	.dps-tabs-panel__content > .dps-tab-band:first-child:has(.dps-tab-blk--win-section, .dps-tab-blk--rich) .dps-dt__band:first-child,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:first-child:has(.dps-tab-blk--win-section, .dps-tab-blk--rich) .dps-dt__band:first-child {
		padding-top: 0 !important;
	}

	.dps-tabs-panel__content .dps-tab-band:has(.dps-dt-frames--feature-quad) .dps-tab-band__inner,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:has(.dps-dt-frames--feature-quad) .dps-tab-band__inner {
		padding-top: clamp(2.4rem, 3.5vw, 3.2rem) !important;
		padding-bottom: clamp(2.4rem, 3.5vw, 3.2rem) !important;
	}

	.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band > .dps-tab-band__inner,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band > .dps-tab-band__inner {
		padding-top: clamp(2.4rem, 3.5vw, 3.2rem);
	}

	.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) > .dps-tab-band__inner,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--rich, .dps-tab-blk--win-section) > .dps-tab-band__inner,
	.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band.dps-tab-band--flush > .dps-tab-band__inner,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band.dps-tab-band--flush > .dps-tab-band__inner {
		padding-top: 0;
	}

	.dps-tabs-panel__content > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--prose) > .dps-tab-band__inner,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band + .dps-tab-band:has(.dps-tab-blk--prose) > .dps-tab-band__inner {
		padding-top: clamp(3.2rem, 5vw, 4.5rem);
	}

	.dps-tabs-panel__content .dps-tab-band--pad-narrow + .dps-tab-band > .dps-tab-band__inner,
	.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band--pad-narrow + .dps-tab-band > .dps-tab-band__inner {
		padding-top: clamp(0.6rem, 1vw, 1rem);
	}

	.dps-tabs-panel__content > .dps-tab-band:last-child .dps-tab-band__inner {
		padding-bottom: clamp(3rem, 4vw, 5rem);
	}

	.dps-tabs-panel__content .dps-dt__head {
		margin-bottom: clamp(1.4rem, 3vw, 2rem);
	}

	.dps-tabs-panel__content .dps-tab-rich .dps-dt__head {
		margin-bottom: clamp(1.6rem, 3.5vw, 2.4rem);
	}

	.dps-tabs-panel__content .dps-dt__head .dps-dt__title {
		font-size: clamp(2rem, 5.5vw, 2.6rem);
		line-height: 1.15;
		padding-inline: 0.2rem;
	}

	.dps-tabs-panel__content .dps-dt__sub {
		font-size: clamp(1.35rem, 3.6vw, 1.5rem);
		padding-inline: 0.2rem;
	}
}

@media (max-width: 768px) {
	.dps-hero {
		padding: 1.6rem var(--dps-pad) 3rem;
		gap: 1.6rem;
	}

	.dps-gallery__main {
		max-height: min(50svh, 32rem);
	}

	.dps-gallery__thumb {
		flex-basis: 5.4rem;
		width: 5.4rem;
		height: 6rem;
	}

	.dps-info {
		gap: 2.2rem;
	}

	.dps-info__head {
		gap: 1rem;
	}

	.dps-eyebrow {
		font-size: var(--delco-type-body-sm);
		letter-spacing: 0.14rem;
	}

	.dps-rating {
		flex-wrap: wrap;
		gap: 0.6rem 1.2rem;
	}

	.dps-rating__score {
		font-size: var(--delco-type-lede);
	}

	.dps-rating__label {
		font-size: var(--delco-type-label-sm);
	}

	.dps-tagline {
		font-size: var(--delco-type-body);
		line-height: 1.45;
	}

	.dps-footnote {
		font-size: var(--delco-type-caption);
	}

	.dps-price-box {
		padding: 2rem 1.6rem;
		gap: 0.8rem;
	}

	.dps-price-box__label,
	.dps-price-box__typical {
		font-size: var(--delco-type-body);
	}

	.dps-price-box__note,
	.dps-price-box__timeline {
		font-size: var(--delco-type-caption);
	}

	.dps-cta-wrap {
		gap: 1.2rem;
	}

	.dps-cta {
		min-height: 5.6rem;
		padding: 1.2rem 1.6rem;
		font-size: var(--delco-type-body-sm);
		letter-spacing: 0.12rem;
	}

	.dps-cta-sub {
		font-size: var(--delco-type-base);
	}

	.dps-trust {
		gap: 1rem;
	}

	.dps-trust__item {
		flex: 1 1 calc(50% - 0.5rem);
		min-height: 4.8rem;
		padding: 0.8rem 1.2rem;
		font-size: var(--delco-type-body-sm);
	}

	.dps-trust__item svg {
		width: 2.2rem;
		height: 2.2rem;
	}

	.dps-pullquote p {
		font-size: var(--delco-type-body);
	}

	.dps-body-copy {
		font-size: var(--delco-type-body);
		line-height: 1.5;
		padding: 2rem 0;
	}

	.dps-features-box {
		padding: 2.2rem 1.8rem;
	}

	.dps-features-box__label {
		font-size: var(--delco-type-base);
		margin-bottom: 1.2rem;
	}

	.dps-features-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.2rem 1.6rem;
	}

	.dps-features-grid li {
		font-size: var(--delco-type-base);
	}

	.dps-options-stack {
		gap: 3.5rem;
	}

	.dps-opt-section__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.45rem;
		margin-bottom: 1.6rem;
		flex-wrap: nowrap;
	}

	.dps-opt-section h2 {
		font-size: var(--delco-type-body);
		letter-spacing: 0.14rem;
	}

	.dps-opt-section__sub {
		font-size: clamp(1.15rem, 3.2vw, var(--delco-type-caption, 1.4rem));
		text-align: left;
		max-width: 100%;
		white-space: nowrap;
	}

	.dps-chip-row {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.6rem 1rem;
	}

	.dps-chip-row .dps-chip img {
		width: 100%;
		max-width: 11rem;
		height: auto;
		min-height: 3.6rem;
	}

	.dps-chip-row .dps-chip span {
		width: 100%;
		max-width: 11rem;
		font-size: var(--delco-type-label-sm);
	}

	.dps-glass-row {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.dps-glass-row .dps-chip img {
		width: 100%;
		max-width: 8.6rem;
		height: auto;
		aspect-ratio: 1;
	}

	.dps-glass-row .dps-chip span {
		width: 100%;
		max-width: 8.6rem;
		font-size: var(--delco-type-label-sm);
	}

	.dps-glass-row .dps-chip-wrap--more {
		grid-column: 1 / -1;
		width: 100%;
		align-items: stretch;
	}

	.dps-glass-row a.dps-chip-link--more,
	.dps-glass-row .dps-chip--more {
		width: 100%;
		align-items: stretch;
	}

	.dps-glass-row .dps-chip--more .dps-chip__more-tile {
		width: 100%;
		max-width: none;
		aspect-ratio: auto;
		height: auto;
		min-height: 5.2rem;
		padding: 1.4rem 1.2rem;
		font-size: 1.35rem;
		letter-spacing: 0.1em;
		text-align: center;
		color: #fff !important;
	}

	.dpg-why__card {
		max-width: none;
		min-width: 0;
		padding: 2.4rem 1.8rem;
	}

	.dpg-why__badge {
		max-width: none;
	}

	.dpg-why__chips {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		min-height: 0;
		padding: 2.5rem var(--dps-pad);
	}

	.dpg-why__chip {
		white-space: normal;
	}
}

@media (max-width: 480px) {
	.dps-hero {
		padding: 1.2rem var(--dps-pad) 2.4rem;
		gap: 1.4rem;
	}

	.dps-gallery__main {
		max-height: min(46svh, 28rem);
		padding: 0.6rem;
	}

	.dps-gallery__badge {
		width: 4.6rem;
	}

	.dps-gallery__thumb {
		flex-basis: 4.8rem;
		width: 4.8rem;
		height: 5.4rem;
		padding: 0.35rem;
	}

	.dps-trust__item {
		flex: 1 1 100%;
	}

	.dps-features-grid {
		grid-template-columns: 1fr;
	}

	.dps-color-layout {
		gap: 0.8rem;
		grid-template-columns: 1fr;
	}

	.dps-colors-grid {
		grid-template-columns: repeat(var(--dps-color-cols-mobile, var(--dps-color-cols, 6)), minmax(0, 1fr));
		gap: 0.3rem;
	}

	.dps-color-swatch {
		aspect-ratio: 1 / 0.78;
		max-height: 3.4rem;
	}

	.dps-color-preview {
		min-height: 8rem;
		padding: 1.1rem 1rem;
	}

	.dps-color-preview__label {
		font-size: var(--delco-type-label-sm, 1.2rem);
		line-height: 1.2;
	}

	.dps-chip-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dps-glass-row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dps-glass-row .dps-chip--more .dps-chip__more-tile {
		min-height: 5.2rem;
		font-size: 1.3rem;
		letter-spacing: 0.1em;
		padding-inline: 1rem;
		color: #fff !important;
	}

	.dpg-explore__inner {
		gap: 2rem;
	}

	.dps-tab-intro-split__swatches {
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}
}

/* Prevent horizontal overflow from fixed-width children */
.dps-product-page .dps-hero,
.dps-product-page .dps-options-stack,
.dps-product-page .dps-tabs-section__inner {
	min-width: 0;
	max-width: 100%;
}

.dps-product-page .dps-info {
	min-width: 0;
}

.dps-product-page img {
	max-width: 100%;
	height: auto;
}

@media (min-width: 961px) {
	.dps-product-page .dps-gallery__main #dps-main-img,
	.dps-product-page .dps-gallery__thumb img {
		height: 100%;
		max-width: 100%;
	}
}

/* ── Desktop (Figma reference) ─────────────────────────────────────────── */
@media (min-width: 961px) {
	.dps-hero {
		grid-template-columns: 54.1rem minmax(0, 68rem);
		gap: 9.9rem;
		justify-content: center;
	}

	.dps-info {
		max-width: 68rem;
	}

	.dps-trust__item {
		flex: 1 1 auto;
		min-width: min-content;
		font-size: var(--delco-type-body-sm);
		padding: 0.65rem 1.1rem;
		white-space: nowrap;
	}

	.dps-trust {
		flex-wrap: nowrap;
		gap: 1rem;
	}

	.dps-trust__item svg {
		width: 2.2rem;
		height: 2.2rem;
	}

	.dps-opt-section__row {
		flex-direction: row;
		align-items: baseline;
		justify-content: space-between;
		flex-wrap: nowrap;
	}

	.dps-opt-section__sub {
		text-align: right;
		max-width: none;
		white-space: nowrap;
	}

	.dps-chip-row {
		display: flex;
		flex-wrap: wrap;
		gap: 2.4rem 2rem;
	}

	.dps-glass-row {
		display: flex;
		flex-wrap: wrap;
	}

	.dps-features-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.4rem 2.4rem;
	}

	.dps-color-layout {
		grid-template-columns: 1fr;
		max-width: none;
	}

	.dps-tabs-bar {
		grid-template-columns: repeat(var(--dps-tab-count, 5), minmax(0, 1fr));
	}

	.dps-tabs-bar__btn {
		font-size: var(--delco-type-tab-desktop);
		padding: 0.65rem 0.5rem;
		min-height: 6.4rem;
	}
}

/* Narrow desktop — keep multi-column rows (trust, why-choose, tab grids), squish spacing */
@media (max-width: 1100px) and (min-width: 769px) {
	.dps-hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: clamp(1.6rem, 2.2vw, 3rem);
		padding-top: clamp(3rem, 4vw, 4.5rem);
		padding-bottom: clamp(3rem, 4vw, 4.5rem);
	}

	.dps-gallery {
		max-width: none;
	}

	.dps-gallery__main {
		height: clamp(36rem, 40vw, 52rem);
		min-height: 36rem;
	}

	.dps-info {
		max-width: none;
		gap: 1.8rem;
	}

	.dps-trust {
		flex-wrap: nowrap;
		gap: 0.6rem;
	}

	.dps-trust__item {
		flex: 1 1 0;
		min-width: 0;
		padding: 0.5rem 0.55rem;
		font-size: clamp(1.1rem, 1.1vw, 1.3rem);
		white-space: normal;
		line-height: 1.2;
		min-height: 4rem;
	}

	.dps-trust__item svg {
		width: 1.85rem;
		height: 1.85rem;
	}

	.dps-features-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.8rem 0.6rem;
	}

	.dps-features-grid li {
		font-size: var(--delco-type-label-sm, 1.2rem);
		white-space: normal;
		min-width: 0;
	}

	.dpg-why__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
	}

	.dpg-why__card {
		padding: 1.6rem 1.2rem;
		gap: 0.7rem;
	}

	.dpg-why__card h3 {
		font-size: clamp(1.4rem, 1.4vw, 1.7rem);
	}

	.dpg-why__card p {
		font-size: var(--delco-type-body-sm);
	}

	.dps-tab-feature-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
	}

	.dpg-section.dpg-features {
		--dpg-feat-s: 0.84;
	}

	/* Panel sizes — honour --dps-panel-cols (e.g. 3 across), just compress */
	.dps-panel-sizes__grid {
		grid-template-columns: repeat(var(--dps-panel-cols, 3), minmax(0, 1fr)) !important;
		gap: 0.85rem 0.6rem;
	}

	.dps-panel-sizes__grid:has(> .dps-panel-size:nth-child(5)) {
		max-height: none;
		overflow: visible;
	}

	.dps-panel-size {
		min-height: 9.5rem;
		padding: 1.1rem 0.55rem 0.85rem;
	}

	.dps-panel-size__visual {
		min-height: 5rem;
		margin-bottom: 0.5rem;
	}

	.dps-panel-size__label {
		font-size: var(--delco-type-label-sm, 1.2rem);
		letter-spacing: 0.02em;
		line-height: 1.15;
		min-height: 2.6rem;
		padding: 0.5rem 0.3rem;
		white-space: normal;
	}
}

/* ─────────────────────────────────────────────────────────────────────────
   Product: Features explorer (interactive door hotspots)  — Figma 888:887646
   ───────────────────────────────────────────────────────────────────────── */
.dpg-section.dpg-features {
	max-width: none;
	width: 100%;
	background: var(--dps-surface);
	--dpg-feat-s: 0.9;
	--delco-type-display-lg: clamp(calc(2.6rem * var(--dpg-feat-s)), calc(2.2vw * var(--dpg-feat-s)), calc(3.4rem * var(--dpg-feat-s)));
	--delco-type-body-fluid: clamp(calc(1.4rem * var(--dpg-feat-s)), calc(1.2vw * var(--dpg-feat-s)), calc(1.6rem * var(--dpg-feat-s)));
	padding: calc(var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) * var(--dpg-feat-s)) 0;
	box-sizing: border-box;
}

.dpg-features__inner {
	max-width: calc(158.6rem * var(--dpg-feat-s));
	margin: 0 auto;
	padding: 0 var(--dps-pad);
	box-sizing: border-box;
}

.dpg-features__head {
	text-align: center;
	max-width: calc(48rem * var(--dpg-feat-s));
	width: 100%;
	margin: 0 auto clamp(calc(1.6rem * var(--dpg-feat-s)), calc(2.5vw * var(--dpg-feat-s)), calc(2.4rem * var(--dpg-feat-s)));
	align-self: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(calc(0.6rem * var(--dpg-feat-s)), calc(1vw * var(--dpg-feat-s)), calc(0.9rem * var(--dpg-feat-s)));
}

.dpg-features__head h2 {
	font-family: var(--dps-font-display);
	font-weight: 500;
	font-size: var(--delco-type-display-lg);
	letter-spacing: 0.12rem;
	color: var(--dps-text-dark);
	line-height: 1.1;
	margin: 0;
	text-align: center;
}

.dpg-features__sub {
	font-family: var(--dps-font-ui);
	font-weight: 500;
	font-size: clamp(calc(1.2rem * var(--dpg-feat-s)), calc(1.2vw * var(--dpg-feat-s)), calc(1.6rem * var(--dpg-feat-s)));
	letter-spacing: 0.14rem;
	text-transform: uppercase;
	color: var(--dps-text-body);
	margin: 0;
	text-align: center;
	max-width: calc(36rem * var(--dpg-feat-s));
	line-height: 1.45;
}

@media (min-width: 961px) {
	.dpg-features__head {
		max-width: none;
	}

	.dpg-features__sub {
		max-width: none;
		font-size: clamp(calc(1rem * var(--dpg-feat-s)), calc(0.72vw * var(--dpg-feat-s)), calc(1.25rem * var(--dpg-feat-s)));
		letter-spacing: 0.08em;
		line-height: 1.3;
	}
}

.dpg-features__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(calc(2.4rem * var(--dpg-feat-s)), calc(4vw * var(--dpg-feat-s)), calc(6.4rem * var(--dpg-feat-s)));
	align-items: center;
}

/* Left: door image stage with positioned hotspots */
.dpg-features__stage {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: clamp(calc(1.6rem * var(--dpg-feat-s)), calc(2vw * var(--dpg-feat-s)), calc(2.4rem * var(--dpg-feat-s)));
	background: var(--dps-bg);
	border-radius: calc(2.7rem * var(--dpg-feat-s));
	padding: clamp(calc(2rem * var(--dpg-feat-s)), calc(3vw * var(--dpg-feat-s)), calc(4rem * var(--dpg-feat-s)));
	box-sizing: border-box;
}

.dpg-features__door {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 0;
	align-self: center;
}

.dpg-features__door-canvas {
	position: relative;
	width: 100%;
	max-width: calc(48rem * var(--dpg-feat-s));
}

.dpg-features__door-canvas > img {
	display: block;
	width: 100%;
	height: auto;
}

.dpg-features__dot {
	position: absolute;
	transform: translate(-50%, -50%);
	width: calc(3.6rem * var(--dpg-feat-s));
	height: calc(3.6rem * var(--dpg-feat-s));
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(71, 121, 185, 0.25);
	cursor: pointer;
	display: grid;
	place-items: center;
	z-index: 2;
	transition: transform 0.18s ease, background 0.18s ease;
}

.dpg-features__dot::after {
	content: "";
	width: calc(1.5rem * var(--dpg-feat-s));
	height: calc(1.5rem * var(--dpg-feat-s));
	border-radius: 50%;
	background: #4779b9;
	box-shadow: 0 0 0 calc(0.35rem * var(--dpg-feat-s)) #fff;
	transition: transform 0.18s ease;
}

.dpg-features__dot-pulse {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 0.2rem solid rgba(71, 121, 185, 0.55);
	animation: dpg-feat-pulse 2.2s ease-out infinite;
}

@keyframes dpg-feat-pulse {
	0%   { transform: scale(0.6); opacity: 0.9; }
	70%  { transform: scale(1.5); opacity: 0; }
	100% { transform: scale(1.5); opacity: 0; }
}

.dpg-features__dot:hover,
.dpg-features__dot:focus-visible,
.dpg-features__dot.is-active {
	background: rgba(71, 121, 185, 0.4);
	transform: translate(-50%, -50%) scale(1.18);
	outline: none;
}

.dpg-features__dot.is-active::after {
	transform: scale(1.15);
}

.dpg-features__dot.is-active .dpg-features__dot-pulse {
	animation: none;
	border-color: #4779b9;
}

.dpg-features__dot-label {
	display: none;
}

.dpg-features__nav {
	display: none;
}

.dpg-features__hint-desktop {
	display: inline;
}

.dpg-features__hint-mobile {
	display: none;
}

.dpg-features__sheet-backdrop,
.dpg-features__sheet-close {
	display: none;
}

.dpg-features__hint {
	font-family: var(--dps-font-ui);
	font-weight: 500;
	font-size: clamp(calc(1.4rem * var(--dpg-feat-s)), calc(1.4vw * var(--dpg-feat-s)), calc(2rem * var(--dpg-feat-s)));
	letter-spacing: 0.2rem;
	text-transform: uppercase;
	color: var(--dps-text-dark);
	margin: 0;
	text-align: center;
	align-self: center;
}

/* Right: detail panels (only the active one is shown) */
.dpg-features__panels {
	position: relative;
	display: grid;
	background: var(--dps-surface);
	min-width: 0;
}

/* All panels share one grid cell so the container always reserves the height
   of the tallest panel — switching features never shifts the layout. */
.dpg-features__panel {
	grid-area: 1 / 1;
	display: flex;
	flex-direction: column;
	gap: clamp(calc(1.6rem * var(--dpg-feat-s)), calc(2vw * var(--dpg-feat-s)), calc(2.3rem * var(--dpg-feat-s)));
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease;
}

.dpg-features__panel.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.dpg-features__panel-title {
	font-family: var(--dps-font-display);
	font-weight: 500;
	font-size: clamp(calc(2.6rem * var(--dpg-feat-s)), calc(2.6vw * var(--dpg-feat-s)), calc(3.6rem * var(--dpg-feat-s)));
	color: var(--dps-text-dark);
	line-height: 1.15;
	margin: 0;
}

.dpg-features__panel-desc {
	font-family: var(--dps-font-body);
	font-size: clamp(calc(1.55rem * var(--dpg-feat-s)), calc(1.35vw * var(--dpg-feat-s)), calc(1.85rem * var(--dpg-feat-s)));
	color: var(--dps-text-body);
	line-height: 1.5;
	margin: 0;
}

.dpg-features__media {
	width: 100%;
	border-radius: calc(1.2rem * var(--dpg-feat-s));
	overflow: hidden;
	background: #aea194;
	position: relative;
}

.dpg-features__media img {
	display: block;
	width: 100%;
	height: clamp(calc(16rem * var(--dpg-feat-s)), calc(22vw * var(--dpg-feat-s)), calc(28rem * var(--dpg-feat-s)));
	max-height: clamp(calc(16rem * var(--dpg-feat-s)), calc(22vw * var(--dpg-feat-s)), calc(28rem * var(--dpg-feat-s)));
	object-fit: cover;
	object-position: center;
}

.dpg-features__tags {
	display: flex;
	flex-direction: column;
	gap: calc(1.4rem * var(--dpg-feat-s));
}

.dpg-features__tag {
	display: flex;
	align-items: flex-start;
	gap: calc(1.8rem * var(--dpg-feat-s));
	background: var(--dps-bg);
	border-radius: calc(0.9rem * var(--dpg-feat-s));
	padding: calc(1.6rem * var(--dpg-feat-s)) calc(1.8rem * var(--dpg-feat-s));
}

.dpg-features__tag-icon {
	width: calc(4rem * var(--dpg-feat-s));
	height: calc(4rem * var(--dpg-feat-s));
	flex-shrink: 0;
}

.dpg-features__tag-body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
}

.dpg-features__tag-label {
	font-family: var(--dps-font-ui);
	font-weight: 500;
	font-size: clamp(calc(1.4rem * var(--dpg-feat-s)), calc(1.4vw * var(--dpg-feat-s)), calc(1.8rem * var(--dpg-feat-s)));
	letter-spacing: 0.16rem;
	text-transform: uppercase;
	color: var(--dps-text-dark);
}

.dpg-features__tag-body p {
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body-fluid);
	color: var(--dps-text-body);
	line-height: 1.45;
	margin: 0;
}

@media (max-width: 768px) {
	.dpg-section.dpg-features {
		padding-top: calc(var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) * var(--dpg-feat-s));
		padding-bottom: calc(var(--dpg-block-pad-y, clamp(3.5rem, 5vw, 5.5rem)) * var(--dpg-feat-s));
	}

	.dpg-features__inner {
		max-width: none;
		padding-left: var(--dps-pad);
		padding-right: var(--dps-pad);
		box-sizing: border-box;
	}

	.dpg-features__layout {
		grid-template-columns: 1fr;
		gap: clamp(calc(2.4rem * var(--dpg-feat-s)), calc(5vw * var(--dpg-feat-s)), calc(3.6rem * var(--dpg-feat-s)));
		transform: none;
	}

	.dpg-features__stage {
		order: -1;
		gap: clamp(calc(1.2rem * var(--dpg-feat-s)), calc(3vw * var(--dpg-feat-s)), calc(1.8rem * var(--dpg-feat-s)));
		background: transparent;
		border-radius: 0;
		padding: 0;
	}

	.dpg-features__door {
		width: 100%;
		max-width: min(100%, calc(34rem * var(--dpg-feat-s)));
		margin-inline: auto;
	}

	.dpg-features__door-canvas {
		width: 100%;
		max-width: min(100%, calc(34rem * var(--dpg-feat-s)));
		margin-inline: auto;
	}

	.dpg-features__door-canvas > img {
		max-height: min(42vh, calc(28rem * var(--dpg-feat-s)));
		width: auto;
		max-width: 100%;
		margin-inline: auto;
	}

	.dpg-features__hint-desktop {
		display: none;
	}

	.dpg-features__hint-mobile {
		display: inline;
	}

	.dpg-features__dot {
		overflow: visible;
	}

	.dpg-features__dot-label {
		display: none;
	}

	.dpg-features__nav {
		display: flex;
		flex-direction: column;
		gap: calc(0.6rem * var(--dpg-feat-s));
		width: 100%;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	.dpg-features__nav-btn {
		display: block;
		width: 100%;
		margin: 0;
		padding: calc(1rem * var(--dpg-feat-s)) calc(1.2rem * var(--dpg-feat-s));
		border: 1px solid rgba(71, 121, 185, 0.28);
		border-radius: calc(0.6rem * var(--dpg-feat-s));
		background: var(--dps-surface);
		font-family: var(--dps-font-ui);
		font-weight: 600;
		font-size: clamp(calc(1.1rem * var(--dpg-feat-s)), calc(3.2vw * var(--dpg-feat-s)), calc(1.3rem * var(--dpg-feat-s)));
		line-height: 1.25;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		text-align: left;
		color: #4779b9;
		cursor: pointer;
		transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
	}

	.dpg-features__nav-btn.is-active,
	.dpg-features__nav-btn:hover,
	.dpg-features__nav-btn:focus-visible {
		background: #4779b9;
		border-color: #4779b9;
		color: #fff;
		outline: none;
	}

	.dpg-features__door-canvas {
		margin-bottom: calc(0.4rem * var(--dpg-feat-s));
	}

	.dpg-features__panels {
		display: none;
		position: fixed;
		inset: 0;
		z-index: 1200;
		background: transparent;
		pointer-events: none;
		visibility: hidden;
	}

	.dpg-features--open .dpg-features__panels {
		display: block;
		pointer-events: auto;
		visibility: visible;
	}

	.dpg-features__sheet-backdrop {
		display: block;
		position: absolute;
		inset: 0;
		border: none;
		padding: 0;
		background: rgba(32, 38, 46, 0.52);
		opacity: 0;
		transition: opacity 0.22s ease;
		cursor: pointer;
	}

	.dpg-features--open .dpg-features__sheet-backdrop {
		opacity: 1;
	}

	.dpg-features__sheet {
		display: flex;
		flex-direction: column;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		max-height: min(88vh, calc(72rem * var(--dpg-feat-s)));
		background: var(--dps-surface);
		border-radius: calc(1.6rem * var(--dpg-feat-s)) calc(1.6rem * var(--dpg-feat-s)) 0 0;
		box-shadow: 0 calc(-0.8rem * var(--dpg-feat-s)) calc(2.4rem * var(--dpg-feat-s)) rgba(50, 60, 72, 0.18);
		transform: translateY(100%);
		transition: transform 0.28s ease;
		overflow: hidden;
	}

	.dpg-features--open .dpg-features__sheet {
		transform: translateY(0);
	}

	.dpg-features__sheet-close {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		top: auto;
		right: auto;
		align-self: flex-end;
		flex-shrink: 0;
		margin: calc(1rem * var(--dpg-feat-s)) calc(1rem * var(--dpg-feat-s)) calc(0.4rem * var(--dpg-feat-s));
		width: calc(3.6rem * var(--dpg-feat-s));
		height: calc(3.6rem * var(--dpg-feat-s));
		border: none;
		border-radius: 50%;
		background: var(--dps-bg);
		color: var(--dps-text-dark);
		font-size: calc(2.4rem * var(--dpg-feat-s));
		line-height: 1;
		cursor: pointer;
		z-index: 2;
	}

	.dpg-features__sheet-body {
		display: block;
		overflow-y: auto;
		padding: 0 var(--dps-pad) clamp(calc(2rem * var(--dpg-feat-s)), calc(5vw * var(--dpg-feat-s)), calc(3rem * var(--dpg-feat-s)));
		-webkit-overflow-scrolling: touch;
	}

	.dpg-features__panel {
		display: none;
		gap: clamp(calc(1.2rem * var(--dpg-feat-s)), calc(3vw * var(--dpg-feat-s)), calc(1.6rem * var(--dpg-feat-s)));
	}

	.dpg-features__panel.is-active {
		display: flex;
		opacity: 1;
		visibility: visible;
	}

	.dpg-features__media img {
		height: clamp(calc(14rem * var(--dpg-feat-s)), calc(42vw * var(--dpg-feat-s)), calc(22rem * var(--dpg-feat-s)));
	}
}

/* Desktop — 50/50 split; left stage = viewport minus nav + sticky quote bar */
@media (min-width: 901px) {
	.dpg-section.dpg-features {
		--dpg-features-stage-h: calc(
			100dvh - var(--dpg-features-chrome-top) - var(--delco-bottom-cta-offset, 0px)
		);
		--dpg-feat-card-inset: clamp(calc(1.2rem * var(--dpg-feat-s)), calc(2vw * var(--dpg-feat-s)), calc(2.4rem * var(--dpg-feat-s)));
		padding: 0;
	}

	.dpg-features__inner {
		max-width: none;
		padding: 0;
	}

	.dpg-features__layout {
		grid-template-columns: 1fr 1fr;
		gap: 0;
		align-items: center;
		min-height: var(--dpg-features-stage-h);
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

	.dpg-features__stage,
	.dpg-features__panels {
		--dpg-features-col-h: calc(var(--dpg-features-stage-h) - (var(--dpg-feat-card-inset) * 2));
		--dpg-features-col-scale: calc(0.94 * var(--dpg-feat-s));
		transform: scale(var(--dpg-features-col-scale));
		transform-origin: center center;
	}

	/* Shrink stage visuals slightly without changing the section layout box. */
	.dpg-features__stage {
		position: sticky;
		top: var(--dpg-features-chrome-top);
		align-self: center;
		min-height: var(--dpg-features-col-h);
		height: var(--dpg-features-col-h);
		max-height: var(--dpg-features-col-h);
		margin: var(--dpg-feat-card-inset) clamp(calc(0.8rem * var(--dpg-feat-s)), calc(1.5vw * var(--dpg-feat-s)), calc(1.6rem * var(--dpg-feat-s))) var(--dpg-feat-card-inset) clamp(calc(1.2rem * var(--dpg-feat-s)), calc(2vw * var(--dpg-feat-s)), calc(2.4rem * var(--dpg-feat-s)));
		border-radius: calc(2.4rem * var(--dpg-feat-s));
		padding: clamp(calc(2rem * var(--dpg-feat-s)), calc(3vw * var(--dpg-feat-s)), calc(3.2rem * var(--dpg-feat-s))) clamp(calc(2.4rem * var(--dpg-feat-s)), calc(5vw * var(--dpg-feat-s)), min(calc(8rem * var(--dpg-feat-s)), calc(10vw * var(--dpg-feat-s))));
		justify-content: flex-start;
		gap: clamp(calc(0.8rem * var(--dpg-feat-s)), calc(1.2vw * var(--dpg-feat-s)), calc(1.4rem * var(--dpg-feat-s)));
		overflow: hidden;
		box-sizing: border-box;
	}

	.dpg-features__head {
		flex: 0 0 auto;
		margin-bottom: 0;
		align-self: center;
	}

	.dpg-features__door {
		flex: 1 1 0;
		min-height: 0;
		container-type: size;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}

	.dpg-features__door-canvas {
		position: relative;
		display: inline-block;
		width: auto;
		max-width: 100%;
		max-height: 100%;
		line-height: 0;
		vertical-align: top;
	}

	.dpg-features__door-canvas > img {
		display: block;
		max-height: calc(var(--dpg-features-stage-h) - calc(16rem * var(--dpg-feat-s)));
		max-width: 100%;
		width: auto;
		height: auto;
		object-fit: contain;
	}

	@supports (height: 100cqh) {
		.dpg-features__door-canvas > img {
			max-height: 100cqh;
			max-width: 100cqw;
		}
	}

	.dpg-features__hint {
		flex: 0 0 auto;
	}

	.dpg-features__panels {
		position: relative;
		align-self: center;
		display: flex;
		flex-direction: column;
		justify-content: stretch;
		align-items: stretch;
		width: 100%;
		min-height: var(--dpg-features-col-h);
		height: var(--dpg-features-col-h);
		max-height: var(--dpg-features-col-h);
		margin: var(--dpg-feat-card-inset) clamp(calc(1.6rem * var(--dpg-feat-s)), calc(3vw * var(--dpg-feat-s)), calc(3.6rem * var(--dpg-feat-s))) var(--dpg-feat-card-inset) clamp(calc(0.8rem * var(--dpg-feat-s)), calc(1.5vw * var(--dpg-feat-s)), calc(1.6rem * var(--dpg-feat-s)));
		padding: clamp(calc(2rem * var(--dpg-feat-s)), calc(3vw * var(--dpg-feat-s)), calc(3.2rem * var(--dpg-feat-s))) clamp(calc(2rem * var(--dpg-feat-s)), calc(4vw * var(--dpg-feat-s)), calc(4.8rem * var(--dpg-feat-s)));
		box-sizing: border-box;
		overflow: hidden;
	}

	.dpg-features__sheet,
	.dpg-features__sheet-body {
		display: contents;
	}

	.dpg-features__sheet-backdrop,
	.dpg-features__sheet-close {
		display: none;
	}

	.dpg-features__panel.is-active {
		flex: 1 1 auto;
		width: 100%;
		height: 100%;
		max-width: none;
		max-height: 100%;
		min-height: 0;
		overflow-y: auto;
		justify-content: flex-start;
	}

	/* Inactive panels layered out of flow so only active panel sets height */
	.dpg-features__panel:not(.is-active) {
		position: absolute;
		top: clamp(calc(2rem * var(--dpg-feat-s)), calc(3vw * var(--dpg-feat-s)), calc(3.2rem * var(--dpg-feat-s)));
		bottom: clamp(calc(2rem * var(--dpg-feat-s)), calc(3vw * var(--dpg-feat-s)), calc(3.2rem * var(--dpg-feat-s)));
		left: clamp(calc(2rem * var(--dpg-feat-s)), calc(4vw * var(--dpg-feat-s)), calc(4.8rem * var(--dpg-feat-s)));
		right: clamp(calc(2rem * var(--dpg-feat-s)), calc(4vw * var(--dpg-feat-s)), calc(4.8rem * var(--dpg-feat-s)));
		width: auto;
	}

	.dpg-features__panel-title {
		font-size: clamp(2.8rem, 2.5vw, 3.8rem);
	}

	.dpg-features__panel-desc {
		font-size: clamp(1.65rem, 1.4vw, 1.95rem);
	}

	.dpg-features__panel-title,
	.dpg-features__panel-desc,
	.dpg-features__tags {
		flex-shrink: 0;
	}

	.dpg-features__media {
		flex: 1 1 0;
		min-height: 0;
		width: 100%;
		display: block;
	}

	.dpg-features__media img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		max-height: none;
		min-height: 0;
		object-fit: cover;
		object-position: center;
	}
}

/* ===================================================================
   Steel-door shared tab content (Glass / Hardware / Brochures / Acc.)
   Rendered as default panels via includes/delco_steel_door_tabs.php.
   =================================================================== */
.dps-tabs-panel__content .dps-tab-legacy:has(.dps-dt) {
	width: 100%;
}

.dps-dt {
	--dps-dt-navy: #323c48;
	--dps-dt-line: #d9d2c9;
	display: flex;
	flex-direction: column;
	gap: clamp(3.5rem, 6vw, 6.5rem);
	color: var(--dps-dt-navy);
	font-family: var(--dps-font-body);
	width: 100%;
}

.dps-dt__band {
	padding-inline: clamp(1.6rem, 3vw, 3.2rem);
}

.dps-dt__band--lock {
	--dps-lock-media-max-h: min(76svh, 56rem);
	background: #fff;
	padding-block: clamp(2rem, 4vw, 4rem);
	padding-inline: clamp(1rem, 2vw, 2rem);
	border-radius: 0 0 1.2rem 1.2rem;
}

.dps-dt__band--lock .dps-dt-split {
	max-width: 124rem;
	grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr);
	gap: clamp(2.4rem, 4vw, 5rem);
	align-items: stretch;
}

.dps-dt__band--lock .dps-dt-split__media {
	display: flex;
	align-items: center;
	justify-content: center;
}

.dps-dt__band--lock .dps-dt-split__media img {
	max-width: min(100%, 42rem);
	max-height: var(--dps-lock-media-max-h);
	width: auto;
	height: auto;
	object-fit: contain;
}

.dps-dt__band--lock .dps-dt-adv {
	background: #f9f7f5;
}

.dps-dt__band--lock .dps-dt-adv ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem 2rem;
}

a.dps-dt-lock-video {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	width: 100%;
	min-height: 6.6rem;
	padding: 1.5rem 2rem;
	margin: 0 0 clamp(1.6rem, 2.5vw, 2.4rem);
	border-radius: var(--delco-radius-button, 1rem);
	background: #756963;
	color: #fff !important;
	font-family: var(--dps-font-title);
	font-size: 1.58rem;
	font-weight: 700;
	letter-spacing: 0.316rem;
	text-transform: uppercase;
	text-decoration: none;
	box-sizing: border-box;
	transition: opacity 0.2s ease;
}

a.dps-dt-lock-video:hover,
a.dps-dt-lock-video:focus {
	opacity: 0.92;
	color: #fff !important;
	text-decoration: none;
}

.dps-dt-lock-video__icon {
	flex-shrink: 0;
	width: 3rem;
	height: 3rem;
}

.dps-dt--accessories .dps-dt__band {
	padding-inline: clamp(1rem, 2vw, 2.5rem);
	padding-block: clamp(3rem, 4.2vw, 4.8rem);
}

.dps-dt--accessories .dps-dt-split,
.dps-dt--accessories .dps-dt-screens,
.dps-dt--accessories .dps-dt-finishes,
.dps-dt--accessories .dps-dt-finishes-split,
.dps-dt--accessories .dps-dt-frames,
.dps-dt--accessories .dps-dt-handles,
.dps-dt--accessories .dps-dt-astragal {
	max-width: 124rem;
	width: 100%;
	margin-inline: auto;
}

/* Accessories tab — glass frame cards: one title + body, left-aligned (Figma NHP) */
.dps-dt--accessories .dps-dt-frame {
	text-align: left;
	align-items: stretch;
}

.dps-dt--accessories .dps-dt-frame__name,
.dps-dt--accessories .dps-dt-frame__desc {
	text-align: left;
}

.dps-dt--accessories .dps-dt-frame__eyebrow {
	display: none;
}

.dps-dt--accessories .dps-dt__lead {
	text-align: center;
	max-width: 72rem;
	margin-inline: auto;
}

/* Split / astragal / sill copy — left-aligned per Figma */
.dps-dt--accessories .dps-dt-split__body,
.dps-dt--accessories .dps-dt-astragal__copy,
.dps-dt--accessories .dps-dt-finishes-split__copy {
	align-items: flex-start;
	text-align: left;
}

.dps-dt--accessories .dps-dt-split__title,
.dps-dt--accessories .dps-dt-split__eyebrow,
.dps-dt--accessories .dps-dt-split__text,
.dps-dt--accessories .dps-dt-split__text p,
.dps-dt--accessories .dps-dt-astragal__copy .dps-dt-split__lead,
.dps-dt--accessories .dps-dt-astragal__copy .dps-dt-split__text > p:not(.dps-dt-split__lead),
.dps-dt--accessories .dps-dt-finishes-split__copy .dps-dt-split__title,
.dps-dt--accessories .dps-dt-finishes-split__sub {
	text-align: left;
}

.dps-dt--accessories .dps-dt-astragal__badges {
	justify-content: flex-start;
}

.dps-tab-rich .dps-dt--accessories .dps-dt-split__title,
.dps-tab-rich .dps-dt--accessories .dps-dt-split__body,
.dps-tab-rich .dps-dt--accessories .dps-dt-split__text,
.dps-tab-rich .dps-dt--accessories .dps-dt-split__text p,
.dps-tab-rich .dps-dt--accessories .dps-dt-split__eyebrow,
.dps-tabs-panel__content .dps-dt--accessories .dps-dt-split__title,
.dps-tabs-panel__content .dps-dt--accessories .dps-dt-split__eyebrow,
.dps-tabs-panel__content .dps-dt--accessories .dps-dt-split__text,
.dps-tabs-panel__content .dps-dt--accessories .dps-dt-split__text p,
.dps-tabs-panel__content .dps-dt--accessories .dps-dt-astragal__copy,
.dps-tabs-panel__content .dps-dt--accessories .dps-dt-astragal__copy .dps-dt-split__lead,
.dps-tabs-panel__content .dps-dt--accessories .dps-dt-astragal__copy .dps-dt-split__text > p,
.dps-tabs-panel__content .dps-dt--accessories .dps-dt-finishes-split__copy,
.dps-tabs-panel__content .dps-dt--accessories .dps-dt-finishes-split__sub {
	text-align: left;
}

.dps-tabs-panel__content .dps-dt--accessories .dps-dt-split__title {
	margin-inline: 0;
}

/* Section heads inside accessories (Glass Frames, Retractable Screen, …) */
.dps-dt--accessories .dps-dt__head .dps-dt__title {
	font-family: var(--dps-font-display);
	font-style: normal;
	font-weight: 600;
	font-size: clamp(2.4rem, 3.4vw, 3.6rem);
	line-height: 1.15;
	text-align: center;
	color: var(--dps-text-dark);
}

.dps-dt--accessories .dps-dt__head .dps-dt__sub {
	text-align: center;
}

/* Glass frame cards — contain product art on band-matched background */
.dps-dt--accessories .dps-dt-frame__media {
	aspect-ratio: 4 / 3;
	background: #f9f7f5;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(0.8rem, 1.4vw, 1.4rem);
	border-radius: 1.2rem;
}

.dps-dt--accessories .dps-dt__band--alt .dps-dt-frame__media {
	background: #fff;
}

.dps-dt--accessories .dps-dt-frame__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.dps-dt--accessories .dps-dt-frame__name {
	font-family: var(--dps-tab-title-font, var(--dps-font-display));
	font-style: var(--dps-tab-title-style, normal);
	font-weight: var(--dps-tab-title-weight, 600);
	font-synthesis: none;
	font-size: clamp(1.8rem, 2vw, 2.2rem);
	line-height: 1.25;
	color: var(--dps-text-dark, #323c48);
	margin: 0.8rem 0 0.5rem;
}

.dps-dt--accessories .dps-dt-frame__desc {
	font-size: clamp(1.4rem, 1.5vw, 1.6rem);
	line-height: 1.55;
	max-width: none;
	margin: 0;
}

/* Split media — transparent, no white slab behind product shots */
.dps-dt--accessories .dps-dt-split__media {
	background: transparent;
}

.dps-dt--accessories .dps-dt-split__media img {
	background: transparent;
	max-width: min(100%, 48rem);
}

.dps-dt--accessories .dps-dt-split__media--pair {
	gap: clamp(1.2rem, 2.5vw, 2rem);
	align-items: flex-end;
	justify-content: flex-start;
}

.dps-dt--accessories .dps-dt-split__media--pair img {
	max-width: min(48%, 20rem);
}

/* Tedee AddOns — single composite product shot */
.dps-dt--accessories .dps-dt-split:has(.dps-dt-split__lead) .dps-dt-split__media img {
	max-width: min(100%, 72rem);
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* Features box under Enhancing Home Security — left-aligned title + list */
.dps-dt--accessories .dps-dt-adv {
	width: 100%;
	max-width: 56rem;
	margin-inline: 0;
	text-align: left;
}

.dps-dt--accessories .dps-dt-adv__title {
	text-align: left;
}

.dps-dt--accessories .dps-dt-adv ul {
	display: block;
	margin-inline: 0;
	text-align: left;
}

.dps-dt--accessories .dps-dt-split__eyebrow {
	font-family: var(--dps-font-ui);
	font-weight: 600;
	font-size: clamp(1.3rem, 1.4vw, 1.5rem);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b665f;
}

.dps-dt--accessories .dps-dt-split__lead {
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: clamp(1.8rem, 2vw, 2.2rem);
	line-height: 1.25;
	color: var(--dps-dt-navy);
	margin: 0 0 0.6rem;
}

.dps-dt__band--alt {
	background: #f9f7f5;
	padding-block: clamp(3rem, 5vw, 5rem);
	border-radius: 1.2rem;
}

.dps-dt__head {
	text-align: center;
	margin-bottom: clamp(2.4rem, 4vw, 3.6rem);
}

.dps-dt__title {
	font-family: var(--dps-tab-title-font, var(--dps-font-display));
	font-style: var(--dps-tab-title-style, normal);
	font-weight: var(--dps-tab-title-weight, 600);
	font-synthesis: none;
	font-size: clamp(2.8rem, 4vw, 4rem);
	line-height: 1.1;
	color: var(--dps-dt-navy);
	margin: 0;
}

.dps-dt__sub {
	margin: 1rem auto 0;
	max-width: 70rem;
	font-size: clamp(1.5rem, 1.6vw, 1.7rem);
	letter-spacing: 0.02em;
	color: #3f4853;
	text-align: center;
}

/* ── Decorative glass cards ─────────────────────────────────────── */
.dps-dt-gcards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.4rem, 1.8vw, 2rem);
	width: 100%;
	max-width: 96rem;
	margin-inline: auto;
	box-sizing: border-box;
}

.dps-tabs-panel__content .dps-dt__band:has(.dps-dt-gcards) {
	padding-inline: max(var(--dps-pad), calc((100% - min(var(--dps-tab-content-max, 129.6rem), 100% - 2 * var(--dps-pad))) / 2));
}

.dps-dt-gcard {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--dps-surface);
	border: var(--delco-inner-card-border, 1px solid var(--dps-dt-line));
	box-shadow: var(--delco-inner-card-shadow, none);
	border-radius: 1rem;
	overflow: hidden;
	transition:
		transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.28s ease,
		border-color 0.28s ease;
}

.dps-dt-gcard:hover {
	transform: translateY(-0.4rem);
	box-shadow: 0 1rem 2.4rem rgba(30, 39, 48, 0.12);
	border-color: rgba(30, 39, 48, 0.18);
}

.dps-dt-gcard:hover a.dps-dt-gcard__btn {
	background: #1f2730;
}

.dps-dt-gcard__media {
	aspect-ratio: 4 / 3;
	max-height: 18rem;
	background: #ece7e0;
	overflow: hidden;
}

a.dps-dt-gcard__media-link {
	display: block;
	width: 100%;
	height: 100%;
}

.dps-dt-gcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: scale(1);
	transition:
		transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		opacity 0.28s ease;
}

.dps-dt-gcard:hover .dps-dt-gcard__media img,
a.dps-dt-gcard__media-link:hover img,
a.dps-dt-gcard__media-link:focus-visible img {
	transform: scale(1.05);
	opacity: 0.96;
}

@media (prefers-reduced-motion: reduce) {
	.dps-dt-gcard,
	.dps-dt-gcard__media img {
		transition: none;
	}

	.dps-dt-gcard:hover {
		transform: none;
	}

	.dps-dt-gcard:hover .dps-dt-gcard__media img,
	a.dps-dt-gcard__media-link:hover img,
	a.dps-dt-gcard__media-link:focus-visible img {
		transform: none;
	}
}

.dps-dt-gcard__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0.45rem;
	padding: 1.4rem 1.6rem 1.2rem;
	text-align: left;
}

.dps-dt-gcard__brand {
	margin: 0;
	font-size: 1.1rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8a8079;
	text-align: left;
}

.dps-dt-gcard__name {
	margin: 0 0 0.45rem;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: clamp(1.7rem, 1.6vw, 1.95rem);
	color: var(--dps-dt-navy);
	text-align: left;
}

.dps-tab-rich .dps-dt-gcard__name,
.dps-tabs-panel__content .dps-dt-gcard__name {
	text-align: left;
}

.dps-dt-gcard__specs {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.dps-dt-gcard__specs > div {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 1.4rem;
}

.dps-dt-gcard__specs dt {
	color: #6b665f;
	min-width: 6.5rem;
}

.dps-dt-gcard__specs dd {
	margin: 0;
	color: var(--dps-dt-navy);
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.dps-dt-dots {
	display: inline-flex;
	gap: 0.35rem;
}

.dps-dt-dots i {
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	border: 1px solid var(--dps-dt-navy);
	display: inline-block;
}

.dps-dt-dots i.on {
	background: var(--dps-dt-navy);
}

.dps-dt-dots__num {
	font-size: 1.3rem;
	color: #6b665f;
}

a.dps-dt-gcard__btn {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	margin-top: auto;
	text-align: center;
	background: var(--dps-dt-navy);
	color: #fff !important;
	text-decoration: none;
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 1.15rem 1.4rem;
	border: 0;
	border-radius: 0;
	transition: background 0.15s ease;
}

a.dps-dt-gcard__btn:hover,
a.dps-dt-gcard__btn:focus {
	background: #1f2730;
	color: #fff !important;
}

.dps-dt-allbtn {
	margin-top: clamp(2.4rem, 3vw, 3.2rem);
	margin-inline: auto;
	width: 100%;
	max-width: min(56rem, 100%);
	display: block;
	text-align: center;
	background: var(--dps-dt-navy);
	color: #fff;
	text-decoration: none;
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	padding: 1.6rem;
	border-radius: 0.4rem;
	transition: background 0.15s ease;
	box-sizing: border-box;
}

.dps-dt-allbtn:hover {
	background: #1f2730;
}

/* ── Custom glass swatches ──────────────────────────────────────── */
.dps-dt-swatches {
	--dps-dt-swatch-gap: clamp(1.6rem, 2.5vw, 2.8rem);
	--dps-dt-swatch-col: calc((100% - 3 * var(--dps-dt-swatch-gap)) / 4);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--dps-dt-swatch-gap);
	max-width: 90rem;
	margin: 0 auto;
}

.dps-dt-swatch {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	flex: 0 1 var(--dps-dt-swatch-col);
	max-width: var(--dps-dt-swatch-col);
	min-width: min(100%, 20rem);
}

.dps-dt-swatch img {
	width: 100%;
	max-width: 20rem;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0.4rem;
	display: block;
}

.dps-dt-swatch figcaption {
	font-size: 1.5rem;
	letter-spacing: 0.06em;
	color: var(--dps-dt-navy);
	text-align: center;
}

@media (max-width: 900px) {
	.dps-dt-gcards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: none;
		width: 100%;
		gap: 1.4rem;
	}

	.dps-dt-gcard__media {
		aspect-ratio: 4 / 3;
		max-height: 16rem;
	}

	.dps-dt-gcard__body {
		padding: 1rem 1.1rem 1rem;
		gap: 0.35rem;
	}

	.dps-dt-gcard__name {
		font-size: clamp(1.5rem, 4vw, 1.7rem);
		margin-bottom: 0.35rem;
	}

	.dps-dt-gcard__specs > div {
		flex-wrap: wrap;
		font-size: 1.2rem;
		gap: 0.25rem 0.4rem;
	}

	.dps-dt-gcard__specs dt {
		min-width: 0;
		flex: 0 0 100%;
	}

	.dps-dt-gcard__specs dd {
		flex-wrap: wrap;
	}

	a.dps-dt-gcard__btn {
		width: 100%;
		margin: 0;
		padding: 0.85rem 0.6rem;
		font-size: 1.1rem;
	}

	.dps-dt-swatches {
		--dps-dt-swatch-col: calc((100% - 2 * var(--dps-dt-swatch-gap)) / 3);
	}
}

@media (max-width: 560px) {
	.dps-dt-gcards {
		grid-template-columns: 1fr;
		max-width: 42rem;
		margin-inline: auto;
		gap: 1.4rem;
	}

	.dps-dt-gcard__media {
		aspect-ratio: 4 / 3;
		max-height: 18rem;
	}

	.dps-dt-gcard__body {
		padding: 1.2rem 1.2rem 1rem;
	}

	.dps-dt-gcard__specs > div {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		font-size: 1.35rem;
	}

	.dps-dt-gcard__specs dt {
		flex: 0 0 auto;
		min-width: 5.6rem;
	}

	a.dps-dt-gcard__btn {
		width: 100%;
		margin: 0;
		padding: 0.95rem 1rem;
		font-size: 1.15rem;
	}

	.dps-dt-swatches {
		--dps-dt-swatch-gap: 0.85rem;
		--dps-dt-swatch-col: calc((100% - 2 * var(--dps-dt-swatch-gap)) / 3);
	}

	.dps-dt-swatch {
		min-width: 0;
		gap: 0.6rem;
	}

	.dps-dt-swatch img {
		max-width: none;
	}

	.dps-dt-swatch figcaption {
		font-size: 1.1rem;
		line-height: 1.2;
	}
}

/* ── Split intro (multipoint lock, accessory intros) ────────────── */
.dps-dt-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2.4rem, 4vw, 5rem);
	align-items: center;
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.dps-dt-split--rev {
	direction: rtl;
}

.dps-dt-split--rev > * {
	direction: ltr;
}

.dps-dt-split--tall-media {
	align-items: stretch;
}

.dps-dt-split--tall-media .dps-dt-split__media {
	align-self: stretch;
	width: 100%;
}

.dps-dt-split--tall-media .dps-dt-split__media img {
	max-width: none;
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}

.dps-dt-split__media {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 0;
}

.dps-dt-split__media img {
	width: auto;
	max-width: min(100%, 56rem);
	max-height: clamp(28rem, 38vw, 44rem);
	height: auto;
	object-fit: contain;
	object-position: center;
}

/* Certification / badge logos — large, even, tighter gap (Industry Standards) */
.dps-dt-split--logo {
	align-items: center;
	min-height: 0;
	max-width: 92rem;
	width: 100%;
	margin-inline: auto;
	grid-template-columns: minmax(16rem, 28rem) minmax(0, 1fr);
	gap: clamp(2rem, 3vw, 3.6rem);
	justify-content: center;
}

.dps-dt-split--logo .dps-dt-split__media {
	align-self: center;
	width: 100%;
	max-width: 28rem;
	justify-content: flex-start;
}

.dps-dt-split--logo.dps-dt-split--rev .dps-dt-split__media {
	justify-content: flex-end;
}

.dps-dt-split--logo .dps-dt-split__media img {
	width: auto;
	max-width: min(100%, 28rem);
	max-height: clamp(22rem, 30vw, 28rem);
	height: auto;
	object-fit: contain;
}

@media (max-width: 900px) {
	.dps-dt-split--logo {
		grid-template-columns: 1fr;
		max-width: none;
		gap: clamp(1.6rem, 3vw, 2.4rem);
	}

	.dps-dt-split--logo .dps-dt-split__media,
	.dps-dt-split--logo.dps-dt-split--rev .dps-dt-split__media {
		justify-content: center;
		max-width: none;
	}

	.dps-dt-split--logo .dps-dt-split__media img {
		max-width: min(100%, 22rem);
		max-height: 18rem;
	}
}

/* Tall narrow product shots (Robusto screen, etc.) */
.dps-dt-split--portrait .dps-dt-split__media img {
	max-width: min(100%, 14rem);
	max-height: clamp(22rem, 28vw, 30rem);
}

.dps-dt-split--portrait {
	align-items: center;
}

.dps-dt-split--portrait .dps-dt-split__media {
	align-self: center;
}

.dps-dt-split__body {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
}

/* Non-Low-E splits that nest a featgrid inside the body column */
.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) {
	max-width: 100%;
	width: 100%;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(3rem, 5vw, 7rem);
	align-items: start;
}

.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) .dps-dt-split__media {
	justify-content: flex-start;
	align-items: flex-start;
}

.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) .dps-dt-split__media img {
	max-width: min(100%, 52rem);
	max-height: none;
}

.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) .dps-dt-featgrid {
	width: 100%;
}

.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) .dps-dt-featcard,
.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) .dps-dt-featcard h4,
.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) .dps-dt-featcard p {
	min-width: 0;
	text-align: left;
}

/* Premium Glass / Preserve: media+copy row, then full-width benefit cards */
.dps-dt-split--cards-below,
.dps-dt-split--preserve {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: clamp(1.6rem, 2.4vw, 2.4rem);
	max-width: 96rem;
	width: 100%;
	margin-inline: auto;
	grid-template-columns: none;
}

.dps-dt-split--cards-below .dps-dt-split__main,
.dps-dt-split--preserve .dps-dt-split__main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: clamp(2.4rem, 4vw, 4.8rem);
	align-items: center;
	width: 100%;
}

.dps-dt-split--cards-below.dps-dt-split--rev .dps-dt-split__main,
.dps-dt-split--preserve.dps-dt-split--rev .dps-dt-split__main {
	direction: rtl;
}

.dps-dt-split--cards-below.dps-dt-split--rev .dps-dt-split__main > *,
.dps-dt-split--preserve.dps-dt-split--rev .dps-dt-split__main > * {
	direction: ltr;
}

.dps-dt-split--cards-below .dps-dt-split__media,
.dps-dt-split--preserve .dps-dt-split__media {
	justify-content: flex-start;
	align-items: center;
}

.dps-dt-split--cards-below .dps-dt-split__media img,
.dps-dt-split--preserve .dps-dt-split__media img {
	width: auto;
	max-width: min(100%, 32rem);
	max-height: clamp(18rem, 26vw, 26rem);
	height: auto;
	object-fit: contain;
}

.dps-dt-split--cards-below .dps-dt-split__title,
.dps-dt-split--preserve .dps-dt-split__title {
	font-family: var(--dps-font-display, var(--dps-font-title));
	font-size: clamp(2rem, 2.2vw, 2.6rem);
	line-height: 1.2;
	margin: 0;
}

.dps-dt-split--cards-below .dps-dt-split__text,
.dps-dt-split--preserve .dps-dt-split__text {
	max-width: 42rem;
}

.dps-dt-split--cards-below .dps-dt-featgrid,
.dps-dt-split--preserve .dps-dt-featgrid {
	width: 100%;
	margin-top: 0;
}

.dps-dt-split--cards-below .dps-dt-featgrid--3up,
.dps-dt-split--preserve .dps-dt-featgrid--3up {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.2rem, 1.8vw, 1.8rem);
}

.dps-dt-split--cards-below .dps-dt-featgrid--2up,
.dps-dt-split--preserve .dps-dt-featgrid--2up {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dps-dt-split--cards-below .dps-dt-featcard,
.dps-dt-split--preserve .dps-dt-featcard,
.dps-dt--win .dps-dt-split--cards-below .dps-dt-featcard,
.dps-dt--win .dps-dt-split--preserve .dps-dt-featcard {
	background: #f9f7f5;
	border: none;
	box-shadow: none;
	border-radius: 0.8rem;
	padding: clamp(1.6rem, 2vw, 2.2rem) clamp(1.4rem, 1.8vw, 2rem);
	text-align: center;
}

.dps-dt-split--cards-below .dps-dt-featcard h4,
.dps-dt-split--preserve .dps-dt-featcard h4,
.dps-dt--win .dps-dt-split--cards-below .dps-dt-featcard h4,
.dps-dt--win .dps-dt-split--preserve .dps-dt-featcard h4 {
	font-family: var(--dps-font-display, var(--dps-font-title));
	font-style: normal;
	font-weight: 600;
	font-size: clamp(1.5rem, 1.6vw, 1.8rem);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--dps-text-dark, #323c48);
	margin: 0 0 0.6rem;
	text-align: center;
}

.dps-dt-split--cards-below .dps-dt-featcard p,
.dps-dt-split--preserve .dps-dt-featcard p,
.dps-dt--win .dps-dt-split--cards-below .dps-dt-featcard p,
.dps-dt--win .dps-dt-split--preserve .dps-dt-featcard p {
	font-size: clamp(1.3rem, 1.35vw, 1.45rem);
	line-height: 1.45;
	color: #3f4853;
	text-align: center;
	margin: 0;
}

@media (max-width: 900px) {
	.dps-dt-split--cards-below .dps-dt-split__main,
	.dps-dt-split--preserve .dps-dt-split__main {
		grid-template-columns: 1fr;
		gap: clamp(1.6rem, 3vw, 2.4rem);
	}

	.dps-dt-split--cards-below .dps-dt-split__media img,
	.dps-dt-split--preserve .dps-dt-split__media img {
		max-width: min(100%, 28rem);
		max-height: 18rem;
		margin-inline: auto;
	}

	.dps-dt-split--cards-below .dps-dt-split__text,
	.dps-dt-split--preserve .dps-dt-split__text {
		max-width: none;
	}

	.dps-dt-split--cards-below .dps-dt-featgrid--3up,
	.dps-dt-split--preserve .dps-dt-featgrid--3up {
		grid-template-columns: 1fr;
	}
}

/* Low-E (Figma 849:815662): centered head + diagram beside 2×2 cream cards */
.dps-dt-split--low-e {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(4rem, 5vw, 6.9rem);
	max-width: 100%;
	width: 100%;
	grid-template-columns: none;
}

.dps-dt-low-e__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.5rem;
	max-width: 113rem;
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.dps-dt-split--low-e .dps-dt-low-e__head .dps-dt-split__title {
	margin: 0;
	max-width: 113rem;
	font-family: var(--dps-font-display, var(--dps-font-title));
	font-weight: 600;
	font-size: clamp(2.8rem, 3.2vw, 3.55rem);
	line-height: 1.15;
	color: #323c48;
	text-align: center;
}

.dps-dt-split--low-e .dps-dt-low-e__head .dps-dt-split__text {
	max-width: 113rem;
	width: 100%;
}

.dps-dt-split--low-e .dps-dt-low-e__head .dps-dt-split__text p {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: clamp(1.7rem, 1.8vw, 2.02rem);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.05rem;
	color: #323c48;
	text-align: center;
}

.dps-dt-low-e__row {
	display: grid;
	grid-template-columns: minmax(22rem, 32rem) minmax(0, 1fr);
	gap: clamp(3rem, 6vw, 9.4rem);
	align-items: center;
	justify-content: center;
	max-width: 139rem;
	width: 100%;
	margin: 0 auto;
}

.dps-dt-split--low-e .dps-dt-low-e__row .dps-dt-split__media {
	display: flex;
	justify-content: center;
	align-items: center;
}

.dps-dt-split--low-e .dps-dt-low-e__row .dps-dt-split__media img {
	width: 100%;
	max-width: 32rem;
	height: auto;
	max-height: none;
	object-fit: contain;
}

.dps-dt-split--low-e .dps-dt-featgrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
	width: 100%;
	margin: 0;
	min-width: 0;
}

.dps-dt-split--low-e .dps-dt-featcard,
.dps-dt--win .dps-dt-split--low-e .dps-dt-featcard {
	background: #f9f7f5;
	border: none;
	box-shadow: none;
	border-radius: 1rem;
	padding: 3rem;
	min-width: 0;
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	box-sizing: border-box;
	height: 100%;
}

.dps-dt-split--low-e .dps-dt-featcard h4,
.dps-dt--win .dps-dt-split--low-e .dps-dt-featcard h4 {
	margin: 0;
	font-family: var(--dps-font-display, var(--dps-font-title));
	font-weight: 600;
	font-size: clamp(2rem, 2.2vw, 2.5rem);
	line-height: 1.2;
	color: #323c48;
	text-align: left;
}

.dps-dt-split--low-e .dps-dt-featcard p,
.dps-dt--win .dps-dt-split--low-e .dps-dt-featcard p {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: clamp(1.6rem, 1.7vw, 2.02rem);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.05rem;
	color: #323c48;
	text-align: left;
}

.dps-dt-split--low-e > .dps-tab-grid-logo {
	margin: 0 auto;
}

@media (max-width: 900px) {
	.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) {
		grid-template-columns: 1fr;
		gap: clamp(2rem, 4vw, 2.8rem);
	}

	.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) .dps-dt-split__media,
	.dps-dt-split--flip .dps-dt-split__media {
		order: -1;
		width: 100%;
		justify-content: center;
		align-items: center;
	}

	.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) .dps-dt-split__body {
		order: 0;
		width: 100%;
	}

	.dps-dt-split:has(.dps-dt-featgrid):not(.dps-dt-split--low-e):not(.dps-dt-split--cards-below):not(.dps-dt-split--preserve) .dps-dt-split__media img {
		max-width: min(100%, 32rem);
		margin-inline: auto;
	}

	.dps-dt-low-e__row {
		grid-template-columns: 1fr;
		gap: clamp(2rem, 4vw, 2.8rem);
	}

	.dps-dt-split--low-e .dps-dt-low-e__row .dps-dt-split__media {
		order: -1;
	}

	.dps-dt-split--low-e .dps-dt-featgrid {
		grid-template-columns: 1fr;
	}
}

.dps-dt-split__logo {
	width: auto;
	height: 4.4rem;
	max-width: 18rem;
	object-fit: contain;
	align-self: flex-start;
}

.dps-dt-split__title {
	margin: 0;
	font-family: var(--dps-font-display);
	font-style: normal;
	font-weight: 600;
	font-size: clamp(2.6rem, 3.4vw, 3.6rem);
	color: var(--dps-dt-navy);
}

.dps-dt-split__text p {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 1.6vw, 1.7rem);
	line-height: 1.6;
	color: #3f4853;
}

.dps-dt-adv {
	background: #f9f7f5;
	border-radius: 1rem;
	padding: clamp(1.8rem, 2.4vw, 2.6rem);
}

.dps-dt__band--alt .dps-dt-adv {
	background: #fff;
}

.dps-dt-adv__title {
	margin: 0 0 1rem;
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: 1.9rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--dps-dt-navy);
}

.dps-dt-adv ul {
	margin: 0;
	padding-left: 2.4rem;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	list-style: disc;
	list-style-position: outside;
}

.dps-dt-adv li {
	font-size: 1.5rem;
	line-height: 1.5;
	color: #3f4853;
	list-style: disc;
	list-style-position: outside;
}

/* ── Handle catalogue grid ──────────────────────────────────────── */
.dps-dt-handles {
	--dps-dt-handle-gap: clamp(1.6rem, 2.4vw, 2.8rem);
	--dps-dt-handle-col: calc((100% - 3 * var(--dps-dt-handle-gap)) / 4);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: var(--dps-dt-handle-gap);
	max-width: 108rem;
	margin-inline: auto;
}

.dps-dt-handles > .dps-dt-handle {
	flex: 0 1 var(--dps-dt-handle-col);
	max-width: var(--dps-dt-handle-col);
	min-width: min(100%, 20rem);
	align-self: stretch;
}

.dps-dt-handle-row {
	flex: 0 0 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.dps-dt-handle-row__cards {
	--dps-dt-handle-gap: clamp(1.6rem, 2.4vw, 2.8rem);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--dps-dt-handle-gap);
}

.dps-dt-handle-row__cards .dps-dt-handle {
	flex: 0 1 var(--dps-dt-handle-col);
	max-width: var(--dps-dt-handle-col);
	min-width: min(100%, 20rem);
}

.dps-dt-handle {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.dps-dt-handle__media {
	background: #fff;
	border: 1px solid var(--dps-dt-line);
	border-radius: 1rem;
	height: clamp(24rem, 22vw, 30rem);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.6rem;
}

.dps-dt-handle__media img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.dps-dt-handle__name {
	margin: 0;
	text-align: center;
	font-family: var(--dps-font-body);
	font-weight: 500;
	font-size: 1.6rem;
	color: var(--dps-dt-navy);
}

.dps-dt-handle--caption {
	gap: 1.4rem;
}

.dps-dt-handle__caption {
	background: #e7e3e2;
	border-radius: 1rem;
	padding: clamp(1.4rem, 2vw, 2.2rem) clamp(1.2rem, 1.8vw, 1.8rem);
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-height: 7.2rem;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
}

.dps-dt-handle--caption .dps-dt-handle__name {
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: clamp(1.4rem, 1.4vw, 1.6rem);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dps-dt-handle__desc {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.4;
	color: #3f4853;
	text-align: center;
}

.dps-dt-colors {
	background: #e7e3e2;
	border-radius: 0.8rem;
	padding: 1.4rem 1.6rem;
	text-align: center;
	margin-top: auto;
	width: 100%;
	box-sizing: border-box;
}

/* Equal-height color plates within a catalogue row */
.dps-dt-handle > .dps-dt-colors {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 7.2rem;
}

/* ── Horizontal hardware series layouts (patio / aluminum / wood) ── */
/* Reuses .dps-dt-handle + .dps-dt-colors from the Handle Catalogue grid. */
.dps-dt-hw-series {
	display: flex;
	flex-direction: column;
	gap: clamp(2.4rem, 4vw, 4.7rem);
	max-width: 108rem;
	margin-inline: auto;
	width: 100%;
}

.dps-dt-hw-block {
	width: 100%;
}

.dps-dt-hw-block--split {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: clamp(2rem, 4vw, 4.7rem);
	padding: clamp(1rem, 2vw, 3rem);
}

.dps-dt-hw-block--split .dps-dt-hw-block__swatches {
	flex: 1 1 28rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: transparent;
}

.dps-dt-hw-block--split .dps-dt-handle-row__cards {
	width: 100%;
	justify-content: center;
}

.dps-dt-hw-block--split .dps-dt-colors {
	flex: 1 1 32rem;
	align-self: center;
	min-height: clamp(18rem, 28vw, 36rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-top: 0;
	/* Figma Handle Options info card — left-aligned body (1443:152691) */
	text-align: left;
	padding: clamp(2.4rem, 3vw, 3rem);
	border-radius: 1rem;
	gap: 0.8rem;
}

.dps-dt-hw-block--split .dps-dt-colors__label {
	font-family: var(--dps-font-sans, "Montserrat", sans-serif);
	font-weight: 500;
	font-size: 2.5rem;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #323c48;
	margin: 0;
	text-align: left;
}

.dps-dt-hw-block--split .dps-dt-colors__sub {
	font-family: var(--dps-font-body, "Avenir", sans-serif);
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.4;
	text-transform: uppercase;
	color: #323c48;
	margin: 0;
	text-align: left;
}

.dps-dt-hw-block--split .dps-dt-colors p {
	font-size: 1.6rem;
	line-height: 1.5;
	color: #323c48;
	text-align: left;
}

/* Lift & Slide hardware — Figma 1486:458236: Inside | Outside | copy panel */
.dps-dt-hw-block--triple {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: clamp(2rem, 4vw, 4.7rem);
	padding: clamp(1rem, 2vw, 3rem);
	max-width: var(--dps-tab-content-max, 129.6rem);
	margin-inline: auto;
	width: 100%;
}

.dps-dt-hw-block--triple .dps-dt-hw-block__handle-col {
	flex: 1 1 22rem;
	min-width: min(100%, 18rem);
	max-width: 42rem;
	display: flex;
	flex-direction: column;
}

.dps-dt-hw-block--triple .dps-dt-handle {
	width: 100%;
}

.dps-dt--hw-lift-slide .dps-dt-hw-block--triple .dps-dt-handle__media {
	background: transparent;
	border: none;
	padding: 0;
	overflow: hidden;
	border-radius: 1rem;
	height: clamp(26rem, 30vw, 35.4rem);
	aspect-ratio: auto;
}

.dps-dt--hw-lift-slide .dps-dt-hw-block--triple .dps-dt-handle__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	display: block;
}

.dps-dt-hw-block--triple .dps-dt-colors {
	flex: 0 1 34.8rem;
	min-width: min(100%, 26rem);
	align-self: center;
	min-height: clamp(20rem, 28vw, 36.9rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-top: 0;
	padding: clamp(2rem, 3vw, 3rem);
	border-radius: 1rem;
}

.dps-dt--hw-lift-slide .dps-dt-hw-block--triple .dps-dt-colors__label {
	font-size: clamp(1.8rem, 2vw, 2.5rem);
	text-transform: none;
	letter-spacing: 0;
	margin-bottom: 0.8rem;
}

.dps-dt--hw-lift-slide .dps-dt-hw-block--triple .dps-dt-colors p {
	font-size: clamp(1.5rem, 1.6vw, 2rem);
	line-height: 1.45;
}

@media (max-width: 900px) {
	.dps-dt-hw-block--triple {
		flex-direction: column;
		align-items: center;
	}

	.dps-dt-hw-block--triple .dps-dt-hw-block__handle-col,
	.dps-dt-hw-block--triple .dps-dt-colors {
		flex: 1 1 auto;
		max-width: 42rem;
		width: 100%;
	}
}

.dps-dt-hw-block--pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 6rem);
	padding: clamp(1rem, 2vw, 3rem);
}

.dps-dt-hw-block--pair .dps-dt-hw-block__col {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.dps-dt-hw-block--pair .dps-dt-handle-row {
	width: 100%;
}

.dps-dt-hw-block--pair .dps-dt-handle-row__cards {
	width: 100%;
}

.dps-dt-hw-block--pair .dps-dt-handle-row__cards--3 .dps-dt-handle {
	flex: 1 1 0;
	max-width: none;
	min-width: min(100%, 14rem);
}

.dps-dt-hw-block--pair .dps-dt-handle__media {
	height: clamp(24rem, 22vw, 30rem);
	min-height: clamp(22rem, 28vw, 34rem);
}

.dps-tab-blk--hardware-series .dps-dt-hw-series {
	gap: clamp(2.4rem, 4vw, 4.7rem);
}

.dps-tab-blk--hardware-series .dps-dt-hw-block--pair {
	padding: 0;
}

.dps-dt--hw-stackable .dps-dt-hw-block--pair {
	max-width: 132rem;
	margin-inline: auto;
}

.dps-dt-hw-block--row,
.dps-dt-hw-block--column {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: clamp(1rem, 2vw, 3rem);
}

.dps-dt-hw-block--row .dps-dt-handle-row,
.dps-dt-hw-block--column .dps-dt-handle-row {
	width: 100%;
	max-width: min(100%, 90rem);
}

.dps-dt-hw-block--split-single .dps-dt-hw-block__swatches {
	flex: 0 0 auto;
	width: min(100%, 31.3rem);
	min-height: 36rem;
	align-self: stretch;
}

.dps-dt-hw-block--split-single .dps-dt-handle-row__cards {
	width: 100%;
}

.dps-dt-hw-block--split-single .dps-dt-handle {
	flex: 0 0 100%;
	max-width: 31.3rem;
}

.dps-dt-hw-block--split-single .dps-dt-handle__media {
	height: clamp(24rem, 22vw, 30rem);
}

.dps-dt-hw-block--split-single .dps-dt-handle__media img {
	width: 100%;
	height: clamp(22rem, 28vw, 30.4rem);
	max-height: none;
	object-fit: contain;
}

/* Pivot Handle Options — Figma 1461:149416 (single handle + DELCO SERIES card) */
.dps-dt--hw-pivot .dps-dt-hw-block--split {
	gap: 4.7rem;
	padding: 3rem;
	max-width: 140rem;
	margin-inline: auto;
	align-items: center;
}

.dps-dt--hw-pivot .dps-dt-hw-block--split-single .dps-dt-hw-block__swatches {
	background: #fff;
	border-radius: 1rem;
	padding: 3rem;
	width: min(100%, 31.3rem);
	min-height: 36rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dps-dt--hw-pivot .dps-dt-hw-block--split-single .dps-dt-handle__media {
	background: transparent;
	border: 0;
	padding: 0;
	height: auto;
	min-height: 0;
}

.dps-dt--hw-pivot .dps-dt-hw-block--split-single .dps-dt-handle__media img {
	height: auto;
	max-height: 30.4rem;
	width: 100%;
	object-fit: contain;
}

.dps-dt--hw-pivot .dps-dt-handle__name {
	font-family: var(--dps-font-body, "Avenir", sans-serif);
	font-weight: 500;
	font-size: 2rem;
	color: #323c48;
}

.dps-dt--hw-pivot .dps-dt-hw-block--split .dps-dt-colors {
	flex: 0 1 59.5rem;
	min-width: min(100%, 32rem);
	min-height: 34.6rem;
	padding: 3rem;
	border-radius: 1rem;
	background: #e7e3e2;
	text-align: left;
	justify-content: center;
	gap: 1rem;
}

.dps-dt--hw-pivot .dps-dt-colors__label {
	font-family: var(--dps-font-sans, "Montserrat", sans-serif);
	font-weight: 500;
	font-size: 2.5rem;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #323c48;
	margin: 0;
}

.dps-dt--hw-pivot .dps-dt-colors__sub {
	font-family: var(--dps-font-body, "Avenir", sans-serif);
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.4;
	text-transform: uppercase;
	color: #323c48;
	margin: 0;
}

.dps-dt--hw-pivot .dps-dt-colors p {
	font-size: 1.6rem;
	line-height: 1.5;
	color: #323c48;
	text-align: left;
}

/* Aluminum Entry Handle Options — Figma 1443:152691 (BERLIN SERIES card left-aligned) */
.dps-dt--hw-aluminum-entry .dps-dt-hw-block--split .dps-dt-colors {
	text-align: left;
	justify-content: center;
	padding: 3rem;
	border-radius: 1rem;
	gap: 1rem;
}

.dps-dt--hw-aluminum-entry .dps-dt-colors__label {
	font-family: var(--dps-font-sans, "Montserrat", sans-serif);
	font-weight: 500;
	font-size: 2.5rem;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #323c48;
	margin: 0 0 0.4rem;
	text-align: left;
}

.dps-dt--hw-aluminum-entry .dps-dt-colors__sub {
	font-family: var(--dps-font-body, "Avenir", sans-serif);
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.4;
	text-transform: uppercase;
	color: #323c48;
	margin: 0 0 0.6rem;
	text-align: left;
}

.dps-dt--hw-aluminum-entry .dps-dt-colors p {
	font-size: 1.6rem;
	line-height: 1.5;
	color: #323c48;
	text-align: left;
}

/* Features ADVANTAGES plates follow Figma band contrast */
.dps-tab-band--cream .dps-dt-adv {
	background: #fff;
}

.dps-tab-band--white .dps-dt-adv {
	background: #f9f7f5;
}

.dps-dt--win .dps-dt-adv__title {
	font-family: var(--dps-font-sans, "Montserrat", sans-serif);
	font-weight: 500;
	font-size: 2.5rem;
	letter-spacing: 0;
}

.dps-dt-handle-row__cards--1 {
	justify-content: center;
}

.dps-dt-handle-row__cards--1 .dps-dt-handle {
	flex: 1 1 100%;
	max-width: 31.3rem;
	width: 100%;
}

.dps-dt-handle-row__cards--2 .dps-dt-handle {
	flex: 0 1 calc((100% - var(--dps-dt-handle-gap)) / 2);
	max-width: 22rem;
}

.dps-dt-handle-row__cards--3 .dps-dt-handle {
	flex: 0 1 calc((100% - 2 * var(--dps-dt-handle-gap)) / 3);
	max-width: 20rem;
	min-width: min(100%, 14rem);
}

/* Ultra Coat factory finish palette — match wood species swatch styling */
.dps-dt-ultra-coat {
	max-width: var(--dps-tab-content-max, 129.6rem);
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}

.dps-dt-ultra-coat__grid {
	display: grid;
	grid-template-columns: repeat(var(--dps-ultra-cols, 5), minmax(0, 1fr));
	gap: clamp(1.6rem, 2.5vw, 3.5rem) clamp(1.6rem, 2.5vw, 3.5rem);
	max-width: var(--dps-tab-content-max, 129.6rem);
	margin-inline: auto;
}

.dps-dt-ultra-coat-swatch {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
	max-width: 22rem;
	margin-inline: auto;
	width: 100%;
}

.dps-dt-ultra-coat-swatch__chip {
	width: 100%;
	aspect-ratio: 500 / 169;
	border-radius: 0.8rem;
	overflow: hidden;
	display: block;
	box-sizing: border-box;
}

.dps-dt-ultra-coat-swatch__label {
	margin: 0;
	font-family: var(--dps-font-ui);
	font-size: var(--delco-type-base);
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	color: var(--dps-text-dark);
}

/* Interior finishes — grouped Ultra Coat / Ultra Stain panels (wood-clad windows) */
.dps-dt__band--interior-finishes {
	padding-block: clamp(3rem, 5vw, 5rem);
}

.dps-dt__band--interior-finishes > .dps-dt__head:first-child .dps-dt__title {
	font-family: var(--dps-font-display);
	font-style: normal;
	font-weight: 600;
	font-size: var(--delco-type-display-md);
}

.dps-dt__band--interior-finishes > .dps-dt-prose {
	max-width: 72rem;
	margin: 0 auto clamp(2.4rem, 4vw, 3.6rem);
	text-align: center;
}

.dps-dt-finish-panel {
	background: var(--dps-surface);
	border: var(--delco-inner-card-border);
	border-radius: 1rem;
	box-shadow: var(--delco-inner-card-shadow);
	padding: clamp(2rem, 2.5vw, 3rem);
	max-width: var(--dps-tab-content-max, 129.6rem);
	margin: 0 auto clamp(2rem, 3vw, 2.8rem);
	box-sizing: border-box;
}

.dps-dt-finish-panel:last-child {
	margin-bottom: 0;
}

.dps-dt-finish-panel > .dps-dt__head {
	margin-bottom: clamp(1.5rem, 2vw, 2rem);
}

.dps-dt-finish-panel > .dps-dt__head .dps-dt__title {
	font-family: var(--dps-font-display);
	font-style: normal;
	font-weight: 600;
	font-size: var(--delco-type-display-md);
	line-height: var(--delco-leading-heading, 1.15);
	color: var(--dps-text-dark);
}

.dps-dt-finish-panel .dps-dt-ultra-coat,
.dps-dt-finish-panel .dps-dt-frames {
	margin-top: 0;
}

.dps-dt-finish-panel .dps-tab-grid-logo,
.dps-dt-finish-panel .dps-dt-frames + .dps-tab-grid-logo {
	margin-top: clamp(2rem, 3vw, 2.8rem);
}

@media (max-width: 900px) {
	.dps-dt-ultra-coat__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.dps-dt-ultra-coat__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Door tab splits — Figma left-aligned copy + advantages under feature blocks */
.dps-dt--win .dps-dt-split__body {
	text-align: left;
	align-items: flex-start;
}

.dps-dt--win .dps-dt-split__title {
	text-align: left;
	width: 100%;
}

.dps-dt--win .dps-dt-split .dps-dt-adv {
	width: 100%;
	text-align: left;
	margin-top: 0.4rem;
}

.dps-dt--win .dps-dt-featcard {
	background: #fff;
	text-align: left;
}

.dps-dt--win .dps-dt-featcard h4,
.dps-dt--win .dps-dt-featcard p {
	text-align: left;
}

@media (max-width: 900px) {
	.dps-dt-hw-block--pair {
		grid-template-columns: 1fr;
	}

	.dps-dt-hw-block--split {
		flex-direction: column;
	}

}

.dps-dt-colors__label {
	display: block;
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: 1.4rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--dps-dt-navy);
	margin-bottom: 0.4rem;
}

.dps-dt-colors p {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.45;
	color: #3f4853;
}

.dps-dt-colors__sub {
	display: block;
	margin: 0 0 0.4rem;
	font-size: 1.4rem;
	line-height: 1.45;
	color: #3f4853;
}

.dps-dt-colors--merged {
	margin-top: 0;
}

/* Bi-fold hardware — cream series panel (Figma tab cream), white handle cards */
.dps-dt--hw-bifold .dps-dt-colors,
.dps-dt--hw-bifold .dps-dt-hw-block--split .dps-dt-colors {
	background: var(--dps-tabs-active, #f1ece3);
	text-align: center;
}

.dps-dt--hw-bifold .dps-dt-hw-block--split .dps-dt-colors__label,
.dps-dt--hw-bifold .dps-dt-hw-block--split .dps-dt-colors__sub,
.dps-dt--hw-bifold .dps-dt-hw-block--split .dps-dt-colors p {
	text-align: center;
}

@media (max-width: 900px) {
	.dps-dt-split {
		grid-template-columns: 1fr;
	}
	.dps-dt-split__media img {
		max-width: 32rem;
	}
	.dps-dt__band--lock {
		--dps-lock-media-max-h: min(48svh, 38rem);
	}
	.dps-dt__band--lock .dps-dt-split {
		grid-template-columns: 1fr;
	}
	.dps-dt__band--lock .dps-dt-adv ul {
		grid-template-columns: 1fr;
	}
	.dps-dt-split--tall-media .dps-dt-split__media img {
		max-width: 100%;
		height: auto;
		min-height: clamp(22rem, 55vw, 32rem);
		aspect-ratio: 16 / 10;
	}
	.dps-dt-handles {
		--dps-dt-handle-col: calc((100% - 2 * var(--dps-dt-handle-gap)) / 3);
	}
}

@media (max-width: 560px) {
	.dps-dt-handles {
		--dps-dt-handle-col: calc((100% - var(--dps-dt-handle-gap)) / 2);
	}
}

/* ── Brochure cards ─────────────────────────────────────────────── */
.dps-dt-broch {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(2rem, 3vw, 3.2rem);
	max-width: 102rem;
	margin: 0 auto;
}

.dps-dt-broch:has(.dps-dt-bcard:only-child) {
	grid-template-columns: minmax(0, 32rem);
	justify-content: center;
}

.dps-dt-bcard {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.dps-dt-bcard__media {
	position: relative;
	border-radius: 0.6rem;
	overflow: hidden;
	box-shadow: 0 1.2rem 3rem rgba(50, 60, 72, 0.14);
	background: #fff;
	margin-bottom: 1.2rem;
	height: clamp(32rem, 30vw, 40rem);
}

.dps-dt-bcard__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(50, 60, 72, 0.5);
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}

.dps-dt-bcard--has-pdf:hover .dps-dt-bcard__media::after,
.dps-dt-bcard--has-pdf:focus-within .dps-dt-bcard__media::after {
	opacity: 1;
}

.dps-dt-bcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.25s ease;
}

.dps-dt-bcard--has-pdf:hover .dps-dt-bcard__media img {
	transform: scale(1.03);
}

.dps-dt-bcard__download {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	min-height: 5rem;
	padding: 1.2rem 2.4rem;
	border-radius: var(--delco-radius-button, 1rem);
	background: #756963;
	color: #fff;
	font-family: var(--dps-font-title);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.2rem;
	text-transform: uppercase;
	text-decoration: none;
	box-sizing: border-box;
	transition: opacity 0.25s ease, background 0.2s ease;
}

.dps-dt-bcard__download svg {
	width: 2rem;
	height: 2rem;
	flex-shrink: 0;
}

.dps-dt-bcard__download:hover {
	background: #5f534e;
	color: #fff;
	text-decoration: none;
}

.dps-dt-bcard__download--overlay {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	transform: translate(-50%, -50%);
	opacity: 0;
	pointer-events: none;
	white-space: nowrap;
}

.dps-dt-bcard--has-pdf:hover .dps-dt-bcard__download--overlay,
.dps-dt-bcard--has-pdf:focus-within .dps-dt-bcard__download--overlay {
	opacity: 1;
	pointer-events: auto;
}

.dps-dt-bcard__download--mobile {
	display: none;
	width: 100%;
	margin-top: 1.2rem;
}

.dps-dt-bcard__brand {
	margin: 0;
	font-size: 1.1rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8a8079;
}

.dps-dt-bcard__title {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: clamp(1.6rem, 1.9vw, 1.9rem);
	line-height: 1.3;
	color: var(--dps-dt-navy);
}

@media (max-width: 700px) {
	.dps-dt-broch {
		grid-template-columns: 1fr;
		max-width: 38rem;
	}

	.dps-dt-bcard__media::after {
		display: none;
	}

	.dps-dt-bcard__download--overlay {
		display: none;
	}

	.dps-dt-bcard__download--mobile {
		display: inline-flex;
	}

	.dps-dt-bcard--has-pdf:hover .dps-dt-bcard__media img {
		transform: none;
	}
}

@media (hover: none) {
	.dps-dt-bcard__media::after {
		display: none;
	}

	.dps-dt-bcard__download--overlay {
		display: none;
	}

	.dps-dt-bcard__download--mobile {
		display: inline-flex;
	}

	.dps-dt-bcard--has-pdf:hover .dps-dt-bcard__media img {
		transform: none;
	}
}

/* ── Accessories ────────────────────────────────────────────────── */
.dps-dt__lead {
	max-width: 86rem;
	margin: 0 auto clamp(2.4rem, 3.5vw, 4rem);
	text-align: center;
	font-size: clamp(1.5rem, 1.7vw, 1.8rem);
	line-height: 1.6;
	color: #3f4853;
}

.dps-dt-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
	justify-content: center;
	margin-top: 2.4rem;
}

.dps-dt-chip {
	border: 1px solid var(--dps-dt-navy);
	border-radius: 999px;
	padding: 0.9rem 2.2rem;
	font-family: var(--dps-font-title);
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	color: var(--dps-dt-navy);
}

.dps-dt-finishes {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(2rem, 4vw, 5rem);
	justify-content: flex-start;
}

.dps-dt-finishes-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: clamp(2rem, 4vw, 5rem);
	align-items: center;
	width: 100%;
}

.dps-dt-finishes-split__copy {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	min-width: 0;
}

.dps-dt-finishes-split__copy .dps-dt-split__title {
	margin: 0;
	font-family: var(--dps-font-display);
	font-style: normal;
	font-weight: 600;
	font-size: clamp(2.4rem, 3.4vw, 3.6rem);
	line-height: 1.15;
}

.dps-dt-finishes-split__sub {
	margin: 0;
	font-size: clamp(1.6rem, 1.7vw, 2rem);
	line-height: 1.35;
	color: #323c48;
}

.dps-dt--accessories .dps-dt-finishes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 3vw, 4rem);
	width: 100%;
}

.dps-dt--accessories .dps-dt-finish {
	width: 100%;
}

.dps-dt-finish {
	margin: 0;
	width: min(36rem, 100%);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.dps-dt-finish img {
	display: block;
	width: 100%;
	height: clamp(22rem, 26vw, 30rem);
	object-fit: contain;
	border-radius: 0.8rem;
	background: #fff;
	padding: 1.6rem;
	box-sizing: border-box;
}

.dps-dt-finish figcaption {
	text-align: center;
	font-size: 1.6rem;
	color: var(--dps-dt-navy);
}

.dps-dt-split__eyebrow {
	margin: -0.6rem 0 0;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	color: #8a8079;
}

.dps-dt-notes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 3vw, 3.2rem);
	margin-top: clamp(2.4rem, 4vw, 4rem);
}

.dps-dt-note {
	display: flex;
	gap: 1.6rem;
	align-items: flex-start;
	background: #f9f7f5;
	border: var(--delco-inner-card-border);
	border-radius: 1rem;
	padding: clamp(1.6rem, 2vw, 2.2rem);
	box-shadow: var(--delco-inner-card-shadow);
	box-sizing: border-box;
}

.dps-dt__band--alt .dps-dt-note {
	background: #fff;
}

.dps-dt-note img {
	width: 9rem;
	height: 9rem;
	object-fit: contain;
	flex: none;
}

.dps-dt-note__body h4 {
	margin: 0 0 0.6rem;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: 1.7rem;
	color: var(--dps-dt-navy);
}

.dps-dt-note__body p {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.55;
	color: #3f4853;
}

.dps-dt-frames {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.8rem, 2.6vw, 3rem);
	max-width: 96rem;
	margin-inline: auto;
	margin-top: clamp(0.8rem, 1.5vw, 1.6rem);
}

/* Single card in a grid — center (e.g. one brochure) */
.dps-dt-frames--solo {
	grid-template-columns: minmax(0, 32rem);
	justify-content: center;
}

.dps-dt-frames--solo .dps-dt-frame {
	text-align: center;
	align-items: center;
}

.dps-dt-frame {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.dps-dt-frames:not(.dps-dt-frames--rows) .dps-dt-frame__media {
	border: var(--delco-inner-card-border, none);
	box-shadow: var(--delco-inner-card-shadow, none);
}

.dps-dt-frame__media {
	border-radius: 1.2rem;
	overflow: hidden;
	background: #ece7e0;
	aspect-ratio: 4 / 3;
}

.dps-dt-frame__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dps-dt-frame__name {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: 1.8rem;
	color: var(--dps-dt-navy);
}

.dps-dt-frame__desc {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.55;
	color: #3f4853;
}

.dps-dt-prose {
	max-width: 90rem;
	margin: 0 auto;
}

/* Tab-group intro copy: centered under the section head (all dps-dt--win pages). */
.dps-dt--win .dps-dt-prose {
	text-align: center;
	max-width: 72rem;
}

.dps-dt--win .dps-dt-prose p + p {
	margin-top: 0.8rem;
}

.dps-dt-prose--left {
	text-align: left;
	max-width: 90rem;
}

.dps-dt-prose h4 {
	margin: 1.8rem 0 0.6rem;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: 1.9rem;
	color: var(--dps-dt-navy);
}

.dps-dt-prose h4:first-child {
	margin-top: 0;
}

.dps-dt-prose p {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.6;
	color: #3f4853;
}

.dps-dt-prose--center {
	text-align: center;
	max-width: 72rem;
}

.dps-dt-prose--center p + p {
	margin-top: 0.8rem;
}

/* Centered hero diagram + copy stack (aluminum / pivot Features intro). */
.dps-dt-split--stack-center {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 96rem;
	margin-inline: auto;
	gap: clamp(2rem, 3.5vw, 3.2rem);
}

.dps-dt-split--stack-center .dps-dt-split__media {
	width: 100%;
	display: flex;
	justify-content: center;
}

.dps-dt-split--stack-center .dps-dt-split__media img {
	max-width: min(100%, 58rem);
	width: 100%;
	height: auto;
	object-fit: contain;
}

.dps-dt-split--stack-center .dps-dt-split__body {
	text-align: center;
	align-items: center;
	max-width: 72rem;
	width: 100%;
}

.dps-dt--win .dps-dt-split--stack-center .dps-dt-split__body,
.dps-dt--win .dps-dt-split--stack-center .dps-dt-split__title {
	text-align: center;
}

.dps-dt-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.6rem, 2.4vw, 2.6rem);
	margin-top: clamp(2.4rem, 4vw, 3.6rem);
}

.dps-dt-gtile {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.dps-dt-gtile img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0.8rem;
}

.dps-dt-gtile figcaption {
	text-align: center;
	font-family: var(--dps-font-title);
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dps-dt-navy);
}

@media (max-width: 900px) {
	.dps-dt-notes {
		grid-template-columns: 1fr;
	}
	.dps-dt-frames {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 560px) {
	.dps-dt-frames,
	.dps-dt-gallery {
		grid-template-columns: 1fr;
		max-width: 34rem;
		margin-inline: auto;
	}
	.dps-dt-note {
		flex-direction: column;
	}
}

/* ── Delco Security+ promo banner (steel door hero) ─────────────── */
.dps-security-banner {
	position: relative;
	overflow: hidden;
	border-radius: 0.6rem;
	min-height: 22rem;
	display: flex;
	align-items: center;
	padding: clamp(2rem, 3vw, 3.2rem);
	background-color: #2a2622;
	background-image: var(--dps-sec-bg);
	background-size: cover;
	background-position: center right;
	margin-top: 0.6rem;
}

.dps-security-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.5) 55%, rgba(0, 0, 0, 0) 100%);
}

.dps-security-banner__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
	align-items: flex-start;
	max-width: 60rem;
}

.dps-security-banner__brand {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: 1.7rem;
	letter-spacing: 0.06em;
	color: #f9f7f5;
}

.dps-security-banner__brand span {
	font-weight: 800;
	letter-spacing: 0.02em;
}

.dps-security-banner__title {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: clamp(1.9rem, 2.4vw, 2.6rem);
	line-height: 1.25;
	color: #fff;
}

.dps-security-banner__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(4px);
	background: rgba(255, 255, 255, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 0.3rem;
	padding: 0.9rem 1.8rem;
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: 1.1rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease;
}

.dps-security-banner__btn:hover,
.dps-security-banner__btn:focus,
.dps-security-banner__btn:focus-visible {
	background: rgba(255, 255, 255, 0.95);
	border-color: #fff;
	color: #2a2622;
}

/* ───────────────────── Aluminum storm door tab extras ──────────────────── */

.dps-dt__group-title {
	margin: clamp(2.4rem, 4vw, 3.6rem) auto clamp(1.4rem, 2vw, 2rem);
	max-width: 96rem;
	font-family: var(--dps-font-display);
	font-weight: 600;
	font-style: normal;
	font-size: clamp(2.8rem, 4vw, 4rem);
	line-height: 1.15;
	text-align: center;
	color: var(--dps-dt-navy);
}

.dps-dt__group-title:first-of-type {
	margin-top: clamp(1.6rem, 2.4vw, 2.4rem);
}

/* Storm door art is portrait door slabs / config diagrams — equal height, no card chrome. */
.dps-dt--storm .dps-dt-frames:not(.dps-dt-frames--story) .dps-dt-frame__media {
	aspect-ratio: auto;
	height: clamp(18rem, 22vw, 24rem);
	width: 100%;
	background: transparent;
	border: none;
	box-shadow: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dps-dt--storm .dps-dt-frames:not(.dps-dt-frames--story) .dps-dt-frame__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

/* Frame Options / Porch story rows (Figma 1502:184111 / 1502:184140):
   two adjacent rounded panels — taupe media + cream copy — on a white band. */
.dps-dt--storm .dps-dt-frames--story {
	grid-template-columns: 1fr;
	gap: clamp(2rem, 3vw, 3.2rem);
	max-width: min(129.6rem, 100%);
	margin-inline: auto;
}

.dps-dt--storm .dps-dt-frames--story .dps-dt-frame {
	flex-direction: row;
	align-items: stretch;
	gap: clamp(1.2rem, 1.8vw, 2rem);
	min-height: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

.dps-dt--storm .dps-dt-frames--story .dps-dt-frame__media {
	flex: 0 0 clamp(22rem, 28vw, 43.9rem);
	width: clamp(22rem, 28vw, 43.9rem);
	height: clamp(24rem, 32vw, 46.2rem);
	max-height: none;
	aspect-ratio: auto;
	align-self: stretch;
	min-height: clamp(24rem, 32vw, 46.2rem);
	background: #e3dcd6;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.dps-dt--storm .dps-dt-frames--story .dps-dt-frame__media img {
	width: auto;
	height: auto;
	max-width: calc(100% - 2.4rem);
	max-height: calc(100% - 2.4rem);
	object-fit: contain;
	object-position: center;
}

.dps-dt--storm .dps-dt-frames--story .dps-dt-frame__copy {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
	padding: clamp(2rem, 3vw, 3rem) clamp(2.4rem, 4vw, 5rem);
	background: #f9f7f5;
	border-radius: 1rem;
	text-align: left;
}

.dps-dt--storm .dps-dt-frames--story .dps-dt-frame__name {
	margin: 0;
	font-family: var(--dps-font-display);
	font-style: normal;
	font-weight: 600;
	font-size: clamp(2.2rem, 2.4vw, 3rem);
	line-height: 1.2;
	text-align: left;
	color: var(--dps-dt-navy, #323c48);
}

.dps-dt--storm .dps-dt-frames--story .dps-dt-frame__desc {
	margin: 0;
	font-size: clamp(1.5rem, 1.55vw, 2rem);
	line-height: 1.35;
	text-align: left;
	max-width: 82.8rem;
	color: var(--dps-dt-navy, #323c48);
}

.dps-dt--storm .dps-dt-frames--story .dps-dt-frame__desc + .dps-dt-frame__desc {
	margin-top: 0.45em;
}

/* Classic Style / Modern Style heads — Figma Magneta SemiBold, not italic section */
.dps-dt--storm .dps-dt__head .dps-dt__title {
	font-family: var(--dps-font-display);
	font-style: normal;
	font-weight: 600;
	font-size: clamp(3.2rem, 4vw, 5rem);
	line-height: 1.15;
	text-align: center;
}

/* Configuration — 2×2 white tiles on cream (Figma 1502:184368). */
.dps-dt--storm .dps-dt-frames--2up {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 3vw, 3.6rem);
	max-width: min(110rem, 100%);
	margin-inline: auto;
}

.dps-dt--storm .dps-dt-frames--2up .dps-dt-frame {
	background: #fff;
	border: 1px solid rgba(117, 105, 99, 0.35);
	border-radius: 1rem;
	padding: clamp(1.6rem, 2vw, 2.4rem);
	box-sizing: border-box;
	align-items: center;
	text-align: center;
}

.dps-dt--storm .dps-dt-frames--2up .dps-dt-frame__media {
	background: #fff;
	border: none;
	box-shadow: none;
	aspect-ratio: 4 / 3;
	width: 100%;
	height: auto;
}

.dps-dt--storm .dps-dt-frames--2up .dps-dt-frame__name,
.dps-dt--storm .dps-dt-frames--2up .dps-dt-frame__desc {
	text-align: center;
	width: 100%;
}

@media (max-width: 720px) {
	.dps-dt--storm .dps-dt-frames--story .dps-dt-frame {
		flex-direction: column;
		min-height: 0;
	}

	.dps-dt--storm .dps-dt-frames--story .dps-dt-frame__media {
		flex: 0 0 auto;
		width: 100%;
		height: auto;
		max-height: none;
		min-height: 0;
		aspect-ratio: 16 / 11;
	}

	.dps-dt--storm .dps-dt-frames--story .dps-dt-frame__media img {
		max-width: calc(100% - 2.4rem);
		max-height: calc(100% - 2rem);
	}

	.dps-dt--storm .dps-dt-frames--2up {
		grid-template-columns: 1fr;
	}
}

/* Legacy 4-up Frame Options / Configuration (seeded HTML without --story). */
.dps-dt--storm .dps-dt-frames:not(.dps-dt-frames--2up):not(.dps-dt-frames--story):has(.dps-dt-frame:nth-child(4):last-child) {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: min(124rem, 100%);
	gap: clamp(2rem, 3vw, 3.6rem);
	width: 100%;
}

.dps-dt--storm .dps-dt-frames:not(.dps-dt-frames--2up):not(.dps-dt-frames--story):has(.dps-dt-frame:nth-child(4):last-child) .dps-dt-frame {
	text-align: center;
	align-items: center;
}

.dps-dt--storm .dps-dt-frames:not(.dps-dt-frames--2up):not(.dps-dt-frames--story):has(.dps-dt-frame:nth-child(4):last-child) .dps-dt-frame__name,
.dps-dt--storm .dps-dt-frames:not(.dps-dt-frames--2up):not(.dps-dt-frames--story):has(.dps-dt-frame:nth-child(4):last-child) .dps-dt-frame__desc {
	text-align: center;
	width: 100%;
}

.dps-dt--storm .dps-dt-frames:not(.dps-dt-frames--2up):not(.dps-dt-frames--story):has(.dps-dt-frame:nth-child(4):last-child) .dps-dt-frame__name {
	font-size: clamp(1.5rem, 1.35vw, 1.75rem);
	line-height: 1.3;
	text-wrap: balance;
}

/* Hardware tab — bordered product shots (matches steel/fiberglass catalogue). */
.dps-dt--hardware .dps-dt-frame__media,
.dps-dt--storm-opt .dps-dt-frame__media {
	background: #fff;
	border: 1px solid var(--dps-dt-line);
	border-radius: 1rem;
	padding: 1.4rem;
}

.dps-dt--hardware .dps-dt-frame__media img,
.dps-dt--storm-opt .dps-dt-frame__media img {
	object-fit: contain;
}

/* Caption plates — Optional Hardware (image + gray title box) */
.dps-dt-frames--caption {
	max-width: min(110rem, 100%);
	width: 100%;
	margin-inline: auto;
	align-items: stretch;
}

.dps-dt-frames--caption.dps-dt-frames--3up {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dps-dt-frames--caption .dps-dt-frame {
	gap: 1.4rem;
}

.dps-dt-frames--caption .dps-dt-frame__media,
.dps-dt--storm .dps-dt-frames--caption .dps-dt-frame__media,
.dps-dt--storm-opt .dps-dt-frames--caption .dps-dt-frame__media,
.dps-dt--hardware .dps-dt-frames--caption .dps-dt-frame__media {
	aspect-ratio: auto;
	height: clamp(16rem, 20vw, 22rem);
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dps-dt-frames--caption .dps-dt-frame__media img,
.dps-dt--storm .dps-dt-frames--caption .dps-dt-frame__media img,
.dps-dt--storm-opt .dps-dt-frames--caption .dps-dt-frame__media img,
.dps-dt--hardware .dps-dt-frames--caption .dps-dt-frame__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.dps-dt-frame__caption {
	background: #e7e3e2;
	border-radius: 1rem;
	padding: clamp(1.4rem, 2vw, 2.2rem) clamp(1.2rem, 1.8vw, 1.8rem);
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-height: 7.2rem;
	justify-content: center;
}

.dps-dt-frames--caption .dps-dt-frame__name {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: clamp(1.4rem, 1.4vw, 1.6rem);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dps-dt-navy);
	text-align: center;
}

.dps-dt-frames--caption .dps-dt-frame__desc {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.4;
	color: #3f4853;
	text-align: center;
}

@media (max-width: 768px) {
	.dps-dt-frames--caption.dps-dt-frames--3up {
		grid-template-columns: 1fr;
		max-width: 36rem;
	}
}

.dps-dt-frames--2up {
	grid-template-columns: repeat(2, 1fr);
	max-width: 92rem;
	margin-inline: auto;
}

.dps-st-series {
	display: flex;
	flex-direction: column;
	gap: clamp(1.4rem, 2.4vw, 2.2rem);
	margin-bottom: clamp(2.4rem, 4vw, 4rem);
}

.dps-st-series:last-child {
	margin-bottom: 0;
}

.dps-st-caption {
	background: #e7e3e2;
	border-radius: 1rem;
	padding: clamp(1.6rem, 2.4vw, 2.4rem);
	text-align: center;
}

.dps-st-caption__title {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: clamp(1.8rem, 2.4vw, 2.2rem);
	color: var(--dps-dt-navy);
}

.dps-st-caption__sub {
	margin: 0.6rem 0 0;
	font-size: 1.5rem;
	color: #3f4853;
}

@media (max-width: 560px) {
	.dps-dt-frames--2up {
		grid-template-columns: 1fr;
		max-width: 34rem;
	}
}

/* ───────────────────── Window material tab extras ──────────────────────── */

.dps-dt-frames--4up {
	grid-template-columns: repeat(4, 1fr);
}

.dps-dt--storm .dps-dt-frames--4up .dps-dt-frame {
	text-align: center;
	align-items: center;
}

.dps-dt--storm .dps-dt-frames--4up .dps-dt-frame__name,
.dps-dt--storm .dps-dt-frames--4up .dps-dt-frame__desc {
	text-align: center;
	width: 100%;
}

/* Window Features cards — same scale as shared .dps-dt-frames / --2up; left-aligned copy */
.dps-dt--win .dps-dt-frames--features.dps-dt-frames--3up {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 96rem;
	margin-inline: auto;
}

.dps-dt--win .dps-dt-frames--features.dps-dt-frames--2up {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 92rem;
	margin-inline: auto;
	gap: clamp(1.8rem, 2.6vw, 3rem);
}

.dps-dt--win .dps-dt-frames--features {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: 96rem;
	margin-inline: auto;
	gap: clamp(1.8rem, 2.6vw, 3rem);
	align-items: start;
}

.dps-dt--win .dps-dt-frames--features .dps-dt-frame {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: stretch;
	text-align: left;
}

.dps-dt--win .dps-dt-frames--features .dps-dt-frame__media {
	aspect-ratio: 1;
	background: #fff;
	border-radius: 1.2rem;
	overflow: hidden;
}

.dps-dt--win .dps-dt-frames--features .dps-dt-frame__media img {
	object-fit: cover;
}

.dps-dt--win .dps-dt-frames--features .dps-dt-frame__name {
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.25;
	letter-spacing: 0;
	color: var(--dps-dt-navy);
	text-align: left;
	margin: 0;
}

.dps-dt--win .dps-dt-frames--features .dps-dt-frame__desc {
	text-align: left;
	font-family: var(--dps-font-body, var(--dps-font-ui));
	font-size: 1.4rem;
	line-height: 1.55;
	color: #3f4853;
	margin: 0;
}

.dps-tab-blk--win-section,
.dps-tab-blk--win-section .dps-dt {
	width: 100%;
}

@media (max-width: 1100px) {
	.dps-dt--win .dps-dt-frames--features,
	.dps-dt--win .dps-dt-frames--features.dps-dt-frames--2up,
	.dps-dt--win .dps-dt-frames--features.dps-dt-frames--3up {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.dps-dt--win .dps-dt-frames--features,
	.dps-dt--win .dps-dt-frames--features.dps-dt-frames--2up,
	.dps-dt--win .dps-dt-frames--features.dps-dt-frames--3up {
		grid-template-columns: 1fr;
	}
}

/* Window tab art is square swatches / product shots — show them whole on white. */
.dps-dt--win .dps-dt-frame__media {
	aspect-ratio: 1 / 1;
	background: #fff;
	display: flex;
}

.dps-dt--win .dps-dt-frame__media img {
	object-fit: contain;
}

/* Landscape product shots (accessories sills, frames, etc.) — fill card, no white letterboxing */
.dps-dt--win .dps-dt-frames--product .dps-dt-frame__media {
	aspect-ratio: 5 / 3;
	background: #e8e6e4;
	padding: 0;
}

.dps-dt--win .dps-dt-frames--product .dps-dt-frame__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Brochure thumbnails — portrait covers on white */
.dps-dt--win .dps-dt-frames--brochures .dps-dt-frame__media {
	aspect-ratio: 4 / 5;
	background: #fff;
}

.dps-dt--win .dps-dt-frames--brochures .dps-dt-frame__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.dps-dt--win .dps-dt-frames--brochures .dps-dt-frame__name,
.dps-dt--win .dps-dt-frames--brochures .dps-dt-frame__desc {
	text-align: center;
}

/* Trim profiles, brickmould, rosettes — caption centered under each swatch */
.dps-dt--win .dps-dt-frames:not(.dps-dt-frames--rows):not(.dps-dt-frames--features):not(.dps-dt-frames--feature-quad) .dps-dt-frame {
	align-items: center;
	text-align: center;
}

.dps-dt--win .dps-dt-frames:not(.dps-dt-frames--rows):not(.dps-dt-frames--features):not(.dps-dt-frames--feature-quad) .dps-dt-frame__name,
.dps-dt--win .dps-dt-frames:not(.dps-dt-frames--rows):not(.dps-dt-frames--features):not(.dps-dt-frames--feature-quad) .dps-dt-frame__desc {
	text-align: center;
	width: 100%;
}

/* ── Wood-clad Features 2×2 (Figma 1602:820648) — after base .dps-dt-frames ── */
.dps-tabs-panel__content .dps-tab-band:has(.dps-dt-frames--feature-quad) {
	background: #f9f7f5;
}

.dps-tabs-panel__content .dps-tab-band:has(.dps-dt-frames--feature-quad) .dps-tab-band__inner,
.dps-tabs-panel__content .dps-tab-legacy > .dps-tab-band:has(.dps-dt-frames--feature-quad) .dps-tab-band__inner {
	/* Beat win-section’s padding overrides so the title isn’t flush to the tab bar */
	padding-top: clamp(3rem, 4vw, 4rem) !important;
	padding-bottom: clamp(3rem, 4vw, 4rem) !important;
	gap: 0;
}

.dps-tabs-panel__content .dps-tab-band:has(.dps-dt-frames--feature-quad) .dps-dt__band {
	padding-block: 0;
	padding-inline: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(2.4rem, 3.5vw, 3.6rem);
	max-width: 110rem;
	margin-inline: auto;
	width: 100%;
}

.dps-tabs-panel__content .dps-tab-band:has(.dps-dt-frames--feature-quad) .dps-dt__head {
	margin: 0;
	max-width: 102.1rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
}

/* Match other tab-group intros (display-lg), not raw Figma 50px */
.dps-tabs-panel__content .dps-tab-band:has(.dps-dt-frames--feature-quad) .dps-dt__head .dps-dt__title {
	font-family: var(--dps-font-display, "Magneta", Georgia, serif);
	font-style: normal;
	font-weight: 600;
	font-size: var(--delco-type-display-lg);
	line-height: var(--delco-leading-heading, 1.15);
	color: #323c48;
	max-width: 102.1rem;
	margin: 0;
}

.dps-tabs-panel__content .dps-tab-band:has(.dps-dt-frames--feature-quad) .dps-dt__sub {
	margin: 0;
	max-width: 72rem;
	font-family: var(--dps-font-body, "Acumin Pro", "Avenir", sans-serif);
	font-weight: 400;
	font-size: var(--delco-type-body-fluid, 1.6rem);
	letter-spacing: 0.02em;
	line-height: 1.5;
	color: #3f4853;
	text-align: center;
}

.dps-dt-frames.dps-dt-frames--feature-quad,
.dps-dt--win .dps-dt-frames.dps-dt-frames--feature-quad {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 !important;
	max-width: 110rem;
	width: 100%;
	margin: 0 auto;
	margin-top: 0;
	background: #fff;
	border: 1px solid #b1a897;
	border-radius: 1rem;
	overflow: hidden;
	box-sizing: border-box;
}

.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame,
.dps-dt--win .dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 0.6rem;
	padding: clamp(2.4rem, 3vw, 3.2rem);
	margin: 0;
	background: #fff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-align: left;
	min-width: 0;
}

.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame:nth-child(odd) {
	border-right: 1px solid #b1a897;
}

.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame:nth-child(-n+2) {
	border-bottom: 1px solid #b1a897;
}

.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame__media {
	display: none;
}

.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame__name,
.dps-dt--win .dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame__name {
	margin: 0;
	width: 100%;
	font-family: "Montserrat", var(--dps-font-sans, sans-serif);
	font-weight: 500;
	font-size: var(--delco-type-display-xs, 1.8rem);
	line-height: 1.25;
	color: #323c48;
	text-align: left;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame__desc,
.dps-dt--win .dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame__desc {
	margin: 0;
	width: 100%;
	font-family: var(--dps-font-body, "Avenir", "Acumin Pro", sans-serif);
	font-weight: 400;
	font-size: var(--delco-type-body-sm, 1.4rem);
	line-height: 1.5;
	color: #323c48;
	text-align: left;
}

@media (max-width: 720px) {
	.dps-dt-frames.dps-dt-frames--feature-quad {
		grid-template-columns: 1fr;
	}

	.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame {
		padding: 2.4rem 2rem;
	}

	.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame:nth-child(odd) {
		border-right: 0;
	}

	.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame:not(:last-child) {
		border-bottom: 1px solid #b1a897;
	}

	.dps-dt-frames.dps-dt-frames--feature-quad .dps-dt-frame:nth-child(-n+2) {
		border-bottom: 1px solid #b1a897;
	}
}

/* Wood-grain / stain swatches — wide rectangles (Figma), not squares */
.dps-dt--win .dps-dt-frames--swatch .dps-dt-frame__media {
	aspect-ratio: 500 / 169;
	border-radius: 0.8rem;
	background: #fff;
}

.dps-dt--win .dps-dt-frames--swatch .dps-dt-frame__media img {
	object-fit: cover;
}

.dps-dt-split--flip .dps-dt-split__media {
	order: 2;
}

/* Low-E intro — wider copy column, smaller lifestyle image (pivot entry door). */
.dps-dt-split--glass-intro {
	grid-template-columns: minmax(0, 1.32fr) minmax(0, 0.68fr);
	gap: clamp(3rem, 5vw, 6.4rem);
	max-width: 118rem;
}

.dps-dt__band:has(.dps-dt-split--glass-intro) {
	padding-left: clamp(2.4rem, 4.5vw, 5.6rem);
}

.dps-dt-split--glass-intro .dps-dt-split__body {
	padding-right: clamp(0.8rem, 2vw, 2rem);
}

.dps-dt-split--glass-intro .dps-dt-split__media {
	align-items: center;
	justify-content: flex-end;
}

.dps-dt-split--glass-intro .dps-dt-split__media img {
	max-width: min(100%, 29rem);
	max-height: 38rem;
	width: auto;
	height: auto;
	object-fit: contain;
}

.dps-dt-split--glass-intro .dps-dt-featgrid {
	margin-top: 0.8rem;
}

@media (max-width: 900px) {
	.dps-dt-split--glass-intro {
		grid-template-columns: 1fr;
	}

	.dps-dt__band:has(.dps-dt-split--glass-intro) {
		padding-left: clamp(1.6rem, 3vw, 3.2rem);
	}

	.dps-dt-split--glass-intro .dps-dt-split__media img {
		max-width: min(100%, 26rem);
		max-height: 32rem;
	}
}

.dps-dt-checks {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem clamp(2rem, 4vw, 4rem);
	max-width: 80rem;
}

.dps-dt-checks li {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	font-size: 1.6rem;
	color: var(--dps-dt-navy);
}

.dps-dt-checks li svg {
	flex: none;
	width: 2rem;
	height: 2rem;
}

@media (max-width: 768px) {
	.dps-dt-frames--4up,
	.dps-dt--storm .dps-dt-frames:not(.dps-dt-frames--2up):not(.dps-dt-frames--story):has(.dps-dt-frame:nth-child(4):last-child) {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.dps-dt-frames--4up,
	.dps-dt--storm .dps-dt-frames:not(.dps-dt-frames--2up):not(.dps-dt-frames--story):has(.dps-dt-frame:nth-child(4):last-child),
	.dps-dt-checks {
		grid-template-columns: 1fr;
	}
}

/* ── NHP Features tab ──────────────────────────────────────────────── */
.dps-dt--nhp {
	gap: 0;
}

.dps-dt-nhpf {
	padding-block: clamp(3.5rem, 5vw, 6rem);
	padding-inline: clamp(1.6rem, 3vw, 3.2rem);
}

.dps-dt-nhpf--light {
	background: #f9f7f5;
}

.dps-dt-nhpf--white {
	background: #fff;
}

.dps-dt-nhpf__inner {
	max-width: 108rem;
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(3rem, 5vw, 6rem);
}

.dps-dt-nhpf--rev .dps-dt-nhpf__media {
	order: -1;
}

.dps-dt-nhpf__media img {
	width: 100%;
	height: 100%;
	max-height: 42rem;
	object-fit: cover;
	border-radius: 1rem;
	display: block;
}

.dps-dt-nhpf__body {
	display: flex;
	flex-direction: column;
	gap: clamp(1.6rem, 2.4vw, 2.5rem);
}

.dps-dt-nhpf__title {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: clamp(2.8rem, 3.4vw, 3.8rem);
	color: var(--dps-dt-navy);
}

.dps-dt-nhpf__text {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.dps-dt-nhpf__text p {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: 1.6rem;
	line-height: 1.55;
	color: var(--dps-dt-navy);
}

.dps-dt-nhpf__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
}

.dps-dt-nhp-stat {
	flex: 1 1 18rem;
	padding: clamp(1.6rem, 2vw, 2.2rem);
	border-radius: 1rem;
}

.dps-dt-nhpf--light .dps-dt-nhp-stat {
	background: #fff;
}

.dps-dt-nhpf--white .dps-dt-nhp-stat {
	background: #f9f7f5;
}

.dps-dt-nhp-stat__num {
	margin: 0 0 0.6rem;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: clamp(3rem, 3.6vw, 3.9rem);
	line-height: 1;
	color: var(--dps-dt-navy);
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.dps-dt-nhp-stat__num span {
	font-family: var(--dps-font-body);
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: 0.02em;
}

.dps-dt-nhp-stat__note {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: 1.35rem;
	line-height: 1.4;
	color: #6b7480;
}

/* Unmatched Results */
.dps-dt-nhp-results {
	padding-block: clamp(4rem, 6vw, 7rem);
	padding-inline: clamp(1.6rem, 3vw, 3.2rem);
	background: #f9f7f5;
}

.dps-dt-nhp-results__lead {
	max-width: 96rem;
	margin: 0 auto clamp(3rem, 4vw, 4.5rem);
	text-align: center;
	font-family: var(--dps-font-body);
	font-size: 1.6rem;
	line-height: 1.55;
	color: var(--dps-dt-navy);
}

.dps-dt-nhp-results__grid {
	max-width: 100rem;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 3vw, 3.2rem);
}

.dps-dt-nhp-metric {
	background: #fff;
	border-radius: 1rem;
	padding: clamp(2rem, 2.6vw, 2.8rem);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.dps-dt-nhp-metric__label {
	margin: 0 0 0.4rem;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: 1.9rem;
	color: var(--dps-dt-navy);
}

.dps-dt-nhp-metric__who {
	display: block;
	font-family: var(--dps-font-body);
	font-size: 1.35rem;
	color: #6b7480;
	margin-bottom: 0.5rem;
}

.dps-dt-nhp-bar {
	display: flex;
	align-items: center;
	min-height: 4rem;
	padding: 0 1.6rem;
	border-radius: 0.5rem;
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	color: #fff;
}

.dps-dt-nhp-bar--nhp {
	background: var(--dps-dt-navy);
}

.dps-dt-nhp-bar--std {
	background: #b9bcc1;
	min-width: 12%;
}

/* Additional Features */
.dps-dt-nhp-addl {
	padding-block: clamp(4rem, 6vw, 7rem);
	padding-inline: clamp(1.6rem, 3vw, 3.2rem);
	background: #fff;
}

.dps-dt-nhp-addl__grid {
	max-width: 100rem;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
}

.dps-dt-nhp-addl__card {
	padding: clamp(2.4rem, 3vw, 3.4rem);
	border: 1px solid #d9d2c9;
	margin: -0.5px;
}

.dps-dt-nhp-addl__title {
	margin: 0 0 1.2rem;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: 1.7rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--dps-dt-navy);
}

.dps-dt-nhp-addl__text {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: 1.5rem;
	line-height: 1.55;
	color: #4a545f;
}

@media (max-width: 860px) {
	.dps-dt-nhpf__inner {
		grid-template-columns: 1fr;
	}
	.dps-dt-nhpf--rev .dps-dt-nhpf__media {
		order: 0;
	}
	.dps-dt-nhp-results__grid,
	.dps-dt-nhp-addl__grid {
		grid-template-columns: 1fr;
	}
}


/* ── Accessories: retractable screen cards ─────────────────────────── */
.dps-dt-screens {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
	gap: clamp(3rem, 4.5vw, 5rem);
	max-width: 156.9rem;
	margin-inline: auto;
	margin-bottom: clamp(2.4rem, 4vw, 5rem);
}

.dps-dt-screen {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	background: transparent;
	box-shadow: none;
	border-radius: 1rem;
	overflow: visible;
}

.dps-dt-screen__media {
	flex: 1 1 auto;
	min-height: clamp(28rem, 32vw, 52rem);
	border-radius: 1rem;
	overflow: hidden;
	background: #ece7e0;
}

.dps-dt-screen__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dps-dt-screen__label {
	flex-shrink: 0;
	min-height: 7rem;
	padding: 2rem 3rem 0;
	text-align: center;
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: clamp(1.8rem, 1.9vw, 2.5rem);
	line-height: 1.2;
	color: var(--dps-dt-navy);
	background: transparent;
}

/* Keep the reversed split's inner content left-to-right. */
.dps-dt-split--rev > * {
	direction: ltr;
}

/* Sub-section heading inside a split body (Tedee add-ons, astragal). */
.dps-dt-split__lead {
	margin: 0.8rem 0 -0.4rem;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: 1.9rem;
	color: var(--dps-dt-navy);
}

/* Two devices side by side in one split media slot. */
.dps-dt-split__media--pair {
	gap: 2rem;
}

.dps-dt-split__media--pair img {
	max-width: 20rem;
}

/* Mortise Astragal — Figma 1321:661181 */
.dps-dt-astragal {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 3.5vw, 5rem);
	align-items: stretch;
	width: 100%;
}

.dps-dt-astragal__copy {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	min-width: 0;
}

.dps-dt-astragal__copy .dps-dt-split__title {
	margin: 0;
}

.dps-dt-astragal__copy .dps-dt-split__text {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.dps-dt-astragal__copy .dps-dt-split__lead {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: clamp(1.8rem, 1.9vw, 2.5rem);
	line-height: 1.2;
	color: var(--dps-dt-navy);
}

.dps-dt-astragal__copy .dps-dt-split__text > p:not(.dps-dt-split__lead) {
	margin: 0;
	font-size: clamp(1.6rem, 1.7vw, 2rem);
	line-height: 1.35;
	color: #323c48;
}

.dps-dt-astragal__gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: minmax(0, 1fr);
	gap: clamp(1rem, 1.5vw, 2rem);
	height: 100%;
	min-height: 0;
	align-self: stretch;
}

.dps-dt-astragal__shot {
	min-width: 0;
	min-height: 0;
	border-radius: 1rem;
	overflow: hidden;
}

.dps-dt-astragal__shot img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.dps-dt-astragal__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.dps-dt-astragal__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.9rem;
	flex: 1 1 calc(33.333% - 0.67rem);
	min-width: min(100%, 12rem);
	min-height: 9.2rem;
	padding: 1.4rem 1rem;
	border-radius: 0.9rem;
	background: #fff;
	border: 1px solid #e7e3e2;
	box-sizing: border-box;
}

.dps-dt-astragal__badge img {
	width: 3.8rem;
	height: 3.8rem;
	object-fit: contain;
	flex: none;
}

.dps-dt-astragal__badge span {
	font-family: var(--dps-font-title);
	font-weight: 500;
	font-size: clamp(1.2rem, 1.1vw, 1.6rem);
	letter-spacing: 0.12rem;
	text-transform: uppercase;
	color: var(--dps-dt-navy);
	text-align: center;
	line-height: 1.2;
}

@media (max-width: 900px) {
	.dps-dt-astragal {
		grid-template-columns: 1fr;
	}
	.dps-dt-astragal__gallery {
		order: -1;
		min-height: clamp(20rem, 45vw, 28rem);
		height: auto;
	}
}

@media (max-width: 560px) {
	.dps-dt-astragal__badges {
		flex-direction: column;
	}
	.dps-dt-astragal__badge {
		flex-basis: auto;
		width: 100%;
	}
}

@media (max-width: 900px) {
	.dps-dt-finishes-split {
		grid-template-columns: 1fr;
		gap: clamp(2.4rem, 4vw, 3.2rem);
	}

	.dps-dt--accessories .dps-dt-finishes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dps-dt-screens {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.dps-dt-screens {
		grid-template-columns: 1fr;
	}

	.dps-dt--accessories .dps-dt-finishes {
		grid-template-columns: 1fr;
	}
}

/* ── Breadcrumb (matches glass page style) ─────────────────────────── */
.dps-breadcrumb {
	max-width: var(--dps-max);
	margin: 0 auto;
	padding: clamp(2rem, 3vw, 3rem) var(--dps-pad) 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	font-family: var(--dps-font-body);
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8a8079;
}
.dps-breadcrumb a { color: #8a8079; text-decoration: none; }
.dps-breadcrumb a:hover { color: #4779b9; }
.dps-breadcrumb__sep { color: #c3bcb4; }
.dps-breadcrumb__current { color: #323c48; font-weight: 600; }

@media (max-width: 768px) {
	body.dps-product-page > .dps-breadcrumb {
		display: flex;
		flex-wrap: nowrap !important;
		align-items: center;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-top: 0;
		padding: 0.55rem var(--dps-pad) 0.45rem;
		gap: 0.35rem;
		font-size: 1rem;
		letter-spacing: 0.04em;
		line-height: 1.2;
		overflow: hidden;
	}

	body.dps-product-page > .dps-breadcrumb a,
	body.dps-product-page > .dps-breadcrumb__sep,
	body.dps-product-page > .dps-breadcrumb__current {
		flex-shrink: 0;
		white-space: nowrap !important;
		word-break: normal;
		overflow-wrap: normal;
	}

	body.dps-product-page > .dps-breadcrumb__sep {
		flex: 0 0 auto;
	}

	body.dps-product-page > .dps-breadcrumb a {
		flex: 0 1 auto;
		min-width: 0;
		max-width: 42%;
		overflow: hidden;
		text-overflow: ellipsis;
		display: block;
	}

	body.dps-product-page > .dps-breadcrumb__current {
		flex: 1 1 0;
		min-width: 0;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		display: block;
	}

	/* Drop the long category crumb on narrow screens — keep Doors › product */
	@media (max-width: 560px) {
		body.dps-product-page > .dps-breadcrumb a:nth-of-type(2),
		body.dps-product-page > .dps-breadcrumb__sep:nth-of-type(2) {
			display: none;
		}

		body.dps-product-page > .dps-breadcrumb a:first-of-type {
			max-width: 32%;
		}
	}
}

/* ── Glass packages as horizontal badge rows (dps-dt-frames--rows) ──── */
.dps-dt-frames--rows {
	display: flex;
	flex-direction: column;
	grid-template-columns: none;
	gap: clamp(1.4rem, 2vw, 2rem);
	max-width: 92rem;
	margin-inline: auto;
}
.dps-dt-frames--rows .dps-dt-frame {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: clamp(1.6rem, 2.5vw, 2.8rem);
	background: var(--dps-surface);
	border-radius: 1rem;
	padding: clamp(1.6rem, 2vw, 2.2rem) clamp(2rem, 2.5vw, 2.8rem);
	box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07);
}
.dps-dt-frames--rows .dps-dt-frame__media {
	flex: 0 0 clamp(8rem, 11vw, 11rem);
	width: clamp(8rem, 11vw, 11rem);
	aspect-ratio: 1 / 1;
	background: transparent;
	border-radius: 0;
}
.dps-dt-frames--rows .dps-dt-frame__media img {
	object-fit: contain;
}
.dps-dt-frames--rows .dps-dt-frame__copy {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	text-align: left;
}
.dps-dt-frames--rows .dps-dt-frame__eyebrow {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 700;
	font-size: clamp(1.3rem, 1.4vw, 1.5rem);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dps-text-dark);
	text-align: left;
}
.dps-dt-frames--rows .dps-dt-frame__name {
	margin: 0;
	font-family: var(--dps-font-display);
	font-style: normal;
	font-weight: 600;
	font-size: clamp(2rem, 2.2vw, 2.6rem);
	line-height: 1.2;
	text-align: left;
}
.dps-dt-frames--rows .dps-dt-frame__desc {
	margin: 0;
	text-align: left;
	max-width: 62rem;
}

/* Premium Glass Protection benefit chips under the split */
.dps-dt--win .dps-dt-frames--caption.dps-dt-frames--3up {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.4rem, 2vw, 2.2rem);
	max-width: 110rem;
	margin-inline: auto;
}
.dps-dt--win .dps-dt-frames--caption.dps-dt-frames--3up .dps-dt-frame {
	background: var(--dps-bg);
	border-radius: 1rem;
	padding: clamp(2rem, 2.4vw, 2.8rem);
	text-align: left;
}
.dps-dt--win .dps-dt-frames--caption.dps-dt-frames--3up .dps-dt-frame__caption {
	align-items: flex-start;
	text-align: left;
}
.dps-dt--win .dps-dt-frames--caption.dps-dt-frames--3up .dps-dt-frame__name {
	font-family: var(--dps-font-display);
	font-weight: 600;
	font-size: clamp(2rem, 2.2vw, 2.8rem);
	text-align: left;
}
.dps-dt--win .dps-dt-frames--caption.dps-dt-frames--3up .dps-dt-frame__desc {
	text-align: left;
}

@media (max-width: 640px) {
	.dps-dt-frames--rows .dps-dt-frame {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ── Feature cards inside a split body (dps-dt-featgrid) ─────────────── */
.dps-dt-featgrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.4rem, 2vw, 2rem);
	margin-top: 0.4rem;
}
.dps-dt-featcard {
	background: var(--dps-surface);
	border: var(--delco-inner-card-border);
	border-radius: 1rem;
	padding: clamp(1.8rem, 2.2vw, 2.4rem);
	box-shadow: var(--delco-inner-card-shadow);
	box-sizing: border-box;
}
.dps-dt-featcard h4 {
	margin: 0 0 0.6rem;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: clamp(1.7rem, 1.8vw, 1.9rem);
	color: var(--dps-dt-navy);
}
.dps-dt-featcard p {
	margin: 0;
	font-size: clamp(1.4rem, 1.45vw, 1.5rem);
	line-height: 1.55;
	color: var(--dps-text-body);
}

/* Premium Glass benefit cards — cream must win over default white featcards */
.dps-dt-split--cards-below .dps-dt-featcard,
.dps-dt-split--preserve .dps-dt-featcard,
.dps-dt--win .dps-dt-split--cards-below .dps-dt-featcard,
.dps-dt--win .dps-dt-split--preserve .dps-dt-featcard {
	background: #f9f7f5;
	border: none;
	box-shadow: none;
}

@media (max-width: 620px) {
	.dps-dt-featgrid { grid-template-columns: 1fr; }
	.dps-dt-frames--rows .dps-dt-frame { flex-direction: column; align-items: flex-start; text-align: left; }
}

/* ── Handle swatch cards (dps-dt-frames--handles) — tall product images ── */
.dps-dt-frames--handles .dps-dt-frame__media {
	aspect-ratio: 3 / 4;
	background: #fff;
	border: 1px solid var(--dps-dt-line);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.4rem;
}
.dps-dt-frames--handles .dps-dt-frame__media img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.dps-dt-frames--handles .dps-dt-frame__name {
	text-align: center;
	font-weight: 500;
	font-size: 1.5rem;
}

.dps-tab-blk--size-table {
	width: 100%;
	max-width: var(--dps-tab-content-max, 129.6rem);
	margin: 0 auto;
}

.dps-tab-size-table__pills {
	margin: 0 auto clamp(1.6rem, 2.5vw, 2.4rem);
	max-width: 96rem;
}

/* ── Standard Sizes & Configuration table (dps_win_table) ────────────── */
.dps-dt-sizetable-wrap {
	max-width: 96rem;
	margin: clamp(2rem, 3vw, 3.4rem) auto 0;
	overflow-x: auto;
	border-radius: 1rem;
	border: 1px solid #e6ddd0;
}
.dps-dt-sizetable {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--dps-font-body);
	font-size: 1.5rem;
	color: var(--dps-text-dark);
	background: var(--dps-surface);
}
.dps-dt-sizetable th,
.dps-dt-sizetable td {
	padding: 1.2rem 1.6rem;
	text-align: center;
	border-bottom: 1px solid #efe9df;
}
/* Header: WIDTH / SLIDE tan, HEIGHT group blue-grey, height values pale */
.dps-dt-sizetable__label {
	background: #ece2d4;
	font-family: var(--dps-font-title);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 1.4rem;
}
.dps-dt-sizetable__hgroup {
	background: #aab4bd;
	color: #2f3742;
	font-family: var(--dps-font-title);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 1.4rem;
}
.dps-dt-sizetable__h {
	background: #fdf6e4;
	font-weight: 600;
}
/* Body: width/slide columns cream-tinted, value cells white */
.dps-dt-sizetable__wc,
.dps-dt-sizetable__sc {
	background: #fdfaf2;
	font-weight: 600;
}
.dps-dt-sizetable tbody tr:hover td { background: #f5f2ec; }
.dps-dt-sizetable tbody tr:hover .dps-dt-sizetable__wc,
.dps-dt-sizetable tbody tr:hover .dps-dt-sizetable__sc { background: #f3ece0; }
/* Legend footer */
.dps-dt-sizetable tfoot td {
	background: #e7ddce;
	padding: 2rem 1.6rem;
	border-bottom: 0;
}
.dps-dt-sizetable__legend {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem clamp(2.4rem, 4vw, 5rem);
}
.dps-dt-sizetable__legend span {
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #4a4034;
}

/* ── Lift & slide width configuration cards (dps_win_size_cards) ─── */
.dps-dt-sizecards {
	max-width: 124rem;
	margin: 0 auto;
	padding: 0;
	background: transparent;
}
.dps-dt-sizecards__title {
	margin: 0 0 clamp(2rem, 3vw, 2.4rem);
	font-family: var(--dps-font-title);
	font-size: clamp(2.4rem, 2.8vw, 3rem);
	font-weight: 600;
	text-align: center;
	color: var(--dps-text-dark);
}
.dps-dt-sizecards__grid {
	--dps-size-gap: clamp(1.6rem, 2.5vw, 3rem);
	--dps-size-col: calc((100% - (var(--dps-size-cols, 3) - 1) * var(--dps-size-gap)) / var(--dps-size-cols, 3));
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--dps-size-gap);
}
.dps-dt-sizecards__grid .dps-dt-sizecard {
	flex: 0 1 var(--dps-size-col);
	max-width: var(--dps-size-col);
	min-width: min(100%, 20rem);
	box-sizing: border-box;
}
.dps-dt-sizecard {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.6rem;
	padding: clamp(2rem, 2.6vw, 2.6rem);
	background: var(--dps-surface, #fff);
	border: 1px solid rgba(63, 72, 83, 0.12);
	border-radius: 0.9rem;
	box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.06);
	text-align: center;
}
.dps-dt-sizecard__label {
	margin: 0;
	font-family: var(--dps-font-ui);
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dps-text-dark);
}
.dps-dt-sizecard__diagram {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
	width: 100%;
}
.dps-dt-sizecard__badge {
	margin: 0;
	font-family: var(--dps-font-body);
	font-size: 2rem;
	font-weight: 700;
	color: #3f4853;
	letter-spacing: 0.05em;
}
.dps-dt-sizecard__badge::before,
.dps-dt-sizecard__badge::after {
	content: "";
	display: inline-block;
	width: 3.6rem;
	height: 1px;
	background: #c8c2bb;
	vertical-align: middle;
	margin: 0 1rem;
}
.dps-dt-sizecard__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 18rem;
	width: 100%;
}
.dps-dt-sizecard__media img {
	max-width: 100%;
	max-height: 23rem;
	width: auto;
	height: auto;
	object-fit: contain;
}
.dps-dt-sizecard__dims {
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--dps-font-body);
	font-size: 1.6rem;
	line-height: 1.55;
	color: #3f4853;
	letter-spacing: 0.04em;
}
.dps-dt-sizecard__dims li + li {
	margin-top: 0.2rem;
}

/* All-wood patio Standard Sizes (Figma 1603:821186) — flat white cards, no section title */
.dps-tabs-panel__content .dps-tab-band--cream .dps-dt-sizecards:not(:has(.dps-dt-sizecards__title)) .dps-dt-sizecard {
	border: 0;
	box-shadow: none;
	border-radius: 0.875rem;
	gap: 2.4rem;
	padding: clamp(2.4rem, 3vw, 3.2rem) clamp(1.6rem, 2vw, 2.4rem);
}
.dps-tabs-panel__content .dps-tab-band--cream .dps-dt-sizecards:not(:has(.dps-dt-sizecards__title)) .dps-dt-sizecard__media {
	min-height: 14rem;
}
.dps-tabs-panel__content .dps-tab-band--cream .dps-dt-sizecards:not(:has(.dps-dt-sizecards__title)) .dps-dt-sizecard__dims {
	text-align: center;
	width: 100%;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
}

.dps-dt-split__body .dps-dt-split__title + .dps-dt-split__title {
	margin-top: clamp(3rem, 4vw, 5rem);
}
.dps-dt-split--glass-intro .dps-tab-grid-logo {
	margin: 0 auto clamp(1.6rem, 2.5vw, 2.4rem);
}
.dps-dt__band:has(.dps-dt-diagram--logo) {
	padding-bottom: 0;
}
.dps-dt__band:has(.dps-dt-diagram--logo) + .dps-dt__band {
	padding-top: clamp(1.6rem, 2.5vw, 2.4rem);
}
@media (max-width: 900px) {
	.dps-dt-sizecards__grid .dps-dt-sizecard {
		flex: 1 1 100%;
		max-width: 36rem;
	}
}

/* Panel configuration legend + diagram blocks (stackable patio doors) */
.dps-dt-legend-pills {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1.6rem, 3vw, 4.7rem);
	justify-content: center;
	width: 100%;
	max-width: 129.6rem;
	margin-inline: auto;
}

.dps-dt-legend-pill {
	flex: 1 1 28rem;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 7.1rem;
	padding: 1.4rem 2rem;
	border-radius: 1rem;
	background: #eae5dd;
	font-family: var(--dps-font-body);
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.1rem;
	text-transform: uppercase;
	text-align: center;
	color: #3f4853;
}

.dps-dt-diagram {
	margin: 0;
	width: 100%;
	max-width: 129.6rem;
	margin-inline: auto;
	background: #f9f7f5;
	border-radius: 0.88rem;
	padding: clamp(2rem, 3vw, 3rem);
	box-sizing: border-box;
}

/* Partner logos — no cream “card” box; sit flush on the section background */
.dps-dt-diagram--logo {
	width: auto;
	max-width: min(100%, 48rem);
	background: transparent;
	border-radius: 0;
	padding: 0;
}

.dps-dt-diagram img {
	display: block;
	width: 100%;
	height: auto;
	margin-inline: auto;
}

.dps-dt-diagram--logo img {
	width: auto;
	max-width: min(100%, 48rem);
	max-height: clamp(5rem, 7vw, 8.5rem);
	object-fit: contain;
	background: transparent;
}

/* Storm Porch Enclosures hero (Figma 1502:184140). */
.dps-dt__band:has(.dps-dt-diagram--porch-hero) .dps-dt__head {
	max-width: 64.2rem;
	width: 100%;
	margin-inline: auto;
	text-align: center;
	margin-bottom: clamp(1.6rem, 2.5vw, 2.4rem);
}

.dps-dt__band:has(.dps-dt-diagram--porch-hero) .dps-dt__title {
	text-align: center;
}

.dps-dt-diagram--porch-hero {
	max-width: 64.2rem;
	width: 100%;
	margin: 0 auto;
	background: #aea194;
	border-radius: 1rem;
	overflow: hidden;
	aspect-ratio: 1027 / 328;
	max-height: min(22rem, 36vh);
	display: flex;
	align-items: center;
	justify-content: center;
}

.dps-dt-diagram--porch-hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.dps-dt--storm .dps-dt-prose--left {
	max-width: 64.2rem;
	margin-inline: auto;
	width: 100%;
	text-align: center;
}

.dps-dt--storm .dps-dt-prose--left p {
	text-align: center;
}

.dps-dt--storm .dps-dt-prose--left p + p {
	margin-top: 0.75em;
}

.dps-dt__band:has(.dps-dt-diagram--porch-hero) {
	padding-block: clamp(2.4rem, 4vw, 4rem);
	padding-bottom: clamp(1.6rem, 2.5vw, 2.4rem);
}

.dps-dt__band:has(.dps-dt-diagram--porch-hero) + .dps-dt__band:has(.dps-dt-prose--left) {
	padding-top: clamp(1.2rem, 2vw, 2rem);
	padding-bottom: clamp(2.4rem, 4vw, 4rem);
}

.dps-tab-band:has(.dps-dt-diagram--porch-hero) + .dps-tab-band:has(.dps-tab-prose--left) .dps-tab-band__inner {
	padding-top: clamp(1.2rem, 2vw, 2rem);
}

.dps-tab-band:has(.dps-dt-diagram--porch-hero) + .dps-tab-band .dps-tab-prose--left {
	max-width: 64.2rem;
	text-align: center;
}

.dps-tab-band:has(.dps-dt-diagram--porch-hero) + .dps-tab-band .dps-tab-prose--left p {
	text-align: center;
}

.dps-tab-band:has(.dps-dt-diagram--porch-hero) + .dps-tab-band .dps-tab-prose--left p + p {
	margin-top: 0.75em;
}

.dps-tab-band:has(.dps-dt-diagram--porch-hero) .dps-tab-blk__title,
.dps-tab-band:has(.dps-dt-diagram--porch-hero) .dps-dt__title {
	text-align: center;
}

.dps-dt__band:has(.dps-dt-diagram--logo),
.dps-dt__band--logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: clamp(0.8rem, 1.5vw, 1.6rem);
	padding-bottom: 0;
}

.dps-dt__band--flush,
.dps-dt__band--logo.dps-dt__band--flush,
.dps-tabs-panel__content .dps-dt__band--flush {
	padding-block: 0;
}

.dps-dt__band:has(.dps-dt-diagram--logo) + .dps-dt__band {
	padding-top: clamp(1.6rem, 2.5vw, 2.4rem);
}

.dps-dt-diagram-row {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(2rem, 4vw, 4.7rem);
	justify-content: center;
	width: 100%;
	max-width: 129.6rem;
	margin-inline: auto;
}

.dps-dt-diagram-row--2 .dps-dt-diagram {
	flex: 1 1 40rem;
	max-width: calc(50% - 2.35rem);
}

.dps-dt--win .dps-dt__band:has(.dps-dt-legend-pills) {
	background: #fff;
}

.dps-dt--win .dps-dt__band:has(.dps-dt-diagram),
.dps-dt--win .dps-dt__band:has(.dps-dt-diagram-row) {
	background: #fff;
}

/* Product page footer blocks — extra vertical breathing room */
.dps-product-page .hf-section.hf-cta,
.dps-product-page .hf-section.hf-faqs,
.dps-product-page .hf-section.hf-testimonials {
	padding: var(--dpg-footer-pad-y) 0;
	min-height: 0;
}

/* Beat `.hf-section + .hf-section { padding-top: 0 }` so FAQ/title isn’t flush
   against the block above (Storm Door FAQs, etc.). */
.dps-product-page .hf-section.hf-faqs,
.dps-product-page .hf-section.hf-testimonials,
.dps-product-page .hf-section.hf-cta {
	padding-top: var(--dpg-footer-pad-y);
}

.dps-product-page .hf-section.hf-faqs {
	justify-content: flex-start;
}

.dps-product-page .hf-section.hf-faqs .hf-container {
	gap: clamp(2.4rem, 5vw, 3.2rem);
}

@media (max-width: 768px) {
	.dps-product-page .hf-section.hf-faqs .hf-container,
	.dps-category-page .hf-section.hf-faqs .hf-container {
		padding-left: var(--dps-pad, var(--hf-content-pad));
		padding-right: var(--dps-pad, var(--hf-content-pad));
	}
}

/* Available slab styles (NHP) — Figma 1616:890102 */
.dps-slab-styles {
	width: 100%;
	max-width: var(--dps-max, 144.3rem);
	margin: 0 auto;
	padding: clamp(4rem, 5vw, 6rem) var(--dps-pad, clamp(1.6rem, 4vw, 5rem)) clamp(2rem, 3vw, 4rem);
	box-sizing: border-box;
}

.dps-slab-styles__title {
	margin: 0 0 clamp(2.4rem, 4vw, 4rem);
	font-family: var(--dps-font-display);
	font-weight: 600;
	font-style: normal;
	font-size: clamp(2.4rem, 3vw, 3.6rem);
	line-height: 1.15;
	text-align: center;
	color: var(--dps-text-dark);
}

.dps-slab-styles__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(1.2rem, 2vw, 3rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.dps-slab-styles__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	margin: 0;
	padding: clamp(1.6rem, 2vw, 3rem);
	background: #fff;
	border-radius: 1rem;
	box-sizing: border-box;
}

.dps-slab-styles__card img {
	display: block;
	width: 100%;
	max-width: 16.4rem;
	height: auto;
	aspect-ratio: 164 / 263;
	object-fit: contain;
}

.dps-slab-styles__card figcaption {
	margin: 0;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: clamp(1.4rem, 1.2vw, 1.6rem);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: center;
	color: var(--dps-text-dark);
}

@media (max-width: 1100px) {
	.dps-slab-styles__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.dps-slab-styles__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ── Legacy SEO accordion (same pattern as category pages) ─────────────── */
.dps-product-page .dps-cat-legacy-accordion {
	--dps-legacy-pad-x: clamp(1.6rem, 2.4vw, 2.8rem);
	margin: clamp(2rem, 4vw, 4rem) var(--dps-pad) clamp(4rem, 6vw, 6rem);
	max-width: var(--dps-max);
	margin-inline: auto;
	border: 1px solid #e6e0d8;
	border-radius: 1rem;
	background: var(--dps-surface);
	overflow: hidden;
}

.dps-product-page .dps-cat-legacy-accordion:not([open]) > .dps-cat-legacy__body {
	display: none;
}

.dps-product-page .dps-cat-legacy-accordion[open] > .dps-cat-legacy__body {
	display: block;
}

.dps-product-page .dps-cat-legacy-accordion__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.6rem;
	padding: clamp(1.6rem, 2.5vw, 2.4rem) clamp(2rem, 3vw, 3.2rem);
	cursor: pointer;
	list-style: none;
	font-family: var(--dps-font-title);
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dps-text-dark);
	background: var(--dps-bg);
}

.dps-product-page .dps-cat-legacy-accordion__summary::-webkit-details-marker {
	display: none;
}

.dps-product-page .dps-cat-legacy-accordion__icon {
	flex-shrink: 0;
	width: 2.4rem;
	height: 2.4rem;
	position: relative;
}

.dps-product-page .dps-cat-legacy-accordion__icon::before,
.dps-product-page .dps-cat-legacy-accordion__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 1.4rem;
	height: 0.18rem;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.dps-product-page .dps-cat-legacy-accordion__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.dps-product-page .dps-cat-legacy-accordion[open] .dps-cat-legacy-accordion__icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
	opacity: 0;
}

.dps-product-page .dps-cat-legacy__body.dps-cat-seo {
	contain: layout style;
	background: var(--dps-surface);
}

/* Kill old second-page / slider chrome inside the accordion only. */
.dps-product-page .dps-cat-seo .special_banner,
.dps-product-page .dps-cat-seo .reynaers_banner,
.dps-product-page .dps-cat-seo .windows_tabs_section,
.dps-product-page .dps-cat-seo .performance_core,
.dps-product-page .dps-cat-seo .dotted_tabs_wrap,
.dps-product-page .dps-cat-seo .tabs_dotted_content {
	position: static !important;
	float: none !important;
	opacity: 1 !important;
	max-height: none !important;
	overflow: visible !important;
	transform: none !important;
}

.dps-product-page .dps-cat-seo .reynaers_banner::after,
.dps-product-page .dps-cat-seo .dotted_list_wrap {
	display: none !important;
	content: none !important;
}

.dps-product-page .dps-cat-seo > .block_rich_html {
	padding: clamp(2.4rem, 4vw, 4rem) var(--dps-legacy-pad-x);
	margin: 0;
	background: var(--dps-surface);
	color: var(--dps-text);
	font-family: var(--dps-font-body);
}

.dps-product-page .dps-cat-seo > .block_rich_html:nth-child(even) {
	background: var(--dps-bg);
}

.dps-product-page .dps-cat-seo > .block_rich_html:has(.reynaers_banner) {
	padding: 0;
	background: transparent;
}

/* Reynaers: break out of .wrapper so the band is full-bleed in the accordion */
.dps-product-page .dps-cat-seo > .block_rich_html:has(.reynaers_banner) .wrapper {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.dps-product-page .dps-cat-seo > .block_rich_html:not(:has(h1, h2, h3, h4, p, img, ul, li, table, section)) {
	display: none;
}

.dps-product-page .dps-cat-seo .wrapper {
	max-width: none;
	margin-inline: auto;
	width: 100%;
	float: none !important;
}

.dps-product-page .dps-cat-seo :is(h1, h2) {
	font-family: var(--dps-font-display) !important;
	font-weight: 500 !important;
	line-height: 1.15 !important;
	letter-spacing: 0.04rem;
	color: var(--dps-text) !important;
	margin: 0 0 1.4rem !important;
	text-shadow: none !important;
}

.dps-product-page .dps-cat-seo h1 {
	font-size: clamp(2.8rem, 4vw, 4.2rem) !important;
}

.dps-product-page .dps-cat-seo h2 {
	font-size: clamp(2.4rem, 3.2vw, 3.6rem) !important;
}

.dps-product-page .dps-cat-seo :is(h3, h4) {
	font-family: var(--dps-font-title) !important;
	font-weight: 600 !important;
	font-size: clamp(1.6rem, 1.8vw, 1.9rem) !important;
	line-height: 1.35 !important;
	color: var(--dps-text-dark) !important;
	margin: 0 0 0.8rem !important;
}

.dps-product-page .dps-cat-seo p {
	font-family: var(--dps-font-body) !important;
	font-size: var(--delco-type-body, 1.6rem) !important;
	line-height: 1.6 !important;
	color: var(--dps-text-body) !important;
	margin: 0 0 1rem !important;
	text-align: left !important;
}

/* Prose links only inside legacy accordion — not card/nav anchors */
.dps-product-page .dps-cat-seo p a:not(.button):not(.dps-sticky-cta__btn),
.dps-product-page .dps-cat-seo li a:not(.button):not(.dps-sticky-cta__btn) {
	color: var(--dps-cta-border);
	text-decoration: none;
}

.dps-product-page .dps-cat-seo p a:not(.button):not(.dps-sticky-cta__btn):hover,
.dps-product-page .dps-cat-seo li a:not(.button):not(.dps-sticky-cta__btn):hover {
	text-decoration: underline;
}

.dps-product-page .dps-cat-seo :is(p, h4, li)::first-letter {
	font-size: inherit !important;
	line-height: inherit !important;
	font-weight: inherit !important;
	float: none !important;
}

/* Banner title → one-line editorial heading */
.dps-product-page .dps-cat-seo .special_banner {
	padding: clamp(1rem, 2vw, 2rem) 0 0 !important;
	background: transparent !important;
	max-width: none !important;
}

.dps-product-page .dps-cat-seo .special_banner h1 {
	max-width: none;
	width: max-content;
	max-width: 100%;
	padding-bottom: 1.4rem;
	position: relative;
	white-space: nowrap;
	font-size: clamp(2.4rem, 3.4vw, 4rem) !important;
	line-height: 1.1 !important;
}

.dps-product-page .dps-cat-seo .special_banner h1::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 5.4rem;
	height: 0.3rem;
	background: var(--dps-cta-border);
	border-radius: 0.2rem;
}

.dps-product-page .dps-cat-seo .special_banner h1 span {
	color: inherit !important;
	font-weight: inherit !important;
}

/* Emoji feature rows → titled checklist cards (3-up so 5 items land 3+2) */
.dps-product-page .dps-cat-seo .dps-legacy-checklist {
	list-style: none !important;
	margin: 2.4rem 0 2.8rem !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
}

.dps-product-page .dps-cat-seo .dps-legacy-checklist > li {
	position: relative !important;
	display: flex !important;
	flex-direction: column;
	gap: 1rem;
	margin: 0 !important;
	/* Beat generic .dps-cat-seo ul li padding !important */
	padding: 2.8rem 2.6rem 2.8rem 5.6rem !important;
	background: var(--dps-surface);
	border: 1px solid #e6e0d8;
	border-radius: 1rem;
	font-family: var(--dps-font-body);
	font-size: var(--delco-type-body, 1.6rem);
	line-height: 1.55;
	color: var(--dps-text-body);
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.04);
	min-height: 100%;
	box-sizing: border-box;
}

.dps-product-page .dps-cat-seo .dps-legacy-checklist > li::before {
	content: "" !important;
	position: absolute !important;
	left: 2.4rem !important;
	top: 3.2rem !important;
	width: 1.6rem !important;
	height: 1.6rem !important;
	border-radius: 50% !important;
	background: var(--dps-cta-border) !important;
	box-shadow: inset 0 0 0 0.35rem var(--dps-surface) !important;
	border: none !important;
	transform: none !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-checklist > li::after {
	content: none !important;
	display: none !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-checklist__title {
	display: block;
	font-family: var(--dps-font-title);
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.3;
	color: var(--dps-text-dark);
	text-align: left;
}

.dps-product-page .dps-cat-seo .dps-legacy-checklist__body {
	display: block;
	font-weight: 400;
	color: var(--dps-text-body);
	text-align: left;
}

.dps-product-page .dps-cat-seo .dps-legacy-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.6rem 2.4rem;
	margin: 2rem 0 0 !important;
	padding: 1.6rem 0 0;
	border-top: 1px solid #e6e0d8;
}

.dps-product-page .dps-cat-seo .dps-legacy-logos img {
	height: 3.6rem;
	width: auto;
	max-width: 12rem;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.75;
}

/* Reynaers promo → full-bleed band with larger logo on the left */
.dps-product-page .dps-cat-seo .reynaers_banner {
	display: grid !important;
	grid-template-columns: minmax(14rem, 20rem) minmax(0, 1fr);
	align-items: center;
	column-gap: clamp(2.4rem, 4vw, 4.8rem);
	row-gap: 1.2rem;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(3.2rem, 5vw, 5.2rem) clamp(2.4rem, 4vw, 5rem) !important;
	background: var(--dps-text-dark) !important;
	border-radius: 0;
	color: #fff !important;
	box-sizing: border-box;
}

.dps-product-page .dps-cat-seo .reynaers_banner::before {
	content: "" !important;
	display: block !important;
	grid-column: 1;
	grid-row: 1 / span 3;
	align-self: center;
	width: 100%;
	max-width: 20rem;
	min-height: 16rem;
	aspect-ratio: 1 / 1.15;
	background: url("/img/reynaers.webp") no-repeat center / contain;
}

.dps-product-page .dps-cat-seo .reynaers_banner > p {
	grid-column: 2;
	max-width: none !important;
	margin: 0 !important;
	color: #fff !important;
	font-family: var(--dps-font-display) !important;
	font-weight: 500 !important;
	font-size: clamp(2.2rem, 3vw, 3.4rem) !important;
	line-height: 1.2 !important;
	white-space: nowrap;
}

.dps-product-page .dps-cat-seo .reynaers_banner .text {
	grid-column: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.4rem;
	max-width: 72rem !important;
	margin: 0 !important;
	position: static !important;
}

.dps-product-page .dps-cat-seo .reynaers_banner .text::before {
	display: none !important;
	content: none !important;
}

.dps-product-page .dps-cat-seo .reynaers_banner .text p {
	max-width: none !important;
	margin: 0 !important;
	color: #fff !important;
	font-family: var(--dps-font-display) !important;
	font-weight: 500 !important;
	font-size: clamp(2rem, 2.6vw, 3rem) !important;
	line-height: 1.2 !important;
	white-space: nowrap;
}

.dps-product-page .dps-cat-seo .reynaers_banner .text a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.2rem 2rem;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 0.6rem;
	background: transparent;
	color: #fff !important;
	font-family: var(--dps-font-title) !important;
	font-size: 1.4rem !important;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
}

.dps-product-page .dps-cat-seo .reynaers_banner .text a:hover {
	background: rgba(255, 255, 255, 0.08);
	text-decoration: none !important;
}

.dps-product-page .dps-cat-seo .reynaers_banner .text img {
	display: none;
}

/* Former dotted tab panels → stacked content bands */
.dps-product-page .dps-cat-seo .windows_tabs_section {
	padding: 0 !important;
	background: transparent !important;
	margin: 0 !important;
}

.dps-product-page .dps-cat-seo .dotted_tabs_wrap {
	display: flex !important;
	flex-direction: column;
	gap: 0;
}

.dps-product-page .dps-cat-seo .tabs_dotted_content {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: clamp(2.4rem, 4vw, 4rem) var(--dps-legacy-pad-x) !important;
	background: var(--dps-bg);
	box-sizing: border-box;
}

.dps-product-page .dps-cat-seo .tabs_dotted_content:nth-child(even) {
	background: var(--dps-surface);
}

.dps-product-page .dps-cat-seo .custom_number_list ol {
	list-style: none !important;
	counter-reset: dps-legacy;
	margin: 0 !important;
	padding: 0 !important;
	max-width: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.6rem, 2.4vw, 2.8rem);
}

.dps-product-page .dps-cat-seo .custom_number_list ol > li {
	counter-increment: dps-legacy;
	position: relative !important;
	margin: 0 !important;
	padding: clamp(2.8rem, 3.2vw, 3.6rem) clamp(2.6rem, 3vw, 3.4rem) clamp(2.8rem, 3.2vw, 3.6rem) 7.2rem !important;
	background: var(--dps-surface);
	border: 1px solid #e6e0d8;
	border-radius: 1rem;
	overflow: visible !important;
	box-sizing: border-box;
}

.dps-product-page .dps-cat-seo .custom_number_list ol > li::before {
	content: counter(dps-legacy) !important;
	position: absolute !important;
	left: 2.2rem !important;
	top: clamp(2.8rem, 3.2vw, 3.6rem) !important;
	width: 3.6rem !important;
	height: 3.6rem !important;
	border-radius: 50% !important;
	background: var(--dps-text-dark) !important;
	color: #fff !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	font-family: var(--dps-font-title) !important;
	font-weight: 600 !important;
	font-size: 1.5rem !important;
	line-height: 1 !important;
	margin: 0 !important;
}

.dps-product-page .dps-cat-seo .custom_number_list h3 {
	font-size: clamp(1.7rem, 2vw, 2rem) !important;
	text-align: left !important;
	margin: 0 0 1rem !important;
}

.dps-product-page .dps-cat-seo .custom_number_list h3 strong {
	font-weight: 600;
}

.dps-product-page .dps-cat-seo .custom_number_list p {
	max-width: none !important;
	text-align: left !important;
}

/* Thermal, then Structural on its own row */
.dps-product-page .dps-cat-seo .dps-legacy-spec-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 3vw, 2.8rem);
	max-width: none;
	margin: 0;
}

.dps-product-page .dps-cat-seo .dps-legacy-spec__card {
	background: var(--dps-surface);
	border: 1px solid #e6e0d8;
	border-radius: 1rem;
	padding: clamp(2.6rem, 3.2vw, 3.6rem);
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.04);
}

.dps-product-page .dps-cat-seo .dps-legacy-spec__card > h3:first-child {
	font-family: var(--dps-font-display) !important;
	font-size: clamp(2.2rem, 2.8vw, 3rem) !important;
	font-weight: 500 !important;
	color: var(--dps-text) !important;
	margin: 0 0 2rem !important;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid #e6e0d8;
	white-space: nowrap;
	text-align: left !important;
}

/* Thermal rows (with diagram): bigger artwork + roomy gray card */
.dps-product-page .dps-cat-seo .dps-legacy-spec__block:has(> img) {
	display: grid;
	grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
	gap: 1.2rem 2.8rem;
	align-items: center;
	margin: 0 0 1.6rem;
	padding: clamp(2.2rem, 2.8vw, 2.8rem) clamp(2.2rem, 2.8vw, 3rem);
	border: 1px solid #eee9e3;
	border-radius: 1rem;
	background: var(--dps-bg);
}

.dps-product-page .dps-cat-seo .dps-legacy-spec__block:has(> img) h4 {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
	font-family: var(--dps-font-title) !important;
	font-size: 1.8rem !important;
	font-weight: 600 !important;
	color: var(--dps-text-dark) !important;
	text-align: left !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-spec__block:has(> img) > p {
	grid-column: 2;
	grid-row: 2;
	margin: 0 0 1rem !important;
	font-size: 1.45rem !important;
	color: #6a7380 !important;
	text-align: left !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-spec__block:has(> img) > img {
	grid-column: 1;
	grid-row: 1 / span 3;
	width: 100% !important;
	max-width: 18rem !important;
	height: auto !important;
	min-height: 12rem;
	margin: 0 !important;
	float: none !important;
	object-fit: contain;
	justify-self: center;
}

.dps-product-page .dps-cat-seo .dps-legacy-spec__block:has(> img) > ul {
	grid-column: 2;
	grid-row: 3;
	margin: 0 !important;
	padding: 0 !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-spec__card > ul {
	margin: 0 0 1.6rem !important;
	padding: 0 !important;
}

/* Structural Frames / IG: no empty image column — left-aligned text chips */
.dps-product-page .dps-cat-seo .dps-legacy-spec__block:not(:has(> img)) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
	margin: 0 0 1.4rem;
	padding: 2rem 2.4rem;
	border: 1px solid #eee9e3;
	border-radius: 0.8rem;
	background: var(--dps-bg);
	text-align: left;
}

.dps-product-page .dps-cat-seo .dps-legacy-spec__block:not(:has(> img)) h4 {
	margin: 0 !important;
	font-family: var(--dps-font-title) !important;
	font-size: 1.7rem !important;
	font-weight: 600 !important;
	color: var(--dps-text-dark) !important;
	text-align: left !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-spec__block:not(:has(> img)) > p {
	margin: 0 !important;
	font-size: 1.5rem !important;
	color: var(--dps-text-body) !important;
	text-align: left !important;
}

.dps-product-page .dps-cat-seo ul {
	list-style: none;
	margin: 0 0 1.4rem;
	padding: 0;
}

.dps-product-page .dps-cat-seo ul li {
	position: relative;
	margin: 0 0 0.7rem !important;
	padding: 0 0 0 2.2rem !important;
	font-family: var(--dps-font-body) !important;
	font-size: 1.5rem !important;
	line-height: 1.5 !important;
	color: var(--dps-text-body) !important;
	display: block !important;
}

.dps-product-page .dps-cat-seo ul li::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 0.45rem !important;
	width: 1.1rem !important;
	height: 1.1rem !important;
	border-radius: 50% !important;
	background: var(--dps-cta-border) !important;
	box-shadow: inset 0 0 0 0.26rem var(--dps-surface);
	border: none !important;
	transform: none !important;
	background-image: none !important;
}

.dps-product-page .dps-cat-seo ul li::after {
	content: none !important;
	display: none !important;
}

/* Compliance: title full-width, media + copy vertically centered */
.dps-product-page .dps-cat-seo .dps-legacy-compliance {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	max-width: none;
	margin: 0;
}

.dps-product-page .dps-cat-seo .dps-legacy-compliance > h2 {
	margin: 0 !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-compliance__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(2.4rem, 4vw, 4.4rem);
	align-items: center;
}

.dps-product-page .dps-cat-seo .dps-legacy-compliance__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 1rem;
	background: #fff;
	border: 1px solid #e6e0d8;
}

.dps-product-page .dps-cat-seo .dps-legacy-compliance__copy ul {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
}

.dps-product-page .dps-cat-seo .dps-legacy-compliance__copy li {
	margin: 0 !important;
	padding: 2rem 2rem 2rem 4.2rem !important;
	background: var(--dps-surface);
	border: 1px solid #e6e0d8;
	border-radius: 1rem;
}

.dps-product-page .dps-cat-seo .dps-legacy-compliance__copy li::before {
	left: 1.8rem !important;
	top: 2.4rem !important;
}

/* High Performance + finishes */
.dps-product-page .dps-cat-seo .performance_core {
	padding: clamp(2.4rem, 4vw, 4rem) var(--dps-legacy-pad-x) !important;
	background: var(--dps-bg) !important;
	margin: 0 !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-perf {
	display: flex;
	flex-direction: column;
	gap: clamp(2.4rem, 3.5vw, 3.6rem);
	max-width: 112rem;
}

.dps-product-page .dps-cat-seo .dps-legacy-perf__intro {
	max-width: 72rem;
}

.dps-product-page .dps-cat-seo .dps-legacy-perf__intro h2 {
	margin-bottom: 1rem !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-benefit-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.4rem;
}

.dps-product-page .dps-cat-seo .dps-legacy-benefit {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	margin: 0;
	padding: clamp(2.4rem, 3vw, 3.2rem);
	background: var(--dps-surface);
	border: 1px solid #e6e0d8;
	border-radius: 1rem;
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
	min-height: 100%;
}

.dps-product-page .dps-cat-seo .dps-legacy-benefit__icon img {
	width: 4.8rem;
	height: 4.8rem;
	object-fit: contain;
}

.dps-product-page .dps-cat-seo .dps-legacy-benefit__body h3 {
	margin: 0 0 0.6rem !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-benefit__body p {
	margin: 0 !important;
}

.dps-product-page .dps-cat-seo .dps-legacy-finishes {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
	padding-top: clamp(1.6rem, 2.5vw, 2.4rem);
	border-top: 1px solid #e6e0d8;
}

.dps-product-page .dps-cat-seo .dps-legacy-finishes__media img {
	display: block;
	width: 100%;
	max-width: 36rem;
	margin-inline: auto;
	height: auto;
	border-radius: 1rem;
	object-fit: cover;
	aspect-ratio: 1;
}

.dps-product-page .dps-cat-seo img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 900px) {
	.dps-product-page .dps-cat-seo .custom_number_list ol,
	.dps-product-page .dps-cat-seo .dps-legacy-checklist,
	.dps-product-page .dps-cat-seo .dps-legacy-compliance__grid,
	.dps-product-page .dps-cat-seo .dps-legacy-benefit-grid,
	.dps-product-page .dps-cat-seo .dps-legacy-finishes {
		grid-template-columns: 1fr;
	}

	.dps-product-page .dps-cat-seo .special_banner h1,
	.dps-product-page .dps-cat-seo .reynaers_banner > p,
	.dps-product-page .dps-cat-seo .reynaers_banner .text p {
		white-space: normal;
	}

	.dps-product-page .dps-cat-seo .reynaers_banner {
		grid-template-columns: 1fr;
	}

	.dps-product-page .dps-cat-seo .reynaers_banner::before {
		grid-column: 1;
		grid-row: auto;
		max-width: 14rem;
		min-height: 12rem;
		margin-bottom: 0.4rem;
	}

	.dps-product-page .dps-cat-seo .reynaers_banner > p,
	.dps-product-page .dps-cat-seo .reynaers_banner .text {
		grid-column: 1;
	}

	.dps-product-page .dps-cat-seo .dps-legacy-spec__block:has(> img) {
		grid-template-columns: minmax(11rem, 14rem) minmax(0, 1fr);
	}
}

@media (max-width: 1100px) and (min-width: 901px) {
	.dps-product-page .dps-cat-seo .dps-legacy-checklist {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
