:root {
	--wi-spn-accent: #36a9e1;
	--wi-spn-accent-text: #ffffff;
	--wi-spn-text: #333333;
	--wi-spn-muted: #5f676a;
	--wi-spn-surface: #ffffff;
	--wi-spn-panel-bg: #ffffff;
	--wi-spn-surface-strong: #f8f9fb;
	--wi-spn-image-bg: #f4f5f7;
	--wi-spn-line: #d9dde3;
	--wi-spn-button-surface: #f5f5f5;
	--wi-spn-button-hover: #1979aa;
	--wi-spn-button-active: #166d99;
	--wi-spn-button-text: #333333;
	--wi-spn-radius: 30px;
	--wi-spn-shadow: 0 18px 42px rgba(17, 26, 26, 0.07);
}

.wi-spn,
.wi-spn * {
	box-sizing: border-box;
}

[hidden] {
	display: none !important;
}

.wi-spn {
	max-width: 1380px;
	margin: 0 auto;
	color: var(--wi-spn-text);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.wi-spn__toolbar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
	margin-bottom: 1rem;
}

.wi-spn__search {
	position: relative;
	flex: 0 1 420px;
	max-width: 420px;
}

.wi-spn__search--sidebar,
.wi-spn__search--drawer {
	flex: none;
	max-width: none;
	width: 100%;
}

.wi-spn__actions {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	flex: 0 0 auto;
}

.wi-spn__search-input,
.wi-spn__mobile-cascade select {
	width: 100%;
	min-height: 56px;
	border: 1px solid var(--wi-spn-line);
	border-radius: 999px;
	background: var(--wi-spn-surface);
	color: var(--wi-spn-text);
	padding: 0 18px;
	font-size: 1rem;
}

.wi-spn__search-results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 20;
	background: var(--wi-spn-surface);
	border: 1px solid var(--wi-spn-line);
	border-radius: 18px;
	box-shadow: var(--wi-spn-shadow);
	padding: 8px;
	max-height: 420px;
	overflow: auto;
}

.wi-spn__search-result {
	display: grid;
	grid-template-columns: 52px 1fr auto;
	gap: 12px;
	align-items: center;
	padding: 10px;
	border-radius: 14px;
	text-decoration: none;
	color: inherit;
}

.wi-spn__search-result:hover {
	background: var(--wi-spn-surface-strong);
}

.wi-spn__search-result img {
	width: 52px;
	height: 52px;
	object-fit: cover;
	border-radius: 12px;
	background: var(--wi-spn-image-bg);
}

.wi-spn__drawer-trigger,
.wi-spn__apply-button,
.wi-spn__reset-button {
	border: 0;
	border-radius: 999px;
	padding: 0 24px;
	min-height: 54px;
	font-weight: 700;
	cursor: pointer;
}

.wi-spn__drawer-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.wi-spn__drawer-trigger-icon {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 14px;
	flex: 0 0 20px;
	border-top: 3px solid currentColor;
	border-bottom: 3px solid currentColor;
}

.wi-spn__drawer-trigger-icon::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	border-top: 3px solid currentColor;
	transform: translateY(-50%);
}

