/* =========================================================
   UHCCY Product Template
   Loaded only on single UHCCY Product pages.
   ========================================================= */

.product-page {
	overflow: clip;
}

.product-page__breadcrumb {
	padding-block: 24px;
}

.product-section {
	padding-block: 88px;
	scroll-margin-top: calc(var(--admin-bar-offset, 0px) + var(--site-header-visible-height, var(--site-header-height)) + var(--section-anchor-nav-height, 54px));
}

.product-section__header {
	width: 100%;
	max-width: none;
	margin-bottom: 40px;
}

.product-section__header--narrow {
	max-width: 920px;
}


.product-section__header h2,
.product-section__heading h2 {
	margin-bottom: 0;
}


.product-section__eyebrow,
.product-hero__eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	color: var(--color-accent);
	font-size: 13px;
	font-weight: var(--font-weight-bold);
	line-height: 20px;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.product-section__heading.content-split__heading--sticky {
	transition: top 220ms ease;
	top: calc(var(--admin-bar-offset, 0px) + var(--site-header-visible-height, var(--site-header-height)) + var(--section-anchor-nav-height, 54px) + 18px);
}

/* 30/70 information layout for content-heavy product sections.
   Selection, Applications, Installation and FAQ need a compact title rail
   and a substantially wider working/readable column. Keep this as an
   explicit modifier so other shared split layouts (e.g. short descriptions)
   can continue to shrink-wrap and align to the global container edge. */
.content-split--product-37 {
	grid-template-columns: minmax(260px, 3fr) minmax(0, 7fr);
	column-gap: clamp(40px, 4vw, 64px);
}

.content-split--product-37 > .content-split__content {
	width: 100%;
	max-width: none;
	justify-self: stretch;
}

/* Hero */
.product-hero {
	padding-block: 18px 72px;
	background: #FFFFFF;
}

.product-hero__inner {
	display: grid;
	grid-template-columns: clamp(400px, 30vw, 640px) minmax(0, 1fr);
	gap: clamp(48px, 4.5vw, 76px);
	align-items: center;
}

.product-hero--text-only .product-hero__inner {
	grid-template-columns: minmax(0, 1100px);
}

.product-hero__content {
	min-width: 0;
	padding-block: 24px;
}

.product-hero__eyebrow:hover {
	color: var(--color-primary-hover);
}

.product-hero__title {
	max-width: 980px;
	margin-bottom: 14px;
	font-size: var(--font-size-h1);
	line-height: var(--line-height-h1);
	letter-spacing: -.028em;
}

.product-hero__model {
	margin-bottom: 18px;
	color: var(--color-text-secondary);
	font-size: 14px;
	line-height: 22px;
}

.product-hero__model span {
	margin-right: 7px;
	color: var(--color-text);
	font-weight: var(--font-weight-semibold);
}

.product-hero__description {
	max-width: 900px;
	margin-bottom: 24px;
	color: var(--color-text-secondary);
	font-size: 17px;
	line-height: 29px;
}

.product-hero__highlights {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

.product-hero__highlights li {
	position: relative;
	padding-left: 20px;
	color: var(--color-text);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	line-height: 22px;
}

.product-hero__highlights li::before {
	position: absolute;
	left: 0;
	top: 0;
	color: var(--accent, var(--color-accent));
	content: "✓";
	font-weight: var(--font-weight-bold);
}

.product-hero__specs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 26px;
	border-top: 1px solid var(--color-border);
	border-left: 1px solid var(--color-border);
}

.product-hero__specs--count-1 {
	grid-template-columns: minmax(0, 1fr);
}

