.impact-product-page,
.impact-catalogue-page {
	--impact-red: #c00000;
	--impact-red-2: #d20000;
	--impact-orange: #c84a1c;
	--impact-warm: #ffb020;
	--impact-teal: #2b6475;
	--impact-deep: #173642;
	--impact-green: #2aa000;
	--impact-slate: #3d4752;
	--impact-line: #ede9e2;
	--impact-surface: #f4f1eb;
	--impact-product-gradient: linear-gradient(135deg, #c00000, #d20000 35%, #c84a1c 70%, #ffb020);
	--impact-service-gradient: linear-gradient(135deg, #2b6475, #24596a 55%, #173642);
	width: 100%;
	background: #fcfcfc;
	color: var(--impact-slate);
	font-family: "IBM Plex Sans", sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

.impact-product-page *,
.impact-catalogue-page * { box-sizing: border-box; }
.impact-product-page h1,
.impact-product-page h2,
.impact-product-page h3,
.impact-product-page p,
.impact-catalogue-page h1,
.impact-catalogue-page h2,
.impact-catalogue-page h3,
.impact-catalogue-page p { margin: 0; padding: 0; color: inherit; font-family: inherit; }
.impact-product-page a,
.impact-catalogue-page a { color: var(--impact-teal); text-decoration: none; }
.impact-product-page img,
.impact-catalogue-page img { display: block; max-width: 100%; }

.impact-store-container {
	width: min(100% - 128px, 1312px);
	margin-inline: auto;
}

.impact-store-breadcrumbs,
.impact-store-breadcrumbs .woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	color: #9a9184;
	font-size: 13px;
}
.impact-store-breadcrumbs a { color: inherit; }

.impact-store-label,
.impact-store-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 11px;
	border-radius: 4px;
	background: var(--impact-product-gradient);
	color: #fff;
	font-size: 10px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: .1em;
	line-height: 1.2;
	text-transform: uppercase;
}
.impact-store-tag--green { background: var(--impact-green); }

/* Catalogue */
.impact-catalogue-hero {
	padding: 26px 0 34px;
	background: var(--impact-product-gradient);
	color: #fff;
}
.impact-catalogue-hero .impact-store-breadcrumbs,
.impact-catalogue-hero .woocommerce-breadcrumb,
.impact-catalogue-hero .woocommerce-breadcrumb a { color: rgba(255,255,255,.72); }
.impact-catalogue-hero h1 { margin-top: 16px; color: #fff; font-size: 34px; font-weight: 700; letter-spacing: -.01em; }
.impact-catalogue-hero p { max-width: 640px; margin-top: 8px; color: rgba(255,255,255,.86); font-size: 14.5px; }
.impact-catalogue-subcategories { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.impact-catalogue-subcategories a { padding: 8px 16px; border: 1px solid rgba(255,255,255,.28); border-radius: 99px; background: rgba(255,255,255,.14); color: #fff; font-size: 13px; font-weight: 500; }
.impact-catalogue-subcategories a:hover { background: rgba(255,255,255,.25); color: #fff; }
.impact-catalogue-subcategories a.is-active { border-color: #fff; background: #fff; color: var(--impact-red); }

.impact-catalogue-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); align-items: start; gap: 32px; padding-block: 28px 56px; }
.impact-catalogue-layout--no-filters { grid-template-columns: 1fr; }
.impact-catalogue-filters { display: flex; flex-direction: column; gap: 22px; }
.impact-catalogue-filters__close,
.impact-catalogue-filter-button,
.impact-catalogue-filter-overlay { display: none; }
.impact-filter-group { padding: 18px 20px; border: 1px solid var(--impact-line); border-radius: 8px; background: #fff; }
.impact-filter-group h2 { margin-bottom: 12px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.impact-filter-option { display: flex; align-items: center; gap: 10px; padding: 5px 0; color: #5a6472 !important; font-size: 14px; }
.impact-filter-option > span { position: relative; width: 16px; height: 16px; flex: 0 0 16px; border: 1.5px solid #c9c2b6; border-radius: 4px; }
.impact-filter-option.is-active > span { border-color: var(--impact-red); background: var(--impact-red); }
.impact-filter-option.is-active > span::after { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; content: "✓"; font-size: 11px; font-weight: 700; line-height: 1; }
.impact-filter-option small { margin-left: auto; color: #9a9184; font-family: "IBM Plex Mono", monospace; font-size: 12px; }
.impact-filter-group--green { border: 0; background: var(--impact-service-gradient); color: #fff; }
.impact-filter-group--green h2 { color: #fff; }
.impact-filter-group--green .impact-filter-option { color: rgba(255,255,255,.9) !important; }
.impact-filter-group--green .impact-filter-option small { color: rgba(255,255,255,.6); }

.impact-catalogue-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.impact-catalogue-count { color: #6b7480; font-size: 14px; }
.impact-catalogue-count p { margin: 0; }
.impact-catalogue-clear { display: inline-flex; align-items: center; padding: 7px 11px; border: 1px solid #e1d8cc; border-radius: 99px; background: var(--impact-surface); color: var(--impact-slate) !important; font-size: 12px; font-weight: 600; white-space: nowrap; }
.impact-catalogue-clear:hover { border-color: var(--impact-red); background: #fff; color: var(--impact-red) !important; }
.impact-catalogue-ordering { margin-left: auto; }
.impact-catalogue-ordering .woocommerce-ordering { margin: 0; }
.impact-catalogue-ordering select { min-width: 190px; height: 40px; padding: 7px 34px 7px 13px; border: 1px solid #e4ded4; border-radius: 6px; background: #fff; color: var(--impact-slate); font: 500 13.5px "IBM Plex Sans", sans-serif; }
.impact-catalogue-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }

.impact-store-product-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid var(--impact-line); border-radius: 6px; background: #fff; transition: box-shadow .18s, transform .18s; }
.impact-store-product-card:hover { box-shadow: 0 12px 28px rgba(11,26,33,.12); transform: translateY(-3px); }
.impact-store-product-card__main { display: flex; min-height: 0; flex: 1; flex-direction: column; color: var(--impact-slate) !important; }
.impact-store-product-card__image { position: relative; display: flex; height: 220px; overflow: hidden; align-items: center; justify-content: center; padding: 6px; background: #fff; }
.impact-store-product-card__image img { width: 100%; height: 100%; object-fit: contain; object-position: center; transition: transform .22s ease; }
.impact-store-product-card:hover .impact-store-product-card__image img { transform: scale(1.015); }
.impact-store-product-card__image .impact-store-tag { position: absolute; top: 10px; left: 10px; }
.impact-store-product-card__info { display: flex; flex: 1; flex-direction: column; gap: 5px; padding: 13px 14px 10px; background: linear-gradient(180deg,#f3eee6,#e7dccd); }
.impact-store-product-card__info small { color: #9a9184; font-family: "IBM Plex Mono", monospace; font-size: 10px; }
.impact-store-product-card__info strong { min-height: 36px; color: var(--impact-slate); font-size: 13.5px; line-height: 1.3; }
.impact-store-product-card__price { margin-top: auto; color: var(--impact-slate); font-size: 16px; font-weight: 700; }
.impact-store-product-card__price del { margin-left: 5px; color: #9a9184; font-size: 12px; font-weight: 400; }
.impact-store-product-card__price ins { text-decoration: none; }
.impact-store-product-card__actions { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 7px; padding: 9px 10px 10px; background: #e7dccd; }
.impact-store-product-card__actions button,
.impact-store-product-card__add { display: flex; min-height: 36px; align-items: center; justify-content: center; gap: 5px; margin: 0; padding: 7px 8px; border: 1px solid rgba(61,71,82,.14); border-radius: 6px; background: rgba(255,255,255,.64); color: var(--impact-slate) !important; font: 600 11.5px "IBM Plex Sans",sans-serif; text-align: center; cursor: pointer; }
.impact-store-product-card__add { border-color: var(--impact-red); background: var(--impact-red); color: #fff !important; }
.impact-store-product-card__actions button:hover { border-color: var(--impact-teal) !important; background: var(--impact-teal) !important; color: #fff !important; }
.impact-store-product-card__add:hover { border-color: var(--impact-orange); background: var(--impact-orange); color: #fff !important; }

.impact-catalogue-pagination ul { display: flex; justify-content: center; gap: 8px; margin: 30px 0 0; padding: 0; border: 0; list-style: none; }
.impact-catalogue-pagination li { border: 0; }
.impact-catalogue-pagination a,
.impact-catalogue-pagination span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #e4ded4; border-radius: 6px; background: #fff; color: var(--impact-slate); font-size: 14px; font-weight: 500; }
.impact-catalogue-pagination span.current { border-color: var(--impact-red); background: var(--impact-red); color: #fff; }
.impact-catalogue-service { display: grid; grid-template-columns: 6px 1fr auto; align-items: center; overflow: hidden; gap: 0; margin-bottom: 56px; border: 1px solid var(--impact-line); border-left: 0; border-radius: 8px; background: #fff; }
.impact-catalogue-service > span { align-self: stretch; background: var(--impact-service-gradient); }
.impact-catalogue-service > div { padding: 22px 28px; }
.impact-catalogue-service h2 { font-size: 17px; font-weight: 600; }
.impact-catalogue-service p { margin-top: 4px; color: #6b7480; font-size: 13.5px; }
.impact-catalogue-service > a { margin-right: 22px; padding: 11px 18px; border: 1.5px solid var(--impact-deep); border-radius: 6px; color: var(--impact-deep); font-size: 14px; font-weight: 500; }

/* Product */
.impact-product-wrap { padding-block: 22px 56px; }
.impact-product-wrap > .impact-store-breadcrumbs { margin-bottom: 20px; }
.impact-product-hero { display: grid; grid-template-columns: 96px minmax(0,1fr) 380px; align-items: start; gap: 28px; }
.impact-product-gallery__thumbs { display: flex; flex-direction: column; gap: 12px; }
.impact-product-gallery__thumb,
.impact-product-gallery__more { display: grid; width: 96px; height: 96px; overflow: hidden; place-items: center; padding: 0; border: 1px solid var(--impact-line); border-radius: 6px; background: #fff !important; box-shadow: none !important; color: var(--impact-teal); font: 600 13px "IBM Plex Sans",sans-serif; cursor: pointer; transform: none !important; }
.impact-product-gallery__thumb:hover, .impact-product-gallery__thumb:focus-visible, .impact-product-gallery__more:hover, .impact-product-gallery__more:focus-visible { border-color: var(--impact-teal) !important; background: #fff !important; box-shadow: 0 0 0 1px var(--impact-teal) !important; color: var(--impact-teal) !important; outline: 0; }
.impact-product-gallery__thumb.is-active, .impact-product-gallery__thumb.is-active:hover, .impact-product-gallery__thumb.is-active:focus-visible { border: 2px solid var(--impact-red) !important; background: #fff !important; box-shadow: none !important; }
.impact-product-gallery__thumb::before, .impact-product-gallery__thumb::after, .impact-product-gallery__more::before, .impact-product-gallery__more::after { display: none !important; content: none !important; }
.impact-product-gallery__thumb img { width: 100%; height: 100%; padding: 8px; background: #fff; object-fit: contain; }
.impact-product-main { display: flex; min-width: 0; flex-direction: column; gap: 22px; }
.impact-product-gallery__main { display: flex; min-height: 440px; align-items: center; justify-content: center; padding: 34px; border: 1px solid var(--impact-line); border-radius: 8px; background: #fff; }
.impact-product-gallery__main img { width: 100%; max-width: 100%; height: 400px; object-fit: contain; object-position: center; }
.impact-product-summary > .impact-store-tag { margin-bottom: 10px; }
.impact-product-summary h1 { font-size: 32px; font-weight: 700; letter-spacing: -.01em; line-height: 1.15; }
.impact-product-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; color: #9a9184; font-family: "IBM Plex Mono",monospace; font-size: 13px; }
.impact-product-meta span + span::before { margin-right: 10px; content: "·"; }
.impact-product-short-description { margin-top: 14px; color: #5a6472; font-size: 15px; line-height: 1.6; }
.impact-product-benefits { display: flex; flex-direction: column; gap: 9px; margin: 16px 0 0; padding: 0; list-style: none; }
.impact-product-benefits li { display: flex; align-items: flex-start; gap: 10px; color: var(--impact-slate); font-size: 14.5px; }
.impact-product-benefits i { display: grid; width: 20px; height: 20px; flex: none; place-items: center; margin-top: 1px; border-radius: 50%; background: var(--impact-surface); color: var(--impact-red); font-size: 11px; font-style: normal; }
.impact-product-trust-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 20px; }
.impact-product-trust-grid > div { padding: 10px 14px; border-radius: 6px; background: var(--impact-surface); }
.impact-product-trust-grid strong,
.impact-product-trust-grid span { display: block; }
.impact-product-trust-grid strong { font-size: 12.5px; }
.impact-product-trust-grid span { margin-top: 2px; color: #6b7480; font-size: 11.5px; line-height: 1.4; }

.impact-product-buy-card { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 14px; padding: 26px; border: 1px solid #e4ded4; border-radius: 10px; background: #fff; box-shadow: 0 12px 34px rgba(23,54,66,.06); }
.impact-product-price { display: flex; align-items: baseline; gap: 8px; }
.impact-product-price .amount { color: var(--impact-slate); font-family: "IBM Plex Mono",monospace; font-size: 34px; font-weight: 700; }
.impact-product-price > span:last-child { color: #9a9184; font-size: 13px; }
.impact-product-buy-card__stock { font-size: 13px; }
.impact-product-buy-card__stock strong,
.impact-product-buy-card__stock span { display: block; }
.impact-product-buy-card__stock strong { color: var(--impact-green); }
.impact-product-buy-card__stock span { color: #9a9184; }
.impact-product-add-to-cart form.cart:not(.variations_form),
.impact-product-add-to-cart .woocommerce-variation-add-to-cart { display: grid !important; grid-template-columns: minmax(128px,.8fr) minmax(0,1.2fr); align-items: stretch; gap: 10px; margin: 2px 0 0 !important; }
.impact-product-add-to-cart form.variations_form.cart { display: block !important; width: 100%; margin: 2px 0 0 !important; }
.impact-product-add-to-cart .mfn-variations-wrapper { width: 100%; margin: 0 0 12px; }
.impact-product-add-to-cart .mfn-variations-wrapper .mfn-vr { display: grid; grid-template-columns: 62px minmax(0,1fr); align-items: center; gap: 10px; }
.impact-product-add-to-cart .mfn-variations-wrapper label { margin: 0; color: var(--impact-slate); font-size: 14px; font-weight: 600; }
.impact-product-add-to-cart .mfn-variations-wrapper select { width: 100% !important; min-width: 0; height: 48px; margin: 0 !important; padding: 0 34px 0 12px; border: 1px solid #e4ded4; border-radius: 7px; background-color: #fff; color: var(--impact-slate); font: 14px "IBM Plex Sans",sans-serif; }
.impact-product-add-to-cart .mfn-reset-variations { display: inline-block; margin-top: 7px; color: var(--impact-teal); font-size: 12px; }
.impact-product-add-to-cart .single_variation_wrap,
.impact-product-add-to-cart .woocommerce-variation { width: 100%; }
.impact-product-add-to-cart > .stock,
#Wrapper .impact-product-add-to-cart .mfn-wish-button { display: none !important; }
.impact-product-add-to-cart .quantity { display: grid !important; grid-template-columns: 38px 1fr 38px; width: 100% !important; min-width: 0; overflow: hidden; border: 1px solid #e4ded4; border-radius: 7px; background: #faf8f4; }
.impact-product-add-to-cart .quantity input,
.impact-product-add-to-cart .quantity button,
.impact-product-add-to-cart .quantity .quantity-change { position: static !important; display: grid !important; min-width: 0; height: 48px !important; place-items: center; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--impact-slate) !important; font-size: 16px !important; line-height: 48px !important; opacity: 1 !important; transform: none !important; }
.impact-product-add-to-cart .quantity input.qty { display: block !important; width: 100% !important; text-align: center !important; text-indent: 0 !important; visibility: visible !important; opacity: 1 !important; background-color: #faf8f4 !important; color: #3d4752 !important; -webkit-text-fill-color: #3d4752 !important; caret-color: #3d4752; font: 600 16px/48px "IBM Plex Sans",sans-serif !important; -webkit-appearance: textfield !important; appearance: textfield !important; color-scheme: light !important; }
.impact-product-add-to-cart .quantity input.qty::-webkit-inner-spin-button,
.impact-product-add-to-cart .quantity input.qty::-webkit-outer-spin-button { margin: 0; appearance: none; }
.impact-product-add-to-cart .quantity .minus { border-right: 1px solid #ebe5dc !important; }
.impact-product-add-to-cart .quantity .plus { border-left: 1px solid #ebe5dc !important; }
.impact-product-add-to-cart .single_add_to_cart_button,
.impact-product-bundle__total > a,
.impact-store-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 11px 20px; border: 0; border-radius: 6px; background: var(--impact-red); color: #fff !important; font: 500 15px "IBM Plex Sans",sans-serif; }
.impact-product-add-to-cart .single_add_to_cart_button { width: 100%; min-height: 50px; margin: 0 !important; padding: 10px 14px; font-weight: 600; line-height: 1.15; }
.impact-product-list-button { display: flex; min-height: 58px; align-items: center; gap: 12px; padding: 10px 14px; border: 1.5px solid var(--impact-teal); border-radius: 7px; background: #fff; color: var(--impact-teal); font: 500 14px "IBM Plex Sans",sans-serif; text-align: left; cursor: pointer; }
.impact-product-list-button > span:first-child { display: grid; width: 32px; height: 32px; flex: none; place-items: center; border-radius: 6px; background: #eef5f6; }
.impact-product-list-button strong,
.impact-product-list-button small { display: block; }
.impact-product-list-button strong { font-size: 14px; }
.impact-product-list-button small { margin-top: 1px; color: #7d8791; font-size: 11.5px; font-weight: 400; }
#Wrapper .impact-product-list-button:hover,
#Wrapper .impact-product-list-button:focus-visible { border-color: var(--impact-teal) !important; background: var(--impact-teal) !important; color: #fff !important; }
#Wrapper .impact-product-list-button:hover > span:first-child,
#Wrapper .impact-product-list-button:focus-visible > span:first-child { background: rgba(255,255,255,.14) !important; color: #fff !important; }
#Wrapper .impact-product-list-button:hover strong,
#Wrapper .impact-product-list-button:focus-visible strong { color: #fff !important; }
#Wrapper .impact-product-list-button:hover small,
#Wrapper .impact-product-list-button:focus-visible small { color: rgba(255,255,255,.78) !important; }
.impact-product-service-heading { margin-top: 2px; padding-top: 16px; border-top: 1px solid var(--impact-line); color: #8a8378; font-size: 10.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.impact-product-service-notes { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 0; padding: 0; list-style: none; }
.impact-product-service-notes li { display: flex; align-items: center; gap: 11px; padding: 9px 10px; border: 1px solid #eee9e1; border-radius: 7px; background: #faf8f4; color: var(--impact-slate); }
.impact-product-service-notes i { display: grid; width: 25px; height: 25px; flex: none; place-items: center; border-radius: 50%; background: #e8f4ed; color: #247144; font-size: 11px; font-style: normal; font-weight: 700; }
.impact-product-service-notes span,
.impact-product-service-notes strong,
.impact-product-service-notes small { display: block; }
.impact-product-service-notes strong { font-size: 12.5px; }
.impact-product-service-notes small { margin-top: 1px; color: #7c858e; font-size: 11px; line-height: 1.35; }

.impact-product-bundle { display: grid; grid-template-columns: 220px 1fr 220px; align-items: center; gap: 28px; margin-top: 56px; padding: 34px; border-radius: 8px; background: var(--impact-surface); }
.impact-product-bundle__intro h2 { margin-top: 10px; font-size: 22px; line-height: 1.25; }
.impact-product-bundle__intro p { margin-top: 10px; color: #6b7480; font-size: 13.5px; }
.impact-product-bundle__items { display: flex; align-items: stretch; justify-content: center; gap: 14px; }
.impact-product-bundle__items > b { display: grid; width: 26px; min-height: 100%; place-items: center; color: #9a9184; font-size: 20px; }
.impact-product-bundle__items article { display: flex; width: 168px; min-height: 224px; padding: 12px; border: 1px solid #e4ded4; border-radius: 7px; background: #fff; text-align: center; }
.impact-product-bundle__items article a { display: flex; width: 100%; min-width: 0; flex-direction: column; color: var(--impact-slate) !important; }
.impact-product-bundle__items article img { width: 100%; height: 104px; object-fit: contain; }
.impact-product-bundle__items article strong,
.impact-product-bundle__items article > a > span { display: block; }
.impact-product-bundle__items article strong { min-height: 49px; margin-top: 9px; color: var(--impact-slate); font-size: 12.5px; line-height: 1.3; }
.impact-product-bundle__price { margin-top: auto; color: #8d8579; font-family: "IBM Plex Mono",monospace; font-size: 12px; line-height: 1.45; }
.impact-product-bundle__price .amount,
.impact-product-bundle__price .woocommerce-Price-currencySymbol,
.impact-product-bundle__price small,
.impact-product-bundle__price em { display: inline !important; }
.impact-product-bundle__total { display: flex; flex-direction: column; gap: 8px; padding: 20px; border: 1px solid #e4ded4; border-radius: 8px; background: #fff; text-align: center; }
.impact-product-bundle__total small { color: #9a9184; font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.impact-product-bundle__total strong { font-family: "IBM Plex Mono",monospace; font-size: 25px; }
.impact-product-bundle__total em { color: #9a9184; font-size: 11px; font-style: normal; }
.impact-product-bundle__total > a { min-height: 40px; padding: 9px 12px; font-size: 13px; }

.impact-product-tabs { overflow: hidden; margin-top: 56px; border: 1px solid var(--impact-line); border-radius: 10px; background: #fff; box-shadow: 0 12px 32px rgba(23,54,66,.05); }
.impact-product-tablist { display: flex; gap: 6px; overflow-x: auto; padding: 8px; border-bottom: 1px solid var(--impact-line); background: #f6f3ee; }
.impact-product-page .impact-product-tablist button { position: relative; flex: none; min-height: 42px; margin: 0 !important; padding: 10px 16px !important; border: 1px solid transparent !important; border-radius: 7px !important; background: transparent !important; box-shadow: none !important; color: #68727d !important; font: 500 14px "IBM Plex Sans",sans-serif !important; line-height: 1.2 !important; cursor: pointer; transition: background .16s,border-color .16s,color .16s; }
.impact-product-page .impact-product-tablist button::before,
.impact-product-page .impact-product-tablist button::after { display: none !important; content: none !important; }
.impact-product-page .impact-product-tablist button:hover { border-color: #e6dfd5 !important; background: #fff !important; color: var(--impact-slate) !important; }
.impact-product-page .impact-product-tablist button.is-active { border-color: #ded6ca !important; background: #fff !important; box-shadow: 0 3px 10px rgba(23,54,66,.07) !important; color: var(--impact-slate) !important; font-weight: 650 !important; }
.impact-product-page .impact-product-tablist button.is-active::before { position: absolute; bottom: 5px; left: 50%; display: block !important; width: 18px; height: 2px; border-radius: 99px; background: var(--impact-red); content: "" !important; transform: translateX(-50%); }
.impact-product-tab-panel { display: none; padding: 30px 34px 34px; color: #5a6472; font-size: 14.5px; line-height: 1.65; }
.impact-product-tab-panel.is-active { display: block; }
.impact-product-description-copy { max-width: 860px; }
.impact-product-spec-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; }
.impact-product-spec-grid > div { display: grid; grid-template-columns: minmax(100px,.7fr) minmax(0,1.3fr); align-items: center; min-height: 64px; padding: 12px 16px; border: 1px solid var(--impact-line); border-radius: 7px; background: #faf8f4; }
.impact-product-spec-grid dt { color: #888176; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.impact-product-spec-grid dd { margin: 0; color: var(--impact-slate); font-size: 14px; font-weight: 600; }
.impact-product-safety-copy { max-width: 860px; }
.impact-product-tab-panel table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.impact-product-tab-panel th,
.impact-product-tab-panel td { padding: 10px 14px; border: 0; border-bottom: 1px solid #f0ede6; text-align: left; }
.impact-product-tab-panel tr:nth-child(odd) { background: #faf8f4; }
.impact-product-tab-panel th { width: 42%; color: #6b7480; font-weight: 400; }
.impact-product-tab-panel td { color: var(--impact-slate); font-weight: 500; }

.impact-product-related { margin-top: 56px; }
.impact-store-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.impact-store-section-heading > div { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; }
.impact-store-section-heading h2 { font-size: 24px; font-weight: 600; }
.impact-store-section-heading i { display: block; width: 26px; height: 2px; background: var(--impact-red); }
.impact-product-related__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }

.impact-product-help { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 56px; padding: 30px 36px; border-radius: 8px; background: var(--impact-service-gradient); color: #fff; }
.impact-product-help h2 { color: #fff; font-size: 22px; }
.impact-product-help p { margin-top: 6px; color: rgba(255,255,255,.8); font-size: 13.5px; }
.impact-product-help > div:last-child { display: flex; flex: none; gap: 12px; }
.impact-store-button--ghost { border: 1.5px solid rgba(255,255,255,.55); background: transparent; }

/* Existing customer-portal supply lists */
body.impact-list-modal-open { overflow: hidden; }
.impact-list-modal[hidden] { display: none; }
.impact-list-modal [hidden] { display: none !important; }
.impact-list-modal { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: 20px; font-family: "IBM Plex Sans",sans-serif; }
.impact-list-modal__backdrop { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: rgba(11,26,33,.6) !important; box-shadow: none !important; cursor: pointer; }
.impact-list-modal__backdrop::before,
.impact-list-modal__backdrop::after { display: none !important; content: none !important; }
.impact-list-modal__dialog { position: relative; z-index: 1; width: min(100%,480px); padding: 28px; border: 1px solid rgba(255,255,255,.6); border-radius: 12px; background: #fff; box-shadow: 0 30px 90px rgba(11,26,33,.32); }
.impact-list-modal__dialog h2 { margin-top: 12px; font-size: 24px; }
.impact-list-modal__dialog > p { margin-top: 6px; color: #6b7480; font-size: 14px; }
.impact-list-modal__close { position: absolute !important; top: 14px !important; right: 14px !important; display: grid !important; width: 36px !important; min-width: 36px !important; height: 36px !important; min-height: 36px !important; place-items: center !important; margin: 0 !important; padding: 0 !important; border: 1px solid #e7e0d6 !important; border-radius: 50% !important; background: #f4f1eb !important; box-shadow: none !important; color: var(--impact-slate) !important; font-size: 22px !important; font-weight: 400 !important; line-height: 1 !important; text-indent: 0 !important; transform: none !important; cursor: pointer; }
.impact-list-modal__close::before,
.impact-list-modal__close::after { display: none !important; content: none !important; }
.impact-list-modal__close:hover { border-color: var(--impact-slate) !important; background: var(--impact-slate) !important; color: #fff !important; }
.impact-list-modal form { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.impact-list-modal label { display: flex; flex-direction: column; gap: 6px; color: #6b7480; font-size: 12px; font-weight: 600; }
.impact-list-modal select,
.impact-list-modal input { width: 100%; height: 46px; padding: 9px 12px; border: 1px solid #dcd6cc; border-radius: 7px; background: #fff; color: var(--impact-slate); font: 14px "IBM Plex Sans",sans-serif; }
.impact-list-modal__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 2px; padding-top: 14px; border-top: 1px solid var(--impact-line); }
.impact-list-modal__actions > button:first-child { min-height: 42px; margin: 0; padding: 9px 14px; border: 1px solid transparent !important; border-radius: 6px; background: transparent !important; box-shadow: none !important; color: #6b7480 !important; cursor: pointer; }
.impact-list-modal__actions > button:first-child:hover { border-color: #ded7cc !important; background: var(--impact-surface) !important; color: var(--impact-slate) !important; }
.impact-list-modal__message:empty { display: none; }
.impact-list-modal__message { min-height: 0; padding: 9px 11px; border-radius: 6px; background: var(--impact-surface); color: #6b7480; font-size: 13px; }
.impact-list-modal__message.is-error { color: var(--impact-red); }
.impact-list-modal__message.is-success { color: var(--impact-green); }
.impact-list-modal__notice { padding: 14px; border-radius: 7px; background: var(--impact-surface); }

@media (max-width: 1120px) {
	.impact-store-container { width: min(100% - 64px,1056px); }
	.impact-catalogue-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.impact-product-hero { grid-template-columns: 76px minmax(0,1fr) 310px; gap: 20px; }
	.impact-product-gallery__thumb,
	.impact-product-gallery__more { width: 76px; height: 76px; }
	.impact-product-bundle { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	.impact-store-container { width: calc(100% - 36px); }
	.impact-catalogue-hero { padding: 16px 0 24px; }
	.impact-catalogue-hero h1 { margin-top: 12px; font-size: 26px; }
	.impact-catalogue-hero p { font-size: 13.5px; }
	.impact-catalogue-subcategories { flex-wrap: nowrap; margin: 16px -18px 0; padding-inline: 18px; overflow-x: auto; }
	.impact-catalogue-subcategories a { flex: none; padding: 7px 14px; font-size: 12.5px; }
	.impact-catalogue-layout,
	.impact-catalogue-layout--no-filters { display: block; padding-block: 18px 40px; }
	.impact-catalogue-filters { position: fixed; top: 0; bottom: 0; left: 0; z-index: 100001; width: min(330px,88vw); overflow-y: auto; padding: 58px 18px 24px; background: #fcfcfc; box-shadow: 14px 0 36px rgba(11,26,33,.22); transform: translateX(-110%); transition: transform .22s ease; }
	.impact-catalogue-filters.is-open { transform: translateX(0); }
	.impact-catalogue-filters__close { position: absolute; top: 14px; right: 18px; display: grid; width: 34px; height: 34px; place-items: center; border: 0; border-radius: 50%; background: var(--impact-surface); font-size: 23px; }
	.impact-catalogue-filter-overlay { position: fixed; inset: 0; z-index: 100000; background: rgba(11,26,33,.45); }
	.impact-catalogue-filter-overlay.is-open { display: block; }
	body.impact-filter-drawer-open { overflow: hidden; }
	.impact-catalogue-filter-button { display: inline-flex; align-items: center; padding: 9px 13px; border: 1px solid #e4ded4; border-radius: 6px; background: #fff; color: var(--impact-slate); font: 500 13px "IBM Plex Sans",sans-serif; }
	.impact-catalogue-count { display: none; }
	.impact-catalogue-ordering select { min-width: 0; max-width: 170px; }
	.impact-catalogue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
	.impact-store-product-card__image { height: 170px; padding: 10px; }
	.impact-store-product-card__info { padding: 10px; }
	.impact-store-product-card__info strong { min-height: 48px; font-size: 12.5px; }
	.impact-store-product-card__actions { grid-template-columns: 1fr; padding: 7px 8px 8px; }
	.impact-store-product-card__actions button,
	.impact-store-product-card__add { min-height: 34px; font-size: 11px; }
	.impact-catalogue-service { display: block; margin-bottom: 36px; border-left: 1px solid var(--impact-line); }
	.impact-catalogue-service > span { display: block; height: 5px; }
	.impact-catalogue-service > div { padding: 18px 20px; }
	.impact-catalogue-service > a { display: flex; justify-content: center; margin: 0 20px 20px; padding: 10px; }

	.impact-product-wrap { padding-block: 14px 36px; }
	.impact-product-wrap > .impact-store-breadcrumbs { margin-bottom: 14px; }
	.impact-product-hero { display: flex; flex-direction: column; gap: 18px; }
	.impact-product-main { display: contents; }
	.impact-product-gallery__main { min-height: 300px; order: 1; padding: 22px; }
	.impact-product-gallery__main img { height: 260px; max-width: 90%; }
	.impact-product-gallery__thumbs { flex-direction: row; order: 2; }
	.impact-product-gallery__thumb,
	.impact-product-gallery__more { width: 64px; height: 64px; }
	.impact-product-summary { order: 3; }
	.impact-product-summary h1 { font-size: 24px; }
	.impact-product-short-description { font-size: 14px; }
	.impact-product-trust-grid { display: none; }
	.impact-product-buy-card { position: static; order: 4; width: 100%; padding: 20px; }
	.impact-product-price .amount { font-size: 28px; }
	.impact-product-bundle { display: flex; flex-direction: column; gap: 16px; margin-top: 36px; padding: 22px 20px; }
	.impact-product-bundle__items { flex-direction: column; flex-wrap: nowrap; align-items: center; }
	.impact-product-bundle__items article { width: 100%; max-width: 340px; }
	.impact-product-bundle__items > b { width: 100%; min-height: 0; padding: 2px 0; }
	.impact-product-bundle__total { width: 100%; }
	.impact-product-tabs { margin-top: 36px; }
	.impact-product-tablist button { padding: 14px 16px; font-size: 13px; }
	.impact-product-tab-panel,
	.impact-product-tab-panel.is-active { padding: 20px; }
	.impact-product-spec-grid { grid-template-columns: 1fr; }
	.impact-product-spec-grid > div { grid-template-columns: 110px 1fr; }
	.impact-product-related { margin-top: 36px; }
	.impact-store-section-heading h2 { font-size: 20px; }
	.impact-store-section-heading > a { display: none; }
	.impact-product-related__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
	.impact-product-help { align-items: stretch; flex-direction: column; margin-top: 36px; padding: 24px 20px; }
	.impact-product-help > div:last-child { flex-direction: column; }
	.impact-list-modal__dialog { padding: 24px 20px; }
}