.wi-spn__drawer-trigger,
.wi-spn__apply-button {
	background: var(--wi-spn-button-surface) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__drawer-trigger:hover,
.wi-spn__drawer-trigger:focus-visible,
.wi-spn__apply-button:hover,
.wi-spn__apply-button:focus-visible {
	background: var(--wi-spn-button-hover) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__drawer-trigger:active,
.wi-spn__apply-button:active {
	background: var(--wi-spn-button-active) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__reset-button {
	background: var(--wi-spn-surface-strong);
	color: var(--wi-spn-text);
}

.wi-spn__layout {
	display: grid;
	grid-template-columns: minmax(270px, 320px) minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

.wi-spn__sidebar,
.wi-spn__content,
.wi-spn__drawer-panel {
	background: var(--wi-spn-panel-bg);
	border: 1px solid var(--wi-spn-line);
	border-radius: var(--wi-spn-radius);
	box-shadow: var(--wi-spn-shadow);
}

.wi-spn__sidebar {
	padding: 18px 18px 20px;
	position: sticky;
	top: 1rem;
	max-height: calc(100vh - 2rem);
	overflow: auto;
}

.wi-spn__sidebar::-webkit-scrollbar {
	width: 10px;
}

.wi-spn__sidebar::-webkit-scrollbar-thumb {
	background: rgba(51, 51, 51, 0.16);
	border-radius: 999px;
}

.wi-spn__panel + .wi-spn__panel {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--wi-spn-line);
}

.wi-spn__search + .wi-spn__panel {
	margin-top: 22px;
}

.wi-spn__panel-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	border: 0;
	background: var(--wi-spn-button-surface) !important;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wi-spn-button-text) !important;
	border-radius: 10px;
	cursor: pointer;
}

.wi-spn__panel-toggle:hover,
.wi-spn__panel-toggle:focus-visible {
	background: var(--wi-spn-button-hover) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__panel-toggle:active,
.wi-spn__panel-toggle.is-open:active {
	background: var(--wi-spn-button-active) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__panel-toggle::after {
	content: "+";
	font-size: 1.15rem;
}

.wi-spn__panel-toggle.is-open::after {
	content: "−";
}

.wi-spn__panel-body {
	margin-top: 12px;
}

.wi-spn__panel-toggle span {
	display: block;
	padding-left: 4px;
}

.wi-spn__term-list,
.wi-spn__category-tree,
.wi-spn__category-tree ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wi-spn__term-list li + li,
.wi-spn__category-tree li + li {
	margin-top: 12px;
}

.wi-spn__term-list label,
.wi-spn__category-item label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--wi-spn-muted);
	line-height: 1.2;
	cursor: pointer;
	padding-right: 52px;
}

.wi-spn__category-item {
	position: relative;
}

.wi-spn__category-item--depth-0 {
	padding-bottom: 4px;
}

.wi-spn__category-item--depth-0 + .wi-spn__category-item--depth-0 {
	margin-top: 16px;
}

.wi-spn__category-item--depth-0 > label span {
	font-weight: 700;
	color: var(--wi-spn-text);
}

.wi-spn__category-item--depth-1 > label span,
.wi-spn__category-item--depth-2 > label span,
.wi-spn__category-item--depth-3 > label span {
	font-weight: 500;
}

.wi-spn__term-list--large span {
	font-size: 1.05rem;
}

.wi-spn__term-list em,
.wi-spn__category-item em {
	margin-left: auto;
	font-style: normal;
	font-size: 0.95rem;
	color: var(--wi-spn-muted);
}

.wi-spn__category-tree ul {
	margin-top: 14px;
	margin-left: 14px;
	padding-left: 18px;
	border-left: 1px solid var(--wi-spn-line);
}

.wi-spn__category-toggle {
	position: absolute;
	top: -3px;
	right: 0;
	transform: none;
	width: 34px;
	height: 34px;
	padding: 0 0 5px;
	border: 0;
	border-radius: 10px;
	background: var(--wi-spn-button-surface) !important;
	color: var(--wi-spn-button-text) !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	z-index: 3;
}

.wi-spn__category-toggle:hover,
.wi-spn__category-toggle:focus-visible {
	background: var(--wi-spn-button-hover) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__category-toggle:active,
.wi-spn__category-toggle.is-open:active {
	background: var(--wi-spn-button-active) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__category-toggle::before {
	content: "+";
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1;
}

.wi-spn__category-toggle.is-open::before {
	content: "−";
}

.wi-spn__category-item--depth-0 > .wi-spn__category-toggle {
	background: var(--wi-spn-button-surface) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__category-item--depth-1 > .wi-spn__category-toggle,
.wi-spn__category-item--depth-2 > .wi-spn__category-toggle,
.wi-spn__category-item--depth-3 > .wi-spn__category-toggle {
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--wi-spn-surface-strong) !important;
	color: var(--wi-spn-muted) !important;
	top: 0;
	z-index: 3;
}

.wi-spn__category-item--depth-1 > .wi-spn__category-toggle:hover,
.wi-spn__category-item--depth-1 > .wi-spn__category-toggle:focus-visible,
.wi-spn__category-item--depth-2 > .wi-spn__category-toggle:hover,
.wi-spn__category-item--depth-2 > .wi-spn__category-toggle:focus-visible,
.wi-spn__category-item--depth-3 > .wi-spn__category-toggle:hover,
.wi-spn__category-item--depth-3 > .wi-spn__category-toggle:focus-visible {
	background: var(--wi-spn-button-hover) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__category-item--depth-1 > .wi-spn__category-toggle::before,
.wi-spn__category-item--depth-2 > .wi-spn__category-toggle::before,
.wi-spn__category-item--depth-3 > .wi-spn__category-toggle::before {
	font-size: 1rem;
}

.wi-spn__category-item.has-children > ul {
	position: relative;
	z-index: 1;
}

.wi-spn__helper {
	margin: 0;
	color: var(--wi-spn-muted);
	font-size: 0.95rem;
}

.wi-spn__price-slider {
	display: grid;
	gap: 14px;
}

.wi-spn__price-values {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 0.95rem;
}

.wi-spn__price-track {
	position: relative;
	height: 28px;
}

.wi-spn__price-track::before {
	content: "";
	position: absolute;
	top: 12px;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--wi-spn-line);
	border-radius: 999px;
}

.wi-spn__price-progress {
	position: absolute;
	top: 12px;
	height: 4px;
	background: var(--wi-spn-accent);
	border-radius: 999px;
}

.wi-spn__price-track input[type="range"] {
	position: absolute;
	inset: 0;
	width: 100%;
	margin: 0;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	pointer-events: none;
}

.wi-spn__price-track input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--wi-spn-accent);
	border: 2px solid #fff;
	box-shadow: 0 0 0 2px rgba(54, 169, 225, 0.18);
	pointer-events: auto;
	cursor: pointer;
}

.wi-spn__price-track input[type="range"]::-moz-range-thumb {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--wi-spn-accent);
	border: 2px solid #fff;
	box-shadow: 0 0 0 2px rgba(54, 169, 225, 0.18);
	pointer-events: auto;
	cursor: pointer;
}

.wi-spn__content {
	padding: 20px 20px 22px;
	overflow: hidden;
}

.wi-spn__results-meta {
	margin-bottom: 20px;
	color: var(--wi-spn-muted);
	font-size: 0.95rem;
}

.wi-spn__grid {
	display: grid;
	gap: 1.5rem;
}

.wi-spn__grid--cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wi-spn__grid--cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.wi-spn__card {
	background: var(--wi-spn-surface);
	border: 1px solid var(--wi-spn-line);
	border-radius: 26px;
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.wi-spn__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 30px rgba(17, 26, 26, 0.08);
}

.wi-spn__card-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.wi-spn__card-media {
	padding: 0;
}

.wi-spn__card-media-inner {
	display: grid;
	place-items: center;
	aspect-ratio: 1 / 1;
	background: transparent;
	border-radius: 0;
	overflow: hidden;
}

