/**
 * P2 — Global legacy page polish (2059+ pages via one cascade layer).
 * Loads after per-page site-res + modern-refresh. Content unchanged.
 */

/* ── Material card grid (cnc-machining, sheet-metal, etc.) ─────── */
.jcproto-legacy-body-wrap .jcproto-material-card {
	border-color: var(--jcproto-border, rgba(15, 79, 134, 0.12)) !important;
	border-radius: var(--jcproto-radius-lg, 12px) !important;
	box-shadow: var(--jcproto-shadow-sm, 0 1px 2px rgba(7, 26, 51, 0.06)) !important;
	transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.jcproto-legacy-body-wrap .jcproto-material-card:hover {
	border-color: rgba(0, 0, 0, 0.18) !important;
	box-shadow: var(--jcproto-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.1)) !important;
	transform: translateY(-2px);
}

.jcproto-legacy-body-wrap .jcproto-material-card .backstage-component-btn {
	background: #fff !important;
	color: var(--jcproto-primary, #0a0a0a) !important;
	border: 1px solid var(--jcproto-primary, #0a0a0a) !important;
	border-radius: var(--jcproto-radius, 8px) !important;
	font-weight: 600 !important;
}

.jcproto-legacy-body-wrap .jcproto-material-card .backstage-component-btn:hover {
	background: var(--jcproto-accent-hover, #333333) !important;
	border-color: var(--jcproto-accent-hover, #333333) !important;
	color: #fff !important;
}

/* Industry 4-column grey bands — wins over per-page white-card overrides */
.jcproto-legacy-body-wrap .box-container#cEfUAgPhCsbt:not(.jcproto-material-box--enhanced),
.jcproto-legacy-body-wrap .box-container#eRfAKBaCiglt:not(.jcproto-material-box--enhanced) {
	display: grid !important;
	width: 100% !important;
	column-gap: 0 !important;
	background: #f2f2f2 !important;
	border-radius: var(--jcproto-radius, 8px) !important;
	padding: 20px 0 !important;
	margin-bottom: 28px !important;
	overflow: visible !important;
}

.jcproto-legacy-body-wrap .box-container#cEfUAgPhCsbt:not(.jcproto-material-box--enhanced) {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.jcproto-legacy-body-wrap .box-container#eRfAKBaCiglt:not(.jcproto-material-box--enhanced) {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.jcproto-legacy-body-wrap .box-container#cEfUAgPhCsbt:not(.jcproto-material-box--enhanced) > .container-column,
.jcproto-legacy-body-wrap .box-container#eRfAKBaCiglt:not(.jcproto-material-box--enhanced) > .container-column {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-width: 0 !important;
	float: none !important;
	background: transparent !important;
	border: 0 !important;
	border-right: 1px solid #d9d9d9 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 12px 20px !important;
}

.jcproto-legacy-body-wrap .box-container#cEfUAgPhCsbt:not(.jcproto-material-box--enhanced) > .container-column:last-of-type,
.jcproto-legacy-body-wrap .box-container#eRfAKBaCiglt:not(.jcproto-material-box--enhanced) > .container-column:last-of-type {
	border-right: 0 !important;
}

.jcproto-legacy-body-wrap .box-container#eRfAKBaCiglt:not(.jcproto-material-box--enhanced) > .container-column .prodNod_prodSKU {
	display: none !important;
}

/* ── graphicNew fontStyle card rows — equal height (all legacy pages) ── */
.jcproto-legacy-body-wrap .row:has(> [class*="col-"] [class*="sitewidget-graphicNew"].fontStyle) {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
}

.jcproto-legacy-body-wrap .row:has(> [class*="col-"] [class*="sitewidget-graphicNew"].fontStyle) > [class*="col-"] {
	display: flex !important;
	flex-direction: column !important;
	float: none !important;
}

