:root {
	--color-text: #172c3a;
	--color-muted: #5f7480;
	--color-subtle: #6b7e88;
	--color-border: #dfe6e9;
	--color-surface: #fff;
	--color-page: #f4f6f7;
	--color-accent: #d95332;
	--color-accent-text: #c74729;
	--text-xs: 12px;
	--text-sm: 13px;
	--text-body: 14px;
	--text-lg: 16px;
	--title-sm: 20px;
	--title-md: 24px;
	--title-lg: 30px;
	font-family: "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;
	color: var(--color-text);
	background: #f4f6f7;
}
* {
	box-sizing: border-box;
}
body {
	margin: 0;
	font-size: var(--text-body);
	line-height: 1.6;
}
a {
	color: inherit;
	text-decoration: none;
}
button,
input {
	font: inherit;
}
button {
	cursor: pointer;
}
img {
	max-width: 100%;
	object-fit: contain;
}
.site-width {
	max-width: 1380px;
	margin: auto;
	padding: 0 30px;
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.utility-bar {
	background: #152c3a;
	color: #aebdc5;
	font-size: 12px;
}
.utility-bar .site-width {
	height: 31px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.site-header {
	background: #fff;
	border-bottom: 1px solid #e8ecee;
}
.header-inner {
	min-height: 104px;
	display: flex;
	align-items: center;
	gap: 38px;
}
.brand {
	display: flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
}
.brand-symbol {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	background: #dc522e;
	color: #fff;
	font-size: 27px;
	clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
.brand strong {
	display: block;
	font-size: 27px;
	line-height: 1.1;
	letter-spacing: 2px;
	color: #172d3d;
}
.brand small {
	display: block;
	margin-top: 4px;
	color: #89979e;
	font-size: 9px;
	letter-spacing: 2.5px;
}
.header-search {
	display: flex;
	flex: 1;
	max-width: 670px;
	height: 47px;
	border: 2px solid #e15836;
	background: #fff;
}
.header-search input {
	border: 0;
	min-width: 0;
	flex: 1;
	padding: 0 16px;
	outline: 0;
	font-size: 14px;
}
.header-search input:focus {
	box-shadow: inset 0 0 0 1px #e15836;
}
.header-search button {
	border: 0;
	background: #e15836;
	color: white;
	padding: 0 20px;
	font-weight: 700;
}
.header-search button:hover,
.button-accent:hover {
	background: #c54526;
}
.header-account {
	margin-left: auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	font-size: 13px;
}
.account-name {
	max-width: 180px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #59707d;
}
.account-link:hover,
.text-button:hover,
.section-link:hover {
	color: #c74729;
}
.cart-shortcut {
	border-left: 1px solid #dde4e7;
	padding-left: 17px;
	font-weight: 700;
}
.inline-form {
	display: inline;
}
.text-button {
	padding: 0;
	border: 0;
	background: none;
	color: #687c88;
}
.primary-nav {
	background: #fff;
	border-bottom: 1px solid #e3e9ec;
	box-shadow: 0 3px 8px #172c3a08;
}
.primary-nav .site-width {
	display: flex;
	align-items: center;
	min-height: 51px;
	gap: 30px;
}
.all-categories {
	height: 51px;
	display: flex;
	align-items: center;
	background: #173444;
	color: white;
	padding: 0 19px;
	min-width: 208px;
	font-weight: 700;
	font-size: 14px;
}
.nav-links {
	display: flex;
	gap: 30px;
	overflow: hidden;
	white-space: nowrap;
	font-size: 14px;
}
.nav-links a:hover {
	color: #d34b2b;
}
.browse-link {
	margin-left: auto;
	white-space: nowrap;
	font-size: 13px;
	color: #d04e2d;
}
.task-primary-nav .site-width {
	position: relative;
	min-height: 58px;
	gap: 0;
}
.task-primary-nav .nav-links {
	flex: 1;
	min-width: 0;
	align-self: stretch;
	align-items: stretch;
	justify-content: flex-start;
	gap: 38px;
	overflow-x: auto;
	padding-right: 24px;
	scroll-snap-type: x proximity;
	overscroll-behavior-inline: contain;
	scrollbar-width: none;
}
.task-primary-nav .nav-links::-webkit-scrollbar { display: none; }
.inner-primary-nav .site-width {
	gap: 24px;
}
.inner-primary-nav .nav-links {
	gap: 12px;
}
.task-primary-nav .nav-links a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 0 4px;
	font-weight: 600;
	color: #324b58;
}
.task-primary-nav .nav-links a::after {
	content: "";
	position: absolute;
	left: 4px;
	right: 4px;
	bottom: 0;
	height: 2px;
	background: #dc5332;
	transform: scaleX(0);
	transition: transform .18s;
}
.task-primary-nav .nav-links a:hover::after,
.task-primary-nav .nav-links a:focus-visible::after,
.task-primary-nav .nav-links a[aria-current="page"]::after {
	transform: scaleX(1);
}
.task-primary-nav .nav-links a[aria-current="page"] {
	color: #cf4a2a;
}
.task-primary-nav .browse-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	height: 34px;
	margin-left: auto;
	padding: 0 16px;
	border: 1px solid #d86649;
	font-weight: 700;
	transition: background .18s, color .18s;
}
.task-primary-nav .browse-link:hover,
.task-primary-nav .browse-link:focus-visible,
.task-primary-nav .browse-link[aria-current="page"] {
	background: #d95231;
	color: #fff;
}
.nav-scroll-hint {
	position: absolute;
	right: 142px;
	z-index: 4;
	display: grid;
	place-items: center;
	width: 25px;
	height: 36px;
	border-radius: 18px 0 0 18px;
	background: linear-gradient(90deg, #ffffffcf, #fff);
	color: #cf4a2a;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	pointer-events: none;
	opacity: 0;
	transition: opacity .18s;
}
.task-primary-nav .site-width.nav-can-scroll:not(.nav-at-end) .nav-scroll-hint {
	opacity: 1;
}
.breadcrumbs {
	height: 49px;
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: 12px;
	color: #85969e;
	overflow: hidden;
	white-space: nowrap;
}
.breadcrumbs a:last-child {
	color: #465c69;
	overflow: hidden;
	text-overflow: ellipsis;
}
.page-h1 {
	font-size: 23px;
	margin: 0 0 21px;
	font-weight: 700;
	letter-spacing: 0.2px;
}
.eyebrow {
	display: block;
	color: #dc522e;
	letter-spacing: 2.1px;
	font-size: 10px;
	font-weight: 700;
	margin-bottom: 7px;
}
.eyebrow.light {
	color: #f7aa93;
}
.section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 19px;
	gap: 15px;
}
.section-head h2 {
	font-size: 25px;
	margin: 0;
	line-height: 1.25;
}
.section-link,
.result-count {
	font-size: 13px;
	color: #677985;
}
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	padding: 11px 19px;
	font-weight: 700;
	min-height: 43px;
	text-align: center;
}
.button-accent {
	background: #df5331;
	color: #fff;
}
.button-dark {
	background: #193746;
	color: #fff;
}
.button-dark:hover {
	background: #285267;
}
.home-categories,
.home-products,
.spec-section {
	margin-bottom: 39px;
}
.category-number {
	font-size: 12px;
	color: #de5532;
}
.category-arrow {
	margin-left: auto;
	color: #dc522e;
}
.catalog-layout {
	display: grid;
	grid-template-columns: 208px 1fr;
	gap: 22px;
	margin-bottom: 50px;
}
.sidebar {
	align-self: start;
	background: white;
	border: 1px solid #e9edef;
	padding: 0 0 9px;
}
.side-heading {
	background: #193746;
	color: #fff;
	padding: 14px 18px;
	font-weight: 700;
	font-size: 14px;
}
.sidebar a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #f0f2f3;
	padding: 13px 18px;
	font-size: 13px;
}
.sidebar a:hover {
	color: #d6502d;
	background: #fcf6f4;
}
.catalog-content {
	min-width: 0;
}
.filter-bar {
	background: #fff;
	border: 1px solid #e5e9eb;
	padding: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 13px;
}
.filter-bar input:not([type="checkbox"]) {
	border: 1px solid #dde4e7;
	padding: 9px 10px;
	min-width: 0;
	width: 105px;
	flex: 1;
	font-size: 12px;
}
.filter-bar input[name="q"] {
	flex: 2;
	min-width: 150px;
}
.filter-bar input[name="spec"] {
	min-width: 115px;
}
.filter-bar input:focus,
.login-form input:focus,
.cart-quantity input:focus {
	outline: 1px solid #d95431;
	border-color: #d95431;
}
.stock-check {
	font-size: 12px;
	white-space: nowrap;
	color: #536a78;
}
.filter-bar .button {
	font-size: 12px;
	min-height: 39px;
	padding: 8px 16px;
}
.product-row {
	background: white;
	border: 1px solid #e6ebed;
	border-bottom: 0;
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr) 110px 146px;
	gap: 17px;
	align-items: center;
	padding: 15px;
}
.product-row:last-child {
	border-bottom: 1px solid #e6ebed;
}
.product-row:hover {
	background: #fffdfc;
}
.product-thumb {
	display: grid;
	place-items: center;
	width: 120px;
	height: 120px;
	background: #f7f9f9;
	border: 1px solid #eef1f2;
}
.product-thumb img {
	width: 100%;
	height: 100%;
}
.image-placeholder {
	display: grid;
	place-items: center;
	background: #eef3f5;
	color: #adc0c9;
	width: 100%;
	height: 100%;
	font-size: 45px;
}
.product-name {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}
.product-name:hover,
.cart-item-summary a:hover {
	color: #d54b2b;
}
.sku,
.detail-sku {
	color: #78909c;
	font-size: 12px;
	margin: 6px 0;
}
.spec-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 14px;
	color: #6e8089;
	font-size: 12px;
}
.product-stock small,
.cart-unit small,
.cart-line small {
	display: block;
	color: #8798a0;
	font-size: 11px;
}
.product-stock strong {
	display: block;
	margin: 4px 0;
	font-size: 16px;
}
.product-action {
	text-align: right;
}
.price {
	display: block;
	color: #db4d2a;
	font-size: 22px;
}
.price-muted {
	display: block;
	font-size: 13px;
	color: #6a7d87;
}
.small-action {
	display: inline-block;
	margin-top: 12px;
	font-size: 12px;
	color: #d05535;
}
.empty-state {
	background: white;
	border: 1px solid #e5eaec;
	padding: 55px 30px;
	text-align: center;
	color: #6c7f89;
}
.empty-state strong {
	display: block;
	font-size: 18px;
	color: #243f4d;
}
.empty-state a {
	color: #d75535;
	font-weight: 700;
}
.pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 25px;
}
.pagination a {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	background: white;
	border: 1px solid #e6eaec;
}
.pagination a[aria-current="page"] {
	background: #dc522e;
	color: white;
}
.login-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 485px;
	background: white;
	margin-bottom: 60px;
}
.login-intro {
	position: relative;
	overflow: hidden;
	padding: 70px;
	background: #193848;
	color: white;
}
.login-intro h2 {
	font-size: 35px;
}
.login-intro p {
	color: #bdd0d9;
	max-width: 390px;
}
.login-mark {
	position: absolute;
	right: -70px;
	bottom: -125px;
	font-size: 300px;
	opacity: 0.15;
}
.login-form {
	padding: 49px 55px;
	display: flex;
	flex-direction: column;
}
.login-form h2 {
	margin: 0 0 21px;
	font-size: 27px;
}
.login-form label {
	font-size: 13px;
	font-weight: 700;
	margin: 10px 0 5px;
}
.login-form input {
	height: 42px;
	border: 1px solid #dce3e6;
	padding: 0 12px;
}
.login-form .button {
	margin-top: 22px;
}
.login-form p {
	font-size: 12px;
	color: #899ba3;
	margin-top: 22px;
}
.form-alert {
	padding: 10px 13px;
	background: #fff0eb;
	color: #b03d22;
	font-size: 13px;
}
.cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 21px;
	margin-bottom: 58px;
}
.cart-main {
	min-width: 0;
}
.cart-row {
	display: grid;
	grid-template-columns: 84px minmax(130px, 1fr) 95px 130px 105px 26px;
	gap: 12px;
	align-items: center;
	background: white;
	border: 1px solid #e8ecee;
	border-bottom: 0;
	padding: 16px;
}
.cart-row:last-child {
	border-bottom: 1px solid #e8ecee;
}
.cart-image {
	height: 84px;
	background: #f7f9f9;
}
.cart-image img {
	height: 100%;
	width: 100%;
}
.cart-item-summary a {
	display: block;
	font-weight: 700;
	font-size: 13px;
}
.cart-item-summary small {
	display: block;
	color: #7d9099;
}
.cart-warning {
	display: block;
	color: #b84d2c;
	font-size: 11px;
}
.cart-unit strong,
.cart-line strong {
	font-size: 14px;
}
.cart-quantity label {
	display: block;
	font-size: 11px;
	color: #81939b;
}
.cart-quantity input {
	width: 68px;
	height: 30px;
	border: 1px solid #dce4e7;
	padding: 3px;
}
.cart-quantity .text-button {
	margin-left: 5px;
	font-size: 12px;
	color: #d74e2c;
}
.cart-remove button {
	border: 0;
	background: none;
	font-size: 22px;
	color: #9ba9af;
}
.cart-remove button:hover {
	color: #c74425;
}
.cart-summary-panel {
	background: white;
	border: 1px solid #e6ebed;
	align-self: start;
	padding: 25px;
}
.cart-summary-panel h2 {
	font-size: 23px;
	margin: 0 0 24px;
}
.cart-summary-panel > div {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	border-bottom: 1px solid #edf0f1;
	padding: 12px 0;
}
.cart-summary-panel .cart-total {
	border: 0;
	margin-top: 10px;
}
.cart-total strong {
	color: #d64e2c;
	font-size: 25px;
}
.cart-summary-panel p {
	font-size: 12px;
	color: #83949d;
	line-height: 1.7;
}
.cart-summary-panel .button {
	display: flex;
	margin-top: 20px;
}
.clear-form {
	text-align: center;
	margin-top: 20px;
}
.error-page {
	min-height: 390px;
	text-align: center;
	background: white;
	padding: 40px;
	margin-bottom: 50px;
}
.error-code {
	font-size: 100px;
	color: #e45b37;
	font-weight: 700;
	line-height: 1;
}
.error-page h2 {
	margin: 8px 0;
}
.error-page p {
	color: #81949d;
}
.site-footer {
	background: #fff;
	color: #b9c8cf;
}
.footer-service-band {
	border-top: 1px solid #e3e8ea;
	border-bottom: 1px solid #e3e8ea;
	background: #fff;
}
.footer-service-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding-top: 25px;
	padding-bottom: 25px;
}
.footer-service-grid > div {
	display: grid;
	grid-template-columns: 45px minmax(0, 1fr);
	align-items: center;
	gap: 13px;
	min-height: 54px;
	padding: 0 27px;
	border-right: 1px solid #e7ebed;
}
.footer-service-grid > div:first-child {
	padding-left: 0;
}
.footer-service-grid > div:last-child {
	padding-right: 0;
	border-right: 0;
}
.footer-service-grid > div > span {
	display: grid;
	place-items: center;
	width: 43px;
	height: 43px;
	border: 1px solid #da5838;
	border-radius: 2px;
	background: #fff8f5;
	color: #d64e2d;
	font-size: 11px;
	font-weight: 700;
}
.footer-service-grid p,
.footer-service-grid strong,
.footer-service-grid small {
	display: block;
	margin: 0;
}
.footer-service-grid strong {
	font-size: 15px;
	color: #183443;
}
.footer-service-grid small {
	font-size: 10px;
	color: #81939c;
	margin-top: 3px;
}
.footer-main {
	background: #172f3d;
}
.footer-inner {
	display: grid;
	grid-template-columns: minmax(270px, 1.6fr) repeat(3, minmax(115px, .72fr)) minmax(240px, 1.25fr);
	gap: 36px;
	padding-top: 52px;
	padding-bottom: 42px;
}
.footer-about p {
	max-width: 315px;
	font-size: 11px;
	line-height: 1.85;
	color: #91a8b3;
	margin: 20px 0 17px;
}
.footer-brand strong {
	font-size: 23px;
	color: #fff;
}
.footer-brand small {
	color: #8ea5b0;
}
.footer-keywords {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.footer-keywords span {
	padding: 4px 8px;
	border: 1px solid #ffffff1a;
	font-size: 9px;
	color: #9cb0ba;
}
.footer-column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	font-size: 11px;
}
.footer-column strong {
	color: #fff;
	font-size: 13px;
	margin-bottom: 6px;
}
.footer-column a {
	color: #94aab4;
	transition: color .16s, transform .16s;
}
.footer-column a:hover {
	color: #fff;
	transform: translateX(3px);
}
.footer-procurement {
	align-self: start;
	background: #1f3d4c;
	border-top: 2px solid #dc5736;
	padding: 22px 23px;
}
.footer-procurement > span {
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.4px;
	color: #ee896d;
}
.footer-procurement > strong {
	display: block;
	font-size: 15px;
	color: #fff;
	margin-top: 6px;
}
.footer-procurement p {
	font-size: 10px;
	line-height: 1.75;
	color: #9bb0ba;
	margin: 14px 0 18px;
}
.footer-procurement a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #db5332;
	color: #fff;
	padding: 9px 12px;
	font-size: 11px;
}
.footer-procurement b {
	font-size: 15px;
}
.footer-bottom {
	border-top: 1px solid #ffffff20;
	padding-top: 17px;
	padding-bottom: 20px;
	font-size: 11px;
	color: #93aab5;
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
@media (max-width: 1100px) {
	.header-inner {
		gap: 20px;
	}
	.nav-links {
		gap: 16px;
	}
	.catalog-layout {
		grid-template-columns: 175px 1fr;
	}
	.all-categories {
		min-width: 175px;
	}
	.product-row {
		grid-template-columns: 110px minmax(0, 1fr) 95px 115px;
		gap: 10px;
	}
	.product-thumb {
		width: 104px;
		height: 104px;
	}
	.cart-layout {
		grid-template-columns: 1fr;
	}
	.cart-summary-panel {
		max-width: 430px;
	}
}
@media (max-width: 750px) {
	.site-width {
		padding: 0 16px;
	}
	.utility-bar .site-width {
		justify-content: center;
	}
	.utility-bar span:last-child {
		display: none;
	}
	.header-inner {
		min-height: 112px;
		flex-wrap: wrap;
		gap: 10px;
		padding-top: 13px;
		padding-bottom: 13px;
	}
	.brand strong {
		font-size: 21px;
	}
	.brand-symbol {
		width: 38px;
		height: 38px;
	}
	.header-account {
		margin-left: auto;
		gap: 9px;
	}
	.account-name {
		max-width: 95px;
	}
	.cart-shortcut {
		padding-left: 9px;
	}
	.header-search {
		order: 3;
		flex-basis: 100%;
		max-width: none;
		height: 42px;
	}
	.header-search button {
		padding: 0 12px;
	}
	.primary-nav .site-width {
		gap: 10px;
		overflow-x: auto;
	}
	.all-categories {
		min-width: 135px;
		padding: 0 9px;
		font-size: 12px;
	}
	.nav-links {
		font-size: 12px;
	}
	.browse-link {
		display: none;
	}
	.page-h1 {
		font-size: 21px;
	}
	.catalog-layout {
		display: block;
	}
	.sidebar {
		display: none;
	}
	.product-row {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 10px;
	}
	.product-thumb {
		width: 86px;
		height: 86px;
	}
	.product-name {
		font-size: 14px;
	}
	.product-stock,
	.product-action {
		grid-column: 2;
		display: flex;
		align-items: baseline;
		gap: 9px;
		text-align: left;
	}
	.product-stock strong {
		margin: 0;
	}
	.product-action .price {
		font-size: 17px;
	}
	.product-action .small-action {
		margin: 0;
	}
	.detail-layout {
		grid-template-columns: 1fr;
	}
	.detail-gallery img:first-child,
	.detail-placeholder {
		height: 315px;
	}
	.detail-info {
		padding: 22px;
	}
	.spec-section {
		padding: 16px;
	}
	.login-layout {
		grid-template-columns: 1fr;
	}
	.login-intro {
		padding: 30px;
		min-height: 180px;
	}
	.login-intro h2 {
		font-size: 25px;
		margin: 8px 0;
	}
	.login-form {
		padding: 30px;
	}
	.cart-row {
		grid-template-columns: 68px minmax(0, 1fr) 24px;
		gap: 8px;
	}
	.cart-image {
		height: 68px;
	}
	.cart-unit,
	.cart-line,
	.cart-quantity {
		grid-column: 2;
	}
	.cart-remove {
		grid-column: 3;
		grid-row: 1;
	}
	.cart-item-summary {
		grid-column: 2;
		grid-row: 1;
	}
	.cart-unit,
	.cart-line {
		display: inline-flex;
		gap: 10px;
	}
	.cart-quantity label {
		display: inline;
		margin-right: 9px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.carousel-pause {
		display: none;
	}
}
@media (max-width: 420px) {
	.header-account {
		font-size: 11px;
	}
	.account-name {
		display: none;
	}
	.filter-bar input:not([type="checkbox"]) {
		flex-basis: 43%;
	}
	.filter-bar input[name="q"] {
		flex-basis: 100%;
	}
	.detail-price {
		font-size: 29px;
	}
}

/* Fixture catalogue navigation and merchandising */
.category-menu {
	position: relative;
	flex: 0 0 208px;
}
.category-menu summary {
	list-style: none;
	cursor: pointer;
}
.category-menu summary::-webkit-details-marker {
	display: none;
}
.category-menu .all-categories {
	justify-content: space-between;
	min-width: 0;
}
.category-menu[open] .all-categories,
.category-menu .all-categories:hover {
	background: #21485c;
}
.category-menu[open] .all-categories > span {
	transform: rotate(180deg);
}
.mega-menu {
	position: absolute;
	z-index: 30;
	top: 51px;
	left: 0;
	width: min(1040px, calc(100vw - 60px));
	background: #fff;
	border: 1px solid #dfe6e9;
	box-shadow: 0 20px 55px #102d3c2b;
	padding: 25px 28px 29px;
}
.mega-menu-heading {
	display: flex;
	justify-content: space-between;
	align-items: end;
	border-bottom: 1px solid #e8edef;
	padding-bottom: 17px;
	margin-bottom: 18px;
}
.mega-menu-heading strong {
	font-size: 21px;
}
.mega-menu-heading a {
	font-size: 12px;
	color: #d14c2c;
}
.mega-menu-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px 28px;
}
.mega-menu-grid section {
	min-width: 0;
}
.mega-root {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: baseline;
	gap: 9px;
	padding-bottom: 8px;
}
.mega-root > span {
	font-size: 10px;
	color: #df5633;
}
.mega-root > strong {
	font-size: 15px;
}
.mega-root > small {
	font-size: 10px;
	color: #82939b;
}
.mega-children {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 13px;
}
.mega-children a {
	font-size: 12px;
	color: #647985;
}
.mega-children a:hover,
.mega-root:hover {
	color: #ce4728;
}
.section-head p {
	margin: 6px 0 0;
	font-size: 13px;
	color: #758893;
}
.home-brand-hall {
	margin-bottom: 39px;
}
.brand-hall-layout {
	display: grid;
	grid-template-columns: 330px minmax(0, 1fr);
	gap: 14px;
}
.brand-feature {
	position: relative;
	display: flex;
	min-height: 330px;
	padding: 28px;
	overflow: hidden;
	background: linear-gradient(145deg, #173746 0%, #214f63 100%);
	color: #fff;
}
.brand-feature:before,
.brand-feature:after {
	content: "";
	position: absolute;
	border: 1px solid #ffffff16;
	border-radius: 50%;
}
.brand-feature:before {
	right: -70px;
	top: -65px;
	width: 230px;
	height: 230px;
	box-shadow: 0 0 0 30px #ffffff08, 0 0 0 60px #ffffff05;
}
.brand-feature:after {
	right: 28px;
	bottom: 32px;
	width: 78px;
	height: 78px;
	border-color: #ef7d5a55;
}
.brand-feature-label {
	position: absolute;
	top: 25px;
	left: 28px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.8px;
	color: #f19a80;
}
.brand-feature-mark {
	position: absolute;
	right: 26px;
	top: 32px;
	display: grid;
	place-items: center;
	width: 74px;
	height: 74px;
	border: 1px solid #ffffff3d;
	background: #ffffff0d;
	font-size: 30px;
	font-weight: 800;
	color: #fff;
}
.brand-feature-copy {
	position: relative;
	z-index: 1;
	align-self: end;
	width: 100%;
}
.brand-feature-copy > small {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	color: #b7cbd4;
}
.brand-feature-copy h3 {
	margin: 0;
	font-size: 28px;
	letter-spacing: .5px;
}
.brand-feature-copy p {
	margin: 8px 0 20px;
	min-height: 24px;
	font-size: 12px;
	line-height: 1.7;
	color: #b8cbd4;
}
.brand-feature-copy dl {
	display: flex;
	gap: 28px;
	margin: 0 0 22px;
}
.brand-feature-copy dl div {
	padding-left: 12px;
	border-left: 2px solid #e25a36;
}
.brand-feature-copy dt,
.brand-feature-copy dd {
	margin: 0;
}
.brand-feature-copy dt {
	font-size: 10px;
	color: #9fb7c1;
}
.brand-feature-copy dd {
	margin-top: 2px;
	font-size: 19px;
	font-weight: 700;
}
.brand-feature-copy > strong {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
}
.brand-feature-copy > strong span {
	transition: transform .18s;
}
.brand-feature:hover .brand-feature-copy > strong span {
	transform: translateX(4px);
}
.brand-series-panel {
	min-width: 0;
	padding: 22px;
	background: #fff;
	border: 1px solid #e2e8ea;
}
.brand-series-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 17px;
}
.brand-series-heading span,
.brand-series-heading strong {
	display: block;
}
.brand-series-heading span {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: #dc522e;
}
.brand-series-heading strong {
	margin-top: 2px;
	font-size: 17px;
}
.brand-slider-controls {
	display: flex;
	gap: 6px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.home-brand-hall.is-scrollable .brand-slider-controls {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.brand-slider-controls button {
	width: 34px;
	height: 34px;
	border: 1px solid #dce4e7;
	background: #fff;
	color: #254757;
	cursor: pointer;
}
.brand-slider-controls button:not(:disabled):hover {
	border-color: #d65534;
	color: #d24d2e;
}
.brand-slider-controls button:disabled {
	opacity: .35;
	cursor: default;
}
.brand-other-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: -5px 0 14px;
}
.brand-other-list span,
.brand-other-list a {
	font-size: 11px;
}
.brand-other-list span {
	color: #81929a;
}
.brand-other-list a {
	padding: 4px 8px;
	background: #f3f6f7;
	color: #46616e;
}
.brand-series-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}
.brand-series-card {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: start;
	gap: 11px;
	min-width: 0;
	min-height: 111px;
	padding: 17px 14px;
	border: 1px solid #e6ebed;
	background: #fafbfb;
	transition: transform .18s, border-color .18s, box-shadow .18s, background .18s;
}
.brand-series-card:hover {
	transform: translateY(-2px);
	border-color: #d99b89;
	background: #fff;
	box-shadow: 0 9px 20px #17374610;
}
.brand-series-index {
	font-size: 9px;
	font-weight: 700;
	color: #dc522e;
}
.brand-series-card small,
.brand-series-card strong,
.brand-series-card em {
	display: block;
	font-style: normal;
}
.brand-series-card small {
	font-size: 10px;
	color: #7c8f98;
}
.brand-series-card strong {
	margin: 7px 0 8px;
	font-size: 14px;
	line-height: 1.35;
}
.brand-series-card em {
	font-size: 10px;
	color: #84959d;
}
.brand-series-card i {
	font-size: 12px;
	font-style: normal;
	color: #d45232;
	transition: transform .18s;
}
.brand-series-card:hover i {
	transform: translate(2px, -2px);
}
.brand-logo-panel {
	padding: 24px;
	background: #fff;
	border: 1px solid #e2e8ea;
}
.brand-logo-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}
.brand-logo-heading span,
.brand-logo-heading strong {
	display: block;
}
.brand-logo-heading span {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: #dc522e;
}
.brand-logo-heading strong {
	margin-top: 2px;
	font-size: 17px;
}
.brand-logo-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
}
.brand-logo-grid.is-single {
	grid-template-columns: 1fr;
}
.brand-logo-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 212px;
	padding: 16px;
	border: 1px solid #e2e8ea;
	background: #fff;
	transition: transform .18s, border-color .18s, box-shadow .18s;
}
.brand-logo-card:hover,
.brand-logo-card:focus-visible {
	transform: translateY(-3px);
	border-color: #d99480;
	box-shadow: 0 12px 28px #17374614;
}
.brand-logo-media {
	display: grid;
	place-items: center;
	height: 82px;
	margin-bottom: 15px;
	padding: 10px;
	background: #f8fafb;
	border-bottom: 2px solid #eef2f3;
}
.brand-logo-media img {
	display: block;
	max-width: 100%;
	max-height: 62px;
	object-fit: contain;
}
.brand-logo-fallback {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	background: #173746;
	color: #fff;
	font-size: 25px;
	font-weight: 800;
}
.brand-logo-name,
.brand-logo-meta,
.brand-logo-coverage,
.brand-logo-card i {
	display: block;
}
.brand-logo-name {
	font-size: 15px;
	font-weight: 700;
	color: #173746;
}
.brand-logo-meta {
	margin-top: 5px;
	font-size: 10px;
	color: #748891;
}
.brand-logo-coverage {
	margin-top: 7px;
	overflow: hidden;
	font-size: 9px;
	line-height: 1.5;
	color: #98a6ac;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.brand-logo-card i {
	margin-top: auto;
	padding-top: 13px;
	font-size: 10px;
	font-style: normal;
	font-weight: 700;
	color: #d45232;
}
.brand-logo-grid.is-single .brand-logo-card {
	display: grid;
	grid-template-columns: minmax(190px, 260px) minmax(0, 1fr) auto;
	grid-template-rows: auto auto auto;
	align-items: center;
	column-gap: 26px;
	min-height: 138px;
}
.brand-logo-grid.is-single .brand-logo-media {
	grid-column: 1;
	grid-row: 1 / 4;
	height: 102px;
	margin: 0;
	border: 0;
	border-right: 2px solid #eef2f3;
}
.brand-logo-grid.is-single .brand-logo-name,
.brand-logo-grid.is-single .brand-logo-meta,
.brand-logo-grid.is-single .brand-logo-coverage {
	grid-column: 2;
}
.brand-logo-grid.is-single .brand-logo-name { font-size: 19px; }
.brand-logo-grid.is-single .brand-logo-card i {
	grid-column: 3;
	grid-row: 1 / 4;
	margin: 0;
	padding: 0;
	font-size: 12px;
}
.fixture-category-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 13px;
}
.fixture-category-grid article {
	background: #fff;
	border: 1px solid #e3e9eb;
	min-height: 160px;
	transition: transform .18s, box-shadow .18s, border-color .18s;
}
.fixture-category-grid article:hover {
	transform: translateY(-3px);
	border-color: #d9a394;
	box-shadow: 0 12px 28px #19374612;
}
.fixture-category-head {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) 74px;
	align-items: center;
	gap: 12px;
	min-height: 108px;
	padding: 18px 14px 14px 18px;
}
.fixture-category-head strong,
.fixture-category-head small {
	display: block;
}
.fixture-category-head strong {
	font-size: 16px;
}
.fixture-category-head small {
	font-size: 11px;
	color: #8a9aa1;
	margin-top: 2px;
}
.fixture-category-visual {
	display: grid;
	place-items: center;
	width: 74px;
	height: 68px;
	overflow: hidden;
	background: linear-gradient(145deg, #f8fafb, #edf2f3);
}
.fixture-category-visual img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}
.fixture-category-visual > span {
	font-size: 22px;
	color: #78909b;
}
.fixture-category-head .category-arrow {
	position: absolute;
	right: 12px;
	top: 10px;
}
.fixture-category-links {
	border-top: 1px solid #edf1f2;
	padding: 11px 18px 14px;
}
.fixture-process-links a {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: #5c727e;
	padding: 4px 0;
}
.fixture-process-links a i {
	font-style: normal;
}
.fixture-process-links a:hover,
.fixture-series-links a:hover {
	color: #d34c2c;
}
.fixture-series-links {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 8px;
	padding-top: 9px;
	border-top: 1px dashed #e3e9eb;
}
.fixture-series-links a {
	padding: 4px 7px;
	background: #f2f5f6;
	font-size: 10px;
	color: #71858f;
}
.application-section {
	margin: 43px 0;
}
.application-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: #36505e;
	border: 1px solid #36505e;
}
.application-grid a {
	position: relative;
	min-height: 190px;
	background: #1b3949;
	color: #fff;
	padding: 25px;
	overflow: hidden;
}
.application-grid a:after {
	content: "";
	position: absolute;
	right: -35px;
	bottom: -55px;
	width: 150px;
	height: 150px;
	border: 1px solid #ffffff18;
	border-radius: 50%;
	box-shadow: 0 0 0 24px #ffffff08, 0 0 0 48px #ffffff05;
}
.application-grid a:hover {
	background: #244d61;
}
.application-grid span {
	display: block;
	font-size: 10px;
	color: #ef8b6e;
	letter-spacing: 2px;
}
.application-grid strong {
	display: block;
	font-size: 19px;
	margin-top: 18px;
}
.application-grid p {
	font-size: 12px;
	color: #b4c8d1;
	max-width: 190px;
}
.application-grid i {
	position: absolute;
	left: 25px;
	bottom: 21px;
	font-size: 11px;
	font-style: normal;
	color: #f1a18a;
}
.side-heading {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.side-heading small {
	font-size: 9px;
	font-weight: 400;
	color: #abc0ca;
}
.side-group {
	border-bottom: 1px solid #eef2f3;
}
.sidebar .side-root {
	border: 0;
	padding: 12px 16px 8px;
}
.side-root strong {
	font-size: 13px;
}
.side-root > span {
	display: grid;
	place-items: center;
	min-width: 22px;
	height: 18px;
	border-radius: 9px;
	background: #edf2f4;
	font-size: 9px;
	color: #6f838d;
}
.side-children {
	padding: 0 0 7px;
}
.sidebar .side-children a {
	border: 0;
	padding: 5px 16px 5px 26px;
	font-size: 11px;
	color: #6c808a;
}
.side-group.is-active {
	background: #fff8f5;
}
.side-group.is-active .side-root,
.sidebar .side-children a[aria-current="page"] {
	color: #cd4729;
}
.subcategory-strip {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	background: #fff;
	border: 1px solid #e5e9eb;
	border-bottom: 0;
	padding: 12px 14px;
}
.subcategory-strip > span {
	font-size: 11px;
	color: #81929a;
	margin-right: 5px;
}
.subcategory-strip a {
	border: 1px solid #e0e6e8;
	padding: 5px 10px;
	font-size: 11px;
	background: #fafbfb;
}
.subcategory-strip a:hover {
	border-color: #d45030;
	color: #cc4829;
}
.filter-bar select {
	border: 1px solid #dde4e7;
	background: #fff;
	padding: 9px 28px 9px 10px;
	font-size: 12px;
	max-width: 180px;
}
.filter-bar select:focus {
	outline: 1px solid #d95431;
	border-color: #d95431;
}
.product-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 6px;
}
.product-tags span {
	background: #edf3f5;
	color: #54707d;
	font-size: 9px;
	padding: 2px 6px;
}
.product-tags span:first-child {
	background: #fff0eb;
	color: #c7492c;
}
.product-stock strong i {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #39a278;
	margin-right: 6px;
	vertical-align: 2px;
}
.selection-guide {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 50px;
	align-items: center;
	background: #1a3747;
	color: #fff;
	padding: 38px 45px;
	margin: 45px 0 55px;
}
.selection-guide h2 {
	margin: 0;
	font-size: 26px;
}
.selection-guide > div > p {
	font-size: 12px;
	color: #afc4ce;
	line-height: 1.8;
}
.selection-guide ol {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: #ffffff20;
}
.selection-guide li {
	min-height: 117px;
	background: #214657;
	padding: 16px;
}
.selection-guide li span,
.selection-guide li strong,
.selection-guide li small {
	display: block;
}
.selection-guide li span {
	font-size: 9px;
	color: #ee896a;
}
.selection-guide li strong {
	font-size: 14px;
	margin: 15px 0 4px;
}
.selection-guide li small {
	font-size: 9px;
	color: #9fb7c2;
}