.product-hero__specs--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-hero__specs--count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-hero__specs--count-5,
.product-hero__specs--count-6 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-hero__spec {
	min-width: 0;
	padding: 15px 16px;
	border-right: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.product-hero__spec-label,
.product-hero__spec-value {
	display: block;
}

.product-hero__spec-label {
	margin-bottom: 3px;
	color: var(--color-text-secondary);
	font-size: 11px;
	font-weight: var(--font-weight-bold);
	line-height: 18px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.product-hero__spec-value {
	color: var(--color-text);
	font-size: 15px;
	line-height: 23px;
	overflow-wrap: anywhere;
}

.product-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 28px;
	margin-top: 28px;
}

.product-hero__spec-link {
	color: var(--color-text);
	font-weight: var(--font-weight-semibold);
}

.product-hero__spec-link span {
	margin-left: 4px;
	color: var(--color-accent);
}

.product-hero__spec-link:hover {
	color: var(--color-primary-hover);
}

.product-hero__note {
	margin: 20px 0 0;
	color: var(--color-text-secondary);
	font-size: 13px;
	line-height: 21px;
}

.product-hero__note span {
	margin-right: 5px;
	color: var(--color-accent);
}

/* Gallery */
.product-gallery {
	min-width: 0;
}

.product-gallery__stage {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	padding: 0;
	background-color: #FFFFFF;
	background-image:
		linear-gradient(rgba(0, 32, 80, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(0, 32, 80, .045) 1px, transparent 1px);
	background-size: 20px 20px;
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-card);
	cursor: zoom-in;
}

.product-gallery__main-image {
	width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 0;
}

.product-gallery__zoom {
	position: absolute;
	right: 16px;
	bottom: 16px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	background: rgba(255,255,255,.94);
	color: var(--color-text);
	border: 1px solid var(--color-border);
	border-radius: 50%;
	font-size: 20px;
	line-height: 1;
}

.product-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.product-gallery__thumb {
	display: grid;
	place-items: center;
	aspect-ratio: 1 / 1;
	padding: 0;
	background: #FFFFFF;
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-button);
	cursor: pointer;
}

.product-gallery__thumb:hover,
.product-gallery__thumb.is-active {
	border-color: var(--color-primary);
}

.product-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 0;
}

.product-gallery__dialog {
	position: fixed;
	inset: 0;
	width: min(1100px, calc(100vw - 40px));
	max-width: calc(100vw - 40px);
	max-height: calc(100dvh - 40px);
	margin: auto;
	padding: 52px 28px 28px;
	overflow: auto;
	background: #FFFFFF;
	border: 0;
	border-radius: var(--radius-card);
}

.product-gallery__dialog::backdrop {
	background: rgba(8, 18, 35, .78);
}

.product-gallery__dialog-image {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: calc(100dvh - 120px);
	margin-inline: auto;
	object-fit: contain;
	border-radius: 0;
}

.product-gallery__dialog-close {
	position: absolute;
	right: 14px;
	top: 12px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	background: transparent;
	color: var(--color-text);
	border: 0;
	font-size: 30px;
	line-height: 1;
}

/* Overview */
.product-overview {
	background: #FFFFFF;
}

.product-overview__container {
	display: grid;
	gap: 0;
}

.product-overview__header {
	margin-bottom: 34px;
}

.product-overview__lead {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
	gap: clamp(32px, 4vw, 64px);
	align-items: stretch;
	padding: clamp(30px, 3.5vw, 48px) 0;
	border-top: 1px solid var(--color-border);
}

.product-overview__lead--single {
	grid-template-columns: minmax(0, 1fr);
}

.product-overview__intro {
	align-self: center;
	max-width: 820px;
	color: var(--color-text-secondary);
	font-size: clamp(17px, 1.15vw, 19px);
	line-height: 1.75;
}

.product-overview__intro > :first-child {
	margin-top: 0;
}

.product-overview__intro > :last-child {
	margin-bottom: 0;
}

.product-overview__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 300px;
	margin: 0;
	padding: clamp(18px, 2.2vw, 30px);
	background: #F7F9FC;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	overflow: hidden;
}

.product-overview__image {
	display: block;
	width: 100%;
	height: auto;
	max-height: 430px;
	object-fit: contain;
}

.product-overview__summary {
	align-self: stretch;
	padding: clamp(24px, 2.8vw, 36px);
	background: #F7F9FC;
	border: 1px solid var(--color-border);
	border-radius: 8px;
}

.product-overview__summary h3 {
	margin: 0 0 20px;
	color: var(--color-text);
	font-size: clamp(20px, 1.5vw, 24px);
}

.product-overview__summary-list {
	display: grid;
	margin: 0;
}

.product-overview__summary-row {
	display: grid;
	grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr);
	gap: 18px;
	padding: 13px 0;
	border-top: 1px solid var(--color-border);
}

.product-overview__summary-row dt,
.product-overview__summary-row dd {
	margin: 0;
}

.product-overview__summary-row dt {
	color: var(--color-text-secondary);
	font-size: 14px;
}

.product-overview__summary-row dd {
	color: var(--color-text);
	font-weight: var(--font-weight-semibold);
	text-align: right;
}

.product-overview__content {
	width: 100%;
	margin: 0;
	padding-top: clamp(34px, 4vw, 52px);
	border-top: 1px solid var(--color-border);
	color: var(--color-text-secondary);
}

