
:root{
	--tmx-navy:#071550;
	--tmx-navy-2:#0c216a;
	--tmx-red:#e9344f;
	--tmx-accent:#e9344f;
	--tmx-ink:#111827;
	--tmx-muted:#667085;
	--tmx-line:#e7eaf0;
	--tmx-soft:#f7f8fb;
	--tmx-white:#fff;
	--tmx-success:#137a4b;
	--tmx-warning:#9a6700;
	--tmx-danger:#a43a3a;
}
.tmx-product{max-width:1440px;margin:0 auto;padding:28px 22px 56px;color:var(--tmx-ink);font-size:16px;line-height:1.6}
.tmx-product *{box-sizing:border-box}
.tmx-hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:54px;align-items:start}
.tmx-gallery{position:relative}
.tmx-main-image-link{display:block;overflow:hidden;border:1px solid var(--tmx-line);border-radius:14px;background:#fff;aspect-ratio:4/3}
.tmx-main-image{display:block;width:100%;height:100%;object-fit:contain}
.tmx-gallery-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border:1px solid var(--tmx-line);border-radius:14px;background:var(--tmx-soft);overflow:hidden}
.tmx-gallery-placeholder img{max-width:70%;height:auto}
.tmx-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:12px}
.tmx-thumb{appearance:none;border:1px solid var(--tmx-line);border-radius:9px;background:#fff;padding:0;overflow:hidden;cursor:pointer;aspect-ratio:1/1;transition:border-color .16s ease,box-shadow .16s ease}
.tmx-thumb:hover,.tmx-thumb:focus-visible,.tmx-thumb.is-active{border-color:var(--tmx-navy);box-shadow:0 0 0 2px rgba(7,21,80,.08)}
.tmx-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.tmx-summary{padding:8px 0 0}
.tmx-kickers{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.tmx-kickers>span{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#f0f3f9;color:var(--tmx-navy);font-size:12px;font-weight:700;letter-spacing:.02em}
.tmx-stock.is-available{background:#edf8f2;color:var(--tmx-success)}
.tmx-stock.is-backorder{background:#fff7df;color:var(--tmx-warning)}
.tmx-stock.is-unavailable{background:#fff0f0;color:var(--tmx-danger)}
.tmx-title{margin:0 0 16px!important;color:var(--tmx-navy)!important;font-size:clamp(30px,3vw,46px)!important;line-height:1.12!important;letter-spacing:-.03em!important;font-weight:750!important}
.tmx-short{color:#4b5565;font-size:16px;line-height:1.72;margin-bottom:20px}
.tmx-short>:first-child{margin-top:0}.tmx-short>:last-child{margin-bottom:0}
.tmx-keyfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 22px;border-top:1px solid var(--tmx-line);border-left:1px solid var(--tmx-line);border-radius:10px;overflow:hidden}
.tmx-keyfacts>div{padding:11px 13px;border-right:1px solid var(--tmx-line);border-bottom:1px solid var(--tmx-line);background:#fff}
.tmx-keyfacts dt{margin:0 0 2px;color:var(--tmx-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.tmx-keyfacts dd{margin:0;color:var(--tmx-ink);font-size:14px;font-weight:650;overflow-wrap:anywhere}
.tmx-inquiry-card{border:1px solid #dfe4ef;border-radius:14px;background:linear-gradient(180deg,#fbfcff 0%,#f7f9fd 100%);padding:20px}
.tmx-eyebrow{margin:0 0 5px!important;color:var(--tmx-red)!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.07em}
.tmx-inquiry-copy>p:last-child{margin:8px 0 0;color:var(--tmx-muted);font-size:13px;line-height:1.55}
.tmx-current-price{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin:0!important}
.tmx-current-price span{color:var(--tmx-muted);font-size:13px;font-weight:650}
.tmx-current-price strong{color:var(--tmx-navy);font-size:24px;line-height:1.2}
.tmx-price-request{margin:0!important;color:var(--tmx-navy);font-size:22px;font-weight:800}
.tmx-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:16px}
.tmx-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 17px;border-radius:9px;text-decoration:none!important;font-size:14px;font-weight:750;transition:transform .12s ease,background .12s ease,border-color .12s ease}
.tmx-btn:focus-visible{outline:3px solid rgba(7,21,80,.18);outline-offset:2px}
.tmx-btn-primary{background:var(--tmx-navy);border:1px solid var(--tmx-navy);color:#fff!important}
.tmx-btn-primary:hover{background:var(--tmx-navy-2);transform:translateY(-1px)}
.tmx-btn-secondary{background:#fff;border:1px solid #cfd6e3;color:var(--tmx-navy)!important}
.tmx-btn-secondary:hover{border-color:var(--tmx-navy)}
.tmx-categories{margin-top:14px;color:var(--tmx-muted);font-size:12px}
.tmx-categories>span{font-weight:700;color:#4b5565}
.tmx-categories a{color:var(--tmx-navy);text-decoration:none}
.tmx-section{margin-top:54px;padding-top:34px;border-top:1px solid var(--tmx-line)}
.tmx-section-head{max-width:840px;margin-bottom:20px}
.tmx-section h2{margin:0!important;color:var(--tmx-navy)!important;font-size:clamp(25px,2.2vw,34px)!important;line-height:1.2!important;letter-spacing:-.02em!important}
.tmx-prose{max-width:1000px;color:#3f4755}
.tmx-prose h2,.tmx-prose h3,.tmx-prose h4{color:var(--tmx-navy)!important;scroll-margin-top:100px}
.tmx-prose img{max-width:100%;height:auto}
.tmx-prose table{width:100%;border-collapse:collapse}
.tmx-prose th,.tmx-prose td{padding:10px 12px;border:1px solid var(--tmx-line);text-align:left;vertical-align:top}
.tmx-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--tmx-line);border-left:1px solid var(--tmx-line);border-radius:10px;overflow:hidden;background:#fff}
.tmx-spec-row{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(0,1fr);min-height:52px;border-right:1px solid var(--tmx-line);border-bottom:1px solid var(--tmx-line)}
.tmx-spec-label,.tmx-spec-value{padding:12px 14px;overflow-wrap:anywhere}
.tmx-spec-label{background:var(--tmx-soft);color:#5b6472;font-size:13px;font-weight:700}
.tmx-spec-value{color:var(--tmx-ink);font-size:14px}
.tmx-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tmx-related-card{min-width:0;border:1px solid var(--tmx-line);border-radius:12px;background:#fff;overflow:hidden}
.tmx-related-image{display:block;aspect-ratio:4/3;background:var(--tmx-soft);overflow:hidden}
.tmx-related-image img{display:block;width:100%;height:100%;object-fit:cover}
.tmx-related-body{padding:14px}
.tmx-related-brand{margin:0 0 4px!important;color:var(--tmx-muted);font-size:11px!important;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.tmx-related-card h3{margin:0 0 10px!important;font-size:15px!important;line-height:1.35!important}
.tmx-related-card h3 a{color:var(--tmx-navy)!important;text-decoration:none!important}
.tmx-text-link{color:var(--tmx-navy)!important;text-decoration:none!important;font-size:13px;font-weight:750}
.tmx-editor-note{padding:14px;border:1px dashed #aeb7c5;background:#f8fafc;color:#475467;font-size:13px}
.tmx-price-on-request{font-weight:700;color:var(--tmx-navy)}
@media(max-width:1100px){
	.tmx-hero{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:32px}
	.tmx-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}
	.tmx-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
	.tmx-product{padding:20px 16px 44px}
	.tmx-hero{grid-template-columns:1fr;gap:26px}
	.tmx-summary{padding-top:0}
	.tmx-title{font-size:32px!important}
	.tmx-main-image-link{aspect-ratio:4/3}
	.tmx-thumbs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:3px}
	.tmx-thumb{flex:0 0 76px;scroll-snap-align:start}
	.tmx-section{margin-top:42px;padding-top:28px}
	.tmx-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:540px){
	.tmx-product{padding-left:12px;padding-right:12px}
	.tmx-title{font-size:28px!important}
	.tmx-keyfacts{grid-template-columns:1fr}
	.tmx-actions{grid-template-columns:1fr}
	.tmx-current-price{display:block}
	.tmx-current-price strong{display:block;margin-top:3px}
	.tmx-spec-grid{grid-template-columns:1fr}
	.tmx-related-grid{gap:12px}
	.tmx-related-body{padding:11px}
}
@media(prefers-reduced-motion:reduce){
	.tmx-thumb,.tmx-btn{transition:none}
}


/* v1.1.0 — natural-ratio main image + paginated gallery */
.tmx-main-stage{position:relative}
.tmx-main-image-link{
	aspect-ratio:auto!important;
	min-height:0!important;
	display:flex!important;
	align-items:center;
	justify-content:center;
	background:#fff;
}
.tmx-main-image{
	width:100%!important;
	height:auto!important;
	max-height:680px;
	object-fit:contain!important;
	object-position:center center!important;
}
.tmx-image-count{
	position:absolute;
	right:12px;
	bottom:12px;
	padding:5px 9px;
	border-radius:999px;
	background:rgba(17,24,39,.78);
	color:#fff;
	font-size:11px;
	font-weight:700;
	line-height:1;
	backdrop-filter:blur(4px);
}
.tmx-thumbs{
	grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.tmx-thumb[hidden]{display:none!important}
.tmx-gallery-pagination{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	margin-top:12px;
}
.tmx-gallery-page-btn{
	appearance:none;
	width:36px;
	height:36px;
	padding:0;
	border:1px solid var(--tmx-line);
	border-radius:9px;
	background:#fff;
	color:var(--tmx-navy);
	font-size:23px;
	line-height:1;
	cursor:pointer;
}
.tmx-gallery-page-btn:hover:not(:disabled),
.tmx-gallery-page-btn:focus-visible:not(:disabled){
	border-color:var(--tmx-navy);
}
.tmx-gallery-page-btn:disabled{opacity:.35;cursor:not-allowed}
.tmx-gallery-page-status{min-width:44px;text-align:center;color:var(--tmx-muted);font-size:12px;font-weight:700}

/* v1.1.0 — specifications are one readable semantic-style list, not two disconnected columns */
.tmx-spec-grid{
	display:block!important;
	border:1px solid var(--tmx-line)!important;
	border-radius:10px!important;
	overflow:hidden;
	background:#fff;
}
.tmx-spec-row{
	display:grid!important;
	grid-template-columns:minmax(190px,28%) minmax(0,1fr)!important;
	min-height:50px;
	border:0!important;
	border-bottom:1px solid var(--tmx-line)!important;
}
.tmx-spec-row:last-child{border-bottom:0!important}
.tmx-spec-row:nth-child(even) .tmx-spec-label,
.tmx-spec-row:nth-child(even) .tmx-spec-value{background:#fbfcfe}
.tmx-spec-label{
	background:#f6f8fb!important;
	border-right:1px solid var(--tmx-line);
}
.tmx-spec-value{background:#fff}
.tmx-spec-row.is-long .tmx-spec-value{line-height:1.65}

@media(max-width:1100px){
	.tmx-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(max-width:820px){
	.tmx-main-image{max-height:none}
	.tmx-thumbs{
		display:grid!important;
		grid-template-columns:repeat(4,minmax(0,1fr))!important;
		overflow:visible!important;
	}
	.tmx-thumb{width:auto!important;flex:auto!important}
}
@media(max-width:540px){
	.tmx-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
	.tmx-spec-row{grid-template-columns:1fr!important}
	.tmx-spec-label{border-right:0;border-bottom:1px solid var(--tmx-line)}
}


/* v1.2.0 — quote request form + extra CTAs */
.tmx-actions--triple{
	grid-template-columns:minmax(0,1.7fr) minmax(120px,.65fr) minmax(120px,.65fr)!important;
}
.tmx-quote-panel{
	margin-top:54px;
	padding:28px;
	border:1px solid var(--tmx-line);
	border-radius:16px;
	background:linear-gradient(180deg,#fbfcff 0%,#f8fafd 100%);
}
.tmx-section-head--compact{max-width:760px}
.tmx-quote-intro{
	margin:8px 0 0;
	color:var(--tmx-muted);
	font-size:14px;
	line-height:1.65;
}
.tmx-flash{
	margin:14px 0 18px;
	padding:12px 14px;
	border-radius:10px;
	font-size:14px;
	font-weight:650;
}
.tmx-flash.is-success{background:#eefbf3;color:#15653d;border:1px solid #d6efdf}
.tmx-flash.is-error{background:#fff2f2;color:#992d2d;border:1px solid #f0d1d1}
.tmx-quote-form{
	display:block;
}
.tmx-form-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px;
}
.tmx-field{margin:0 0 14px}
.tmx-field label{
	display:block;
	margin:0 0 7px;
	color:var(--tmx-navy);
	font-size:13px;
	font-weight:700;
}
.tmx-field input,
.tmx-field textarea{
	display:block;
	width:100%;
	padding:13px 14px;
	border:1px solid #d6dbe6;
	border-radius:10px;
	background:#fff;
	color:var(--tmx-ink);
	font-size:15px;
	line-height:1.45;
}
.tmx-field input:focus,
.tmx-field textarea:focus{
	outline:none;
	border-color:var(--tmx-navy);
	box-shadow:0 0 0 3px rgba(7,21,80,.08);
}
.tmx-field textarea{
	min-height:128px;
	resize:vertical;
}
.tmx-form-actions{padding-top:2px}
@media(max-width:820px){
	.tmx-actions--triple{
		grid-template-columns:1fr!important;
	}
	.tmx-quote-panel{
		margin-top:42px;
		padding:20px;
	}
}
@media(max-width:540px){
	.tmx-form-grid{
		grid-template-columns:1fr;
	}
}


/* v1.3.0 — section copy */
.tmx-section-copy{
	max-width:760px;
	margin:8px 0 0;
	color:var(--tmx-muted);
	font-size:14px;
	line-height:1.65;
}

/* v1.3.0 — intelligent internal links */
.tmx-link-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}
.tmx-link-card{
	display:flex;
	flex-direction:column;
	gap:8px;
	min-height:172px;
	padding:20px;
	border:1px solid var(--tmx-line);
	border-radius:16px;
	background:#fff;
	color:inherit;
	text-decoration:none;
	transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.tmx-link-card:hover,
.tmx-link-card:focus-visible{
	border-color:rgba(8,23,90,.28);
	transform:translateY(-2px);
	box-shadow:0 12px 26px rgba(7,21,80,.06);
}
.tmx-link-eyebrow{
	color:var(--tmx-accent);
	font-size:11px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.tmx-link-title{
	color:var(--tmx-navy);
	font-size:22px;
	line-height:1.2;
	font-weight:800;
}
.tmx-link-desc{
	color:var(--tmx-muted);
	font-size:14px;
	line-height:1.65;
}
.tmx-link-arrow{
	margin-top:auto;
	color:var(--tmx-navy);
	font-weight:800;
	font-size:18px;
}

/* v1.3.0 — FAQ */
.tmx-faq-list{
	display:grid;
	gap:12px;
}
.tmx-faq-item{
	border:1px solid var(--tmx-line);
	border-radius:14px;
	background:#fff;
	overflow:hidden;
}
.tmx-faq-item summary{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:18px 20px;
	cursor:pointer;
	list-style:none;
}
.tmx-faq-item summary::-webkit-details-marker{display:none}
.tmx-faq-question{
	color:var(--tmx-navy);
	font-size:18px;
	font-weight:750;
	line-height:1.4;
}
.tmx-faq-icon{
	position:relative;
	flex:0 0 18px;
	width:18px;
	height:18px;
}
.tmx-faq-icon:before,
.tmx-faq-icon:after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:14px;
	height:2px;
	border-radius:999px;
	background:var(--tmx-navy);
	transform:translate(-50%,-50%);
}
.tmx-faq-icon:after{
	transform:translate(-50%,-50%) rotate(90deg);
	transition:transform .18s ease;
}
.tmx-faq-item[open] .tmx-faq-icon:after{
	transform:translate(-50%,-50%) rotate(0deg);
}
.tmx-faq-answer{
	padding:0 20px 20px;
	color:var(--tmx-muted);
	font-size:15px;
	line-height:1.75;
}

/* v1.3.0 — Similar systems */
.tmx-similar-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
}
.tmx-similar-card{
	border:1px solid var(--tmx-line);
	border-radius:18px;
	background:#fff;
	overflow:hidden;
}
.tmx-similar-image{
	display:block;
	aspect-ratio:4/3;
	background:#f7f8fb;
}
.tmx-similar-image img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.tmx-similar-body{
	padding:18px 18px 20px;
}
.tmx-similar-badges{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 10px;
}
.tmx-similar-badges span{
	display:inline-flex;
	align-items:center;
	padding:5px 9px;
	border-radius:999px;
	background:#f1f5ff;
	color:var(--tmx-navy);
	font-size:11px;
	font-weight:800;
	line-height:1;
}
.tmx-similar-body h3{
	margin:0 0 12px;
	font-size:24px;
	line-height:1.25;
}
.tmx-similar-body h3 a{
	color:var(--tmx-navy);
	text-decoration:none;
}
.tmx-similar-body h3 a:hover{
	text-decoration:underline;
}

@media (max-width:1100px){
	.tmx-link-grid,
	.tmx-similar-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width:820px){
	.tmx-link-grid,
	.tmx-similar-grid{
		grid-template-columns:1fr;
	}
	.tmx-link-title{
		font-size:20px;
	}
	.tmx-faq-question{
		font-size:17px;
	}
	.tmx-similar-body h3{
		font-size:21px;
	}
}


/* v1.6.0 — mobile product experience polish.
   CSS-only: no extra library, no carousel framework, no layout JS. */
@media(max-width:820px){
	body.single-product .tmx-product{
		padding:14px 12px 42px;
		font-size:15px;
	}

	body.single-product .tmx-hero{
		gap:18px;
	}

	body.single-product .tmx-gallery-col{
		min-width:0;
	}

	body.single-product .tmx-main-stage{
		border-radius:16px;
		overflow:hidden;
		background:#fff;
		box-shadow:0 8px 24px rgba(7,21,80,.055);
	}

	body.single-product .tmx-main-image-link{
		border-radius:16px!important;
		border-color:#e3e7ee;
	}

	body.single-product .tmx-image-count{
		right:10px;
		bottom:10px;
		padding:6px 9px;
		font-size:10px;
	}

	body.single-product .tmx-thumbs{
		grid-template-columns:repeat(4,minmax(0,1fr))!important;
		gap:8px;
		margin-top:10px;
	}

	body.single-product .tmx-thumb{
		border-radius:10px;
	}

	body.single-product .tmx-gallery-pagination{
		margin-top:10px;
		gap:10px;
	}

	body.single-product .tmx-gallery-page-btn{
		width:38px;
		height:38px;
		border-radius:11px;
		background:#fff;
		box-shadow:0 3px 10px rgba(7,21,80,.04);
	}

	body.single-product .tmx-summary{
		padding:18px;
		border:1px solid var(--tmx-line);
		border-radius:16px;
		background:#fff;
		box-shadow:0 10px 30px rgba(7,21,80,.045);
	}

	body.single-product .tmx-kickers{
		margin-bottom:10px;
	}

	body.single-product .tmx-kickers>span{
		min-height:26px;
		padding:4px 9px;
		font-size:11px;
	}

	body.single-product .tmx-title{
		margin-bottom:13px!important;
		font-size:clamp(26px,7vw,32px)!important;
		line-height:1.14!important;
	}

	body.single-product .tmx-short{
		margin-bottom:16px;
		font-size:14px;
		line-height:1.65;
	}

	body.single-product .tmx-keyfacts{
		grid-template-columns:repeat(2,minmax(0,1fr));
		margin-bottom:16px;
		border-radius:12px;
	}

	body.single-product .tmx-keyfacts>div{
		padding:10px 11px;
	}

	body.single-product .tmx-keyfacts dt{
		font-size:10px;
	}

	body.single-product .tmx-keyfacts dd{
		font-size:13px;
		line-height:1.4;
	}

	body.single-product .tmx-inquiry-card{
		padding:16px;
		border-radius:14px;
	}

	body.single-product .tmx-current-price{
		align-items:flex-start;
	}

	body.single-product .tmx-current-price strong{
		font-size:22px;
	}

	body.single-product .tmx-actions--triple{
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		gap:9px;
	}

	body.single-product .tmx-actions--triple .tmx-btn-primary{
		grid-column:1 / -1;
	}

	body.single-product .tmx-btn{
		min-height:46px;
		padding:10px 12px;
		border-radius:10px;
		font-size:13px;
	}

	body.single-product .tmx-categories{
		margin-top:12px;
		line-height:1.55;
	}

	body.single-product .tmx-section{
		margin-top:36px;
		padding-top:26px;
	}

	body.single-product .tmx-section h2{
		font-size:26px!important;
	}

	body.single-product .tmx-section-copy,
	body.single-product .tmx-quote-intro{
		font-size:13px;
	}

	body.single-product .tmx-prose{
		font-size:14px;
		line-height:1.72;
	}

	body.single-product .tmx-spec-grid{
		border-radius:13px!important;
	}

	body.single-product .tmx-spec-row{
		grid-template-columns:minmax(118px,36%) minmax(0,1fr)!important;
		min-height:48px;
	}

	body.single-product .tmx-spec-label,
	body.single-product .tmx-spec-value{
		padding:11px 12px;
		font-size:13px;
	}

	body.single-product .tmx-quote-panel{
		margin-top:36px;
		padding:18px;
		border-radius:16px;
	}

	body.single-product .tmx-field input,
	body.single-product .tmx-field textarea{
		min-height:46px;
		padding:12px 13px;
		border-radius:11px;
		font-size:16px; /* prevents iOS input zoom */
	}

	body.single-product .tmx-field textarea{
		min-height:118px;
	}

	body.single-product .tmx-link-card{
		min-height:145px;
		padding:17px;
		border-radius:14px;
	}

	body.single-product .tmx-link-title{
		font-size:19px;
	}

	body.single-product .tmx-faq-list{
		gap:9px;
	}

	body.single-product .tmx-faq-item{
		border-radius:13px;
	}

	body.single-product .tmx-faq-item summary{
		padding:15px 16px;
	}

	body.single-product .tmx-faq-question{
		font-size:15px;
		line-height:1.45;
	}

	body.single-product .tmx-faq-answer{
		padding:0 16px 16px;
		font-size:14px;
	}

	/* Similar/related products become touch-friendly horizontal cards on mobile,
	   reducing the very long page while keeping all internal links crawlable. */
	body.single-product .tmx-similar-grid,
	body.single-product .tmx-related-grid{
		display:grid!important;
		grid-template-columns:none!important;
		grid-auto-flow:column;
		grid-auto-columns:minmax(250px,82%);
		gap:12px;
		overflow-x:auto;
		overflow-y:hidden;
		padding:2px 2px 10px;
		scroll-snap-type:x mandatory;
		overscroll-behavior-inline:contain;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}

	body.single-product .tmx-similar-grid::-webkit-scrollbar,
	body.single-product .tmx-related-grid::-webkit-scrollbar{
		display:none;
	}

	body.single-product .tmx-similar-card,
	body.single-product .tmx-related-card{
		scroll-snap-align:start;
		border-radius:15px;
	}

	body.single-product .tmx-similar-body{
		padding:15px 15px 17px;
	}

	body.single-product .tmx-similar-body h3{
		font-size:19px;
	}

	body.single-product .tmx-related-body{
		padding:13px;
	}
}

@media(max-width:540px){
	body.single-product .tmx-product{
		padding-left:10px;
		padding-right:10px;
	}

	body.single-product .tmx-thumbs{
		grid-template-columns:repeat(4,minmax(0,1fr))!important;
	}

	body.single-product .tmx-summary{
		padding:15px;
	}

	body.single-product .tmx-keyfacts{
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}

	body.single-product .tmx-spec-row{
		grid-template-columns:1fr!important;
	}

	body.single-product .tmx-spec-label{
		padding-bottom:7px;
		border-right:0;
		border-bottom:0;
		background:#f7f9fc!important;
	}

	body.single-product .tmx-spec-value{
		padding-top:7px;
	}

	body.single-product .tmx-form-grid{
		grid-template-columns:1fr;
	}

	body.single-product .tmx-similar-grid,
	body.single-product .tmx-related-grid{
		grid-auto-columns:86%;
	}
}

@media(max-width:350px){
	body.single-product .tmx-keyfacts{
		grid-template-columns:1fr!important;
	}

	body.single-product .tmx-thumbs{
		grid-template-columns:repeat(3,minmax(0,1fr))!important;
	}
}


/* v1.6.1 — canonical related architecture: Similar Systems only */
.tmx-section-head-row{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
}
.tmx-section-head-row>div{
	min-width:0;
}
.tmx-section-cta{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:9px 0;
	color:var(--tmx-navy)!important;
	text-decoration:none!important;
	font-size:13px;
	font-weight:800;
	white-space:nowrap;
}
.tmx-section-cta:hover{
	text-decoration:underline!important;
}
.tmx-similar-grid{
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
}
.tmx-section-footer-cta{
	display:none;
	margin-top:14px;
}

@media(max-width:1100px){
	.tmx-similar-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:820px){
	.tmx-section-head-row{
		display:block;
	}
	.tmx-section-head-row>.tmx-section-cta{
		display:none;
	}

	/* Keep the mobile horizontal-card behavior from v1.6.0. */
	body.single-product .tmx-similar-grid{
		display:grid!important;
		grid-template-columns:none!important;
		grid-auto-flow:column;
		grid-auto-columns:minmax(250px,82%);
		gap:12px;
		overflow-x:auto;
		overflow-y:hidden;
		padding:2px 2px 10px;
		scroll-snap-type:x mandatory;
		overscroll-behavior-inline:contain;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}

	.tmx-section-footer-cta{
		display:block;
	}
	.tmx-section-footer-cta .tmx-btn{
		width:100%;
	}
}


/* v1.6.2 — native LCP image safety */
.tmx-native-hero-image{
	display:block;
	width:100%;
	height:auto;
}


/* v1.6.6 — immediate native LCP paint + accessibility polish */
body.single-product .tmx-native-hero-image,
body.single-product img.tmx-native-hero-image.porto-lazyload,
body.single-product img.tmx-native-hero-image.lazy-load-loaded{
	opacity:1!important;
	visibility:visible!important;
	transform:none!important;
	filter:none!important;
	animation:none!important;
	transition:none!important;
	content-visibility:visible!important;
}

/* Quote fields: readable contrast */
body.single-product .tmx-field input,
body.single-product .tmx-field textarea{
	color:#1f2937!important;
	background:#fff!important;
	border-color:#98a2b3!important;
}
body.single-product .tmx-field input::placeholder,
body.single-product .tmx-field textarea::placeholder{
	color:#667085!important;
	opacity:1!important;
}
body.single-product .tmx-field label{
	color:#344054!important;
}

/* Header search contrast on product pages */
body.single-product form.searchform.search-layout-advanced input,
body.single-product form.searchform.search-layout-advanced input[type="search"],
body.single-product form.searchform.search-layout-advanced input[type="text"]{
	color:#1f2937!important;
	background:#fff!important;
}
body.single-product form.searchform.search-layout-advanced input::placeholder{
	color:#667085!important;
	opacity:1!important;
}

/* Product Experience touch targets and visible link affordance */
body.single-product .tmx-text-link,
body.single-product .tmx-section-cta{
	display:inline-flex;
	align-items:center;
	min-height:44px;
	padding-top:8px;
	padding-bottom:8px;
	text-decoration:underline!important;
	text-decoration-thickness:1px!important;
	text-underline-offset:3px!important;
}
body.single-product .tmx-btn{
	min-height:44px;
}
body.single-product .tmx-section-footer-cta .tmx-btn{
	padding-top:11px;
	padding-bottom:11px;
}


/* v1.6.8 — safe offscreen rendering optimization.
   content-visibility:auto keeps content in the DOM/accessibility tree while allowing
   the browser to skip initial layout/paint for sections far below the viewport. */
@supports (content-visibility:auto){
	body.single-product.tmx-defer-offscreen .tmx-overview,
	body.single-product.tmx-defer-offscreen .tmx-specifications,
	body.single-product.tmx-defer-offscreen .tmx-quote-panel,
	body.single-product.tmx-defer-offscreen .tmx-internal-links,
	body.single-product.tmx-defer-offscreen .tmx-faq,
	body.single-product.tmx-defer-offscreen .tmx-similar-systems{
		content-visibility:auto;
		contain-intrinsic-size:auto 720px;
	}

	body.single-product.tmx-defer-offscreen .tmx-specifications{
		contain-intrinsic-size:auto 1100px;
	}

	body.single-product.tmx-defer-offscreen .tmx-similar-systems{
		contain-intrinsic-size:auto 520px;
	}
}