.wi-spn__card-media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: transparent;
	border-radius: 0;
}

.wi-spn__card-body {
	padding: 12px 24px 10px;
	min-height: 126px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 10px;
}

.wi-spn__card-title {
	margin: 0;
	font-size: 1rem;
	line-height: 1.35;
	color: var(--wi-spn-accent);
}

.wi-spn__card-price {
	font-weight: 800;
	font-size: 1.02rem;
	color: #000000;
}

.wi-spn__card-actions {
	padding: 0 24px 20px;
	margin-top: 0;
}

.wi-spn__card-actions .button,
.wi-spn__card-actions .added_to_cart,
.wi-spn__card-actions a.button,
.wi-spn__card-actions a.add_to_cart_button,
.wi-spn__card-actions a.product_type_simple,
.wi-spn__card-actions a.product_type_variable,
.wi-spn__card-actions a.product_type_external,
.wi-spn__card-actions a.product_type_grouped {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px !important;
	padding: 14px 20px !important;
	margin: 0 !important;
	border-radius: 14px;
	background: var(--wi-spn-button-surface) !important;
	border: 1px solid var(--wi-spn-button-surface) !important;
	color: var(--wi-spn-button-text) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	line-height: 1.1 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
	text-transform: capitalize !important;
}

.wi-spn__card-actions .button:hover,
.wi-spn__card-actions .added_to_cart:hover,
.wi-spn__card-actions a.button:hover,
.wi-spn__card-actions a.add_to_cart_button:hover,
.wi-spn__card-actions a.product_type_simple:hover,
.wi-spn__card-actions a.product_type_variable:hover,
.wi-spn__card-actions a.product_type_external:hover,
.wi-spn__card-actions a.product_type_grouped:hover {
	background: var(--wi-spn-button-hover) !important;
	border-color: var(--wi-spn-button-hover) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__card-actions .button:active,
.wi-spn__card-actions .added_to_cart:active,
.wi-spn__card-actions a.button:active,
.wi-spn__card-actions a.add_to_cart_button:active,
.wi-spn__card-actions a.product_type_simple:active,
.wi-spn__card-actions a.product_type_variable:active,
.wi-spn__card-actions a.product_type_external:active,
.wi-spn__card-actions a.product_type_grouped:active {
	background: var(--wi-spn-button-active) !important;
	border-color: var(--wi-spn-button-active) !important;
	color: var(--wi-spn-button-text) !important;
}

.wi-spn__pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 24px;
}

.wi-spn-single-quote {
	margin: 22px 0;
}