.product-overview__content--after-lead {
	padding-top: clamp(38px, 4.5vw, 58px);
}

.product-overview__content > :last-child,
.product-applications__content > :last-child,
.product-notes__content > :last-child {
	margin-bottom: 0;
}

.product-overview__content h2,
.product-overview__content h3,
.product-applications__content h2,
.product-applications__content h3 {
	margin-top: 36px;
	color: var(--color-text);
}

@media (max-width: 900px) {
	.product-overview__lead {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.product-overview__intro {
		max-width: none;
	}

	.product-overview__media {
		min-height: 0;
	}
}

@media (max-width: 640px) {
	.product-overview__header {
		margin-bottom: 24px;
	}

	.product-overview__lead {
		padding: 26px 0;
	}

	.product-overview__summary-row {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.product-overview__summary-row dd {
		text-align: left;
	}
}

/* Features */
.product-features {
	background: var(--color-surface-deep);
	color: #FFFFFF;
}

.product-features .product-section__eyebrow {
	color: var(--color-accent-on-dark);
}

.product-features .product-section__header h2,
.product-feature-card h3 {
	color: #FFFFFF;
}

.product-features__highlights {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 36px;
	border-top: 1px solid rgba(255,255,255,.18);
	border-left: 1px solid rgba(255,255,255,.18);
}

.product-features__highlight {
	min-height: 74px;
	padding: 22px 24px;
	border-right: 1px solid rgba(255,255,255,.18);
	border-bottom: 1px solid rgba(255,255,255,.18);
	font-weight: var(--font-weight-semibold);
}

.product-features__highlight span {
	margin-right: 8px;
	color: var(--color-accent-on-dark);
}

.product-features__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(255,255,255,.18);
	border-left: 1px solid rgba(255,255,255,.18);
}

.product-feature-card {
	min-height: 230px;
	padding: 32px;
	border-right: 1px solid rgba(255,255,255,.18);
	border-bottom: 1px solid rgba(255,255,255,.18);
}

.product-feature-card__number {
	display: block;
	margin-bottom: 32px;
	color: rgba(255,255,255,.45);
	font-size: 13px;
	font-weight: var(--font-weight-bold);
	letter-spacing: .08em;
}

.product-feature-card h3 {
	margin-bottom: 12px;
	font-size: 22px;
	line-height: 30px;
}

.product-feature-card__description {
	color: rgba(255,255,255,.76);
}

.product-feature-card__description p {
	margin: 0;
}

.product-feature-card__description a {
	color: #fff;
	font-weight: var(--font-weight-semibold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Specifications */
.product-specifications {
	background: var(--color-background-light);
	border-bottom: 1px solid var(--color-border);
}

.product-specifications__groups {
	display: grid;
	gap: 38px;
}

.product-spec-group__title {
	margin-bottom: 16px;
	font-size: 22px;
	line-height: 30px;
}

.product-spec-table {
	margin: 0;
	border-top-color: var(--color-primary);
}

.product-spec-table tbody th {
	width: 42%;
	background: transparent;
	color: var(--color-text);
	font-weight: var(--font-weight-semibold);
}

.product-spec-table tbody tr:nth-child(even) th {
	background: transparent;
}

/* Applications */
.product-applications {
	background: #FFFFFF;
}

.product-applications__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 30px;
}

.product-application-card {
	overflow: hidden;
	min-width: 0;
	background: var(--color-background-light);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
}

.product-application-card__media {
	background: #FFFFFF;
	border-bottom: 1px solid var(--color-border);
}

.product-application-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 0;
}

.product-application-card__body {
	padding: 22px 24px 24px;
}

.product-application-card h3 {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 28px;
}

.product-application-card h3 a {
	color: var(--color-text);
}

.product-application-card h3 a:hover {
	color: var(--color-primary-hover);
}

.product-application-card p {
	margin: 0;
	color: var(--color-text-secondary);
}

.product-applications__content {
	color: var(--color-text-secondary);
}

@media (max-width: 767px) {
	.product-applications__grid {
		grid-template-columns: 1fr;
	}
}

/* Compliance */
.product-compliance {
	background: var(--color-background-light);
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.product-compliance__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.product-compliance__block {
	padding: 32px;
	background: #FFFFFF;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
}

.product-compliance__block h3 {
	margin-bottom: 22px;
	font-size: 22px;
	line-height: 30px;
}

.product-compliance__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.product-compliance__badges span {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 14px;
	background: var(--color-surface-deep);
	color: #FFFFFF;
	border-radius: var(--radius-button);
	font-size: 14px;
	font-weight: var(--font-weight-bold);
}

.product-compliance__standards {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.product-compliance__standards li {
	padding: 12px 14px;
	background: var(--color-background-light);
	border-left: 3px solid var(--color-primary);
}

/* Downloads */
.product-downloads {
	background: #FFFFFF;
}

.product-downloads__list {
	border-top: 1px solid var(--color-border);
}

.product-download {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 20px 0;
	border-bottom: 1px solid var(--color-border);
}

.product-download strong,
.product-download span {
	display: block;
}

.product-download strong {
	margin-bottom: 3px;
}

.product-download span {
	color: var(--color-text-secondary);
	font-size: 13px;
	line-height: 21px;
}

.product-download .button--light {
	border-color: var(--color-border);
}

/* Important Notes */
.product-notes {
	padding-block: 28px 72px;
	background: #FFFFFF;
}

.product-notes__box {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 32px;
	padding: 28px 30px;
	background: var(--color-accent-soft);
	border: 1px solid #EBCFCF;
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-card);
}

.product-notes__label {
	color: var(--color-accent);
	font-weight: var(--font-weight-bold);
}

.product-notes__content {
	color: var(--color-text-secondary);
}

/* FAQ */
.product-faq {
	background: var(--color-background-light);
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.product-faq__list {
	max-width: none;
}

.product-faq .faq-question {
	list-style: none;
}

.product-faq .faq-question::-webkit-details-marker {
	display: none;
}


/* Related Articles */
.product-related-articles {
	background: var(--color-background-light);
	border-top: 1px solid var(--color-border);
}

.product-related-articles__header {
	width: 100%;
	max-width: none;
}

.product-related-articles__viewport {
	min-width: 0;
	padding-top: 4px;
	margin-top: -4px;
}

.product-related-articles__track {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.product-related-articles__viewport.is-slider {
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	scroll-snap-type: x mandatory;
	overscroll-behavior-inline: contain;
}

.product-related-articles__viewport.is-slider::-webkit-scrollbar {
	display: none;
}

.product-related-articles__viewport.is-slider .product-related-articles__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 72px) / 4);
	grid-template-columns: none;
}

.product-related-articles__viewport.is-slider .product-article-card {
	scroll-snap-align: start;
}

.product-article-card {
	overflow: hidden;
	min-width: 0;
	background: #FFFFFF;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.product-article-card:hover {
	border-color: var(--color-border-strong);
	transform: translateY(-2px);
}

.product-article-card__image {
	display: block;
	background: #FFFFFF;
}

.product-article-card__image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 0;
}