@media (max-width: 1100px) {
	.category-menu { flex-basis: 175px; }
	.mega-menu-grid,
	.fixture-category-grid { grid-template-columns: repeat(2, 1fr); }
	.brand-hall-layout { grid-template-columns: 290px minmax(0, 1fr); }
	.brand-series-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.brand-logo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.brand-logo-grid.is-single { grid-template-columns: 1fr; }
	.selection-guide { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 750px) {
	.primary-nav .site-width { overflow: visible; }
	.category-menu { flex: 0 0 145px; }
	.nav-links { overflow-x: auto; }
	.mega-menu {
		width: calc(100vw - 32px);
		max-height: 68vh;
		overflow-y: auto;
		padding: 18px;
	}
	.mega-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
	.mega-menu-heading strong { font-size: 17px; }
	.mega-menu-heading a { display: none; }
	.fixture-category-grid,
	.application-grid { grid-template-columns: repeat(2, 1fr); }
	.brand-hall-layout { grid-template-columns: 1fr; }
	.brand-feature { min-height: 270px; }
	.brand-series-panel { padding: 18px; }
	.brand-series-grid {
		display: flex;
		gap: 10px;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.brand-series-grid::-webkit-scrollbar { display: none; }
	.brand-series-card { flex: 0 0 min(72vw, 245px); scroll-snap-align: start; }
	.brand-logo-panel { padding: 18px; }
	.brand-logo-grid,
	.brand-logo-grid.is-single {
		display: flex;
		gap: 10px;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.brand-logo-grid::-webkit-scrollbar { display: none; }
	.brand-logo-card { flex: 0 0 min(72vw, 260px); scroll-snap-align: start; }
	.brand-logo-grid.is-single .brand-logo-card {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		flex: 1 0 100%;
		min-height: 212px;
	}
	.brand-logo-grid.is-single .brand-logo-media {
		height: 82px;
		margin-bottom: 15px;
		border: 0;
		border-bottom: 2px solid #eef2f3;
	}
	.brand-logo-grid.is-single .brand-logo-name { font-size: 15px; }
	.brand-logo-grid.is-single .brand-logo-card i { margin-top: auto; padding-top: 13px; font-size: 10px; }
	.application-grid a { min-height: 165px; padding: 20px; }
	.application-grid i { left: 20px; }
	.filter-bar select { max-width: none; flex: 1 1 45%; }
	.selection-guide { padding: 28px 22px; }
	.selection-guide ol { grid-template-columns: repeat(2, 1fr); }
	.product-tags { margin-bottom: 4px; }
}
@media (max-width: 480px) {
	.mega-menu-grid { grid-template-columns: 1fr; }
	.fixture-category-grid { grid-template-columns: 1fr; }
	.brand-feature { min-height: 250px; padding: 23px; }
	.brand-feature-label { left: 23px; }
	.brand-feature-mark { right: 22px; width: 62px; height: 62px; font-size: 25px; }
	.brand-feature-copy h3 { font-size: 24px; }
	.brand-series-card { flex-basis: min(79vw, 250px); }
	.application-grid { grid-template-columns: 1fr 1fr; }
	.application-grid strong { font-size: 16px; }
	.application-grid p { font-size: 10px; }
}

/* Home procurement portal */
.home-page {
	padding-top: 18px;
}
.home-page > .breadcrumbs,
.home-page > .page-h1 {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.home-portal {
	min-width: 0;
}
.portal-shell {
	display: grid;
	grid-template-columns: 236px minmax(0, 1fr) 276px;
	gap: 12px;
	align-items: stretch;
	margin-bottom: 14px;
}
.portal-categories,
.portal-main,
.buyer-panel,
.home-deals {
	background: #fff;
	border: 1px solid #e4e9eb;
}
.portal-categories {
	position: relative;
	z-index: 12;
}
.portal-category-title {
	height: 46px;
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 0 14px;
	background: #193746;
	color: #fff;
}
.portal-category-title > span {
	font-size: 13px;
}
.portal-category-title strong {
	font-size: 14px;
}
.portal-category-title a {
	margin-left: auto;
	font-size: 10px;
	color: #b9ced7;
}
.portal-category-nav {
	position: relative;
	height: 394px;
}
.portal-category-item {
	position: static;
	height: 49px;
	border-bottom: 1px solid #eef1f2;
}
.portal-category-item:last-child {
	border-bottom: 0;
}
.portal-category-label {
	height: 100%;
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) 23px;
	align-items: center;
	gap: 7px;
	padding: 0 7px 0 12px;
	transition: background .18s, color .18s;
}
.portal-category-index {
	font-size: 9px;
	font-weight: 700;
	color: #d65535;
}
.portal-category-label > a {
	min-width: 0;
}
.portal-category-label strong,
.portal-category-label small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.portal-category-label strong {
	font-size: 13px;
	line-height: 1.3;
}
.portal-category-label small {
	font-size: 9px;
	color: #83949c;
	margin-top: 2px;
}
.portal-category-toggle {
	border: 0;
	background: transparent;
	color: #8ba0aa;
	font-size: 18px;
	line-height: 1;
	padding: 5px;
}
.portal-category-item:hover .portal-category-label,
.portal-category-item:focus-within .portal-category-label,
.portal-category-item.is-open .portal-category-label {
	background: #fff3ef;
	color: #cf4829;
}
.portal-category-item:hover .portal-category-label small,
.portal-category-item:focus-within .portal-category-label small,
.portal-category-item.is-open .portal-category-label small {
	color: #b27664;
}
.portal-category-flyout {
	position: absolute;
	top: 0;
	left: calc(100% - 1px);
	width: min(510px, 55vw);
	min-height: 394px;
	background: #fff;
	border: 1px solid #dfe6e9;
	box-shadow: 14px 18px 35px #102b3924;
	padding: 25px 28px;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-5px);
	pointer-events: none;
	transition: opacity .16s, transform .16s, visibility .16s;
}
.portal-category-item:hover .portal-category-flyout,
.portal-category-item:focus-within .portal-category-flyout,
.portal-category-item.is-open .portal-category-flyout {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	pointer-events: auto;
}
.portal-flyout-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	padding-bottom: 17px;
	border-bottom: 1px solid #e9edef;
}
.portal-flyout-head > div {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: baseline;
	gap: 10px;
}
.portal-flyout-head span {
	font-size: 10px;
	color: #dd5332;
}
.portal-flyout-head strong {
	font-size: 20px;
}
.portal-flyout-head small,
.portal-flyout-head > a {
	font-size: 10px;
	color: #7e919a;
}
.portal-flyout-head > a {
	color: #cd4b2d;
}
.portal-flyout-groups {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
	padding-top: 24px;
}
.portal-flyout-groups section > a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
	padding-bottom: 9px;
	border-bottom: 2px solid #1b3948;
}
.portal-flyout-groups section > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 11px;
}
.portal-flyout-groups section > div a {
	font-size: 12px;
	color: #667b85;
}
.portal-flyout-groups a:hover {
	color: #d34d2d;
}
.portal-flyout-foot {
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 23px;
	background: #f4f7f8;
	padding: 11px 13px;
	font-size: 10px;
	color: #71858f;
}
.portal-main {
	min-width: 0;
	border: 0;
	background: transparent;
}
.portal-carousel {
	position: relative;
	height: 342px;
	overflow: hidden;
	background: #193949;
}
.portal-slide {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: 57% 43%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .45s ease, visibility .45s ease;
}
.portal-slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.portal-slide:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #ffffff08 1px, transparent 1px), linear-gradient(#ffffff08 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(90deg, transparent, #000);
}
.portal-slide-copy {
	position: relative;
	z-index: 2;
	padding: 31px 35px;
	color: #fff;
}
.portal-slide-copy > span {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.8px;
	color: #f3a087;
}
.portal-slide-copy h2 {
	font-size: 35px;
	line-height: 1.14;
	margin: 11px 0 12px;
	letter-spacing: .5px;
}
.portal-slide-copy h2 em {
	font-style: normal;
	color: #ff8b68;
}
.portal-slide-copy p {
	max-width: 390px;
	font-size: 12px;
	line-height: 1.75;
	color: #bdd0d9;
	margin: 0 0 17px;
}
.portal-slide-copy .button {
	min-height: 36px;
	padding: 7px 14px;
	font-size: 11px;
}
.portal-slide-model {
	background: linear-gradient(120deg, #1c3b4b, #28566c);
}
.portal-slide-stock {
	background: linear-gradient(125deg, #173b3e, #1d5860);
}
.portal-fixture-art {
	position: relative;
	z-index: 1;
	transform: translate(-3px, 2px) rotate(-7deg);
}
.fixture-base {
	position: absolute;
	left: 8%;
	top: 30%;
	width: 82%;
	height: 48%;
	background: linear-gradient(145deg, #cad5d9, #718894);
	border: 8px solid #4b6571;
	box-shadow: 18px 18px 0 #102b38, 22px 23px 25px #07192270;
	clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%);
}
.fixture-pin {
	position: absolute;
	z-index: 2;
	top: 20%;
	width: 30px;
	height: 91px;
	border-radius: 17px 17px 3px 3px;
	background: linear-gradient(90deg, #385462, #e7eef0 48%, #607783);
	box-shadow: 0 9px 0 #253e4b;
}
.fixture-pin:before {
	content: "";
	position: absolute;
	width: 30px;
	height: 15px;
	border-radius: 50%;
	background: #ef6a44;
}
.fixture-pin-a { left: 29%; }
.fixture-pin-b { right: 23%; top: 27%; }
.portal-fixture-art b,
.portal-fixture-art small {
	position: absolute;
	z-index: 3;
	left: 22%;
	bottom: 16%;
	color: #fff;
}
.portal-fixture-art b { font-size: 12px; letter-spacing: 2px; }
.portal-fixture-art small { bottom: 9%; font-size: 7px; letter-spacing: 1px; color: #a8bdc6; }
.model-search-art {
	position: relative;
	z-index: 2;
	align-self: center;
	margin-right: 28px;
	padding: 15px;
	background: #ffffffee;
	box-shadow: 17px 18px 0 #102b3970;
	transform: rotate(-3deg);
}
.model-search-art > div {
	padding: 12px;
	border: 1px solid #dfe6e9;
	margin-bottom: 8px;
}
.model-search-art small,
.model-search-art strong {
	display: block;
}
.model-search-art small {
	font-size: 8px;
	color: #8b9ba2;
}
.model-search-art strong {
	font-size: 14px;
	color: #173442;
}
.model-search-art > span {
	display: block;
	background: #df5533;
	color: #fff;
	padding: 8px;
	text-align: center;
	font-size: 10px;
}
.stock-board-art {
	position: relative;
	z-index: 2;
	align-self: center;
	margin-right: 27px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.stock-board-art > div {
	background: #ffffffed;
	padding: 15px;
	min-height: 74px;
}
.stock-board-art > div:last-child {
	grid-column: 1 / -1;
}
.stock-board-art span,
.stock-board-art strong {
	display: block;
}
.stock-board-art span {
	font-size: 9px;
	color: #7c9099;
}
.stock-board-art strong {
	font-size: 23px;
	color: #173642;
}
.stock-board-art .stock-ready {
	font-size: 16px;
	color: #248564;
	letter-spacing: 2px;
}
.carousel-controls {
	position: absolute;
	z-index: 5;
	left: 35px;
	bottom: 13px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.carousel-controls > button {
	width: 32px;
	height: 32px;
	border: 1px solid #ffffff40;
	background: #0f2d3a8c;
	color: #fff;
	font-size: 17px;
	line-height: 1;
}
.carousel-dots {
	display: flex;
	gap: 0;
}
.carousel-dots button {
	display: grid;
	place-items: center;
	width: 28px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
}
.carousel-dots button::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #ffffff6b;
	transition: width .18s, border-radius .18s, background .18s;
}
.carousel-dots button[aria-current="true"]::before {
	width: 21px;
	border-radius: 4px;
	background: #f17652;
}
.portal-quick-grid {
	height: 98px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: #e4e9eb;
	border: 1px solid #e4e9eb;
	border-top: 0;
}
.portal-quick-grid a {
	background: #fff;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 9px;
	padding: 13px;
	transition: background .18s;
}
.portal-quick-grid a:hover {
	background: #fff6f2;
}
.portal-quick-grid > a > span {
	font-size: 9px;
	color: #df5533;
}
.portal-quick-grid strong,
.portal-quick-grid small {
	display: block;
}
.portal-quick-grid strong {
	font-size: 12px;
}
.portal-quick-grid small {
	font-size: 9px;
	color: #81939b;
	margin-top: 3px;
}
.portal-quick-grid b {
	font-size: 13px;
	color: #d45333;
}
.buyer-panel {
	padding: 20px 18px;
	min-width: 0;
}
.buyer-welcome {
	display: flex;
	align-items: center;
	gap: 11px;
	padding-bottom: 17px;
	border-bottom: 1px solid #edf1f2;
}
.buyer-avatar {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #193847;
	color: #fff;
	font-weight: 700;
}
.buyer-welcome strong,
.buyer-welcome small {
	display: block;
}
.buyer-welcome strong {
	font-size: 15px;
}
.buyer-welcome small {
	font-size: 10px;
	color: #84969e;
	margin-top: 3px;
}
.buyer-cta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 16px 0;
}
.buyer-cta .button {
	min-height: 36px;
	padding: 7px 9px;
	font-size: 11px;
}
.portal-secondary {
	border: 1px solid #dfe5e8;
	background: #fff;
	color: #304b59;
}
.portal-secondary:hover {
	border-color: #d05232;
	color: #cb482a;
}
.buyer-shortcuts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border: 1px solid #e8edef;
}
.buyer-shortcuts a {
	min-height: 66px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
	border-right: 1px solid #e8edef;
	border-bottom: 1px solid #e8edef;
}
.buyer-shortcuts a:nth-child(2n) { border-right: 0; }
.buyer-shortcuts a:nth-last-child(-n+2) { border-bottom: 0; }
.buyer-shortcuts a:hover {
	background: #fff7f4;
	color: #cf4a2c;
}
.buyer-shortcuts span {
	font-size: 9px;
	color: #df5634;
}
.buyer-shortcuts strong {
	font-size: 11px;
}
.buyer-service {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9px;
	margin-top: 15px;
}
.buyer-service > div {
	background: #f4f7f8;
	padding: 10px;
}
.buyer-service span,
.buyer-service strong {
	display: block;
}
.buyer-service span {
	font-size: 9px;
	color: #86979e;
}
.buyer-service strong {
	font-size: 10px;
	margin-top: 2px;
}
.buyer-panel > p {
	font-size: 9px;
	line-height: 1.65;
	color: #8899a0;
	margin: 14px 0 0;
}
.home-deals {
	display: grid;
	grid-template-columns: 202px minmax(0, 1fr);
	margin-bottom: 39px;
	overflow: hidden;
}
.deal-heading {
	padding: 22px 20px;
	background: linear-gradient(145deg, #fff6f2, #fff);
	border-right: 1px solid #e8edef;
}
.deal-heading > div span,
.deal-heading > div strong {
	display: block;
}
.deal-heading > div span {
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: #d65232;
}
.deal-heading > div strong {
	font-size: 21px;
	margin-top: 5px;
}
.deal-heading p {
	font-size: 10px;
	color: #83959d;
	margin: 16px 0 27px;
}
.deal-heading > a {
	font-size: 10px;
	color: #ce4b2d;
}
.deal-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	min-width: 0;
}
.deal-grid > .empty-state {
	grid-column: 1 / -1;
	padding: 35px;
}
.deal-card {
	min-width: 0;
	padding: 13px;
	border-right: 1px solid #e8edef;
	transition: background .18s;
}
.deal-card:last-child {
	border-right: 0;
}
.deal-card:hover {
	background: #fffaf8;
}
.deal-picture {
	position: relative;
	display: grid;
	place-items: center;
	height: 103px;
	background: #f7f9f9;
	overflow: hidden;
}
.deal-picture img {
	width: 100%;
	height: 100%;
	transition: transform .22s;
}
.deal-card:hover .deal-picture img {
	transform: scale(1.05);
}
.deal-picture > span {
	position: absolute;
	left: 0;
	top: 0;
	background: #db5232;
	color: #fff;
	padding: 3px 7px;
	font-size: 8px;
}
.deal-content {
	padding-top: 10px;
}
.deal-type {
	display: block;
	font-size: 9px;
	color: #d15031;
}
.deal-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 36px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
	margin: 4px 0 7px;
}
.deal-name:hover {
	color: #cd492a;
}
.deal-meta {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 6px;
}
.deal-meta strong,
.deal-meta small {
	display: block;
}
.deal-meta strong {
	font-size: 17px;
	color: #dc4e2c;
}
.deal-meta .deal-login {
	font-size: 11px;
	color: #5f737e;
}
.deal-meta small,
.deal-meta em {
	font-size: 8px;
	font-style: normal;
	color: #87989f;
}
.home-page .home-categories,
.home-page .application-section,
.home-page .home-products {
	margin-bottom: 39px;
}
.home-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 13px;
}
.home-product-grid > .empty-state {
	grid-column: 1 / -1;
}
.home-product-card {
	min-width: 0;
	background: #fff;
	border: 1px solid #e2e8ea;
	overflow: hidden;
	transition: transform .18s, border-color .18s, box-shadow .18s;
}
.home-product-card:hover {
	transform: translateY(-3px);
	border-color: #d9a493;
	box-shadow: 0 13px 30px #17374614;
}
.home-product-picture {
	position: relative;
	display: grid;
	place-items: center;
	height: 205px;
	background:
		linear-gradient(90deg, #18374608 1px, transparent 1px),
		linear-gradient(#18374608 1px, transparent 1px),
		#f7f9f9;
	background-size: 18px 18px;
	overflow: hidden;
}
.home-product-picture img {
	width: 100%;
	height: 100%;
	transition: transform .25s;
}
.home-product-card:hover .home-product-picture img {
	transform: scale(1.045);
}
.home-product-picture > span {
	position: absolute;
	left: 0;
	top: 0;
	background: #193746;
	color: #fff;
	padding: 5px 10px;
	font-size: 9px;
}
.home-product-picture > i {
	position: absolute;
	right: 10px;
	bottom: 10px;
	background: #dc5332;
	color: #fff;
	padding: 6px 9px;
	font-size: 9px;
	font-style: normal;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .18s, transform .18s;
}
.home-product-card:hover .home-product-picture > i,
.home-product-picture:focus-visible > i {
	opacity: 1;
	transform: translateY(0);
}
.home-product-body {
	padding: 16px 17px 17px;
}
.home-product-tags {
	display: flex;
	gap: 5px;
	margin-bottom: 8px;
	overflow: hidden;
}
.home-product-tags span {
	white-space: nowrap;
	background: #fff1ed;
	color: #bd472c;
	padding: 2px 6px;
	font-size: 8px;
}
.home-product-tags span + span {
	background: #eef3f5;
	color: #5d747f;
}
.home-product-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 45px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}
.home-product-name:hover {
	color: #cc492a;
}
.home-product-sku {
	margin-top: 4px;
	font-size: 9px;
	color: #84969e;
	letter-spacing: .2px;
}
.home-product-specs {
	margin: 14px 0 0;
	padding: 10px 0;
	border-top: 1px solid #edf0f1;
	border-bottom: 1px solid #edf0f1;
}
.home-product-specs > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	font-size: 10px;
	line-height: 1.8;
}
.home-product-specs dt {
	color: #8999a0;
}
.home-product-specs dd {
	margin: 0;
	color: #435c68;
	font-weight: 600;
	text-align: right;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.home-product-footer {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 10px;
	margin-top: 13px;
}
.home-product-price {
	min-width: 0;
}
.home-product-price > div,
.home-product-price small,
.home-product-price strong {
	display: block;
}
.home-product-price small {
	font-size: 8px;
	color: #899aa2;
}
.home-product-price strong {
	font-size: 21px;
	line-height: 1.3;
	color: #dc4f2e;
}
.home-product-price .home-card-login {
	font-size: 13px;
	color: #506873;
}
.home-product-price > span {
	display: block;
	font-size: 8px;
	color: #899aa2;
}
.home-product-stock {
	display: flex;
	align-items: center;
	gap: 5px;
	white-space: nowrap;
	font-size: 9px;
	color: #536d78;
}
.home-product-stock i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #15956d;
	box-shadow: 0 0 0 3px #15956d16;
}

@media (max-width: 1200px) {
	.portal-shell {
		grid-template-columns: 215px minmax(0, 1fr) 248px;
	}
	.portal-slide-copy {
		padding-left: 27px;
	}
	.portal-slide-copy h2 {
		font-size: 31px;
	}
	.portal-category-label {
		padding-left: 9px;
	}
	.deal-heading {
		padding-left: 16px;
	}
}
@media (max-width: 1050px) {
	.portal-shell {
		grid-template-columns: 215px minmax(0, 1fr);
	}
	.buyer-panel {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(190px, 1fr) 250px minmax(300px, 1.4fr);
		gap: 16px;
		align-items: center;
		padding: 15px 18px;
	}
	.buyer-welcome {
		padding: 0;
		border: 0;
	}
	.buyer-cta {
		margin: 0;
	}
	.buyer-shortcuts {
		grid-template-columns: repeat(4, 1fr);
	}
	.buyer-shortcuts a {
		border-bottom: 0;
	}
	.buyer-shortcuts a:nth-child(2n) {
		border-right: 1px solid #e8edef;
	}
	.buyer-shortcuts a:last-child {
		border-right: 0;
	}
	.buyer-service,
	.buyer-panel > p {
		display: none;
	}
	.home-deals {
		grid-template-columns: 180px minmax(0, 1fr);
	}
	.deal-grid {
		overflow-x: auto;
		grid-template-columns: repeat(5, minmax(190px, 1fr));
	}
}
@media (max-width: 850px) and (min-width: 751px) {
	.buyer-panel {
		grid-template-columns: 1fr 1fr;
	}
	.buyer-shortcuts {
		grid-column: 1 / -1;
	}
}
@media (max-width: 750px) {
	.home-page {
		padding-top: 12px;
	}
	.portal-shell {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	.portal-category-title {
		height: 42px;
	}
	.portal-category-nav {
		display: flex;
		height: auto;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
	}
	.portal-category-item {
		flex: 0 0 158px;
		height: 64px;
		border-right: 1px solid #e9edef;
		border-bottom: 0;
		scroll-snap-align: start;
	}
	.portal-category-label {
		grid-template-columns: 20px minmax(0, 1fr);
		padding: 0 10px;
	}
	.portal-category-toggle,
	.portal-category-flyout {
		display: none;
	}
	.portal-carousel {
		height: 330px;
	}
	.portal-slide {
		grid-template-columns: 1fr;
	}
	.portal-slide-copy {
		padding: 30px 25px;
		width: 72%;
	}
	.portal-slide-copy h2 {
		font-size: 34px;
	}
	.portal-fixture-art,
	.model-search-art,
	.stock-board-art {
		position: absolute;
		right: -2%;
		top: 12%;
		width: 43%;
		height: 75%;
		opacity: .45;
		margin: 0;
	}
	.model-search-art,
	.stock-board-art {
		top: 19%;
		height: auto;
	}
	.portal-quick-grid {
		height: 88px;
		overflow-x: auto;
		grid-template-columns: repeat(3, minmax(165px, 1fr));
	}
	.buyer-panel {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 13px;
	}
	.buyer-shortcuts {
		grid-column: 1 / -1;
	}
	.home-deals {
		display: block;
	}
	.deal-heading {
		display: flex;
		align-items: center;
		gap: 17px;
		padding: 14px 16px;
		border: 0;
		border-bottom: 1px solid #e8edef;
	}
	.deal-heading p {
		margin: 0;
	}
	.deal-heading > a {
		margin-left: auto;
	}
	.deal-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}
	.deal-card {
		flex: 0 0 196px;
		scroll-snap-align: start;
	}
}
@media (max-width: 480px) {
	.portal-slide-copy {
		width: 86%;
		padding: 27px 21px;
	}
	.portal-slide-copy h2 {
		font-size: 31px;
	}
	.portal-slide-copy p {
		font-size: 11px;
	}
	.portal-fixture-art,
	.model-search-art,
	.stock-board-art {
		opacity: .27;
	}
	.carousel-controls {
		left: 21px;
	}
	.buyer-panel {
		grid-template-columns: 1fr;
	}
	.buyer-cta {
		grid-template-columns: 1fr 1fr;
	}
	.buyer-shortcuts {
		grid-column: 1;
	}
	.deal-heading p {
		display: none;
	}
	.deal-heading > div strong {
		font-size: 18px;
	}
	.home-product-picture {
		height: 137px;
	}
	.home-product-picture > span {
		padding: 4px 7px;
		font-size: 10px;
	}
	.home-product-picture > i {
		display: none;
	}
	.home-product-body {
		padding: 11px;
	}
	.home-product-tags span {
		max-width: 82px;
		overflow: hidden;
		font-size: 10px;
		text-overflow: ellipsis;
	}
	.home-product-sku,
	.home-product-price small,
	.home-product-price > span,
	.home-product-stock { font-size: 10px; }
	.home-product-name {
		min-height: 39px;
		font-size: 13px;
		line-height: 1.45;
	}
	.home-product-specs {
		margin-top: 10px;
		padding: 7px 0;
	}
	.home-product-specs > div:last-child {
		display: none;
	}
	.home-product-specs > div {
		display: block;
		font-size: 11px;
		line-height: 1.5;
	}
	.home-product-specs dd {
		text-align: left;
	}
	.home-product-footer {
		align-items: start;
		flex-direction: column;
		gap: 5px;
		margin-top: 9px;
	}
	.home-product-price strong {
		font-size: 18px;
	}
}
@media (max-width: 1100px) {
	.footer-inner {
		grid-template-columns: minmax(250px, 1.45fr) repeat(3, minmax(120px, 1fr));
		gap: 28px;
	}
	.footer-procurement {
		grid-column: 1 / -1;
	}
}
/* Ready-stock visual directory */
.stock-page {
	padding-top: 4px;
}
.stock-page .page-h1 {
	margin-bottom: 8px;
	font-size: 28px;
}
.stock-catalogue {
	margin-bottom: 58px;
}
.stock-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 32px;
	margin-bottom: 16px;
	padding: 20px 22px;
	border: 1px solid #dfe6e8;
	border-top: 3px solid #d95332;
	background: #fff;
}
.stock-hero-copy > p {
	max-width: 700px;
	margin: 5px 0 13px;
	color: #5c7480;
	font-size: 12px;
}
.stock-search {
	display: flex;
	max-width: 650px;
	height: 39px;
	border: 1px solid #cad6da;
	background: #fff;
}
.stock-search:focus-within {
	border-color: #d95332;
	box-shadow: 0 0 0 2px #d9533214;
}
.stock-search input[type="search"] {
	min-width: 0;
	flex: 1;
	border: 0;
	outline: 0;
	padding: 0 12px;
	font-size: 12px;
}
.stock-search button {
	border: 0;
	background: #193746;
	color: #fff;
	padding: 0 17px;
	font-size: 11px;
	font-weight: 700;
}
.stock-search button:hover {
	background: #d95332;
}
.stock-stats {
	display: grid;
	grid-template-columns: repeat(4, 82px);
	margin: 0;
}
.stock-stats div {
	padding: 3px 14px;
	border-left: 1px solid #e2e8ea;
}
.stock-stats dt,
.stock-stats dd {
	margin: 0;
}
.stock-stats dt {
	color: #84959d;
	font-size: 9px;
}
.stock-stats dd {
	margin-top: 2px;
	color: #183443;
	font-size: 20px;
	font-weight: 700;
}
.stock-directory-layout {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: start;
	gap: 16px;
}
.stock-index {
	position: sticky;
	top: 16px;
	overflow: hidden auto;
	max-height: calc(100vh - 32px);
	border: 1px solid #dfe6e8;
	background: #fff;
}
.stock-index-title {
	padding: 16px 17px;
	background: #193746;
	color: #fff;
}
.stock-index-title span,
.stock-index-title strong {
	display: block;
}
.stock-index-title span {
	color: #ef8869;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 2px;
}
.stock-index-title strong {
	margin-top: 4px;
	font-size: 16px;
}
.stock-index nav {
	display: grid;
}
.stock-index nav a {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr) auto;
	align-items: center;
	gap: 7px;
	min-height: 50px;
	padding: 0 13px;
	border-bottom: 1px solid #edf1f2;
	transition: background .18s, color .18s;
}
.stock-index nav a > span {
	color: #cf4d2e;
	font-size: 9px;
	font-weight: 700;
}
.stock-index nav a > strong {
	overflow: hidden;
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.stock-index nav a > small {
	color: #8999a1;
	font-size: 9px;
}
.stock-index nav a:hover,
.stock-index nav a[aria-current="location"] {
	background: #fff5f1;
	color: #c8492c;
}
.stock-index-all {
	display: block;
	padding: 13px 16px;
	color: #c8492c;
	font-size: 10px;
	font-weight: 700;
}
.stock-sections {
	display: grid;
	gap: 16px;
	min-width: 0;
}
.stock-category-section {
	scroll-margin-top: 16px;
	border: 1px solid #dfe6e8;
	background: #fff;
}
.stock-category-head {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	overflow: hidden;
	min-height: 112px;
	padding: 20px 22px;
	border-bottom: 1px solid #e5eaec;
	background: linear-gradient(110deg, #f7fafb 0%, #fff 72%);
}
.stock-category-head::after {
	content: "";
	position: absolute;
	top: -32px;
	right: 120px;
	width: 230px;
	height: 180px;
	background: repeating-linear-gradient(90deg, transparent 0 30px, #18374608 30px 31px), repeating-linear-gradient(0deg, transparent 0 30px, #18374608 30px 31px);
	transform: rotate(-8deg);
	pointer-events: none;
}
.stock-category-head > div {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.stock-category-head > div > span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	background: #193746;
	color: #ef8869;
	font-size: 10px;
	font-weight: 700;
}
.stock-category-head h2 {
	margin: -3px 0 3px;
	font-size: 23px;
}
.stock-category-head p {
	max-width: 690px;
	margin: 0;
	color: #647b86;
	font-size: 11px;
}
.stock-category-head > a {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
	min-width: 145px;
	padding-left: 18px;
	border-left: 2px solid #d95332;
}
.stock-category-head > a strong,
.stock-category-head > a small {
	display: block;
}
.stock-category-head > a strong {
	font-size: 14px;
}
.stock-category-head > a small {
	margin-top: 4px;
	color: #c94a2c;
	font-size: 9px;
}
.stock-process-group {
	padding: 17px 18px 20px;
	border-bottom: 1px solid #e9edef;
}
.stock-process-group:last-child {
	border-bottom: 0;
}
.stock-process-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 12px;
}
.stock-process-head h3 {
	display: inline;
	margin: 0;
	font-size: 16px;
}
.stock-process-head span {
	margin-left: 10px;
	color: #788b94;
	font-size: 10px;
}
.stock-process-head a {
	flex: 0 0 auto;
	color: #c94a2c;
	font-size: 10px;
	font-weight: 700;
}
.stock-model-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}
.stock-model-card {
	min-width: 0;
	border: 1px solid #e1e7e9;
	background: #fff;
	transition: transform .18s, border-color .18s, box-shadow .18s;
}
.stock-model-card:hover {
	transform: translateY(-2px);
	border-color: #d7b8ad;
	box-shadow: 0 10px 22px #17344412;
}
.stock-model-picture {
	position: relative;
	display: grid;
	place-items: center;
	height: 175px;
	overflow: hidden;
	border-bottom: 1px solid #edf0f1;
	background: #f9fafa;
}
.stock-model-picture img {
	width: 100%;
	height: 100%;
	transition: transform .25s;
}
.stock-model-card:hover .stock-model-picture img {
	transform: scale(1.03);
}
.stock-model-body {
	padding: 11px 12px 12px;
}
.stock-model-topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 7px;
}
.stock-model-topline > span {
	color: #c94b2d;
	font-size: 9px;
	font-weight: 700;
}
.stock-model-topline > strong {
	color: #28815f;
	font-size: 9px;
	white-space: nowrap;
}
.stock-model-topline i {
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-right: 4px;
	border-radius: 50%;
	background: #32a377;
}
.stock-model-body h4 {
	min-height: 39px;
	margin: 8px 0 5px;
	overflow: hidden;
	font-size: 12px;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.stock-model-body h4 a:hover {
	color: #c94b2d;
}
.stock-model-body > p {
	margin: 0 0 8px;
	overflow: hidden;
	color: #71858f;
	font-size: 9px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.stock-model-body dl {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 8px;
	margin: 0;
	padding-top: 8px;
	border-top: 1px solid #edf0f1;
	font-size: 9px;
}
.stock-model-body dt,
.stock-model-body dd {
	margin: 0;
}
.stock-model-body dt {
	color: #93a1a8;
}
.stock-model-body dd {
	overflow: hidden;
	text-align: right;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.stock-process-empty {
	padding: 28px;
	border: 1px dashed #d9e1e4;
	background: #fafbfb;
	color: #748892;
	font-size: 11px;
	text-align: center;
}
@media (max-width: 1199px) {
	.stock-hero { grid-template-columns: 1fr; gap: 18px; }
	.stock-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.stock-stats div:first-child { border-left: 0; padding-left: 0; }
	.stock-directory-layout { grid-template-columns: 190px minmax(0, 1fr); }
	.stock-model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.stock-directory-layout { display: block; }
	.stock-index { position: sticky; top: 0; z-index: 25; max-height: none; margin-bottom: 12px; overflow: hidden; }
	.stock-index-title,
	.stock-index-all { display: none; }
	.stock-index nav { display: flex; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
	.stock-index nav::-webkit-scrollbar { display: none; }
	.stock-index nav a { flex: 0 0 auto; grid-template-columns: 22px auto auto; min-height: 44px; padding: 0 12px; border-right: 1px solid #edf1f2; border-bottom: 0; scroll-snap-align: start; }
	.stock-category-section { scroll-margin-top: 58px; }
	.stock-category-head { min-height: 104px; }
}
@media (max-width: 750px) {
	.stock-page .page-h1 { font-size: 23px; }
	.stock-hero { padding: 15px; }
	.stock-stats div { padding: 3px 9px; }
	.stock-stats dd { font-size: 17px; }
	.stock-category-head { align-items: flex-start; flex-direction: column; gap: 13px; padding: 17px; }
	.stock-category-head > a { padding-left: 12px; }
	.stock-process-group { padding: 14px; }
	.stock-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.stock-hero-copy > p { font-size: 11px; }
	.stock-search { height: auto; }
	.stock-search input[type="search"] { min-height: 40px; }
	.stock-search button { padding: 0 12px; }
	.stock-stats dt { font-size: 8px; }
	.stock-stats dd { font-size: 15px; }
	.stock-category-head h2 { font-size: 20px; }
	.stock-category-head p { font-size: 10px; }
	.stock-process-head { align-items: flex-start; }
	.stock-process-head h3 { display: block; font-size: 14px; }
	.stock-process-head span { display: block; margin: 2px 0 0; }
	.stock-model-grid { gap: 8px; }
	.stock-model-picture { height: 145px; }
	.stock-model-body { padding: 9px; }
	.stock-model-topline { align-items: flex-start; flex-direction: column; gap: 2px; }
	.stock-model-body h4 { min-height: 35px; font-size: 11px; }
}
@media (max-width: 360px) {
	.stock-model-grid { grid-template-columns: 1fr; }
	.stock-model-picture { height: 205px; }
}
/* Universal fixture catalogue */
.catalog-page {
	padding-top: 4px;
}
.catalog-page .page-h1 {
	margin-bottom: 8px;
	font-size: 26px;
}
.catalog-page .catalog-layout {
	display: block;
	margin-bottom: 58px;
}
.catalog-overview {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
	margin-bottom: 10px;
	padding: 12px 18px;
	border: 1px solid #e2e8ea;
	border-top: 3px solid #d95332;
	background: #fff;
}
.catalog-overview p {
	max-width: 720px;
	margin: 3px 0 0;
	color: #617984;
	font-size: 12px;
}
.catalog-overview dl {
	display: flex;
	margin: 0;
}
.catalog-overview dl div {
	min-width: 105px;
	padding: 0 15px;
	border-left: 1px solid #e5eaec;
}
.catalog-overview dt,
.catalog-overview dd {
	margin: 0;
}
.catalog-overview dt {
	color: #8b9ba3;
	font-size: 10px;
}
.catalog-overview dd {
	margin-top: 2px;
	font-size: 13px;
	font-weight: 700;
}
.catalog-directory {
	margin-bottom: 10px;
	border: 1px solid #e2e8ea;
	background: #fff;
}
.catalog-directory-head,
.catalog-filter-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 9px 16px;
	border-bottom: 1px solid #e8edef;
}
.catalog-directory-head strong,
.catalog-filter-head strong {
	display: block;
	font-size: 15px;
}
.catalog-directory-head button,
.catalog-filter-head button {
	border: 0;
	background: transparent;
	color: #c94d2e;
	font-size: 11px;
}
.catalog-directory-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	padding: 3px 8px 8px;
}
.has-js .catalog-directory.is-collapsed .catalog-directory-grid {
	display: none;
}
.catalog-directory-grid.is-compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.catalog-directory-grid.is-compact article:nth-child(2n) {
	border-right: 0;
}
.catalog-directory-grid article {
	min-width: 0;
	padding: 8px 10px;
	border-right: 1px solid #edf0f1;
}
.catalog-directory-grid article:nth-child(4n) {
	border-right: 0;
}
.catalog-directory-grid article.is-active {
	background: #fff7f4;
}
.catalog-directory-main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-weight: 700;
}
.catalog-directory-main:hover,
.catalog-directory-grid article.is-active .catalog-directory-main {
	color: #ce4b2c;
}
.catalog-directory-main span {
	color: #91a1a8;
	font-size: 10px;
	font-weight: 500;
}
.catalog-directory-grid article > div {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 13px;
	margin-top: 4px;
}
.catalog-directory-grid article > div a {
	color: #6f828c;
	font-size: 11px;
}
.catalog-directory-grid article > div a:hover,
.catalog-directory-grid article > div a[aria-current="page"] {
	color: #cf4b2c;
}
.catalog-filter-panel {
	margin-bottom: 10px;
	border: 1px solid #dde5e8;
	background: #fff;
}
.has-js .catalog-filter-panel.is-collapsed .catalog-filter-body {
	display: none;
}
.catalog-filter-panel.is-collapsed [data-filter-more] {
	display: none;
}
.catalog-filter-head > div:last-child {
	display: flex;
	gap: 16px;
}
.catalog-filter-head [data-filter-toggle] {
	display: inline-block;
}
.catalog-facet-row {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr);
	border-bottom: 1px solid #edf1f2;
}
.catalog-facet-row.is-extra {
	display: none;
}
.catalog-filter-panel.show-all .catalog-facet-row.is-extra {
	display: grid;
}
.catalog-facet-row > strong {
	padding: 9px 12px;
	background: #f7f9fa;
	font-size: 12px;
}
.catalog-facet-row > div {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 17px;
	padding: 6px 12px;
}
.catalog-facet-row a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 260px;
	color: #536b77;
	font-size: 11px;
}
.catalog-facet-row a i {
	width: 13px;
	height: 13px;
	border: 1px solid #cbd6da;
	background: #fff;
}
.catalog-facet-row a small {
	color: #9aa8ae;
}
.catalog-facet-row a:hover,
.catalog-facet-row a[aria-pressed="true"] {
	color: #ca492b;
}
.catalog-facet-row a[aria-pressed="true"] i {
	border-color: #d55232;
	background: #d55232;
	box-shadow: inset 0 0 0 3px #fff;
}
.catalog-advanced-filter {
	display: grid;
	grid-template-columns: minmax(180px, 1.35fr) minmax(150px, 1fr) minmax(230px, 1.2fr) 130px auto auto;
	align-items: end;
	gap: 10px;
	padding: 10px 12px;
	background: #fbfcfc;
}
.catalog-advanced-filter > label:not(.catalog-stock-check) {
	display: grid;
	gap: 5px;
}
.catalog-advanced-filter label > span:first-child {
	color: #71858f;
	font-size: 10px;
}
.catalog-advanced-filter input {
	width: 100%;
	height: 34px;
	min-width: 0;
	border: 1px solid #d9e2e5;
	background: #fff;
	padding: 0 10px;
	font-size: 11px;
}
.catalog-advanced-filter input:focus {
	outline: 1px solid #d95431;
	border-color: #d95431;
}
.range-inputs {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 6px;
}
.range-inputs i {
	font-style: normal;
	color: #a0adb3;
}
.catalog-stock-check {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	white-space: nowrap;
}
.catalog-stock-check input {
	width: 15px;
	height: 15px;
}
.catalog-filter-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}
.catalog-filter-actions .button {
	min-height: 34px;
	padding: 6px 15px;
	font-size: 11px;
}
.catalog-filter-actions a {
	color: #71858f;
	font-size: 11px;
}
.active-filter-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
	padding: 10px 14px;
	border: 1px solid #f0d8d0;
	background: #fff9f7;
}
.active-filter-bar > strong {
	white-space: nowrap;
	font-size: 11px;
}
.active-filter-bar > div {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	gap: 7px;
}
.active-filter-bar > div a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 8px;
	border: 1px solid #edbbaa;
	background: #fff;
	color: #bd452a;
	font-size: 10px;
}
.active-filter-bar > div a span,
.active-filter-bar > a {
	color: #788b94;
}
.active-filter-bar > div a b {
	font-size: 13px;
}
.active-filter-bar > a {
	white-space: nowrap;
	font-size: 11px;
}
.catalog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 14px;
	padding: 10px 13px;
	border: 1px solid #dfe6e8;
	background: #fff;
}
.catalog-sort,
.catalog-toolbar-end,
.catalog-view-switch {
	display: flex;
	align-items: center;
}
.catalog-sort {
	gap: 4px;
}
.catalog-sort > span {
	flex: 0 0 auto;
	margin-right: 7px;
	color: #83949c;
	font-size: 11px;
	white-space: nowrap;
}
.catalog-sort a,
.catalog-view-switch a {
	padding: 6px 10px;
	font-size: 11px;
}
.catalog-sort a:hover,
.catalog-sort a[aria-current="page"],
.catalog-view-switch a[aria-pressed="true"] {
	background: #193746;
	color: #fff;
}
.catalog-toolbar-end {
	gap: 15px;
	font-size: 11px;
}
.catalog-toolbar-end > span strong {
	color: #d44e2f;
}
.catalog-view-switch {
	border: 1px solid #dfe5e7;
}
.catalog-products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
.catalog-product-card {
	min-width: 0;
	border: 1px solid #e0e7e9;
	background: #fff;
	transition: transform .18s, box-shadow .18s, border-color .18s;
}
.catalog-product-card:hover {
	transform: translateY(-2px);
	border-color: #d7c8c2;
	box-shadow: 0 12px 28px #17344412;
}
.catalog-product-picture {
	position: relative;
	display: grid;
	place-items: center;
	height: 225px;
	overflow: hidden;
	border-bottom: 1px solid #edf0f1;
	background: #f8fafa;
}
.catalog-product-picture img {
	width: 100%;
	height: 100%;
	transition: transform .25s;
}
.catalog-product-card:hover .catalog-product-picture img {
	transform: scale(1.025);
}
.catalog-product-picture > i {
	position: absolute;
	right: 12px;
	bottom: 10px;
	font-style: normal;
	font-size: 10px;
	color: #d04c2d;
	opacity: 0;
	transform: translateY(5px);
	transition: opacity .18s, transform .18s;
}
.catalog-product-card:hover .catalog-product-picture > i {
	opacity: 1;
	transform: translateY(0);
}
.catalog-product-body {
	display: flex;
	flex-direction: column;
	min-height: 410px;
	padding: 15px;
}
.catalog-card-topline {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}
.catalog-card-topline .product-tags {
	flex: 1;
	margin-bottom: 0;
}
.catalog-stock-state {
	flex: 0 0 auto;
	padding: 2px 7px;
	border: 1px solid #b9dfcf;
	background: #eef9f4;
	color: #28815f;
	font-size: 9px;
	font-weight: 700;
}
.catalog-stock-state.is-out {
	border-color: #d9e0e3;
	background: #f2f5f6;
	color: #73858e;
}
.catalog-product-card .product-name {
	min-height: 44px;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.catalog-product-codes {
	display: grid;
	gap: 3px;
	margin: 8px 0 11px;
	color: #788b94;
	font-size: 10px;
}
.catalog-product-codes span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.catalog-product-specs {
	display: grid;
	gap: 6px;
	margin: 0 0 12px;
}
.catalog-product-specs div {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr);
	gap: 8px;
	font-size: 10px;
}
.catalog-product-specs dt,
.catalog-product-specs dd {
	margin: 0;
}
.catalog-product-specs dt {
	color: #91a0a7;
}
.catalog-product-specs dd {
	overflow: hidden;
	color: #4d6571;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.catalog-procurement-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: auto;
	border-top: 1px solid #edf0f1;
	border-bottom: 1px solid #edf0f1;
}
.catalog-procurement-facts > div {
	min-width: 0;
	padding: 9px 4px;
	border-right: 1px solid #edf0f1;
}
.catalog-procurement-facts > div:last-child {
	border-right: 0;
}
.catalog-procurement-facts span,
.catalog-procurement-facts strong {
	display: block;
}
.catalog-procurement-facts span {
	color: #93a1a8;
	font-size: 8px;
}
.catalog-procurement-facts strong {
	margin-top: 3px;
	overflow: hidden;
	font-size: 9px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.catalog-procurement-facts strong i {
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-right: 4px;
	border-radius: 50%;
	background: #37a277;
}
.catalog-product-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	padding: 11px 0 10px;
}
.catalog-product-footer small {
	display: block;
	color: #91a0a7;
	font-size: 8px;
}
.catalog-product-footer .price {
	font-size: 20px;
}
.catalog-product-footer > a,
.catalog-login {
	color: #c94b2e;
	font-size: 10px;
	font-weight: 700;
}
.catalog-card-cart {
	display: grid;
	grid-template-columns: 75px minmax(0, 1fr);
	gap: 7px;
}
.catalog-card-cart input {
	min-width: 0;
	width: 100%;
	height: 34px;
	border: 1px solid #dbe3e6;
	padding: 0 8px;
	font-size: 10px;
}
.catalog-card-cart .button {
	min-height: 34px;
	padding: 7px;
	font-size: 10px;
}
.catalog-login,
.catalog-purchase-note {
	display: grid;
	place-items: center;
	min-height: 34px;
	border: 1px solid #df6244;
}
.catalog-purchase-note {
	border-color: #dfe5e7;
	color: #7e9099;
	font-size: 10px;
}
.catalog-products.is-list {
	grid-template-columns: 1fr;
}
.catalog-products.is-list .catalog-product-card {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
}
.catalog-products.is-list .catalog-product-picture {
	height: 100%;
	min-height: 255px;
	border-right: 1px solid #edf0f1;
	border-bottom: 0;
}
.catalog-products.is-list .catalog-product-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	grid-template-rows: auto auto auto 1fr;
	gap: 0 24px;
	min-height: 255px;
}
.catalog-products.is-list .catalog-card-topline,
.catalog-products.is-list .product-name,
.catalog-products.is-list .catalog-product-codes,
.catalog-products.is-list .catalog-product-specs {
	grid-column: 1;
}
.catalog-products.is-list .product-name {
	min-height: 0;
}
.catalog-products.is-list .catalog-product-specs {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.catalog-products.is-list .catalog-procurement-facts {
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: start;
	margin: 0;
}
.catalog-products.is-list .catalog-product-footer {
	grid-column: 2;
	grid-row: 3;
}
.catalog-products.is-list .catalog-card-cart,
.catalog-products.is-list .catalog-login,
.catalog-products.is-list .catalog-purchase-note {
	grid-column: 2;
	grid-row: 4;
	align-self: end;
}
.catalog-empty {
	margin-bottom: 20px;
}
.catalog-page .pagination {
	align-items: center;
	flex-wrap: wrap;
}
.catalog-page .pagination > span {
	margin-right: 8px;
	color: #71858f;
	font-size: 11px;
}
.catalog-page .pagination a,
.catalog-page .pagination i {
	width: auto;
	min-width: 36px;
	padding: 0 11px;
	font-style: normal;
}
.catalog-page .pagination i {
	display: grid;
	place-items: center;
	height: 36px;
	border: 1px solid #e6eaec;
	color: #b0bcc1;
}
.catalog-buying-guide {
	display: grid;
	grid-template-columns: 330px minmax(0, 1fr);
	gap: 40px;
	align-items: center;
	margin-top: 25px;
	padding: 30px 36px;
	background: #193746;
	color: #fff;
}
.catalog-buying-guide h2 {
	margin: 8px 0;
	font-size: 22px;
}
.catalog-buying-guide p {
	margin: 0;
	color: #a9bdc6;
	font-size: 11px;
}
.catalog-buying-guide ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}
.catalog-buying-guide li {
	min-height: 75px;
	padding: 12px 15px;
	border-left: 1px solid #ffffff1e;
}
.catalog-buying-guide li span,
.catalog-buying-guide li strong {
	display: block;
}
.catalog-buying-guide li span {
	color: #ef8a6b;
	font-size: 9px;
}
.catalog-buying-guide li strong {
	margin-top: 12px;
	font-size: 12px;
}
@media (max-width: 1199px) {
	.catalog-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.catalog-advanced-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.catalog-products.is-list .catalog-product-body { grid-template-columns: minmax(0, 1fr) 300px; }
}
@media (max-width: 899px) {
	.catalog-overview { grid-template-columns: 1fr; gap: 16px; }
	.catalog-overview dl div:first-child { border-left: 0; padding-left: 0; }
	.catalog-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.catalog-directory-grid article:nth-child(2n) { border-right: 0; }
	.catalog-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.catalog-products.is-list .catalog-product-card { grid-template-columns: 190px minmax(0, 1fr); }
	.catalog-products.is-list .catalog-product-body { display: flex; min-height: 300px; }
	.catalog-toolbar { align-items: flex-start; }
	.catalog-sort { flex-wrap: wrap; }
	.catalog-buying-guide { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 750px) {
	.catalog-page .page-h1 { font-size: 23px; }
	.catalog-overview { padding: 13px; }
	.catalog-overview dl { display: grid; grid-template-columns: repeat(3, 1fr); }
	.catalog-overview dl div { min-width: 0; padding: 0 10px; }
	.catalog-directory-head button,
	.catalog-filter-head [data-filter-toggle] { display: inline-block; }
	.catalog-filter-head [data-filter-more] { display: none; }
	.catalog-filter-panel .catalog-facet-row.is-extra { display: grid; }
	.catalog-facet-row { grid-template-columns: 1fr; }
	.catalog-facet-row > strong { padding: 9px 13px; }
	.catalog-facet-row > div { gap: 9px 16px; padding: 10px 13px; }
	.catalog-advanced-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.catalog-stock-check,
	.catalog-filter-actions { align-self: end; }
	.active-filter-bar { align-items: flex-start; }
	.catalog-toolbar { position: sticky; top: 0; z-index: 12; flex-direction: column; gap: 8px; }
	.catalog-toolbar-end { width: 100%; justify-content: space-between; }
	.catalog-sort { max-width: 100%; overflow-x: auto; flex-wrap: nowrap; }
	.catalog-sort a { flex: 0 0 auto; }
	.catalog-products.is-list .catalog-product-card { display: block; }
	.catalog-products.is-list .catalog-product-picture { height: 220px; min-height: 0; border-right: 0; border-bottom: 1px solid #edf0f1; }
	.catalog-products.is-list .catalog-product-body { min-height: 410px; }
	.catalog-buying-guide { padding: 25px 20px; }
	.catalog-buying-guide ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.catalog-overview dl { gap: 8px; }
	.catalog-overview dl div { padding: 0 7px; }
	.catalog-overview dd { font-size: 11px; }
	.catalog-directory-grid { grid-template-columns: 1fr; }
	.catalog-directory-grid article { border-right: 0; border-bottom: 1px solid #edf0f1; }
	.catalog-directory-grid article:last-child { border-bottom: 0; }
	.catalog-advanced-filter { grid-template-columns: 1fr; }
	.catalog-products { grid-template-columns: 1fr; }
	.catalog-product-picture,
	.catalog-products.is-list .catalog-product-picture { height: 205px; }
	.catalog-product-body,
	.catalog-products.is-list .catalog-product-body { min-height: 355px; padding: 14px; }
	.catalog-product-codes { margin: 6px 0 8px; font-size: 11px; }
	.catalog-product-specs { gap: 4px; margin-bottom: 9px; }
	.catalog-product-specs div { font-size: 11px; }
	.catalog-product-specs div:nth-child(n + 3) { display: none; }
	.catalog-stock-state { font-size: 10px; }
	.catalog-procurement-facts > div { padding: 7px 4px; }
	.catalog-procurement-facts span,
	.catalog-product-footer small { font-size: 10px; }
	.catalog-procurement-facts strong { font-size: 11px; }
	.catalog-product-footer { padding: 8px 0; }
	.catalog-toolbar { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
	.catalog-view-switch { display: none; }
	.active-filter-bar { flex-wrap: wrap; }
	.active-filter-bar > div { order: 3; flex-basis: 100%; }
	.catalog-page .pagination { padding-left: 0; padding-right: 0; gap: 5px; }
	.catalog-page .pagination a,
	.catalog-page .pagination i { padding: 0 8px; font-size: 10px; }
}
@media (max-width: 850px) {
	.task-primary-nav .site-width {
		position: relative;
	}
	.home-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.footer-service-grid {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 18px;
	}
	.footer-service-grid > div,
	.footer-service-grid > div:first-child,
	.footer-service-grid > div:last-child {
		padding: 0 18px;
	}
	.footer-service-grid > div:nth-child(2n) {
		border-right: 0;
	}
	.footer-inner {
		grid-template-columns: repeat(3, 1fr);
	}
	.footer-about,
	.footer-procurement {
		grid-column: 1 / -1;
	}
}
@media (max-width: 560px) {
	.footer-service-grid {
		padding-left: 9px;
		padding-right: 9px;
	}
	.footer-service-grid > div,
	.footer-service-grid > div:first-child,
	.footer-service-grid > div:last-child {
		grid-template-columns: 35px minmax(0, 1fr);
		gap: 9px;
		padding: 0 8px;
	}
	.footer-service-grid > div > span {
		width: 34px;
		height: 34px;
		font-size: 9px;
	}
	.footer-service-grid strong {
		font-size: 12px;
	}
	.footer-service-grid small {
		font-size: 8px;
	}
	.footer-inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 27px 12px;
		padding-top: 38px;
	}
	.footer-about,
	.footer-procurement {
		grid-column: 1 / -1;
	}
	.footer-bottom {
		flex-direction: column;
		gap: 5px;
	}
}
@media (max-width: 1199px) {
	.home-primary-nav .site-width {
		gap: 0;
		overflow: hidden;
	}
	.inner-primary-nav .site-width {
		gap: 16px;
	}
	.task-primary-nav .nav-links {
		justify-content: flex-start;
		gap: 25px;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		overscroll-behavior-inline: contain;
		scrollbar-width: none;
		padding-right: 24px;
	}
	.task-primary-nav .nav-links::-webkit-scrollbar {
		display: none;
	}
	.task-primary-nav .nav-links a {
		flex: 0 0 auto;
		min-height: 51px;
		padding: 0 2px;
		scroll-snap-align: start;
	}
	.task-primary-nav .nav-links a::after {
		left: 2px;
		right: 2px;
	}
	.task-primary-nav .browse-link {
		display: none;
	}
	.task-primary-nav .nav-scroll-hint {
		position: absolute;
		right: 30px;
		z-index: 4;
		display: grid;
		place-items: center;
		width: 25px;
		height: 36px;
		border-radius: 18px 0 0 18px;
		background: linear-gradient(90deg, #ffffffcf, #fff);
		color: #cf4a2a;
		font-size: 24px;
		font-weight: 700;
		line-height: 1;
		pointer-events: none;
		opacity: 0;
		transition: opacity .18s;
	}
	.task-primary-nav .site-width.nav-can-scroll:not(.nav-at-end) .nav-scroll-hint {
		opacity: 1;
	}
}
@media (max-width: 750px) {
	.task-primary-nav .nav-scroll-hint { right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.portal-slide,
	.carousel-dots button::before,
	.portal-category-flyout,
	.deal-picture img,
	.home-product-card,
	.home-product-picture img,
	.home-product-picture > i,
	.catalog-product-card,
	.catalog-product-picture img,
	.catalog-product-card .catalog-card-cart,
	.task-primary-nav .nav-links a::after,
	.footer-column a {
		transition: none;
	}
	.task-primary-nav .nav-scroll-hint {
		transition: none;
	}
}

/* Fixture product detail */
.product-page {
	padding-bottom: 72px;
}
.product-page > .page-h1 {
	max-width: 980px;
	margin-bottom: 11px;
	font-size: clamp(25px, 2.1vw, 32px);
	line-height: 1.28;
	letter-spacing: 0;
}
.product-title-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 25px;
}
.product-title-meta .product-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0;
}
.product-title-meta .product-tags span {
	padding: 5px 10px;
	border: 1px solid #dfe6e9;
	background: #fff;
	color: #526b78;
	font-size: 11px;
}
.detail-codes {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 7px 18px;
}
.detail-code-item {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 11px;
}
.detail-code-item span {
	color: #8999a1;
}
.detail-code-item strong {
	color: #25404f;
	font-family: Consolas, "SFMono-Regular", monospace;
	font-size: 12px;
}
.detail-code-item button {
	padding: 2px 6px;
	border: 0;
	background: #edf2f4;
	color: #647a85;
	font-size: 9px;
}
.detail-code-item button:hover,
.detail-code-item button:focus-visible {
	background: #173747;
	color: #fff;
}
.copy-toast {
	position: fixed;
	left: 50%;
	bottom: 32px;
	z-index: 120;
	max-width: calc(100vw - 32px);
	padding: 9px 15px;
	background: #173747;
	color: #fff;
	font-size: 12px;
	box-shadow: 0 10px 28px #102b3940;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 12px);
	transition: opacity .18s, transform .18s;
}
.copy-toast.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}
.product-page .detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	margin-bottom: 30px;
}
.product-page .detail-gallery {
	display: block;
	min-width: 0;
	background: #fff;
	border: 1px solid #e2e8eb;
	padding: 16px;
}
.detail-gallery-stage {
	position: relative;
	height: 510px;
	background: linear-gradient(145deg, #fbfcfc, #f2f5f6);
	overflow: hidden;
}
.detail-gallery-stage > button {
	display: block;
	width: 100%;
	height: 100%;
	padding: 24px;
	border: 0;
	background: transparent;
}
.product-page .detail-gallery-stage img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .24s ease;
}
.detail-gallery-stage > button:hover img {
	transform: scale(1.025);
}
.detail-gallery-stage > button:focus-visible {
	outline: 2px solid #d65333;
	outline-offset: -2px;
}
.detail-gallery-badge {
	position: absolute;
	right: 13px;
	bottom: 13px;
	left: 13px;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}
.detail-gallery-badge span {
	padding: 5px 8px;
	background: #173747e8;
	color: #fff;
	font-size: 9px;
	letter-spacing: .3px;
}
.detail-gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 9px;
	margin-top: 11px;
}
.detail-gallery-thumb {
	min-width: 0;
	padding: 5px;
	border: 1px solid #e0e6e8;
	background: #fff;
	color: #637883;
	text-align: left;
}
.product-page .detail-gallery-thumb img,
.product-page .detail-gallery img.detail-gallery-thumb {
	display: block;
	width: 100%;
	height: 68px;
	border: 0;
	background: #f7f9fa;
	object-fit: contain;
}
.detail-gallery-thumb span {
	display: block;
	padding: 5px 2px 1px;
	font-size: 9px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.detail-gallery-thumb:hover,
.detail-gallery-thumb:focus-visible,
.detail-gallery-thumb.is-active {
	border-color: #d95433;
	color: #c94b2c;
}
.detail-gallery-thumb.is-active {
	box-shadow: inset 0 -2px #d95433;
}
.detail-gallery-help {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 10px;
	color: #8a9aa2;
	font-size: 10px;
}
.product-page .detail-placeholder {
	display: grid;
	place-content: center;
	width: 100%;
	height: 510px;
	border: 0;
	background: linear-gradient(145deg, #fbfcfc, #f2f5f6);
	color: #9cb0ba;
	text-align: center;
}
.product-page .detail-placeholder span {
	font-size: 90px;
	line-height: 1;
}
.gallery-lightbox[hidden] {
	display: none;
}
.gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: grid;
	place-items: center;
	padding: 64px;
	background: #0b202ce8;
}
.product-page .gallery-lightbox img {
	width: min(1100px, 92vw);
	height: min(780px, 84vh);
	border: 0;
	background: #fff;
	object-fit: contain;
}
.gallery-lightbox-close {
	position: fixed;
	top: 24px;
	right: 28px;
	width: 42px;
	height: 42px;
	border: 1px solid #ffffff80;
	border-radius: 50%;
	background: #173747;
	color: #fff;
	font-size: 27px;
	line-height: 1;
}
body.has-gallery-lightbox {
	overflow: hidden;
}
.product-page .detail-info {
	position: sticky;
	top: 16px;
	min-width: 0;
	padding: 29px 32px 25px;
	border: 1px solid #dfe6e9;
	border-top: 3px solid #173747;
	background: #fff;
	box-shadow: 0 10px 28px #1833420a;
}
.detail-summary-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}
.detail-stock-state {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 9px;
	background: #eef7f2;
	color: #287653;
	font-size: 10px;
	font-weight: 700;
}
.detail-stock-state i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #2d9a6a;
}
.detail-stock-state.is-out {
	background: #f1f3f4;
	color: #76868e;
}
.detail-stock-state.is-out i {
	background: #89979e;
}
.product-page .detail-description {
	margin: 16px 0 20px;
	color: #526b78;
	font-size: 13px;
	line-height: 1.8;
}
.detail-key-specs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	border-top: 1px solid #e5eaec;
	border-left: 1px solid #e5eaec;
}
.detail-key-specs > div {
	min-width: 0;
	padding: 12px 14px;
	border-right: 1px solid #e5eaec;
	border-bottom: 1px solid #e5eaec;
}
.detail-key-specs dt,
.detail-key-specs dd {
	margin: 0;
}
.detail-key-specs dt {
	color: #87979f;
	font-size: 10px;
}
.detail-key-specs dd {
	margin-top: 3px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.product-page .detail-price-box {
	position: relative;
	margin: 20px 0 12px;
	padding: 16px 19px;
	background: linear-gradient(100deg, #fff3ee, #fff9f7);
	border-left: 3px solid #dc5433;
}
.product-page .detail-price-box small {
	margin: 0;
	color: #95604f;
	font-size: 10px;
}
.product-page .detail-price-box > div {
	display: flex;
	align-items: baseline;
	gap: 4px;
	margin-top: 1px;
}
.product-page .detail-price {
	font-size: 34px;
	line-height: 1.2;
	color: #d44a29;
}
.product-page .detail-price-muted {
	color: #5f7480;
	font-size: 20px;
}
.product-page .detail-price-box p {
	position: absolute;
	right: 16px;
	bottom: 15px;
	margin: 0;
	color: #9a766b;
	font-size: 9px;
}
.product-page .detail-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid #e7ecee;
	border-left: 1px solid #e7ecee;
}
.product-page .detail-facts > div {
	display: block;
	min-width: 0;
	padding: 10px 13px;
	border-right: 1px solid #e7ecee;
	border-bottom: 1px solid #e7ecee;
}
.product-page .detail-facts span,
.product-page .detail-facts strong {
	display: block;
}
.product-page .detail-facts span {
	min-width: 0;
	font-size: 9px;
}
.product-page .detail-facts strong {
	margin-top: 2px;
	font-size: 12px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.product-page .add-cart-form {
	margin-top: 19px;
}
.product-page .add-cart-form label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
}
.product-page .purchase-controls {
	display: flex;
	gap: 11px;
}
.product-page .quantity-control {
	display: flex;
	width: 158px;
	height: 43px;
	border: 1px solid #dce4e6;
}
.product-page .quantity-control button {
	width: 36px;
	border: 0;
	background: #f6f8f9;
}
.product-page .quantity-control input {
	width: 84px;
	min-width: 0;
	border: 0;
	text-align: center;
}
.product-page .purchase-controls .button,
.product-page .detail-login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 43px;
	font-weight: 700;
}
.product-page .purchase-controls .button {
	flex: 1;
}
.product-page .detail-login {
	width: 100%;
	margin-top: 19px;
}
.product-page .purchase-note {
	margin: 18px 0 0;
	padding: 11px 13px;
	background: #fff8f5;
	border-left: 2px solid #d95a39;
}
.detail-quick-links {
	display: flex;
	gap: 23px;
	margin-top: 16px;
	font-size: 11px;
	font-weight: 700;
	color: #31566a;
}
.detail-quick-links a:hover {
	color: #d14d2e;
}
.detail-trust-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 19px;
	padding-top: 14px;
	border-top: 1px solid #e8ecee;
}
.detail-trust-row span {
	display: flex;
	align-items: center;
	gap: 7px;
	color: #687d87;
	font-size: 9px;
}
.detail-trust-row b {
	color: #d45030;
	font-size: 8px;
}
.product-anchor-nav {
	position: sticky;
	top: 0;
	z-index: 40;
	display: flex;
	align-items: center;
	min-height: 53px;
	margin-bottom: 20px;
	border: 1px solid #dfe6e9;
	background: #fff;
	box-shadow: 0 8px 18px #1737470a;
}
.product-anchor-nav a {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 52px;
	padding: 0 31px;
	color: #526a76;
	font-size: 12px;
	font-weight: 700;
}
.product-anchor-nav a::after {
	position: absolute;
	right: 31px;
	bottom: -1px;
	left: 31px;
	height: 2px;
	background: #d95030;
	content: "";
	transform: scaleX(0);
	transition: transform .18s;
}
.product-anchor-nav a:hover,
.product-anchor-nav a.is-active {
	color: #cf4b2c;
}
.product-anchor-nav a.is-active::after {
	transform: scaleX(1);
}
.detail-section,
.related-products {
	scroll-margin-top: 70px;
	margin-bottom: 20px;
	padding: 31px;
	border: 1px solid #e2e8ea;
	background: #fff;
}
.detail-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 25px;
	margin-bottom: 23px;
}
.detail-section-heading h2 {
	margin: 0;
	font-size: 23px;
}
.detail-section-heading p {
	max-width: 550px;
	margin: 0;
	color: #7d8f98;
	font-size: 11px;
	text-align: right;
}
.overview-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid #e3e9eb;
	border-left: 1px solid #e3e9eb;
}
.overview-grid article {
	position: relative;
	min-width: 0;
	min-height: 138px;
	padding: 22px 20px;
	border-right: 1px solid #e3e9eb;
	border-bottom: 1px solid #e3e9eb;
	overflow: hidden;
}
.overview-grid article > span {
	position: absolute;
	right: 12px;
	top: 4px;
	color: #ecf0f2;
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
}
.overview-grid small,
.overview-grid strong {
	position: relative;
	display: block;
}
.overview-grid small {
	color: #d25131;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1px;
}
.overview-grid strong {
	margin-top: 22px;
	font-size: 14px;
	line-height: 1.55;
}
.spec-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
}
.spec-group {
	border: 1px solid #e3e9eb;
}
.spec-group h3 {
	margin: 0;
	padding: 11px 15px;
	border-bottom: 2px solid #1d4558;
	background: #f5f8f9;
	font-size: 13px;
}
.spec-group dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}
.spec-item {
	display: grid;
	grid-template-columns: minmax(82px, 42%) minmax(0, 1fr);
	min-width: 0;
	border-bottom: 1px solid #e8edef;
}
.spec-item:nth-last-child(-n + 2) {
	border-bottom: 0;
}
.spec-item dt,
.spec-item dd {
	min-width: 0;
	margin: 0;
	padding: 10px 11px;
	font-size: 11px;
	line-height: 1.55;
}
.spec-item dt {
	background: #fafbfb;
	color: #6e818a;
}
.spec-item dd {
	font-weight: 600;
	overflow-wrap: anywhere;
}
.product-page .detail-disclaimer {
	margin: 16px 0 0;
	padding: 10px 13px;
	background: #f8fafb;
	color: #788b94;
}
.product-image-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.product-image-grid figure {
	margin: 0;
	border: 1px solid #e3e9eb;
}
.product-image-grid figure > a {
	display: block;
	height: 390px;
	padding: 18px;
	background: #f7f9fa;
}
.product-image-grid img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.product-image-grid figcaption {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 12px 15px;
	font-size: 10px;
}
.product-image-grid figcaption span {
	min-width: 0;
	color: #82939b;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.selection-delivery ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid #dfe6e8;
	border-left: 1px solid #dfe6e8;
	list-style: none;
}
.selection-delivery li {
	min-width: 0;
	min-height: 155px;
	padding: 20px;
	border-right: 1px solid #dfe6e8;
	border-bottom: 1px solid #dfe6e8;
}
.selection-delivery li > span {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	background: #173747;
	color: #fff;
	font-size: 9px;
}
.selection-delivery li strong {
	display: block;
	margin-top: 17px;
	font-size: 13px;
}
.selection-delivery li p {
	margin: 6px 0 0;
	color: #73868f;
	font-size: 10px;
	line-height: 1.65;
}
.selection-note {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
	margin-top: 13px;
	padding: 15px 18px;
	background: #fff6f2;
	border-left: 3px solid #dc5433;
}
.selection-note strong {
	font-size: 12px;
}
.selection-note p {
	margin: 0;
	color: #7e6a63;
	font-size: 10px;
}
.selection-note a {
	color: #c94a2c;
	font-size: 10px;
	font-weight: 700;
}
.related-products {
	margin-bottom: 0;
}
.related-products .detail-section-heading > a {
	color: #ce4d2e;
	font-size: 11px;
	font-weight: 700;
}
.related-products-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid #e3e9eb;
	border-left: 1px solid #e3e9eb;
}
.related-product-card {
	min-width: 0;
	border-right: 1px solid #e3e9eb;
	border-bottom: 1px solid #e3e9eb;
	background: #fff;
	transition: box-shadow .18s, transform .18s;
}
.related-product-card:hover {
	z-index: 1;
	box-shadow: 0 14px 30px #17374717;
	transform: translateY(-2px);
}
.related-product-picture {
	position: relative;
	display: block;
	height: 205px;
	padding: 12px;
	background: #f8fafb;
	overflow: hidden;
}
.related-product-picture img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .2s;
}
.related-product-card:hover .related-product-picture img {
	transform: scale(1.03);
}
.related-product-picture > span {
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 6px 9px;
	background: #173747;
	color: #fff;
	font-size: 9px;
}
.related-product-body {
	padding: 14px;
}
.related-product-topline {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	font-size: 9px;
}
.related-product-topline > span {
	color: #cf4d2e;
	font-weight: 700;
}
.related-product-topline em {
	color: #28805a;
	font-style: normal;
}
.related-product-topline em.is-out {
	color: #87969d;
}
.related-product-name {
	display: -webkit-box;
	min-height: 43px;
	margin-top: 8px;
	overflow: hidden;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.related-product-body > p {
	margin: 8px 0 12px;
	color: #7c8d95;
	font-size: 9px;
}
.related-product-body > p span {
	display: block;
	margin-top: 2px;
}
.related-product-price {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 9px;
	padding-top: 10px;
	border-top: 1px solid #e9edef;
}
.related-product-price small {
	display: block;
	color: #8999a0;
	font-size: 8px;
}
.related-product-price strong {
	color: #d14d2e;
	font-size: 18px;
}
.related-product-price strong.price-muted {
	color: #647985;
	font-size: 11px;
}
.related-product-price > span {
	color: #71838c;
	font-size: 9px;
}
.mobile-purchase-bar {
	display: none;
}

@media (max-width: 1100px) {
	.product-page .detail-layout {
		grid-template-columns: minmax(0, 43%) minmax(0, 1fr);
		gap: 20px;
	}
	.detail-gallery-stage,
	.product-page .detail-placeholder {
		height: 430px;
	}
	.product-page .detail-info {
		padding: 24px;
	}
	.product-page .detail-price-box p {
		position: static;
		margin-top: 4px;
	}
	.spec-item {
		grid-template-columns: 1fr;
	}
	.spec-item dd {
		padding-top: 2px;
	}
	.related-products-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.related-product-card:nth-child(4) {
		display: none;
	}
}
@media (max-width: 900px) {
	.product-page .detail-layout {
		grid-template-columns: 1fr;
	}
	.detail-gallery-stage,
	.product-page .detail-placeholder {
		height: 520px;
	}
	.product-page .detail-info {
		position: static;
	}
	.overview-grid,
	.selection-delivery ol {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.product-image-grid figure > a {
		height: 300px;
	}
}
@media (max-width: 750px) {
	.product-page {
		padding-bottom: 92px;
	}
	.product-page > .breadcrumbs {
		height: 42px;
	}
	.product-page > .page-h1 {
		margin-bottom: 12px;
		font-size: 21px;
	}
	.product-title-meta {
		display: block;
		margin-bottom: 16px;
	}
	.detail-codes {
		justify-content: flex-start;
		margin-top: 11px;
	}
	.product-page .detail-layout {
		gap: 13px;
		margin-bottom: 14px;
	}
	.product-page .detail-gallery {
		padding: 10px;
	}
	.detail-gallery-stage,
	.product-page .detail-placeholder {
		height: min(88vw, 410px);
	}
	.detail-gallery-stage > button {
		padding: 10px;
	}
	.detail-gallery-thumbs {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}
	.detail-gallery-thumb {
		flex: 0 0 92px;
		scroll-snap-align: start;
	}
	.product-page .detail-gallery-thumb img,
	.product-page .detail-gallery img.detail-gallery-thumb {
		height: 61px;
	}
	.detail-gallery-help {
		display: none;
	}
	.gallery-lightbox {
		padding: 50px 12px 18px;
	}
	.product-page .gallery-lightbox img {
		width: 100%;
		height: 78vh;
	}
	.gallery-lightbox-close {
		top: 11px;
		right: 12px;
	}
	.product-page .detail-info {
		padding: 20px 17px;
	}
	.detail-key-specs,
	.product-page .detail-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.product-page .detail-price {
		font-size: 29px;
	}
	.product-page .purchase-controls {
		align-items: stretch;
	}
	.product-page .quantity-control {
		width: 142px;
	}
	.detail-trust-row span {
		justify-content: center;
	}
	.product-anchor-nav {
		overflow-x: auto;
		margin-right: -16px;
		margin-left: -16px;
		padding: 0 7px;
		scrollbar-width: none;
	}
	.product-anchor-nav::-webkit-scrollbar {
		display: none;
	}
	.product-anchor-nav a {
		flex: 0 0 auto;
		padding: 0 16px;
	}
	.product-anchor-nav a::after {
		right: 16px;
		left: 16px;
	}
	.detail-section,
	.related-products {
		padding: 20px 16px;
	}
	.detail-section-heading {
		display: block;
		margin-bottom: 17px;
	}
	.detail-section-heading h2 {
		font-size: 19px;
	}
	.detail-section-heading p {
		margin-top: 6px;
		text-align: left;
	}
	.overview-grid article {
		min-height: 122px;
		padding: 17px 14px;
	}
	.overview-grid article > span {
		font-size: 39px;
	}
	.overview-grid strong {
		margin-top: 18px;
		font-size: 12px;
	}
	.spec-groups {
		grid-template-columns: 1fr;
	}
	.spec-group dl {
		grid-template-columns: 1fr;
	}
	.spec-item,
	.spec-item:nth-last-child(-n + 2) {
		grid-template-columns: minmax(100px, 38%) minmax(0, 1fr);
		border-bottom: 1px solid #e8edef;
	}
	.spec-item:last-child {
		border-bottom: 0;
	}
	.spec-item dd {
		padding-top: 10px;
	}
	.product-image-grid {
		display: flex;
		overflow-x: auto;
		margin-right: -16px;
		padding-right: 16px;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}
	.product-image-grid figure {
		flex: 0 0 min(82vw, 330px);
		scroll-snap-align: start;
	}
	.product-image-grid figure > a {
		height: min(72vw, 300px);
	}
	.selection-delivery li {
		min-height: 145px;
		padding: 15px;
	}
	.selection-note {
		grid-template-columns: 1fr;
		gap: 7px;
	}
	.related-products .detail-section-heading > a {
		display: inline-block;
		margin-top: 9px;
	}
	.related-products-grid {
		display: flex;
		overflow-x: auto;
		margin-right: -16px;
		padding-right: 16px;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}
	.related-product-card {
		flex: 0 0 min(72vw, 270px);
		scroll-snap-align: start;
	}
	.related-product-card:nth-child(4) {
		display: block;
	}
	.related-product-picture {
		height: 165px;
	}
	.mobile-purchase-bar {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 80;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 67px;
		padding: 9px 16px calc(9px + env(safe-area-inset-bottom));
		border-top: 1px solid #dfe5e8;
		background: #fff;
		box-shadow: 0 -8px 22px #18334217;
	}
	.mobile-purchase-bar small,
	.mobile-purchase-bar strong {
		display: block;
	}
	.mobile-purchase-bar small {
		color: #85969e;
		font-size: 10px;
	}
	.mobile-purchase-bar strong {
		color: #d14d2e;
		font-size: 17px;
	}
	.mobile-purchase-bar > a {
		min-width: 135px;
		padding: 11px 15px;
		background: #d95332;
		color: #fff;
		font-size: 12px;
		font-weight: 700;
		text-align: center;
	}
	.detail-code-item button { min-height: 28px; font-size: 10px; }
	.product-page .detail-price-box p,
	.product-page .detail-facts span,
	.detail-trust-row span,
	.overview-grid small,
	.product-image-grid figcaption,
	.related-product-picture > span,
	.related-product-topline,
	.related-product-body > p,
	.related-product-price small,
	.related-product-price > span { font-size: 10px; }
}
@media (max-width: 440px) {
	.detail-key-specs {
		grid-template-columns: 1fr;
	}
	.product-page .purchase-controls {
		flex-direction: column;
	}
	.product-page .quantity-control {
		width: 100%;
	}
	.product-page .quantity-control input {
		flex: 1;
		width: auto;
	}
	.detail-quick-links {
		justify-content: space-between;
		gap: 10px;
	}
	.detail-trust-row span {
		font-size: 10px;
	}
	.related-product-picture {
		height: 140px;
	}
	.related-product-name {
		font-size: 12px;
	}
	.related-product-price {
		align-items: flex-start;
		flex-direction: column;
	}
}
@media (prefers-reduced-motion: reduce) {
	.copy-toast,
	.detail-gallery-stage img,
	.product-anchor-nav a::after,
	.related-product-card,
	.related-product-picture img,
	.stock-index nav a,
	.stock-model-card,
	.stock-model-picture img {
		transition: none;
	}
}

/* UX consistency layer: type, navigation, responsive controls and touch targets */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid #f08a68;
	outline-offset: 3px;
	box-shadow: 0 0 0 2px #fff;
}

button,
summary {
	touch-action: manipulation;
}

summary {
	cursor: pointer;
}

.breadcrumbs,
.catalog-overview p,
.catalog-directory-grid article > div a,
.catalog-product-body > p,
.stock-model-body > p,
.footer-about p,
.footer-column a,
.footer-procurement p,
.footer-bottom {
	color: var(--color-muted);
}

.page-h1 {
	font-size: var(--title-md);
	font-weight: 700;
	line-height: 1.35;
}

.header-account a,
.breadcrumbs a,
.mega-menu-heading a,
.mega-children a,
.catalog-directory-grid article > div a {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
}

.catalog-directory-main {
	min-height: 28px;
}

.task-primary-nav .nav-links {
	overflow: visible;
}

.task-primary-nav .nav-links > a,
.nav-more > summary {
	font-size: var(--text-body);
	font-weight: 600;
}

.nav-more {
	position: relative;
	display: flex;
	flex: 0 0 auto;
}

.nav-more > summary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 58px;
	padding: 0 4px;
	color: #324b58;
	list-style: none;
}

