:root {
	--fanshild-navy: #08263f;
	--fanshild-blue: #00a6c8;
	--fanshild-cyan: #00a6c8;
	--fanshild-ink: #102a43;
	--fanshild-muted: #627d98;
	--fanshild-surface: #f6f8fa;
	--fanshild-white: #ffffff;
	--fanshild-border: #d9e2ec;
	--fanshild-radius: 14px;
	--fanshild-shadow: 0 16px 40px rgba(8, 38, 63, 0.08);
	--fanshild-section-space: clamp(76px, 8vw, 112px);
	--fanshild-font-heading: "Barlow", "Arial Narrow", Arial, sans-serif;
	--fanshild-font-body: "Source Sans 3", "Segoe UI", Arial, sans-serif;
}

body.home,
body.fanshild-product-layout {
	color: var(--fanshild-muted);
	background: var(--fanshild-surface);
	font-family: var(--fanshild-font-body);
	font-size: 17px;
	line-height: 1.65;
}

body.home h1,
body.home h2,
body.home h3,
body.home h4,
body.home h5,
body.home h6,
body.home button,
body.home .button,
body.home .home-button,
body.fanshild-product-layout h1,
body.fanshild-product-layout h2,
body.fanshild-product-layout h3,
body.fanshild-product-layout h4,
body.fanshild-product-layout h5,
body.fanshild-product-layout h6,
body.fanshild-product-layout button,
body.fanshild-product-layout .button {
	font-family: var(--fanshild-font-heading);
}

body.home h1,
body.home h2,
body.home h3,
body.home h4,
body.home h5,
body.home h6,
body.fanshild-product-layout h1,
body.fanshild-product-layout h2,
body.fanshild-product-layout h3,
body.fanshild-product-layout h4,
body.fanshild-product-layout h5,
body.fanshild-product-layout h6 {
	color: var(--fanshild-ink);
	font-weight: 600;
	letter-spacing: -0.018em;
}

.fanshild-container {
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}

@media (max-width: 767px) {
	.fanshild-container {
		width: min(100% - 30px, 1180px);
	}
}

/* Lightweight global footer. */
.fanshild-global-footer {
	color: #173f78;
	background: #ffffff !important;
	background-image: none !important;
	border-top: 1px solid #e7edf5;
	font-family: var(--fanshild-font-body);
}

.fanshild-global-footer,
.fanshild-global-footer * {
	box-sizing: border-box;
}

.fanshild-footer-main {
	display: grid;
	grid-template-columns: minmax(220px, 1.1fr) minmax(180px, 0.72fr) minmax(300px, 1.18fr);
	gap: clamp(38px, 6vw, 86px);
	align-items: start;
	padding-top: clamp(48px, 6vw, 76px);
	padding-bottom: clamp(42px, 5vw, 64px);
}

.fanshild-footer-brand {
	display: grid;
	gap: 22px;
	align-content: start;
}

.fanshild-footer-logo {
	display: inline-flex;
	width: fit-content;
	max-width: 178px;
}

.fanshild-footer-logo__image {
	display: block;
	width: 168px;
	max-width: 100%;
	height: auto;
}

.fanshild-footer-brand p {
	max-width: 320px;
	margin: 0;
	color: #325987;
	font-size: 16px;
	line-height: 1.65;
}

.fanshild-footer-column h2 {
	margin: 0 0 22px;
	color: #173f78;
	font-family: var(--fanshild-font-body);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
}

.fanshild-footer-navigation ul,
.fanshild-footer-contact ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fanshild-footer-navigation ul {
	display: grid;
	gap: 10px;
}

.fanshild-footer-navigation li {
	margin: 0;
}

.fanshild-global-footer a {
	color: #173f78;
	text-decoration: none;
	transition: color 160ms ease;
}

.fanshild-global-footer a[href]:hover,
.fanshild-global-footer a[href]:focus-visible {
	color: #00a6c8;
}

.fanshild-footer-navigation nav a {
	display: inline-flex;
	padding-block: 2px;
	font-size: 16px;
	line-height: 1.5;
}