.product-article-card__body {
	padding: 16px 18px 18px;
}

.product-article-card__title {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
}

.product-article-card__title a {
	color: var(--color-text);
}

.product-article-card__title a:hover {
	color: var(--color-primary-hover);
}

.related-content-controls {
	display: inline-flex;
	gap: 8px;
	flex: 0 0 auto;
}

.related-content-control {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	background: #FFFFFF;
	color: var(--color-primary);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-button);
	transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);
}

.related-content-control:hover:not(:disabled) {
	background: var(--color-primary-hover);
	color: #FFFFFF;
	border-color: var(--color-primary-hover);
}

.related-content-control:disabled {
	opacity: .35;
	cursor: default;
}

.related-content-control svg {
	width: 18px;
	height: 18px;
}

/* Related Products: deliberately compact — image + title only. */
.product-related {
	background: #FFFFFF;
}

.product-related-card {
	overflow: hidden;
	background: #FFFFFF;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.product-related-card:hover {
	border-color: var(--color-border-strong);
	transform: translateY(-2px);
}

.product-related-card__image {
	display: block;
	background: #FFFFFF;
}

.product-related-card__title {
	margin: 0;
	font-size: 18px;
	line-height: 26px;
}

.product-related-card__title a {
	color: var(--color-text);
}

.product-related-card__title a:hover {
	color: var(--color-primary-hover);
}

.product-related__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.product-related-card__image {
	min-height: 1px;
}

.product-related-card__image img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	border-radius: 0;
}

.product-related-card__title {
	padding: 16px 18px 18px;
}

/* Bottom CTA */
.product-bottom-cta {
	padding-block: 72px;
	background: var(--color-surface-deep);
}

.product-bottom-cta .cta {
	padding: 0;
	background: transparent;
	border-radius: 0;
}