.jcproto-legacy-body-wrap .row:has(> [class*="col-"] [class*="sitewidget-graphicNew"].fontStyle) > [class*="col-"] > *,
.jcproto-legacy-body-wrap .row:has(> [class*="col-"] [class*="sitewidget-graphicNew"].fontStyle) .backstage-stwidgets-settingwrap,
.jcproto-legacy-body-wrap .row:has(> [class*="col-"] [class*="sitewidget-graphicNew"].fontStyle) [class*="sitewidget-graphicNew"].fontStyle,
.jcproto-legacy-body-wrap .row:has(> [class*="col-"] [class*="sitewidget-graphicNew"].fontStyle) [class*="sitewidget-graphicNew"].fontStyle .sitewidget-content {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 100% !important;
}

.jcproto-legacy-body-wrap .row:has(> [class*="col-"] [class*="sitewidget-graphicNew"].fontStyle) [class*="sitewidget-graphicNew"].fontStyle .sitewidget-bd {
	flex: 1 1 auto !important;
	height: 100% !important;
	box-sizing: border-box !important;
}

/* ── Pagetab / FAQ accordion (bookmark18444) ───────────────────── */
.jcproto-legacy-body-wrap .bookmark18444 {
	position: relative !important;
	left: auto !important;
	transform: none !important;
	width: 100%;
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
	border-bottom-color: var(--jcproto-border, rgba(15, 79, 134, 0.12)) !important;
}

.jcproto-legacy-body-wrap .bookmark18444 .title {
	border-top-color: var(--jcproto-border, rgba(15, 79, 134, 0.12)) !important;
	min-height: 58px;
	transition: background-color 0.2s ease;
}