.wi-spn-single-quote .button,
.wi-spn-single-quote__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px 24px !important;
	border-radius: 12px;
	background: var(--wi-spn-button-surface, #36a9e1) !important;
	border: 1px solid var(--wi-spn-button-surface, #36a9e1) !important;
	color: var(--wi-spn-button-text, #ffffff) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.wi-spn-single-quote .button:hover,
.wi-spn-single-quote .button:focus-visible,
.wi-spn-single-quote__button:hover,
.wi-spn-single-quote__button:focus-visible {
	background: var(--wi-spn-button-hover, #1979aa) !important;
	border-color: var(--wi-spn-button-hover, #1979aa) !important;
	color: var(--wi-spn-button-text, #ffffff) !important;
}

body.single-product .hhfs-single-more-info-frame {
	position: relative;
}

body.single-product .hhfs-single-more-info-image-link {
	display: block;
	cursor: pointer;
	text-decoration: none;
}

body.single-product .hhfs-single-more-info-image-link img,
body.single-product .hhfs-single-more-info-image-link picture {
	display: block;
	width: 100%;
}

body.single-product .hhfs-single-more-info-link {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	color: transparent;
	font-size: 0;
	text-indent: -9999px;
	background: transparent;
	cursor: pointer;
	text-decoration: none;
}

body.single-product .hhfs-single-more-info-image-link:focus-visible,
body.single-product .hhfs-single-more-info-link:focus-visible {
	outline: 3px solid var(--wi-spn-healing-blue, #006f9f);
	outline-offset: 2px;
}

body.single-product .related.products .onsale,
body.single-product .elementor-widget-woocommerce-product-related .onsale,
body.single-product .woocommerce .related.products .onsale {
	display: none !important;
}

.hhfs-checkout-consent {
	padding: 16px 18px;
	margin: 18px 0 !important;
	border: 1px solid var(--wi-spn-healing-border, #b8cce6);
	background: #f7fbff;
	color: var(--wi-spn-healing-copy, #242126);
	font-family: Poppins, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.95rem;
	line-height: 1.45;
}

.hhfs-checkout-consent label.checkbox {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-weight: 500;
}

.hhfs-checkout-consent input[type="checkbox"] {
	flex: 0 0 auto;
	margin-top: 4px;
}

.wi-spn__page-list {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}

.wi-spn__page-button {
	min-width: 44px;
	height: 44px;
	padding: 0 16px;
	border: 1px solid var(--wi-spn-line);
	border-radius: 999px;
	background: var(--wi-spn-surface);
	color: var(--wi-spn-text);
	cursor: pointer;
	font-weight: 700;
}

.wi-spn__page-ellipsis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 44px;
	color: var(--wi-spn-muted);
	font-weight: 700;
}

.wi-spn__page-button.is-active {
	background: var(--wi-spn-accent);
	border-color: var(--wi-spn-accent);
	color: var(--wi-spn-accent-text);
}

.wi-spn__empty {
	padding: 64px 20px;
	background: var(--wi-spn-surface-strong);
	border-radius: 24px;
	text-align: center;
}

.wi-spn__drawer {
	position: fixed;
	inset: 0;
	z-index: 9999;
}

.wi-spn__drawer-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(17, 26, 26, 0.38);
}

.wi-spn__drawer-panel {
	position: absolute;
	inset: 0 auto 0 0;
	width: min(92vw, 420px);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	border-radius: 0 28px 28px 0;
	transform: translateX(-100%);
	transition: transform 0.24s ease;
}

.wi-spn__drawer.is-open .wi-spn__drawer-panel {
	transform: translateX(0);
}

.wi-spn__drawer-header,
.wi-spn__drawer-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.wi-spn__drawer-close {
	border: 0;
	background: transparent;
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
}

.wi-spn__drawer-form {
	display: grid;
	gap: 16px;
	overflow: auto;
	padding-right: 4px;
}

.wi-spn__mobile-cascade,
.wi-spn__mobile-select {
	display: grid;
	gap: 10px;
}

.wi-spn__mobile-cascade label span,
.wi-spn__mobile-select span {
	color: var(--wi-spn-muted);
	font-size: 0.92rem;
}

.wi-spn.is-loading .wi-spn__grid-shell {
	opacity: 0.56;
	pointer-events: none;
}

@media (min-width: 992px) {
	.wi-spn__toolbar {
		display: none;
	}

	.wi-spn__drawer-trigger {
		display: none;
	}
}

@media (max-width: 991px) {
	.wi-spn__toolbar {
		justify-content: flex-start;
		margin-bottom: 1rem;
	}

	.wi-spn__actions {
		width: 100%;
	}

	.wi-spn__layout {
		grid-template-columns: 1fr;
	}

	.wi-spn__sidebar {
		display: none;
	}

	.wi-spn__content {
		padding: 16px;
	}

	.wi-spn__drawer-trigger {
		min-width: 160px;
		padding-inline: 20px;
	}

	.wi-spn__grid--cols-3,
	.wi-spn__grid--cols-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 681px) {
	body.woocommerce-checkout #billing_phone_field.hhfs-checkout-contact-field,
	body.woocommerce-checkout #billing_email_field.hhfs-checkout-contact-field {
		width: calc(50% - 15px) !important;
	}

	body.woocommerce-checkout #billing_phone_field.hhfs-checkout-contact-field {
		float: left !important;
	}

	body.woocommerce-checkout #billing_email_field.hhfs-checkout-contact-field {
		float: right !important;
	}
}

@media (max-width: 680px) {
	.wi-spn__toolbar {
		margin-bottom: 1rem;
	}

	.wi-spn__search-input,
	.wi-spn__mobile-cascade select {
		min-height: 52px;
	}

	.wi-spn__drawer-trigger {
		min-width: 100%;
		min-height: 52px;
		padding-inline: 18px;
	}

	.wi-spn__results-meta {
		margin-bottom: 14px;
	}

	.wi-spn__grid,
	.wi-spn__grid--cols-2,
	.wi-spn__grid--cols-3,
	.wi-spn__grid--cols-4 {
		grid-template-columns: 1fr;
	}

	.wi-spn__card-body {
		min-height: 0;
	}
}

/* Healing Hub catalogue layout */
.wi-spn {
	--wi-spn-healing-blue: #005f8f;
	--wi-spn-healing-blue-dark: #004a73;
	--wi-spn-healing-border: #afc3e2;
	--wi-spn-healing-copy: #222126;
	--wi-spn-healing-muted: #5c6470;
	max-width: 1180px;
	font-family: "Poppins", "Helvetica Neue", Arial, sans-serif;
	color: var(--wi-spn-healing-copy);
}

.wi-spn,
.wi-spn button,
.wi-spn input,
.wi-spn select,
.wi-spn textarea {
	font-family: "Poppins", "Helvetica Neue", Arial, sans-serif;
}

.wi-spn__layout {
	grid-template-columns: minmax(260px, 315px) minmax(0, 1fr);
	gap: 34px;
}

.wi-spn__sidebar,
.wi-spn__content,
.wi-spn__drawer-panel {
	border: 1px solid var(--wi-spn-healing-border);
	border-radius: 0;
	box-shadow: none;
}

.wi-spn__sidebar {
	padding: 20px 16px;
	top: 24px;
}

.wi-spn__content {
	padding: 52px 40px 46px;
	background: #ededed;
	overflow: visible;
}

.wi-spn__search-input,
.wi-spn__mobile-cascade select {
	min-height: 44px;
	border: 1px solid var(--wi-spn-healing-border);
	border-radius: 0;
	padding: 0 18px;
	font-size: 0.95rem;
}

.wi-spn__search + .wi-spn__panel {
	margin-top: 16px;
}

.wi-spn__panel + .wi-spn__panel {
	margin-top: 12px;
	padding-top: 0;
	border-top: 0;
}

.wi-spn__panel-toggle {
	min-height: 44px;
	padding: 10px 18px;
	border-radius: 0;
	background: var(--wi-spn-healing-blue) !important;
	color: #ffffff !important;
	font-size: 0.95rem;
	font-weight: 500;
	text-align: left;
}

.wi-spn__panel-toggle:hover,
.wi-spn__panel-toggle:focus-visible,
.wi-spn__panel-toggle:active,
.wi-spn__panel-toggle.is-open:active {
	background: var(--wi-spn-healing-blue-dark) !important;
	color: #ffffff !important;
}

.wi-spn__panel-toggle::after {
	content: "-";
	font-size: 1rem;
	font-weight: 400;
}

.wi-spn__panel-toggle.is-open::after {
	content: "-";
}

.wi-spn__panel-body {
	margin-top: 14px;
}

.wi-spn__term-list li + li,
.wi-spn__category-tree li + li {
	margin-top: 0;
}

.wi-spn__term-list label,
.wi-spn__category-item label {
	align-items: center;
	gap: 10px;
	min-height: 36px;
	padding: 6px 42px 6px 8px;
	border-bottom: 1px solid var(--wi-spn-healing-border);
	color: var(--wi-spn-healing-copy);
	font-size: 0.92rem;
}

.wi-spn__term-list input[type="checkbox"],
.wi-spn__term-list input[type="radio"],
.wi-spn__category-item input[type="checkbox"],
.wi-spn__category-item input[type="radio"] {
	appearance: none;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	margin: 0;
	border: 1.5px solid var(--wi-spn-healing-blue);
	border-radius: 50%;
	background: #ffffff;
}

.wi-spn__term-list input[type="checkbox"]:checked,
.wi-spn__term-list input[type="radio"]:checked,
.wi-spn__category-item input[type="checkbox"]:checked,
.wi-spn__category-item input[type="radio"]:checked {
	background: var(--wi-spn-healing-blue);
	box-shadow: inset 0 0 0 3px #ffffff;
}

.wi-spn__category-item--depth-0 > label span {
	color: var(--wi-spn-healing-blue);
	font-size: 0.9rem;
	font-weight: 800;
	text-transform: uppercase;
}

.wi-spn__category-item--depth-1 > label {
	min-height: 24px;
	padding-block: 3px;
	padding-left: 34px;
	border-bottom: 0;
}

.wi-spn__category-item--depth-1 > label span {
	font-weight: 400;
	text-transform: none;
	color: var(--wi-spn-healing-copy);
}

.wi-spn__term-list em,
.wi-spn__category-item em {
	display: none;
}

.wi-spn__category-tree ul {
	margin-top: 0;
	margin-left: 0;
	padding-left: 0;
	border-left: 0;
}

.wi-spn__category-toggle,
.wi-spn__category-item--depth-0 > .wi-spn__category-toggle,
.wi-spn__category-item--depth-1 > .wi-spn__category-toggle {
	top: 4px;
	right: 8px;
	width: 26px;
	height: 26px;
	border-radius: 0;
	background: transparent !important;
	color: var(--wi-spn-healing-blue) !important;
}

.wi-spn__category-toggle::before {
	content: "+";
	font-size: 1rem;
	font-weight: 500;
}

.wi-spn__category-toggle.is-open::before {
	content: "-";
}

.wi-spn__range-intro {
	max-width: 720px;
	margin: 0 auto 56px;
	text-align: center;
}

.wi-spn__range-intro h2 {
	margin: 0 0 22px;
	font-size: 1.45rem;
	font-weight: 800;
	letter-spacing: 0.34em;
}

.wi-spn__range-copy {
	display: grid;
	gap: 18px;
	font-size: 0.98rem;
	line-height: 1.45;
}

.wi-spn__range-copy p {
	margin: 0;
}

.wi-spn__results-meta {
	display: none;
}

.wi-spn__limited-showcase {
	display: grid;
	justify-items: center;
	gap: 34px;
	width: min(100%, 760px);
	max-width: 760px;
	margin: 0 auto;
}

.wi-spn__limited-showcase-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 30px 34px;
	width: 100%;
	max-width: 100%;
	align-items: start;
}

.wi-spn__limited-showcase-card {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	background: #ffffff;
	border: 4px solid #ffffff;
	box-shadow: 5px 5px 9px rgba(32, 32, 32, 0.16);
}

.wi-spn__limited-showcase-card img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.wi-spn__limited-showcase-cta {
	display: grid;
	justify-items: center;
	gap: 14px;
	width: min(100%, 420px);
}

.wi-spn__limited-availability {
	margin: 0;
	color: var(--wi-spn-healing-blue);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.24em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.wi-spn__limited-notify {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 42px;
	padding: 10px 22px;
	border: 0;
	border-radius: 0;
	background: var(--wi-spn-healing-blue);
	color: #ffffff;
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

body.hhfs-popup-open {
	overflow: hidden;
}

.wi-spn__popup-modal[hidden] {
	display: none !important;
}

.wi-spn__popup-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 24px;
}

.wi-spn__popup-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.58);
}

.wi-spn__popup-dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 760px);
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
	overflow: auto;
	background: #ffffff;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
	-webkit-overflow-scrolling: touch;
}

