.spb-ask-alan {
	--spb-navy: #062B63;
	--spb-blue: #00A3E0;
	--spb-text: #2F3A45;
	--spb-bg: #F7F9FC;
	width: 100%;
	background: var(--spb-bg);
	border-radius: 22px;
	overflow: hidden;
}

.spb-ask-alan__inner {
	max-width: 1380px;
	margin: 0 auto;
	padding: 54px 64px;
	display: grid;
	grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.55fr);
	align-items: center;
	gap: 64px;
}

.spb-ask-alan--image-right .spb-ask-alan__portrait-wrap {
	order: 2;
}

.spb-ask-alan--image-right .spb-ask-alan__content {
	order: 1;
}

.spb-ask-alan__portrait-wrap {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	align-self: stretch;
	min-height: 300px;
}

.spb-ask-alan__portrait {
	display: block;
	width: min(100%, 310px);
	height: 100%;
	max-height: 360px;
	object-fit: contain;
	object-position: center bottom;
}

.spb-ask-alan__content {
	max-width: 760px;
}

.spb-ask-alan__eyebrow {
	margin: 0 0 12px;
	font-family: Poppins, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--spb-blue);
}

.spb-ask-alan__heading {
	margin: 0 0 18px;
	font-family: Poppins, sans-serif;
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -1px;
	color: var(--spb-navy);
}

.spb-ask-alan__quote {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
}

.spb-ask-alan__quote p {
	margin: 0;
	font-family: Inter, sans-serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 1.65;
	color: var(--spb-text);
}

.spb-ask-alan__person {
	margin: 0 0 26px;
	font-family: Inter, sans-serif;
	color: var(--spb-navy);
}

.spb-ask-alan__person strong,
.spb-ask-alan__person span {
	display: block;
}

.spb-ask-alan__person strong {
	font-size: 16px;
	font-weight: 700;
}

.spb-ask-alan__person span {
	margin-top: 2px;
	font-size: 14px;
	color: var(--spb-text);
}

.spb-ask-alan__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px 24px;
}

.spb-ask-alan__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 14px 25px;
	border-radius: 8px;
	background: var(--spb-blue);
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color .2s ease, transform .2s ease;
}

.spb-ask-alan__button:hover,
.spb-ask-alan__button:focus {
	background: var(--spb-navy);
	color: #fff;
	transform: translateY(-2px);
}

.spb-ask-alan__phone {
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--spb-navy);
	text-decoration: none;
}

.spb-ask-alan__phone:hover,
.spb-ask-alan__phone:focus {
	color: var(--spb-blue);
}

@media (max-width: 1024px) {
	.spb-ask-alan__inner {
		padding: 46px 40px;
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.spb-ask-alan {
		border-radius: 16px;
	}

	.spb-ask-alan__inner {
		padding: 38px 24px 0;
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.spb-ask-alan__portrait-wrap,
	.spb-ask-alan--image-right .spb-ask-alan__portrait-wrap {
		order: 2;
		min-height: 230px;
	}

	.spb-ask-alan__content,
	.spb-ask-alan--image-right .spb-ask-alan__content {
		order: 1;
	}

	.spb-ask-alan__portrait {
		max-height: 270px;
	}

	.spb-ask-alan__quote p {
		font-size: 17px;
	}

	.spb-ask-alan__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.spb-ask-alan__button {
		width: 100%;
	}

	.spb-ask-alan__phone {
		text-align: center;
	}
}


/* SPB Trust Bar */
.spb-trust-bar {
	--spb-trust-navy: #062B63;
	--spb-trust-blue: #00A3E0;
	width: 100%;
	background: #fff;
	border-top: 1px solid #DFE6EE;
	border-bottom: 1px solid #DFE6EE;
	color: var(--spb-trust-navy);
	overflow: hidden;
}

.spb-trust-bar,
.spb-trust-bar * {
	box-sizing: border-box;
}

.spb-trust-bar__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(220px, 1.25fr);
	width: 100%;
	max-width: 1380px;
	min-height: 88px;
	margin: 0 auto;
	padding: 0 30px;
	align-items: stretch;
}

.spb-trust-bar__item,
.spb-trust-bar__trustpilot {
	position: relative;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.spb-trust-bar__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 20px;
	transition: transform .2s ease, box-shadow .2s ease;
}

.spb-trust-bar__item:first-child {
	padding-left: 0;
}

.spb-trust-bar__item:not(:first-child)::before,
.spb-trust-bar__trustpilot::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 48px;
	background: #DFE6EE;
	content: "";
	transform: translateY(-50%);
}

.spb-trust-bar__item:hover,
.spb-trust-bar__item:focus-visible {
	z-index: 1;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(6, 43, 99, .05);
}

.spb-trust-bar__icon {
	display: flex;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	color: var(--spb-trust-navy);
}

.spb-trust-bar__icon--delivery {
	flex-basis: 48px;
	width: 48px;
	color: var(--spb-trust-blue);
}

.spb-trust-bar__icon img,
.spb-trust-bar__svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.spb-trust-bar__svg--uk {
	width: 46px;
	height: auto;
	box-shadow: 0 2px 5px rgba(6, 43, 99, .12);
}

.spb-trust-bar__svg--delivery {
	width: 48px;
}

.spb-trust-bar__copy {
	min-width: 0;
}

.spb-trust-bar__heading,
.spb-trust-bar__description {
	margin: 0;
}

.spb-trust-bar__heading {
	color: var(--spb-trust-navy);
	font-family: Poppins, Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
}