.fanshild-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	margin-top: 26px;
	color: #173f78;
}

.fanshild-social-placeholder {
	display: inline-flex;
	width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	color: #173f78;
	cursor: default;
}

.fanshild-social-placeholder svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.fanshild-footer-company {
	max-width: 470px;
	margin: 0 0 22px;
	color: #173f78;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.55;
}

.fanshild-footer-contact ul {
	display: grid;
	gap: 12px;
}

.fanshild-footer-contact li {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	margin: 0;
	color: #325987;
	font-size: 16px;
	line-height: 1.5;
}

.fanshild-footer-contact li > span[aria-hidden="true"] {
	color: #173f78;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}

.fanshild-footer-contact a {
	overflow-wrap: anywhere;
}

.fanshild-footer-bottom {
	background: #ffffff;
	border-top: 1px solid #edf1f6;
}

.fanshild-footer-bottom p {
	margin: 0;
	padding-block: 20px;
	color: #67809d;
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 900px) {
	.fanshild-footer-main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fanshild-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.fanshild-footer-main {
		grid-template-columns: 1fr;
		gap: 36px;
		padding-top: 44px;
		padding-bottom: 44px;
	}

	.fanshild-footer-brand {
		grid-column: auto;
	}

	.fanshild-footer-brand p {
		max-width: none;
	}

	.fanshild-footer-bottom p {
		padding-block: 18px;
	}
}

/* Shared Inquiry / Contact section (Element 102 block 102_e41920-10). */
#bottomcontact {
	padding: clamp(72px, 8vw, 110px) 0;
	background: #f5f5f3 !important;
}

#bottomcontact > .kt-row-layout-overlay {
	background: transparent !important;
}

#bottomcontact > .kt-row-column-wrap {
	display: grid !important;
	grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) !important;
	gap: clamp(28px, 3.5vw, 48px) !important;
	padding: clamp(34px, 4vw, 54px) !important;
	border: 1px solid #e4e9ed;
	border-radius: 16px;
	background: var(--fanshild-white) !important;
	box-shadow: 0 22px 55px rgba(16, 42, 67, .08);
}

#bottomcontact .wp-block-kadence-column:first-child > .kt-inside-inner-col,
#bottomcontact .wp-block-kadence-column:last-child > .kt-inside-inner-col {
	padding: 0 !important;
	background: transparent !important;
}

#bottomcontact .wp-block-kadence-column:last-child > .kt-inside-inner-col {
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--fanshild-white) !important;
}

#bottomcontact .wp-block-kadence-column:first-child h2,
#bottomcontact .wp-block-kadence-column:first-child > .kt-inside-inner-col > p {
	display: none !important;
}

#bottomcontact .kt-svg-icon-list-items,
#bottomcontact .kt-svg-icon-list {
	margin: 0 !important;
	padding: 0 !important;
}

#bottomcontact .kt-svg-icon-list {
	display: grid !important;
	gap: 18px !important;
}

#bottomcontact .kt-svg-icon-list-item-wrap {
	position: relative;
	display: flex !important;
	align-items: center;
	min-height: 128px;
	padding: 56px 24px 22px 98px !important;
	border: 1px solid #edf1f4;
	border-radius: 12px;
	color: var(--fanshild-ink) !important;
	background: var(--fanshild-white);
	box-shadow: 0 12px 30px rgba(16, 42, 67, .09);
}

#bottomcontact .kt-svg-icon-list-item-wrap:nth-child(2) {
	order: 1;
	padding-top: 72px !important;
}

#bottomcontact .kt-svg-icon-list-item-wrap:nth-child(1) {
	order: 2;
}

#bottomcontact .kt-svg-icon-list-item-wrap:nth-child(3) {
	display: none !important;
}

#bottomcontact .kt-svg-icon-list-item-wrap:nth-child(4) {
	order: 3;
}

#bottomcontact .kt-svg-icon-list-item-wrap::before {
	position: absolute;
	top: 24px;
	left: 98px;
	color: var(--fanshild-heading);
	font-family: var(--fanshild-font-heading);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
}

#bottomcontact .kt-svg-icon-list-item-wrap:nth-child(1)::before {
	content: "Email Us";
}