.jcproto-legacy-body-wrap .bookmark18444 .title_color {
	background-color: var(--jcproto-surface, #f5faff) !important;
}

.jcproto-legacy-body-wrap .bookmark18444 .title:hover,
.jcproto-legacy-body-wrap .bookmark18444 .title.is-open {
	background-color: rgba(0, 0, 0, 0.04);
}

.jcproto-legacy-body-wrap .bookmark18444 .title .content a {
	color: var(--jcproto-text, #071a33) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
}

.jcproto-legacy-body-wrap .bookmark18444 .title:hover a,
.jcproto-legacy-body-wrap .bookmark18444 .title.is-open a {
	color: var(--jcproto-primary, #0a0a0a) !important;
}

.jcproto-legacy-body-wrap .bookmark18444 .title:hover .icon-jianhao path,
.jcproto-legacy-body-wrap .bookmark18444 .title:hover .icon-jiahao path {
	fill: var(--jcproto-primary, #0a0a0a) !important;
}

.jcproto-legacy-body-wrap .bookmark18444 .cont {
	padding-left: 44px;
	padding-right: 24px;
	color: var(--jcproto-text-body, #41576b);
	line-height: 1.7;
}

/* FAQ list widget */
.jcproto-legacy-body-wrap .sitewidget-faqlist .faqlist-style-fold .faq-question-title {
	font-weight: 600;
	color: var(--jcproto-text, #071a33);
	padding: 14px 36px 14px 0;
	border-bottom: 1px solid var(--jcproto-border, rgba(15, 79, 134, 0.12));
	transition: color 0.2s ease;
}

.jcproto-legacy-body-wrap .sitewidget-faqlist .faqlist-style-fold .faq-question-title:hover,
.jcproto-legacy-body-wrap .sitewidget-faqlist .faqlist-style-fold .faq-question-title.is-open {
	color: var(--jcproto-primary, #0a0a0a);
}

.jcproto-legacy-body-wrap .sitewidget-faqlist .faqlist-style-fold .faq-answer-wrap {
	color: var(--jcproto-text-body, #41576b);
	line-height: 1.7;
	padding: 12px 0 16px;
}

.jcproto-legacy-body-wrap .sitewidget-faqlist .faqlist-style-border li {
	border-color: var(--jcproto-border, rgba(15, 79, 134, 0.12)) !important;
	border-radius: var(--jcproto-radius, 8px);
}

/* ── Quote form siteblock (qin18464) — see quote-form-band.css ─── */

/* ── Service hub (6 reasons) — home / non-inner pages only ─────── */
body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .service-section .service_box:hover i,
body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .service-section .service_box i {
	background: var(--jcproto-primary-dark, #0b2f52) !important;
	color: #fff !important;
	animation: none !important;
}

body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .service-section .service_box:hover i {
	background: var(--jcproto-primary, #0f4f86) !important;
}

body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .service-section .info_btn a:hover {
	color: var(--jcproto-primary-hover) !important;
}

/* ── Links in legacy body — home / non-inner pages only ──────── */
body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0) {
	color: var(--jcproto-link, #0066cc);
}

body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0):hover {
	color: var(--jcproto-link-hover, #0052a3);
}

body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .articledetail-cont a:not(.backstage-component-btn):not(.btn) {
	color: var(--jcproto-link, #0066cc);
}

body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .articledetail-cont a:not(.backstage-component-btn):not(.btn):hover {
	color: var(--jcproto-link-hover, #0052a3);
}

/* ── Responsive tabs (r-tabs) — home / non-inner pages only ───── */
body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .r-tabs .r-tabs-nav .r-tabs-state-active .r-tabs-anchor {
	background-color: var(--jcproto-primary, #0f4f86) !important;
	color: #fff !important;
}

body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .r-tabs .r-tabs-nav .r-tabs-anchor {
	border-radius: var(--jcproto-radius-pill, 999px);
	transition: background-color 0.2s ease, color 0.2s ease;
}

body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .tab-style-rectradius .r-tabs-nav .r-tabs-state-active .r-tabs-anchor {
	background-color: var(--jcproto-primary, #0a0a0a) !important;
	color: #fff !important;
}

/* ── Legacy pagination — home / non-inner pages only ─────────── */
body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .sitewidget-bd .paging > li > a:hover,
body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .sitewidget-ft .paging > li > a:hover {
	border-color: var(--jcproto-primary, #0f4f86) !important;
	color: var(--jcproto-primary, #0f4f86) !important;
}

body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .sitewidget-bd .paging > li.active > span,
body:not(.jcproto-has-legacy-body) .jcproto-legacy-body-wrap .sitewidget-ft .paging > li.active > span {
	background-color: var(--jcproto-primary, #0f4f86) !important;
	border-color: var(--jcproto-primary, #0f4f86) !important;
}

/* ── Tables in legacy content ──────────────────────────────────── */
.jcproto-legacy-body-wrap .sitewidget-bd table,
.jcproto-legacy-body-wrap .articledetail-cont table {
	border-collapse: collapse;
	border-radius: var(--jcproto-radius, 8px);
	overflow: hidden;
	box-shadow: var(--jcproto-shadow-sm);
}

.jcproto-legacy-body-wrap .sitewidget-bd table th,
.jcproto-legacy-body-wrap .articledetail-cont table th {
	background: var(--jcproto-surface, #f5faff);
	font-weight: 600;
	color: var(--jcproto-text, #071a33);
}

.jcproto-legacy-body-wrap .sitewidget-bd table th,
.jcproto-legacy-body-wrap .sitewidget-bd table td,
.jcproto-legacy-body-wrap .articledetail-cont table th,
.jcproto-legacy-body-wrap .articledetail-cont table td {
	border-color: var(--jcproto-border, rgba(15, 79, 134, 0.12)) !important;
}

/* ── Mobile navigation drawer ──────────────────────────────────── */
body.jcproto-nav-open {
	overflow: hidden;
}

body.jcproto-nav-open::before {
	content: "";
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	z-index: 1999;
}

@media (max-width: 989px) {
	.jcproto-nav {
		background: linear-gradient(180deg, var(--jcproto-primary-dark, #1a1a1a) 0%, #0a0a0a 100%) !important;
		box-shadow: -8px 0 32px rgba(7, 26, 51, 0.35);
		padding-top: 72px !important;
		border-left: 1px solid rgba(255, 255, 255, 0.08);
	}

	.jcproto-nav.is-open .navnew-item > .navnew-link {
		color: #f1f5f9 !important;
		font-weight: 500 !important;
		font-size: 15px !important;
		line-height: 48px !important;
		padding: 0 20px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	}

	.jcproto-nav.is-open .navnew-item > .navnew-link:hover,
	.jcproto-nav.is-open .navnew-item.is-expanded > .navnew-link {
		color: #ffffff !important;
		background: rgba(255, 255, 255, 0.08);
	}

	.jcproto-nav .navnew-sub1,
	.jcproto-nav .navnew-sub1-item.is-expanded > .navnew-sub2 {
		background: rgba(0, 0, 0, 0.2) !important;
		border-top: 1px solid rgba(255, 255, 255, 0.06);
	}

	.jcproto-nav .navnew-sub1 .navnew-link,
	.jcproto-nav .navnew-sub2 .navnew-link {
		color: #cbd5e1 !important;
		font-size: 14px !important;
		line-height: 44px !important;
		padding-left: 32px !important;
	}

	.jcproto-nav .navnew-sub2 .navnew-link {
		padding-left: 48px !important;
		color: #94a3b8 !important;
	}

	.jcproto-nav .navnew-sub1 .navnew-link:hover,
	.jcproto-nav .navnew-sub2 .navnew-link:hover {
		color: #ffffff !important;
		background: rgba(255, 255, 255, 0.06);
	}

	.jcproto-nav-toggle {
		z-index: 2001;
	}

	body.jcproto-nav-open .jcproto-nav-toggle .nav-thumb-ham {
		background: var(--jcproto-text, #071a33);
	}

	body.jcproto-nav-open .jcproto-nav-toggle .nav-thumb-ham.first {
		transform: translateY(7px) rotate(45deg);
	}

	body.jcproto-nav-open .jcproto-nav-toggle .nav-thumb-ham.second {
		opacity: 0;
	}

	body.jcproto-nav-open .jcproto-nav-toggle .nav-thumb-ham.third {
		transform: translateY(-7px) rotate(-45deg);
	}

	.jcproto-nav-toggle .nav-thumb-ham {
		transition: transform 0.25s ease, opacity 0.2s ease;
	}
}

/* ── Dark-band CTAs — white button on black sections ───────────── */
.jcproto-legacy-body-wrap #outerContainer_1676011612636 a.backstage-component-btncolor:not(.gbBgColor0),
.jcproto-legacy-body-wrap #outerContainer_1684920715865 a.backstage-component-btncolor:not(.gbBgColor0),
.jcproto-legacy-body-wrap #outerContainer_1688363766964 a.backstage-component-btncolor:not(.gbBgColor0) {
	background-color: #ffffff !important;
	border-color: #ffffff !important;
	color: var(--jcproto-primary) !important;
}

.jcproto-legacy-body-wrap #outerContainer_1676011612636 a.backstage-component-btncolor:not(.gbBgColor0):hover,
.jcproto-legacy-body-wrap #outerContainer_1684920715865 a.backstage-component-btncolor:not(.gbBgColor0):hover,
.jcproto-legacy-body-wrap #outerContainer_1688363766964 a.backstage-component-btncolor:not(.gbBgColor0):hover {
	background-color: #f8f8f8 !important;
	border-color: #f8f8f8 !important;
	color: var(--jcproto-primary) !important;
}

/* Per-page legacy blue accent borders → black */
.jcproto-legacy-body-wrap blockquote,
.jcproto-legacy-body-wrap .sitewidget-text blockquote {
	border-left-color: var(--jcproto-primary) !important;
}

/* ── v1.5.7 PC large-screen coordination ───────────────────────── */

/* Legacy site-res .sitewidget-bd { max-width:761px } — fill grid columns */
.jcproto-legacy-body-wrap .sitewidget-bd,
.jcproto-legacy-body-wrap .sitewidget-hd {
	max-width: 100% !important;
}

.jcproto-legacy-body-wrap .sitewidget-articledetail .sitewidget-bd > p,
.jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > p:not(:only-child) {
	max-width: 72ch;
}

@media (min-width: 1220px) {
	.jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(:first-child):not(.jcproto-inner-hero) .container[data-module-width],
	.jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(:first-child):not(.jcproto-inner-hero) .container-opened[data-module-width] {
		width: min(var(--jcproto-container, 1380px), calc(100% - 80px)) !important;
		max-width: var(--jcproto-container, 1380px) !important;
		padding-left: 40px !important;
		padding-right: 40px !important;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .graphicNewTitle,
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-hd > h2,
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-hd > h3,
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap span[style*="font-size:36px"],
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap span[style*="font-size: 36px"] {
		font-size: clamp(1.875rem, 2vw, 2.375rem) !important;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-bd {
		font-size: 1.0625rem;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap a.backstage-component-btncolor:not(.gbBgColor0) {
		font-size: 15px !important;
		padding: 12px 28px !important;
	}
}

/* ── v1.5.8 Homepage — black card/tab accents (wins over link blue above) ── */

.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1676600633252 [class*="sitewidget-graphicNew"].fontStyle .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0) {
	color: var(--jcproto-text-body, #555555) !important;
}

.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1676600633252 [class*="sitewidget-graphicNew"].fontStyle .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0) strong {
	color: var(--jcproto-text, #0a0a0a) !important;
}

.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1676600633252 [class*="sitewidget-graphicNew"].fontStyle:hover .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0),
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1676600633252 [class*="sitewidget-graphicNew"].fontStyle:hover .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0) strong,
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1676600633252 [class*="sitewidget-graphicNew"].fontStyle:hover .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0) span,
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1676600633252 [class*="sitewidget-graphicNew"].fontStyle:hover .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0) strong * {
	color: #fff !important;
}

.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1676600633252 [class*="sitewidget-graphicNew"].fontStyle:hover .sitewidget-bd a span[style*="#999"],
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1676600633252 [class*="sitewidget-graphicNew"].fontStyle:hover .sitewidget-bd a span[style*="color:#999"] {
	background: #fff !important;
}

.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-prodTabList .tab-style-rectradius .r-tabs-nav .r-tabs-tab:not(.r-tabs-state-active) .r-tabs-anchor:not(.backstage-component-btn) {
	color: var(--jcproto-text, #0a0a0a) !important;
}

.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-prodTabList .tab-style-rectradius .r-tabs-nav .r-tabs-tab.r-tabs-state-active .r-tabs-anchor,
.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-prodTabList .tab-style-rectradius .r-tabs-nav .r-tabs-state-active .r-tabs-anchor {
	background-color: var(--jcproto-primary, #0a0a0a) !important;
	color: #fff !important;
}

.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-prodTabList-cont .prodTabList-prodName a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0) {
	color: var(--jcproto-text, #0a0a0a) !important;
}

/* Client's Words — pagination dots visible, bottom-center inside slide artboard */
.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-advancedSlider-20230215145931.jcproto-ls-testimonials .jcproto-ls-nav,
.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-advancedSlider-20230215145931.jcproto-ls-testimonials .ls-bottom-nav-wrapper {
	visibility: visible !important;
	height: auto !important;
	position: absolute !important;
	left: 50% !important;
	bottom: 16px !important;
	transform: translateX(-50%) !important;
}

.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-advancedSlider-20230215145931.jcproto-ls-testimonials .jcproto-ls-dot {
	visibility: visible !important;
}