.spb-trust-bar__description {
	display: -webkit-box;
	overflow: hidden;
	margin-top: 3px;
	color: #667085;
	font-family: Inter, Arial, sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.spb-trust-bar__trustpilot {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 0 12px 24px;
}

.spb-trust-bar__trustpilot .trustpilot-widget {
	width: 100%;
	min-width: 200px;
	max-width: 280px;
	height: 25px;
	margin: 0 auto;
}

@media (max-width: 1180px) {
	.spb-trust-bar--mobile-scroll .spb-trust-bar__inner {
		display: flex;
		width: 100%;
		max-width: none;
		min-height: 88px;
		margin: 0;
		padding: 0 20px;
		align-items: stretch;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__inner::-webkit-scrollbar {
		display: none;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__item,
	.spb-trust-bar--mobile-scroll .spb-trust-bar__trustpilot {
		flex: 0 0 260px;
		min-width: 260px;
		min-height: 88px;
		scroll-snap-align: start;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__item {
		padding: 14px 22px;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__item:first-child {
		padding-left: 22px;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__trustpilot {
		flex-basis: 280px;
		min-width: 280px;
		padding: 12px 20px;
	}

	.spb-trust-bar:not(.spb-trust-bar--mobile-scroll) .spb-trust-bar__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.spb-trust-bar:not(.spb-trust-bar--mobile-scroll) .spb-trust-bar__trustpilot {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.spb-trust-bar--mobile-scroll .spb-trust-bar__inner {
		min-height: 82px;
		padding: 0 14px;
		scroll-padding-left: 14px;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__item,
	.spb-trust-bar--mobile-scroll .spb-trust-bar__trustpilot {
		flex-basis: 235px;
		min-width: 235px;
		min-height: 82px;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__item {
		gap: 12px;
		padding: 12px 18px;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__item:first-child {
		padding-left: 18px;
	}

	.spb-trust-bar__icon {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
	}

	.spb-trust-bar__icon--delivery {
		flex-basis: 44px;
		width: 44px;
	}

	.spb-trust-bar__svg--uk {
		width: 42px;
	}

	.spb-trust-bar__heading {
		font-size: 15px;
	}

	.spb-trust-bar__description {
		font-size: 11px;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__trustpilot {
		flex-basis: 250px;
		min-width: 250px;
		padding: 10px 16px;
	}

	.spb-trust-bar__trustpilot .trustpilot-widget {
		min-width: 0;
		max-width: 230px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.spb-trust-bar__item {
		transition: none;
	}

	.spb-trust-bar--mobile-scroll .spb-trust-bar__inner {
		scroll-behavior: auto;
	}
}


/* SPB System Cards */
.spb-system-cards {
	--spb-system-navy: #062B63;
	--spb-system-blue: #00A3E0;
	--spb-system-text: #2F3A45;
	width: 100%;
	background: #F7F9FC;
}

.spb-system-cards__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 70px 24px 78px;
}

.spb-system-cards__header {
	max-width: 720px;
	margin: 0 auto 38px;
	text-align: center;
}

.spb-system-cards__eyebrow,
.spb-system-cards__heading,
.spb-system-cards__intro {
	margin: 0;
}

.spb-system-cards__eyebrow {
	margin-bottom: 10px;
	font-family: Poppins, sans-serif;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--spb-system-blue);
}

.spb-system-cards__heading {
	font-family: Poppins, sans-serif;
	font-size: clamp(30px, 4vw, 43px);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -1.1px;
	color: var(--spb-system-navy);
}

.spb-system-cards__intro {
	max-width: 650px;
	margin: 16px auto 0;
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--spb-system-text);
}

.spb-system-cards__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.spb-system-cards--cols-2 .spb-system-cards__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.spb-system-cards--cols-4 .spb-system-cards__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.spb-system-card {
	min-width: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid #E4EAF1;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(6, 43, 99, .07);
	transition: transform .2s ease, box-shadow .2s ease;
}

.spb-system-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(6, 43, 99, .11);
}

.spb-system-card__media {
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #fff;
}

.spb-system-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.spb-system-card__body {
	flex: 1;
	padding: 22px 22px 20px;
	display: flex;
	flex-direction: column;
}

.spb-system-card__title,
.spb-system-card__description {
	margin: 0;
}

.spb-system-card__title {
	font-family: Poppins, sans-serif;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--spb-system-navy);
}

.spb-system-card__description {
	margin-top: 10px;
	font-family: Inter, sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.55;
	color: var(--spb-system-text);
}

.spb-system-card__link {
	margin-top: auto;
	padding-top: 17px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	font-family: Poppins, sans-serif;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--spb-system-navy);
	text-decoration: none;
}

.spb-system-card__link:hover,
.spb-system-card__link:focus {
	color: var(--spb-system-blue);
}

.spb-system-card__arrow {
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--spb-system-blue);
	color: #fff;
	font-size: 14px;
	line-height: 1;
	transition: transform .18s ease, background-color .18s ease;
}

.spb-system-card__link:hover .spb-system-card__arrow,
.spb-system-card__link:focus .spb-system-card__arrow {
	transform: translateX(3px);
	background: var(--spb-system-navy);
}

@media (max-width: 1024px) {
	.spb-system-cards__grid,
	.spb-system-cards--cols-4 .spb-system-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.spb-system-cards__inner {
		padding: 54px 18px 60px;
	}

	.spb-system-cards__header {
		margin-bottom: 30px;
	}

	.spb-system-cards__grid,
	.spb-system-cards--cols-2 .spb-system-cards__grid,
	.spb-system-cards--cols-3 .spb-system-cards__grid,
	.spb-system-cards--cols-4 .spb-system-cards__grid {
		grid-template-columns: 1fr;
	}

	.spb-system-cards--mobile-swipe .spb-system-cards__grid {
		display: flex;
		overflow-x: auto;
		gap: 16px;
		padding-bottom: 12px;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}

	.spb-system-cards--mobile-swipe .spb-system-card {
		min-width: min(84vw, 330px);
		scroll-snap-align: start;
	}

	.spb-system-card__body {
		padding: 20px;
	}
}


/* SPB System Cards v0.4 corrections */
.spb-system-cards__inner {
	max-width: 1180px;
	padding-top: 58px;
	padding-bottom: 72px;
}

.spb-system-cards__header {
	max-width: 620px;
	margin-bottom: 34px;
}

.spb-system-cards__heading {
	font-size: clamp(30px, 3.2vw, 40px);
	line-height: 1.08;
	letter-spacing: -.8px;
}

.spb-system-cards__intro {
	max-width: 580px;
	font-size: 13px;
	line-height: 1.55;
}

.spb-system-cards__grid {
	gap: 20px;
}

.spb-system-card {
	border: 2px solid transparent;
	border-radius: 12px;
	box-shadow: 0 7px 22px rgba(6, 43, 99, .07);
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}

.spb-system-card:hover,
.spb-system-card:focus-within {
	border-color: var(--spb-system-blue);
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(6, 43, 99, .12);
}

.spb-system-card__media {
	aspect-ratio: 1.46 / 1;
	min-height: 220px;
	background: #fff;
	border-bottom: 1px solid #E7EDF3;
}

.spb-system-card__media img {
	padding: 8px;
}

.spb-system-card__media--empty {
	background:
		linear-gradient(135deg, rgba(0,163,224,.045), rgba(6,43,99,.025)),
		#fff;
}

.spb-system-card__media--empty span {
	padding: 9px 13px;
	border: 1px dashed #B7C7D8;
	border-radius: 6px;
	font-family: Inter, sans-serif;
	font-size: 12px;
	color: #66788A;
}

.spb-system-card__body {
	min-height: 174px;
	padding: 18px 20px 17px;
}

.spb-system-card__title {
	font-size: 15px;
	line-height: 1.25;
}

.spb-system-card__description {
	margin-top: 8px;
	font-size: 11.5px;
	line-height: 1.5;
}

.spb-system-card__link {
	padding-top: 14px;
	font-size: 10.5px;
}

.spb-system-card__link--inactive {
	cursor: default;
}

.spb-system-card__arrow {
	width: 19px;
	height: 19px;
	font-size: 12px;
}

@media (max-width: 767px) {
	.spb-system-card__media {
		min-height: 210px;
	}
}

/* =========================================================
   SPB PRODUCT HERO
   ========================================================= */
.spb-product-hero,
.spb-product-hero * { box-sizing: border-box; }
.spb-product-hero {
    position: relative;
    overflow: hidden;
    min-height: 640px;
    padding: 95px 0 80px;
    background: linear-gradient(120deg, #062B63 0%, #07467F 54%, #078DC3 100%);
    font-family: "Inter", Arial, sans-serif;
    isolation: isolate;
}
.spb-product-hero::after {
    position: absolute; right: -8%; bottom: -135px; width: 56%; height: 280px;
    border-radius: 50%; background: rgba(0,163,224,.22); content: ""; transform: rotate(-6deg);
}
.spb-product-hero__shape { position: absolute; z-index: -1; pointer-events: none; }
.spb-product-hero__shape--one { top: -230px; right: -140px; width: 650px; height: 650px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.spb-product-hero__shape--two { top: -90px; right: -10px; width: 380px; height: 380px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.spb-product-hero--no-circles .spb-product-hero__shape,
.spb-product-hero--no-circles .spb-product-hero__visual::before { display: none; }
.spb-product-hero__container {
    position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.03fr) minmax(380px,.97fr);
    align-items: center; gap: 80px; width: min(1380px, calc(100% - 48px)); margin: 0 auto;
}
.spb-product-hero--image-left .spb-product-hero__content { order: 2; }
.spb-product-hero--image-left .spb-product-hero__visual { order: 1; }
.spb-product-hero__content { max-width: 720px; }
.spb-product-hero__eyebrow { display: inline-block; margin-bottom: 18px; color: #fff; font-family: "Poppins", Arial, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.spb-product-hero h1 { margin: 0 0 24px; color: #fff; font-family: "Poppins", Arial, sans-serif; font-size: clamp(42px,5vw,68px); font-weight: 800; letter-spacing: -.045em; line-height: 1.02; }
.spb-product-hero__lead { max-width: 680px; margin: 0 0 34px; color: rgba(255,255,255,.88); font-size: 21px; line-height: 1.65; }
.spb-product-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.spb-product-hero__button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 14px 25px; border: 2px solid transparent; border-radius: 7px; font-family: "Poppins", Arial, sans-serif; font-size: 15px; font-weight: 700; line-height: 1.2; text-decoration: none !important; transition: .2s ease; }
.spb-product-hero__button:hover { transform: translateY(-2px); }
.spb-product-hero__button span { margin-left: 10px; font-size: 20px; }
.spb-product-hero__button--orange { background: #FF5A0A; color: #fff !important; }
.spb-product-hero__button--orange:hover { background: #E84D00; box-shadow: 0 10px 24px rgba(255,90,10,.25); }
.spb-product-hero__button--outline { border-color: rgba(255,255,255,.65); color: #fff !important; }
.spb-product-hero__button--outline:hover { border-color: #fff; background: #fff; color: #062B63 !important; }
.spb-product-hero__trust { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-top: 34px; color: rgba(255,255,255,.84); font-size: 14px; font-weight: 600; }
.spb-product-hero__trust span { position: relative; padding-left: 19px; }
.spb-product-hero__trust span::before { position: absolute; top: .42em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #00B67A; content: ""; }
.spb-product-hero__visual { position: relative; display: flex; align-items: center; justify-content: center; min-height: 430px; }
.spb-product-hero__visual::before { position: absolute; width: 410px; height: 410px; border-radius: 50%; background: rgba(255,255,255,.10); content: ""; box-shadow: 0 0 0 35px rgba(255,255,255,.05), 0 0 0 70px rgba(255,255,255,.025); }
.spb-product-hero__visual img { position: relative; z-index: 2; width: 520px; max-width: 100%; max-height: 455px; object-fit: contain; filter: drop-shadow(0 28px 32px rgba(0,20,55,.32)); }
@media (max-width: 850px) {
    .spb-product-hero__container { grid-template-columns: 1fr; gap: 35px; width: min(100% - 38px, 1380px); }
    .spb-product-hero--image-left .spb-product-hero__content,
    .spb-product-hero--image-left .spb-product-hero__visual { order: initial; }
    .spb-product-hero__visual { min-height: 360px; }
    .spb-product-hero__visual::before { width: 330px; height: 330px; }
}
@media (max-width: 640px) {
    .spb-product-hero { min-height: auto; padding: 65px 0 55px; }
    .spb-product-hero__container { width: min(100% - 30px, 1380px); }
    .spb-product-hero h1 { font-size: 41px; }
    .spb-product-hero__lead { font-size: 18px; }
    .spb-product-hero__actions { flex-direction: column; align-items: stretch; }
    .spb-product-hero__button { width: 100%; }
    .spb-product-hero__trust { display: grid; gap: 10px; }
    .spb-product-hero__visual { min-height: 285px; }
    .spb-product-hero__visual::before { width: 250px; height: 250px; }
    .spb-product-hero__visual img { max-width: 300px; max-height: 285px; }
}
.spb-system-card--linked {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

.spb-system-card--linked:hover,
.spb-system-card--linked:focus,
.spb-system-card--linked:active,
.spb-system-card--linked:visited {
	color: inherit;
	text-decoration: none;
}

.spb-system-card--linked .spb-system-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.spb-system-card--linked .spb-system-card__link {
	margin-top: auto;
}

.spb-system-card--linked:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 4px;
}

/* SPB News Hero */
.spb-news-hero {
	position: relative;
	overflow: hidden;
	background: #fff;
}

.spb-news-hero__inner {
	position: relative;
	width: min(1380px, calc(100% - 48px));
	min-height: 610px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	align-items: center;
}

.spb-news-hero__content {
	position: relative;
	z-index: 3;
	max-width: 650px;
	padding: 64px 0 76px;
}

.spb-news-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 28px;
	color: #708096;
	font-family: Inter, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}

.spb-news-breadcrumb a {
	color: #00A3E0;
	text-decoration: none;
}

.spb-news-breadcrumb a:hover,
.spb-news-breadcrumb a:focus {
	text-decoration: underline;
}

.spb-news-hero h1 {
	max-width: 650px;
	margin: 0 0 24px;
	color: #062B63;
	font-family: Poppins, sans-serif;
	font-size: clamp(48px, 4.4vw, 66px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -2px;
}

.spb-news-hero__intro {
	max-width: 580px;
	margin: 0 0 32px;
	color: #2F3A45;
	font-family: Inter, sans-serif;
	font-size: 18px;
	line-height: 1.7;
}

.spb-news-search {
	position: relative;
	width: min(100%, 565px);
	margin: 0 0 34px;
}

.spb-news-search input[type="search"] {
	width: 100%;
	height: 62px;
	padding: 0 68px 0 21px;
	border: 1px solid #D7E0EB;
	border-radius: 12px;
	outline: none;
	background: #fff;
	box-shadow: 0 12px 32px rgba(6, 43, 99, .09);
	color: #2F3A45;
	font-family: Inter, sans-serif;
	font-size: 16px;
	appearance: none;
}

.spb-news-search input[type="search"]::placeholder {
	color: #8390A1;
	opacity: 1;
}

.spb-news-search input[type="search"]:focus {
	border-color: #00A3E0;
	box-shadow: 0 0 0 3px rgba(0, 163, 224, .13), 0 12px 32px rgba(6, 43, 99, .09);
}

.spb-news-search input[type="search"]::-webkit-search-cancel-button {
	display: none;
}

.spb-news-search button {
	position: absolute;
	top: 50%;
	right: 9px;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 0;
	border-radius: 9px;
	background: #062B63;
	color: #fff;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color .2s ease, transform .2s ease;
}

.spb-news-search button:hover,
.spb-news-search button:focus {
	background: #00A3E0;
	transform: translateY(-50%) scale(1.03);
}

.spb-news-search button svg,
.spb-news-message__icon svg,
.spb-news-card__link svg {
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.spb-news-search button svg {
	width: 100%;
	height: 100%;
	stroke-width: 2.2;
}

.spb-news-topics__title {
	display: block;
	margin-bottom: 14px;
	color: #062B63;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.spb-news-topics__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.spb-news-topic {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	border: 1px solid #C6D7EB;
	border-radius: 100px;
	background: rgba(255,255,255,.9);
	color: #0756BD;
	font-family: Poppins, sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.spb-news-topic:hover,
.spb-news-topic:focus,
.spb-news-topic.is-active {
	border-color: #0756BD;
	background: #0756BD;
	color: #fff;
	transform: translateY(-2px);
}

.spb-news-hero__visual {
	position: absolute;
	z-index: 1;
	top: 0;
	right: calc((1380px - 100vw) / 2);
	bottom: 0;
	width: calc(55% + max(0px, (100vw - 1380px) / 2));
	overflow: hidden;
	pointer-events: none;
}

.spb-news-hero__visual::before {
	position: absolute;
	z-index: 2;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.96) 8%, rgba(255,255,255,.62) 24%, rgba(255,255,255,.08) 48%, rgba(255,255,255,0) 66%);
}

.spb-news-hero__visual img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

.spb-screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

/* SPB News Results */
.spb-news-results-widget {
	position: relative;
	padding: 88px 0 104px;
	background: #F7F9FC;
}

.spb-news-archive__inner {
	width: min(1380px, calc(100% - 48px));
	margin: 0 auto;
}

.spb-news-archive__header {
	margin-bottom: 42px;
}

.spb-news-eyebrow {
	display: block;
	margin-bottom: 10px;
	color: #00A3E0;
	font-family: Poppins, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.spb-news-archive__header h2 {
	margin: 0 0 14px;
	color: #062B63;
	font-family: Poppins, sans-serif;
	font-size: clamp(36px, 3.5vw, 48px);
	font-weight: 750;
	line-height: 1.13;
	letter-spacing: -1.3px;
}

.spb-news-archive__header p {
	max-width: 700px;
	margin: 0;
	color: #566474;
	font-family: Inter, sans-serif;
	font-size: 17px;
	line-height: 1.7;
}

.spb-news-results {
	position: relative;
	min-height: 300px;
	transition: opacity .2s ease;
}

.spb-news-results.is-loading {
	opacity: .48;
	pointer-events: none;
}

.spb-news-results.is-loading::after {
	position: absolute;
	z-index: 5;
	top: 80px;
	left: 50%;
	width: 42px;
	height: 42px;
	border: 4px solid rgba(6,43,99,.15);
	border-top-color: #00A3E0;
	border-radius: 50%;
	content: "";
	transform: translateX(-50%);
	animation: spb-news-spin .7s linear infinite;
}

@keyframes spb-news-spin {
	to { transform: translateX(-50%) rotate(360deg); }
}

.spb-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

.spb-news-card {
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #E0E8F1;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 16px 45px rgba(6,43,99,.07);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.spb-news-card:hover {
	border-color: #C8D9EB;
	box-shadow: 0 22px 55px rgba(6,43,99,.12);
	transform: translateY(-5px);
}

.spb-news-card__image {
	position: relative;
	display: block;
	height: 205px;
	overflow: hidden;
	background: #EAF3FA;
}

.spb-news-card__image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform .45s ease;
}

.spb-news-card:hover .spb-news-card__image img {
	transform: scale(1.045);
}

.spb-news-card__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
	background: linear-gradient(135deg, #062B63, #0756BD);
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: clamp(21px, 1.8vw, 29px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.45px;
	text-align: center;
}

.spb-news-card__placeholder > span {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.spb-news-card__content {
	display: flex;
	min-height: 275px;
	flex: 1;
	flex-direction: column;
	padding: 27px 28px 29px;
}

.spb-news-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin-bottom: 16px;
	color: #7B8998;
	font-family: Inter, sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}

.spb-news-card__category {
	color: #0079BD;
	font-weight: 700;
}

.spb-news-card__title {
	margin: 0 0 13px;
	color: #062B63;
	font-family: Poppins, sans-serif;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.32;
	letter-spacing: -.35px;
}

.spb-news-card__title a {
	color: inherit;
	text-decoration: none;
}

.spb-news-card__title a:hover,
.spb-news-card__title a:focus {
	color: #0079BD;
}

.spb-news-card__excerpt {
	margin: 0 0 24px;
	min-height: 6.8em;
	color: #566474;
	font-family: Inter, sans-serif;
	font-size: 15.5px;
	line-height: 1.7;
}

.spb-news-card__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	color: #0756BD;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.spb-news-card__link svg {
	width: 18px;
	height: 18px;
	stroke-width: 1.8;
	transition: transform .2s ease;
}

.spb-news-card__link:hover,
.spb-news-card__link:focus {
	color: #00A3E0;
}

.spb-news-card__link:hover svg,
.spb-news-card__link:focus svg {
	transform: translateX(4px);
}

.spb-news-message {
	display: flex;
	min-height: 340px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 50px 24px;
	border: 1px solid #DFE8F2;
	border-radius: 18px;
	background: #fff;
	text-align: center;
}

.spb-news-message__icon {
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
	border-radius: 50%;
	background: #EAF7FC;
	color: #0079BD;
}

.spb-news-message__icon svg {
	width: 30px;
	height: 30px;
	stroke-width: 1.8;
}

.spb-news-message h2 {
	margin: 0 0 10px;
	color: #062B63;
	font-family: Poppins, sans-serif;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.3;
}

.spb-news-message p {
	margin: 0;
	color: #647180;
	font-family: Inter, sans-serif;
	font-size: 16px;
	line-height: 1.65;
}

.spb-news-pagination {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	margin-top: 50px;
}

.spb-news-pagination__side--right {
	text-align: right;
}

.spb-news-pagination a {
	color: #0756BD;
	text-decoration: none;
}

.spb-news-pagination__previous,
.spb-news-pagination__next {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 8px;
	padding: 9px 15px;
	border: 1px solid #CBD9E8;
	border-radius: 9px;
	background: #fff;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 650;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.spb-news-pagination__previous:hover,
.spb-news-pagination__previous:focus,
.spb-news-pagination__next:hover,
.spb-news-pagination__next:focus {
	border-color: #0756BD;
	background: #0756BD;
	color: #fff;
}

.spb-news-pagination__pages {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

.spb-news-pagination__pages a,
.spb-news-pagination__pages .is-current {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #CEDBEA;
	border-radius: 9px;
	background: #fff;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 650;
}

.spb-news-pagination__pages a:hover,
.spb-news-pagination__pages a:focus,
.spb-news-pagination__pages .is-current {
	border-color: #0756BD;
	background: #0756BD;
	color: #fff;
}

@media (max-width: 1100px) {
	.spb-news-hero__inner {
		min-height: 580px;
		grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	}
	.spb-news-hero__content { max-width: 590px; }
	.spb-news-hero h1 { font-size: clamp(46px, 5vw, 58px); }
	.spb-news-hero__visual { width: 53%; }
	.spb-news-hero__visual img { object-position: 58% center; }
}

@media (max-width: 1024px) {
	.spb-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.spb-news-card__image { height: 230px; }
}

@media (max-width: 767px) {
	.spb-news-hero__inner {
		width: 100%;
		min-height: auto;
		display: flex;
		flex-direction: column-reverse;
	}
	.spb-news-hero__visual {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		width: 100%;
		height: 330px;
	}
	.spb-news-hero__visual::before {
		background: linear-gradient(180deg, rgba(255,255,255,0) 48%, rgba(255,255,255,.38) 70%, #fff 100%);
	}
	.spb-news-hero__visual img { object-position: 64% center; }
	.spb-news-hero__content {
		width: min(100% - 32px, 1380px);
		max-width: none;
		margin: -32px auto 0;
		padding: 0 0 54px;
	}
	.spb-news-breadcrumb { margin-bottom: 20px; }
	.spb-news-hero h1 {
		margin-bottom: 18px;
		font-size: 42px;
		line-height: 1.1;
		letter-spacing: -1.4px;
	}
	.spb-news-hero__intro {
		margin-bottom: 27px;
		font-size: 17px;
		line-height: 1.65;
	}
	.spb-news-search { width: 100%; margin-bottom: 30px; }
	.spb-news-search input[type="search"] { height: 58px; }
	.spb-news-topics__links {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 6px;
		scrollbar-width: none;
	}
	.spb-news-topics__links::-webkit-scrollbar { display: none; }
	.spb-news-topic { flex: 0 0 auto; }
	.spb-news-results-widget { padding: 64px 0 76px; }
	.spb-news-archive__inner { width: min(100% - 32px, 1380px); }
	.spb-news-archive__header { margin-bottom: 30px; }
	.spb-news-archive__header h2 { font-size: 34px; letter-spacing: -.8px; }
	.spb-news-archive__header p { font-size: 16px; }
	.spb-news-grid { grid-template-columns: 1fr; gap: 22px; }
	.spb-news-card__image { height: 225px; }
	.spb-news-card__content { min-height: 0; padding: 24px 22px 25px; }
	.spb-news-card__title { font-size: 21px; }
	.spb-news-pagination { grid-template-columns: 1fr 1fr; gap: 18px; }
	.spb-news-pagination__pages {
		grid-column: 1 / -1;
		grid-row: 1;
		overflow-x: auto;
		justify-content: flex-start;
		padding-bottom: 4px;
	}
	.spb-news-pagination__side { grid-column: 1; grid-row: 2; }
	.spb-news-pagination__side--right { grid-column: 2; }
}

/* SPB Benefits and Video */
.spb-why {
    --spb-navy: #062b63;
    --spb-blue: #00a3e0;
    --spb-green: #00b67a;
    --spb-text: #2f3a45;
    --spb-light: #f7f9fc;
    --spb-border: #e3e9f0;
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 100px 30px;
    background: #ffffff;
    border-top: 1px solid #e8edf3;
    font-family: Inter, Arial, sans-serif;
}

.spb-why,
.spb-why * { box-sizing: border-box; }

.spb-why::before {
    position: absolute;
    top: -220px;
    right: -180px;
    width: 560px;
    height: 560px;
    pointer-events: none;
    content: "";
    background: radial-gradient(circle, rgba(0, 163, 224, 0.1) 0%, rgba(0, 163, 224, 0) 70%);
}

.spb-why__inner {
    position: relative;
    z-index: 1;
    display: grid;
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    grid-template-columns: minmax(0, 1fr) minmax(480px, 0.94fr);
    gap: 72px;
    align-items: center;
}

.spb-why__content,
.spb-why__video { min-width: 0; }

.spb-why__eyebrow {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--spb-blue);
    font-family: Poppins, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.spb-why h2 {
    max-width: 650px;
    margin: 0 0 20px;
    color: var(--spb-navy);
    font-family: Poppins, Arial, sans-serif;
    font-size: clamp(36px, 3.3vw, 46px);
    font-weight: 800;
    line-height: 1.13;
    letter-spacing: -1.15px;
}

.spb-why__intro {
    max-width: 720px;
    margin: 0 0 32px;
    color: var(--spb-text);
    font-size: 17px;
    line-height: 1.72;
}

.spb-why__features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 30px;
}

.spb-feature {
    display: flex;
    min-width: 0;
    min-height: 188px;
    flex-direction: column;
    align-items: flex-start;
    padding: 21px 19px;
    background: var(--spb-light);
    border: 1px solid var(--spb-border);
    border-radius: 16px;
    transition: transform 0.25s ease, border-color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.spb-feature:hover {
    transform: translateY(-4px);
    background: #ffffff;
    border-color: rgba(0, 163, 224, 0.38);
    box-shadow: 0 14px 32px rgba(6, 43, 99, 0.09);
}

.spb-feature__value {
    min-height: 42px;
    margin-bottom: 15px;
    color: var(--spb-blue);
    font-family: Poppins, Arial, sans-serif;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1px;
}

.spb-feature__icon {
    display: flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    margin-bottom: 15px;
    color: var(--spb-blue);
    background: #ffffff;
    border: 1px solid rgba(0, 163, 224, 0.22);
    border-radius: 12px;
    box-shadow: 0 5px 13px rgba(6, 43, 99, 0.06);
}

.spb-feature__icon--legacy svg {
    width: var(--spb-benefit-icon-size, 22px);
    height: var(--spb-benefit-icon-size, 22px);
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.spb-feature__icon--custom i {
    display: block;
    font-size: var(--spb-benefit-icon-size, 22px);
    line-height: 1;
}

.spb-feature__icon--custom svg {
    display: block;
    width: var(--spb-benefit-icon-size, 22px);
    height: var(--spb-benefit-icon-size, 22px);
    fill: currentColor;
}

.spb-feature__body { min-width: 0; }

.spb-feature h3 {
    margin: 0 0 8px;
    color: var(--spb-navy);
    font-family: Poppins, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}

.spb-feature p {
    margin: 0;
    color: var(--spb-text);
    font-size: 14px;
    line-height: 1.55;
}

.spb-why__button {
    display: flex;
    width: 100%;
    max-width: 430px;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 17px 15px 23px;
    color: #ffffff;
    text-decoration: none;
    background: var(--spb-navy);
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(6, 43, 99, 0.19);
    font-family: Poppins, Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.spb-why__button:hover {
    transform: translateY(-2px);
    color: #ffffff;
    background: var(--spb-blue);
    box-shadow: 0 14px 30px rgba(0, 163, 224, 0.23);
}

.spb-why__button-arrow {
    display: flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    color: var(--spb-navy);
    background: #ffffff;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 19px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.spb-why__button:hover .spb-why__button-arrow { transform: translateX(3px); }

.spb-video-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--spb-border);
    border-radius: 22px;
    box-shadow: 0 24px 60px rgba(6, 43, 99, 0.15);
}

.spb-video-card__frame {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--spb-navy);
}

.spb-video-card__frame iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.spb-video-card__footer {
    display: flex;
    min-height: 94px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 21px 23px;
    background: #ffffff;
}

.spb-video-card__text {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.spb-video-card__text span {
    color: var(--spb-blue);
    font-family: Poppins, Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.spb-video-card__text strong {
    color: var(--spb-navy);
    font-family: Poppins, Arial, sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
}

.spb-video-card__play {
    display: flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    padding-left: 3px;
    color: #ffffff;
    background: var(--spb-blue);
    border-radius: 50%;
    font-size: 15px;
    box-shadow: 0 8px 20px rgba(0, 163, 224, 0.26);
}

.spb-why__video--mobile { display: none; }

@media (max-width: 1180px) {
    .spb-why__inner {
        grid-template-columns: minmax(0, 1fr) minmax(430px, 0.9fr);
        gap: 46px;
    }
    .spb-why__features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .spb-why { padding: 85px 24px; }
    .spb-why__inner { display: block; max-width: 780px; }
    .spb-why__video--desktop { display: none; }
    .spb-why__video--mobile { display: block; margin: 30px 0 32px; }
    .spb-why__features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .spb-why__button { max-width: 100%; }
}

@media (max-width: 767px) {
    .spb-why { padding: 66px 18px; }
    .spb-why__eyebrow { margin-bottom: 11px; font-size: 12px; }
    .spb-why h2 { margin-bottom: 17px; font-size: 32px; line-height: 1.16; letter-spacing: -0.75px; }
    .spb-why__intro { margin-bottom: 0; font-size: 16px; line-height: 1.66; }
    .spb-why__video--mobile { margin-top: 26px; margin-bottom: 28px; }
    .spb-video-card { border-radius: 17px; }
    .spb-video-card__footer { min-height: 82px; padding: 17px 18px; }
    .spb-video-card__text strong { font-size: 15px; }
    .spb-video-card__play { width: 40px; height: 40px; flex-basis: 40px; }
    .spb-why__features { grid-template-columns: 1fr; gap: 12px; margin-bottom: 26px; }
    .spb-feature { min-height: auto; padding: 19px; }
    .spb-feature__value { font-size: 30px; }
    .spb-feature h3 { font-size: 16px; }
    .spb-feature p { font-size: 14px; }
    .spb-why__button { min-height: 55px; padding-left: 19px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .spb-feature,
    .spb-why__button,
    .spb-why__button-arrow { transition: none; }
    .spb-feature:hover,
    .spb-why__button:hover { transform: none; }
}

/* =========================================================
   SPB Single Article widget — v0.7.0
========================================================= */
.spb-single-article{--spb-article-primary:#062b63;--spb-article-secondary:#00a3e0;--spb-article-body:#2f3a45;--spb-article-muted:#697583;--spb-article-border:#dfe5ec;--spb-article-light:#f7f9fc;--spb-article-white:#fff;width:100%;overflow:hidden;color:var(--spb-article-body);font-family:"Inter",sans-serif;background:#fff}
.spb-single-article *,.spb-single-article *:before,.spb-single-article *:after{box-sizing:border-box}
.spb-single-article__hero{position:relative;overflow:hidden;padding:42px 24px 78px;background:radial-gradient(circle at 88% 14%,rgba(0,163,224,.13),transparent 32%),linear-gradient(135deg,#f7f9fc 0%,#fff 55%,#eef8fc 100%)}
.spb-single-article__hero:after{content:"";position:absolute;right:-120px;bottom:-170px;width:420px;height:420px;border:70px solid rgba(0,163,224,.05);border-radius:50%}
.spb-single-article__hero-inner,.spb-single-article__section-inner{position:relative;z-index:1;width:min(100%,1380px);margin:auto}
.spb-single-article__breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;color:var(--spb-article-muted);font-size:14px;line-height:1.5}
.spb-single-article__breadcrumbs a{color:var(--spb-article-primary);text-decoration:none}.spb-single-article__breadcrumbs a:hover{color:var(--spb-article-secondary)}
.spb-single-article__hero-content{width:min(100%,1000px);padding-top:52px}.spb-single-article__category{display:inline-flex;margin-bottom:20px;padding:7px 14px;border:1px solid rgba(0,163,224,.28);border-radius:999px;background:rgba(0,163,224,.09);color:var(--spb-article-primary);font-family:"Poppins",sans-serif;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.spb-single-article__hero h1{max-width:980px;margin:0;color:var(--spb-article-primary);font-family:"Poppins",sans-serif;font-size:clamp(40px,5vw,64px);font-weight:800;line-height:1.08;letter-spacing:-.035em}.spb-single-article__excerpt{max-width:850px;margin:26px 0 0;font-size:clamp(18px,2vw,21px);line-height:1.65}
.spb-single-article__meta{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(6,43,99,.12)}.spb-single-article__meta>div{display:flex;flex-direction:column;gap:3px;font-size:14px}.spb-single-article__meta>div>span:first-child{color:var(--spb-article-muted);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.spb-single-article__layout{padding:88px 24px 100px}.spb-single-article__layout-inner{display:grid;grid-template-columns:250px minmax(0,860px);justify-content:center;align-items:start;gap:72px;width:min(100%,1380px);margin:auto}.spb-single-article--no-toc .spb-single-article__layout-inner{display:block;max-width:860px}
.spb-single-article__toc-inner{position:sticky;top:120px;padding:26px;border:1px solid var(--spb-article-border);border-radius:16px;background:var(--spb-article-light);box-shadow:0 12px 35px rgba(6,43,99,.08)}.spb-single-article__toc h2{margin:0 0 18px;color:var(--spb-article-primary);font-family:"Poppins",sans-serif;font-size:18px}.spb-single-article__toc ul{display:flex;flex-direction:column;gap:11px;margin:0;padding:0;list-style:none}.spb-single-article__toc a{position:relative;display:block;padding-left:17px;color:var(--spb-article-body);font-size:14px;font-weight:500;line-height:1.5;text-decoration:none}.spb-single-article__toc a:before{content:"";position:absolute;top:.7em;left:0;width:6px;height:6px;border-radius:50%;background:var(--spb-article-secondary)}.spb-single-article__toc a:hover{color:var(--spb-article-secondary)}
.spb-single-article__content{min-width:0;font-size:18px;line-height:1.78}.spb-single-article__content>*:first-child{margin-top:0}.spb-single-article__content>*:last-child{margin-bottom:0}.spb-single-article__content h2,.spb-single-article__content h3,.spb-single-article__content h4{scroll-margin-top:130px;color:var(--spb-article-primary);font-family:"Poppins",sans-serif}.spb-single-article__content h2{margin:58px 0 22px;font-size:clamp(30px,3.5vw,40px);line-height:1.18}.spb-single-article__content h3{margin:42px 0 18px;font-size:clamp(24px,3vw,30px);line-height:1.25}.spb-single-article__content h4{margin:32px 0 14px;font-size:22px}.spb-single-article__content p{margin:0 0 24px}.spb-single-article__content ul,.spb-single-article__content ol{margin:0 0 28px;padding-left:28px}.spb-single-article__content li{margin-bottom:10px}.spb-single-article__content a{color:var(--spb-article-secondary);font-weight:600;text-decoration:underline;text-underline-offset:3px}.spb-single-article__content a:hover{color:var(--spb-article-primary)}.spb-single-article__content img{max-width:100%;height:auto;border-radius:16px}.spb-single-article__content figure{margin:42px 0}.spb-single-article__content blockquote{margin:42px 0;padding:30px 34px 30px 40px;border-left:5px solid var(--spb-article-secondary);border-radius:0 16px 16px 0;background:var(--spb-article-light);color:var(--spb-article-primary);font-family:"Poppins",sans-serif;font-size:20px;font-weight:600}.spb-single-article__content table{display:block;width:100%;margin:38px 0;overflow-x:auto;border-collapse:collapse;font-size:15px}.spb-single-article__content th,.spb-single-article__content td{padding:15px 17px;border:1px solid var(--spb-article-border);text-align:left}.spb-single-article__content th{background:var(--spb-article-primary);color:#fff}
.spb-single-article__recommendations{padding:92px 24px;background:var(--spb-article-light)}.spb-single-article__related{padding:94px 24px 104px;background:#fff}.spb-single-article__section-heading{max-width:780px;margin-bottom:42px}.spb-single-article__section-heading--center{margin-right:auto;margin-left:auto;text-align:center}.spb-single-article__section-heading>span{display:block;margin-bottom:10px;color:var(--spb-article-secondary);font-family:"Poppins",sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.spb-single-article__section-heading h2{margin:0;color:var(--spb-article-primary);font-family:"Poppins",sans-serif;font-size:clamp(34px,4vw,44px);line-height:1.15}.spb-single-article__section-heading p{margin:18px 0 0;font-size:17px;line-height:1.7}
.spb-single-article__product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;max-width:1180px;margin:auto}.spb-single-article__product-grid--1{grid-template-columns:minmax(0,380px);justify-content:center}.spb-single-article__product-grid--2{grid-template-columns:repeat(2,minmax(0,380px));justify-content:center}.spb-article-product-card{overflow:hidden;border:1px solid var(--spb-article-border);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(6,43,99,.08)}.spb-article-product-card__image{display:flex;align-items:center;justify-content:center;height:260px;padding:24px;background:#fff}.spb-article-product-card__image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.spb-article-product-card__content{padding:24px}.spb-article-product-card h3{margin:0 0 14px;font-family:"Poppins",sans-serif;font-size:21px;line-height:1.3}.spb-article-product-card h3 a{color:var(--spb-article-primary);text-decoration:none}.spb-article-product-card__price{margin-bottom:18px;color:var(--spb-article-primary);font-size:18px;font-weight:700}.spb-article-card-link{display:inline-flex;gap:8px;color:var(--spb-article-secondary);font-weight:700;text-decoration:none}
.spb-single-article__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px}.spb-article-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;border:2px solid var(--spb-article-primary);border-radius:999px;font-family:"Poppins",sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:.2s}.spb-article-button:hover{transform:translateY(-2px)}.spb-article-button--primary{background:var(--spb-article-primary);color:#fff}.spb-article-button--primary:hover{border-color:var(--spb-article-secondary);background:var(--spb-article-secondary);color:#fff}.spb-article-button--secondary{background:transparent;color:var(--spb-article-primary)}.spb-article-button--secondary:hover{background:var(--spb-article-primary);color:#fff}.spb-single-article__related .spb-news-pagination{display:none}.spb-single-article__related-footer{display:flex;justify-content:center;margin-top:42px}
@media(max-width:1024px){.spb-single-article__layout-inner{grid-template-columns:210px minmax(0,1fr);gap:44px}.spb-single-article__product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.spb-single-article__hero{padding:28px 20px 54px}.spb-single-article__hero-content{padding-top:34px}.spb-single-article__hero h1{font-size:clamp(34px,10vw,46px)}.spb-single-article__layout{padding:54px 20px 68px}.spb-single-article__layout-inner{display:flex;flex-direction:column;gap:34px}.spb-single-article__toc{width:100%}.spb-single-article__toc-inner{position:static}.spb-single-article__content{font-size:17px}.spb-single-article__recommendations,.spb-single-article__related{padding:68px 20px 74px}.spb-single-article__product-grid,.spb-single-article__product-grid--1,.spb-single-article__product-grid--2{grid-template-columns:1fr}.spb-single-article__actions{flex-direction:column}.spb-article-button{width:100%}}
/* =========================================================
   SHOWER POWER BOOSTER HOMEPAGE FOOTER
   ========================================================= */

.spb-home-footer {
	--spb-navy: #062b63;
	--spb-navy-deep: #031d43;
	--spb-navy-dark: #021631;
	--spb-blue: #00a3e0;
	--spb-blue-dark: #008cc0;
	--spb-text: #2f3a45;
	--spb-muted: #65717d;
	--spb-white: #ffffff;

	position: relative;
	z-index: 1;
	overflow: hidden;
	color: var(--spb-text);
	background: var(--spb-white);
	font-family: "Inter", Arial, sans-serif;
}

.spb-home-footer *,
.spb-home-footer *::before,
.spb-home-footer *::after {
	box-sizing: border-box;
}

.spb-home-footer a {
	text-decoration: none;
}

.spb-home-footer-container {
	width: min(1380px, calc(100% - 64px));
	margin-inline: auto;
}


/* =========================================================
   ASK ALAN
   ========================================================= */

.spb-home-footer-advice {
	position: relative;
	z-index: 3;
	padding: 82px 0 0;
	background: var(--spb-white);
}

.spb-home-footer-advice-panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(340px, 490px) minmax(0, 1fr);
	align-items: end;
	min-height: 420px;
	overflow: visible;
	border: 1px solid rgba(0, 163, 224, 0.16);
	border-radius: 28px;
	background:
		radial-gradient(
			circle at 7% 15%,
			rgba(0, 163, 224, 0.18),
			transparent 32%
		),
		linear-gradient(
			118deg,
			#edf9fe 0%,
			#f7fcff 45%,
			#ffffff 73%,
			#f6f9fc 100%
		);
	box-shadow:
		0 30px 70px rgba(6, 43, 99, 0.12),
		0 8px 24px rgba(6, 43, 99, 0.06);
}

.spb-home-footer-advice-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	border-radius: inherit;
	pointer-events: none;
	opacity: 0.36;
	background-image:
		linear-gradient(
			rgba(6, 43, 99, 0.032) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(6, 43, 99, 0.032) 1px,
			transparent 1px
		);
	background-size: 34px 34px;
	mask-image: linear-gradient(
		90deg,
		rgba(0, 0, 0, 0.95),
		rgba(0, 0, 0, 0.28) 55%,
		transparent
	);
}

.spb-home-footer-advice-panel::after {
	content: "";
	position: absolute;
	top: -145px;
	right: -130px;
	z-index: 0;
	width: 400px;
	height: 400px;
	border: 72px solid rgba(0, 163, 224, 0.035);
	border-radius: 50%;
	pointer-events: none;
}

.spb-home-footer-advice-image {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	align-self: stretch;
	min-height: 420px;
	margin-top: -28px;
	padding-left: 10px;
	pointer-events: none;
}

.spb-home-footer-advice-image img {
	display: block;
	width: min(100%, 560px);
	height: auto;
	max-height: 435px;
	object-fit: contain;
	object-position: bottom center;
	filter: drop-shadow(0 24px 30px rgba(6, 43, 99, 0.16));
	transform: translateX(-16px);
}

.spb-home-footer-advice-content {
	position: relative;
	z-index: 2;
	align-self: center;
	max-width: 830px;
	padding: 54px 76px 54px 24px;
}

.spb-home-footer-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 13px;
	color: var(--spb-blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.spb-home-footer-eyebrow::before {
	content: "";
	width: 30px;
	height: 3px;
	flex: 0 0 auto;
	border-radius: 999px;
	background: var(--spb-blue);
}

.spb-home-footer-advice-content h2 {
	max-width: 660px;
	margin: 0 0 18px;
	color: var(--spb-navy);
	font-family: "Poppins", Arial, sans-serif;
	font-size: clamp(33px, 3.2vw, 44px);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.08;
}

.spb-home-footer-advice-intro {
	max-width: 720px;
	margin: 0 0 24px;
	color: var(--spb-text);
	font-size: 16px;
	line-height: 1.72;
}

.spb-home-footer-quote {
	position: relative;
	max-width: 720px;
	margin: 0 0 25px;
	padding: 20px 24px 20px 56px;
	border: 1px solid rgba(0, 163, 224, 0.16);
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 12px 30px rgba(6, 43, 99, 0.055);
	backdrop-filter: blur(6px);
}

.spb-home-footer-quote::before {
	content: "“";
	position: absolute;
	top: 10px;
	left: 19px;
	color: var(--spb-blue);
	font-family: Georgia, serif;
	font-size: 46px;
	font-weight: 700;
	line-height: 1;
}

.spb-home-footer-quote p {
	margin: 0 0 9px;
	color: var(--spb-navy);
	font-family: "Poppins", Arial, sans-serif;
	font-size: 16px;
	font-style: italic;
	font-weight: 600;
	line-height: 1.55;
}

.spb-home-footer-quote-credit {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.spb-home-footer-quote-credit strong {
	color: var(--spb-navy);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.5;
}

.spb-home-footer-quote-credit span {
	color: var(--spb-muted);
	font-size: 12px;
	line-height: 1.5;
}

.spb-home-footer-advice-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.spb-home-footer-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 54px;
	padding: 14px 24px;
	border: 2px solid transparent;
	border-radius: 10px;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	transition:
		transform 0.2s ease,
		color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.spb-home-footer-button svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	fill: currentColor;
}

.spb-home-footer-button:hover {
	transform: translateY(-2px);
}

.spb-home-footer-button-primary {
	color: var(--spb-white);
	background: var(--spb-blue);
	box-shadow: 0 12px 28px rgba(0, 163, 224, 0.25);
}

.spb-home-footer-button-primary:hover {
	color: var(--spb-white);
	background: var(--spb-blue-dark);
	box-shadow: 0 16px 34px rgba(0, 163, 224, 0.3);
}

.spb-home-footer-button-secondary {
	color: var(--spb-navy);
	border-color: rgba(6, 43, 99, 0.18);
	background: var(--spb-white);
}

.spb-home-footer-button-secondary:hover {
	color: var(--spb-navy);
	border-color: var(--spb-blue);
	background: #f4fbfe;
}


/* =========================================================
   MAIN FOOTER
   ========================================================= */

.spb-home-footer-main {
	position: relative;
	z-index: 1;
	margin-top: -54px;
	padding: 142px 0 0;
	color: rgba(255, 255, 255, 0.72);
	background:
		radial-gradient(
			circle at 88% 8%,
			rgba(0, 163, 224, 0.15),
			transparent 31%
		),
		radial-gradient(
			circle at 8% 92%,
			rgba(0, 163, 224, 0.06),
			transparent 34%
		),
		linear-gradient(
			145deg,
			var(--spb-navy) 0%,
			var(--spb-navy-deep) 72%,
			#021a3b 100%
		);
}

.spb-home-footer-main::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: 0.3;
	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.018) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.018) 1px,
			transparent 1px
		);
	background-size: 38px 38px;
}

.spb-home-footer-grid {
	display: grid;
	grid-template-columns:
		minmax(300px, 1.5fr)
		minmax(170px, 0.78fr)
		minmax(205px, 0.95fr)
		minmax(245px, 1fr);
	gap: 66px;
	padding-bottom: 76px;
}

.spb-home-footer-brand {
	padding-right: 18px;
}

.spb-home-footer-logo {
	display: inline-block;
	width: fit-content;
	margin-bottom: 28px;
}

.spb-home-footer-logo img {
	display: block;
	width: min(100%, 275px);
	height: auto;
	max-height: 92px;
	object-fit: contain;
	object-position: left center;
}

.spb-home-footer-brand-copy {
	max-width: 405px;
	margin: 0 0 29px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 15px;
	line-height: 1.82;
}

.spb-home-footer-british {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 11px 15px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 9px;
	color: rgba(255, 255, 255, 0.9);
	background: rgba(255, 255, 255, 0.06);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.spb-home-footer-british svg {
	width: 17px;
	height: 17px;
	flex: 0 0 auto;
	fill: var(--spb-blue);
}

.spb-home-footer-column h3 {
	margin: 5px 0 27px;
	color: var(--spb-white);
	font-family: "Poppins", Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}


/* Mobile footer menu accordions are visually inactive on desktop. */
.spb-home-footer-menu {
	margin: 0;
	padding: 0;
}
.spb-home-footer-menu > summary {
	display: none;
}
.spb-home-footer-menu:not([open]) > .spb-home-footer-menu-content {
	display: block;
}

.spb-home-footer-column ul {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.spb-home-footer-column li {
	margin: 0;
	padding: 0;
}

.spb-home-footer-column li a {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	color: rgba(255, 255, 255, 0.68);
	font-size: 14px;
	line-height: 1.55;
	transition:
		color 0.2s ease,
		transform 0.2s ease;
}

.spb-home-footer-column li a::before {
	content: "";
	width: 0;
	height: 1px;
	margin-right: 0;
	background: var(--spb-blue);
	transition:
		width 0.2s ease,
		margin-right 0.2s ease;
}

.spb-home-footer-column li a:hover {
	color: var(--spb-white);
	transform: translateX(2px);
}

.spb-home-footer-column li a:hover::before {
	width: 12px;
	margin-right: 7px;
}


/* =========================================================
   CONTACT
   ========================================================= */

.spb-home-footer-contact-list {
	display: grid;
	gap: 23px;
}

.spb-home-footer-contact-item {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 13px;
	align-items: start;
}

.spb-home-footer-contact-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 9px;
	color: var(--spb-blue);
	background: rgba(255, 255, 255, 0.065);
}

.spb-home-footer-contact-icon svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.spb-home-footer-contact-label {
	display: block;
	margin: 0 0 5px;
	color: rgba(255, 255, 255, 0.44);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

.spb-home-footer-contact-item a,
.spb-home-footer-contact-item p {
	display: block;
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
}

.spb-home-footer-contact-item a {
	transition: color 0.2s ease;
}

.spb-home-footer-contact-item a:hover {
	color: var(--spb-blue);
}


/* =========================================================
   LOWER FOOTER
   ========================================================= */

.spb-home-footer-lower-wrap {
	position: relative;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
	background:
		linear-gradient(
			90deg,
			rgba(0, 163, 224, 0.025),
			transparent 38%
		),
		var(--spb-navy-dark);
}

.spb-home-footer-lower {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-height: 84px;
	padding: 21px 0;
}

.spb-home-footer-lower p {
	margin: 0;
	color: rgba(255, 255, 255, 0.47);
	font-size: 12px;
	line-height: 1.6;
}

.spb-home-footer-lower nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px 25px;
}

.spb-home-footer-lower nav a {
	color: rgba(255, 255, 255, 0.54);
	font-size: 12px;
	line-height: 1.5;
	transition: color 0.2s ease;
}

.spb-home-footer-lower nav a:hover {
	color: var(--spb-white);
}

.spb-home-footer a:focus-visible {
	outline: 3px solid rgba(0, 163, 224, 0.5);
	outline-offset: 4px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

	.spb-home-footer-container {
		width: min(100% - 44px, 1380px);
	}

	.spb-home-footer-advice-panel {
		grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
	}

	.spb-home-footer-advice-image {
		min-height: 405px;
		margin-top: -22px;
	}

	.spb-home-footer-advice-image img {
		max-height: 400px;
		transform: translateX(-10px);
	}

	.spb-home-footer-advice-content {
		padding: 50px 44px 50px 18px;
	}

	.spb-home-footer-advice-content h2 {
		font-size: clamp(32px, 4.2vw, 41px);
	}

	.spb-home-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 58px 70px;
	}

	.spb-home-footer-brand {
		padding-right: 40px;
	}

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 850px) {

	.spb-home-footer-advice-panel {
		grid-template-columns: 300px minmax(0, 1fr);
	}

	.spb-home-footer-advice-content {
		padding: 44px 30px 44px 6px;
	}

	.spb-home-footer-advice-content h2 {
		font-size: clamp(30px, 5vw, 37px);
	}

	.spb-home-footer-advice-intro {
		font-size: 15px;
	}

	.spb-home-footer-advice-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.spb-home-footer-button {
		width: 100%;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.spb-home-footer-container {
		width: min(100% - 28px, 1380px);
	}

	.spb-home-footer-advice {
		padding-top: 58px;
	}

	.spb-home-footer-advice-panel {
		display: flex;
		flex-direction: column;
		min-height: 0;
		overflow: hidden;
		border-radius: 22px;
	}

	.spb-home-footer-advice-panel::after {
		top: auto;
		right: -145px;
		bottom: -165px;
	}

	.spb-home-footer-advice-content {
		order: 1;
		max-width: none;
		padding: 36px 24px 10px;
	}

	.spb-home-footer-advice-content h2 {
		margin-bottom: 16px;
		font-size: clamp(29px, 8.5vw, 37px);
		letter-spacing: -0.035em;
	}

	.spb-home-footer-advice-intro {
		margin-bottom: 22px;
		font-size: 15px;
		line-height: 1.68;
	}

	.spb-home-footer-quote {
		margin-bottom: 23px;
		padding: 19px 17px 19px 49px;
	}

	.spb-home-footer-quote p {
		font-size: 15px;
	}

	.spb-home-footer-advice-image {
		order: 2;
		min-height: 0;
		margin-top: -2px;
		padding: 0;
		overflow: hidden;
	}

	.spb-home-footer-advice-image img {
		width: min(100%, 470px);
		max-height: 315px;
		transform: none;
	}

	.spb-home-footer-main {
		margin-top: -30px;
		padding-top: 86px;
	}

	.spb-home-footer-grid {
		grid-template-columns: 1fr;
		gap: 46px;
		padding-bottom: 54px;
	}

	.spb-home-footer-brand {
		padding-right: 0;
	}


	/* Compact mobile footer navigation */
	.spb-home-footer-grid {
		gap: 28px;
	}

	.spb-home-footer-menu-column {
		border-top: 1px solid rgba(255, 255, 255, 0.11);
	}

	.spb-home-footer-menu-column + .spb-home-footer-menu-column {
		margin-top: -28px;
	}

	.spb-home-footer-desktop-heading {
		display: none;
	}

	.spb-home-footer-menu > summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 18px;
		min-height: 62px;
		padding: 18px 0;
		color: var(--spb-white);
		font-family: "Poppins", Arial, sans-serif;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.3;
		cursor: pointer;
		list-style: none;
	}

	.spb-home-footer-menu > summary::-webkit-details-marker {
		display: none;
	}

	.spb-home-footer-menu > summary svg {
		width: 20px;
		height: 20px;
		flex: 0 0 auto;
		fill: var(--spb-blue);
		transition: transform 0.2s ease;
	}

	.spb-home-footer-menu[open] > summary svg {
		transform: rotate(180deg);
	}

	.spb-home-footer-menu:not([open]) > .spb-home-footer-menu-content {
		display: none;
	}

	.spb-home-footer-menu-content {
		padding: 1px 0 22px;
	}

	.spb-home-footer-menu-content ul {
		gap: 10px;
	}

	.spb-home-footer-menu-content li a {
		font-size: 13.5px;
		line-height: 1.45;
	}

	.spb-home-footer-contact {
		padding-top: 6px;
	}

	.spb-home-footer-contact > h3 {
		margin-bottom: 22px;
	}

	.spb-home-footer-contact-list {
		gap: 18px;
	}

	.spb-home-footer-brand-copy {
		max-width: none;
	}

	.spb-home-footer-logo img {
		width: min(100%, 250px);
	}

	.spb-home-footer-lower {
		flex-direction: column;
		align-items: flex-start;
		min-height: 0;
		padding: 27px 0;
	}

	.spb-home-footer-lower nav {
		justify-content: flex-start;
		gap: 10px 20px;
	}

}


@media (max-width: 420px) {

	.spb-home-footer-advice-content {
		padding-inline: 20px;
	}

	.spb-home-footer-eyebrow {
		font-size: 11px;
	}

	.spb-home-footer-british {
		align-items: flex-start;
	}

	.spb-home-footer-logo img {
		width: min(100%, 230px);
	}

}


@media (prefers-reduced-motion: reduce) {

	.spb-home-footer *,
	.spb-home-footer *::before,
	.spb-home-footer *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}

}
/* =========================================================
   SPB ASK ALAN - MULTI-LAYOUT ENHANCEMENTS (0.9.0)
   ========================================================= */

.spb-ask-alan--standard .spb-ask-alan__inner {
	min-height: 390px;
	border: 1px solid rgba(0, 163, 224, 0.15);
	border-radius: 24px;
	background: linear-gradient(118deg, #edf9fe 0%, #f8fcff 53%, #ffffff 100%);
	box-shadow: 0 24px 60px rgba(6, 43, 99, 0.1);
}

.spb-ask-alan--standard .spb-ask-alan__content {
	padding: 48px 58px;
}

.spb-ask-alan__intro {
	max-width: 680px;
	margin: 0 0 22px;
	color: #2f3a45;
	font-size: 16px;
	line-height: 1.7;
}

.spb-ask-alan--standard .spb-ask-alan__quote {
	margin: 0 0 24px;
	padding: 18px 22px;
	border: 1px solid rgba(0, 163, 224, 0.15);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.84);
}

.spb-ask-alan--standard .spb-ask-alan__quote p {
	margin-bottom: 9px;
}

.spb-ask-alan--standard .spb-ask-alan__portrait {
	max-height: 365px;
	object-position: bottom center;
}

.spb-ask-alan__phone svg,
.spb-ask-alan-compact__phone svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	fill: currentColor;
}

.spb-ask-alan__phone {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 52px;
	padding: 13px 20px;
	border: 2px solid rgba(6, 43, 99, 0.16);
	border-radius: 10px;
	background: #fff;
}

.spb-ask-alan-compact {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 28px;
	width: min(100%, 1120px);
	margin-inline: auto;
	padding: 28px 32px;
	border: 1px solid rgba(0, 163, 224, 0.16);
	border-radius: 18px;
	background: linear-gradient(110deg, #edf9fe, #ffffff 70%);
	box-shadow: 0 16px 40px rgba(6, 43, 99, 0.08);
	font-family: "Inter", Arial, sans-serif;
}

.spb-ask-alan-compact__image {
	align-self: end;
	width: 150px;
	height: 150px;
	overflow: hidden;
}

.spb-ask-alan-compact__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: bottom center;
}

.spb-ask-alan-compact__eyebrow {
	margin: 0 0 7px !important;
	color: #00a3e0;
	font-size: 11px !important;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.spb-ask-alan-compact h2 {
	margin: 0 0 9px;
	color: #062b63;
	font-family: "Poppins", Arial, sans-serif;
	font-size: clamp(24px, 2.5vw, 31px);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.12;
}

.spb-ask-alan-compact__content > p:not(.spb-ask-alan-compact__eyebrow):not(.spb-ask-alan-compact__quote) {
	max-width: 650px;
	margin: 0;
	color: #2f3a45;
	font-size: 15px;
	line-height: 1.65;
}

.spb-ask-alan-compact__quote {
	margin: 10px 0 0 !important;
	color: #062b63 !important;
	font-size: 14px !important;
	font-style: italic;
	font-weight: 600;
}

.spb-ask-alan-compact__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	min-width: 170px;
}

.spb-ask-alan-compact__actions .spb-ask-alan__button,
.spb-ask-alan-compact__phone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 18px;
	border-radius: 9px;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.spb-ask-alan-compact__phone {
	border: 1px solid rgba(6, 43, 99, 0.18);
	color: #062b63;
	background: #fff;
}

@media (max-width: 900px) {
	.spb-ask-alan-compact {
		grid-template-columns: 120px minmax(0, 1fr);
	}

	.spb-ask-alan-compact__image {
		width: 120px;
		height: 130px;
	}

	.spb-ask-alan-compact__actions {
		grid-column: 1 / -1;
		flex-direction: row;
		min-width: 0;
	}
}

@media (max-width: 767px) {
	.spb-ask-alan--standard .spb-ask-alan__content {
		padding: 34px 24px 20px;
	}

	.spb-ask-alan-compact {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 26px 22px 0;
		overflow: hidden;
	}

	.spb-ask-alan-compact__content {
		order: 1;
	}

	.spb-ask-alan-compact__actions {
		order: 2;
		grid-column: auto;
		flex-direction: column;
	}

	.spb-ask-alan-compact__image {
		order: 3;
		width: min(100%, 300px);
		height: 190px;
		margin-inline: auto;
	}
}

/* =========================================================
   SPB ASK ALAN - STANDARD LAYOUT REFINEMENT (0.9.1)
   ========================================================= */

.spb-ask-alan.spb-ask-alan--standard {
	--spb-navy: #062b63;
	--spb-blue: #00a3e0;
	--spb-text: #2f3a45;
	position: relative;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
	font-family: "Inter", Arial, sans-serif;
}

.spb-ask-alan--standard .spb-ask-alan__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(285px, 410px) minmax(0, 1fr);
	align-items: end;
	gap: 0;
	width: min(1380px, calc(100% - 64px));
	min-height: 390px;
	margin-inline: auto;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(0, 163, 224, 0.16);
	border-radius: 24px;
	background:
		radial-gradient(circle at 8% 14%, rgba(0, 163, 224, 0.16), transparent 31%),
		linear-gradient(118deg, #edf9fe 0%, #f8fcff 52%, #ffffff 100%);
	box-shadow: 0 24px 60px rgba(6, 43, 99, 0.1);
}

.spb-ask-alan--standard .spb-ask-alan__inner::before {
	content: "";
	position: absolute;
	top: -135px;
	right: -105px;
	width: 330px;
	height: 330px;
	border: 58px solid rgba(0, 163, 224, 0.035);
	border-radius: 50%;
	pointer-events: none;
}

.spb-ask-alan--standard .spb-ask-alan__portrait-wrap {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	align-self: stretch;
	min-height: 390px;
	padding: 28px 0 0 18px;
}

.spb-ask-alan--standard .spb-ask-alan__portrait {
	display: block;
	width: min(100%, 410px);
	height: auto;
	max-height: 375px;
	object-fit: contain;
	object-position: bottom center;
	filter: drop-shadow(0 20px 25px rgba(6, 43, 99, 0.14));
}

.spb-ask-alan--standard .spb-ask-alan__content {
	position: relative;
	z-index: 2;
	align-self: center;
	max-width: 850px;
	padding: 46px 64px 46px 42px;
}

.spb-ask-alan--standard.spb-ask-alan--image-right .spb-ask-alan__portrait-wrap {
	order: 2;
	padding: 28px 18px 0 0;
}

.spb-ask-alan--standard.spb-ask-alan--image-right .spb-ask-alan__content {
	order: 1;
	padding: 46px 42px 46px 64px;
}

.spb-ask-alan--standard .spb-ask-alan__eyebrow {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0 0 12px;
	color: var(--spb-blue);
	font-family: "Inter", Arial, sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.spb-ask-alan--standard .spb-ask-alan__eyebrow::before {
	content: "";
	width: 27px;
	height: 3px;
	flex: 0 0 auto;
	border-radius: 999px;
	background: var(--spb-blue);
}

.spb-ask-alan--standard .spb-ask-alan__heading {
	max-width: 650px;
	margin: 0 0 16px;
	color: var(--spb-navy);
	font-family: "Poppins", Arial, sans-serif;
	font-size: clamp(31px, 3.2vw, 40px);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.08;
}

.spb-ask-alan--standard .spb-ask-alan__intro {
	max-width: 700px;
	margin: 0 0 20px;
	color: var(--spb-text);
	font-size: 15px;
	line-height: 1.7;
}

.spb-ask-alan--standard .spb-ask-alan__quote {
	position: relative;
	max-width: 700px;
	margin: 0 0 22px;
	padding: 17px 20px 17px 50px;
	border: 1px solid rgba(0, 163, 224, 0.16);
	border-radius: 13px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 10px 24px rgba(6, 43, 99, 0.05);
}

.spb-ask-alan--standard .spb-ask-alan__quote::before {
	content: "“";
	position: absolute;
	top: 8px;
	left: 17px;
	color: var(--spb-blue);
	font-family: Georgia, serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
}

.spb-ask-alan--standard .spb-ask-alan__quote p {
	margin: 0 0 7px;
	color: var(--spb-navy);
	font-family: "Poppins", Arial, sans-serif;
	font-size: 15px;
	font-style: italic;
	font-weight: 600;
	line-height: 1.5;
}

.spb-ask-alan--standard .spb-ask-alan__person {
	margin: 0;
}

.spb-ask-alan--standard .spb-ask-alan__person strong {
	font-size: 12px;
	font-weight: 800;
}

.spb-ask-alan--standard .spb-ask-alan__person span {
	font-size: 11px;
	color: #65717d;
}

.spb-ask-alan--standard .spb-ask-alan__actions {
	gap: 12px;
}

.spb-ask-alan--standard .spb-ask-alan__button,
.spb-ask-alan--standard .spb-ask-alan__phone {
	min-height: 50px;
	border-radius: 9px;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
}

@media (max-width: 1024px) {
	.spb-ask-alan--standard .spb-ask-alan__inner {
		grid-template-columns: minmax(250px, 340px) minmax(0, 1fr);
		width: min(100% - 44px, 1380px);
	}

	.spb-ask-alan--standard .spb-ask-alan__content,
	.spb-ask-alan--standard.spb-ask-alan--image-right .spb-ask-alan__content {
		padding: 40px 38px 40px 24px;
	}
}

@media (max-width: 767px) {
	.spb-ask-alan--standard .spb-ask-alan__inner {
		display: flex;
		flex-direction: column;
		width: min(100% - 28px, 1380px);
		min-height: 0;
		border-radius: 20px;
	}

	.spb-ask-alan--standard .spb-ask-alan__content,
	.spb-ask-alan--standard.spb-ask-alan--image-right .spb-ask-alan__content {
		order: 1;
		width: 100%;
		padding: 34px 22px 8px;
	}

	.spb-ask-alan--standard .spb-ask-alan__portrait-wrap,
	.spb-ask-alan--standard.spb-ask-alan--image-right .spb-ask-alan__portrait-wrap {
		order: 2;
		width: 100%;
		min-height: 0;
		padding: 8px 0 0;
	}

	.spb-ask-alan--standard .spb-ask-alan__portrait {
		width: min(100%, 390px);
		max-height: 285px;
	}

	.spb-ask-alan--standard .spb-ask-alan__heading {
		font-size: clamp(28px, 8vw, 35px);
	}

	.spb-ask-alan--standard .spb-ask-alan__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.spb-ask-alan--standard .spb-ask-alan__button,
	.spb-ask-alan--standard .spb-ask-alan__phone {
		width: 100%;
		justify-content: center;
	}
}

/* Product archive components - v1.0.1 */
.spb-archive-shell {
	width: min(calc(100% - 48px), 1380px);
	margin-inline: auto;
}

.spb-archive-hero {
	position: relative;
	width: 100%;
	color: var(--spb-text, #2f3a45);
	font-family: "Inter", Arial, sans-serif;
}

.spb-archive-hero *,
.spb-archive-toolbar *,
.spb-archive-content * { box-sizing: border-box; }

.spb-archive-hero__breadcrumbs {
	padding: 14px 0;
	border-bottom: 1px solid rgba(6, 43, 99, 0.08);
	background: #fff;
}

.spb-archive-breadcrumb,
.spb-archive-breadcrumb a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #687583;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}
.spb-archive-breadcrumb a:hover { color: var(--spb-blue, #00a3e0); }
.spb-archive-breadcrumb > span:last-child { color: var(--spb-navy, #062b63); }

.spb-archive-hero__main {
	position: relative;
	overflow: hidden;
	padding: 34px 0;
	background:
		radial-gradient(circle at 84% 44%, rgba(0, 163, 224, 0.10), transparent 28%),
		linear-gradient(115deg, #f4fbff 0%, #f8fcff 50%, #edf8fd 100%);
}
.spb-archive-hero__main::before {
	content: "";
	position: absolute;
	top: -235px;
	right: -195px;
	width: 520px;
	height: 520px;
	border: 62px solid rgba(0, 163, 224, 0.03);
	border-radius: 50%;
}
.spb-archive-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, .72fr);
	align-items: center;
	gap: clamp(24px, 4vw, 64px);
	min-height: 0;
}
.spb-archive-hero--no-image .spb-archive-hero__grid {
	grid-template-columns: minmax(0, 880px);
}
.spb-archive-hero__content { max-width: 760px; }
.spb-archive-hero__eyebrow,
.spb-archive-content__heading > p {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	color: var(--spb-blue, #00a3e0);
	font-family: "Inter", Arial, sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.3;
	text-transform: uppercase;
}
.spb-archive-hero__eyebrow::before,
.spb-archive-content__heading > p::before {
	content: "";
	width: 26px;
	height: 3px;
	border-radius: 999px;
	background: currentColor;
}
.spb-archive-hero h1 {
	margin: 0 0 12px;
	color: var(--spb-navy, #062b63);
	font-family: "Poppins", Arial, sans-serif;
	font-size: clamp(36px, 4vw, 54px);
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1.04;
}
.spb-archive-hero__description {
	max-width: 680px;
	font-size: 15px;
	line-height: 1.62;
}
.spb-archive-hero__description p { margin: 0 0 10px; }
.spb-archive-hero__description p:last-child { margin-bottom: 0; }
.spb-archive-hero__trust {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin-top: 18px;
}
.spb-archive-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--spb-navy, #062b63);
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}
.spb-archive-hero__badge i {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 6px 14px rgba(6, 43, 99, .08);
}
.spb-archive-hero__badge svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: var(--spb-blue, #00a3e0);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.spb-archive-hero__visual {
	position: relative;
	display: grid;
	place-items: center;
	min-width: 0;
	min-height: 235px;
}
.spb-archive-hero__circle {
	position: absolute;
	width: min(22vw, 285px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: rgba(255,255,255,.78);
	box-shadow: inset 0 0 0 1px rgba(0,163,224,.07), 0 18px 42px rgba(6,43,99,.07);
}
.spb-archive-hero__image {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 100%;
}
.spb-archive-hero__image img {
	display: block;
	width: 390px;
	max-width: 100%;
	max-height: 245px;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 16px 18px rgba(6,43,99,.13));
}

.spb-archive-toolbar {
	padding: 36px 0 14px;
	background: #fff;
	font-family: "Inter", Arial, sans-serif;
}
.spb-archive-toolbar__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(6,43,99,.12);
}
.spb-archive-toolbar__title h2 {
	margin: 0 0 4px;
	color: var(--spb-navy, #062b63);
	font-family: "Poppins", Arial, sans-serif;
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.1;
}
.spb-archive-toolbar__title p { margin: 0; color: #6d7884; font-size: 13px; }
.spb-archive-toolbar__ordering .woocommerce-ordering { margin: 0; }
.spb-archive-toolbar__ordering select {
	min-width: 210px;
	height: 44px;
	padding: 0 40px 0 14px;
	border: 1px solid rgba(6,43,99,.17);
	border-radius: 8px;
	background-color: #fff;
	color: var(--spb-navy, #062b63);
	font-family: "Inter", Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
}

/* Archive product cards are rendered by [spb_archive_products].
 * Their markup and visual styling are shared with [spb_products], so the
 * homepage and archive cards remain identical. */
.spb-archive-products {
	width: min(100% - 40px, 1380px);
	margin-inline: auto;
	padding: 8px 0 34px;
}

.spb-archive-products-preview,
.spb-products-empty {
	width: min(100% - 40px, 1380px);
	margin: 20px auto;
	padding: 18px 20px;
	border: 1px solid #dce7f1;
	border-radius: 12px;
	background: #f7f9fc;
	color: #2f3a45;
}

.spb-product-pagination {
	margin-top: 34px;
}

.spb-product-pagination ul {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.spb-product-pagination a,
.spb-product-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #dce7f1;
	border-radius: 8px;
	background: #fff;
	color: #062b63;
	font-weight: 700;
	text-decoration: none;
}

.spb-product-pagination .current,
.spb-product-pagination a:hover {
	border-color: #00a3e0;
	background: #00a3e0;
	color: #fff;
}

.spb-archive-content {
	padding: 42px 0 54px;
	background: #fff;
	font-family: "Inter", Arial, sans-serif;
}
.spb-archive-content__panel {
	display: grid;
	grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
	align-items: start;
	gap: 34px;
	padding: 26px 30px;
	border: 1px solid rgba(0,163,224,.14);
	border-radius: 15px;
	background: linear-gradient(120deg, #f4fbff, #fbfdff 60%, #fff);
}
.spb-archive-content__heading h2 {
	margin: 0;
	color: var(--spb-navy, #062b63);
	font-family: "Poppins", Arial, sans-serif;
	font-size: clamp(24px, 2.3vw, 32px);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.12;
}
.spb-archive-content__body {
	color: var(--spb-text, #2f3a45);
	font-size: 15px;
	line-height: 1.65;
}
.spb-archive-content__body > :first-child { margin-top: 0; }
.spb-archive-content__body > :last-child { margin-bottom: 0; }
.spb-archive-content__body h3,
.spb-archive-content__body h4 { color: var(--spb-navy, #062b63); font-family: "Poppins", Arial, sans-serif; }

@media (max-width: 1180px) {
	.spb-archive-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(250px, .68fr); gap: 26px; }
	.spb-archive-hero__visual { min-height: 215px; }
	.spb-archive-hero__circle { width: min(25vw, 255px); }
}

@media (max-width: 900px) {
	.spb-archive-hero__main { padding: 30px 0; }
	.spb-archive-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr); gap: 18px; }
	.spb-archive-hero h1 { font-size: clamp(34px, 5.5vw, 46px); }
	.spb-archive-hero__trust { gap: 8px 12px; }
	.spb-archive-hero__visual { min-height: 190px; }
	.spb-archive-hero__image img { max-height: 210px; }
	.spb-archive-content__panel { grid-template-columns: minmax(190px, .55fr) minmax(0, 1.45fr); gap: 26px; padding: 24px; }
}

@media (max-width: 767px) {
	.spb-archive-shell,
	body.post-type-archive-product .woocommerce,
	body.tax-product_cat .woocommerce { width: min(calc(100% - 28px), 1380px); }
	.spb-archive-hero__breadcrumbs { padding: 11px 0; }
	.spb-archive-hero__main { padding: 26px 0 24px; }
	.spb-archive-hero__grid { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
	.spb-archive-hero h1 { margin-bottom: 10px; font-size: clamp(32px, 10vw, 42px); }
	.spb-archive-hero__description { font-size: 15px; line-height: 1.55; }
	.spb-archive-hero__trust { margin-top: 16px; }
	.spb-archive-hero__badge { font-size: 10px; }
	.spb-archive-hero__badge i { width: 24px; height: 24px; }
	.spb-archive-hero__visual { width: 100%; min-height: 155px; }
	.spb-archive-hero__circle { width: 170px; }
	.spb-archive-hero__image img { width: 260px; max-height: 170px; }
	.spb-archive-hero--hide-mobile-yes .spb-archive-hero__visual { display: none; }
	.spb-archive-toolbar { padding: 28px 0 10px; }
	.spb-archive-toolbar__inner { align-items: stretch; flex-direction: column; gap: 14px; padding-bottom: 14px; }
	.spb-archive-toolbar__ordering select { width: 100%; min-width: 0; }
	.spb-archive-content { padding: 34px 0 42px; }
	.spb-archive-content__panel { grid-template-columns: 1fr; gap: 16px; padding: 22px 20px; border-radius: 13px; }
}

/* =========================================================
   SPB HEADER AND BASKET
========================================================= */

.elementor-widget-spb_header,
.elementor-widget-spb_header > .elementor-widget-container {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.spb-header,
.spb-header *,
.spb-header *::before,
.spb-header *::after,
.spb-basket,
.spb-basket *,
.spb-basket *::before,
.spb-basket *::after {
	box-sizing: border-box;
}

.spb-header {
	--spb-header-primary: #062b63;
	--spb-header-accent: #00a3e0;
	--spb-header-cta: #0754bd;
	--spb-header-height: 78px;
	position: relative;
	width: 100%;
	min-height: var(--spb-header-height);
	margin: 0;
	background: #fff;
	border-bottom: 1px solid #dfe6ee;
	font-family: "Inter", Arial, sans-serif;
	z-index: 1001;
	transition: border-color .25s ease, box-shadow .25s ease;
}

.spb-header.is-scrolled {
	border-bottom-color: transparent;
	box-shadow: 0 8px 28px rgba(6, 43, 99, .10);
}

.spb-header__inner {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) 250px;
	width: 100%;
	max-width: 1380px;
	min-height: var(--spb-header-height);
	margin: 0 auto;
	padding: 0 28px;
	align-items: center;
	column-gap: 26px;
}

.spb-header__logo {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	text-decoration: none;
}

.spb-header__logo img {
	display: block;
	width: auto;
	height: 61px;
	max-width: 120px;
	object-fit: contain;
}

.spb-header__site-name {
	color: var(--spb-header-primary);
	font-family: "Poppins", Arial, sans-serif;
	font-weight: 700;
}

.spb-header__navigation {
	display: flex;
	min-width: 0;
	align-self: stretch;
	align-items: stretch;
	justify-content: center;
}

.spb-header__menu {
	display: flex;
	height: 100%;
	margin: 0;
	padding: 0;
	align-items: stretch;
	justify-content: center;
	gap: 1px;
	list-style: none;
}

.spb-header__menu-item {
	position: relative;
	display: flex;
	height: 100%;
	margin: 0;
	padding: 0;
	align-items: stretch;
}

.spb-header__menu-link {
	position: relative;
	display: flex;
	min-height: var(--spb-header-height);
	padding: 0 12px;
	align-items: center;
	justify-content: center;
	color: var(--spb-header-primary);
	font-family: "Poppins", Arial, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: color .2s ease;
}

.spb-header__menu-link::after {
	position: absolute;
	right: 12px;
	bottom: 14px;
	left: 12px;
	height: 2px;
	border-radius: 2px;
	background: var(--spb-header-accent);
	content: "";
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .2s ease;
}

.spb-header__menu-link:hover,
.spb-header__menu-link:focus-visible,
.spb-header__menu-item.is-current > .spb-header__menu-link,
.spb-header__menu-item.is-open > .spb-header__menu-link {
	color: var(--spb-header-accent);
}

.spb-header__menu-link:hover::after,
.spb-header__menu-link:focus-visible::after,
.spb-header__menu-item.is-current > .spb-header__menu-link::after,
.spb-header__menu-item.is-open > .spb-header__menu-link::after {
	transform: scaleX(1);
}

.spb-header__submenu-toggle {
	display: inline-flex;
	width: 22px;
	min-height: var(--spb-header-height);
	margin-left: -10px;
	padding: 0 5px;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	color: var(--spb-header-primary);
	cursor: pointer;
}

.spb-header__submenu-toggle svg {
	width: 10px;
	height: 7px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .2s ease;
}

.spb-header__menu-item.is-open > .spb-header__submenu-toggle svg {
	transform: rotate(180deg);
}

.spb-header__submenu {
	position: absolute;
	top: calc(100% - 5px);
	left: 50%;
	display: block;
	width: max-content;
	min-width: 270px;
	max-width: 340px;
	margin: 0;
	padding: 12px;
	border: 1px solid #e1e8f0;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 20px 50px rgba(6, 43, 99, .15), 0 4px 12px rgba(6, 43, 99, .06);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 8px);
	pointer-events: none;
	transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
	z-index: 30;
}

.spb-header__submenu::before {
	position: absolute;
	top: -10px;
	right: 0;
	left: 0;
	height: 12px;
	content: "";
}

.spb-header__menu-item.is-open > .spb-header__submenu {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
	pointer-events: auto;
}

.spb-header__submenu .spb-header__menu-item {
	display: block;
	height: auto;
}

.spb-header__submenu .spb-header__menu-link {
	display: flex;
	min-height: 48px;
	padding: 12px 14px;
	align-items: center;
	justify-content: flex-start;
	border-radius: 8px;
	font-family: "Inter", Arial, sans-serif;
	font-size: 14px;
	white-space: normal;
	transition: background-color .18s ease, color .18s ease, padding-left .18s ease;
}

.spb-header__submenu .spb-header__menu-link::after {
	display: none;
}

.spb-header__submenu .spb-header__menu-link:hover,
.spb-header__submenu .spb-header__menu-link:focus-visible {
	padding-left: 18px;
	background: #f2f7fc;
	color: var(--spb-header-accent);
}

.spb-header__submenu .spb-header__submenu-toggle {
	position: absolute;
	top: 0;
	right: 3px;
	min-height: 48px;
	margin: 0;
}

@media (min-width: 1100px) {
	.spb-header__menu-item.has-submenu:hover > .spb-header__submenu,
	.spb-header__menu-item.has-submenu:focus-within > .spb-header__submenu {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, 0);
		pointer-events: auto;
	}

	.spb-header__menu-item.has-submenu:hover > .spb-header__menu-link,
	.spb-header__menu-item.has-submenu:focus-within > .spb-header__menu-link,
	.spb-header__menu-item.has-submenu:hover > .spb-header__submenu-toggle,
	.spb-header__menu-item.has-submenu:focus-within > .spb-header__submenu-toggle {
		color: var(--spb-header-accent);
	}

	.spb-header__menu-item.has-submenu:hover > .spb-header__menu-link::after,
	.spb-header__menu-item.has-submenu:focus-within > .spb-header__menu-link::after {
		transform: scaleX(1);
	}

	.spb-header__menu-item.has-submenu:hover > .spb-header__submenu-toggle svg,
	.spb-header__menu-item.has-submenu:focus-within > .spb-header__submenu-toggle svg {
		transform: rotate(180deg);
	}
}

.spb-header__actions {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: flex-end;
	gap: 22px;
}

.spb-header__cart {
	position: relative;
	display: inline-flex;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	color: var(--spb-header-primary);
	text-decoration: none;
	transition: color .2s ease, transform .2s ease;
}

.spb-header__cart:hover,
.spb-header__cart:focus-visible {
	color: var(--spb-header-accent);
	transform: translateY(-1px);
}

.spb-header__cart svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.spb-header__cart-count {
	position: absolute;
	top: 0;
	right: -1px;
	display: flex;
	width: 17px;
	height: 17px;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--spb-header-primary);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
}

.spb-header__cta {
	display: inline-flex;
	min-height: 45px;
	padding: 11px 17px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	border: 1px solid var(--spb-header-cta);
	border-radius: 9px;
	background: var(--spb-header-cta);
	color: #fff;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 7px 16px rgba(7, 84, 189, .18);
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.spb-header__cta:hover,
.spb-header__cta:focus-visible {
	border-color: var(--spb-header-primary);
	background: var(--spb-header-primary);
	color: #fff;
	box-shadow: 0 9px 20px rgba(6, 43, 99, .22);
	transform: translateY(-1px);
}

.spb-header__cta svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.spb-header__mobile-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 9px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	cursor: pointer;
}

.spb-header__mobile-toggle span {
	display: block;
	width: 26px;
	height: 3px;
	border-radius: 10px;
	background: var(--spb-header-primary);
	transform-origin: center;
	transition: transform .22s ease, opacity .22s ease;
}

.spb-header.is-menu-open .spb-header__mobile-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.spb-header.is-menu-open .spb-header__mobile-toggle span:nth-child(2) { opacity: 0; }
.spb-header.is-menu-open .spb-header__mobile-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.spb-header__mobile-cta { display: none; }

.spb-header__menu-overlay,
.spb-basket-overlay {
	position: fixed;
	inset: 0;
	background: rgba(6, 24, 48, .48);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .25s ease, visibility .25s ease;
}

.spb-header__menu-overlay { z-index: 999; }
.spb-basket-overlay { z-index: 9997; }
body.spb-menu-open,
body.spb-basket-open { overflow: hidden; }
body.spb-menu-open .spb-header__menu-overlay,
body.spb-basket-open .spb-basket-overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Basket drawer */
.spb-basket {
	position: fixed;
	top: 0;
	right: 0;
	display: flex;
	width: min(440px, 100vw);
	height: 100dvh;
	flex-direction: column;
	background: #fff;
	box-shadow: -18px 0 55px rgba(6, 43, 99, .22);
	font-family: "Inter", Arial, sans-serif;
	transform: translateX(105%);
	visibility: hidden;
	transition: transform .3s ease, visibility .3s ease;
	z-index: 9998;
}

.spb-basket.is-open {
	transform: translateX(0);
	visibility: visible;
}

.spb-basket__header {
	display: flex;
	padding: 24px 26px 20px;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid #e3e9f0;
}

.spb-basket__eyebrow {
	display: block;
	margin-bottom: 4px;
	color: #00a3e0;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.spb-basket__header h2 {
	margin: 0;
	color: #062b63;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
}

.spb-basket__close {
	display: inline-flex;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	border: 1px solid #dfe6ee;
	border-radius: 50%;
	background: #fff;
	color: #062b63;
	cursor: pointer;
	transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

.spb-basket__close:hover {
	border-color: #00a3e0;
	background: #f2f9fd;
	color: #00a3e0;
}

.spb-basket__close svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
}

.spb-basket__delivery {
	display: flex;
	margin: 18px 24px 0;
	padding: 12px 14px;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(0, 182, 122, .22);
	border-radius: 9px;
	background: #f2fcf8;
	color: #087b58;
	font-size: 13px;
	font-weight: 700;
}

.spb-basket__delivery svg {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.spb-basket__content {
	min-height: 0;
	padding: 18px 24px 24px;
	flex: 1;
	overflow-y: auto;
}

.spb-basket .woocommerce-mini-cart {
	margin: 0;
	padding: 0;
	list-style: none;
}

.spb-basket .woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 14px;
	min-height: 92px;
	margin: 0;
	padding: 16px 30px 16px 0;
	border-bottom: 1px solid #e7edf3;
}

.spb-basket .woocommerce-mini-cart-item > a:not(.remove) {
	display: contents;
	color: #062b63;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

.spb-basket .woocommerce-mini-cart-item img {
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 74px;
	height: 74px;
	margin: 0;
	border: 1px solid #e1e8f0;
	border-radius: 9px;
	background: #f7f9fc;
	object-fit: contain;
}

.spb-basket .woocommerce-mini-cart-item .quantity {
	grid-column: 2;
	color: #526170;
	font-size: 13px;
	font-weight: 600;
}

.spb-basket .woocommerce-mini-cart-item .remove {
	position: absolute;
	top: 14px;
	right: 0;
	display: flex;
	width: 24px;
	height: 24px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f4f7fa;
	color: #7a8794 !important;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
}

.spb-basket .woocommerce-mini-cart-item .remove:hover {
	background: #fff0f0;
	color: #c63838 !important;
}

.spb-basket .woocommerce-mini-cart__total {
	display: flex;
	margin: 20px 0 0;
	padding: 18px 0 0;
	align-items: center;
	justify-content: space-between;
	border-top: 2px solid #e1e8f0;
	color: #2f3a45;
	font-size: 15px;
}

.spb-basket .woocommerce-mini-cart__total strong {
	color: #062b63;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 16px;
}

.spb-basket .woocommerce-mini-cart__total .woocommerce-Price-amount {
	color: #062b63;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 20px;
	font-weight: 700;
}

.spb-basket .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin: 18px 0 0;
}

.spb-basket .woocommerce-mini-cart__buttons .button {
	display: flex;
	min-height: 50px;
	margin: 0;
	padding: 12px 18px;
	align-items: center;
	justify-content: center;
	border: 1px solid #062b63;
	border-radius: 9px;
	background: #fff;
	color: #062b63;
	font-family: "Poppins", Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}

.spb-basket .woocommerce-mini-cart__buttons .checkout {
	order: -1;
	border-color: #0754bd;
	background: #0754bd;
	color: #fff;
}

.spb-basket .woocommerce-mini-cart__buttons .checkout:hover {
	border-color: #062b63;
	background: #062b63;
	color: #fff;
}

.spb-basket .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
	background: #f2f7fc;
	color: #00a3e0;
}

.spb-basket .woocommerce-mini-cart__empty-message {
	margin: 46px 0 0;
	padding: 42px 24px;
	border: 1px dashed #ccd7e2;
	border-radius: 12px;
	background: #f7f9fc;
	color: #526170;
	font-size: 15px;
	line-height: 1.6;
	text-align: center;
}

.spb-header__editor-message {
	margin: auto;
	color: #687582;
	font-size: 13px;
}

@media (max-width: 1340px) {
	.spb-header__inner { grid-template-columns: 125px minmax(0, 1fr) 230px; padding: 0 22px; column-gap: 18px; }
	.spb-header__logo img { height: 58px; max-width: 110px; }
	.spb-header__menu-link { padding: 0 9px; font-size: 14px; }
	.spb-header__menu-link::after { right: 9px; left: 9px; }
	.spb-header__actions { gap: 17px; }
	.spb-header__cta { padding-right: 15px; padding-left: 15px; font-size: 13px; }
}

@media (max-width: 1199px) {
	.spb-header { --spb-header-height: 74px; }
	.spb-header__inner { grid-template-columns: 105px minmax(0, 1fr) 205px; padding: 0 18px; column-gap: 12px; }
	.spb-header__logo img { height: 54px; max-width: 100px; }
	.spb-header__menu-link { padding: 0 7px; font-size: 13px; }
	.spb-header__menu-link::after { right: 7px; bottom: 12px; left: 7px; }
	.spb-header__actions { gap: 12px; }
	.spb-header__cart { width: 39px; height: 39px; flex-basis: 39px; }
	.spb-header__cart svg { width: 27px; height: 27px; }
	.spb-header__cta { min-height: 42px; padding-right: 13px; padding-left: 13px; font-size: 12px; }
}

@media (max-width: 1099px) {
	.spb-header { --spb-header-height: 70px; }
	.spb-header__inner { display: flex; min-height: var(--spb-header-height); padding: 0 20px; justify-content: space-between; gap: 14px; }
	.spb-header__logo { position: relative; z-index: 3; }
	.spb-header__logo img { height: 53px; max-width: 98px; }
	.spb-header__actions { margin-left: auto; gap: 8px; }
	.spb-header__desktop-cta { display: none; }
	.spb-header__mobile-toggle { display: flex; }
	.spb-header__navigation {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: block;
		width: 100%;
		max-height: calc(100vh - var(--spb-header-height));
		padding: 12px 22px 24px;
		border-top: 1px solid #e4eaf0;
		background: #fff;
		box-shadow: 0 18px 34px rgba(6, 43, 99, .14);
		overflow-x: hidden;
		overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		pointer-events: none;
		transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
	}
	.spb-header.is-menu-open .spb-header__navigation { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
	.spb-header__menu { display: block; width: 100%; height: auto; }
	.spb-header__menu-item { display: grid; grid-template-columns: minmax(0, 1fr) 48px; width: 100%; height: auto; border-bottom: 1px solid #e7edf3; }
	.spb-header__menu-link { grid-column: 1; display: flex; width: 100%; min-height: 54px; padding: 14px 4px; justify-content: flex-start; font-size: 15px; text-align: left; }
	.spb-header__menu-link::after { display: none; }
	.spb-header__submenu-toggle { grid-column: 2; width: 48px; min-height: 54px; margin: 0; padding: 0; }
	.spb-header__submenu-toggle svg { width: 12px; height: 8px; }
	.spb-header__submenu {
		position: static;
		grid-column: 1 / -1;
		display: none;
		width: 100%;
		min-width: 0;
		max-width: none;
		margin: 0;
		padding: 0 0 12px 13px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		pointer-events: auto;
	}
	.spb-header__submenu::before { display: none; }
	.spb-header__menu-item.is-open > .spb-header__submenu { display: block; transform: none; }
	.spb-header__submenu .spb-header__menu-item { display: grid; border: 0; }
	.spb-header__submenu .spb-header__menu-link { position: relative; min-height: 44px; padding: 10px 12px 10px 18px; border-radius: 6px; font-size: 14px; }
	.spb-header__submenu .spb-header__menu-link::before { position: absolute; top: 19px; left: 3px; width: 6px; height: 6px; border-radius: 50%; background: var(--spb-header-accent); content: ""; }
	.spb-header__submenu .spb-header__submenu-toggle { position: static; min-height: 44px; }
	.spb-header__mobile-cta { display: block; padding-top: 20px; }
	.spb-header__mobile-cta .spb-header__cta { width: 100%; min-height: 50px; }
}

@media (max-width: 767px) {
	.spb-header { --spb-header-height: 66px; }
	.spb-header__inner { padding: 0 14px; gap: 10px; }
	.spb-header__logo img { height: 49px; max-width: 91px; }
	.spb-header__actions { gap: 5px; }
	.spb-header__cart { width: 39px; height: 39px; flex-basis: 39px; }
	.spb-header__cart svg { width: 27px; height: 27px; }
	.spb-header__mobile-toggle { width: 40px; height: 40px; padding-right: 5px; padding-left: 5px; }
	.spb-header__mobile-toggle span { width: 24px; }
	.spb-header__navigation { padding: 9px 17px 22px; }
	.spb-header__menu-link { min-height: 52px; font-size: 15px; }
	.spb-basket { width: 100%; }
	.spb-basket__header { padding: 19px 18px 16px; }
	.spb-basket__header h2 { font-size: 22px; }
	.spb-basket__delivery { margin: 14px 17px 0; }
	.spb-basket__content { padding: 12px 17px 20px; }
}

@media (max-width: 380px) {
	.spb-header__inner { padding-right: 11px; padding-left: 11px; }
	.spb-header__logo img { height: 46px; max-width: 85px; }
	.spb-header__actions { gap: 2px; }
	.spb-header__cart { width: 37px; height: 37px; flex-basis: 37px; }
	.spb-header__mobile-toggle { width: 38px; height: 38px; }
}

.spb-header a:focus-visible,
.spb-header button:focus-visible,
.spb-basket a:focus-visible,
.spb-basket button:focus-visible {
	outline: 3px solid rgba(0, 163, 224, .32);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.spb-header *,
	.spb-header__menu-overlay,
	.spb-basket,
	.spb-basket-overlay { transition-duration: .01ms !important; }
}

/* =========================================================
   HEADER BUTTON RESET
   Prevent theme / Elementor global button hover colours from
   affecting the hamburger, submenu chevrons and basket close.
========================================================= */

.spb-header button.spb-header__mobile-toggle,
.spb-header button.spb-header__submenu-toggle {
	-webkit-appearance: none;
	appearance: none;
	border-color: transparent !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.spb-header button.spb-header__mobile-toggle:hover,
.spb-header button.spb-header__mobile-toggle:focus,
.spb-header button.spb-header__mobile-toggle:focus-visible,
.spb-header button.spb-header__mobile-toggle:active,
.spb-header button.spb-header__submenu-toggle:hover,
.spb-header button.spb-header__submenu-toggle:focus,
.spb-header button.spb-header__submenu-toggle:focus-visible,
.spb-header button.spb-header__submenu-toggle:active {
	border-color: transparent !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.spb-header button.spb-header__mobile-toggle:hover span,
.spb-header button.spb-header__mobile-toggle:focus-visible span {
	background: var(--spb-header-accent) !important;
}

.spb-header button.spb-header__submenu-toggle:hover,
.spb-header button.spb-header__submenu-toggle:focus-visible,
.spb-header__menu-item.is-open > button.spb-header__submenu-toggle {
	color: var(--spb-header-accent) !important;
}

.spb-basket button.spb-basket__close {
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #dfe6ee !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #062b63 !important;
	box-shadow: none !important;
}

.spb-basket button.spb-basket__close:hover,
.spb-basket button.spb-basket__close:focus,
.spb-basket button.spb-basket__close:focus-visible,
.spb-basket button.spb-basket__close:active {
	border-color: #00a3e0 !important;
	background: #f2f9fd !important;
	background-color: #f2f9fd !important;
	color: #00a3e0 !important;
	box-shadow: none !important;
}

/* =========================================================
   SPB CONTACT PAGE WIDGET
========================================================= */
.spb-contact-page-widget,.spb-contact-page-widget *{box-sizing:border-box}.spb-contact-page-widget{width:100%;overflow:hidden;background:#fff;color:#2f3a45;font-family:Inter,Arial,sans-serif}.spb-contact-widget__container{width:min(100% - 60px,1380px);margin:0 auto}.spb-contact-widget__hero{position:relative;padding:24px 0 86px;overflow:hidden;background:linear-gradient(135deg,#062b63 0%,#073873 58%,#007bb7 100%);color:#fff}.spb-contact-widget__hero:before{position:absolute;top:-180px;right:-120px;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:""}.spb-contact-widget__breadcrumbs{position:relative;display:flex;gap:8px;align-items:center;margin-bottom:58px;font-size:13px;font-weight:600}.spb-contact-widget__breadcrumbs a{color:rgba(255,255,255,.78);text-decoration:none}.spb-contact-widget__hero-copy{position:relative;max-width:800px}.spb-contact-widget__eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 15px;color:#00a3e0;font-family:Poppins,Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.spb-contact-widget__eyebrow:before{width:28px;height:2px;background:currentColor;content:""}.spb-contact-widget__eyebrow--light{color:#6fd6ff}.spb-contact-widget__hero h1{margin:0 0 22px;color:#fff;font-family:Poppins,Arial,sans-serif;font-size:clamp(42px,5vw,62px);font-weight:800;line-height:1.08;letter-spacing:-.035em}.spb-contact-widget__hero p{max-width:760px;margin:0;color:rgba(255,255,255,.84);font-size:18px;line-height:1.75}.spb-contact-widget__main{padding:0 0 62px;background:linear-gradient(to bottom,#f7f9fc 0,#f7f9fc 120px,#fff 120px)}.spb-contact-widget__panel{position:relative;display:grid;grid-template-columns:minmax(350px,.86fr) minmax(500px,1.14fr);overflow:hidden;border:1px solid #dfe6ee;border-radius:22px;background:#fff;box-shadow:0 24px 65px rgba(6,43,99,.13);transform:translateY(-38px)}.spb-contact-widget__details{display:flex;flex-direction:column;padding:58px 52px 46px;background:linear-gradient(145deg,#062b63 0%,#073873 68%,#005c94 100%);color:#fff}.spb-contact-widget__details h2,.spb-contact-widget__form-wrap h2,.spb-contact-widget__section-heading h2{margin:0;color:#062b63;font-family:Poppins,Arial,sans-serif;font-weight:700;line-height:1.2;letter-spacing:-.025em}.spb-contact-widget__details h2{margin-bottom:17px;color:#fff;font-size:clamp(30px,3vw,39px)}.spb-contact-widget__details-intro{margin:0;color:rgba(255,255,255,.76);font-size:16px;line-height:1.72}.spb-contact-widget__methods{margin-top:38px}.spb-contact-widget__method{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none}.spb-contact-widget__method-icon{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid rgba(111,214,255,.34);border-radius:12px;background:rgba(0,163,224,.12);color:#6fd6ff}.spb-contact-widget__method-icon svg,.spb-contact-widget__help-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.spb-contact-widget__method>span:last-child{display:flex;min-width:0;flex-direction:column}.spb-contact-widget__method small{color:#6fd6ff;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.spb-contact-widget__method strong{overflow-wrap:anywhere;font-family:Poppins,Arial,sans-serif;font-size:16px}.spb-contact-widget__method em{color:rgba(255,255,255,.6);font-size:13px;font-style:normal}.spb-contact-widget__alan{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;margin-top:auto;padding-top:38px}.spb-contact-widget__alan img{width:96px;height:96px;object-fit:cover;object-position:center top;border:3px solid rgba(255,255,255,.22);border-radius:50%;background:#fff}.spb-contact-widget__alan div{display:flex;flex-direction:column}.spb-contact-widget__alan div>span{color:#6fd6ff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.spb-contact-widget__alan p{margin:5px 0 8px;color:#fff;font-size:14px;font-style:italic;line-height:1.55}.spb-contact-widget__alan small{color:rgba(255,255,255,.57);font-size:11px}.spb-contact-widget__form-wrap{padding:58px}.spb-contact-widget__form-wrap h2{margin-bottom:14px;font-size:clamp(30px,3.2vw,40px)}.spb-contact-widget__form-intro{margin:0 0 32px;color:#5a6570;font-size:16px;line-height:1.7}.spb-contact-widget__form-placeholder{padding:34px;border:2px dashed #ccd6e0;border-radius:12px;background:#f7f9fc;text-align:center}.spb-contact-widget__form-placeholder strong,.spb-contact-widget__form-placeholder span{display:block}.spb-contact-widget__form-placeholder strong{margin-bottom:8px;color:#062b63;font-family:Poppins,Arial,sans-serif}.spb-contact-widget__help{padding:92px 0 106px;background:#f7f9fc}.spb-contact-widget__section-heading{max-width:760px;margin:0 auto 44px;text-align:center}.spb-contact-widget__section-heading .spb-contact-widget__eyebrow{justify-content:center}.spb-contact-widget__section-heading h2{margin-bottom:16px;font-size:clamp(34px,4vw,45px)}.spb-contact-widget__section-heading p{margin:0;color:#5b6772;font-size:17px;line-height:1.7}.spb-contact-widget__help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.spb-contact-widget__help-card{display:grid;grid-template-columns:58px 1fr 26px;gap:18px;align-items:center;padding:27px 25px;border:1px solid #dfe6ee;border-radius:15px;background:#fff;color:#2f3a45;text-decoration:none;transition:.2s ease}.spb-contact-widget__help-card:hover{border-color:rgba(0,163,224,.52);box-shadow:0 16px 35px rgba(6,43,99,.1);transform:translateY(-4px)}.spb-contact-widget__help-icon{display:flex;width:58px;height:58px;align-items:center;justify-content:center;border-radius:14px;background:#edf8fd;color:#00a3e0}.spb-contact-widget__help-card>span:nth-child(2){display:flex;flex-direction:column}.spb-contact-widget__help-card strong{margin-bottom:6px;color:#062b63;font-family:Poppins,Arial,sans-serif;font-size:18px}.spb-contact-widget__help-card small{color:#66727e;font-size:14px;line-height:1.55}.spb-contact-widget__help-card b{color:#9ba8b4;font-size:22px}.spb-contact-widget__reassurance{padding:38px 0;background:#062b63;color:#fff}.spb-contact-widget__reassurance-grid{display:grid;grid-template-columns:repeat(3,1fr)}.spb-contact-widget__reassurance-grid>div{display:flex;flex-direction:column;align-items:center;padding:6px 32px;text-align:center}.spb-contact-widget__reassurance-grid>div+div{border-left:1px solid rgba(255,255,255,.14)}.spb-contact-widget__reassurance strong{font-family:Poppins,Arial,sans-serif;font-size:16px}.spb-contact-widget__reassurance span{color:rgba(255,255,255,.64);font-size:13px}.spb-contact-widget__form-content .elementor-form .elementor-field{min-height:52px;border:1px solid #ccd6e0;border-radius:9px}.spb-contact-widget__form-content .elementor-button{min-height:54px;border-radius:8px;background:#00a3e0;font-family:Poppins,Arial,sans-serif;font-weight:600}.spb-contact-widget__form-content .elementor-button:hover{background:#062b63}
@media(max-width:1100px){.spb-contact-widget__container{width:min(100% - 44px,1380px)}.spb-contact-widget__panel{grid-template-columns:minmax(310px,.82fr) minmax(430px,1.18fr)}.spb-contact-widget__details{padding:48px 36px 40px}.spb-contact-widget__form-wrap{padding:48px 38px}.spb-contact-widget__help-grid{grid-template-columns:1fr;max-width:820px;margin:auto}}
@media(max-width:860px){.spb-contact-widget__panel{grid-template-columns:1fr}.spb-contact-widget__reassurance-grid{grid-template-columns:1fr}.spb-contact-widget__reassurance-grid>div+div{border-top:1px solid rgba(255,255,255,.14);border-left:0}.spb-contact-widget__reassurance-grid>div{padding:16px 20px}}
@media(max-width:620px){.spb-contact-widget__container{width:min(100% - 30px,1380px)}.spb-contact-widget__hero{padding:18px 0 66px}.spb-contact-widget__breadcrumbs{margin-bottom:34px}.spb-contact-widget__hero h1{font-size:39px}.spb-contact-widget__hero p{font-size:16px}.spb-contact-widget__panel{border-radius:16px;transform:translateY(-28px)}.spb-contact-widget__details{padding:38px 24px 34px}.spb-contact-widget__method{grid-template-columns:43px 1fr;gap:13px}.spb-contact-widget__method-icon{width:43px;height:43px}.spb-contact-widget__alan{grid-template-columns:75px 1fr}.spb-contact-widget__alan img{width:75px;height:75px}.spb-contact-widget__form-wrap{padding:38px 23px 40px}.spb-contact-widget__help{padding:70px 0 76px}.spb-contact-widget__help-card{grid-template-columns:49px 1fr 20px;gap:14px;padding:22px 18px}.spb-contact-widget__help-icon{width:49px;height:49px}}

/* Contact page v1.2.1 support details */
.spb-contact-widget__support-groups{display:flex;flex-direction:column;gap:24px;margin-top:36px}.spb-contact-widget__support-group{padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}.spb-contact-widget__support-group:first-child{padding-top:0;border-top:0}.spb-contact-widget__support-group h3{margin:0 0 5px;color:#fff;font-family:Poppins,Arial,sans-serif;font-size:18px;font-weight:700;line-height:1.35}.spb-contact-widget__support-group .spb-contact-widget__method{padding:13px 0}.spb-contact-widget__support-group--out-hours{padding:20px;border:1px solid rgba(111,214,255,.24);border-radius:14px;background:rgba(0,163,224,.09)}.spb-contact-widget__support-group--out-hours .spb-contact-widget__method{padding-bottom:0;border-bottom:0}.spb-contact-widget__method strong a,.spb-contact-widget__method em a{color:inherit;text-decoration:none}.spb-contact-widget__method strong a:hover,.spb-contact-widget__method em a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.spb-contact-widget__photos-note{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;margin-top:24px;padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.07)}.spb-contact-widget__photos-icon{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:11px;background:rgba(111,214,255,.14);color:#6fd6ff}.spb-contact-widget__photos-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.spb-contact-widget__photos-note strong{display:block;margin-bottom:5px;color:#fff;font-family:Poppins,Arial,sans-serif;font-size:15px}.spb-contact-widget__photos-note p{margin:0;color:rgba(255,255,255,.68);font-size:13px;line-height:1.6}.spb-contact-widget__details{justify-content:flex-start}.spb-contact-widget__alan{margin-top:30px}
@media(max-width:620px){.spb-contact-widget__support-groups{gap:20px;margin-top:30px}.spb-contact-widget__support-group h3{font-size:17px}.spb-contact-widget__support-group--out-hours{padding:16px}.spb-contact-widget__photos-note{grid-template-columns:40px minmax(0,1fr);padding:16px}.spb-contact-widget__photos-icon{width:40px;height:40px}}

/* Single article topic tags */
.spb-single-article__topics{padding:0 24px 72px;background:#fff}
.spb-single-article__topics-inner{display:flex;align-items:flex-start;gap:20px;width:min(100%,980px);margin:0 auto;padding-top:28px;border-top:1px solid var(--spb-article-border)}
.spb-single-article__topics-label{flex:0 0 auto;padding-top:8px;color:var(--spb-article-primary);font-family:"Poppins",sans-serif;font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.spb-single-article__topic-links{display:flex;flex-wrap:wrap;gap:10px}
.spb-single-article__topic-links a{display:inline-flex;align-items:center;min-height:36px;padding:7px 14px;border:1px solid rgba(0,163,224,.28);border-radius:999px;background:rgba(0,163,224,.08);color:var(--spb-article-primary);font-size:14px;font-weight:700;line-height:1.35;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s}
.spb-single-article__topic-links a:hover,.spb-single-article__topic-links a:focus{border-color:var(--spb-article-secondary);background:var(--spb-article-secondary);color:#fff;transform:translateY(-1px)}
@media(max-width:767px){.spb-single-article__topics{padding:0 20px 54px}.spb-single-article__topics-inner{display:block;padding-top:24px}.spb-single-article__topics-label{display:block;margin-bottom:14px;padding-top:0}}


/* Contact page v1.2.8 - direct contact layout, no form */
.spb-contact-widget__panel{display:block;overflow:hidden}
.spb-contact-widget__details{padding:58px 58px 50px}
.spb-contact-widget__details-intro{max-width:850px}
.spb-contact-widget__support-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;margin-top:38px}
.spb-contact-widget__support-group,.spb-contact-widget__support-group:first-child{padding:26px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.07)}
.spb-contact-widget__support-group--out-hours{padding:26px;border-color:rgba(111,214,255,.32);background:rgba(0,163,224,.12)}
.spb-contact-widget__support-group h3{margin-bottom:10px}
.spb-contact-widget__support-group .spb-contact-widget__method:last-child{border-bottom:0}
.spb-contact-widget__details-bottom{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:center;margin-top:26px}
.spb-contact-widget__photos-note{margin-top:26px}
.spb-contact-widget__alan{margin-top:26px;padding-top:0}
@media(max-width:1000px){.spb-contact-widget__support-groups{grid-template-columns:1fr}.spb-contact-widget__support-group{padding:22px}.spb-contact-widget__details{padding:48px 38px 42px}}
@media(max-width:620px){.spb-contact-widget__details{padding:38px 24px 34px}.spb-contact-widget__support-group,.spb-contact-widget__support-group:first-child,.spb-contact-widget__support-group--out-hours{padding:18px}.spb-contact-widget__support-groups{gap:16px}}

/* Contact manual prompt - v1.3.2 */
.spb-contact-widget__manual{margin:0 0 16px;padding:15px;border:1px solid rgba(111,214,255,.25);border-radius:12px;background:rgba(6,43,99,.28)}
.spb-contact-widget__manual p{margin:0 0 11px;color:rgba(255,255,255,.74);font-size:13px;line-height:1.55}
.spb-contact-widget__manual-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:9px;padding:10px 14px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#00a3e0;color:#fff!important;font-family:Poppins,Arial,sans-serif;font-size:13px;font-weight:700;line-height:1.35;text-decoration:none!important;transition:background-color .2s ease,transform .2s ease,border-color .2s ease}
.spb-contact-widget__manual-button svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.spb-contact-widget__manual-button:hover{border-color:#fff;background:#fff;color:#062b63!important;transform:translateY(-1px)}
.spb-contact-widget__support-group--out-hours>.spb-contact-widget__method{margin-top:0}
@media(max-width:620px){.spb-contact-widget__manual-button{width:100%}}

/* =========================================================
   SPB ABOUT PAGE WIDGETS - v1.8.33
   ========================================================= */

.spb-about-section,
.spb-about-videos,
.spb-about-section *,
.spb-about-videos * {
	box-sizing: border-box;
}

.spb-about-section {
	width: 100%;
	padding: 88px 30px;
	background: #ffffff;
	color: #2f3a45;
	font-family: Inter, Arial, sans-serif;
}

.spb-about-section--alternate {
	background: #f7f9fc;
}

.spb-about-section__inner {
	display: grid;
	width: 100%;
	max-width: 1380px;
	margin: 0 auto;
	grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.05fr);
	align-items: center;
	gap: 80px;
}

.spb-about-section--alternate .spb-about-section__image {
	order: 2;
}

.spb-about-section--alternate .spb-about-section__content {
	order: 1;
}

.spb-about-section__image {
	position: relative;
}

.spb-about-section__image::before {
	position: absolute;
	z-index: 0;
	top: 22px;
	left: 22px;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background: #dceaf3;
	content: "";
}

.spb-about-section--alternate .spb-about-section__image::before {
	right: 22px;
	left: auto;
	background: #d9e7f1;
}

.spb-about-section__image img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: 20px;
	object-fit: cover;
	box-shadow: 0 22px 50px rgba(6, 43, 99, 0.14);
}

.spb-about-section__content {
	max-width: 650px;
}

.spb-about-section__label {
	display: inline-flex;
	margin: 0 0 15px;
	align-items: center;
	gap: 10px;
	color: #00a3e0;
	font-family: Poppins, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.spb-about-section__label::before {
	display: block;
	width: 28px;
	height: 2px;
	background: currentColor;
	content: "";
}

.spb-about-section h1,
.spb-about-section h2,
.spb-about-videos h2,
.spb-about-video h3 {
	color: #062b63;
	font-family: Poppins, Arial, sans-serif;
}

.spb-about-section h1,
.spb-about-section h2 {
	margin: 0 0 24px;
	font-size: clamp(34px, 4vw, 46px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.spb-about-section__body,
.spb-about-section__body p {
	color: #465564;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.8;
}

.spb-about-section__body p {
	margin: 0 0 19px;
}

.spb-about-section__body p:last-child {
	margin-bottom: 0;
}

.spb-about-videos {
	width: 100%;
	padding: 90px 30px 100px;
	background: #062b63;
	font-family: Inter, Arial, sans-serif;
}

.spb-about-videos__inner {
	width: 100%;
	max-width: 1380px;
	margin: 0 auto;
}

.spb-about-videos__heading {
	margin: 0 auto 42px;
	text-align: center;
}

.spb-about-videos__heading .spb-about-section__label {
	justify-content: center;
	color: #6fd6ff;
}

.spb-about-videos h2 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(34px, 4vw, 46px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.spb-about-videos__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.spb-about-video {
	overflow: hidden;
	padding: 8px 8px 22px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.08);
}

.spb-about-video__frame {
	overflow: hidden;
	width: 100%;
	border-radius: 12px;
	background: #001a3a;
}

.spb-about-video__frame iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}

.spb-about-video h3 {
	margin: 19px 14px 0;
	color: #ffffff;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

@media (max-width: 1024px) {
	.spb-about-section {
		padding: 72px 22px;
	}

	.spb-about-section__inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.spb-about-section__content {
		max-width: none;
	}

	.spb-about-section__image {
		max-width: 820px;
	}

	.spb-about-section--alternate .spb-about-section__content {
		order: 2;
	}

	.spb-about-section--alternate .spb-about-section__image {
		order: 1;
	}

	.spb-about-videos {
		padding: 76px 22px 84px;
	}
}

@media (max-width: 767px) {
	.spb-about-section {
		padding: 58px 15px;
	}

	.spb-about-section__inner {
		gap: 38px;
	}

	.spb-about-section__image::before {
		top: 12px;
		left: 12px;
		border-radius: 15px;
	}

	.spb-about-section--alternate .spb-about-section__image::before {
		right: 12px;
		left: auto;
	}

	.spb-about-section__image img {
		border-radius: 15px;
		box-shadow: 0 16px 35px rgba(6, 43, 99, 0.13);
	}

	.spb-about-section h1,
	.spb-about-section h2 {
		margin-bottom: 19px;
		font-size: 32px;
	}

	.spb-about-section__body,
	.spb-about-section__body p {
		font-size: 16px;
		line-height: 1.72;
	}

	.spb-about-section__body p {
		margin-bottom: 16px;
	}

	.spb-about-videos {
		padding: 62px 15px 70px;
	}

	.spb-about-videos__heading {
		margin-bottom: 32px;
	}

	.spb-about-videos h2 {
		font-size: 32px;
	}

	.spb-about-videos__grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.spb-about-video {
		padding: 6px 6px 19px;
		border-radius: 15px;
	}

	.spb-about-video h3 {
		margin-top: 16px;
		font-size: 17px;
	}
}

/* =========================================================
   SPB single product widgets
   ========================================================= */
.spb-single-product {
    --spb-product-navy: #062b63;
    --spb-product-blue: #00a3e0;
    --spb-product-green: #00a66a;
    --spb-product-body: #2f3a45;
    --spb-product-muted: #687586;
    --spb-product-border: #dce4ee;
    --spb-product-light: #f7f9fc;
    --spb-product-blue-light: #effaff;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 34px 24px 48px;
    color: var(--spb-product-body);
}

.spb-single-product *,
.spb-single-product *::before,
.spb-single-product *::after,
.spb-single-product-tabs *,
.spb-single-product-tabs *::before,
.spb-single-product-tabs *::after {
    box-sizing: border-box;
}

.spb-single-product__breadcrumbs {
    margin-bottom: 34px;
    color: var(--spb-product-muted);
    font-size: 13px;
}

.spb-single-product__breadcrumbs .woocommerce-breadcrumb {
    margin: 0;
}

.spb-single-product__breadcrumbs a {
    color: var(--spb-product-muted);
    text-decoration: none;
}

.spb-single-product__breadcrumbs a:hover {
    color: var(--spb-product-blue);
}

.spb-single-product__main {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(42px, 6vw, 82px);
    align-items: start;
}

.spb-single-product__visual {
    position: sticky;
    top: 30px;
}

.spb-single-product__image-stage {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    padding: 34px;
    overflow: hidden;
    border: 1px solid #e5ebf2;
    border-radius: 20px;
    background: radial-gradient(circle at center, #fff 0, #fff 46%, #f6f9fc 100%);
}

.spb-single-product__image-stage img {
    display: block;
    width: 100%;
    max-width: 540px;
    max-height: 460px;
    object-fit: contain;
}

.spb-single-product__thumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.spb-single-product__thumbnail {
    width: 72px;
    height: 72px;
    padding: 6px;
    border: 1px solid var(--spb-product-border);
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

.spb-single-product__thumbnail.is-active,
.spb-single-product__thumbnail:hover {
    border-color: var(--spb-product-blue);
}

.spb-single-product__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.spb-single-product__trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.spb-single-product__trust-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 74px;
    padding: 12px;
    border: 1px solid var(--spb-product-border);
    border-radius: 11px;
    text-align: center;
    background: #fff;
}

.spb-single-product__trust-card strong {
    color: var(--spb-product-navy);
    font-size: 13px;
    line-height: 1.3;
}

.spb-single-product__trust-card span {
    margin-top: 4px;
    color: var(--spb-product-muted);
    font-size: 10px;
    line-height: 1.4;
}

.spb-single-product__category {
    margin-bottom: 9px;
    color: var(--spb-product-blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    line-height: 1.3;
    text-transform: uppercase;
}

.spb-single-product__category a {
    color: inherit;
    text-decoration: none;
}

.spb-single-product__title {
    margin: 0 0 13px;
    color: var(--spb-product-navy);
    font-family: Poppins, sans-serif;
    font-size: clamp(30px, 3vw, 43px);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.12;
}

.spb-single-product__rating {
    margin-bottom: 16px;
}

.spb-single-product__rating .woocommerce-product-rating {
    margin: 0;
}

.spb-single-product__rating .star-rating {
    color: #00b67a;
}

.spb-single-product__price {
    margin-bottom: 18px;
    color: var(--spb-product-navy);
    font-family: Poppins, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.1;
}

.spb-single-product__price p,
.spb-single-product__price .price {
    margin: 0;
    color: inherit;
    font-size: inherit;
}

.spb-single-product__overview {
    position: relative;
    margin: 22px 0 26px;
    padding: 21px 23px;
    overflow: hidden;
    border: 1px solid #bfe9f8;
    border-left: 5px solid var(--spb-product-blue);
    border-radius: 12px;
    background: var(--spb-product-blue-light);
}

.spb-single-product__overview::after {
    position: absolute;
    top: -38px;
    right: -34px;
    width: 115px;
    height: 115px;
    border: 18px solid rgba(0, 163, 224, .06);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.spb-single-product__overview-label {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 8px;
    color: var(--spb-product-blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.spb-single-product__overview-content {
    position: relative;
    z-index: 1;
}

.spb-single-product__overview-content p {
    margin: 0 0 12px;
    color: #344b5f;
    font-size: 15px;
    line-height: 1.7;
}

.spb-single-product__overview-content p:last-child {
    margin-bottom: 0;
}

/* Existing Popular Extras output, retained inside the native add-to-cart form. */
.spb-single-product__cart .nws-recommended-extras {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin: 0 0 24px;
    padding: 20px;
    border: 1px solid var(--spb-product-border);
    border-radius: 14px;
    background: var(--spb-product-light);
}

.spb-single-product__cart .nws-recommended-extras h3 {
    grid-column: 1 / -1;
    margin: 0 0 4px;
    color: var(--spb-product-navy);
    font-family: Poppins, sans-serif;
    font-size: 23px;
    line-height: 1.25;
}

.spb-single-product__cart .nws-extra-item {
    display: grid;
    grid-template-columns: 22px 60px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    min-height: 98px;
    padding: 13px;
    border: 1px solid var(--spb-product-border);
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.spb-single-product__cart .nws-extra-item:hover {
    border-color: var(--spb-product-blue);
    box-shadow: 0 6px 18px rgba(6, 43, 99, .08);
    transform: translateY(-1px);
}

.spb-single-product__cart .nws-extra-item:has(input:checked) {
    border-color: var(--spb-product-blue);
    background: #effaff;
    box-shadow: 0 0 0 2px rgba(0, 163, 224, .09);
}

.spb-single-product__cart .nws-extra-image img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.spb-single-product__cart .nws-extra-title {
    color: var(--spb-product-navy);
    font-size: 13px;
}

.spb-single-product__cart .nws-extra-price {
    color: #47752c;
    font-size: 13px;
}

.spb-single-product__cart form.cart {
    margin: 0;
}

.spb-single-product__cart form.cart:not(.variations_form) {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: stretch;
}

.spb-single-product__cart form.cart > .nws-recommended-extras,
.spb-single-product__cart form.cart > .woocommerce-variation,
.spb-single-product__cart form.cart > .variations,
.spb-single-product__cart form.cart > .single_variation_wrap {
    flex: 0 0 100%;
    width: 100%;
}

.spb-single-product__cart .quantity {
    float: none !important;
    margin: 0 !important;
}

.spb-single-product__cart .quantity .qty {
    width: 105px;
    min-height: 56px;
    padding: 0 12px;
    border: 1px solid var(--spb-product-border);
    border-radius: 10px;
    color: var(--spb-product-navy);
    background: #fff;
    text-align: center;
    font-weight: 700;
}

.spb-single-product__cart .single_add_to_cart_button {
    flex: 1 1 240px;
    min-height: 56px;
    margin: 0 !important;
    padding: 12px 24px !important;
    border-radius: 10px !important;
    background: #1567e8 !important;
    font-family: Poppins, sans-serif;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.spb-single-product__cart .single_add_to_cart_button:hover {
    background: var(--spb-product-navy) !important;
}

.spb-single-product__cart table.variations {
    margin-bottom: 18px;
}

.spb-single-product__cart table.variations th,
.spb-single-product__cart table.variations td {
    padding: 8px 0;
}

.spb-single-product__reassurance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.spb-single-product__reassurance-item {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding: 11px 0;
}

.spb-single-product__check {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    color: #fff;
    background: var(--spb-product-green);
    font-size: 10px;
    font-weight: 700;
}

.spb-single-product__reassurance-item div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.spb-single-product__reassurance-item strong {
    color: var(--spb-product-navy);
    font-size: 11px;
    line-height: 1.3;
}

.spb-single-product__reassurance-item div span {
    color: var(--spb-product-muted);
    font-size: 9px;
    line-height: 1.4;
}

.spb-single-product__meta {
    margin-top: 10px;
    color: #8a949f;
    font-size: 10px;
}

.spb-single-product-tabs {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px 65px;
}

.spb-single-product-tabs .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid var(--spb-product-border, #dce4ee);
    border-bottom: 1px solid var(--spb-product-border, #dce4ee);
}

.spb-single-product-tabs .woocommerce-tabs ul.tabs::before,
.spb-single-product-tabs .woocommerce-tabs ul.tabs li::before,
.spb-single-product-tabs .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.spb-single-product-tabs .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.spb-single-product-tabs .woocommerce-tabs ul.tabs li a {
    position: relative;
    display: block;
    padding: 19px 22px 17px !important;
    color: #596675 !important;
    font-size: 13px;
    font-weight: 700 !important;
    white-space: nowrap;
}

.spb-single-product-tabs .woocommerce-tabs ul.tabs li.active a,
.spb-single-product-tabs .woocommerce-tabs ul.tabs li a:hover {
    color: #062b63 !important;
}

.spb-single-product-tabs .woocommerce-tabs ul.tabs li.active a::after {
    position: absolute;
    right: 18px;
    bottom: -1px;
    left: 18px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: #00a3e0;
    content: "";
}

.spb-single-product-tabs .woocommerce-Tabs-panel {
    max-width: 920px;
    margin: 0 !important;
    padding: 48px 4px 0 !important;
}

.spb-single-product-tabs .woocommerce-Tabs-panel h2,
.spb-single-product-tabs .woocommerce-Tabs-panel h3 {
    color: #062b63;
    font-family: Poppins, sans-serif;
}

.spb-single-product-tabs .woocommerce-Tabs-panel h2 {
    margin: 0 0 20px;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.2;
}

.spb-single-product-tabs .woocommerce-Tabs-panel p,
.spb-single-product-tabs .woocommerce-Tabs-panel li,
.spb-single-product-tabs .woocommerce-Tabs-panel td,
.spb-single-product-tabs .woocommerce-Tabs-panel th {
    font-size: 15px;
    line-height: 1.8;
}

.spb-single-product-tabs .woocommerce-Tabs-panel table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #dce4ee;
    border-radius: 12px;
}

.spb-single-product-tabs .woocommerce-Tabs-panel th,
.spb-single-product-tabs .woocommerce-Tabs-panel td {
    padding: 15px 18px;
    border: 0;
    border-bottom: 1px solid #dce4ee;
    text-align: left;
}

.spb-single-product-tabs .woocommerce-Tabs-panel tr:last-child th,
.spb-single-product-tabs .woocommerce-Tabs-panel tr:last-child td {
    border-bottom: 0;
}

.spb-single-product-tabs .woocommerce-Tabs-panel th {
    width: 34%;
    color: #062b63;
    background: #f7f9fc;
    font-weight: 700;
}

.spb-widget-notice {
    padding: 18px;
    border: 1px dashed #00a3e0;
    border-radius: 8px;
    background: #effaff;
    color: #062b63;
}

@media (max-width: 1024px) {
    .spb-single-product__main { gap: 36px; }
    .spb-single-product__visual { position: static; }
    .spb-single-product__image-stage { min-height: 410px; }
    .spb-single-product__trust-grid { grid-template-columns: 1fr; }
    .spb-single-product__cart .nws-recommended-extras { grid-template-columns: 1fr; }
    .spb-single-product__reassurance { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 767px) {
    .spb-single-product { padding: 20px 16px 38px; }
    .spb-single-product__breadcrumbs { margin-bottom: 22px; font-size: 11px; }
    .spb-single-product__main { grid-template-columns: 1fr; gap: 28px; }
    .spb-single-product__image-stage { min-height: 330px; padding: 20px; border-radius: 14px; }
    .spb-single-product__image-stage img { max-height: 300px; }
    .spb-single-product__trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .spb-single-product__trust-card { min-height: 68px; padding: 9px 6px; }
    .spb-single-product__trust-card strong { font-size: 10px; }
    .spb-single-product__trust-card span { font-size: 8px; }
    .spb-single-product__title { font-size: 26px; line-height: 1.08; letter-spacing: -.02em; }
    .spb-single-product__price { font-size: 28px; }
    .spb-single-product__overview { margin-top: 19px; padding: 18px 18px 18px 19px; }
    .spb-single-product__overview-content p { font-size: 14px; }
    .spb-single-product__cart .nws-recommended-extras { padding: 17px; }
    .spb-single-product__cart form.cart:not(.variations_form) { display: grid; grid-template-columns: 110px minmax(0, 1fr); }
    .spb-single-product__cart form.cart > .nws-recommended-extras { grid-column: 1 / -1; }
    .spb-single-product__cart .quantity .qty { width: 100%; }
    .spb-single-product-tabs { padding: 0 16px 55px; }
    .spb-single-product-tabs .woocommerce-tabs ul.tabs { margin-right: -16px !important; }
    .spb-single-product-tabs .woocommerce-tabs ul.tabs li a { padding: 17px 16px 15px !important; font-size: 12px; }
    .spb-single-product-tabs .woocommerce-Tabs-panel { padding-top: 35px !important; }
    .spb-single-product-tabs .woocommerce-Tabs-panel h2 { font-size: 28px; }
}

@media (max-width: 480px) {
    .spb-single-product__trust-grid { grid-template-columns: 1fr; }
    .spb-single-product__cart form.cart:not(.variations_form) { grid-template-columns: 1fr; }
    .spb-single-product-tabs .woocommerce-Tabs-panel th,
    .spb-single-product-tabs .woocommerce-Tabs-panel td { display: block; width: 100%; }
}

/* =========================================================
   SPB PRODUCT ARCHIVE CATEGORY NAVIGATION - v1.3.5
========================================================= */
.spb-archive-categories {
	width: 100%;
	margin: 0 0 30px;
}
.spb-archive-categories__scroll {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
.spb-archive-categories__link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 12px 16px;
	border: 2px solid rgba(6, 43, 99, .18);
	border-radius: 999px;
	background: #fff;
	color: var(--spb-navy, #062b63);
	font-family: "Poppins", Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.spb-archive-categories__link:hover,
.spb-archive-categories__link:focus-visible {
	border-color: var(--spb-blue, #00a3e0);
	background: #f3fbfe;
	color: var(--spb-navy, #062b63);
	transform: translateY(-1px);
}
.spb-archive-categories__link.is-active {
	border-color: var(--spb-navy, #062b63);
	background: var(--spb-navy, #062b63);
	color: #fff;
	box-shadow: 0 10px 24px rgba(6, 43, 99, .16);
}
.spb-archive-categories__link.is-active:hover,
.spb-archive-categories__link.is-active:focus-visible {
	border-color: var(--spb-blue, #00a3e0);
	background: var(--spb-blue, #00a3e0);
	color: #fff;
}
@media (max-width: 1100px) {
	.spb-archive-categories__scroll { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.spb-archive-categories { margin-bottom: 24px; }
	.spb-archive-categories .spb-archive-shell { width: 100%; }
	.spb-archive-categories__scroll {
		display: flex;
		gap: 10px;
		overflow-x: auto;
		padding: 0 14px 8px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}
	.spb-archive-categories__link {
		flex: 0 0 auto;
		min-height: 48px;
		max-width: 235px;
		padding: 11px 18px;
		font-size: 12px;
		scroll-snap-align: start;
	}
}

/* =========================================================
   Pump Finder widgets - v1.3.6
   ========================================================= */
.spb-pumpfinder-container{width:min(1180px,calc(100% - 40px));margin:0 auto}.spb-pumpfinder-hero{position:relative;padding:72px 0 80px;background:radial-gradient(circle at 88% 20%,rgba(0,163,224,.12) 0,rgba(0,163,224,.12) 90px,transparent 91px),linear-gradient(135deg,#f7fbff 0%,#fff 62%,#eef8fd 100%);border-bottom:0;overflow:hidden}.spb-pumpfinder-hero:before{content:"";position:absolute;top:36px;right:8%;width:230px;height:230px;border:42px solid rgba(0,163,224,.045);border-radius:50%}.spb-pumpfinder-hero--plain:before{display:none}.spb-pumpfinder-hero--plain{background:linear-gradient(135deg,#f7fbff 0%,#fff 70%)}.spb-pumpfinder-hero__content{position:relative;z-index:1;max-width:900px;margin:0 auto;text-align:center}.spb-pumpfinder-eyebrow,.spb-pumpfinder-section-label{display:inline-flex;align-items:center;gap:9px;margin-bottom:17px;color:#007fb7;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.spb-pumpfinder-eyebrow:before,.spb-pumpfinder-section-label:before{content:"";width:28px;height:3px;background:#00a3e0;border-radius:10px}.spb-pumpfinder-hero h1{max-width:850px;margin:0 auto;color:#062b63;font-family:Poppins,Arial,sans-serif;font-size:clamp(38px,5vw,62px);line-height:1.15;letter-spacing:-.035em}.spb-pumpfinder-hero__intro{max-width:710px;margin:22px auto 0;color:#536173;font-size:18px;line-height:1.7}.spb-pumpfinder-benefits{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:36px 0 12px}.spb-pumpfinder-benefit{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 16px;color:#062b63;background:rgba(255,255,255,.86);border:1px solid rgba(6,43,99,.11);border-radius:999px;box-shadow:0 8px 24px rgba(6,43,99,.05);font-size:13px;font-weight:700}.spb-pumpfinder-benefit__icon{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;color:#00a3e0;font-size:18px;line-height:1}.spb-pumpfinder-hero--animate .spb-pumpfinder-hero__content{animation:spbPumpFinderIn .55s ease both}@keyframes spbPumpFinderIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.spb-pumpfinder-quiz{position:relative;padding:70px 0;background:#f7f9fc}.spb-pumpfinder-quiz .spb-pumpfinder-container{position:static;top:auto;margin-bottom:0}.spb-pumpfinder-quiz-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;max-width:1000px;margin:0 auto 26px;padding:0 8px}.spb-pumpfinder-quiz-intro h2{margin:0 0 12px;color:#062b63;font-family:Poppins,Arial,sans-serif;font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:-.025em}.spb-pumpfinder-quiz-intro p{max-width:690px;margin:0;color:#687586;font-size:15px;line-height:1.7}.spb-pumpfinder-time{display:flex;align-items:center;gap:12px;max-width:180px;color:#062b63;font-size:12px;font-weight:700;line-height:1.45}.spb-pumpfinder-time>span:first-child{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#00a3e0;background:#fff;border:1px solid #dce6f0;border-radius:50%;font-size:18px;flex:0 0 40px}.spb-pumpfinder-card{max-width:1000px;margin:0 auto;background:#fff;border:1px solid #d9e5ef;border-radius:20px;box-shadow:0 24px 65px rgba(6,43,99,.12);overflow:hidden}.spb-pumpfinder-card__top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px;padding:18px 26px;background:linear-gradient(90deg,#f7fbfe 0%,#fff 70%);border-bottom:1px solid #dce6f0}.spb-pumpfinder-card__title{display:flex;align-items:center;gap:13px}.spb-pumpfinder-card__title strong{display:block;margin-bottom:3px;color:#062b63;font-family:Poppins,Arial,sans-serif;font-size:15px}.spb-pumpfinder-card__title div>span{display:block;color:#687586;font-size:12px}.spb-pumpfinder-card__number{display:flex!important;align-items:center;justify-content:center;width:38px;height:38px;color:#fff;background:#00a3e0;border-radius:50%;font-family:Poppins,Arial,sans-serif;font-size:15px;font-weight:700;flex:0 0 38px}.spb-pumpfinder-card__status{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;color:#087459;background:#eafaf5;border:1px solid #cbeee3;border-radius:999px;font-size:11px;font-weight:800}.spb-pumpfinder-card__status:before{content:"";width:7px;height:7px;background:#00a878;border-radius:50%}.spb-pumpfinder-iframe-wrap{position:relative;min-height:640px;padding:14px;background:#fff}.spb-pumpfinder-iframe{display:block;width:100%;height:680px;min-height:600px;border:0;opacity:0;transition:height .25s ease,opacity .25s ease}.spb-pumpfinder-iframe.is-loaded{opacity:1}.spb-pumpfinder-loading{position:absolute;inset:14px;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;color:#687586;background:#fff;font-size:14px;transition:opacity .2s ease,visibility .2s ease}.spb-pumpfinder-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.spb-pumpfinder-loading__spinner{width:24px;height:24px;border:3px solid #dceaf2;border-top-color:#00a3e0;border-radius:50%;animation:spbPumpFinderSpin .8s linear infinite}@keyframes spbPumpFinderSpin{to{transform:rotate(360deg)}}.spb-pumpfinder-guidance{display:flex;align-items:flex-start;gap:16px;max-width:860px;margin:24px auto 0;padding:20px 22px;background:#edf8fd;border:1px solid #cdeaf6;border-radius:13px}.spb-pumpfinder-guidance__icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:#007fb7;border:2px solid currentColor;border-radius:50%;font-weight:800;flex:0 0 34px}.spb-pumpfinder-guidance h3{margin:0 0 5px;color:#062b63;font-family:Poppins,Arial,sans-serif;font-size:16px}.spb-pumpfinder-guidance p{margin:0;color:#536579;font-size:13px;line-height:1.7}
/* Keep the primary header CTA legible in every state. */
.spb-header .spb-header__cta,.spb-header .spb-header__cta:link,.spb-header .spb-header__cta:visited,.spb-header .spb-header__cta:hover,.spb-header .spb-header__cta:focus,.spb-header .spb-header__cta:focus-visible,.spb-header .spb-header__cta:active,.spb-header .spb-header__cta[aria-current="page"]{color:#fff!important}.spb-header .spb-header__cta svg{color:#fff!important;stroke:currentColor!important}
@media(max-width:680px){.spb-pumpfinder-container{width:min(100% - 24px,1180px)}.spb-pumpfinder-hero{padding:46px 0 94px}.spb-pumpfinder-hero:before{display:none}.spb-pumpfinder-hero h1{font-size:37px}.spb-pumpfinder-hero__intro{margin-top:17px;font-size:16px}.spb-pumpfinder-benefits{display:grid;grid-template-columns:1fr;gap:9px;max-width:350px;margin:27px auto 0}.spb-pumpfinder-benefit{justify-content:flex-start;border-radius:9px}.spb-pumpfinder-quiz .spb-pumpfinder-container{top:auto;margin-bottom:0}.spb-pumpfinder-quiz-intro{display:block;margin-bottom:18px;padding:0 3px}.spb-pumpfinder-quiz-intro h2{font-size:27px}.spb-pumpfinder-time{margin-top:17px}.spb-pumpfinder-card{border-radius:14px}.spb-pumpfinder-card__top{align-items:flex-start;min-height:0;padding:15px}.spb-pumpfinder-card__title div>span{font-size:10px;line-height:1.45}.spb-pumpfinder-card__status{display:none}.spb-pumpfinder-iframe-wrap{min-height:620px;padding:0}.spb-pumpfinder-loading{inset:0}.spb-pumpfinder-iframe{min-height:620px}.spb-pumpfinder-guidance{gap:10px;margin-top:16px;padding:16px}}
@media(prefers-reduced-motion:reduce){.spb-pumpfinder-hero--animate .spb-pumpfinder-hero__content,.spb-pumpfinder-loading__spinner{animation:none}.spb-pumpfinder-iframe,.spb-pumpfinder-loading{transition:none}}

/* =========================================================
   SPB TOP BAR WIDGET
========================================================= */
.spb-topbar-widget,
.spb-topbar-widget *,
.spb-topbar-widget *::before,
.spb-topbar-widget *::after {
	box-sizing: border-box;
}

.spb-topbar-widget {
	width: 100%;
	background: #062b63;
	color: #fff;
	font-family: inherit;
}

.spb-topbar-widget__inner {
	width: 100%;
	max-width: 1380px;
	min-height: 42px;
	margin: 0 auto;
	padding: 0 28px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 30px;
}

.spb-topbar-widget__left,
.spb-topbar-widget__right {
	display: flex;
	align-items: center;
	gap: 24px;
	min-width: 0;
}

.spb-topbar-widget__right {
	justify-content: flex-end;
}

.spb-topbar-widget__item,
.spb-topbar-widget__rating {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
}

.spb-topbar-widget__icon {
	width: 18px;
	height: 18px;
	display: block;
	object-fit: contain;
	flex: 0 0 auto;
	filter: brightness(0) invert(1);
}

.spb-topbar-widget__icon--colour {
	width: 19px;
	height: auto;
	filter: none;
}

.spb-topbar-widget__delivery-icon {
	width: 21px;
	height: 18px;
	display: block;
	flex: 0 0 21px;
	overflow: visible;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.spb-topbar-widget__alan {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}

.spb-topbar-widget__alan:hover,
.spb-topbar-widget__alan:focus,
.spb-topbar-widget__rating:hover,
.spb-topbar-widget__rating:focus {
	color: inherit;
	text-decoration: none;
}

.spb-topbar-widget__alan-image-wrap {
	--spb-alan-x: 0px;
	--spb-alan-y: 0px;
	--spb-alan-zoom: 115;
	position: relative;
	display: block;
	width: var(--spb-alan-size, 52px);
	height: var(--spb-alan-size, 52px);
	flex: 0 0 var(--spb-alan-size, 52px);
	border: 3px solid #fff;
	border-radius: 50%;
	margin-bottom: -10px;
	overflow: hidden;
	background: #fff;
	z-index: 2;
}

.spb-topbar-widget__alan-image {
	position: absolute;
	left: 50%;
	top: 50%;
	display: block;
	width: calc(var(--spb-alan-zoom, 115) * 1%);
	height: calc(var(--spb-alan-zoom, 115) * 1%);
	max-width: none;
	object-fit: cover;
	object-position: center;
	transform: translate(calc(-50% + var(--spb-alan-x, 0px)), calc(-50% + var(--spb-alan-y, 0px)));
}

.spb-topbar-widget__alan-text {
	color: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
}

.spb-topbar-widget__alan-text strong {
	font-weight: 700;
}

.spb-topbar-widget__phone {
	margin-left: 7px;
	font-weight: 700;
}

.spb-topbar-widget__rating {
	gap: 7px;
	font-size: 12px;
}

.spb-topbar-widget__stars {
	display: inline-flex;
	gap: 2px;
}

.spb-topbar-widget__stars > span {
	display: grid;
	place-items: center;
	width: 17px;
	height: 17px;
	background: #00b67a;
	color: #fff;
	font-size: 12px;
	line-height: 1;
}

@media (max-width: 1100px) {
	.spb-topbar-widget__inner {
		gap: 18px;
		padding-right: 20px;
		padding-left: 20px;
	}

	.spb-topbar-widget__left,
	.spb-topbar-widget__right {
		gap: 15px;
	}

	.spb-topbar-widget__hide-tablet {
		display: none;
	}

	.spb-topbar-widget__phone {
		display: none;
	}
}

@media (max-width: 767px) {
	.spb-topbar-widget {
		overflow: visible;
	}

	.spb-topbar-widget__inner {
		min-height: 46px;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 0;
		width: 100%;
		max-width: 100%;
		padding: 0 14px;
		overflow-x: auto;
		overflow-y: visible;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 14px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		touch-action: pan-x;
	}

	.spb-topbar-widget__inner::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}

	.spb-topbar-widget__left,
	.spb-topbar-widget__right {
		display: contents;
	}

	.spb-topbar-widget__alan,
	.spb-topbar-widget__item,
	.spb-topbar-widget__rating {
		flex: 0 0 auto;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.spb-topbar-widget__hide-tablet {
		display: inline-flex;
	}

	.spb-topbar-widget__alan {
		order: 2;
		min-height: 46px;
		justify-content: flex-start;
		padding-right: 24px;
	}

	.spb-topbar-widget__rating { order: 1; }
	.spb-topbar-widget__item--left-1 { order: 3; }
	.spb-topbar-widget__item--left-2 { order: 4; }
	.spb-topbar-widget__item--left-3 { order: 5; }
	.spb-topbar-widget__item--delivery { order: 6; }
	.spb-topbar-widget__left .spb-topbar-widget__item:nth-child(n+4) { order: 5; }

	.spb-topbar-widget__item,
	.spb-topbar-widget__rating {
		min-height: 46px;
		padding: 0 24px;
		border-left: 1px solid rgba(255, 255, 255, 0.18);
	}

	.spb-topbar-widget__item {
		font-size: 12px;
	}

	.spb-topbar-widget__alan-image {
		--spb-alan-size: 44px;
		margin-bottom: -7px;
	}

	.spb-topbar-widget__alan-text {
		font-size: 12px;
	}

	.spb-topbar-widget__phone {
		display: none;
	}

	.spb-topbar-widget__rating {
		padding-right: 14px;
	}
}

@media (max-width: 380px) {
	.spb-topbar-widget__inner {
		padding-right: 10px;
		padding-left: 10px;
		scroll-padding-left: 10px;
	}

	.spb-topbar-widget__alan {
		padding-right: 20px;
	}

	.spb-topbar-widget__item,
	.spb-topbar-widget__rating {
		padding-right: 20px;
		padding-left: 20px;
	}
}

/* SPB Top Bar linked item states */
a.spb-topbar-widget__item,
a.spb-topbar-widget__rating,
a.spb-topbar-widget__alan {
	color: inherit;
	text-decoration: none;
}

a.spb-topbar-widget__item:hover,
a.spb-topbar-widget__item:focus-visible,
a.spb-topbar-widget__rating:hover,
a.spb-topbar-widget__rating:focus-visible,
a.spb-topbar-widget__alan:hover,
a.spb-topbar-widget__alan:focus-visible {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* =========================================================
   Solution pages - added in 1.4.0
   ========================================================= */
.spb-solution-page,.spb-solution-section{--spb-sol-navy:#062b63;--spb-sol-blue:#00a3e0;--spb-sol-blue-dark:#008fc7;--spb-sol-green:#00b67a;--spb-sol-text:#2f3a45;--spb-sol-muted:#647383;--spb-sol-light:#f7f9fc;--spb-sol-border:#dce5ee;--spb-sol-white:#fff;font-family:Inter,Arial,sans-serif;color:var(--spb-sol-text);font-size:16px;line-height:1.7}.spb-solution-page *,.spb-solution-section *{box-sizing:border-box}.spb-solution-container{width:min(100% - 40px,1380px);margin-inline:auto}.spb-solution-page h1,.spb-solution-section h2,.spb-solution-section h3{font-family:Poppins,Arial,sans-serif;color:var(--spb-sol-navy);font-weight:700;line-height:1.15;margin:0;padding:0}.spb-solution-page h1{font-size:clamp(40px,5vw,68px);letter-spacing:-.035em}.spb-solution-section h2{font-size:clamp(30px,3.3vw,46px);letter-spacing:-.025em}.spb-solution-section h3{font-size:clamp(22px,2vw,30px)}.spb-solution-eyebrow{display:inline-block;margin-bottom:14px;color:var(--spb-sol-blue-dark);font-family:Poppins,Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.spb-solution-section{padding:88px 0}.spb-solution-heading{max-width:820px;margin:0 auto 48px;text-align:center}.spb-solution-heading h2{margin-bottom:18px}.spb-solution-heading>p{max-width:720px;margin:0 auto;color:var(--spb-sol-muted);font-size:18px}.spb-solution-breadcrumbs{padding:15px 0;border-bottom:1px solid var(--spb-sol-border);font-size:13px;color:var(--spb-sol-muted)}.spb-solution-breadcrumbs .spb-solution-container{display:flex;gap:9px;flex-wrap:wrap}.spb-solution-breadcrumbs a{color:var(--spb-sol-muted)}.spb-solution-hero{padding:92px 0 96px;background:radial-gradient(circle at 86% 20%,rgba(0,163,224,.14),transparent 31%),linear-gradient(135deg,#f7fbff 0%,#fff 58%,#eef8fd 100%)}.spb-solution-hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);align-items:center;gap:76px}.spb-solution-hero__intro{max-width:720px;margin:24px 0 0;color:var(--spb-sol-muted);font-size:clamp(18px,1.5vw,21px)}.spb-solution-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.spb-solution-button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border:2px solid transparent;border-radius:8px;font-family:Poppins,Arial,sans-serif;font-size:15px;font-weight:700;transition:.2s}.spb-solution-button--primary{color:#fff!important;background:var(--spb-sol-blue);box-shadow:0 10px 24px rgba(0,163,224,.22)}.spb-solution-button--secondary{color:var(--spb-sol-navy)!important;border-color:var(--spb-sol-navy)}.spb-solution-button:hover{transform:translateY(-2px)}.spb-solution-hero__points{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:30px}.spb-solution-point,.spb-solution-hero__points>span{display:inline-flex;align-items:center;gap:8px;color:var(--spb-sol-navy);font-size:14px;font-weight:700}.spb-solution-check{color:var(--spb-sol-green)}.spb-solution-hero__image{padding:12px;border:1px solid rgba(6,43,99,.1);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(6,43,99,.09)}.spb-solution-hero__image img{display:block;width:100%;border-radius:15px}.spb-solution-check-section{padding-top:70px}.spb-solution-check-card{overflow:hidden;border:1px solid var(--spb-sol-border);border-radius:18px;box-shadow:0 18px 50px rgba(6,43,99,.09)}.spb-solution-check-card__head{padding:36px 40px 24px}.spb-solution-check-card__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;padding:10px 40px 38px}.spb-solution-richtext{color:var(--spb-sol-muted);font-size:17px}.spb-solution-richtext p{margin:0 0 18px}.spb-solution-richtext a{color:var(--spb-sol-blue-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}.spb-solution-check-card ul{display:grid;gap:14px;margin:0!important;padding:0!important;list-style:none!important}.spb-solution-check-card li,.spb-solution-check-card li a{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:10px;background:var(--spb-sol-light);color:var(--spb-sol-navy);font-weight:700}.spb-solution-check-card li a{padding:0;width:100%}.spb-solution-check-card li span{color:var(--spb-sol-green)}.spb-solution-check-card__footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 40px;border-top:1px solid var(--spb-sol-border);background:var(--spb-sol-light)}.spb-solution-check-card__footer>div{display:flex;flex-direction:column}.spb-solution-check-card__footer a{color:var(--spb-sol-blue-dark);font-weight:800}.spb-solution-benefits,.spb-solution-pumps,.spb-solution-faq{background:var(--spb-sol-light)}.spb-solution-benefits__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.spb-solution-benefit{display:block;min-height:230px;padding:28px 24px;border:1px solid var(--spb-sol-border);border-radius:15px;background:#fff;color:inherit!important}.spb-solution-benefit__icon{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;margin-bottom:20px;border-radius:12px;color:var(--spb-sol-blue);background:rgba(0,163,224,.1)}.spb-solution-benefit__icon svg{width:24px;height:24px}.spb-solution-benefit h3{margin-bottom:10px;font-size:21px}.spb-solution-benefit p{margin:0;color:var(--spb-sol-muted);font-size:15px}.spb-solution-installation{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;margin-bottom:50px;padding:40px;border:1px solid var(--spb-sol-border);border-radius:18px;box-shadow:0 12px 38px rgba(6,43,99,.06)}.spb-solution-installation.is-reverse .spb-solution-installation__image{order:2}.spb-solution-installation__image{padding:20px;border:1px solid var(--spb-sol-border);border-radius:14px;background:var(--spb-sol-light)}.spb-solution-installation__image img{display:block;width:100%;max-height:475px;object-fit:contain}.spb-solution-installation__content h3{margin-bottom:22px;font-size:clamp(28px,3vw,40px)}.spb-solution-context-link{display:flex;justify-content:space-between;gap:20px;margin-top:28px;padding-top:22px;border-top:1px solid var(--spb-sol-border)}.spb-solution-context-link>span{color:var(--spb-sol-muted);font-size:13px;font-weight:700;text-transform:uppercase}.spb-solution-context-link a,.spb-solution-arrow-link{color:var(--spb-sol-blue-dark);font-weight:800}.spb-solution-pumps__panel{overflow:hidden;border:1px solid var(--spb-sol-border);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(6,43,99,.09)}.spb-solution-pumps__panel>.spb-solution-heading{padding:52px 40px 42px;margin-bottom:0}.spb-solution-pump-row{display:grid;grid-template-columns:260px 1fr 140px;align-items:center;gap:32px;padding:29px 40px;border-top:1px solid var(--spb-sol-border)}.spb-solution-pump-row>div>span{color:var(--spb-sol-muted);font-size:12px;font-weight:700;text-transform:uppercase}.spb-solution-pump-row h3{font-size:28px}.spb-solution-pump-row h3 a{color:var(--spb-sol-navy)}.spb-solution-pump-row p{margin:0;color:var(--spb-sol-muted)}.spb-solution-pumps__footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 40px;border-top:1px solid var(--spb-sol-border);background:var(--spb-sol-light)}.spb-solution-pumps__footer>div:first-child{display:flex;flex-direction:column}.spb-solution-pumps__footer>div:last-child{display:flex;gap:12px}.spb-solution-pumps__footer a{padding:9px 17px;border:1px solid var(--spb-sol-navy);border-radius:7px;color:var(--spb-sol-navy);font-weight:800}.spb-solution-pumps__footer a.is-primary{border-color:var(--spb-sol-blue);background:var(--spb-sol-blue);color:#fff}.spb-solution-manual{padding-top:72px;padding-bottom:72px}.spb-solution-manual__card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:38px 42px;border-radius:18px;background:linear-gradient(135deg,#062b63,#08427f);color:#fff;box-shadow:0 20px 50px rgba(6,43,99,.2)}.spb-solution-manual__icon{display:flex;width:62px;height:62px;align-items:center;justify-content:center;border-radius:15px;background:rgba(255,255,255,.12);font-size:30px}.spb-solution-manual h2{color:#fff;margin-bottom:10px}.spb-solution-manual p{margin:0;color:rgba(255,255,255,.78)}.spb-solution-manual .spb-solution-eyebrow{color:#7edcff}.spb-solution-faq__list{max-width:970px;margin:auto}.spb-solution-faq details{margin-bottom:14px;border:1px solid var(--spb-sol-border);border-radius:12px;background:#fff;overflow:hidden}.spb-solution-faq summary{display:flex;justify-content:space-between;align-items:center;min-height:74px;padding:20px 24px;color:var(--spb-sol-navy);font-family:Poppins,Arial,sans-serif;font-weight:700;cursor:pointer;list-style:none}.spb-solution-faq summary::-webkit-details-marker{display:none}.spb-solution-faq summary i{position:relative;width:22px;height:22px}.spb-solution-faq summary i:before,.spb-solution-faq summary i:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;background:var(--spb-sol-blue);transform:translate(-50%,-50%)}.spb-solution-faq summary i:after{transform:translate(-50%,-50%) rotate(90deg)}.spb-solution-faq details[open] summary i:after{transform:translate(-50%,-50%)}.spb-solution-faq details>.spb-solution-richtext{padding:0 24px 24px}
@media(max-width:1100px){.spb-solution-hero__grid{grid-template-columns:1fr minmax(360px,.78fr);gap:44px}.spb-solution-benefits__grid{grid-template-columns:repeat(3,1fr)}.spb-solution-pump-row{grid-template-columns:210px 1fr 125px}}
@media(max-width:900px){.spb-solution-section{padding:70px 0}.spb-solution-hero__grid,.spb-solution-check-card__grid,.spb-solution-installation{grid-template-columns:1fr}.spb-solution-installation.is-reverse .spb-solution-installation__image{order:initial}.spb-solution-pump-row{grid-template-columns:180px 1fr}.spb-solution-arrow-link{grid-column:2}.spb-solution-manual__card{grid-template-columns:auto 1fr}.spb-solution-manual__card>.spb-solution-button{grid-column:2;justify-self:start}}
@media(max-width:767px){.spb-solution-container{width:min(100% - 30px,1380px)}.spb-solution-section{padding:56px 0}.spb-solution-heading{text-align:left;margin-bottom:34px}.spb-solution-page h1{font-size:clamp(37px,11vw,51px)}.spb-solution-hero{padding:54px 0 60px}.spb-solution-hero__grid{gap:38px}.spb-solution-buttons{flex-direction:column}.spb-solution-button{width:100%}.spb-solution-hero__points{flex-direction:column}.spb-solution-check-card__head,.spb-solution-check-card__grid{padding-left:24px;padding-right:24px}.spb-solution-check-card__footer{align-items:flex-start;flex-direction:column;padding:20px 24px}.spb-solution-benefits__grid{grid-template-columns:1fr 1fr}.spb-solution-installation{padding:24px;gap:34px}.spb-solution-pumps__panel>.spb-solution-heading,.spb-solution-pump-row,.spb-solution-pumps__footer{padding-left:24px;padding-right:24px}.spb-solution-pump-row{grid-template-columns:1fr;gap:14px}.spb-solution-arrow-link{grid-column:auto}.spb-solution-pumps__footer{align-items:flex-start;flex-direction:column}.spb-solution-manual__card{grid-template-columns:1fr;padding:30px 24px}.spb-solution-manual__card>.spb-solution-button{grid-column:auto}.spb-solution-faq summary{padding:18px 20px}.spb-solution-faq details>.spb-solution-richtext{padding:0 20px 22px}}
@media(max-width:520px){.spb-solution-benefits__grid{grid-template-columns:1fr}.spb-solution-benefit{min-height:0}.spb-solution-installation{padding:18px}.spb-solution-pumps__footer>div:last-child{width:100%;flex-direction:column}.spb-solution-pumps__footer a{text-align:center}}

/* =========================================================
   ALAN'S GUIDES / WHICH PUMP SHOULD I BUY
   ========================================================= */
.spb-guides-hero,.spb-guides-links{--spb-guides-navy:#062b63;--spb-guides-blue:#00a3e0;--spb-guides-text:#2f3a45;--spb-guides-muted:#65717d;--spb-guides-light:#f7f9fc;--spb-guides-border:#e2e8f0;font-family:Inter,Arial,sans-serif}.spb-guides-container{width:min(100% - 48px,1380px);margin:0 auto}.spb-guides-hero{padding:28px 0 62px;background:var(--spb-guides-navy);color:#fff}.spb-guides-breadcrumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:42px;color:rgba(255,255,255,.68);font-size:13px;font-weight:600}.spb-guides-breadcrumbs a{color:rgba(255,255,255,.82)}.spb-guides-breadcrumbs a:hover{color:#fff}.spb-guides-hero__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);align-items:center;gap:70px}.spb-guides-eyebrow,.spb-guides-quiz__eyebrow{display:block;margin-bottom:10px;color:var(--spb-guides-blue);font-size:13px;line-height:1.3;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.spb-guides-hero h1{margin:0 0 18px;padding:0;color:#fff;font-family:Poppins,Arial,sans-serif;font-size:clamp(36px,4.2vw,58px);line-height:1.08;font-weight:700}.spb-guides-hero__copy>p{max-width:760px;margin:0;padding:0;color:rgba(255,255,255,.82);font-size:18px;line-height:1.75}.spb-guides-quiz{padding:30px;border:1px solid rgba(255,255,255,.17);border-radius:16px;background:rgba(255,255,255,.07)}.spb-guides-quiz h2{margin:0 0 7px;padding:0;color:#fff;font-family:Poppins,Arial,sans-serif;font-size:21px;line-height:1.35;font-weight:700}.spb-guides-quiz p{margin:0 0 20px;padding:0;color:rgba(255,255,255,.73);font-size:14px;line-height:1.6}.spb-guides-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;border-radius:8px;background:var(--spb-guides-blue);color:#fff!important;font-size:15px;line-height:1;font-weight:700;transition:.2s}.spb-guides-primary-button:hover{background:#008dc4;transform:translateY(-1px)}.spb-guides-links{padding:32px 0;background:var(--spb-guides-light);color:var(--spb-guides-text)}.spb-guides-links:first-child{padding-top:72px}.spb-guides-links__heading{display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start;max-width:840px;margin-bottom:25px}.spb-guides-links__number{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#e7f6fc;color:var(--spb-guides-blue);font-family:Poppins,Arial,sans-serif;font-size:14px;font-weight:700}.spb-guides-links__heading h2{margin:0 0 5px;padding:0;color:var(--spb-guides-navy);font-family:Poppins,Arial,sans-serif;font-size:26px;line-height:1.3;font-weight:700}.spb-guides-links__heading p{margin:0;padding:0;color:var(--spb-guides-muted);font-size:15px;line-height:1.65}.spb-guides-links__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.spb-guides-link-card{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:18px 21px;border:1px solid var(--spb-guides-border);border-radius:10px;background:#fff;color:var(--spb-guides-navy)!important;box-shadow:0 2px 7px rgba(6,43,99,.025);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.spb-guides-link-card span{font-size:15px;line-height:1.45;font-weight:700}.spb-guides-link-card i{flex:0 0 auto;color:var(--spb-guides-blue);font-size:20px;font-style:normal;line-height:1;transition:transform .2s ease}.spb-guides-link-card:hover{border-color:rgba(0,163,224,.55);box-shadow:0 8px 24px rgba(6,43,99,.08);transform:translateY(-2px)}.spb-guides-link-card:hover i{transform:translateX(3px)}
@media(max-width:1024px){.spb-guides-hero__grid{grid-template-columns:1fr;gap:34px}.spb-guides-quiz{max-width:600px}.spb-guides-links__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.spb-guides-container{width:min(100% - 32px,1380px)}.spb-guides-hero{padding:22px 0 42px}.spb-guides-breadcrumbs{margin-bottom:30px;font-size:12px}.spb-guides-hero h1{font-size:36px}.spb-guides-hero__copy>p{font-size:16px;line-height:1.65}.spb-guides-quiz{padding:24px}.spb-guides-links{padding:24px 0}.spb-guides-links__heading{grid-template-columns:42px 1fr;gap:14px}.spb-guides-links__number{width:38px;height:38px;font-size:12px}.spb-guides-links__heading h2{font-size:22px}.spb-guides-links__grid{grid-template-columns:1fr;gap:10px}.spb-guides-link-card{min-height:66px;padding:16px 18px}}

/* SPB Guides full directory - 1.5.2 */
.spb-guides-directory{--spb-guides-navy:#062b63;--spb-guides-blue:#00a3e0;--spb-guides-text:#2f3a45;--spb-guides-muted:#65717d;--spb-guides-light:#f7f9fc;--spb-guides-border:#e2e8f0;padding:62px 0 76px;background:var(--spb-guides-light);font-family:Inter,Arial,sans-serif;color:var(--spb-guides-text)}
.spb-guides-directory__group{margin:0 0 58px}.spb-guides-directory__group:last-of-type{margin-bottom:52px}
.spb-guides-manual{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:38px 42px;border-radius:16px;background:var(--spb-guides-navy);color:#fff}.spb-guides-manual__copy{max-width:760px}.spb-guides-manual h2{margin:0 0 8px;color:#fff;font-family:Poppins,Arial,sans-serif;font-size:27px;line-height:1.25;font-weight:700}.spb-guides-manual p{margin:0;color:rgba(255,255,255,.75);font-size:15px;line-height:1.65}.spb-guides-manual__button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 22px;border-radius:8px;background:#fff;color:var(--spb-guides-navy)!important;font-size:14px;font-weight:800;transition:transform .2s ease}.spb-guides-manual__button:hover{transform:translateY(-2px)}
@media(max-width:1024px){.spb-guides-manual{align-items:flex-start;flex-direction:column}}
@media(max-width:767px){.spb-guides-directory{padding:48px 0 58px}.spb-guides-directory__group{margin-bottom:46px}.spb-guides-manual{gap:24px;padding:28px 24px}.spb-guides-manual h2{font-size:23px}.spb-guides-manual__button{width:100%}}

/* =========================================================
   Ask Alan page - 1.5.3
   ========================================================= */
.spb-alan-page-hero,
.spb-alan-page-section {
    --spb-alan-navy: #062b63;
    --spb-alan-blue: #00a3e0;
    --spb-alan-text: #2f3a45;
    --spb-alan-muted: #657281;
    --spb-alan-light: #f7f9fc;
    --spb-alan-border: #dfe6ee;
    color: var(--spb-alan-text);
    font-family: "Inter", Arial, sans-serif;
}
.spb-alan-page-hero *,
.spb-alan-page-section * { box-sizing: border-box; }
.spb-alan-page__container { width: min(1380px, calc(100% - 48px)); margin: 0 auto; }
.spb-alan-page__container--narrow { max-width: 1080px; }
.spb-alan-page-hero {
    position: relative;
    overflow: hidden;
    padding: 34px 0 72px;
    background: linear-gradient(110deg, #f7faff 0%, #fff 57%, #edf7fc 100%);
    border-bottom: 1px solid var(--spb-alan-border);
}
.spb-alan-page-hero::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -180px;
    top: -200px;
    border-radius: 50%;
    background: rgba(0,163,224,.07);
    pointer-events: none;
}
.spb-alan-page__breadcrumbs { display:flex; align-items:center; gap:9px; margin-bottom:42px; font-size:13px; color:var(--spb-alan-muted); }
.spb-alan-page__breadcrumbs a { color:var(--spb-alan-navy); font-weight:600; text-decoration:none; }
.spb-alan-page__breadcrumbs a:hover { color:var(--spb-alan-blue); }
.spb-alan-page-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr); align-items:center; gap:clamp(48px,7vw,110px); }
.spb-alan-page-hero__copy { max-width:720px; }
.spb-alan-page__eyebrow { display:inline-block; margin-bottom:13px; color:var(--spb-alan-blue); font-size:13px; line-height:1.3; font-weight:700; letter-spacing:.065em; text-transform:uppercase; }
.spb-alan-page-hero h1,
.spb-alan-page__section-heading h2 { margin:0; padding:0; color:var(--spb-alan-navy); font-family:"Poppins", Arial, sans-serif; font-weight:700; letter-spacing:-.025em; }
.spb-alan-page-hero h1 { margin-bottom:20px; font-size:clamp(42px,5vw,64px); line-height:1.04; }
.spb-alan-page-hero__intro { font-size:16px; line-height:1.75; }
.spb-alan-page-hero__intro p { margin:0 0 14px; padding:0; }
.spb-alan-page-hero__intro p:first-child { margin-bottom:18px; color:var(--spb-alan-navy); font-size:20px; line-height:1.55; }
.spb-alan-page__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:29px; }
.spb-alan-page__button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:12px 21px; border:2px solid var(--spb-alan-navy); border-radius:7px; font-size:14px; line-height:1.3; font-weight:700; text-decoration:none !important; transition:.18s ease; }
.spb-alan-page__button:hover { transform:translateY(-1px); }
.spb-alan-page__button--primary { background:var(--spb-alan-navy); color:#fff !important; }
.spb-alan-page__button--primary:hover { border-color:var(--spb-alan-blue); background:var(--spb-alan-blue); }
.spb-alan-page__button--secondary { background:transparent; color:var(--spb-alan-navy) !important; }
.spb-alan-page__button--secondary:hover { background:var(--spb-alan-navy); color:#fff !important; }
.spb-alan-page-hero__visual { position:relative; z-index:2; }
.spb-alan-page-hero__image { overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 18px 45px rgba(6,43,99,.13); }
.spb-alan-page-hero__image img { display:block; width:100%; aspect-ratio:550/350; object-fit:cover; }
.spb-alan-page-hero__caption { position:relative; z-index:3; width:calc(100% - 44px); margin:-23px auto 0; padding:16px 20px; border-radius:9px; background:var(--spb-alan-navy); color:#fff; box-shadow:0 8px 24px rgba(6,43,99,.16); }
.spb-alan-page-hero__caption strong,
.spb-alan-page-hero__caption span { display:block; }
.spb-alan-page-hero__caption strong { margin-bottom:2px; font-family:"Poppins",Arial,sans-serif; font-size:16px; font-weight:700; }
.spb-alan-page-hero__caption span { color:rgba(255,255,255,.78); font-size:13px; }
.spb-alan-page-section { padding:76px 0 82px; }
.spb-alan-page-section--white { background:#fff; }
.spb-alan-page-section--info { background:var(--spb-alan-light); border-top:1px solid var(--spb-alan-border); }
.spb-alan-page__section-heading { max-width:730px; margin:0 auto 38px; text-align:center; }
.spb-alan-page__section-heading h2 { margin-bottom:13px; font-size:clamp(30px,3vw,40px); line-height:1.15; }
.spb-alan-page__section-heading p { margin:0; color:var(--spb-alan-muted); font-size:16px; line-height:1.7; }
.spb-alan-page__accordion { margin:0 0 12px; overflow:hidden; border:1px solid var(--spb-alan-border); border-radius:9px; background:#fff; box-shadow:0 2px 8px rgba(6,43,99,.025); }
.spb-alan-page__accordion summary { display:flex; min-height:64px; align-items:center; justify-content:space-between; gap:25px; padding:18px 21px; cursor:pointer; color:var(--spb-alan-navy); font-size:15px; line-height:1.45; font-weight:700; list-style:none; transition:.18s ease; }
.spb-alan-page__accordion summary::-webkit-details-marker { display:none; }
.spb-alan-page__accordion summary::marker { content:""; }
.spb-alan-page__accordion summary:hover { background:#f8fbfe; color:var(--spb-alan-blue); }
.spb-alan-page__plus { position:relative; flex:0 0 28px; width:28px; height:28px; border-radius:50%; background:#eef7fc; }
.spb-alan-page__plus::before,
.spb-alan-page__plus::after { content:""; position:absolute; left:50%; top:50%; width:10px; height:2px; border-radius:2px; background:var(--spb-alan-blue); transform:translate(-50%,-50%); transition:transform .2s ease; }
.spb-alan-page__plus::after { transform:translate(-50%,-50%) rotate(90deg); }
.spb-alan-page__accordion[open] .spb-alan-page__plus::after { transform:translate(-50%,-50%) rotate(0); }
.spb-alan-page__accordion[open] > summary { background:var(--spb-alan-navy); color:#fff; }
.spb-alan-page__accordion[open] .spb-alan-page__plus { background:rgba(255,255,255,.15); }
.spb-alan-page__accordion[open] .spb-alan-page__plus::before,
.spb-alan-page__accordion[open] .spb-alan-page__plus::after { background:#fff; }
.spb-alan-page__accordion-content { padding:25px 28px 28px; border-top:1px solid var(--spb-alan-border); color:var(--spb-alan-text); font-size:15px; line-height:1.75; }
.spb-alan-page__accordion-content p { margin:0 0 15px; padding:0; }
.spb-alan-page__accordion-content p:last-child { margin-bottom:0; }
.spb-alan-page__accordion-content ul,
.spb-alan-page__accordion-content ol { margin:0 0 16px; padding-left:22px; }
.spb-alan-page__accordion-content a { color:var(--spb-alan-blue); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.spb-alan-page__accordion-content a:hover { color:var(--spb-alan-navy); }
.spb-alan-page__accordion-content img { max-width:100%; height:auto; }
.spb-alan-page__accordion--info { box-shadow:none; }
.spb-alan-page__accordion--info summary { min-height:66px; font-size:16px; }
@media (max-width:1024px) {
    .spb-alan-page__container { width:min(100% - 40px,1380px); }
    .spb-alan-page-hero { padding-bottom:58px; }
    .spb-alan-page-hero__grid { grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); gap:45px; }
    .spb-alan-page-hero h1 { font-size:46px; }
}
@media (max-width:767px) {
    .spb-alan-page__container { width:min(100% - 30px,1380px); }
    .spb-alan-page-hero { padding:22px 0 46px; }
    .spb-alan-page__breadcrumbs { margin-bottom:28px; }
    .spb-alan-page-hero__grid { grid-template-columns:1fr; gap:35px; }
    .spb-alan-page-hero h1 { margin-bottom:16px; font-size:39px; }
    .spb-alan-page-hero__intro { font-size:15px; line-height:1.7; }
    .spb-alan-page-hero__intro p:first-child { font-size:18px; }
    .spb-alan-page__actions { display:grid; grid-template-columns:1fr; }
    .spb-alan-page__button { width:100%; }
    .spb-alan-page-hero__image { border-radius:12px; }
    .spb-alan-page-hero__caption { width:calc(100% - 28px); }
    .spb-alan-page-section { padding:54px 0 60px; }
    .spb-alan-page__section-heading { margin-bottom:29px; }
    .spb-alan-page__section-heading h2 { font-size:30px; }
    .spb-alan-page__section-heading p { font-size:15px; }
    .spb-alan-page__accordion { margin-bottom:10px; border-radius:7px; }
    .spb-alan-page__accordion summary { min-height:60px; gap:15px; padding:16px; font-size:14px; }
    .spb-alan-page__plus { flex-basis:26px; width:26px; height:26px; }
    .spb-alan-page__accordion-content { padding:20px 18px 22px; font-size:14px; }
}

/* Find a Plumber */
.spb-plumber-hero,.spb-plumber-map-section{--spb-plumber-navy:#062B63;--spb-plumber-blue:#00A3E0;--spb-plumber-green:#00B67A;--spb-plumber-text:#2F3A45;--spb-plumber-muted:#667585;--spb-plumber-light:#F7F9FC;--spb-plumber-border:#DDE5ED;font-family:Inter,Arial,sans-serif;color:var(--spb-plumber-text)}
.spb-plumber-hero *,.spb-plumber-map-section *{box-sizing:border-box}.spb-plumber__container{width:min(1380px,calc(100% - 48px));margin:0 auto}.spb-plumber-hero{position:relative;overflow:hidden;padding:28px 0 70px;background:radial-gradient(circle at 90% 20%,rgba(0,163,224,.14),transparent 32%),linear-gradient(135deg,#F7F9FC 0%,#fff 65%);border-bottom:1px solid var(--spb-plumber-border)}.spb-plumber-hero:after{content:"";position:absolute;width:420px;height:420px;right:-150px;bottom:-230px;border:70px solid rgba(0,163,224,.06);border-radius:50%;pointer-events:none}.spb-plumber__breadcrumbs{display:flex;align-items:center;gap:9px;margin-bottom:42px;font-size:13px;font-weight:600;color:var(--spb-plumber-muted)}.spb-plumber__breadcrumbs a{color:var(--spb-plumber-navy);text-decoration:none}.spb-plumber__breadcrumbs a:hover{color:var(--spb-plumber-blue)}.spb-plumber-hero__copy{position:relative;z-index:1;max-width:820px}.spb-plumber__eyebrow{display:inline-block;margin-bottom:12px;color:var(--spb-plumber-blue);font-size:13px;line-height:1.3;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.spb-plumber-hero h1{margin:0 0 20px;color:var(--spb-plumber-navy);font-family:Poppins,Arial,sans-serif;font-size:clamp(38px,5vw,62px);line-height:1.08;font-weight:700;letter-spacing:-.03em}.spb-plumber-hero__copy p{max-width:750px;margin:0;font-size:19px;line-height:1.7}.spb-plumber-map-section{padding:80px 0;background:#fff}.spb-plumber-map__heading{max-width:760px;margin-bottom:34px}.spb-plumber-map__heading h2,.spb-plumber-info h2{margin:0 0 14px;color:var(--spb-plumber-navy);font-family:Poppins,Arial,sans-serif;font-size:clamp(28px,3vw,40px);line-height:1.2;font-weight:700;letter-spacing:-.02em}.spb-plumber-map__heading p{margin:0;color:var(--spb-plumber-muted);font-size:17px;line-height:1.7}.spb-plumber-map__wrap{position:relative;overflow:hidden;width:100%;min-height:560px;padding:14px;background:#fff;border:1px solid var(--spb-plumber-border);border-radius:18px;box-shadow:0 18px 50px rgba(6,43,99,.09)}.spb-plumber-map__wrap>div,.spb-plumber-map__wrap iframe,.spb-plumber-map__wrap .gmpMapDetailsContainer,.spb-plumber-map__wrap .gmp_map_opts{max-width:100%!important}.spb-plumber-info{display:grid;grid-template-columns:72px minmax(0,1fr);gap:28px;margin-top:64px;padding:42px;background:var(--spb-plumber-light);border:1px solid var(--spb-plumber-border);border-radius:18px}.spb-plumber-info__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--spb-plumber-navy);color:#fff;border-radius:15px;font-size:24px;font-weight:800;font-family:Georgia,serif}.spb-plumber-info__content{max-width:950px}.spb-plumber-info__items{display:grid;gap:16px;margin-top:26px}.spb-plumber-info__item{display:flex;align-items:flex-start;gap:13px}.spb-plumber-info__item>span{display:flex;flex:0 0 25px;align-items:center;justify-content:center;width:25px;height:25px;margin-top:1px;background:var(--spb-plumber-green);color:#fff;border-radius:50%;font-size:14px;font-weight:800}.spb-plumber-info__item p{margin:0;font-size:16px;line-height:1.65}
@media(max-width:1024px){.spb-plumber__container{width:min(100% - 40px,1380px)}.spb-plumber-hero{padding-bottom:58px}.spb-plumber-map-section{padding:65px 0}}
@media(max-width:767px){.spb-plumber__container{width:calc(100% - 30px)}.spb-plumber-hero{padding:22px 0 45px}.spb-plumber__breadcrumbs{margin-bottom:30px;font-size:12px}.spb-plumber-hero h1{font-size:38px}.spb-plumber-hero__copy p{font-size:17px;line-height:1.6}.spb-plumber-map-section{padding:50px 0}.spb-plumber-map__heading{margin-bottom:26px}.spb-plumber-map__wrap{min-height:440px;padding:8px;border-radius:14px}.spb-plumber-info{grid-template-columns:1fr;gap:20px;margin-top:42px;padding:28px 24px;border-radius:14px}.spb-plumber-info__icon{width:54px;height:54px}.spb-plumber-info h2{font-size:30px}}

/* ==========================================================
   SPB BASKET 1.5.9 - isolated cart markup
   ========================================================== */
.spb-basket {
    width: min(520px, 100vw) !important;
}

.spb-basket__content {
    min-height: 0 !important;
    padding: 22px 28px 10px !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
}

.spb-basket .spb-basket-cart,
.spb-basket .spb-basket-cart * {
    box-sizing: border-box !important;
}

.spb-basket .spb-basket-cart__items {
    margin: 0 !important;
    padding: 0 !important;
}

.spb-basket .spb-basket-cart__item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 145px minmax(0, 1fr) 38px !important;
    gap: 18px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 24px 0 28px !important;
    border: 0 !important;
    border-bottom: 1px solid #dfe6ee !important;
    background: transparent !important;
}

.spb-basket .spb-basket-cart__media {
    width: 145px !important;
    min-width: 145px !important;
    margin: 0 !important;
}

.spb-basket .spb-basket-cart__image-link {
    display: flex !important;
    width: 145px !important;
    height: 145px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 8px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    text-decoration: none !important;
}

.spb-basket .spb-basket-cart__image,
.spb-basket .spb-basket-cart__image-link img {
    display: block !important;
    width: 100% !important;
    max-width: 129px !important;
    height: 129px !important;
    max-height: 129px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    float: none !important;
    object-fit: contain !important;
    box-shadow: none !important;
}

.spb-basket .spb-basket-cart__details {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
}

.spb-basket .spb-basket-cart__name {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #062b63 !important;
    font-family: "Poppins", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.spb-basket .spb-basket-cart__meta {
    margin: 0 !important;
    color: #526170 !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.spb-basket .spb-basket-cart__line-total {
    margin: 1px 0 0 !important;
    color: #062b63 !important;
    font-family: "Poppins", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.spb-basket .spb-basket-cart__remove {
    position: static !important;
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: start !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border: 1px solid #dfe6ee !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #062b63 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.spb-basket .spb-basket-cart__remove:hover {
    border-color: #00a3e0 !important;
    background: #f3f9fd !important;
    color: #00a3e0 !important;
}

.spb-basket .spb-basket-cart__remove svg {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.spb-basket .spb-basket-cart__summary {
    margin: 0 !important;
    padding: 0 !important;
}

.spb-basket .spb-basket-cart__subtotal,
.spb-basket .spb-basket-cart__total {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin: 0 !important;
    color: #062b63 !important;
    font-family: "Poppins", Arial, sans-serif !important;
}

.spb-basket .spb-basket-cart__subtotal {
    padding: 19px 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.spb-basket .spb-basket-cart__subtotal strong {
    font-size: 18px !important;
    font-weight: 700 !important;
}

.spb-basket .spb-basket-cart__total {
    margin-left: -28px !important;
    margin-right: -28px !important;
    padding: 20px 28px !important;
    background: #f3f8fe !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.spb-basket .spb-basket-cart__total span small {
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.spb-basket .spb-basket-cart__total strong {
    font-size: 24px !important;
    font-weight: 700 !important;
}

.spb-basket .spb-basket-cart__secure {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 18px 0 !important;
    color: #526170 !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.spb-basket .spb-basket-cart__secure svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    fill: none !important;
    stroke: #718096 !important;
    stroke-width: 1.7 !important;
}

.spb-basket .spb-basket-cart__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
    margin: 0 !important;
    padding: 0 0 20px !important;
}

.spb-basket .spb-basket-cart__button {
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 13px 18px !important;
    border: 2px solid #0754bd !important;
    border-radius: 8px !important;
    font-family: "Poppins", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.spb-basket .spb-basket-cart__button svg {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.spb-basket .spb-basket-cart__button--primary {
    background: #0754bd !important;
    color: #fff !important;
}

.spb-basket .spb-basket-cart__button--primary:hover {
    border-color: #062b63 !important;
    background: #062b63 !important;
    color: #fff !important;
}

.spb-basket .spb-basket-cart__button--secondary {
    background: #fff !important;
    color: #0754bd !important;
}

.spb-basket .spb-basket-cart__button--secondary:hover {
    background: #f3f8fe !important;
    color: #062b63 !important;
}

.spb-basket__reassurance {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    flex: 0 0 auto !important;
    margin: 0 28px !important;
    padding: 16px 0 20px !important;
    border-top: 1px solid #dfe6ee !important;
}

.spb-basket__reassurance > div {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 0 12px !important;
    color: #062b63 !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

.spb-basket__reassurance > div + div {
    border-left: 1px solid #dfe6ee !important;
}

.spb-basket__reassurance svg {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.spb-basket .spb-basket-cart__empty {
    margin: 28px 0 !important;
    padding: 34px 20px !important;
    border: 1px dashed #ccd7e2 !important;
    border-radius: 12px !important;
    background: #f7f9fc !important;
    color: #526170 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

@media (max-width: 560px) {
    .spb-basket {
        width: 100vw !important;
    }
    .spb-basket__header {
        padding: 20px 20px 17px !important;
    }
    .spb-basket__delivery {
        margin: 16px 20px 0 !important;
    }
    .spb-basket__content {
        padding: 16px 20px 8px !important;
    }
    .spb-basket .spb-basket-cart__item {
        grid-template-columns: 112px minmax(0, 1fr) 34px !important;
        gap: 12px !important;
        padding: 18px 0 22px !important;
    }
    .spb-basket .spb-basket-cart__media,
    .spb-basket .spb-basket-cart__image-link {
        width: 112px !important;
        min-width: 112px !important;
        height: 112px !important;
    }
    .spb-basket .spb-basket-cart__image,
    .spb-basket .spb-basket-cart__image-link img {
        max-width: 100px !important;
        width: 100% !important;
        height: 100px !important;
        max-height: 100px !important;
    }
    .spb-basket .spb-basket-cart__name {
        font-size: 14px !important;
    }
    .spb-basket .spb-basket-cart__line-total {
        font-size: 16px !important;
    }
    .spb-basket .spb-basket-cart__remove {
        width: 34px !important;
        height: 34px !important;
    }
    .spb-basket .spb-basket-cart__total {
        margin-left: -20px !important;
        margin-right: -20px !important;
        padding: 18px 20px !important;
    }
    .spb-basket__reassurance {
        margin: 0 20px !important;
    }
    .spb-basket__reassurance > div {
        padding: 0 7px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 410px) {
    .spb-basket .spb-basket-cart__item {
        grid-template-columns: 92px minmax(0, 1fr) 32px !important;
        gap: 10px !important;
    }
    .spb-basket .spb-basket-cart__media,
    .spb-basket .spb-basket-cart__image-link {
        width: 92px !important;
        min-width: 92px !important;
        height: 92px !important;
    }
    .spb-basket .spb-basket-cart__image,
    .spb-basket .spb-basket-cart__image-link img {
        max-width: 82px !important;
        height: 82px !important;
        max-height: 82px !important;
    }
    .spb-basket__reassurance > div {
        flex-direction: column !important;
        text-align: center !important;
    }
}

/* =========================================================
   SPB HOME - HERO
   v1.8.30 - seamless tile blend + smaller desktop product pump
   ========================================================= */
.elementor-widget-spb_home_hero,
.elementor-widget-spb_home_hero > .elementor-widget-container {
    width: 100%;
}

.spb-homehero {
    --spb-navy: #062b63;
    --spb-blue: #00a3e0;
    --spb-bright-blue: #0786d8;
    position: relative;
    width: 100%;
    min-height: 500px;
    overflow: hidden;
    isolation: isolate;
    font-family: inherit;
    background: #27465e;
}

/* Desktop-only full-width tile field. The preserved-height artwork remains
 * above this layer so the shower and tap keep their intended proportions. */
@media (min-width:801px) {
    .spb-homehero::before {
        content: "";
        position: absolute;
        z-index: 0;
        inset: 0;
        background-image: var(--spb-homehero-bg);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        opacity: .72;
        pointer-events: none;
    }
}

/*
 * The artwork is intentionally height-led rather than cover-led.
 * This keeps both the shower and tap in frame and avoids the very
 * aggressive vertical crop caused by background-size: cover.
 */
.spb-homehero__background {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image: var(--spb-homehero-bg);
    background-size: auto 108%;
    background-position: right center;
    background-repeat: no-repeat;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 7%, #000 18%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 7%, #000 18%);
}

.spb-homehero::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(90deg, rgba(3,20,37,.96) 0%, rgba(4,25,45,.90) 28%, rgba(5,31,53,.72) 42%, rgba(6,35,59,.42) 54%, rgba(6,35,59,.12) 65%, rgba(6,35,59,0) 76%);
    pointer-events: none;
}

.spb-homehero__inner {
    position: relative;
    z-index: 10;
    width: min(1380px,calc(100% - 80px));
    min-height: 500px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 34px 0;
    box-sizing: border-box;
}

.spb-homehero__content {
    position: relative;
    z-index: 10;
    width: min(780px,62%);
    max-width: 780px;
    padding-left: clamp(35px,4vw,70px);
    box-sizing: border-box;
}

.spb-homehero__heading-row {
    display: block;
    width: min(760px,100%);
    margin-bottom: 10px;
}

.spb-homehero__content h1 {
    margin: 0;
    max-width: 430px;
    color: #fff;
    font-size: clamp(58px,4.7vw,82px);
    font-weight: 800;
    line-height: .95;
    letter-spacing: -2.4px;
    text-shadow: 0 2px 14px rgba(0,0,0,.12);
}


.spb-homehero__strapline {
    margin-bottom: 18px;
    color: #fff;
    font-size: clamp(19px,1.35vw,24px);
    font-weight: 700;
    line-height: 1.25;
}

.spb-homehero__content p {
    max-width: 680px;
    margin: 0 0 24px;
    color: rgba(255,255,255,.94);
    font-size: clamp(16px,1vw,18px);
    font-weight: 400;
    line-height: 1.62;
}

.spb-homehero__buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.spb-homehero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    padding: 12px 21px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.spb-homehero__button:hover { transform: translateY(-1px); }
.spb-homehero__button--primary { color:#fff !important;background:var(--spb-bright-blue);border:2px solid var(--spb-bright-blue); }
.spb-homehero__button--primary:hover { color:#fff !important;background:var(--spb-blue);border-color:var(--spb-blue); }
.spb-homehero__button--secondary { color:#fff !important;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.76);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px); }
.spb-homehero__button--secondary:hover { color:var(--spb-navy) !important;background:#fff;border-color:#fff; }

@media (min-width:1600px) {
    .spb-homehero__background { background-size:auto 108%; }
}

@media (max-width:1450px) {
    .spb-homehero__inner { width:min(1240px,calc(100% - 56px));padding:30px 0; }
    .spb-homehero__content { width:min(730px,64%);max-width:730px;padding-left:28px; }
    .spb-homehero__content h1 { max-width:400px;font-size:clamp(54px,4.45vw,68px); }
    .spb-homehero__background { background-size:auto 106%; }
}

@media (max-width:1180px) {
    .spb-homehero__inner { width:calc(100% - 44px);padding:28px 0; }
    .spb-homehero__content { width:min(670px,66%);padding-left:10px; }
    .spb-homehero__heading-row { gap:18px; }
    .spb-homehero__content h1 { max-width:365px;font-size:clamp(48px,4.9vw,58px); }
    .spb-homehero__strapline { font-size:18px; }
    .spb-homehero__content p { max-width:600px;font-size:16px;line-height:1.55; }
    .spb-homehero__background { background-size:auto 103%;background-position:right center; }
}

@media (max-width:980px) {
    .spb-homehero { min-height:480px; }
    .spb-homehero__inner { width:calc(100% - 36px);min-height:480px;padding:26px 0; }
    .spb-homehero__content { width:min(620px,72%);padding-left:0; }
    .spb-homehero__content h1 { max-width:340px;font-size:clamp(44px,5.25vw,52px); }
    .spb-homehero__strapline { margin-bottom:16px;font-size:17px; }
    .spb-homehero__content p { margin-bottom:22px;font-size:15px;line-height:1.5; }
    .spb-homehero__background { background-size:auto 100%;background-position:92% center; }
}

@media (max-width:800px) {
    .spb-homehero { min-height:0; }
    .spb-homehero__background {
        background-image: var(--spb-homehero-bg);
        background-size:auto 100%;
        background-position:78% center;
        -webkit-mask-image:none;
        mask-image:none;
    }
    .spb-homehero__inner { width:calc(100% - 40px);min-height:0;padding:44px 0 34px; }
    .spb-homehero__content { width:100%;max-width:620px;padding:0; }
    .spb-homehero__heading-row { display:block;width:100%; }
    .spb-homehero__content h1 { max-width:430px;font-size:clamp(50px,8vw,62px); }
    .spb-homehero__content p { max-width:560px; }
}

@media (max-width:600px) {
    .spb-homehero__background {
        background-image:var(--spb-homehero-bg);
        background-size:auto 100%;
        background-position:72% center;
    }
    .spb-homehero__inner { width:calc(100% - 30px);padding:38px 0 30px; }
    .spb-homehero__content { max-width:none; }
    .spb-homehero__heading-row { margin-bottom:10px; }
    .spb-homehero__content h1 { max-width:360px;font-size:clamp(42px,12vw,56px);line-height:.97;letter-spacing:-1.5px; }
    .spb-homehero__strapline { margin-bottom:16px;font-size:17px; }
    .spb-homehero__content p { max-width:420px;margin-bottom:22px;font-size:15px;line-height:1.52; }
    .spb-homehero__buttons { gap:9px; }
    .spb-homehero__button { min-height:46px;padding:10px 15px;font-size:14px; }
}

@media (max-width:430px) {
        .spb-homehero__content h1 { max-width:300px;font-size:42px; }
}

@media (max-width:360px) {
    .spb-homehero__inner { width:calc(100% - 22px);padding-top:34px; }
    .spb-homehero__content h1 { max-width:285px;font-size:39px; }
    .spb-homehero__button { padding:10px 13px; }
}


/* =========================================================
   SPB Solution responsive cards - v1.7.2
   Consolidated rules. Do not duplicate these earlier in file.
   ========================================================= */

/* Benefits */
.spb-solution-benefits__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    min-width: 0;
}

.spb-solution-benefit {
    min-width: 0;
}

/* Suitable pumps - visual guidance cards, not shop cards */
.spb-solution-pumps__panel {
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.spb-solution-pumps__panel > .spb-solution-heading {
    padding: 0;
    margin-bottom: 48px;
}

.spb-solution-pump-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.spb-solution-pump-row {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--spb-sol-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(6, 43, 99, .06);
}

.spb-solution-pump-row__visual {
    display: flex;
    width: 100%;
    min-height: 220px;
    align-items: center;
    justify-content: center;
    padding: 22px 22px 10px;
    border-radius: 0;
    background: #fff;
    overflow: hidden;
}

.spb-solution-pump-row__visual a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.spb-solution-pump-row__visual img {
    display: block;
    width: 100%;
    height: 195px;
    object-fit: contain;
}

.spb-solution-pump-row__visual > span {
    display: flex;
    width: 92px;
    height: 92px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--spb-sol-navy);
    color: #fff;
    font-family: Poppins, Arial, sans-serif;
    font-size: 20px;
    font-weight: 800;
}

.spb-solution-pump-row__model {
    padding: 18px 24px 0;
}

.spb-solution-pump-row__model > span {
    display: block;
    margin-bottom: 7px;
    color: var(--spb-sol-blue-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1.4;
    text-transform: uppercase;
}

.spb-solution-pump-row__model h3 {
    font-size: 25px;
    line-height: 1.18;
}

.spb-solution-pump-row__copy {
    margin: 18px 24px 0;
    padding: 17px 18px;
    border-left: 4px solid var(--spb-sol-blue);
    border-radius: 9px;
    background: #eef8fc;
    color: var(--spb-sol-muted);
    font-size: 15px;
    line-height: 1.6;
}

.spb-solution-pump-row__copy p {
    margin: 0 0 10px;
}

.spb-solution-pump-row__copy p:last-child {
    margin-bottom: 0;
}

.spb-solution-pump-row .spb-solution-arrow-link {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    padding: 22px 24px 24px;
    color: var(--spb-sol-navy);
    font-size: 14px;
    font-weight: 800;
}

.spb-solution-pump-row .spb-solution-arrow-link:hover {
    color: var(--spb-sol-blue-dark);
}

.spb-solution-pumps__footer {
    margin-top: 24px;
    padding: 22px 24px;
    border: 1px solid var(--spb-sol-border);
    border-radius: 12px;
    background: #fff;
}

/* Reviews */
.spb-solution-reviews {
    background: var(--spb-sol-light);
}

.spb-solution-reviews__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.spb-solution-review {
    display: flex;
    min-width: 0;
    min-height: 300px;
    flex-direction: column;
    padding: 28px;
    border: 1px solid var(--spb-sol-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(6, 43, 99, .06);
}

.spb-solution-review__stars {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 20px;
    padding: 7px 10px;
    border-radius: 8px;
    background: #eefaf6;
    color: #00b67a;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 2px;
}

.spb-solution-review blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--spb-sol-navy);
    font-family: Poppins, Arial, sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.6;
}

.spb-solution-review footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--spb-sol-border);
}

.spb-solution-review footer > div {
    display: flex;
    flex-direction: column;
}

.spb-solution-review footer strong {
    color: var(--spb-sol-navy);
}

.spb-solution-review footer span {
    color: var(--spb-sol-muted);
    font-size: 13px;
}

.spb-solution-review footer a {
    color: var(--spb-sol-blue-dark);
    font-size: 14px;
    font-weight: 800;
}

.spb-solution-review.is-placeholder {
    border-style: dashed;
    box-shadow: none;
    opacity: .65;
}

/* Swipe hints are mobile-only. */
.spb-solution-swipe-hint,
.spb-solution-reviews-swipe-hint {
    display: none;
}

/* Keep 3 columns on normal desktop widths. */
@media (max-width: 900px) and (min-width: 768px) {
    .spb-solution-benefits__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .spb-solution-pump-list,
    .spb-solution-reviews__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .spb-solution-heading__copy {
        margin-left: 0;
        font-size: 16px;
    }

    /* Benefits - true horizontal touch strip with visible next card. */
    .spb-solution-benefits .spb-solution-container {
        overflow: visible;
    }

    .spb-solution-benefits__grid {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        gap: 14px;
        padding: 2px 18px 16px 0;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        touch-action: pan-x;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .spb-solution-benefits__grid::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .spb-solution-benefit {
        flex: 0 0 84% !important;
        width: 84% !important;
        min-width: 84% !important;
        max-width: 84% !important;
        min-height: 210px;
        scroll-snap-align: start;
    }

    .spb-solution-swipe-hint {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 4px 0 0;
        color: var(--spb-sol-muted);
        font-size: 13px;
        font-weight: 700;
    }

    .spb-solution-swipe-hint span {
        color: var(--spb-sol-blue);
    }

    /* Pumps - matching boxed cards, horizontal touch strip on phones. */
    .spb-solution-pumps__panel > .spb-solution-heading {
        margin-bottom: 34px;
    }

    .spb-solution-pump-list {
        display: flex !important;
        width: 100% !important;
        gap: 14px;
        padding: 2px 18px 16px 0;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        touch-action: pan-x;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .spb-solution-pump-list::-webkit-scrollbar {
        display: none;
    }

    .spb-solution-pump-row {
        flex: 0 0 86% !important;
        width: 86% !important;
        min-width: 86% !important;
        max-width: 86% !important;
        scroll-snap-align: start;
    }

    .spb-solution-pump-row__visual {
        min-height: 190px;
        padding: 18px 18px 8px;
    }

    .spb-solution-pump-row__visual img {
        height: 170px;
    }

    .spb-solution-pump-row__model {
        padding: 16px 20px 0;
    }

    .spb-solution-pump-row__copy {
        margin: 16px 20px 0;
    }

    .spb-solution-pump-row .spb-solution-arrow-link {
        padding: 20px;
    }

    .spb-solution-pumps__footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .spb-solution-pumps__footer > div:last-child {
        width: 100%;
        flex-wrap: wrap;
    }

    /* Reviews - horizontal touch strip on phones, matching Benefits and Pumps. */
    .spb-solution-reviews__grid {
        display: flex !important;
        width: 100% !important;
        gap: 14px;
        margin: 0;
        padding: 2px 18px 16px 0;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        touch-action: pan-x;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .spb-solution-reviews__grid::-webkit-scrollbar {
        display: none;
    }

    .spb-solution-review {
        flex: 0 0 86% !important;
        width: 86% !important;
        min-width: 86% !important;
        max-width: 86% !important;
        min-height: 280px;
        scroll-snap-align: start;
    }

    .spb-solution-reviews-swipe-hint {
        display: block;
        margin: 10px 0 0;
        padding: 0 18px 12px 0;
        color: var(--spb-sol-muted);
        font-size: 12px;
        font-weight: 600;
        line-height: 1.4;
    }

    .spb-solution-reviews-swipe-hint span {
        display: inline-block;
        margin-left: 4px;
        color: var(--spb-sol-blue);
    }
}

@media (max-width: 520px) {
    .spb-solution-benefit {
        flex-basis: 86% !important;
        width: 86% !important;
        min-width: 86% !important;
        max-width: 86% !important;
    }

    .spb-solution-pump-row {
        flex-basis: 88% !important;
        width: 88% !important;
        min-width: 88% !important;
        max-width: 88% !important;
    }

    .spb-solution-review {
        flex-basis: 88% !important;
        width: 88% !important;
        min-width: 88% !important;
        max-width: 88% !important;
    }
}

/* SPB 1.7.5 - Suitable Pumps mobile swipe hint */
.spb-solution-pumps-swipe-hint {
    display: none;
}

@media (max-width: 767px) {
    .spb-solution-pumps-swipe-hint {
        display: block;
        margin: 10px 0 0;
        padding: 0 18px 12px;
        color: var(--spb-muted, #647383);
        font-size: 12px;
        font-weight: 600;
        line-height: 1.4;
    }

    .spb-solution-pumps-swipe-hint span {
        display: inline-block;
        margin-left: 4px;
    }
}

/* =========================================================
   SPB 1.8.2 - Electric Shower solution additions
   ========================================================= */
.spb-electric-flow-card{width:100%;overflow:hidden;border:1px solid var(--spb-sol-border);border-radius:12px;background:#fff}.spb-electric-flow-card__label{display:block;padding:18px 20px;color:var(--spb-sol-blue-dark);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.spb-electric-flow-row{display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:20px;padding:21px 20px;border-top:1px solid var(--spb-sol-border)}.spb-electric-flow-row strong{color:var(--spb-sol-navy);font-family:Poppins,Arial,sans-serif;font-size:20px}.spb-electric-flow-row span{color:var(--spb-sol-muted)}.spb-electric-flow-row b{padding:6px 10px;border-radius:6px;background:rgba(0,163,224,.1);color:var(--spb-sol-blue-dark);font-size:13px}.spb-electric-installations .spb-solution-installation__image{display:flex;min-height:330px;align-items:center;justify-content:center}.spb-electric-cutout__grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:72px;max-width:1180px;margin:0 auto}.spb-electric-cutout__copy h2{margin-bottom:22px}.spb-electric-cutout__visual{overflow:hidden;padding:12px;border:1px solid var(--spb-sol-border);border-radius:18px;background:#fff;box-shadow:0 14px 40px rgba(6,43,99,.07)}.spb-electric-cutout-image{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.spb-electric-final-cta{padding-top:72px;padding-bottom:72px;background:#fff}.spb-electric-final-cta__card{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:48px 52px;border-radius:18px;background:radial-gradient(circle at 95% 20%,rgba(0,163,224,.18),transparent 28%),var(--spb-sol-navy);color:#fff}.spb-electric-final-cta__card>div{max-width:820px}.spb-electric-final-cta__card .spb-solution-eyebrow{color:#7edcff}.spb-electric-final-cta__card h2{margin-bottom:14px;color:#fff}.spb-electric-final-cta__card p{margin:0;color:rgba(255,255,255,.78);font-size:17px}
@media(max-width:900px){.spb-electric-cutout__grid{grid-template-columns:1fr}.spb-electric-final-cta__card{align-items:flex-start;flex-direction:column}}
@media(max-width:767px){.spb-electric-flow-row{grid-template-columns:75px 1fr;gap:10px 15px}.spb-electric-flow-row b{grid-column:2;justify-self:start}.spb-electric-installations .spb-solution-installation__image{min-height:220px}.spb-electric-cutout__grid{gap:36px}.spb-electric-cutout-image{aspect-ratio:4/3}.spb-electric-final-cta__card{gap:28px;padding:34px 25px}}

/* SPB Video - reusable site video widget */
.spb-video{padding:72px 0;background:#fff;color:#2F3A45;font-family:"Inter",sans-serif}.spb-video__inner{width:min(calc(100% - 40px),1380px);margin:0 auto;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:56px;align-items:center}.spb-video--video_left .spb-video__media{order:-1}.spb-video__eyebrow{display:inline-block;margin-bottom:12px;color:#008FC7;font-family:"Poppins",sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.spb-video h2{margin:0 0 18px;color:#062B63;font-family:"Poppins",sans-serif;font-size:clamp(30px,3.2vw,46px);font-weight:700;line-height:1.15;letter-spacing:-.025em}.spb-video__description{color:#647383;font-size:17px;line-height:1.7}.spb-video__description p:last-child{margin-bottom:0}.spb-video__button{display:inline-flex;align-items:center;gap:9px;margin-top:24px;padding:13px 21px;border-radius:8px;background:#00A3E0;color:#fff!important;font-family:"Poppins",sans-serif;font-weight:700;text-decoration:none!important}.spb-video__media{position:relative;overflow:hidden;aspect-ratio:16/9;border:1px solid #DCE5EE;border-radius:18px;background:#062B63;box-shadow:0 16px 42px rgba(6,43,99,.10)}.spb-video__media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.spb-video__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px;color:#fff;text-align:center}.spb-video--full .spb-video__inner{display:flex;max-width:1180px;flex-direction:column;gap:30px}.spb-video--full .spb-video__media{width:100%}.spb-video__copy--full{max-width:820px;text-align:center}.spb-video__copy--full .spb-video__description{max-width:720px;margin:auto}@media(max-width:767px){.spb-video{padding:56px 0}.spb-video__inner{width:min(calc(100% - 30px),1380px);grid-template-columns:1fr;gap:30px}.spb-video--video_left .spb-video__media{order:initial}.spb-video__media{border-radius:14px}.spb-video h2{font-size:clamp(28px,9vw,38px)}}

/* Electric shower cutting-out copy */
.spb-electric-cutout__why + .spb-electric-cutout__solution {
    margin-top: 18px;
}

/* Combination Boiler solution additions */
.spb-combi-video{background:#fff}.spb-combi-video__frame{max-width:1080px;margin:0 auto;padding:12px;border:1px solid var(--spb-sol-border);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(6,43,99,.09)}.spb-combi-video__embed{position:relative;overflow:hidden;width:100%;padding-top:56.25%;border-radius:12px;background:#000}.spb-combi-video__embed iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}.spb-combi-cutout{background:var(--spb-sol-light)}.spb-combi-cutout__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:70px}.spb-combi-cutout__copy h2{margin-bottom:22px}.spb-combi-cutout__note{display:grid;gap:5px;margin-top:28px;padding:20px 22px;border-left:4px solid var(--spb-sol-blue);border-radius:0 10px 10px 0;background:#fff;box-shadow:0 8px 25px rgba(6,43,99,.05)}.spb-combi-cutout__note strong{color:var(--spb-sol-navy);font-family:Poppins,Arial,sans-serif;font-size:15px}.spb-combi-cutout__note span{color:var(--spb-sol-muted);font-size:14px;line-height:1.65}.spb-combi-pressure{overflow:hidden;padding:42px;border-radius:18px;background:linear-gradient(135deg,#062b63,#08427f);color:#fff;box-shadow:0 20px 50px rgba(6,43,99,.2)}.spb-combi-pressure__block{text-align:center}.spb-combi-pressure__label{display:block;margin-bottom:14px;color:#7edcff;font-size:12px;line-height:1.4;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.spb-combi-pressure__value{display:flex;align-items:flex-end;justify-content:center;gap:9px;margin-bottom:20px}.spb-combi-pressure__value strong{color:#fff;font-family:Poppins,Arial,sans-serif;font-size:68px;line-height:.95;font-weight:700;letter-spacing:-2px}.spb-combi-pressure__value span{padding-bottom:7px;color:#7edcff;font-family:Poppins,Arial,sans-serif;font-size:19px;font-weight:700}.spb-combi-pressure__value--small strong{font-size:40px;letter-spacing:-1px}.spb-combi-pressure p{max-width:390px;margin:0 auto;color:rgba(255,255,255,.78);font-size:14px;line-height:1.65}.spb-combi-pressure__divider{height:1px;margin:32px 0;background:rgba(255,255,255,.17)}
@media(max-width:900px){.spb-combi-cutout__grid{grid-template-columns:1fr;gap:40px}.spb-combi-pressure{max-width:600px}}
@media(max-width:767px){.spb-combi-video__frame{padding:6px;border-radius:14px}.spb-combi-video__embed{border-radius:9px}.spb-combi-cutout__grid{gap:32px}.spb-combi-pressure{width:100%;padding:32px 22px}.spb-combi-pressure__value strong{font-size:57px}.spb-combi-pressure__value--small strong{font-size:34px}}

/* =========================================================
   Negative Head solution page - v1.8.7
   Six benefits use a balanced 3 x 2 desktop grid.
   Mobile inherits the shared horizontal swipe behaviour.
   ========================================================= */
@media (min-width: 901px) {
    .spb-negative-head-benefits .spb-solution-benefits__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) and (min-width: 768px) {
    .spb-negative-head-benefits .spb-solution-benefits__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* 1.8.15 - System Advice uses a single-column layout so long category titles remain readable. */
.spb-archive-system-advice .spb-archive-content__panel {
	display: block;
}
.spb-archive-system-advice .spb-archive-content__heading {
	margin-bottom: 18px;
}
.spb-archive-system-advice .spb-archive-content__heading h2 {
	max-width: 900px;
}
.spb-archive-system-advice .spb-archive-content__body {
	max-width: 1100px;
}


/* Installation page widget - 1.8.16 */
.spb-installation-widget {
	--spb-navy: #062b63;
	--spb-blue: #00a3e0;
	--spb-green: #00b67a;
	--spb-text: #2f3a45;
	--spb-muted: #667482;
	--spb-border: #dce5ee;
	--spb-light: #f7f9fc;
	--spb-white: #ffffff;
	--spb-warning: #fff8e8;
	--spb-warning-border: #f2c260;
	--spb-shadow: 0 18px 50px rgba(6, 43, 99, 0.09);

	width: 100%;
}

.spb-installation-widget,
.spb-installation-widget * {
	box-sizing: border-box;
}

.spb-installation-widget .spb-installation-page {
	width: 100%;
	overflow: hidden;
	background: var(--spb-white);
	color: var(--spb-text);
	font-family: Inter, Arial, sans-serif;
}

.spb-installation-widget .spb-container {
	width: min(100% - 60px, 1380px);
	margin-inline: auto;
}

.spb-installation-widget h1,
.spb-installation-widget h2,
.spb-installation-widget h3,
.spb-installation-widget p {
	margin: 0;
}

.spb-installation-widget h1,
.spb-installation-widget h2,
.spb-installation-widget h3 {
	color: var(--spb-navy);
	font-family: Poppins, Arial, sans-serif;
}

.spb-installation-widget h1 {
	max-width: 820px;
	font-size: clamp(44px, 5vw, 68px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.spb-installation-widget h2 {
	font-size: clamp(34px, 3.4vw, 46px);
	font-weight: 750;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.spb-installation-widget h3 {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.3;
}

.spb-installation-widget p {
	color: var(--spb-muted);
	font-size: 17px;
	line-height: 1.75;
}

.spb-installation-widget a {
	text-decoration: none;
}

.spb-installation-widget svg {
	width: 1em;
	height: 1em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.spb-installation-widget .spb-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 17px;
	color: var(--spb-blue);
	font-family: Poppins, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.spb-installation-widget .spb-eyebrow::before {
	width: 28px;
	height: 3px;
	border-radius: 999px;
	background: currentColor;
	content: "";
}

.spb-installation-widget .spb-section-heading {
	max-width: 760px;
	margin-bottom: 48px;
}

.spb-installation-widget .spb-section-heading p {
	max-width: 680px;
	margin-top: 17px;
}

.spb-installation-widget .spb-section-heading--centred {
	margin-inline: auto;
	text-align: center;
}

.spb-installation-widget .spb-section-heading--centred .spb-eyebrow {
	justify-content: center;
}

.spb-installation-widget .spb-section-heading--centred p {
	margin-inline: auto;
}

.spb-installation-widget .spb-breadcrumbs {
	border-bottom: 1px solid var(--spb-border);
	background: var(--spb-light);
}

.spb-installation-widget .spb-breadcrumbs .spb-container {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 54px;
	color: #788591;
	font-size: 13px;
	font-weight: 600;
}

.spb-installation-widget .spb-breadcrumbs a {
	color: var(--spb-navy);
	transition: color 0.2s ease;
}

.spb-installation-widget .spb-breadcrumbs a:hover {
	color: var(--spb-blue);
}

.spb-installation-widget .spb-installation-hero {
	position: relative;
	padding: 82px 0 92px;
	background:
		radial-gradient(circle at 86% 18%, rgba(0, 163, 224, 0.12), transparent 29%),
		linear-gradient(135deg, #ffffff 0%, #f7faff 100%);
}

.spb-installation-widget .spb-installation-hero::after {
	position: absolute;
	right: -180px;
	bottom: -230px;
	width: 520px;
	height: 520px;
	border: 90px solid rgba(0, 163, 224, 0.045);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.spb-installation-widget .spb-installation-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr);
	align-items: center;
	gap: 80px;
}

.spb-installation-widget .spb-installation-hero__intro {
	max-width: 735px;
	margin-top: 25px;
	font-size: 19px;
	line-height: 1.75;
}

.spb-installation-widget .spb-button-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 31px;
}

.spb-installation-widget .spb-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
	border: 2px solid transparent;
	border-radius: 8px;
	font-family: Poppins, Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	transition:
		transform 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease;
}

.spb-installation-widget .spb-button:hover {
	transform: translateY(-2px);
}

.spb-installation-widget .spb-button--primary {
	background: var(--spb-blue);
	color: var(--spb-white);
	box-shadow: 0 12px 26px rgba(0, 163, 224, 0.22);
}

.spb-installation-widget .spb-button--primary:hover {
	background: #008fc5;
	color: var(--spb-white);
}

.spb-installation-widget .spb-button--secondary {
	border-color: #c8d7e6;
	background: var(--spb-white);
	color: var(--spb-navy);
}

.spb-installation-widget .spb-button--secondary:hover {
	border-color: var(--spb-blue);
	color: var(--spb-blue);
}

.spb-installation-widget .spb-button--white {
	background: var(--spb-white);
	color: var(--spb-navy);
	white-space: nowrap;
}

.spb-installation-widget .spb-button--white:hover {
	color: var(--spb-blue);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}

.spb-installation-widget .spb-hero-points {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 25px;
	margin: 27px 0 0;
	padding: 0;
	list-style: none;
}

.spb-installation-widget .spb-hero-points li {
	position: relative;
	padding-left: 24px;
	color: var(--spb-navy);
	font-size: 14px;
	font-weight: 650;
}

.spb-installation-widget .spb-hero-points li::before {
	position: absolute;
	top: 1px;
	left: 0;
	display: grid;
	width: 17px;
	height: 17px;
	place-items: center;
	border-radius: 50%;
	background: var(--spb-green);
	color: var(--spb-white);
	content: "✓";
	font-size: 10px;
	font-weight: 800;
}

.spb-installation-widget .spb-installation-hero__visual {
	position: relative;
	display: flex;
	min-height: 410px;
	align-items: center;
	justify-content: center;
}

.spb-installation-widget .spb-installation-hero__image-card {
	position: relative;
	display: flex;
	width: min(100%, 430px);
	aspect-ratio: 1 / 0.92;
	align-items: center;
	justify-content: center;
	padding: 35px;
	border: 1px solid rgba(6, 43, 99, 0.09);
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: var(--spb-shadow);
}

.spb-installation-widget .spb-installation-hero__image-card::before {
	position: absolute;
	inset: 18px;
	border: 1px dashed rgba(0, 163, 224, 0.28);
	border-radius: 20px;
	content: "";
}

.spb-installation-widget .spb-installation-hero__image-card img {
	position: relative;
	z-index: 1;
	display: block;
	max-width: 88%;
	max-height: 320px;
	object-fit: contain;
	filter: drop-shadow(0 20px 24px rgba(6, 43, 99, 0.15));
}

.spb-installation-widget .spb-installation-hero__badge {
	position: absolute;
	right: -8px;
	bottom: 34px;
	display: flex;
	width: 126px;
	height: 126px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 7px solid var(--spb-white);
	border-radius: 50%;
	background: var(--spb-navy);
	color: var(--spb-white);
	box-shadow: 0 14px 34px rgba(6, 43, 99, 0.2);
	text-align: center;
}

.spb-installation-widget .spb-installation-hero__badge strong {
	font-family: Poppins, Arial, sans-serif;
	font-size: 42px;
	font-weight: 800;
	line-height: 0.9;
}

.spb-installation-widget .spb-installation-hero__badge span {
	margin-top: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.spb-installation-widget .spb-installation-overview {
	padding: 88px 0;
	background: var(--spb-white);
}

.spb-installation-widget .spb-feature-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
}

.spb-installation-widget .spb-feature-card {
	padding: 30px 24px;
	border: 1px solid var(--spb-border);
	border-radius: 16px;
	background: var(--spb-white);
	text-align: center;
	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.spb-installation-widget .spb-feature-card:hover {
	transform: translateY(-5px);
	border-color: rgba(0, 163, 224, 0.45);
	box-shadow: var(--spb-shadow);
}

.spb-installation-widget .spb-feature-card__icon {
	display: grid;
	width: 58px;
	height: 58px;
	margin: 0 auto 20px;
	place-items: center;
	border-radius: 14px;
	background: rgba(0, 163, 224, 0.09);
	color: var(--spb-blue);
	font-size: 29px;
}

/* Keep Elementor icon output consistent with the original installation design. */
.spb-installation-widget .spb-feature-card__icon i,
.spb-installation-widget .spb-feature-card__icon svg,
.spb-installation-widget .spb-feature-card__icon .e-font-icon-svg {
	color: var(--spb-blue) !important;
	fill: var(--spb-blue) !important;
}

.spb-installation-widget .spb-feature-card__icon svg path,
.spb-installation-widget .spb-feature-card__icon svg line,
.spb-installation-widget .spb-feature-card__icon svg polyline,
.spb-installation-widget .spb-feature-card__icon svg circle {
	fill: var(--spb-blue) !important;
	stroke: var(--spb-blue) !important;
}

.spb-installation-widget .spb-feature-card h3 {
	font-size: 17px;
}

.spb-installation-widget .spb-feature-card p {
	margin-top: 11px;
	font-size: 14px;
	line-height: 1.65;
}

.spb-installation-widget .spb-installation-steps {
	padding: 92px 0 100px;
	background: var(--spb-light);
}

.spb-installation-widget .spb-step-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
}

.spb-installation-widget .spb-step-card {
	position: relative;
	display: flex;
	min-height: 450px;
	flex-direction: column;
	padding: 31px;
	border: 1px solid var(--spb-border);
	border-radius: 20px;
	background: var(--spb-white);
	box-shadow: 0 12px 35px rgba(6, 43, 99, 0.055);
	overflow: hidden;
}

.spb-installation-widget .spb-step-card::after {
	position: absolute;
	top: -75px;
	right: -75px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(0, 163, 224, 0.06);
	content: "";
}

.spb-installation-widget .spb-step-card__top {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.spb-installation-widget .spb-step-card__number {
	color: rgba(6, 43, 99, 0.14);
	font-family: Poppins, Arial, sans-serif;
	font-size: 54px;
	font-weight: 800;
	line-height: 1;
}

.spb-installation-widget .spb-step-card__label {
	color: var(--spb-blue);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.spb-installation-widget .spb-step-card__icon {
	display: grid;
	width: 70px;
	height: 70px;
	margin: 25px 0;
	place-items: center;
	border-radius: 18px;
	background: var(--spb-navy);
	color: var(--spb-white);
	font-size: 34px;
}

.spb-installation-widget .spb-step-card__icon i,
.spb-installation-widget .spb-step-card__icon svg {
	color: var(--spb-white) !important;
	fill: var(--spb-white) !important;
}

.spb-installation-widget .spb-step-card__icon svg path,
.spb-installation-widget .spb-step-card__icon svg line,
.spb-installation-widget .spb-step-card__icon svg polyline,
.spb-installation-widget .spb-step-card__icon svg circle {
	fill: var(--spb-white) !important;
	stroke: var(--spb-white) !important;
}

.spb-installation-widget .spb-step-card h3 {
	font-size: 24px;
}

.spb-installation-widget .spb-step-card p {
	margin-top: 15px;
	font-size: 16px;
}

.spb-installation-widget .spb-step-card > a {
	display: inline-flex;
	align-items: center;
	margin-top: auto;
	padding-top: 24px;
	color: var(--spb-blue);
	font-size: 14px;
	font-weight: 750;
}

.spb-installation-widget .spb-step-card > a:hover {
	color: var(--spb-navy);
}

.spb-installation-widget .spb-installation-notes {
	padding: 92px 0;
	background: var(--spb-white);
}

.spb-installation-widget .spb-notes-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.spb-installation-widget .spb-note-card {
	padding: 34px;
	border: 1px solid var(--spb-border);
	border-radius: 18px;
	background: var(--spb-light);
}

.spb-installation-widget .spb-note-card__heading {
	display: flex;
	align-items: center;
	gap: 15px;
}

.spb-installation-widget .spb-note-card__icon {
	display: grid;
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	place-items: center;
	border-radius: 12px;
	background: var(--spb-white);
	color: var(--spb-blue);
	font-size: 25px;
	box-shadow: 0 7px 20px rgba(6, 43, 99, 0.07);
}

.spb-installation-widget .spb-note-card__icon i,
.spb-installation-widget .spb-note-card__icon svg,
.spb-installation-widget .spb-note-card__icon .e-font-icon-svg {
	color: var(--spb-blue) !important;
	fill: var(--spb-blue) !important;
}

.spb-installation-widget .spb-note-card__icon svg path,
.spb-installation-widget .spb-note-card__icon svg line,
.spb-installation-widget .spb-note-card__icon svg polyline,
.spb-installation-widget .spb-note-card__icon svg circle {
	fill: var(--spb-blue) !important;
	stroke: var(--spb-blue) !important;
}

.spb-installation-widget .spb-note-card ul {
	display: grid;
	gap: 13px;
	margin: 25px 0 0;
	padding: 0;
	list-style: none;
}

.spb-installation-widget .spb-note-card li {
	position: relative;
	padding-left: 27px;
	color: var(--spb-muted);
	font-size: 15px;
	line-height: 1.65;
}

.spb-installation-widget .spb-note-card li::before {
	position: absolute;
	top: 2px;
	left: 0;
	color: var(--spb-green);
	content: "✓";
	font-size: 15px;
	font-weight: 800;
}





.spb-installation-widget .spb-led-guide {
	padding: 90px 0;
	background: var(--spb-navy);
}

.spb-installation-widget .spb-led-guide__grid {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	align-items: center;
	gap: 80px;
}

.spb-installation-widget .spb-led-guide h2,
.spb-installation-widget .spb-led-guide p {
	color: var(--spb-white);
}

.spb-installation-widget .spb-led-guide p {
	margin-top: 18px;
	opacity: 0.76;
}

.spb-installation-widget .spb-led-table {
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}

.spb-installation-widget .spb-led-table__row {
	display: grid;
	grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1.3fr);
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
}

.spb-installation-widget .spb-led-table__row + .spb-led-table__row {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.spb-installation-widget .spb-led-table__row > div {
	display: flex;
	min-height: 72px;
	align-items: center;
	gap: 12px;
	padding: 18px 22px;
}

.spb-installation-widget .spb-led-table__row > div + div {
	border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.spb-installation-widget .spb-led-table__row--heading {
	background: rgba(255, 255, 255, 0.08);
	color: var(--spb-white);
	font-family: Poppins, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.spb-installation-widget .spb-led {
	position: relative;
	display: inline-block;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	border: 2px solid rgba(255, 255, 255, 0.7);
	border-radius: 50%;
	background: var(--spb-blue);
	box-shadow: 0 0 15px rgba(0, 163, 224, 0.85);
}

.spb-installation-widget .spb-led--fast::after,
.spb-installation-widget .spb-led--slow::after {
	position: absolute;
	inset: -7px;
	border: 1px dashed rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	content: "";
}

.spb-installation-widget .spb-led--slow {
	opacity: 0.65;
}

.spb-installation-widget .spb-download-cta {
	padding: 44px 0;
	background: var(--spb-blue);
}

.spb-installation-widget .spb-download-cta__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 27px;
}

.spb-installation-widget .spb-download-cta__icon {
	display: grid;
	width: 72px;
	height: 72px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.12);
	color: var(--spb-white);
	font-size: 36px;
}

.spb-installation-widget .spb-download-cta__icon svg,
.spb-installation-widget .spb-download-cta__icon svg path {
	color: var(--spb-white) !important;
	fill: none !important;
	stroke: var(--spb-white) !important;
}

.spb-installation-widget .spb-download-cta .spb-eyebrow,
.spb-installation-widget .spb-download-cta h2,
.spb-installation-widget .spb-download-cta p {
	color: var(--spb-white);
}

.spb-installation-widget .spb-download-cta .spb-eyebrow {
	margin-bottom: 7px;
	opacity: 0.75;
}

.spb-installation-widget .spb-download-cta h2 {
	font-size: 28px;
}

.spb-installation-widget .spb-download-cta p {
	margin-top: 6px;
	font-size: 15px;
	opacity: 0.82;
}

.spb-installation-widget .spb-installation-videos {
	padding: 94px 0 100px;
	background: var(--spb-light);
}

.spb-installation-widget .spb-guidance-grid {
	display: grid;
	gap: 14px;
	max-width: 980px;
}

.spb-installation-widget .spb-guidance-group {
	border: 1px solid var(--spb-border);
	border-radius: 15px;
	background: var(--spb-white);
	overflow: hidden;
}

.spb-installation-widget .spb-guidance-group summary {
	display: flex;
	min-height: 88px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 26px;
	cursor: pointer;
	list-style: none;
}

.spb-installation-widget .spb-guidance-group summary::-webkit-details-marker {
	display: none;
}

.spb-installation-widget .spb-guidance-group summary span {
	display: grid;
	gap: 4px;
}

.spb-installation-widget .spb-guidance-group summary strong {
	color: var(--spb-navy);
	font-family: Poppins, Arial, sans-serif;
	font-size: 18px;
}

.spb-installation-widget .spb-guidance-group summary small {
	color: var(--spb-muted);
	font-size: 13px;
}

.spb-installation-widget .spb-guidance-group summary > svg {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	color: var(--spb-blue);
	transition: transform 0.2s ease;
}

.spb-installation-widget .spb-guidance-group[open] summary > svg {
	transform: rotate(180deg);
}

.spb-installation-widget .spb-guidance-group__content {
	display: grid;
	border-top: 1px solid var(--spb-border);
}

.spb-installation-widget .spb-guidance-group__content a {
	display: flex;
	min-height: 60px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 15px 26px;
	color: var(--spb-text);
	font-size: 14px;
	font-weight: 600;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.spb-installation-widget .spb-guidance-group__content a + a {
	border-top: 1px solid #edf1f5;
}

.spb-installation-widget .spb-guidance-group__content a:hover {
	background: #f8fbfe;
	color: var(--spb-blue);
}

.spb-installation-widget .spb-guidance-group__content svg {
	width: 19px;
	height: 19px;
	flex: 0 0 19px;
}


.spb-installation-widget .spb-guidance-group summary > svg,
.spb-installation-widget .spb-guidance-group summary > svg path,
.spb-installation-widget .spb-guidance-group__content svg,
.spb-installation-widget .spb-guidance-group__content svg path {
	color: var(--spb-blue) !important;
	fill: none !important;
	stroke: var(--spb-blue) !important;
}










@media (max-width: 1100px) {
	.spb-installation-widget .spb-installation-hero__grid {
		grid-template-columns: minmax(0, 1fr) 380px;
		gap: 45px;
	}

	.spb-installation-widget .spb-feature-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.spb-installation-widget .spb-led-guide__grid {
		gap: 45px;
	}
}

@media (max-width: 900px) {
	.spb-installation-widget .spb-container {
		width: min(100% - 40px, 1380px);
	}

	.spb-installation-widget .spb-installation-hero {
		padding: 70px 0 76px;
	}

	.spb-installation-widget .spb-installation-hero__grid,
	.spb-installation-widget .spb-led-guide__grid {
		grid-template-columns: 1fr;
	}

	.spb-installation-widget .spb-installation-hero__visual {
		width: min(100%, 540px);
		margin-inline: auto;
	}

	.spb-installation-widget .spb-step-grid {
		grid-template-columns: 1fr;
	}

	.spb-installation-widget .spb-step-card {
		min-height: 0;
	}

	.spb-installation-widget .spb-step-card > a {
		margin-top: 12px;
	}

	.spb-installation-widget .spb-download-cta__inner {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.spb-installation-widget .spb-download-cta .spb-button {
		grid-column: 1 / -1;
		justify-self: start;
		margin-left: 99px;
	}

}

@media (max-width: 700px) {
	.spb-installation-widget .spb-container {
		width: min(100% - 30px, 1380px);
	}

	.spb-installation-widget h1 {
		font-size: clamp(39px, 11vw, 52px);
	}

	.spb-installation-widget h2 {
		font-size: 32px;
	}

	.spb-installation-widget .spb-installation-hero {
		padding: 58px 0 68px;
	}

	.spb-installation-widget .spb-installation-hero__intro {
		font-size: 17px;
	}

	.spb-installation-widget .spb-button-row,
	.spb-installation-widget .spb-button {
		width: 100%;
	}

	.spb-installation-widget .spb-installation-hero__visual {
		min-height: 330px;
	}

	.spb-installation-widget .spb-installation-hero__image-card {
		width: min(100%, 390px);
	}

	.spb-installation-widget .spb-installation-hero__badge {
		right: 0;
		bottom: 5px;
		width: 105px;
		height: 105px;
	}

	.spb-installation-widget .spb-installation-hero__badge strong {
		font-size: 34px;
	}

	.spb-installation-widget .spb-installation-overview,
	.spb-installation-widget .spb-installation-steps,
	.spb-installation-widget .spb-installation-notes,
	.spb-installation-widget .spb-led-guide,
	.spb-installation-widget .spb-installation-videos,

	.spb-installation-widget .spb-feature-grid {
		grid-template-columns: 1fr;
	}

	.spb-installation-widget .spb-feature-card {
		text-align: left;
	}

	.spb-installation-widget .spb-feature-card__icon {
		margin-inline: 0;
	}

	.spb-installation-widget .spb-notes-grid {
		grid-template-columns: 1fr;
	}

	.spb-installation-widget .spb-note-card {
		padding: 27px 23px;
	}


	.spb-installation-widget .spb-led-table__row {
		grid-template-columns: 1fr;
	}

	.spb-installation-widget .spb-led-table__row > div {
		min-height: 0;
	}

	.spb-installation-widget .spb-led-table__row > div + div {
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		border-left: 0;
		padding-top: 0;
	}

	.spb-installation-widget .spb-led-table__row--heading {
		display: none;
	}

	.spb-installation-widget .spb-download-cta__inner {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.spb-installation-widget .spb-download-cta__icon {
		margin-inline: auto;
	}

	.spb-installation-widget .spb-download-cta .spb-eyebrow {
		justify-content: center;
	}

	.spb-installation-widget .spb-download-cta .spb-button {
		grid-column: auto;
		justify-self: stretch;
		margin-left: 0;
	}

	.spb-installation-widget .spb-guidance-group summary,
	.spb-installation-widget .spb-guidance-group__content a {
		padding-inline: 20px;
	}




}

@media (max-width: 430px) {
	.spb-installation-widget .spb-breadcrumbs .spb-container {
		min-height: 48px;
	}

	.spb-installation-widget .spb-installation-hero__visual {
		min-height: 280px;
	}

	.spb-installation-widget .spb-installation-hero__image-card {
		padding: 24px;
		border-radius: 20px;
	}

	.spb-installation-widget .spb-installation-hero__badge {
		width: 92px;
		height: 92px;
		border-width: 5px;
	}

	.spb-installation-widget .spb-step-card {
		padding: 25px 22px;
	}

	.spb-installation-widget .spb-step-card__number {
		font-size: 45px;
	}
}

/* Widget refinements - 1.8.17 */
.elementor-widget-spb_ask_alan .spb-ask-alan__portrait,
.elementor-widget-spb_ask_alan .spb-home-footer-advice-image img,
.elementor-widget-spb_ask_alan .spb-ask-alan-compact__image img {
	transform: translate(var(--spb-alan-x, 0px), var(--spb-alan-y, 0px));
}

/* Installation video accordion - 1.8.32 */
.spb-installation-widget .spb-video-accordion {
	display: grid;
	gap: 14px;
	max-width: 980px;
}
.spb-installation-widget .spb-video-accordion__item {
	border: 1px solid var(--spb-border, #dce5ee);
	border-radius: 15px;
	background: #fff;
	overflow: hidden;
}
.spb-installation-widget .spb-video-accordion__trigger {
	display: flex;
	width: 100%;
	min-height: 76px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 19px 24px;
	border: 0;
	background: #fff;
	color: var(--spb-navy, #062b63);
	cursor: pointer;
	font-family: Poppins, Arial, sans-serif;
	font-size: 17px;
	font-weight: 700;
	text-align: left;
}
.spb-installation-widget .spb-video-accordion__trigger:hover {
	background: #f8fbfe;
}
.spb-installation-widget .spb-video-accordion__trigger:focus-visible {
	outline: 3px solid rgba(0,163,224,.35);
	outline-offset: -3px;
}
.spb-installation-widget .spb-video-accordion__trigger svg {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	fill: none;
	stroke: var(--spb-blue, #00a3e0);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .2s ease;
}
.spb-installation-widget .spb-video-accordion__item.is-open .spb-video-accordion__trigger svg {
	transform: rotate(180deg);
}
.spb-installation-widget .spb-video-accordion__panel {
	padding: 0 24px 24px;
	border-top: 1px solid var(--spb-border, #dce5ee);
}
.spb-installation-widget .spb-video-accordion__panel[hidden] {
	display: none;
}
.spb-installation-widget .spb-video-accordion__frame {
	position: relative;
	width: 100%;
	margin-top: 24px;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	background: #071a33;
	overflow: hidden;
}
.spb-installation-widget .spb-video-accordion__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.spb-installation-widget .spb-video-accordion__empty {
	display: grid;
	height: 100%;
	place-items: center;
	padding: 30px;
	color: #fff;
	text-align: center;
}
@media (max-width: 700px) {
	.spb-installation-widget .spb-video-accordion__trigger,
	.spb-installation-widget .spb-video-accordion__panel {
		padding-left: 18px;
		padding-right: 18px;
	}
	.spb-installation-widget .spb-video-accordion__trigger {
		min-height: 68px;
		font-size: 16px;
	}
}

/* v1.8.36 - Ensure Elementor Kit H1 typography does not override mobile product titles. */
@media (max-width: 767px) {
    body.single-product h1.spb-single-product__title {
        font-size: 32px !important;
        line-height: 1.08 !important;
        letter-spacing: -0.02em !important;
    }
}


/* v1.8.37 - Mobile product tabs and specification table. */
@media (max-width: 767px) {
    .spb-single-product-tabs {
        overflow: hidden;
    }

    .spb-single-product-tabs .woocommerce-tabs ul.tabs {
        display: flex !important;
        width: calc(100% + 16px);
        max-width: none !important;
        margin-right: -16px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .spb-single-product-tabs .woocommerce-tabs ul.tabs::-webkit-scrollbar {
        display: none;
    }

    .spb-single-product-tabs .woocommerce-tabs ul.tabs li {
        flex: 0 0 auto !important;
        scroll-snap-align: start;
    }
}

@media (max-width: 480px) {
    .spb-single-product-tabs .woocommerce-Tabs-panel table {
        display: block;
        overflow: hidden;
        border-radius: 12px;
    }

    .spb-single-product-tabs .woocommerce-Tabs-panel tbody {
        display: block;
        width: 100%;
    }

    .spb-single-product-tabs .woocommerce-Tabs-panel tr {
        display: block;
        width: 100%;
        border-bottom: 1px solid #dce4ee;
    }

    .spb-single-product-tabs .woocommerce-Tabs-panel tr:last-child {
        border-bottom: 0;
    }

    .spb-single-product-tabs .woocommerce-Tabs-panel th,
    .spb-single-product-tabs .woocommerce-Tabs-panel td {
        display: block !important;
        width: 100% !important;
        border-bottom: 0 !important;
    }

    .spb-single-product-tabs .woocommerce-Tabs-panel th {
        padding: 12px 16px 5px;
        background: #f7f9fc;
        font-size: 12px;
        line-height: 1.4;
    }

    .spb-single-product-tabs .woocommerce-Tabs-panel td {
        padding: 5px 16px 13px;
        background: #fff;
        font-size: 14px;
        line-height: 1.55;
    }
}


/* v1.8.38 - Consistent breadcrumbs for About and Pump Finder pages. */
.spb-page-breadcrumbs {
    width: 100%;
    border-bottom: 1px solid #dfe6ee;
    background: #f7f9fc;
    color: #788591;
    font-family: Inter, Arial, sans-serif;
}

.spb-page-breadcrumbs,
.spb-page-breadcrumbs * {
    box-sizing: border-box;
}

.spb-page-breadcrumbs__inner {
    display: flex;
    width: min(100% - 60px, 1380px);
    min-height: 54px;
    margin: 0 auto;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.spb-page-breadcrumbs a {
    color: #062b63;
    text-decoration: none;
    transition: color .2s ease;
}

.spb-page-breadcrumbs a:hover {
    color: #00a3e0;
}

@media (max-width: 767px) {
    .spb-page-breadcrumbs__inner {
        width: calc(100% - 30px);
        min-height: 54px;
        font-size: 12px;
    }
}

.spb-plumber-advice{max-width:980px;margin:64px auto 0;padding:42px;background:#fff;border:1px solid var(--spb-plumber-border);border-radius:18px;box-shadow:0 14px 40px rgba(6,43,99,.06)}
.spb-plumber-advice h2{margin:0 0 18px;color:var(--spb-plumber-navy);font-family:Poppins,Arial,sans-serif;font-size:clamp(28px,3vw,40px);line-height:1.2;font-weight:700;letter-spacing:-.02em}.spb-plumber-advice__text{color:var(--spb-plumber-text);font-size:17px;line-height:1.75}.spb-plumber-advice__text p{margin:0 0 18px}.spb-plumber-advice__text p:last-child{margin-bottom:0}.spb-plumber-advice__text ul,.spb-plumber-advice__text ol{margin:0 0 18px 22px}.spb-plumber-advice__text a{color:var(--spb-plumber-blue);text-decoration:underline}
@media(max-width:767px){.spb-plumber-advice{margin-top:42px;padding:28px 24px;border-radius:14px}.spb-plumber-advice h2{font-size:30px}.spb-plumber-advice__text{font-size:16px;line-height:1.7}}