.nav-more > summary::-webkit-details-marker {
	display: none;
}

.nav-more > summary::after {
	content: "";
	position: absolute;
	right: 4px;
	bottom: 0;
	left: 4px;
	height: 2px;
	background: var(--color-accent);
	transform: scaleX(0);
	transition: transform .18s;
}

.nav-more > summary i {
	font-size: 12px;
	font-style: normal;
	transition: transform .18s;
}

.nav-more[open] > summary i {
	transform: rotate(180deg);
}

.nav-more[open] > summary,
.nav-more.is-active > summary {
	color: var(--color-accent-text);
}

.nav-more[open] > summary::after,
.nav-more.is-active > summary::after,
.nav-more > summary:hover::after,
.nav-more > summary:focus-visible::after {
	transform: scaleX(1);
}

.nav-more-menu {
	position: absolute;
	top: calc(100% - 1px);
	right: 0;
	z-index: 60;
	width: 360px;
	padding: 12px;
	border: 1px solid var(--color-border);
	border-top: 2px solid var(--color-accent);
	background: #fff;
	box-shadow: 0 16px 36px #17344424;
}

.nav-more-desktop-list,
.nav-more-mobile-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}

.nav-more-mobile-list,
.nav-more-mobile {
	display: none;
}

.task-primary-nav .nav-more-menu a {
	display: block;
	min-height: 56px;
	padding: 9px 11px;
	border: 1px solid transparent;
	background: #f7f9fa;
}