#bottomcontact .kt-svg-icon-list-item-wrap:nth-child(2)::before {
	content: "Call Us";
}

#bottomcontact .kt-svg-icon-list-item-wrap:nth-child(2)::after {
	position: absolute;
	top: 50px;
	left: 98px;
	color: var(--fanshild-muted);
	font-size: 14px;
	content: "Tel: +86 152 2326 5845";
}

#bottomcontact .kt-svg-icon-list-item-wrap:nth-child(4)::before {
	content: "Address";
}

#bottomcontact .kt-svg-icon-list-item-wrap .kb-svg-icon-wrap {
	position: absolute;
	top: 50%;
	left: 18px;
	display: grid;
	width: 56px;
	height: 56px;
	transform: translateY(-50%);
	place-items: center;
	border-radius: 10px;
	color: var(--fanshild-white) !important;
	background: #1768ae;
	box-shadow: 0 9px 20px rgba(23, 104, 174, .24);
}

#bottomcontact .kt-svg-icon-list-item-wrap .kb-svg-icon-wrap svg {
	width: 27px;
	height: 27px;
}

#bottomcontact .kt-svg-icon-list-item-wrap a,
#bottomcontact .kt-svg-icon-list-item-wrap .kt-svg-icon-list-text {
	color: var(--fanshild-muted) !important;
	font-size: 15px;
	line-height: 1.55;
}

#bottomcontact .wp-block-kadence-column:last-child > .kt-inside-inner-col::before {
	display: block;
	margin: 0 0 10px;
	color: var(--fanshild-heading);
	font-family: var(--fanshild-font-heading) !important;
	font-size: clamp(32px, 3.2vw, 46px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -.03em !important;
	content: "Leave a Message";
}

#bottomcontact #wpforms-107 {
	margin: 0 !important;
}

#bottomcontact #wpforms-107::before {
	display: block;
	margin: 0 0 20px;
	color: var(--fanshild-muted);
	font-family: var(--fanshild-font-body);
	font-size: 16px;
	line-height: 1.65;
	content: "Tell us about your upcoming water or wastewater project. Our engineering team will review your requirements and respond promptly.";
}

#bottomcontact p,
#bottomcontact a,
#bottomcontact input,
#bottomcontact textarea,
#bottomcontact button {
	font-family: var(--fanshild-font-body) !important;
}

#bottomcontact input,
#bottomcontact textarea {
	min-height: 50px;
	border: 1px solid #ccd6dd !important;
	border-radius: 6px !important;
	background: var(--fanshild-white) !important;
	box-shadow: none !important;
}

#bottomcontact .wpforms-field {
	padding: 0 0 14px !important;
}

#bottomcontact input:focus,
#bottomcontact textarea:focus {
	border-color: var(--fanshild-blue) !important;
	box-shadow: 0 0 0 3px rgba(0, 166, 200, .12) !important;
}

#bottomcontact .wpforms-submit {
	min-width: 122px;
	min-height: 50px;
	padding: 12px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: var(--fanshild-white) !important;
	background: #1768ae !important;
	font-family: var(--fanshild-font-heading) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}

#bottomcontact .wpa-test-msg {
	display: none !important;
}

@media (max-width: 767px) {
	#bottomcontact {
		padding: 56px 14px;
	}

	#bottomcontact > .kt-row-column-wrap {
		grid-template-columns: 1fr !important;
		gap: 30px !important;
		padding: 20px !important;
		border-radius: 18px;
	}

	#bottomcontact .kt-svg-icon-list-item-wrap {
		min-height: 116px;
		padding-right: 18px !important;
		padding-left: 86px !important;
	}

	#bottomcontact .kt-svg-icon-list-item-wrap::before,
	#bottomcontact .kt-svg-icon-list-item-wrap:nth-child(2)::after {
		left: 86px;
	}

	#bottomcontact .kt-svg-icon-list-item-wrap .kb-svg-icon-wrap {
		left: 16px;
		width: 52px;
		height: 52px;
	}

	#bottomcontact .wp-block-kadence-column:last-child > .kt-inside-inner-col::before {
		font-size: 32px;
	}
}