/* Desktop / compact desktop */
@media (max-width: 1399px) {
	.product-hero__inner {
		grid-template-columns: clamp(390px, 31vw, 560px) minmax(0, 1fr);
		gap: 48px;
	}

	.product-hero__title {
		font-size: 44px;
		line-height: 52px;
	}

	.product-hero__specs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-features__grid,
	.product-features__highlights {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

/* Tablet */
@media (max-width: 1199px) {
	.product-related-articles__track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-related-articles__viewport.is-slider .product-related-articles__track {
		grid-auto-columns: calc((100% - 24px) / 2);
	}
}

@media (max-width: 639px) {
	.product-related-articles__header {
		align-items: center;
	}

	.product-related-articles__track {
		grid-template-columns: 1fr;
	}

	.product-related-articles__viewport.is-slider .product-related-articles__track {
		grid-auto-columns: 84%;
	}

	.related-content-control {
		width: 38px;
		height: 38px;
	}
}

@media (max-width: 1023px) {
	.product-section {
		padding-block: 68px;
	}

	.product-hero {
		padding-bottom: 58px;
	}

	.product-hero__inner {
		grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
		gap: 36px;
	}

	.product-gallery__thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.product-hero__title {
		font-size: 38px;
		line-height: 46px;
	}

	.product-hero__description {
		font-size: 16px;
		line-height: 27px;
	}


	.product-compliance__grid {
		grid-template-columns: 1fr;
	}

	.product-related__grid,
	.product-related-articles__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-notes__box {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.product-page__breadcrumb {
		padding-block: 18px;
	}

	.product-hero {
		padding-top: 0;
		padding-bottom: 44px;
	}

	.product-hero__inner,
	.product-hero--text-only .product-hero__inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.product-gallery__stage {
		padding: 0;
	}

	.product-gallery__dialog {
		width: calc(100vw - 24px);
		max-width: calc(100vw - 24px);
		max-height: calc(100dvh - 24px);
		padding: 48px 12px 16px;
	}

	.product-gallery__dialog-image {
		max-height: calc(100dvh - 88px);
	}

	.product-gallery__thumbs {
		display: flex;
		overflow-x: auto;
		gap: 8px;
		padding-bottom: 4px;
		scrollbar-width: none;
	}

	.product-gallery__thumbs::-webkit-scrollbar {
		display: none;
	}

	.product-gallery__thumb {
		flex: 0 0 68px;
	}

	.product-hero__content {
		padding-block: 0;
	}

	.product-hero__title {
		font-size: 36px;
		line-height: 44px;
	}

	.product-hero__description {
		margin-bottom: 20px;
	}

	.product-hero__highlights {
		display: grid;
		gap: 8px;
	}

	.product-hero__specs,
	.product-hero__specs--count-3,
	.product-hero__specs--count-5,
	.product-hero__specs--count-6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-hero__actions {
		align-items: stretch;
		gap: 16px;
	}

	.product-hero__actions .button {
		width: 100%;
	}

	.product-hero__spec-link {
		width: 100%;
		text-align: center;
	}


	.product-section {
		padding-block: 54px;
	}

	.product-section__header {
		margin-bottom: 28px;
	}

	.product-features__grid,
	.product-features__highlights,
	.product-related__grid,
	.product-related-articles__grid {
		grid-template-columns: 1fr;
	}

	.product-feature-card {
		min-height: 0;
		padding: 26px 24px;
	}

	.product-feature-card__number {
		margin-bottom: 22px;
	}

	.product-download {
		align-items: flex-start;
		flex-direction: column;
	}

	.product-download .button {
		width: 100%;
	}

	.product-notes {
		padding-block: 10px 50px;
	}

	.product-notes__box {
		padding: 24px 20px;
	}

	.product-bottom-cta {
		padding-top: 10px;
		padding-bottom: 64px;
	}
}

/* Narrow tablets: stack the Product Hero before the mobile breakpoint so
   the technical information column never becomes cramped. */
@media (min-width: 768px) and (max-width: 899px) {
	.product-hero__inner,
	.product-hero--text-only .product-hero__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.product-gallery {
		max-width: 620px;
		margin-inline: auto;
	}

	.product-hero__content {
		max-width: 760px;
	}
}

/* =========================================================
   v0.6.3 Product content-system completion
   Selection / Dimensions / Installation / Accessories
   + multi-column technical tables
   ========================================================= */

/* Multi-column technical tables remain semantic HTML tables. On compact
   screens the existing .table-wrapper provides horizontal scrolling rather
   than compressing technical values into unreadable columns. */
.product-spec-table--multi {
	min-width: 760px;
}

.product-spec-table--multi tbody th {
	width: auto;
	min-width: 170px;
}

.product-spec-table--multi th,
.product-spec-table--multi td {
	min-width: 130px;
}

/* Selection Guide */
.product-selection {
	background: #FFFFFF;
	border-bottom: 1px solid var(--color-border);
}

.product-selection__intro {
	margin-bottom: 28px;
	color: var(--color-text-secondary);
}

.product-selection__intro > :last-child {
	margin-bottom: 0;
}

.product-selection-table {
	margin: 0;
	border-top-color: var(--color-primary);
}

.product-selection-table--multi {
	min-width: 760px;
}

.product-selection-table tbody th {
	background: transparent;
	color: var(--color-text);
	font-weight: var(--font-weight-semibold);
}

.product-selection-table--multi th,
.product-selection-table--multi td {
	min-width: 135px;
}

/* Custom Product Table */
.product-custom-table {
	background: #FFFFFF;
	border-bottom: 1px solid var(--color-border);
}

.product-custom-table__intro {
	margin-bottom: 28px;
	color: var(--color-text-secondary);
}

.product-custom-table__intro > :last-child {
	margin-bottom: 0;
}

.product-custom-data-table {
	margin: 0;
	border-top-color: var(--color-primary);
}

.product-custom-data-table--multi {
	min-width: 760px;
}

.product-custom-data-table tbody th {
	background: transparent;
	color: var(--color-text);
	font-weight: var(--font-weight-semibold);
}

.product-custom-data-table--multi th,
.product-custom-data-table--multi td {
	min-width: 135px;
}

.product-spec-table a,
.product-selection-table a,
.product-custom-data-table a {
	font-weight: var(--font-weight-semibold);
}

/* Dimensions */
.product-dimensions {
	background: var(--color-background-light);
	border-bottom: 1px solid var(--color-border);
}

.product-dimensions__intro {
	color: var(--color-text-secondary);
}

.product-dimensions__intro > :last-child {
	margin-bottom: 0;
}

.product-dimensions__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
	gap: clamp(32px, 4vw, 64px);
	align-items: start;
}

.product-dimensions__grid--single {
	grid-template-columns: minmax(0, 1100px);
}

.product-dimensions__drawing {
	display: grid;
	place-items: center;
	min-height: 320px;
	margin: 0;
	padding: 20px;
	background: #FFFFFF;
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-card);
}

.product-dimensions__drawing img {
	width: 100%;
	height: auto;
	max-height: 720px;
	object-fit: contain;
	border-radius: 0;
}

.product-dimensions-table {
	margin: 0;
	border-top-color: var(--color-primary);
}

.product-dimensions-table tbody th {
	width: 48%;
	background: transparent;
	color: var(--color-text);
	font-weight: var(--font-weight-semibold);
}

/* Installation */
.product-installation {
	background: #FFFFFF;
}

.product-installation__content {
	color: var(--color-text-secondary);
}

.product-installation__content > :last-child {
	margin-bottom: 0;
}

.product-installation__content h2,
.product-installation__content h3,
.product-installation__content h4 {
	margin-top: 32px;
	color: var(--color-text);
}

/* Accessories */
.product-accessories {
	background: var(--color-background-light);
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.product-accessories__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.product-accessories .product-card:hover {
	transform: translateY(-2px);
}

/* Keep the quote target clear of the sticky in-page navigation. */
#request-a-quote {
	scroll-margin-top: calc(var(--admin-bar-offset, 0px) + var(--site-header-visible-height, var(--site-header-height)) + var(--section-anchor-nav-height, 54px));
}

@media (max-width: 1023px) {
	.product-dimensions__grid {
		grid-template-columns: 1fr;
	}

	.product-dimensions__drawing {
		min-height: 0;
	}

	.product-accessories__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.product-dimensions__drawing {
		padding: 12px;
	}

	.product-accessories__grid {
		grid-template-columns: 1fr;
	}
}

/* Prevent wide technical tables from expanding their grid parents. The table
   itself may remain wider than the viewport, but only the wrapper scrolls. */
.product-specifications__groups,
.product-spec-group,
.product-section__content,
.product-selection__content,
.table-wrapper {
	min-width: 0;
	max-width: 100%;
}


@media (max-width: 1023px) {
	.content-split--product-37 {
		grid-template-columns: 1fr;
		row-gap: 26px;
	}
}