.task-primary-nav .nav-more-menu a::after {
	display: none;
}

.task-primary-nav .nav-more-menu a:hover,
.task-primary-nav .nav-more-menu a:focus-visible,
.task-primary-nav .nav-more-menu a[aria-current="page"] {
	border-color: #efc7ba;
	background: #fff7f4;
}

.nav-more-menu strong,
.nav-more-menu small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nav-more-menu strong {
	font-size: 13px;
}

.nav-more-menu small {
	margin-top: 2px;
	color: var(--color-muted);
	font-size: 12px;
	font-weight: 400;
}

.carousel-controls {
	gap: 6px;
}

.carousel-controls > button,
.carousel-dots button {
	min-width: 36px;
	height: 36px;
}

.carousel-controls > .carousel-pause {
	width: auto;
	padding: 0 10px;
	font-size: 12px;
}

.carousel-controls > .carousel-pause[aria-pressed="true"] {
	border-color: #f08a68;
	background: #fff;
	color: #173444;
}

.portal-category-title a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	font-size: var(--text-xs);
}

.portal-slide-copy .button,
.buyer-cta .button,
.stock-search button {
	min-height: 40px;
	font-size: var(--text-xs);
}

.home-deals {
	grid-template-columns: 220px minmax(0, 1fr);
}

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