/* Stable card mapping: block rendering inserts STYLE siblings, so do not rely on nth-child. */
#bottomcontact li.kt-svg-icon-list-item-102_fa342d-f4 {
	order: 1 !important;
	padding-top: 72px !important;
}

#bottomcontact li.kt-svg-icon-list-item-102_3256fb-87 {
	order: 2 !important;
}

#bottomcontact li.kt-svg-icon-list-item-102_16fd0e-e0 {
	display: none !important;
}

#bottomcontact li.kt-svg-icon-list-item-102_9e91b1-d2 {
	order: 3 !important;
}

#bottomcontact li.kt-svg-icon-list-item-102_3256fb-87::before {
	content: "Email Us" !important;
}

#bottomcontact li.kt-svg-icon-list-item-102_3256fb-87::after {
	display: none !important;
	content: none !important;
}

#bottomcontact li.kt-svg-icon-list-item-102_fa342d-f4::before {
	content: "Call Us" !important;
}

#bottomcontact li.kt-svg-icon-list-item-102_fa342d-f4::after {
	position: absolute;
	top: 50px;
	left: 98px;
	display: block !important;
	color: var(--fanshild-muted);
	font-size: 14px;
	content: "Tel: +86 152 2326 5845" !important;
}

#bottomcontact li.kt-svg-icon-list-item-102_9e91b1-d2::before {
	content: "Address" !important;
}

@media (max-width: 767px) {
	#bottomcontact li.kt-svg-icon-list-item-102_fa342d-f4::after {
		left: 86px;
	}
}

/* Stable two-column mapping for the shared white-card design. */
#bottomcontact .kadence-column102_56f838-b6 > .kt-inside-inner-col {
	min-height: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

#bottomcontact .kadence-column102_2deaef-10 > .kt-inside-inner-col {
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--fanshild-white) !important;
}

#bottomcontact .kt-adv-heading102_a076e1-d4,
#bottomcontact .kt-adv-heading102_e57268-ca {
	display: none !important;
}
/* Dynamic three-level Product Category Mega Menu. */
.fanshild-product-mega,
.fanshild-product-mega * {
	box-sizing: border-box;
}

.fanshild-product-mega {
	width: 100%;
	color: var(--fanshild-heading);
	background: var(--fanshild-white);
	font-family: var(--fanshild-font-body);
}