.wi-spn__popup-close {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
	color: #202020;
	font: inherit;
	font-size: 32px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	touch-action: manipulation;
}

.wi-spn__popup-close:hover {
	background: #f2f2f2;
}

.wi-spn__popup-close:focus-visible,
.wi-spn__popup-dialog:focus-visible {
	outline: 3px solid var(--wi-spn-healing-blue);
	outline-offset: 3px;
}

.wi-spn__popup-content {
	min-height: 1px;
}

.hhfs-media-popup {
	padding: 22px;
}

.hhfs-media-popup__backdrop {
	padding: 0;
	border: 0;
	appearance: none;
	cursor: zoom-out;
}

.hhfs-media-popup__dialog {
	width: min(100%, 1080px);
	max-height: calc(100vh - 44px);
	max-height: calc(100dvh - 44px);
	overflow: hidden;
	border-radius: 2px;
	background: #ffffff;
}

.hhfs-media-popup__title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.hhfs-media-popup__content {
	display: flex;
	align-items: center;
	justify-content: center;
	max-height: calc(100vh - 44px);
	max-height: calc(100dvh - 44px);
	overflow: auto;
	background: #ffffff;
}

.hhfs-media-popup__content img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: calc(100vh - 44px);
	max-height: calc(100dvh - 44px);
	object-fit: contain;
}