.deal-picture {
	height: 122px;
}

.deal-heading > div span,
.deal-picture > span,
.deal-type,
.home-product-price small,
.home-product-price > span,
.home-product-stock {
	font-size: var(--text-xs);
}

.deal-heading p,
.deal-heading > a,
.deal-meta small,
.deal-meta span,
.stock-process-head span,
.stock-process-head a,
.stock-model-topline > span,
.stock-model-topline > strong,
.stock-model-body > p,
.stock-model-body dl,
.catalog-directory-main span,
.catalog-directory-grid article > div a,
.catalog-facet-row a,
.catalog-facet-row a small,
.catalog-advanced-filter label > span:first-child,
.catalog-advanced-filter input,
.catalog-filter-actions .button,
.catalog-filter-actions a,
.active-filter-bar > strong,
.active-filter-bar > div a {
	font-size: var(--text-xs);
}

.deal-name,
.stock-model-body h4,
.catalog-facet-row > strong,
.catalog-product-name,
.related-product-name {
	font-size: var(--text-body);
}

.stock-model-body {
	padding: 13px 14px 14px;
}

.stock-model-body h4 {
	min-height: 44px;
}

.catalog-filter-head,
.catalog-directory-head {
	min-height: 64px;
}

.catalog-filter-head button,
.catalog-directory-head button,
.catalog-sort a,
.catalog-view-switch a {
	min-height: 36px;
	display: inline-flex;
	align-items: center;
	font-size: var(--text-xs);
}