.fanshild-product-mega__level {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.fanshild-product-mega__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.fanshild-product-mega__link {
	display: block;
	color: var(--fanshild-heading) !important;
	font-family: var(--fanshild-font-body) !important;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none !important;
}

.fanshild-product-mega__toggle {
	display: none;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	color: currentColor;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}

.fanshild-product-mega__toggle span {
	display: block;
	font-size: 22px;
	line-height: 1;
	transition: transform .2s ease;
}

#menu-item-448 > .sub-menu > .menu-item-320 {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

@media (min-width: 1025px) {
	#site-navigation #menu-item-448 > .sub-menu {
		padding: 0 !important;
		border-top: 3px solid #1768ae;
		border-radius: 0 0 12px 12px;
		background: var(--fanshild-white) !important;
		box-shadow: 0 18px 48px rgba(16, 42, 67, .18);
	}

	#site-navigation .fanshild-product-mega {
		min-height: 488px;
		padding: 24px 28px 28px;
		border-radius: 0 0 12px 12px;
	}

	#site-navigation .fanshild-product-mega__level--one {
		position: relative;
		min-height: 436px;
	}

	#site-navigation .fanshild-product-mega__item--one,
	#site-navigation .fanshild-product-mega__item--two {
		position: static;
	}

	#site-navigation .fanshild-product-mega__item--one > .fanshild-product-mega__row {
		width: 31%;
		margin-bottom: 5px;
	}

	#site-navigation .fanshild-product-mega__link--one {
		width: 100%;
		padding: 13px 16px;
		border-radius: 7px;
		font-family: var(--fanshild-font-heading) !important;
		font-size: 16px;
		font-weight: 600;
	}

	#site-navigation .fanshild-product-mega__item--one.is-active > .fanshild-product-mega__row .fanshild-product-mega__link--one,
	#site-navigation .fanshild-product-mega__item--one > .fanshild-product-mega__row:hover .fanshild-product-mega__link--one,
	#site-navigation .fanshild-product-mega__link--one:focus-visible {
		color: var(--fanshild-white) !important;
		background: #1768ae;
	}

	#site-navigation .fanshild-product-mega__level--two {
		position: absolute;
		top: 0;
		left: 34%;
		display: none !important;
		width: 66%;
		min-height: 436px;
		padding-left: 24px !important;
		border-left: 1px solid #e3e9ee;
	}

	#site-navigation .fanshild-product-mega__item--one.is-active > .fanshild-product-mega__level--two,
	#site-navigation .fanshild-product-mega__item--one:hover > .fanshild-product-mega__level--two,
	#site-navigation .fanshild-product-mega__item--one:focus-within > .fanshild-product-mega__level--two {
		display: block !important;
	}

	#site-navigation .fanshild-product-mega__item--two > .fanshild-product-mega__row {
		width: 43%;
		margin-bottom: 4px;
	}

	#site-navigation .fanshild-product-mega__link--two {
		width: 100%;
		padding: 11px 14px;
		border-radius: 6px;
		font-size: 15px;
	}

	#site-navigation .fanshild-product-mega__item--two.is-active > .fanshild-product-mega__row .fanshild-product-mega__link--two,
	#site-navigation .fanshild-product-mega__item--two > .fanshild-product-mega__row:hover .fanshild-product-mega__link--two,
	#site-navigation .fanshild-product-mega__link--two:focus-visible {
		color: #1768ae !important;
		background: #eef5fb;
	}

	#site-navigation .fanshild-product-mega__link--one::after,
	#site-navigation .fanshild-product-mega__link--two::after {
		float: right;
		content: "›";
	}

	#site-navigation .fanshild-product-mega__level--three {
		position: absolute;
		top: 0;
		left: 46%;
		display: none !important;
		width: 54%;
		min-height: 436px;
		padding: 4px 0 0 28px !important;
		border-left: 1px solid #e3e9ee;
	}

	#site-navigation .fanshild-product-mega__item--two.is-active > .fanshild-product-mega__level--three,
	#site-navigation .fanshild-product-mega__item--two:hover > .fanshild-product-mega__level--three,
	#site-navigation .fanshild-product-mega__item--two:focus-within > .fanshild-product-mega__level--three {
		display: block !important;
	}

	#site-navigation .fanshild-product-mega__link--three {
		position: relative;
		padding: 9px 10px 9px 18px;
		border-radius: 5px;
		font-size: 14px;
	}

	#site-navigation .fanshild-product-mega__link--three::before {
		position: absolute;
		top: 16px;
		left: 2px;
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: #00a6c8;
		content: "";
	}

	#site-navigation .fanshild-product-mega__link--three:hover,
	#site-navigation .fanshild-product-mega__link--three:focus-visible {
		color: #1768ae !important;
		background: #f5f9fc;
	}
}