.hhfs-media-popup__content iframe {
	display: block;
	width: min(calc(100vw - 44px), 1080px);
	height: calc(100vh - 44px);
	height: calc(100dvh - 44px);
	border: 0;
	background: #ffffff;
}

@media (max-width: 680px) {
	.wi-spn__popup-modal {
		align-items: center;
		padding: 16px;
	}

	.wi-spn__popup-dialog {
		max-height: calc(100vh - 32px);
		max-height: calc(100dvh - 32px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wi-spn__popup-modal,
	.wi-spn__popup-dialog {
		scroll-behavior: auto;
	}
}

.wi-spn__limited-notify:hover,
.wi-spn__limited-notify:focus-visible {
	background: var(--wi-spn-healing-blue-dark);
	color: #ffffff;
}

.wi-spn__catalogue-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 38px;
	width: min(100%, 1110px);
	margin-right: auto;
	margin-left: auto;
}

.wi-spn__catalogue-card,
.wi-spn__catalogue-card:hover {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: #ffffff;
	box-shadow: 5px 5px 9px rgba(32, 32, 32, 0.16);
	overflow: hidden;
	transform: none;
}

.wi-spn__catalogue-media {
	position: relative;
	align-self: start;
	width: 100%;
	min-height: 0;
	aspect-ratio: 1 / 1;
	background: #f5f1eb;
}

.wi-spn__catalogue-media-link {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.wi-spn__catalogue-media-link:focus-visible {
	outline: 3px solid var(--wi-spn-healing-blue);
	outline-offset: -3px;
}

.wi-spn__launch-offer {
	position: absolute;
	top: 0;
	right: 28px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 86px;
	padding-top: 6px;
	border-radius: 0 0 999px 999px;
	background: var(--hhfs-badge-bg, #ffd400);
	color: var(--hhfs-badge-color, #000000);
	font-size: 0.62rem;
	font-weight: 800;
	line-height: 1.05;
	text-align: center;
	text-transform: uppercase;
	white-space: normal;
	overflow-wrap: anywhere;
	pointer-events: none;
}

.wi-spn__catalogue-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: contain;
}

.wi-spn__catalogue-details {
	display: grid;
	align-content: center;
	justify-items: end;
	gap: 18px;
	width: 100%;
	min-width: 0;
	padding: 48px clamp(42px, 3vw, 56px) 46px clamp(38px, 2.6vw, 48px);
	text-align: right;
}

.wi-spn__catalogue-copy {
	display: grid;
	justify-items: end;
	gap: 12px;
	width: 100%;
	min-width: 0;
}

.wi-spn__catalogue-card .wi-spn__card-title {
	margin: 0;
	color: #242126;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.05;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.wi-spn__card-note {
	margin: 0;
	font-size: 0.82rem;
	font-style: italic;
	line-height: 1.2;
}

.wi-spn__card-description {
	width: 100%;
	max-width: 260px;
	min-width: 0;
	margin: 4px 0 0 auto;
	font-size: 0.88rem;
	line-height: 1.18;
}

.wi-spn__card-description p {
	margin: 0;
	overflow-wrap: anywhere;
}

.wi-spn__catalogue-purchase {
	display: grid;
	justify-items: end;
	gap: 8px;
	width: min(100%, 320px);
	min-width: 0;
}

.wi-spn__catalogue-purchase--contact {
	align-self: end;
	width: 100%;
}

.wi-spn__catalogue-contact-row {
	width: min(100%, 220px);
	margin-left: auto;
}

.wi-spn__catalogue-contact {
	min-height: 44px !important;
	cursor: pointer;
}

.wi-spn__price-label {
	color: #2368bd;
	font-size: 0.8rem;
	font-weight: 800;
	text-transform: uppercase;
}

.wi-spn__catalogue-card .wi-spn__card-price {
	color: #2368bd;
	font-size: 1.55rem;
	font-weight: 500;
	line-height: 1.05;
	padding-bottom: 0;
}

.wi-spn__catalogue-card .wi-spn__card-price span {
	font-size: 0.95em;
}

.wi-spn__regular-price {
	color: #262126;
	font-size: 0.92rem;
}

.wi-spn__catalogue-action-row {
	display: grid;
	grid-template-columns: minmax(62px, 0.42fr) minmax(170px, 1fr);
	align-items: end;
	gap: 16px;
	width: 100%;
	max-width: 320px;
	margin-top: 2px;
	margin-left: auto;
}


.wi-spn__stock-label {
	color: var(--wi-spn-healing-blue);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.05;
	text-align: left;
}

.wi-spn__catalogue-cart {
	display: grid;
	justify-items: stretch;
	width: 100%;
	gap: 10px;
	margin: 0;
}

.wi-spn__care-note-row {
	display: flex;
	justify-content: flex-end;
	width: min(100%, 320px);
	min-width: 0;
	margin: 8px 0 0 auto;
}

.wi-spn__quantity-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	min-height: 30px;
}

.wi-spn__catalogue-cart .quantity {
	justify-self: end;
}

.wi-spn__quantity-control {
	display: inline-grid;
	grid-template-columns: 36px minmax(70px, 82px) 36px;
	align-items: center;
	gap: 0;
	border: 1px solid var(--wi-spn-healing-border);
	background: #ffffff;
}

.wi-spn__quantity-row .quantity {
	flex: 0 0 auto;
}

.wi-spn__catalogue-cart .qty {
	width: 100%;
	min-width: 70px;
	height: 34px;
	border: 0;
	border-radius: 0;
	background: #ffffff;
	color: var(--wi-spn-healing-copy);
	font-size: 1rem;
	text-align: center;
}

.wi-spn__catalogue-cart .qty::-webkit-outer-spin-button,
.wi-spn__catalogue-cart .qty::-webkit-inner-spin-button {
	opacity: 1;
}

.wi-spn__quantity-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 34px;
	padding: 0;
	border: 0;
	background: #f3f7fb;
	color: var(--wi-spn-healing-blue);
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
}

.wi-spn__quantity-step:first-child {
	border-right: 1px solid var(--wi-spn-healing-border);
}

.wi-spn__quantity-step:last-child {
	border-left: 1px solid var(--wi-spn-healing-border);
}

.wi-spn__quantity-step:hover,
.wi-spn__quantity-step:focus-visible {
	background: var(--wi-spn-healing-blue);
	color: #ffffff;
}

.wi-spn__care-note {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	max-width: min(100%, 230px);
	color: #333333;
	text-decoration: none;
	white-space: normal;
}

.wi-spn__care-note span {
	display: inline-flex;
	align-items: center;
	min-height: 15px;
	padding: 2px 5px;
	background: #d6d6d6;
	color: #222222;
	font-size: 0.54rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.wi-spn__care-note svg {
	width: 27px;
	height: 27px;
	flex: 0 0 27px;
	border: 1.5px solid #2368bd;
	border-radius: 50%;
	background: #ffffff;
	fill: none;
	stroke: #e45555;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.wi-spn__care-note:hover span,
.wi-spn__care-note:focus-visible span {
	background: #c7c7c7;
}

.wi-spn__care-note--inactive {
	opacity: 0.72;
}

.wi-spn__catalogue-add,
.wi-spn__catalogue-unavailable {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 40px !important;
	width: 100%;
	padding: 10px 16px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--wi-spn-healing-blue) !important;
	color: #ffffff !important;
	font-size: 0.95rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.wi-spn__catalogue-add:hover,
.wi-spn__catalogue-add:focus-visible {
	background: var(--wi-spn-healing-blue-dark) !important;
	color: #ffffff !important;
}

.wi-spn__catalogue-cart.is-adding .wi-spn__catalogue-add,
.wi-spn__catalogue-add:disabled {
	opacity: 0.72;
	cursor: wait;
}

.wi-spn__catalogue-add.is-added {
	background: #16845b !important;
}

.wi-spn__catalogue-unavailable {
	background: #7b8794 !important;
}

.wi-spn__search-result {
	width: 100%;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
}

@media (max-width: 991px) {
	.wi-spn__content {
		padding: 32px 18px;
	}

	.wi-spn__range-intro {
		margin-bottom: 32px;
	}

	.wi-spn__range-intro h2 {
		font-size: 1.15rem;
		letter-spacing: 0.18em;
	}

	.wi-spn__catalogue-card,
	.wi-spn__catalogue-card:hover {
		grid-template-columns: 1fr;
	}

	.wi-spn__catalogue-media,
	.wi-spn__catalogue-media img {
		min-height: 0;
	}
}

@media (max-width: 560px) {
	.wi-spn__catalogue-details {
		padding: 24px 18px;
	}

	.wi-spn__catalogue-action-row {
		grid-template-columns: 1fr;
		justify-items: stretch;
	}

	.wi-spn__stock-label {
		text-align: center;
	}

	.wi-spn__catalogue-cart .quantity {
		justify-self: center;
	}
}

@media (max-width: 680px) {

	.wi-spn__limited-showcase {
		gap: 24px;
		max-width: 100%;
	}

	.wi-spn__limited-showcase-grid {
		gap: 20px;
	}

	.wi-spn__limited-availability {
		font-size: 0.86rem;
		letter-spacing: 0.16em;
	}

	.wi-spn {
		width: 100%;
		max-width: none;
		padding: 0;
		margin: 0;
	}

	.wi-spn__toolbar {
		position: sticky;
		top: 0;
		z-index: 40;
		padding: 8px 0;
		margin: 0 0 16px;
		background: #ffffff;
	}

	.wi-spn__actions {
		display: block;
	}

	.wi-spn__drawer-trigger {
		width: 100%;
		min-width: 0;
		min-height: 48px;
		border-radius: 10px;
		font-size: 0.95rem;
	}

	.wi-spn__content {
		width: 100%;
		padding: 0;
		border: 0;
		background: #ededed;
	}

	.wi-spn__range-intro {
		max-width: none;
		margin: 0 0 22px;
		padding: 24px 20px;
		border: 1px solid var(--wi-spn-healing-border);
		background: #ededed;
	}

	.wi-spn__range-intro h2 {
		margin-bottom: 16px;
		font-size: 1rem;
		line-height: 1.35;
		letter-spacing: 0.22em;
	}

	.wi-spn__range-copy {
		gap: 12px;
		font-size: 0.88rem;
		line-height: 1.38;
	}

	.wi-spn__catalogue-list {
		gap: 20px;
		width: 100%;
	}

	.wi-spn__catalogue-card,
	.wi-spn__catalogue-card:hover {
		width: 100%;
		min-height: 0;
		box-shadow: 0 5px 12px rgba(32, 32, 32, 0.16);
	}

	.wi-spn__catalogue-media,
	.wi-spn__catalogue-media img {
		min-height: 0;
	}

	.wi-spn__catalogue-media {
		aspect-ratio: 1 / 1;
	}

	.wi-spn__catalogue-media-link,
	.wi-spn__catalogue-media img {
		height: 100%;
	}

	.wi-spn__launch-offer {
		right: 16px;
		width: 52px;
		height: 66px;
		padding-top: 4px;
		font-size: 0.48rem;
		line-height: 1.05;
	}

	.wi-spn__catalogue-details {
		justify-items: center;
		gap: 18px;
		padding: 24px 22px 26px;
		text-align: center;
	}

	.wi-spn__catalogue-copy {
		justify-items: center;
		gap: 10px;
	}

	.wi-spn__catalogue-card .wi-spn__card-title {
		font-size: 1.45rem;
		line-height: 1.12;
	}

	.wi-spn__card-note {
		font-size: 0.9rem;
	}

	.wi-spn__card-description {
		max-width: 310px;
		margin: 8px auto 0;
		font-size: 0.9rem;
		line-height: 1.18;
		text-align: center;
	}

	.wi-spn__catalogue-purchase {
		width: 100%;
		justify-items: center;
		gap: 6px;
	}

	.wi-spn__catalogue-contact-row {
		margin-right: auto;
		margin-left: auto;
	}

	.wi-spn__catalogue-card .wi-spn__card-price {
		font-size: 1.55rem;
	}

	.wi-spn__catalogue-action-row {
		width: 100%;
		max-width: 330px;
		margin: 4px auto 0;
		grid-template-columns: 1fr;
		gap: 12px;
		justify-items: stretch;
	}

	.wi-spn__stock-label {
		text-align: center;
		font-size: 0.9rem;
	}

	.wi-spn__quantity-row {
		justify-content: center;
		width: 100%;
	}

	.wi-spn__catalogue-cart .quantity {
		justify-self: center;
	}

	.wi-spn__quantity-control {
		grid-template-columns: 42px minmax(76px, 90px) 42px;
	}

	.wi-spn__catalogue-cart .qty {
		min-width: 76px;
		height: 42px;
		font-size: 1rem;
	}

	.wi-spn__quantity-step {
		width: 42px;
		height: 42px;
		font-size: 1.35rem;
	}

	.wi-spn__catalogue-add,
	.wi-spn__catalogue-unavailable {
		min-height: 48px !important;
		font-size: 0.98rem !important;
	}

	.wi-spn__care-note-row {
		justify-content: center;
		width: 100%;
		margin: 0 auto;
	}
}

@media (max-width: 390px) {

	.wi-spn__limited-showcase-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px;
	}

	.wi-spn__content {
		padding-inline: 0;
	}

	.wi-spn__range-intro {
		padding: 22px 16px;
	}

	.wi-spn__range-copy {
		font-size: 0.84rem;
	}

	.wi-spn__catalogue-details {
		padding-inline: 16px;
	}

	.wi-spn__catalogue-card .wi-spn__card-title {
		font-size: 1.32rem;
	}
}

@media (max-width: 680px) {
	body.woocommerce-checkout #billing_phone_field.hhfs-checkout-contact-field,
	body.woocommerce-checkout #billing_email_field.hhfs-checkout-contact-field {
		float: none;
		width: 100%;
	}

	.wi-spn,
	.wi-spn__toolbar,
	.wi-spn__layout,
	.wi-spn__content,
	.wi-spn__grid-shell,
	.wi-spn__range-intro-shell,
	.wi-spn__catalogue-list,
	.wi-spn__catalogue-card,
	.wi-spn__catalogue-media,
	.wi-spn__catalogue-details,
	.wi-spn__catalogue-purchase,
	.wi-spn__catalogue-action-row,
	.wi-spn__catalogue-cart {
		max-width: 100%;
		min-width: 0;
	}

	.wi-spn {
		display: block;
		width: 100%;
		overflow-x: clip;
	}

	.wi-spn__toolbar {
		left: auto;
		right: auto;
		width: 100%;
	}

	.wi-spn__layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0;
		width: 100%;
		overflow-x: clip;
	}

	.wi-spn__content {
		justify-self: stretch;
		width: 100%;
		overflow-x: clip;
	}

	.wi-spn__range-intro,
	.wi-spn__catalogue-card {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.wi-spn__catalogue-card,
	.wi-spn__catalogue-card:hover {
		display: grid;
		grid-template-columns: minmax(0, 1fr) !important;
		overflow: hidden;
	}

	.wi-spn__catalogue-media,
	.wi-spn__catalogue-media-link,
	.wi-spn__catalogue-media img {
		display: block;
		width: 100%;
		max-width: 100%;
	}

	.wi-spn__catalogue-media img {
		object-fit: cover;
	}

	.wi-spn__catalogue-details {
		width: 100%;
		padding-left: 18px;
		padding-right: 18px;
	}

	.wi-spn__card-title,
	.wi-spn__card-note,
	.wi-spn__card-description,
	.wi-spn__price-label,
	.wi-spn__card-price,
	.wi-spn__regular-price,
	.wi-spn__stock-label {
		width: 100%;
		max-width: 100%;
		text-align: center;
	}

	.wi-spn__catalogue-cart {
		width: 100%;
		justify-items: center;
	}
}

@media (max-width: 340px) {
	.wi-spn__limited-showcase-grid {
		grid-template-columns: 1fr !important;
	}
}