.catalog-facet-row a {
	min-height: 32px;
	padding: 4px 0;
}

.catalog-facet-row a i {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
}

.catalog-advanced-filter input {
	height: 40px;
}

.catalog-stock-state,
.catalog-product-codes,
.catalog-product-specs div,
.catalog-procurement-facts span,
.catalog-procurement-facts strong,
.catalog-product-footer small,
.catalog-product-footer > a,
.catalog-login,
.catalog-purchase-note,
.catalog-card-cart input,
.catalog-card-cart .button {
	font-size: var(--text-xs);
}

.catalog-product-footer > a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
}

.catalog-login,
.catalog-purchase-note,
.catalog-card-cart input,
.catalog-card-cart .button {
	min-height: 40px;
}

.catalog-stock-check {
	height: 40px;
}

.catalog-filter-actions .button {
	min-height: 40px;
}

.detail-code-item button {
	min-height: 36px;
	padding-right: 10px;
	padding-left: 10px;
	font-size: var(--text-xs);
}

.detail-quick-links a,
.selection-note a,
.related-products .detail-section-heading > a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	font-size: var(--text-xs);
}

.catalog-page .pagination a,
.catalog-page .pagination i {
	font-size: var(--text-xs);
}

.product-page .detail-facts span,
.detail-trust-row span,
.overview-grid small,
.product-image-grid figcaption,
.related-product-topline,
.related-product-body > p,
.related-product-price small,
.related-product-price > span,
.mobile-purchase-bar small {
	font-size: var(--text-xs);
}