@media (max-width: 1024px) {
	#mobile-site-navigation .menu-item-448 > .sub-menu > .menu-item-320 {
		padding: 0 0 8px 12px !important;
	}

	#mobile-site-navigation .fanshild-product-mega {
		width: 100%;
		padding: 6px 0 10px;
		background: transparent;
	}

	#mobile-site-navigation .fanshild-product-mega__level {
		position: static !important;
		width: 100% !important;
		min-height: 0 !important;
		border: 0 !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
	}

	#mobile-site-navigation .fanshild-product-mega__level--two,
	#mobile-site-navigation .fanshild-product-mega__level--three {
		display: none !important;
	}

	#mobile-site-navigation .fanshild-product-mega__item--one.is-open > .fanshild-product-mega__level--two,
	#mobile-site-navigation .fanshild-product-mega__item--two.is-open > .fanshild-product-mega__level--three {
		display: block !important;
	}

	#mobile-site-navigation .fanshild-product-mega__row {
		border-bottom: 1px solid rgba(98, 125, 152, .16);
	}

	#mobile-site-navigation .fanshild-product-mega__link {
		flex: 1 1 auto;
		width: auto !important;
		padding: 12px 8px !important;
		font-size: 14px;
	}

	#mobile-site-navigation .fanshild-product-mega__link--one {
		font-family: var(--fanshild-font-heading) !important;
		font-size: 15px;
		font-weight: 600;
	}

	#mobile-site-navigation .fanshild-product-mega__level--two {
		padding-left: 14px !important;
	}

	#mobile-site-navigation .fanshild-product-mega__level--three {
		padding-left: 16px !important;
	}

	#mobile-site-navigation .fanshild-product-mega__link--three {
		color: var(--fanshild-muted) !important;
		font-size: 13px;
	}

	#mobile-site-navigation .fanshild-product-mega__toggle {
		display: grid;
		place-items: center;
	}

	#mobile-site-navigation .fanshild-product-mega__item.is-open > .fanshild-product-mega__row .fanshild-product-mega__toggle span {
		transform: rotate(90deg);
	}
}
/* Products landing page V2. */
.page-id-17 .content-container.site-container,
.page-id-17 #main.site-main,
.page-id-17 .content-wrap,
.page-id-17 article#post-17,
.page-id-17 article#post-17 .entry-content-wrap {
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.products-hub-page,
.products-hub-page * {
	box-sizing: border-box;
}

.products-hub-page {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	color: var(--fanshild-ink);
	background: #f5f7f8;
	font-family: var(--fanshild-font-body);
}

.products-hub-container {
	width: min(100% - 40px, 1500px);
	margin-inline: auto;
}

.products-hub-hero {
	position: relative;
	display: grid;
	min-height: 250px;
	place-items: center start;
	color: var(--fanshild-white);
	background-image: linear-gradient(90deg, rgba(7, 37, 63, .84), rgba(7, 37, 63, .38)), url("/wp-content/uploads/2026/06/1-1-1024x768.webp");
	background-position: center 52%;
	background-repeat: no-repeat;
	background-size: cover;
}

.products-hub-hero__inner {
	padding-block: 42px;
}