.footer-service-grid small,
.footer-about p,
.footer-column,
.footer-procurement p,
.footer-procurement a,
.footer-bottom,
.footer-keywords span {
	font-size: var(--text-xs);
}

.footer-about p,
.footer-column a,
.footer-procurement p,
.footer-bottom {
	color: #afc0c8;
}

.footer-brand small,
.footer-keywords span {
	color: #b8c7cd;
}

.footer-column {
	gap: 12px;
}

.footer-column a {
	min-height: 26px;
	display: inline-flex;
	align-items: center;
}

@media (max-width: 1199px) {
	.task-primary-nav .site-width {
		overflow: visible;
	}
	.nav-more.has-category-active > summary {
		color: var(--color-accent-text);
	}
	.nav-more.has-category-active > summary::after {
		transform: scaleX(1);
	}
	.task-primary-nav .nav-links > a.nav-category-link {
		display: none;
	}
	.task-primary-nav .nav-links {
		gap: 24px;
		overflow: visible;
	}
	.task-primary-nav .nav-scroll-hint {
		display: none;
	}
	.deal-grid {
		grid-template-columns: repeat(4, minmax(190px, 1fr));
	}
}

@media (max-width: 959px) {
	.site-width {
		padding-right: 22px;
		padding-left: 22px;
	}
	.header-inner {
		min-height: 0;
		flex-wrap: wrap;
		gap: 8px 18px;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.header-search {
		order: 3;
		flex-basis: 100%;
		max-width: none;
		height: 44px;
	}
	.header-search button {
		padding-right: 18px;
		padding-left: 18px;
	}
	.portal-slide-copy .button,
	.buyer-cta .button,
	.stock-search button {
		min-height: 44px;
	}
	.task-primary-nav .site-width {
		min-height: 52px;
	}
	.task-primary-nav .nav-links > a,
	.nav-more > summary {
		min-height: 52px;
	}
	.task-primary-nav .nav-links {
		gap: 22px;
		padding-right: 0;
	}
	.inner-primary-nav .site-width {
		gap: 18px;
	}
	.all-categories {
		min-width: 175px;
	}
}

@media (max-width: 750px) {
	.site-width {
		padding-right: 16px;
		padding-left: 16px;
	}
	.task-primary-nav .nav-links {
		overflow: visible;
	}
	.task-primary-nav .nav-links > a.nav-secondary-link {
		display: none;
	}
	.nav-more-desktop {
		display: none;
	}
	.nav-more-mobile {
		display: inline;
	}
	.nav-more-desktop-list {
		display: none;
	}
	.nav-more-mobile-list {
		display: grid;
	}
	.nav-more-menu {
		right: auto;
		left: 0;
		width: min(360px, calc(100vw - 32px));
	}
	.home-deals {
		grid-template-columns: 1fr;
	}
	.deal-grid {
		grid-template-columns: repeat(4, 220px);
	}
	.deal-card {
		flex-basis: 220px;
	}
	.deal-picture {
		height: 132px;
	}
	.catalog-toolbar {
		border-top: 1px solid var(--color-border);
		border-bottom: 1px solid var(--color-border);
		box-shadow: 0 6px 14px #1734440d;
	}
	.catalog-sort a {
		min-height: 38px;
	}
	.catalog-sort {
		scrollbar-width: none;
	}
	.catalog-sort::-webkit-scrollbar {
		display: none;
	}
	.detail-gallery-stage,
	.product-page .detail-placeholder {
		height: min(76vw, 350px);
	}
	.product-page .detail-info {
		padding: 18px 16px;
	}
	.mobile-purchase-bar > a {
		min-height: 44px;
		font-size: var(--text-body);
		font-weight: 700;
	}
}

@media (max-width: 560px) {
	.utility-bar {
		display: none;
	}
	.header-inner {
		gap: 7px 12px;
		padding-top: 8px;
		padding-bottom: 8px;
	}
	.brand-symbol {
		width: 36px;
		height: 36px;
		font-size: 21px;
	}
	.brand strong {
		font-size: 20px;
	}
	.brand small {
		margin-top: 1px;
		font-size: 8px;
	}
	.header-account {
		font-size: var(--text-xs);
	}
	.header-search {
		height: 42px;
	}
	.header-search input {
		padding-right: 11px;
		padding-left: 11px;
		font-size: 13px;
	}
	.header-search button {
		min-width: 86px;
		padding: 0 12px;
	}
	.category-menu {
		display: none;
	}
	.task-primary-nav .site-width,
	.task-primary-nav .nav-links > a,
	.nav-more > summary {
		min-height: 48px;
	}
	.task-primary-nav .nav-links {
		justify-content: space-between;
		gap: 10px;
		width: 100%;
	}
	.task-primary-nav .nav-links > a,
	.nav-more > summary {
		padding-right: 7px;
		padding-left: 7px;
		font-size: 13px;
	}
	.nav-more-menu {
		position: absolute;
		right: 0;
		left: auto;
		padding: 10px;
	}
	.nav-more-mobile-list {
		grid-template-columns: 1fr;
		max-height: min(480px, calc(100vh - 165px));
		overflow-y: auto;
	}
	.task-primary-nav .nav-more-menu a {
		min-height: 52px;
	}
	.page-h1,
	.catalog-page .page-h1,
	.stock-page .page-h1 {
		font-size: 22px;
	}
	.breadcrumbs {
		font-size: var(--text-xs);
	}
	body.has-filter-drawer {
		overflow: hidden;
	}
	.catalog-filter-panel:not(.is-collapsed) {
		position: fixed;
		inset: 0;
		z-index: 200;
		display: flex;
		flex-direction: column;
		margin: 0;
		border: 0;
		background: #fff;
	}
	.catalog-filter-panel:not(.is-collapsed) .catalog-filter-head {
		flex: 0 0 auto;
		min-height: 64px;
		padding-right: 16px;
		padding-left: 16px;
		box-shadow: 0 4px 12px #17344412;
	}
	.catalog-filter-panel:not(.is-collapsed) .catalog-filter-head [data-filter-toggle] {
		min-width: 88px;
		min-height: 40px;
		border: 1px solid #d95332;
		background: #fff7f4;
	}
	.catalog-filter-panel:not(.is-collapsed) .catalog-filter-body {
		flex: 1 1 auto;
		min-height: 0;
		padding-bottom: 76px;
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.catalog-filter-panel:not(.is-collapsed) .catalog-facet-row > strong {
		position: sticky;
		top: 0;
		z-index: 2;
		font-size: 13px;
	}
	.catalog-filter-panel:not(.is-collapsed) .catalog-facet-row > div {
		gap: 6px 14px;
		padding-top: 8px;
		padding-bottom: 8px;
	}
	.catalog-filter-panel:not(.is-collapsed) .catalog-facet-row a {
		min-height: 40px;
	}
	.catalog-advanced-filter {
		gap: 12px;
		padding: 14px 16px calc(16px + env(safe-area-inset-bottom));
	}
	.catalog-advanced-filter input {
		height: 44px;
		font-size: 13px;
	}
	.catalog-stock-check {
		height: 44px;
	}
	.catalog-stock-check input {
		width: 20px;
		height: 20px;
	}
	.catalog-filter-panel:not(.is-collapsed) .catalog-filter-actions {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 4;
		margin: 0;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--color-border);
		background: #fff;
		box-shadow: 0 -6px 16px #17344412;
	}
	.catalog-filter-actions .button {
		flex: 1;
		min-height: 46px;
		font-size: 14px;
	}
	.catalog-filter-actions a {
		display: grid;
		place-items: center;
		min-width: 64px;
		min-height: 46px;
	}
	.stock-model-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.stock-model-card {
		display: grid;
		grid-template-columns: 122px minmax(0, 1fr);
	}
	.stock-model-picture {
		height: 100%;
		min-height: 160px;
		border-right: 1px solid #edf0f1;
		border-bottom: 0;
	}
	.stock-model-topline {
		align-items: center;
		flex-direction: row;
		gap: 7px;
	}
	.stock-model-body h4 {
		min-height: 42px;
		font-size: 14px;
	}
	.stock-model-body > p,
	.stock-model-body dl,
	.stock-model-topline > span,
	.stock-model-topline > strong {
		font-size: 12px;
	}
	.footer-service-grid small,
	.footer-about p,
	.footer-column,
	.footer-procurement p,
	.footer-procurement a,
	.footer-bottom,
	.footer-keywords span {
		font-size: 12px;
	}
	.footer-service-grid > div > span {
		font-size: 11px;
	}
	.footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 20px;
	}
	.footer-about,
	.footer-procurement {
		grid-column: 1 / -1;
	}
	.footer-column:nth-of-type(3) {
		grid-column: 1 / -1;
	}
	.footer-column a {
		min-height: 32px;
	}
	.detail-gallery-stage,
	.product-page .detail-placeholder {
		height: min(72vw, 300px);
	}
	.detail-code-item button {
		min-height: 40px;
		font-size: 12px;
	}
	.detail-trust-row span {
		min-height: 40px;
		font-size: 12px;
	}
}