.products-hub-eyebrow {
	margin: 0 0 8px;
	color: #00c0df;
	font-family: var(--fanshild-font-heading);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.products-hub-hero h1 {
	margin: 0 0 10px;
	color: var(--fanshild-white);
	font-family: var(--fanshild-font-heading);
	font-size: clamp(38px, 5vw, 62px);
	line-height: 1;
	letter-spacing: -.035em;
}

.products-hub-hero p:last-child {
	max-width: 680px;
	margin: 0;
	color: rgba(255, 255, 255, .86);
	font-size: 17px;
	line-height: 1.55;
}

.products-hub-breadcrumbs {
	border-bottom: 1px solid #e3e9ed;
	background: var(--fanshild-white);
}

.products-hub-breadcrumbs .products-hub-container {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	color: var(--fanshild-muted);
	font-size: 14px;
}

.products-hub-breadcrumbs a {
	color: #1768ae;
	text-decoration: none;
}

.products-hub-catalog {
	padding: 48px 0 72px;
}

.products-hub-layout {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

.products-hub-sidebar {
	display: grid;
	gap: 24px;
}

.products-hub-panel {
	overflow: hidden;
	border: 1px solid #dfe6eb;
	border-radius: 14px;
	background: var(--fanshild-white);
	box-shadow: 0 10px 30px rgba(16, 42, 67, .07);
}

.products-hub-panel > h2 {
	margin: 0;
	padding: 17px 18px;
	color: var(--fanshild-white);
	background: #1768ae;
	font-family: var(--fanshild-font-heading);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
}

.products-hub-panel__icon {
	margin-right: 8px;
	color: #6ee0ee;
}

.products-hub-categories {
	max-height: 620px;
	overflow: auto;
	padding: 8px 14px 14px;
	scrollbar-width: thin;
}

.products-hub-category {
	margin: 0;
	border-bottom: 1px solid #e7ecef;
}

.products-hub-category:last-child {
	border-bottom: 0;
}

.products-hub-category summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 12px 2px;
	color: var(--fanshild-heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	list-style: none;
	cursor: pointer;
}

.products-hub-category summary::-webkit-details-marker {
	display: none;
}

.products-hub-category__chevron {
	flex: 0 0 auto;
	font-size: 20px;
	line-height: 1;
	transition: transform .2s ease;
}

.products-hub-category[open] > summary .products-hub-category__chevron {
	transform: rotate(90deg);
}

.products-hub-category__children {
	padding: 0 0 10px 12px;
}

.products-hub-category__archive{display:block;padding:7px 8px;border-radius:5px;color:#1768ae!important;font-size:12px;line-height:1.35;text-decoration:none!important}
.products-hub-category__filter{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 8px;border-top:1px solid #edf1f3;border-radius:5px;color:var(--fanshild-muted)!important;font-size:13px;font-weight:600;line-height:1.35;text-decoration:none!important}
.products-hub-category__archive:hover,.products-hub-category__filter:hover,.products-hub-category__filter:focus-visible,.products-hub-category__filter.is-active{color:#1768ae!important;background:#eef5fb}
.products-hub-category__filter.is-active{box-shadow:inset 3px 0 0 #1768ae}

.products-hub-panel--contact {
	padding: 22px 18px 20px;
	color: var(--fanshild-white);
	background: linear-gradient(160deg, rgba(10, 57, 92, .97), rgba(23, 104, 174, .94));
}

.products-hub-panel--contact .products-hub-panel__kicker {
	margin: 0 0 7px;
	color: #72d9e8;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.products-hub-panel--contact > h2 {
	margin: 0 0 8px;
	padding: 0;
	color: var(--fanshild-white);
	background: transparent;
	font-size: 25px;
}

.products-hub-panel--contact > p:not(.products-hub-panel__kicker) {
	margin: 0 0 15px;
	color: rgba(255, 255, 255, .78);
	font-size: 14px;
	line-height: 1.5;
}

.products-hub-panel--contact .wpforms-container {
	margin: 0 !important;
}

.products-hub-panel--contact .wpforms-field {
	padding: 0 0 9px !important;
}

.products-hub-panel--contact .wpforms-field-label {
	display: none !important;
}

.products-hub-panel--contact input,
.products-hub-panel--contact textarea {
	min-height: 42px !important;
	padding: 8px 11px !important;
	border: 1px solid rgba(255, 255, 255, .3) !important;
	border-radius: 6px !important;
	color: var(--fanshild-heading) !important;
	background: var(--fanshild-white) !important;
	font-size: 13px !important;
}

.products-hub-panel--contact .wpforms-submit {
	width: 100%;
	min-height: 43px;
	padding: 10px 16px !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #1768ae !important;
	background: var(--fanshild-white) !important;
	font-family: var(--fanshild-font-heading) !important;
	font-weight: 700 !important;
}

.products-hub-panel--contact .wpa-test-msg {
	display: none !important;
}


.products-hub-main {
	min-width: 0;
}

.products-hub-main__header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 16px;
}

.products-hub-main__header h2 {
	margin: 0;
	padding-left: 14px;
	border-left: 4px solid #1768ae;
	color: var(--fanshild-heading);
	font-family: var(--fanshild-font-heading);
	font-size: 34px;
	line-height: 1.1;
}

.products-hub-main__header > p {
	margin: 0 0 3px;
	color: var(--fanshild-muted);
	font-size: 14px;
}

.products-hub-toolbar {
	display: flex;
	gap: 7px;
	align-items: center;
	min-height: 48px;
	margin-bottom: 22px;
	padding: 7px 10px;
	border-radius: 7px;
	background: #e3e7e9;
}

.products-hub-toolbar span {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 5px;
	color: var(--fanshild-muted);
	background: var(--fanshild-white);
}

.products-hub-toolbar .is-active {
	color: #1768ae;
}

.products-hub-results[aria-busy="true"]{min-height:160px}.products-hub-loading{margin:0;padding:52px 20px;border:1px solid #e1e8ed;border-radius:10px;color:var(--fanshild-muted);background:var(--fanshild-white);text-align:center}
.products-hub-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px 18px;
}

.products-hub-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #e7ecef;
	border-radius: 12px;
	background: var(--fanshild-white);
	box-shadow: 0 10px 26px rgba(16, 42, 67, .07);
	transition: transform .2s ease, box-shadow .2s ease;
}

.products-hub-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 34px rgba(16, 42, 67, .13);
}

.products-hub-card__media {
	display: grid;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	place-items: center;
	background: #f7f9fa;
}

.products-hub-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .28s ease;
}

.products-hub-card:hover .products-hub-card__media img {
	transform: scale(1.035);
}

.products-hub-card__placeholder {
	font-family: var(--fanshild-font-heading);
	font-size: 42px;
	font-weight: 700;
	color: #b8c6d0;
}

.products-hub-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 16px;
}

.products-hub-card h2 {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.4;
}

.products-hub-card h2 a {
	color: var(--fanshild-heading);
	text-decoration: none;
}

.products-hub-card__button {
	margin-top: auto;
	padding: 9px 15px;
	border-radius: 999px;
	color: var(--fanshild-white) !important;
	background: #1768ae;
	font-family: var(--fanshild-font-heading);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

.products-hub-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 34px;
}

.products-hub-pagination .page-numbers {
	display: grid;
	min-width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid #dfe6eb;
	border-radius: 6px;
	color: var(--fanshild-heading);
	background: var(--fanshild-white);
	text-decoration: none;
}

.products-hub-pagination .page-numbers.current,
.products-hub-pagination a.page-numbers:hover {
	color: var(--fanshild-white);
	background: #1768ae;
}

.products-hub-empty {
	padding: 28px;
	border-radius: 10px;
	background: var(--fanshild-white);
}

@media (max-width: 1199px) {
	.products-hub-layout {
		grid-template-columns: 270px minmax(0, 1fr);
		gap: 24px;
	}

	.products-hub-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 899px) {
	.products-hub-layout {
		grid-template-columns: 240px minmax(0, 1fr);
	}

	.products-hub-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.products-hub-container {
		width: min(100% - 28px, 1500px);
	}

	.products-hub-hero {
		min-height: 168px;
		background-position: 62% center;
	}

	.products-hub-hero__inner {
		padding-block: 28px;
	}

	.products-hub-hero h1 {
		font-size: 38px;
	}

	.products-hub-hero p:last-child {
		max-width: 92%;
		font-size: 14px;
	}

	.products-hub-catalog {
		padding: 30px 0 54px;
	}

	.products-hub-layout {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.products-hub-sidebar {
		grid-template-columns: 1fr;
	}

	.products-hub-categories {
		max-height: 430px;
	}

	.products-hub-main__header h2 {
		font-size: 30px;
	}

	.products-hub-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.products-hub-card__media {
		aspect-ratio: 16 / 11;
	}
}

/* Products page uses its own sidebar inquiry; suppress the duplicate fixed bar. */
.page-id-17 .kadence-pro-fixed-item {
	display: none !important;
}

/* Two-level product navigation overrides. */
@media (min-width:1025px){#site-navigation .fanshild-product-mega{min-height:350px}#site-navigation .fanshild-product-mega__level--one{min-height:298px}#site-navigation .fanshild-product-mega__level--two{min-height:298px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;align-content:start;padding:2px 0 0 26px!important}#site-navigation .fanshild-product-mega__item--one.is-active>.fanshild-product-mega__level--two,#site-navigation .fanshild-product-mega__item--one:hover>.fanshild-product-mega__level--two,#site-navigation .fanshild-product-mega__item--one:focus-within>.fanshild-product-mega__level--two{display:grid!important}#site-navigation .fanshild-product-mega__item--two{position:static}#site-navigation .fanshild-product-mega__link--two{position:relative;width:100%;padding:12px 32px 12px 14px}#site-navigation .fanshild-product-mega__link--two:hover,#site-navigation .fanshild-product-mega__link--two:focus-visible{color:#1768ae!important;background:#eef5fb}}