@media (max-width: 380px) {
	.header-search button {
		min-width: 76px;
		font-size: 12px;
	}
	.stock-model-card {
		grid-template-columns: 108px minmax(0, 1fr);
	}
	.stock-model-picture {
		min-height: 172px;
	}
}

/* Semantic copy remains readable at every breakpoint; only decorative overlines stay smaller. */
.portal-category-label small,
.portal-quick-grid small,
.buyer-welcome small,
.buyer-shortcuts strong,
.buyer-service span,
.buyer-service strong,
.buyer-panel > p,
.deal-meta small,
.deal-meta em,
.fixture-category-head small,
.application-grid i,
.home-product-picture > span,
.home-product-tags span,
.home-product-specs > div,
.selection-guide li small,
.stock-stats dt,
.stock-index nav a > small,
.stock-index-all,
.stock-category-head > a small,
.catalog-overview dt,
.catalog-overview dd,
.catalog-sort > span,
.catalog-toolbar-end,
.catalog-product-picture > i,
.catalog-card-topline .product-tags span,
.product-title-meta .product-tags span,
.detail-code-item span,
.detail-gallery-badge span,
.detail-gallery-thumb span,
.detail-stock-state,
.detail-key-specs dt,
.product-page .detail-price-box small,
.product-page .detail-price-box p,
.spec-item dt,
.spec-item dd,
.selection-delivery li p,
.selection-note p,
.related-product-picture > span {
	font-size: var(--text-xs);
}

.portal-slide-copy p,
.application-grid p,
.stock-hero-copy > p,
.stock-category-head p,
.catalog-buying-guide p,
.detail-section-heading p {
	font-size: var(--text-sm);
}

.portal-category-label small,
.portal-quick-grid small,
.buyer-welcome small,
.deal-meta small,
.deal-meta em,
.fixture-category-head small,
.home-product-specs dt,
.stock-stats dt,
.stock-index nav a > small,
.catalog-overview dt,
.detail-key-specs dt,
.spec-item dt {
	color: var(--color-muted);
}

@media (max-width: 750px) {
	.portal-category-nav,
	.portal-quick-grid {
		scrollbar-width: none;
	}
	.portal-category-nav::-webkit-scrollbar,
	.portal-quick-grid::-webkit-scrollbar {
		display: none;
	}
	.portal-quick-grid {
		height: 96px;
		overflow-y: hidden;
	}
}
