/* Generated from assets/header-cart.css. Do not edit directly. */

:root {
	--drawer-width: min(400px, 86vw) !important;
	--neg-drawer-width: calc(var(--drawer-width) * -1) !important;
}

body .added_to_cart.wc-forward,
body a.added_to_cart {
	display: none !important;
}

/* Match the centered VSMedic brand bar: one label column followed by a
 * balanced six-brand grid, collapsing cleanly on smaller screens. */
body.home #cia-home .brands-inner {
	display: grid !important;
	box-sizing: border-box;
	width: 100%;
	max-width: 1100px !important;
	margin-inline: auto !important;
	grid-template-columns: 160px minmax(0, 1fr) !important;
	align-items: center;
	gap: 20px;
}

body.home #cia-home .brands-inner .blabel {
	width: 100%;
	margin: 0 !important;
	text-align: left;
}

body.home #cia-home .brands-list {
	display: grid !important;
	width: 100%;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	align-items: stretch;
	gap: 10px;
}

body.home #cia-home .brands-list .brand-pill {
	display: flex;
	box-sizing: border-box;
	min-width: 0;
	min-height: 40px;
	padding: 8px 10px;
	align-items: center;
	justify-content: center;
	text-align: center;
	white-space: nowrap;
}

body.home #cia-home .compare-head-logo {
	display: block;
	width: auto;
	max-width: min(100%, 112px);
	height: 34px;
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
}

@media (max-width: 960px) {
	body.home #cia-home .brands-inner {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 12px;
	}

	body.home #cia-home .brands-inner .blabel {
		text-align: center;
	}

	body.home #cia-home .brands-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 8px;
	}
}

@media (max-width: 540px) {
	body.home #cia-home .brands-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 10px;
	}

	body.home #cia-home .brands-list .brand-pill {
		min-height: 38px;
		padding: 7px 8px;
		font-size: 0.78rem;
	}

	body.home #cia-home .compare-head-logo {
		max-width: min(100%, 92px);
		height: 28px;
	}
}

@keyframes vsce-button-spinner {
	to {
		transform: rotate(360deg);
	}
}

/* Keep add-to-cart feedback inside the button instead of washing out the page. */
.vs-catalog-direct-add.loading,
.vs-catalog-direct-add.vsce-cart-loading,
.wc-block-components-product-button__button.loading,
.wc-block-components-product-button__button.vsce-cart-loading,
.single-product .single_add_to_cart_button.loading,
.single-product .single_add_to_cart_button.vsce-cart-loading {
	position: relative !important;
	color: transparent !important;
	opacity: 1 !important;
	pointer-events: none !important;
	cursor: wait !important;
}

.vs-catalog-direct-add.loading > *,
.vs-catalog-direct-add.vsce-cart-loading > *,
.wc-block-components-product-button__button.loading > *,
.wc-block-components-product-button__button.vsce-cart-loading > *,
.single-product .single_add_to_cart_button.loading > *,
.single-product .single_add_to_cart_button.vsce-cart-loading > * {
	opacity: 0 !important;
}

.vs-catalog-direct-add.loading::after,
.vs-catalog-direct-add.vsce-cart-loading::after,
.wc-block-components-product-button__button.loading::after,
.wc-block-components-product-button__button.vsce-cart-loading::after,
.single-product .single_add_to_cart_button.loading::after,
.single-product .single_add_to_cart_button.vsce-cart-loading::after {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	box-sizing: border-box;
	width: 20px !important;
	height: 20px !important;
	margin: -10px 0 0 -10px !important;
	border: 2px solid rgba(255, 255, 255, 0.42) !important;
	border-top-color: #fff !important;
	border-radius: 50% !important;
	background: transparent !important;
	content: "" !important;
	font-family: inherit !important;
	animation: vsce-button-spinner 0.7s linear infinite !important;
}

@media (prefers-reduced-motion: reduce) {
	.vs-catalog-direct-add.loading::after,
	.vs-catalog-direct-add.vsce-cart-loading::after,
	.wc-block-components-product-button__button.loading::after,
	.wc-block-components-product-button__button.vsce-cart-loading::after,
	.single-product .single_add_to_cart_button.loading::after,
	.single-product .single_add_to_cart_button.vsce-cart-loading::after,
	.vs-mini-cart-upsell__add.is-adding::after {
		animation-duration: 1.5s !important;
	}
}

header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
}

.vs-mobile-product-search {
	display: none;
}

/* The navigation drawer receives a cloned logo in JavaScript. Keep that
 * mobile-only branding out of the desktop navigation flow. */
header.wp-block-template-part .vs-mobile-menu__fullscreen-header {
	display: none;
}

/* Desktop and tablet search lives in the real header, independently from the
 * search form inside the mobile drawer. */
header.wp-block-template-part .vs-desktop-product-search {
	display: block;
	width: min(100%, 380px);
	max-width: 380px;
	margin: 0 clamp(12px, 2vw, 26px) !important;
	flex: 1 1 280px;
}

header.wp-block-template-part .vs-desktop-product-search .wp-block-search__inside-wrapper {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	height: 44px;
	padding: 3px 3px 3px 14px;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(7, 39, 64, 0.12);
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

header.wp-block-template-part .vs-desktop-product-search .wp-block-search__input {
	width: 100%;
	min-width: 0;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #0f3d5c;
	font: inherit;
	font-size: 14px;
	outline: 0;
}

header.wp-block-template-part .vs-desktop-product-search .wp-block-search__input::placeholder {
	color: #708797;
	opacity: 1;
}

header.wp-block-template-part .vs-desktop-product-search .wp-block-search__input::-webkit-search-cancel-button,
header.wp-block-template-part .vs-mobile-product-search__input::-webkit-search-cancel-button {
	display: none;
	-webkit-appearance: none;
}

header.wp-block-template-part .vs-desktop-product-search .wp-block-search__button {
	display: inline-flex;
	box-sizing: border-box;
	width: 36px;
	height: 36px;
	min-width: 36px;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 9px;
	background: #0d8a6f;
	color: #fff;
}

header.wp-block-template-part .vs-desktop-product-search .wp-block-search__button:hover {
	background: #0a7260;
}

header.wp-block-template-part .vs-desktop-product-search .wp-block-search__button svg {
	width: 19px;
	height: 19px;
}

header.wp-block-template-part .vs-desktop-product-search .wp-block-search__inside-wrapper:focus-within {
	border-color: #9fd4c2;
	box-shadow: 0 4px 14px rgba(7, 39, 64, 0.14);
}

/* Shared live suggestions for the desktop header, mobile drawer and search page. */
.vs-search-autocomplete {
	position: relative;
	z-index: 40;
}

.vs-search-suggestions {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	left: 0;
	z-index: 100004;
	max-height: min(430px, calc(100vh - 120px));
	max-height: min(430px, calc(100dvh - 120px));
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: auto;
	border: 1px solid #d7e2e9;
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 14px 32px rgba(15, 61, 92, 0.16);
	color: #0f3d5c;
	font-family: inherit;
	text-align: left;
	overscroll-behavior: contain;
}

.vs-search-suggestions[hidden] {
	display: none !important;
}

.vs-search-suggestions__group + .vs-search-suggestions__group {
	border-top: 1px solid #e7eef2;
}

.vs-search-suggestions__heading {
	padding: 10px 12px 6px;
	color: #708391;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.vs-search-suggestions__item {
	display: grid;
	min-height: 44px;
	padding: 9px 12px;
	box-sizing: border-box;
	align-items: center;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	color: #0f3d5c !important;
	font-size: 14px !important;
	text-decoration: none;
}

.vs-search-suggestions__item.has-image {
	min-height: 62px;
	grid-template-columns: 44px minmax(0, 1fr) auto;
}

.vs-search-suggestions__media {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	overflow: hidden;
	border: 1px solid #e3ebf0;
	border-radius: 8px;
	background: #f7fafb;
}

.vs-search-suggestions__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.vs-search-suggestions__item + .vs-search-suggestions__item {
	border-top: 1px solid #f0f4f6;
}

.vs-search-suggestions__item:hover,
.vs-search-suggestions__item:focus-visible,
.vs-search-suggestions__item.is-active {
	background: #f1f7fa;
	color: #0d8a6f !important;
}

.vs-search-suggestions__title {
	min-width: 0;
	overflow: hidden;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.35;
	color: inherit !important;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vs-search-suggestions__type {
	display: inline-flex;
	min-height: 22px;
	padding: 3px 8px;
	align-items: center;
	border-radius: 999px;
	background: #eaf3f8;
	color: #42667d;
	font-size: 9px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vs-search-suggestions__status {
	padding: 16px 14px;
	color: #647b8b;
	font-size: 13px;
	line-height: 1.4;
	text-align: center;
}

.vs-search-suggestions__all {
	display: flex;
	min-height: 44px;
	padding: 10px 14px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	border-top: 1px solid #dfe9ee;
	background: #f8fafb;
	color: #0d8a6f;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.vs-search-suggestions__all:hover,
.vs-search-suggestions__all:focus-visible,
.vs-search-suggestions__all.is-active {
	background: #edf5f9;
	color: #0d8a6f;
}

@media (min-width: 900px) {
	header.wp-block-template-part .vs-desktop-product-search .vs-search-suggestions {
		right: auto;
		left: 50%;
		width: min(420px, calc(100vw - 32px));
		transform: translateX(-50%);
	}
}

/* Shared clean header shell at every responsive breakpoint. */
header.wp-block-template-part {
	background: #fff;
	box-shadow: 0 1px 0 rgba(15, 61, 74, 0.09), 0 8px 24px rgba(15, 61, 74, 0.045);
}

header.wp-block-template-part > .wp-block-group,
header.wp-block-template-part > .wp-block-group > .wp-block-group {
	background: #fff !important;
}

/* Compact desktop header: logo, live search and navigation share one clear row. */
@media (min-width: 900px) {
	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap {
		display: grid !important;
		width: min(100% - 40px, 1200px);
		max-width: 1200px;
		min-height: 82px;
		padding: 7px 0 !important;
		align-items: center !important;
		grid-template-columns: 118px minmax(230px, 1fr) auto;
		gap: clamp(18px, 2.2vw, 34px) !important;
	}

	header.wp-block-template-part .wp-block-site-logo,
	header.wp-block-template-part .wp-block-site-logo a {
		width: 112px;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		width: 112px !important;
		max-width: 112px !important;
		height: auto !important;
	}

	header.wp-block-template-part .vs-desktop-product-search {
		width: 100%;
		max-width: 460px;
		margin: 0 !important;
		justify-self: center;
	}

	header.wp-block-template-part .vs-desktop-product-search .wp-block-search__inside-wrapper {
		height: 46px;
		padding: 4px 4px 4px 15px;
		border: 1px solid #d7e7e1;
		border-radius: 12px;
		background: #f8fbfa;
		box-shadow: none;
	}

	header.wp-block-template-part .vs-desktop-product-search .wp-block-search__input {
		height: 36px;
		font-size: 14px;
	}

	header.wp-block-template-part .vs-desktop-product-search .wp-block-search__button {
		width: 36px;
		height: 36px;
		min-width: 36px;
		border-radius: 9px;
	}

	header.wp-block-template-part .vs-desktop-product-search .wp-block-search__button svg {
		width: 18px;
		height: 18px;
	}

	header.wp-block-template-part .vs-desktop-product-search .wp-block-search__inside-wrapper:focus-within {
		border-color: #73bca8;
		box-shadow: 0 0 0 3px rgba(13, 138, 111, 0.11);
	}

	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap > .wp-block-group {
		margin-left: 0 !important;
		gap: 14px !important;
	}

	header.wp-block-template-part .wp-block-navigation__container {
		gap: clamp(17px, 1.55vw, 24px) !important;
	}

	header.wp-block-template-part .wp-block-navigation-item__content {
		position: relative;
		padding: 12px 0 !important;
		color: #17384a !important;
		font-size: 14px;
		font-weight: 650;
		line-height: 1.2;
		text-decoration: none !important;
		transition: color 0.18s ease;
	}

	header.wp-block-template-part .wp-block-navigation-item__content::after {
		position: absolute;
		right: 0;
		bottom: 5px;
		left: 0;
		height: 2px;
		border-radius: 999px;
		background: #0d8a6f;
		content: '';
		transform: scaleX(0);
		transform-origin: center;
		transition: transform 0.18s ease;
	}

	header.wp-block-template-part .wp-block-navigation-item__content:hover,
	header.wp-block-template-part .wp-block-navigation-item__content:focus-visible,
	header.wp-block-template-part .current-menu-item > .wp-block-navigation-item__content,
	header.wp-block-template-part .current-menu-ancestor > .wp-block-navigation-item__content {
		color: #0d8a6f !important;
	}

	header.wp-block-template-part .wp-block-navigation-item__content:hover::after,
	header.wp-block-template-part .wp-block-navigation-item__content:focus-visible::after,
	header.wp-block-template-part .current-menu-item > .wp-block-navigation-item__content::after,
	header.wp-block-template-part .current-menu-ancestor > .wp-block-navigation-item__content::after {
		transform: scaleX(1);
	}

	header.wp-block-template-part .wc-block-mini-cart__button {
		display: grid;
		width: 44px;
		height: 44px;
		min-width: 44px;
		padding: 0 !important;
		place-items: center;
		border: 0;
		border-radius: 12px;
		background: #eef8f4;
		color: #0d8a6f;
		transition: background-color 0.18s ease, transform 0.18s ease;
	}

	header.wp-block-template-part .wc-block-mini-cart__button:hover,
	header.wp-block-template-part .wc-block-mini-cart__button:focus-visible {
		background: #dff1ea;
		transform: translateY(-1px);
	}

	header.wp-block-template-part .wc-block-mini-cart__icon {
		width: 26px;
		height: 26px;
	}
}

@media (min-width: 600px) and (max-width: 899px) {
	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap {
		display: grid !important;
		min-height: 78px;
		padding: 7px 0 !important;
		align-items: center !important;
		grid-template-columns: 92px minmax(140px, 1fr) auto;
		gap: clamp(10px, 1.8vw, 16px) !important;
	}

	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap > .wp-block-site-logo {
		width: 88px;
	}

	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap > .wp-block-site-logo a {
		width: 88px;
	}

	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap > .wp-block-site-logo img {
		width: 88px !important;
		max-width: 88px !important;
		height: auto !important;
	}

	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap > .vs-desktop-product-search {
		width: 100%;
		max-width: 320px;
		margin: 0 !important;
		justify-self: center;
	}

	header.wp-block-template-part .vs-desktop-product-search .wp-block-search__inside-wrapper {
		height: 42px;
		padding: 3px 3px 3px 12px;
		border: 1px solid #d7e7e1;
		border-radius: 11px;
		background: #f8fbfa;
		box-shadow: none;
	}

	header.wp-block-template-part .vs-desktop-product-search .wp-block-search__input {
		height: 34px;
		font-size: 13px;
	}

	header.wp-block-template-part .vs-desktop-product-search .wp-block-search__button {
		width: 34px;
		height: 34px;
		min-width: 34px;
		border-radius: 8px;
	}

	header.wp-block-template-part .vs-desktop-product-search .wp-block-search__inside-wrapper:focus-within {
		border-color: #73bca8;
		box-shadow: 0 0 0 3px rgba(13, 138, 111, 0.11);
	}

	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap > .wp-block-group {
		margin-left: 0 !important;
		gap: 10px !important;
	}

	header.wp-block-template-part .wp-block-navigation__container {
		gap: clamp(10px, 1.6vw, 15px) !important;
	}

	header.wp-block-template-part .wp-block-navigation-item__content {
		position: relative;
		padding: 11px 0 !important;
		color: #17384a !important;
		font-size: 13px;
		font-weight: 650;
		line-height: 1.2;
		text-decoration: none !important;
	}

	header.wp-block-template-part .wp-block-navigation-item__content::after {
		position: absolute;
		right: 0;
		bottom: 4px;
		left: 0;
		height: 2px;
		border-radius: 999px;
		background: #0d8a6f;
		content: '';
		transform: scaleX(0);
		transform-origin: center;
		transition: transform 0.18s ease;
	}

	header.wp-block-template-part .wp-block-navigation-item__content:hover,
	header.wp-block-template-part .wp-block-navigation-item__content:focus-visible,
	header.wp-block-template-part .current-menu-item > .wp-block-navigation-item__content,
	header.wp-block-template-part .current-menu-ancestor > .wp-block-navigation-item__content {
		color: #0d8a6f !important;
	}

	header.wp-block-template-part .wp-block-navigation-item__content:hover::after,
	header.wp-block-template-part .wp-block-navigation-item__content:focus-visible::after,
	header.wp-block-template-part .current-menu-item > .wp-block-navigation-item__content::after,
	header.wp-block-template-part .current-menu-ancestor > .wp-block-navigation-item__content::after {
		transform: scaleX(1);
	}
}

/* MD and LG use the same clean cart button treatment as the mobile header. */
@media (min-width: 600px) {
	header.wp-block-template-part .wc-block-mini-cart__button {
		display: grid;
		width: 42px;
		height: 42px;
		min-width: 42px;
		min-height: 42px;
		padding: 0 !important;
		place-items: center;
		border: 0;
		border-radius: 10px;
		background: transparent !important;
		color: #17384a;
		transform: none;
	}

	header.wp-block-template-part .wc-block-mini-cart__button:hover,
	header.wp-block-template-part .wc-block-mini-cart__button:focus-visible {
		background: #eef8f4 !important;
		color: #0d8a6f;
		transform: none;
	}

	header.wp-block-template-part .wc-block-mini-cart__icon {
		width: 24px;
		height: 24px;
	}
}

/*
 * Mobile header and Navigation block.
 *
 * A Site Editor override positions the open menu at a fixed 100px and clips
 * its contents. Reset that behaviour on phones so the native Navigation
 * interactivity remains usable at every viewport height.
 */
@media (max-width: 599px) {
	header.wp-block-template-part .vs-desktop-product-search {
		display: none !important;
	}

	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap {
		gap: 8px !important;
	}

	header.wp-block-template-part .wp-block-site-logo {
		min-width: 0;
		flex: 1 1 auto;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		display: block;
		width: min(190px, calc(100vw - 150px)) !important;
		max-width: 100% !important;
		height: auto !important;
	}

	header.wp-block-template-part .wp-block-site-logo + .wp-block-group {
		margin-left: auto !important;
		gap: 12px !important;
		flex: 0 0 auto;
	}

	header.wp-block-template-part .wp-block-navigation {
		margin-left: auto !important;
		flex: 0 0 auto;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container-open {
		position: relative;
		display: inline-flex;
		margin-left: auto !important;
		box-sizing: border-box;
		width: 42px;
		height: 42px;
		padding: 9px;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(255, 255, 255, 0.18);
		border-radius: 12px;
		background: rgba(255, 255, 255, 0.08);
		color: #fff;
		-webkit-tap-highlight-color: transparent;
		transition: background-color 0.18s ease;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container-open svg {
		transition: opacity 0.14s ease, transform 0.18s ease;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container-open::before,
	header.wp-block-template-part .wp-block-navigation__responsive-container-open::after {
		content: "";
		position: absolute;
		width: 21px;
		height: 2px;
		border-radius: 999px;
		background: currentColor;
		opacity: 0;
		transition: opacity 0.14s ease, transform 0.18s ease;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container-open.is-menu-active svg {
		opacity: 0;
		transform: scale(0.72);
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container-open.is-menu-active::before {
		opacity: 1;
		transform: rotate(45deg);
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container-open.is-menu-active::after {
		opacity: 1;
		transform: rotate(-45deg);
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container-open:hover {
		background: rgba(255, 255, 255, 0.1);
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container-open:focus,
	header.wp-block-template-part .wp-block-navigation__responsive-container-close:focus {
		outline: none !important;
		box-shadow: none !important;
	}

	body.vs-keyboard-navigation header.wp-block-template-part .wp-block-navigation__responsive-container-open:focus-visible,
	body.vs-keyboard-navigation header.wp-block-template-part .wp-block-navigation__responsive-container-close:focus-visible {
		outline: 3px solid rgba(21, 101, 160, 0.45) !important;
		outline-offset: 2px;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: auto 12px auto auto !important;
		top: var(--vs-mobile-menu-top, 88px) !important;
		display: block !important;
		box-sizing: border-box !important;
		width: calc(100vw - 24px) !important;
		max-width: 360px !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: calc(100dvh - var(--vs-mobile-menu-top, 88px) - 12px) !important;
		padding: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		border: 1px solid rgba(15, 61, 92, 0.12) !important;
		border-radius: 22px !important;
		background: #f3f8fc !important;
		box-shadow: 0 24px 70px rgba(10, 37, 64, 0.28) !important;
		animation: vsce-mobile-menu-enter 0.22s cubic-bezier(0.2, 0.8, 0.2, 1) both;
		z-index: 100001 !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		min-height: 0;
		margin: 0 auto !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		position: relative !important;
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 0;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border-radius: 21px;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog::before {
		display: none;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: none !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover {
		background: #e1ecf3 !important;
		color: #0e3a5c !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
		width: 20px !important;
		height: 20px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		display: flex !important;
		box-sizing: border-box;
		width: 100% !important;
		padding: 0 !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		flex-direction: column !important;
		gap: 0 !important;
	}

	header.wp-block-template-part .vs-mobile-menu__intro {
		display: flex;
		box-sizing: border-box;
		width: 100%;
		padding: 18px;
		align-items: center;
		gap: 12px;
		background: linear-gradient(135deg, #0f3d5c 0%, #0d8a6f 68%, #0d8a6f 100%);
		color: #fff;
	}

	header.wp-block-template-part .vs-mobile-menu__mark {
		display: inline-flex;
		width: 42px;
		height: 42px;
		flex: 0 0 42px;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(255, 255, 255, 0.28);
		border-radius: 13px;
		background: rgba(255, 255, 255, 0.14);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
		font-size: 15px;
		font-weight: 900;
		letter-spacing: -0.02em;
	}

	header.wp-block-template-part .vs-mobile-menu__copy {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: 2px;
	}

	header.wp-block-template-part .vs-mobile-menu__copy strong {
		color: #fff;
		font-size: 17px;
		font-weight: 850;
		line-height: 1.15;
	}

	header.wp-block-template-part .vs-mobile-menu__copy small {
		color: rgba(255, 255, 255, 0.72);
		font-size: 12px;
		font-weight: 600;
		line-height: 1.2;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search {
		display: block;
		box-sizing: border-box;
		width: auto;
		margin: 14px 14px 10px;
		padding: 14px;
		border: 1px solid rgba(15, 61, 92, 0.09);
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 8px 24px rgba(15, 61, 92, 0.07);
	}

	header.wp-block-template-part .vs-mobile-product-search__title {
		display: block;
		margin: 0 0 9px;
		color: #0f3d5c;
		font-size: 14px;
		font-weight: 800;
		line-height: 1.3;
	}

	header.wp-block-template-part .vs-mobile-product-search__controls {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 46px;
		gap: 8px;
		width: 100%;
	}

	header.wp-block-template-part .vs-mobile-product-search__input {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		height: 46px;
		margin: 0;
		padding: 0 13px;
		border: 1px solid #c6d9e6;
		border-radius: 12px;
		background: #f6fafd;
		color: #0f3d5c;
		font: inherit;
		font-size: 15px;
		line-height: 1;
		outline: none;
		-webkit-appearance: none;
		appearance: none;
	}

	header.wp-block-template-part .vs-mobile-product-search__input::placeholder {
		color: #6f8798;
		opacity: 1;
	}

	header.wp-block-template-part .vs-mobile-product-search__input:focus {
		border-color: #0d8a6f;
		background: #fff;
		box-shadow: 0 0 0 3px rgba(21, 101, 160, 0.14);
	}

	header.wp-block-template-part .vs-mobile-product-search__submit {
		display: inline-flex;
		box-sizing: border-box;
		width: 46px;
		height: 46px;
		margin: 0;
		padding: 0;
		align-items: center;
		justify-content: center;
		border: 0;
		border-radius: 12px;
		background: #0d8a6f;
		color: #fff;
		cursor: pointer;
		transition: background-color 0.18s ease, transform 0.18s ease;
	}

	header.wp-block-template-part .vs-mobile-product-search__submit:hover {
		background: #0a7260;
	}

	header.wp-block-template-part .vs-mobile-product-search__submit:active {
		transform: scale(0.96);
	}

	body.vs-keyboard-navigation header.wp-block-template-part .vs-mobile-product-search__submit:focus-visible {
		outline: 3px solid rgba(21, 101, 160, 0.35);
		outline-offset: 2px;
	}

	header.wp-block-template-part .vs-mobile-menu__nav-label {
		display: block;
		margin: 4px 18px 8px;
		color: #607b8d;
		font-size: 11px;
		font-weight: 850;
		letter-spacing: 0.09em;
		line-height: 1.2;
		text-transform: uppercase;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: flex !important;
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 12px !important;
		align-items: stretch !important;
		flex-direction: column !important;
		gap: 7px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100% !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		display: flex !important;
		box-sizing: border-box !important;
		width: 100% !important;
		position: relative;
		min-height: 50px;
		padding: 12px 42px 12px 14px !important;
		align-items: center;
		border: 1px solid rgba(15, 61, 92, 0.09) !important;
		border-radius: 14px !important;
		background: rgba(255, 255, 255, 0.82) !important;
		color: #0f3d5c !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1.35;
		text-decoration: none !important;
		box-shadow: 0 4px 14px rgba(15, 61, 92, 0.045);
		transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
		content: "›";
		position: absolute;
		right: 15px;
		top: 50%;
		color: #7b93a3;
		font-size: 24px;
		font-weight: 400;
		line-height: 1;
		transform: translateY(-53%);
		transition: color 0.18s ease, transform 0.18s ease;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content {
		border-color: rgba(21, 101, 160, 0.2) !important;
		background: #eaf4fb !important;
		color: #0a7260 !important;
		outline: none !important;
		box-shadow: none !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover::after,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible::after {
		color: #0d8a6f;
		transform: translate(2px, -53%);
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content {
		border-color: transparent !important;
		background: linear-gradient(135deg, #0a7260, #0d8a6f) !important;
		color: #fff !important;
		box-shadow: 0 8px 20px rgba(21, 101, 160, 0.18) !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content::after {
		color: rgba(255, 255, 255, 0.78);
	}

	header.wp-block-template-part .vs-mobile-menu__trust {
		display: flex;
		box-sizing: border-box;
		width: auto;
		margin: 13px 12px 12px;
		padding: 11px 12px;
		flex-wrap: wrap;
		gap: 7px 14px;
		border: 1px solid rgba(21, 101, 160, 0.11);
		border-radius: 13px;
		background: rgba(234, 244, 251, 0.72);
		color: #42677d;
		font-size: 11.5px;
		font-weight: 700;
		line-height: 1.3;
	}

	header.wp-block-template-part .vs-mobile-menu__trust span {
		display: inline-flex;
		align-items: center;
		gap: 5px;
	}

	header.wp-block-template-part .vs-mobile-menu__trust span::before {
		content: "✓";
		display: inline-flex;
		width: 16px;
		height: 16px;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		background: #dceefa;
		color: #0d8a6f;
		font-size: 10px;
		font-weight: 900;
	}
}

@keyframes vsce-mobile-menu-enter {
	from {
		opacity: 0;
		transform: translateY(-9px) scale(0.985);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
		animation: none;
	}
}

/* Functional baseline while the new mobile-menu layout is being selected. */
@media (max-width: 599px) {
	header.wp-block-template-part .wp-block-navigation__responsive-container-open {
		border: 0;
		border-radius: 10px;
		background: transparent;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
		width: calc(100vw - 24px) !important;
		max-width: 286px !important;
		padding: 8px !important;
		border: 1px solid #dce7ee !important;
		border-radius: 14px !important;
		background: #fff !important;
		box-shadow: 0 14px 42px rgba(10, 37, 64, 0.2) !important;
		animation: none;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		overflow: visible !important;
		border-radius: 0;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog::before {
		display: block;
		content: "Menu";
		position: absolute;
		top: 2px;
		left: 10px;
		color: #0a7260;
		font-size: 15px;
		font-weight: 800;
		line-height: 38px;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding: 46px 0 0 !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search {
		width: 100%;
		margin: 0 0 10px;
		padding: 0 0 12px;
		border: 0;
		border-bottom: 1px solid #dce7ee;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	header.wp-block-template-part .vs-mobile-product-search__title {
		margin-bottom: 7px;
		font-size: 13px;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		padding: 0 !important;
		gap: 3px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		min-height: 46px;
		padding: 11px 12px !important;
		border: 0 !important;
		border-radius: 12px !important;
		background: transparent !important;
		box-shadow: none;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
		display: none;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content {
		background: #eef4f8 !important;
		color: #0a7260 !important;
		box-shadow: none !important;
	}
}

.wc-block-mini-cart__button {
	position: relative;
	min-width: 42px;
	min-height: 42px;
	justify-content: center;
	border-radius: 10px;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.18s ease, transform 0.18s ease;
}

.wc-block-mini-cart__button:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-1px);
}

.wc-block-mini-cart__button:focus {
	outline: none !important;
	box-shadow: none !important;
}

body.vs-keyboard-navigation .wc-block-mini-cart__button:focus-visible {
	outline: 3px solid rgba(21, 101, 160, 0.35) !important;
	outline-offset: 2px;
}

.wc-block-mini-cart__amount,
.wc-block-mini-cart__tax-label {
	display: none !important;
}

.wc-block-mini-cart__quantity-badge {
	position: relative;
}

.wc-block-mini-cart__badge {
	border: 2px solid #fff;
	background: #0d8a6f;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
}

body.vsce-checkout-cart-open {
	overflow: hidden;
}

html.vsce-native-cart-drawer-open {
	overflow: hidden !important;
	overscroll-behavior: none;
}

html.vsce-native-cart-scroll-restoring,
html.vsce-native-cart-scroll-restoring body {
	scroll-behavior: auto !important;
}

body.vsce-native-cart-drawer-open {
	position: fixed !important;
	top: var(--vsce-native-cart-scroll-offset, 0) !important;
	right: var(--vsce-native-cart-scrollbar-width, 0) !important;
	left: 0 !important;
	width: auto !important;
	overflow: hidden !important;
	overscroll-behavior: none;
}

.vs-checkout-mini-cart__overlay[hidden] {
	display: none !important;
}

.vs-checkout-mini-cart__overlay {
	position: fixed;
	inset: 0;
	z-index: 100002;
	display: flex;
	justify-content: flex-end;
	background: rgba(20, 35, 45, 0.18);
}

.vs-checkout-mini-cart__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: default;
}

.vs-checkout-mini-cart__drawer {
	position: relative;
	z-index: 1;
	display: flex;
	box-sizing: border-box;
	width: var(--drawer-width);
	max-width: 100%;
	height: 100dvh;
	flex-direction: column;
	border-radius: 16px 0 0 16px;
	background: #fff;
	box-shadow: -12px 0 32px rgba(15, 30, 40, 0.18);
	color: #1e293b;
	overflow: hidden;
}

.vs-checkout-mini-cart__drawer > header {
	display: flex;
	box-sizing: border-box;
	min-height: 62px;
	padding: 14px 14px 14px 18px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid #e2e8f0;
}

.vs-checkout-mini-cart__drawer h2 {
	margin: 0;
	color: #0d8a6f;
	font-size: 17px;
	font-weight: 750;
}

.vs-checkout-mini-cart__close {
	display: inline-flex;
	min-height: 34px;
	padding: 7px 9px;
	align-items: center;
	gap: 6px;
	border: 0;
	border-radius: 9px;
	background: #f3f5f7;
	color: #1e293b;
	font: inherit;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
}

.vs-checkout-mini-cart__close:hover {
	background: #e8ebee;
}

.vs-checkout-mini-cart__drawer > .vs-mini-cart-shipping {
	margin: 14px 16px 4px;
}

.vs-checkout-mini-cart__items {
	display: grid;
	padding: 10px 16px;
	overflow-y: auto;
}

.vs-checkout-cart-item {
	display: grid;
	padding: 12px 0;
	grid-template-columns: 54px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid #edf0f3;
}

.vs-checkout-cart-item__image img {
	display: block;
	width: 52px;
	height: 52px;
	border: 1px solid #e4e9ee;
	border-radius: 10px;
	object-fit: contain;
}

.vs-checkout-cart-item__copy {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.vs-checkout-cart-item__copy strong {
	font-size: 14px;
	line-height: 1.3;
}

.vs-checkout-cart-item__copy small {
	color: #64748b;
	font-size: 12px;
}

.vs-checkout-cart-item__price {
	font-size: 13px;
	font-weight: 750;
	white-space: nowrap;
}

.vs-checkout-mini-cart__drawer > footer {
	display: flex;
	margin-top: auto;
	padding: 18px 16px;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid #e2e8f0;
	font-size: 15px;
}

.vs-checkout-mini-cart__drawer > footer strong {
	font-size: 17px;
}

.wc-block-components-drawer__screen-overlay {
	background: rgba(20, 35, 45, 0.18);
}

.wc-block-mini-cart__drawer {
	width: var(--drawer-width) !important;
	max-width: var(--drawer-width) !important;
	border: 0;
	border-radius: 16px 0 0 16px;
	box-shadow: -12px 0 32px rgba(15, 30, 40, 0.18);
	overflow: hidden;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part {
	overflow: hidden;
	border-radius: inherit;
	background: #fff;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
	color: #1e293b;
	font-size: 15px;
}

.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title {
	display: flex;
	min-height: 60px;
	box-sizing: border-box;
	margin: 0;
	padding: 0 178px 0 16px;
	align-items: center;
	border-bottom: 1px solid #e2e8f0;
	color: #0d8a6f;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
	font-size: 17px;
	font-weight: 750;
	line-height: 20px;
	mask-image: none;
}

.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title span:last-child {
	color: #64748b;
	font-size: 14px;
	font-weight: 600;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	top: 30px;
	right: 14px;
	display: inline-flex;
	box-sizing: border-box;
	width: auto;
	min-width: 32px;
	height: 34px;
	margin: 0;
	padding: 7px 9px !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border-radius: 9px;
	background: #f3f5f7 !important;
	color: #1e293b !important;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 20px;
	opacity: 1;
	transform: none;
	white-space: nowrap;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close:hover {
	background: #e8ebee !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg {
	width: 15px;
	height: 15px;
}

.vs-mini-cart-close-label {
	display: inline-block;
	line-height: inherit;
}

.wc-block-mini-cart__drawer.vsce-mini-cart-is-empty .vs-mini-cart-close-label {
	display: none;
}

/* Keep pricing clean: WooCommerce otherwise adds "Salva"/"Sconto" badges. */
.wc-block-mini-cart__drawer .wc-block-components-sale-badge,
.wp-block-woocommerce-product-sale-badge {
	display: none !important;
}

/* WooCommerce keeps both drawer states in the DOM and switches them with the
 * hidden attribute. Keep that state authoritative: the flex layout below must
 * never make the empty cart visible beneath a filled cart (or vice versa). */
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block[hidden],
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block[hidden] {
	display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__items,
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper {
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	min-height: calc(100dvh - 60px);
	padding: 0 20px calc(20px + env(safe-area-inset-bottom, 0px));
	flex: 1;
	flex-direction: column;
	background: #fff;
}

.vs-mini-cart-empty__state {
	display: flex;
	width: 100%;
	max-width: 320px;
	min-height: 0;
	margin: 0;
	padding: 36px 12px;
	align-self: center;
	align-items: center;
	justify-content: center;
	flex: 1;
	flex-direction: column;
	text-align: center;
}

.vs-mini-cart-empty__state svg {
	width: 76px;
	height: 76px;
	box-sizing: border-box;
	margin-bottom: 22px;
	padding: 18px;
	border-radius: 50%;
	background: #edf5fb;
	color: #0d8a6f;
}

.vs-mini-cart-empty__state h3 {
	max-width: 285px;
	margin: 0;
	color: #1b2d3d;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
	font-size: 19px;
	font-weight: 750;
	line-height: 1.35;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper > .wp-block-button {
	width: 100%;
	margin: 0;
	padding: 0;
	flex: 0 0 auto;
	border: 0;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__shopping-button {
	display: flex !important;
	width: 100%;
	min-height: 50px;
	padding: 10px 16px !important;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	border-radius: 12px;
	background: #0d8a6f !important;
	box-shadow: none !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
	font-size: 15px;
	font-weight: 750;
	transition: background-color 160ms ease, transform 160ms ease;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__shopping-button:hover {
	background: #0a7260 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__shopping-button:active {
	transform: translateY(1px);
}

.vs-mini-cart-shipping {
	box-sizing: border-box;
	padding: 10px 16px 12px;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
	color: #4a545e;
	font-size: 12.5px;
	line-height: 1.35;
}

.vs-mini-cart-shipping.is-complete {
	color: #0d8a6f;
	font-weight: 750;
}

.vs-mini-cart-shipping__text {
	display: block;
	font-size: 14px;
}

.vs-mini-cart-shipping__track {
	display: block;
	height: 6px;
	margin-top: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: #e3e9ee;
}

.vs-mini-cart-shipping__track i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #0d8a6f;
	transition: width 0.25s ease;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__items {
	padding: 6px 16px 0;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table .wc-block-cart-items__row {
	padding: 12px 0;
	border-bottom: 1px solid #e2e8f0;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__image img {
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #f4f6f8;
}

.wc-block-mini-cart__drawer .wc-block-components-product-name {
	color: #1e293b;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.3;
	text-decoration: none;
}

.wc-block-mini-cart__drawer .wc-block-components-product-price,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata {
	color: #64748b;
	font-size: 12.5px;
}

.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description {
	display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
	min-height: 30px;
	border: 1px solid #d6dde3;
	border-radius: 8px;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button {
	min-width: 28px;
	background: #f3f5f7;
	color: #1e293b;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
	color: #64748b;
	font-size: 12px;
	font-weight: 650;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:hover {
	color: #c0392b;
}

.wc-block-mini-cart__drawer .vsce-free-gift-row .wc-block-components-quantity-selector,
.wc-block-mini-cart__drawer .vsce-free-gift-row .wc-block-cart-item__remove-link {
	display: none !important;
}

/* The checkout-only Cialis offer is fixed at one item. Keep only the native
 * trash action in the drawer instead of showing misleading −/+ controls. */
.wc-block-mini-cart__drawer .vsce-checkout-upsell-row .wc-block-components-quantity-selector {
	display: none !important;
}

/* Homepage automatic-gift message, using the Vitalix green palette. */
#cia-home .vsce-home-gift {
	padding: 24px 0;
	background: #eefaf4;
}

#cia-home .vsce-home-gift__inner {
	display: grid;
	width: min(1100px, 100%);
	margin: 0 auto;
	padding: 0 32px;
	grid-template-columns: 150px minmax(0, 1fr) auto;
	align-items: center;
	gap: 28px;
}

#cia-home .vsce-home-gift__media {
	display: flex;
	width: 150px;
	height: 108px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

#cia-home .vsce-home-gift__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

#cia-home .vsce-home-gift__copy > span {
	display: block;
	margin-bottom: 5px;
	color: #0d8a6f;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

#cia-home .vsce-home-gift__copy h2 {
	max-width: 650px;
	margin: 0;
	color: #174936;
	font-family: inherit;
	font-size: clamp(19px, 2vw, 25px);
	font-weight: 750;
	line-height: 1.28;
}

#cia-home .vsce-home-gift__copy h2 strong {
	color: #0d8a6f;
}

#cia-home .vsce-home-gift__button {
	display: inline-flex;
	min-height: 44px;
	padding: 11px 20px;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: #0d8a6f;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

#cia-home .vsce-home-gift__button:hover,
#cia-home .vsce-home-gift__button:focus-visible {
	background: #075f4d;
	color: #fff;
}

@media (max-width: 700px) {
	#cia-home .vsce-home-gift {
		padding: 20px 0;
	}

	#cia-home .vsce-home-gift__inner {
		padding: 0 18px;
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 14px;
	}

	#cia-home .vsce-home-gift__media {
		width: 96px;
		height: 78px;
	}

	#cia-home .vsce-home-gift__copy h2 {
		font-size: 17px;
	}

	#cia-home .vsce-home-gift__button {
		width: 100%;
		grid-column: 1 / -1;
	}
}

@media (max-width: 359px) {
	#cia-home .vsce-home-gift__inner {
		padding-inline: 14px;
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 10px;
	}

	#cia-home .vsce-home-gift__media {
		width: 82px;
		height: 70px;
	}

	#cia-home .vsce-home-gift__copy h2 {
		font-size: 15px;
	}
}

.wc-block-mini-cart__drawer .vsce-mini-cart-gift-label,
.vsce-cart-item__gift-label {
	display: inline-flex;
	width: fit-content;
	min-height: 28px;
	padding: 5px 10px;
	align-items: center;
	border-radius: 8px;
	background: #eaf5ee;
	color: #247044;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
}

.wc-block-mini-cart__drawer .vsce-free-gift-row .wc-block-cart-item__quantity {
	min-height: 30px;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-formatted-money-amount,
.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
	color: #1e293b;
	font-size: 14px;
	font-weight: 800 !important;
}

/* The line total is the only price shown in the mini-cart item. */
.wc-block-mini-cart__drawer .wc-block-cart-item__prices {
	display: none !important;
}

.vs-mini-cart-upsells {
	display: none !important;
	flex: 0 0 auto;
	box-sizing: border-box;
	padding: 10px 16px 12px;
	border-top: 1px solid #e2e8f0;
	background: #fff;
}

.vs-mini-cart-upsells > p {
	margin: 0 0 8px;
	color: #0d8a6f;
	font-size: 11.5px;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.vs-mini-cart-upsells > div {
	display: grid;
	gap: 8px;
}

.vs-mini-cart-upsell {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border: 1.5px solid #d6dde3;
	border-radius: 12px;
	background: #fff;
}

.vs-mini-cart-upsell__image {
	display: block;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	overflow: hidden;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #f4f6f8;
}

.vs-mini-cart-upsell__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.vs-mini-cart-upsell__content {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
}

.vs-mini-cart-upsell__content strong {
	overflow: hidden;
	color: #1e293b;
	font-size: 13px;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vs-mini-cart-upsell__content > span {
	color: #64748b;
	font-size: 12.5px;
	font-weight: 700;
}

.vs-mini-cart-upsell__add {
	display: grid !important;
	box-sizing: border-box;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	padding: 0 !important;
	place-items: center;
	border: 0 !important;
	border-radius: 9px;
	background: #0d8a6f !important;
	color: #fff !important;
	font-size: 19px;
	font-weight: 750;
	line-height: 1;
	text-decoration: none !important;
}

.vs-mini-cart-upsell__add:hover {
	background: #0a7260 !important;
}

.vs-mini-cart-upsell__add.added {
	background: #0f3d5c !important;
}

.vs-mini-cart-upsell__add.is-adding {
	pointer-events: none;
	position: relative;
	background: #0a7260 !important;
	color: transparent !important;
	cursor: wait;
	opacity: 1;
}

.vs-mini-cart-upsell__add.is-adding::after {
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, 0.42);
	border-top-color: #fff;
	border-radius: 50%;
	content: "";
	animation: vsce-button-spinner 0.7s linear infinite;
}

.vs-mini-cart-upsell .added_to_cart {
	display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
	box-sizing: border-box;
	padding: 12px 16px max(14px, env(safe-area-inset-bottom));
	border-top: 1px solid #e2e8f0;
	background: #fff;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal {
	margin-bottom: 10px !important;
	color: #1e293b;
	font-size: 15px;
	font-weight: 750 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__description {
	color: #64748b;
	font-size: 12px;
	font-weight: 400;
}

.wc-block-mini-cart__footer-actions {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 0 !important;
}

.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout {
	display: flex !important;
	width: 100%;
	min-height: 50px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	border-radius: 12px;
	background: #0d8a6f !important;
	color: #fff !important;
	font-size: 16px;
	font-weight: 750;
}

.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout:hover {
	background: #0a7260 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper {
	color: #64748b;
}

@media (max-width: 480px) {
	.wc-block-mini-cart__drawer {
		border-radius: 16px 0 0 16px;
	}

	.vs-mini-cart-upsells {
		padding-inline: 12px;
	}
}

@media (max-height: 700px) {
	.vs-mini-cart-upsells {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vs-mini-cart-shipping__track i,
	.wc-block-mini-cart__shopping-button,
	.wc-block-mini-cart__button {
		transition: none;
	}
}

/* ========================================================================
 * Responsive foundation
 *
 * This stylesheet loads after the theme and therefore acts as the single,
 * predictable responsive layer for the shared header, WooCommerce routes,
 * product cards and cart drawer.
 * ======================================================================== */
html,
body {
	max-width: 100%;
	overflow-x: clip;
}

body *,
body *::before,
body *::after {
	box-sizing: border-box;
}

.wp-site-blocks,
.wp-site-blocks > *,
main,
header.wp-block-template-part,
footer.wp-block-template-part,
.wp-block-group,
.wp-block-columns,
.wp-block-column {
	min-width: 0;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

header.wp-block-template-part {
	width: 100%;
	isolation: isolate;
}

header.wp-block-template-part > .wp-block-group,
header.wp-block-template-part > .wp-block-group > .wp-block-group {
	width: 100%;
}

header.wp-block-template-part .wp-block-group.alignwide.is-nowrap {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1100px);
	margin-inline: auto !important;
}

header.wp-block-template-part .wp-block-site-logo,
header.wp-block-template-part .wp-block-site-logo a {
	display: block;
	min-width: 0;
}

header.wp-block-template-part .wp-block-site-logo img {
	display: block;
	max-width: min(230px, 44vw) !important;
	height: auto !important;
}

.wp-site-blocks main.wp-block-group,
.wp-site-blocks .wp-block-post-content,
.wp-site-blocks .entry-content {
	min-width: 0;
}

.wp-site-blocks .wp-block-post-content,
.wp-site-blocks .entry-content,
.wp-site-blocks table,
.wp-site-blocks pre {
	overflow-wrap: anywhere;
}

/* Homepage loads the compact core bundle, so its title colour stays common. */
body.home .vs-home-catalog-card .wp-block-post-title,
body.home .vs-home-catalog-card .wp-block-post-title a {
	color: #0d8a6f !important;
}

body.home .vs-home-catalog-card .wp-block-post-title a:hover,
body.home .vs-home-catalog-card .wp-block-post-title a:focus-visible {
	color: #086c56 !important;
}

/* Both custom and WooCommerce drawers must never create page-level scroll. */
.vs-checkout-mini-cart__overlay,
.wc-block-components-drawer__screen-overlay {
	max-width: 100vw;
	overflow: hidden;
}

.vs-checkout-mini-cart__drawer,
.wc-block-mini-cart__drawer {
	width: min(400px, 86vw) !important;
	max-width: calc(100vw - 24px) !important;
	overflow-x: hidden !important;
}

.vs-checkout-mini-cart__drawer *,
.wc-block-mini-cart__drawer * {
	min-width: 0;
	max-width: 100%;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents,
.wc-block-mini-cart__drawer .wc-block-mini-cart__items {
	width: 100%;
	overflow-x: hidden !important;
}

.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title {
	display: flex;
	min-height: 60px;
	padding: 0 154px 0 16px;
	align-items: center;
	line-height: 20px;
	white-space: nowrap;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	top: 30px;
	right: 12px;
	max-width: calc(100% - 116px);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table,
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table tbody,
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table tr {
	width: 100%;
	max-width: 100%;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__image {
	width: 68px !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-name,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata,
.wc-block-mini-cart__drawer .wc-block-cart-item__total {
	overflow-wrap: anywhere;
	word-break: normal;
}

/* Phone-first spacing and typography. */
@media (max-width: 599px) {
	body {
		--wp--style--root--padding-right: 16px;
		--wp--style--root--padding-left: 16px;
	}

	header.wp-block-template-part .has-global-padding {
		padding-inline: 14px !important;
	}

	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap {
		min-height: 68px;
		padding-block: 12px !important;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		width: min(184px, calc(100vw - 132px)) !important;
		max-width: 100% !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
		right: 10px !important;
		width: min(286px, calc(100vw - 20px)) !important;
		max-width: calc(100vw - 20px) !important;
	}

	.wp-site-blocks > .wp-block-spacer[style*="height:56px"] {
		height: 28px !important;
	}

	.wp-site-blocks main.wp-block-group:not(.lp-wrapper) {
		width: 100%;
		padding-inline: 16px !important;
	}

	body.woocommerce-shop main.wp-block-group > h1,
	body.post-type-archive-product main.wp-block-group > h1 {
		font-size: clamp(26px, 9vw, 36px);
	}

	body.woocommerce-shop .vs-catalog-live-search,
	body.post-type-archive-product .vs-catalog-live-search {
		margin-block: 8px 24px !important;
	}

	body.woocommerce-shop .vs-catalog-live-search__input,
	body.post-type-archive-product .vs-catalog-live-search__input {
		height: 48px;
		padding-inline: 44px;
		font-size: 16px;
	}

	body.woocommerce-shop .vs-catalog-live-search__icon,
	body.post-type-archive-product .vs-catalog-live-search__icon {
		left: 14px;
		width: 19px;
		height: 19px;
	}

	body.woocommerce-shop .wc-block-product-template,
	body.post-type-archive-product .wc-block-product-template,
	body.single-product .wp-block-woocommerce-product-template {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 18px 10px !important;
	}

	body.woocommerce-shop .wc-block-product,
	body.post-type-archive-product .wc-block-product,
	body.single-product .wp-block-woocommerce-product-template > .wc-block-product {
		display: flex !important;
		min-width: 0 !important;
		flex-direction: column;
	}

	body.woocommerce-shop .wp-block-post-title,
	body.post-type-archive-product .wp-block-post-title,
	body.single-product .wp-block-woocommerce-product-template .wp-block-post-title {
		min-height: 2.7em !important;
		font-size: clamp(13px, 4vw, 16px) !important;
		line-height: 1.35;
	}

	body.woocommerce-shop .wp-block-woocommerce-product-price,
	body.post-type-archive-product .wp-block-woocommerce-product-price {
		font-size: clamp(15px, 4.6vw, 18px) !important;
	}

	body.single-product main.wp-block-group > .wp-block-columns.alignwide {
		margin-top: 0;
		gap: 24px !important;
	}

	body.single-product .wp-block-woocommerce-product-image-gallery {
		width: min(100%, 440px);
		margin-inline: auto;
	}

	body.single-product .wp-block-post-title {
		font-size: clamp(27px, 9vw, 36px);
	}

	body.single-product .cia-bullets li {
		gap: 9px;
		padding-block: 8px;
		font-size: 14px;
		line-height: 1.5;
	}

	body.single-product .single_add_to_cart_button {
		min-width: 0 !important;
		padding-inline: 8px !important;
		font-size: clamp(12px, 3.9vw, 15px) !important;
		white-space: nowrap !important;
	}

	.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title {
		padding-right: 142px;
		font-size: 16px;
	}

	.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
		padding-inline: 7px !important;
		font-size: 11.5px;
	}

	.vs-checkout-mini-cart__drawer > header {
		padding-inline: 12px 10px;
		gap: 8px;
	}

	.vs-checkout-mini-cart__drawer h2 {
		font-size: 16px;
		white-space: nowrap;
	}

	.vs-checkout-mini-cart__close {
		padding-inline: 7px;
		font-size: 11.5px;
		white-space: nowrap;
	}
}

@media (max-width: 359px) {
	body.woocommerce-shop .wc-block-product-template,
	body.post-type-archive-product .wc-block-product-template,
	body.single-product .wp-block-woocommerce-product-template {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.woocommerce-shop .wp-block-woocommerce-product-button .wc-block-components-product-button__button,
	body.post-type-archive-product .wp-block-woocommerce-product-button .wc-block-components-product-button__button,
	body.single-product .wp-block-woocommerce-product-template .wp-block-woocommerce-product-button .wc-block-components-product-button__button {
		font-size: 13px !important;
	}

	body.home #main-content .btn-add {
		font-size: 11.5px !important;
	}

	.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title {
		padding-right: 132px;
		font-size: 15px;
	}

	.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
		font-size: 10.5px;
	}
}

@media (min-width: 600px) and (max-width: 899px) {
	body {
		--wp--style--root--padding-right: 24px;
		--wp--style--root--padding-left: 24px;
	}

	body.woocommerce-shop .wc-block-product-template,
	body.post-type-archive-product .wc-block-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	body.single-product .wp-block-woocommerce-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

/* Left-side mobile navigation drawer. */
@keyframes vs-mobile-drawer-in {
	from {
		transform: translateX(-100%);
	}

	to {
		transform: translateX(0);
	}
}

@keyframes vs-mobile-drawer-out {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

@media (max-width: 599px) {
	header.wp-block-template-part .wp-block-navigation__responsive-container-open.is-menu-active {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: scale(.88);
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		top: 0 !important;
		right: auto !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		max-width: none !important;
		height: 100vh !important;
		height: 100dvh !important;
		min-height: 100vh !important;
		min-height: 100dvh !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		border: 0 !important;
		overscroll-behavior: contain;
		border-right: 0 !important;
		border-radius: 0 !important;
		background: #fff !important;
		box-shadow: none !important;
		animation: vs-mobile-drawer-in .24s cubic-bezier(.22, 1, .36, 1) both !important;
		z-index: 100001 !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open.is-menu-closing {
		pointer-events: none !important;
		animation: vs-mobile-drawer-out .22s cubic-bezier(.4, 0, 1, 1) both !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		width: 100% !important;
		min-height: 100vh !important;
		min-height: 100dvh !important;
		margin: 0 !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		position: relative !important;
		overflow: visible !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #fff !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog::before {
		display: none !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: inline-flex !important;
		position: absolute !important;
		top: max(18px, env(safe-area-inset-top)) !important;
		right: max(18px, env(safe-area-inset-right)) !important;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		align-items: center !important;
		justify-content: center !important;
		border: 1px solid #dce7ed !important;
		border-radius: 999px !important;
		background: #f3f7f9 !important;
		color: #0f3d5c !important;
		box-shadow: 0 2px 8px rgba(15, 61, 92, .08) !important;
		z-index: 3 !important;
		transition: background-color .18s ease, border-color .18s ease !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:focus-visible {
		border-color: #bed3df !important;
		background: #e8f2f7 !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
		display: block !important;
		width: 22px !important;
		height: 22px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		display: flex !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 100vh !important;
		min-height: 100dvh !important;
		padding: max(18px, env(safe-area-inset-top)) 18px max(32px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)) !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
	}

	header.wp-block-template-part .vs-mobile-menu__fullscreen-header {
		display: flex;
		width: 100%;
		min-height: 58px;
		box-sizing: border-box;
		padding-right: 64px;
		align-items: center;
		border-bottom: 1px solid #e1e9ee;
	}

	header.wp-block-template-part .vs-mobile-menu__fullscreen-logo {
		display: inline-flex;
		align-items: center;
		color: #0f3d5c;
		font-size: 24px;
		font-weight: 800;
		line-height: 1;
		text-decoration: none;
	}

	header.wp-block-template-part .vs-mobile-menu__fullscreen-logo-image {
		display: block !important;
		width: auto !important;
		max-width: 156px !important;
		height: auto !important;
		max-height: 40px !important;
		object-fit: contain;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search {
		display: block !important;
		width: 100% !important;
		margin: 22px 0 20px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__title {
		display: block !important;
		margin: 0 0 10px !important;
		color: #456071 !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		letter-spacing: .06em !important;
		text-transform: uppercase !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__controls {
		display: flex !important;
		width: 100% !important;
		height: 50px !important;
		box-sizing: border-box !important;
		border: 1px solid #c8d9e3 !important;
		border-radius: 14px !important;
		background: #f7fafc !important;
		box-shadow: 0 2px 10px rgba(15, 61, 92, .05) !important;
		transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__controls:focus-within {
		border-color: #9fd4c2 !important;
		background: #fff !important;
		box-shadow: 0 2px 10px rgba(15, 61, 92, .08) !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__input {
		width: 100% !important;
		height: 48px !important;
		min-width: 0 !important;
		padding: 0 12px 0 15px !important;
		border: 0 !important;
		background: transparent !important;
		color: #163a50 !important;
		font-size: 16px !important;
		box-shadow: none !important;
		outline: 0 !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__submit {
		display: inline-flex !important;
		width: 40px !important;
		height: 40px !important;
		margin: 4px !important;
		padding: 0 !important;
		flex: 0 0 40px !important;
		align-items: center !important;
		justify-content: center !important;
		border: 0 !important;
		border-radius: 10px !important;
		background: #0d8a6f !important;
		color: #fff !important;
		box-shadow: 0 3px 8px rgba(15, 79, 120, .2) !important;
		transition: background-color .18s ease !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__submit:hover,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__submit:focus-visible {
		background: #0d8a6f !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__submit svg {
		width: 19px !important;
		height: 19px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-search-suggestions {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		width: 100%;
		max-height: min(340px, 45vh);
		max-height: min(340px, 45dvh);
		margin-top: 8px;
		box-shadow: 0 9px 24px rgba(15, 61, 92, .12);
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: flex !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-bottom: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		display: flex !important;
		width: 100% !important;
		min-height: 52px !important;
		box-sizing: border-box !important;
		padding: 10px 10px 10px 14px !important;
		align-items: center !important;
		justify-content: space-between !important;
		border: 1px solid #e0e9ef !important;
		border-radius: 12px !important;
		background: #fff !important;
		color: #0f3d5c !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
		letter-spacing: -.01em !important;
		text-decoration: none !important;
		box-shadow: 0 2px 8px rgba(15, 61, 92, .035) !important;
		transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
		display: none !important;
		content: none !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible {
		border-color: #c4d9e5 !important;
		background: #f7fbfd !important;
		color: #155a86 !important;
		box-shadow: 0 4px 12px rgba(15, 61, 92, .07) !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content {
		border-color: #bcd6e5 !important;
		background: #edf6fa !important;
		color: #0d8a6f !important;
		box-shadow: none !important;
	}
}

@media (max-width: 599px) and (prefers-reduced-motion: reduce) {
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open.is-menu-closing {
		animation: none !important;
	}
}

/* Accessibility and final mobile polish. */
.vs-skip-link {
	position: fixed;
	top: max(10px, env(safe-area-inset-top));
	left: max(10px, env(safe-area-inset-left));
	z-index: 100010;
	display: inline-flex;
	min-height: 44px;
	padding: 10px 16px;
	align-items: center;
	border: 2px solid #fff;
	border-radius: 10px;
	background: #0f3d5c;
	box-shadow: 0 5px 18px rgba(10, 37, 64, .24);
	color: #fff;
	font-size: 15px;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
	transform: translateY(calc(-100% - 24px));
}

.vs-skip-link:focus,
.vs-skip-link:focus-visible {
	color: #fff;
	outline: 3px solid rgba(21, 101, 160, .42);
	outline-offset: 2px;
	transform: translateY(0);
}

#main-content,
#vsce-product-purchase {
	scroll-margin-top: 130px;
}

#main-content:focus,
#vsce-product-purchase:focus {
	outline: none;
}

body.vs-keyboard-navigation :where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 3px solid rgba(21, 101, 160, .48) !important;
	outline-offset: 3px !important;
}

body.vs-keyboard-navigation #main-content:focus,
body.vs-keyboard-navigation #vsce-product-purchase:focus,
body.vs-keyboard-navigation header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible,
body.vs-keyboard-navigation header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:focus-visible,
body.vs-keyboard-navigation header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__submit:focus-visible {
	outline: 3px solid rgba(21, 101, 160, .48) !important;
	outline-offset: 3px !important;
}

#cia-footer .footer-brand p,
#cia-footer .footer-col h4,
#cia-footer .footer-col ul li a {
	color: rgba(255, 255, 255, .72) !important;
}

#cia-footer .footer-bottom p,
#cia-footer .footer-bottom a {
	color: rgba(255, 255, 255, .68) !important;
}

body.woocommerce-shop .vs-catalog-live-search__status,
body.post-type-archive-product .vs-catalog-live-search__status,
body.search .vs-global-search__intro,
body.search .vs-global-search-card__excerpt {
	color: #526e81;
}

body.search .vs-global-search__pagination a,
body.search .vs-global-search__pagination .page-numbers {
	min-width: 44px;
	min-height: 44px;
}

@media (max-width: 599px) {
	body.home #main-content .hero-eyebrow,
	body.search .vs-global-search__eyebrow {
		font-size: 11px !important;
		line-height: 1.35 !important;
	}

	body.home #main-content :is(.btn-cta, .btn-ghost, .btn-promo, .btn-add),
	body.single-product :is(.cta-btn, .btn-cta),
	#cia-footer a {
		min-height: 44px;
	}

	#cia-footer .footer-col ul li {
		margin-bottom: 2px !important;
	}

	#cia-footer .footer-col ul li a,
	#cia-footer .footer-bottom a {
		display: inline-flex;
		align-items: center;
	}

	body.single-product .cia-trust-box span,
	body.single-product .trust-row span {
		font-size: 12px !important;
		line-height: 1.4 !important;
	}

	body.search .vs-global-search__form .wp-block-search__inside-wrapper {
		height: 50px;
	}

	body.search .vs-global-search__form .wp-block-search__input {
		height: 44px;
		font-size: 16px;
	}

	body.search .vs-global-search__form .wp-block-search__button {
		width: 44px;
		height: 44px;
		min-width: 44px;
	}

	.wc-block-mini-cart__drawer .wc-block-mini-cart__footer,
	.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-footer-block {
		padding-bottom: max(16px, env(safe-area-inset-bottom));
	}
}

@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}

	body *,
	body *::before,
	body *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Recently viewed products on single-product pages. */
body.single-product .vs-recently-viewed {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin: clamp(44px, 6vw, 72px) auto clamp(40px, 5vw, 64px);
	padding: 0;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}

body.single-product .vs-recently-viewed__title {
	margin: 0 0 clamp(18px, 2.5vw, 26px);
	color: #0f3d5c;
	font-family: var(--wp--preset--font-family--heading-font, Georgia, 'Times New Roman', serif);
	font-size: clamp(27px, 3vw, 36px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.02em;
}

body.single-product .vs-recently-viewed__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: clamp(12px, 2.2vw, 24px);
}

body.single-product .vs-recently-viewed__card {
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
}

body.single-product .vs-recently-viewed__image {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 14px;
	background: #f5f7f8;
}

body.single-product .vs-recently-viewed__image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform .22s ease;
}

body.single-product .vs-recently-viewed__card:hover .vs-recently-viewed__image img {
	transform: scale(1.025);
}

body.single-product .vs-recently-viewed__badge {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: inline-flex;
	min-width: 46px;
	min-height: 30px;
	box-sizing: border-box;
	padding: 5px 9px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #d9424e;
	box-shadow: 0 4px 12px rgba(94, 25, 30, .2);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
}

body.single-product .vs-recently-viewed__body {
	display: flex;
	min-width: 0;
	height: 100%;
	padding: 14px 3px 0;
	flex-direction: column;
	align-items: stretch;
}

body.single-product .vs-recently-viewed__name {
	display: -webkit-box;
	min-height: 2.7em !important;
	margin: 0 0 9px !important;
	overflow: hidden;
	color: #173f58;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
	font-size: clamp(15px, 1.5vw, 18px) !important;
	font-weight: 750;
	line-height: 1.35;
	text-align: center;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body.single-product .vs-recently-viewed__name a {
	color: inherit;
	text-decoration: none;
}

body.single-product .vs-recently-viewed__name a:hover,
body.single-product .vs-recently-viewed__name a:focus-visible {
	color: #0d8a6f;
}

body.single-product .vs-recently-viewed__price {
	display: flex;
	min-height: 43px;
	margin: 0 0 12px;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	color: #0f3d5c;
	font-size: clamp(17px, 1.6vw, 20px);
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
}

body.single-product .vs-recently-viewed__price del {
	position: relative;
	display: block;
	margin: 0;
	color: #5e7280;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
}

body.single-product .vs-recently-viewed__price del::after {
	position: absolute;
	top: 50%;
	right: -1px;
	left: -1px;
	height: 1px;
	background: currentColor;
	content: '';
	transform: translateY(-50%);
}

body.single-product .vs-recently-viewed__price ins {
	display: block;
	margin: 0;
	color: #0f3d5c;
	font: inherit;
	text-decoration: none;
}

body.single-product .vs-recently-viewed .btn-add {
	display: inline-flex !important;
	width: 100% !important;
	min-height: 44px;
	box-sizing: border-box;
	margin-top: auto;
	padding: 10px 9px !important;
	align-items: center;
	justify-content: center;
	border: 1px solid #0d8a6f;
	border-radius: 10px;
	background: #0d8a6f;
	color: #fff;
	font-family: inherit;
	font-size: clamp(12px, 1.25vw, 14px) !important;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

body.single-product .vs-recently-viewed .btn-add:hover,
body.single-product .vs-recently-viewed .btn-add:focus-visible {
	border-color: #0a7260;
	background: #0a7260;
	color: #fff;
}

@media (max-width: 899px) {
	body.single-product .vs-recently-viewed__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	body.single-product .vs-recently-viewed {
		margin-block: 38px 42px;
	}

	body.single-product .vs-recently-viewed__title {
		margin-bottom: 18px;
		font-size: clamp(25px, 8vw, 31px);
	}

	body.single-product .vs-recently-viewed__grid {
		gap: 20px 10px;
	}

	body.single-product .vs-recently-viewed__image {
		border-radius: 11px;
	}

	body.single-product .vs-recently-viewed__body {
		padding-inline: 1px;
	}

	body.single-product .vs-recently-viewed__name {
		font-size: clamp(13px, 4vw, 16px) !important;
	}

	body.single-product .vs-recently-viewed .btn-add {
		min-height: 42px;
		font-size: clamp(11px, 3.35vw, 13px) !important;
	}
}

@media (max-width: 359px) {
	body.single-product .vs-recently-viewed__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.single-product .vs-recently-viewed__image img {
		transition: none;
	}

	body.single-product .vs-recently-viewed__card:hover .vs-recently-viewed__image img {
		transform: none;
	}
}

/* Related products: the WooCommerce flex-column width must be reset when the
 * block becomes a grid, otherwise every card occupies only 20% of its cell. */
body.single-product .wp-block-woocommerce-product-collection > h2.wp-block-heading {
	box-sizing: border-box;
	width: 100%;
	margin: clamp(48px, 7vw, 82px) 0 24px !important;
	color: #0d8a6f !important;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif) !important;
	font-size: clamp(24px, 2.6vw, 32px) !important;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.2 !important;
}

/* The Ozempic story, testimonials, FAQ and guarantee are intentionally nested
 * in its legacy collection wrapper. Hide only the related product heading and
 * grid while preserving every editorial section around them. */
body.vsce-ozempic-product .wp-block-woocommerce-product-collection > h2.wp-block-heading,
body.vsce-ozempic-product .wp-block-woocommerce-product-collection > ul.wp-block-woocommerce-product-template {
	display: none !important;
}

body.single-product ul.wp-block-woocommerce-product-template {
	display: grid !important;
	width: 100%;
	max-width: 100%;
	margin: 0 0 clamp(46px, 6vw, 72px) !important;
	padding: 0 !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	grid-auto-rows: 1fr;
	align-items: stretch;
	gap: 14px !important;
}

body.single-product ul.wp-block-woocommerce-product-template.is-flex-container > li.wc-block-product,
body.single-product ul.wp-block-woocommerce-product-template > li.wc-block-product {
	display: flex !important;
	box-sizing: border-box;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	flex-direction: column;
	border: 1px solid #e1e9ef !important;
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 7px 22px rgba(15, 61, 92, 0.075);
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.single-product ul.wp-block-woocommerce-product-template > li.wc-block-product:hover,
body.single-product ul.wp-block-woocommerce-product-template > li.wc-block-product:focus-within {
	border-color: #c7d8e4 !important;
	box-shadow: 0 12px 30px rgba(15, 61, 92, 0.13);
	transform: translateY(-3px);
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-image {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 0 13px !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	flex: 0 0 auto;
	background: #fff;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-image > a,
body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-image img {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-image img {
	padding: 8%;
	background: #fff;
	object-fit: contain !important;
}

body.single-product ul.wp-block-woocommerce-product-template .vs-catalog-discount-badge {
	top: 10px;
	right: 10px;
	min-width: 46px;
	min-height: 30px;
	padding: 5px 9px;
	border-radius: 999px;
	background: #d9424e;
	box-shadow: 0 4px 12px rgba(94, 25, 30, 0.2);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-post-title {
	display: -webkit-box;
	box-sizing: border-box;
	height: 2.8em;
	min-height: 2.8em !important;
	max-height: 2.8em;
	margin: 0 12px 11px !important;
	overflow: hidden;
	color: #0d8a6f;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif) !important;
	font-size: clamp(14px, 1.2vw, 17px) !important;
	font-weight: 750;
	line-height: 1.4 !important;
	text-align: center;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-post-title a {
	color: inherit;
	font: inherit;
	text-decoration: none;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price {
	display: flex;
	box-sizing: border-box;
	height: 48px;
	min-height: 48px;
	margin: 0 12px 14px !important;
	align-items: center;
	justify-content: center;
	color: #0f3d5c;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif) !important;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price .wc-block-components-product-price {
	display: flex;
	min-height: 44px;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price .wc-block-components-product-price > del {
	position: relative;
	display: block;
	margin: 0;
	color: #5e7280;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none !important;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price .wc-block-components-product-price > del .woocommerce-Price-amount {
	position: relative;
	display: inline-block;
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	text-decoration: none !important;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price .wc-block-components-product-price > del .woocommerce-Price-amount::after {
	position: absolute;
	top: 50%;
	right: -1px;
	left: -1px;
	height: 1px;
	background: currentColor;
	content: '';
	transform: translateY(-50%);
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price .wc-block-components-product-price > ins {
	display: block;
	margin: 0;
	color: #0f3d5c;
	line-height: 1.2;
	text-decoration: none;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price .wc-block-components-product-price > .woocommerce-Price-amount,
body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price .wc-block-components-product-price > ins .woocommerce-Price-amount {
	color: #0f3d5c !important;
	font-size: clamp(16px, 1.5vw, 19px) !important;
	font-weight: 800 !important;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-button {
	width: 100%;
	margin: auto 0 0 !important;
	padding: 0 !important;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-button .wc-block-components-product-button__button {
	display: flex !important;
	box-sizing: border-box;
	width: 100% !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 9px 7px !important;
	align-items: center;
	justify-content: center;
	border: 1px solid #0d8a6f !important;
	border-radius: 10px !important;
	background: #0d8a6f !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif) !important;
	font-size: clamp(11px, 1vw, 13px) !important;
	font-weight: 750 !important;
	line-height: 1.2;
	white-space: nowrap !important;
}

body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-button .added_to_cart {
	display: none !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
	body.single-product ul.wp-block-woocommerce-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
}

@media (max-width: 767px) {
	body.single-product .wp-block-woocommerce-product-collection > h2.wp-block-heading {
		margin-top: 42px !important;
		margin-bottom: 18px !important;
		font-size: clamp(23px, 7vw, 29px) !important;
	}

	body.single-product ul.wp-block-woocommerce-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px 10px !important;
	}

	body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-image img {
		padding: 6%;
	}

	body.single-product ul.wp-block-woocommerce-product-template .wp-block-post-title {
		margin-inline: 8px !important;
		font-size: clamp(13px, 4vw, 16px) !important;
	}

	body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price {
		margin-inline: 8px !important;
	}

	body.single-product ul.wp-block-woocommerce-product-template .wp-block-woocommerce-product-button .wc-block-components-product-button__button {
		min-height: 44px;
		font-size: clamp(10.5px, 3.2vw, 13px) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.single-product ul.wp-block-woocommerce-product-template > li.wc-block-product {
		transition: none;
	}

	body.single-product ul.wp-block-woocommerce-product-template > li.wc-block-product:hover,
	body.single-product ul.wp-block-woocommerce-product-template > li.wc-block-product:focus-within {
		transform: none;
	}
}

/* Final viewport gutters for tablet and compact laptop layouts. Gutenberg's
 * alignwide blocks otherwise touch both screen edges between 600px and the
 * desktop content cap. */
@media (min-width: 600px) and (max-width: 1199px) {
	body.woocommerce-shop main.wp-block-group > .alignwide,
	body.post-type-archive-product main.wp-block-group > .alignwide,
	body.tax-product_cat main.wp-block-group > .alignwide,
	body.tax-product_tag main.wp-block-group > .alignwide,
	body.single-product main.wp-block-group > .wp-block-columns.alignwide,
	body.single-product main.wp-block-group > .wp-block-woocommerce-product-collection.alignwide {
		box-sizing: border-box;
		width: calc(100% - 48px) !important;
		max-width: 1100px !important;
		margin-inline: auto !important;
	}
}

/* Block-theme blog archive: the VSMedic editorial layout in Vitalix colours. */
body.blog:not(.wp-theme-astra) main.wp-block-group {
	box-sizing: border-box;
	width: min(1100px, calc(100% - 40px)) !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
	padding: clamp(46px, 6vw, 72px) 0 clamp(70px, 8vw, 104px) !important;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}

body.blog:not(.wp-theme-astra) .vs-block-blog-hero {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 28px;
	padding: 0 0 30px;
	border-bottom: 1px solid #d7e7e1;
}

body.blog:not(.wp-theme-astra) .vs-block-blog-hero__eyebrow {
	margin: 0 0 9px;
	color: #0d8a6f;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.blog:not(.wp-theme-astra) .vs-block-blog-hero__title {
	margin: 0;
	color: #0b5d48;
	font-family: var(--wp--preset--font-family--heading-font, 'Lora', Georgia, serif);
	font-size: clamp(38px, 4.8vw, 52px);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

body.blog:not(.wp-theme-astra) .vs-block-blog-hero__intro {
	max-width: 720px;
	margin: 14px 0 0;
	color: #4e6677;
	font-size: clamp(15px, 1.7vw, 17px);
	line-height: 1.65;
}

body.blog:not(.wp-theme-astra) .vs-block-blog-hero__categories {
	display: flex;
	margin-top: 20px;
	flex-wrap: wrap;
	gap: 9px;
}

body.blog:not(.wp-theme-astra) .vs-block-blog-hero__categories a {
	display: inline-flex;
	min-height: 38px;
	box-sizing: border-box;
	padding: 8px 15px;
	align-items: center;
	justify-content: center;
	border: 1px solid #b9dcd0;
	border-radius: 999px;
	background: #edf8f4;
	color: #0a725a;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

body.blog:not(.wp-theme-astra) .vs-block-blog-hero__categories a:hover,
body.blog:not(.wp-theme-astra) .vs-block-blog-hero__categories a:focus-visible {
	border-color: #0d8a6f;
	background: #0d8a6f;
	color: #fff;
}

body.blog:not(.wp-theme-astra) .vs-block-blog-feed-title {
	margin: 0 0 22px;
	color: #0b5d48;
	font-family: var(--wp--preset--font-family--heading-font, 'Lora', Georgia, serif);
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

body.blog:not(.wp-theme-astra) main.wp-block-group > .wp-block-query.alignfull {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.blog:not(.wp-theme-astra) .wp-block-query > ul.wp-block-post-template {
	display: grid !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	align-items: stretch;
	gap: 16px;
	list-style: none;
}

body.blog:not(.wp-theme-astra) .wp-block-query > ul.wp-block-post-template > li.wp-block-post {
	display: flex;
	min-width: 0;
	height: 100%;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid #d8e6e1;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 6px 20px rgba(14, 75, 59, 0.045);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.blog:not(.wp-theme-astra) .wp-block-query > ul.wp-block-post-template > li.wp-block-post:hover,
body.blog:not(.wp-theme-astra) .wp-block-query > ul.wp-block-post-template > li.wp-block-post:focus-within {
	border-color: #b9d9ce;
	box-shadow: 0 11px 28px rgba(14, 75, 59, 0.09);
	transform: translateY(-2px);
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post > .wp-block-group {
	display: flex !important;
	width: 100%;
	min-height: 300px;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 22px !important;
	align-items: stretch;
	flex-direction: column;
	gap: 0;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__excerpt {
	display: contents;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__category {
	order: -1;
	margin: 0 0 12px;
	color: #0d8a6f;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.055em;
	line-height: 1.35;
	text-transform: uppercase;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__category a {
	color: inherit;
	text-decoration: none;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post h2.wp-block-post-title {
	display: -webkit-box;
	min-height: 2.55em;
	max-height: 2.55em;
	margin: 0 0 14px !important;
	overflow: hidden;
	color: #0b5d48;
	font-family: var(--wp--preset--font-family--heading-font, 'Lora', Georgia, serif) !important;
	font-size: clamp(19px, 1.75vw, 23px) !important;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.28 !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post h2.wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post h2.wp-block-post-title a:hover,
body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post h2.wp-block-post-title a:focus-visible {
	color: #0d8a6f;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__excerpt > p {
	display: -webkit-box;
	min-height: 4.8em;
	max-height: 4.8em;
	margin: 0 0 20px;
	overflow: hidden;
	color: #5c7180;
	font-size: 14px;
	font-weight: 450;
	line-height: 1.6;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__meta {
	display: flex;
	width: 100%;
	box-sizing: border-box;
	margin-top: auto;
	padding-top: 16px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-top: 1px solid #e2ece8;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__meta time {
	color: #81978e;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__link {
	color: #0d8a6f;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__link:hover,
body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__link:focus-visible {
	color: #0a725a;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .wp-block-post-date,
body.blog:not(.wp-theme-astra) .wp-block-query > .wp-block-group:not(:has(*)) {
	display: none !important;
}

body.blog:not(.wp-theme-astra) footer.wp-block-template-part:has(.vs-block-site-footer) {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer {
	box-sizing: border-box;
	width: 100%;
	padding: 58px 20px 24px;
	background: #064a34;
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer__inner,
body.blog:not(.wp-theme-astra) .vs-block-site-footer__bottom {
	box-sizing: border-box;
	width: min(1040px, 100%);
	margin-inline: auto;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer__inner {
	display: grid;
	padding-bottom: 42px;
	grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(160px, 0.8fr));
	gap: clamp(40px, 7vw, 90px);
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer__brand .custom-logo-link,
body.blog:not(.wp-theme-astra) .vs-block-site-footer__wordmark {
	display: inline-flex;
	width: fit-content;
	margin: 0 0 18px;
	color: #fff;
	font-family: var(--wp--preset--font-family--heading-font, 'Lora', Georgia, serif);
	font-size: 24px;
	font-weight: 700;
	text-decoration: none;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer__brand .custom-logo {
	display: block;
	width: auto;
	max-width: 92px;
	height: 62px;
	object-fit: contain;
	object-position: left center;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer__brand p {
	max-width: 290px;
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer__column {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 14px;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer__column h2 {
	margin: 0 0 6px;
	color: rgba(255, 255, 255, 0.72);
	font-family: inherit;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer a {
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer a:hover,
body.blog:not(.wp-theme-astra) .vs-block-site-footer a:focus-visible {
	color: #fff;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer__bottom {
	display: flex;
	padding-top: 20px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 12px;
}

body.blog:not(.wp-theme-astra) .vs-block-site-footer__bottom a {
	font-size: 12px;
}

@media (max-width: 899px) {
	body.blog:not(.wp-theme-astra) .wp-block-query > ul.wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.blog:not(.wp-theme-astra) .vs-block-site-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 48px;
	}

	body.blog:not(.wp-theme-astra) .vs-block-site-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 599px) {
	body.blog:not(.wp-theme-astra) main.wp-block-group {
		width: calc(100% - 28px) !important;
		padding-block: 32px 64px !important;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero {
		margin-bottom: 24px;
		padding-bottom: 24px;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero__title {
		font-size: clamp(34px, 11vw, 42px);
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero__intro {
		margin-top: 10px;
		font-size: 15px;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero__categories {
		margin-top: 16px;
		gap: 7px;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero__categories a {
		min-height: 36px;
		padding: 7px 12px;
		font-size: 12px;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-feed-title {
		margin-bottom: 18px;
		font-size: 28px;
	}

	body.blog:not(.wp-theme-astra) .wp-block-query > ul.wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
		gap: 13px;
	}

	body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post > .wp-block-group {
		min-height: 0;
		padding: 19px !important;
	}

	body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post h2.wp-block-post-title {
		font-size: 20px !important;
	}

	body.blog:not(.wp-theme-astra) .vs-block-site-footer {
		padding: 44px 20px 26px;
	}

	body.blog:not(.wp-theme-astra) .vs-block-site-footer__inner {
		padding-bottom: 34px;
		grid-template-columns: minmax(0, 1fr);
		gap: 34px;
	}

	body.blog:not(.wp-theme-astra) .vs-block-site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.blog:not(.wp-theme-astra) .wp-block-query > ul.wp-block-post-template > li.wp-block-post {
		transition: none;
	}

	body.blog:not(.wp-theme-astra) .wp-block-query > ul.wp-block-post-template > li.wp-block-post:hover,
	body.blog:not(.wp-theme-astra) .wp-block-query > ul.wp-block-post-template > li.wp-block-post:focus-within {
		transform: none;
	}
}

/* Block-theme editorial article: VSMedic structure, Vitalix palette. */
body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 20px 92px !important;
	background: #fff;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}

body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-group.alignfull {
	box-sizing: border-box;
	width: min(860px, 100%) !important;
	max-width: 860px !important;
	margin: 0 auto !important;
	padding: clamp(42px, 6vw, 72px) 0 0 !important;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-hero {
	width: 100%;
	max-width: none !important;
	box-sizing: border-box;
	margin: 0 0 clamp(48px, 6vw, 68px);
	padding-bottom: 30px;
	border-bottom: 1px solid #d7e7e1;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-breadcrumbs {
	display: flex;
	min-width: 0;
	margin: 0 0 20px;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px 10px;
	color: #789086;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-breadcrumbs a {
	color: #0d8a6f;
	font-weight: 700;
	text-decoration: none;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-breadcrumbs a:hover,
body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-breadcrumbs a:focus-visible {
	color: #086c56;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-breadcrumbs [aria-current='page'] {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-categories {
	margin: 0 0 10px;
	color: #0d8a6f;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-categories a {
	color: inherit;
	text-decoration: none;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-title {
	max-width: 820px;
	margin: 0 !important;
	color: #0b5d48 !important;
	font-family: var(--wp--preset--font-family--heading-font, 'Lora', Georgia, serif) !important;
	font-size: clamp(40px, 4.6vw, 52px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.04em;
	line-height: 1.06 !important;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-lead {
	max-width: 720px;
	margin: 16px 0 0;
	color: #506979;
	font-size: clamp(16px, 1.7vw, 18px);
	line-height: 1.65;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-meta {
	display: flex;
	margin-top: 22px;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 24px;
	color: #81958d;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.4;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-meta strong {
	color: #0d8a6f;
	font-weight: 800;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-hero + .wp-block-group,
body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-group.alignfull > .wp-block-group:not(:has(*)),
body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-group.alignfull > .wp-block-comments,
body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-comments,
body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-group.alignwide:has(.wp-block-query) {
	display: none !important;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content,
body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-notice,
body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-footer,
body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-group.alignwide:has(.wp-block-post-navigation-link) {
	box-sizing: border-box;
	width: min(720px, 100%) !important;
	max-width: 720px !important;
	margin-inline: auto !important;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .entry-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #314a5a;
	font-size: 17px;
	line-height: 1.8;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .entry-content > * {
	margin-block-start: 0;
	margin-block-end: 1.35em;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .entry-content > p:first-child {
	font-size: 18px;
	line-height: 1.75;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content :is(h2, h3) {
	color: #0b5d48 !important;
	font-family: var(--wp--preset--font-family--heading-font, 'Lora', Georgia, serif) !important;
	font-weight: 700 !important;
	letter-spacing: -0.025em;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content h2 {
	margin-top: 2.15em !important;
	margin-bottom: 0.62em !important;
	font-size: clamp(28px, 3.4vw, 36px) !important;
	line-height: 1.18 !important;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content h3 {
	margin-top: 1.7em !important;
	margin-bottom: 0.55em !important;
	font-size: clamp(22px, 2.8vw, 27px) !important;
	line-height: 1.25 !important;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content :is(ul, ol) {
	box-sizing: border-box;
	padding-left: 1.35em;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content li {
	margin-bottom: 0.58em;
	padding-left: 0.2em;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content li::marker {
	color: #0d8a6f;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content a {
	color: #0d8a6f;
	font-weight: 650;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content blockquote {
	box-sizing: border-box;
	margin: 30px 0 40px !important;
	padding: 20px 24px;
	border: 0;
	border-left: 4px solid #0d8a6f;
	border-radius: 0 12px 12px 0;
	background: #edf8f4;
	color: #245c4e;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content blockquote p {
	margin: 0;
	font-size: 17px;
	line-height: 1.75;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .vs-blog-context-links {
	margin-top: 34px;
	padding-top: 22px;
	border-top: 1px solid #dceae5;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .vs-article-sources {
	margin-top: 34px;
	padding: 21px 24px;
	border-radius: 12px;
	background: #f4f8f6;
	font-size: 14px;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .vs-article-sources h2 {
	margin: 0 0 12px !important;
	font-size: 23px !important;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .vs-article-sources ul {
	margin: 0;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-notice {
	margin-top: 42px !important;
	padding: 20px 22px;
	border: 1px solid #b9dcd0;
	border-radius: 12px;
	background: #edf8f4;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-notice h2 {
	margin: 0 0 6px;
	color: #0b5d48;
	font-family: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-notice p {
	margin: 0;
	color: #526a77;
	font-size: 13px;
	line-height: 1.65;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-footer {
	display: flex;
	margin-top: 26px !important;
	padding: 17px 0;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 22px;
	border-top: 1px solid #dceae5;
	border-bottom: 1px solid #dceae5;
	color: #0d8a6f;
	font-size: 13px;
	font-weight: 750;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-footer a {
	color: #0d8a6f;
	text-decoration: none;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-footer a:hover,
body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-footer a:focus-visible {
	color: #086c56;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-group.alignwide:has(.wp-block-post-navigation-link) {
	margin-top: 26px !important;
	margin-bottom: 0 !important;
}

body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-group.alignwide .wp-block-group[aria-label='Post navigation'] {
	padding: 18px 0 !important;
	border-top-color: #dceae5 !important;
}

body.vsce-editorial-post:not(.wp-theme-astra) .wp-block-post-navigation-link {
	color: #0d8a6f;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

body.vsce-editorial-post:not(.wp-theme-astra) .wp-block-post-navigation-link a {
	color: inherit;
}

body.vsce-editorial-post:not(.wp-theme-astra) footer.wp-block-template-part:has(.vs-block-site-footer) {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer {
	box-sizing: border-box;
	width: 100%;
	padding: 58px 20px 24px;
	background: #064a34;
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__inner,
body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__bottom {
	box-sizing: border-box;
	width: min(1040px, 100%);
	margin-inline: auto;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__inner {
	display: grid;
	padding-bottom: 42px;
	grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(160px, 0.8fr));
	gap: clamp(40px, 7vw, 90px);
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__brand .custom-logo-link,
body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__wordmark {
	display: inline-flex;
	width: fit-content;
	margin: 0 0 18px;
	color: #fff;
	font-family: var(--wp--preset--font-family--heading-font, 'Lora', Georgia, serif);
	font-size: 24px;
	font-weight: 700;
	text-decoration: none;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__brand .custom-logo {
	display: block;
	width: auto;
	max-width: 92px;
	height: 62px;
	object-fit: contain;
	object-position: left center;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__brand p {
	max-width: 290px;
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__column {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 14px;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__column h2 {
	margin: 0 0 6px;
	color: rgba(255, 255, 255, 0.72);
	font-family: inherit;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer a {
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer a:hover,
body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer a:focus-visible {
	color: #fff;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__bottom {
	display: flex;
	padding-top: 20px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 12px;
}

body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__bottom a {
	font-size: 12px;
}

@media (max-width: 899px) {
	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 48px;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 599px) {
	body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group {
		padding: 0 14px 64px !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-group.alignfull {
		padding-top: 30px !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-hero {
		margin-bottom: 36px;
		padding-bottom: 24px;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-breadcrumbs {
		margin-bottom: 16px;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-title {
		font-size: clamp(32px, 10vw, 38px) !important;
		line-height: 1.08 !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-lead {
		font-size: 15px;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .entry-content,
	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .entry-content > p:first-child {
		font-size: 16px;
		line-height: 1.72;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content h2 {
		font-size: 27px !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content blockquote {
		margin-block: 26px 34px !important;
		padding: 18px;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content blockquote p {
		font-size: 16px;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-notice {
		padding: 18px;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer {
		padding: 44px 20px 26px;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__inner {
		padding-bottom: 34px;
		grid-template-columns: minmax(0, 1fr);
		gap: 34px;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}
}

/* Product page shell mirrors VSMedic while retaining the Vitalix palette. */
body.single-product main.wp-block-group > .wp-block-columns.alignwide {
	box-sizing: border-box;
	width: min(1100px, calc(100% - 40px)) !important;
	max-width: 1100px !important;
	margin: 24px auto 0 !important;
	align-items: flex-start !important;
	gap: clamp(24px, 5vw, 56px) !important;
}

body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:first-child {
	min-width: 0;
	flex-basis: 512px !important;
}

body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child {
	min-width: 0;
}

body.single-product .wp-block-woocommerce-product-image-gallery,
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 512px !important;
	margin: 0 !important;
}

body.single-product .woocommerce-product-gallery__image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 512px !important;
	margin: 0 auto !important;
	object-fit: contain !important;
}

body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .wp-block-group:first-child {
	margin: 0 !important;
}

body.single-product main.wp-block-group > .wp-block-columns.alignwide h1.wp-block-post-title {
	margin: 24px 0 0 !important;
	color: #0d8a6f !important;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif) !important;
	font-size: clamp(30px, 3vw, 36px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.025em;
	line-height: 1.15 !important;
}

/* VSMedic fact rows, recoloured for Vitalix. */
body.single-product .vsce-product-facts,
body.single-product .vsce-product-facts .cia-bullets,
body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .cia-bullets {
	width: 100%;
	margin: 14px 0 18px !important;
	padding: 0;
}

body.single-product .vsce-product-facts .cia-bullets li,
body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .cia-bullets li {
	display: flex;
	min-height: 0;
	margin: 0;
	padding: 10px 0;
	align-items: flex-start;
	gap: 12px;
	border-bottom: 1px solid #d5e8e1;
	color: #2d4a5a;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	list-style: none;
}

body.single-product .vsce-product-facts .cia-bullets li:last-child,
body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .cia-bullets li:last-child {
	border-bottom: 0;
}

body.single-product .vsce-product-facts .cia-bullets li::before,
body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .cia-bullets li::before {
	display: flex;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	flex: 0 0 auto;
	border-radius: 50%;
	background-color: #0a725a;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 12 12'%3E%3Cpolyline points='2,6 5,9 10,3' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	content: '';
}

body.single-product .vsce-product-facts .cia-bullets strong,
body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .cia-bullets strong {
	color: #0d8a6f !important;
	font-weight: 700;
}

/* Keep all imported and generated product benefit lists on the Vitalix green
 * palette, including older templates that carry their own blue declarations. */
body.single-product .cia-bullets li {
	color: #0d8a6f !important;
}

body.single-product .cia-bullets li::before,
body.single-product .benefit-list li::before {
	background-color: #0d8a6f !important;
}

body.single-product .cia-bullets strong,
body.single-product .benefit-list strong {
	color: #0d8a6f !important;
}

/* Use the VSMedic package-card geometry with Vitalix colours. */
body.single-product .vsce-package-picker {
	display: grid;
	width: 100%;
	margin: 0 0 16px;
	gap: 0 !important;
}

body.single-product .vsce-package-picker .qs-option {
	position: relative;
	display: flex;
	box-sizing: border-box;
	width: 100%;
	min-height: 78px;
	margin: 0 0 10px;
	padding: 16px 18px;
	align-items: center;
	grid-template-columns: none;
	gap: 14px;
	border: 1.5px solid #d9e7e2;
	border-radius: 12px;
	background: #f3f8f6;
	box-shadow: none;
	color: #17384a;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
	font-size: 15px;
	line-height: 1.35;
	text-align: left;
	text-transform: none;
	cursor: pointer;
	appearance: none;
	transition: border-color 150ms ease, background-color 150ms ease;
}

body.single-product .vsce-package-picker .qs-option:last-child {
	margin-bottom: 0;
}

body.single-product .vsce-package-picker .qs-option:hover {
	border-color: #9bcbbb;
	background: #edf8f4;
	box-shadow: none;
	transform: none;
}

body.single-product .vsce-package-picker .qs-option.selected {
	border-color: #0d8a6f;
	background: #e7f5f0;
	box-shadow: none;
}

body.single-product .vsce-package-picker .qs-option:focus-visible {
	outline: 2px solid rgba(13, 138, 111, 0.5);
	outline-offset: 2px;
}

body.single-product .vsce-package-picker .qs-radio {
	display: inline-flex;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	align-items: center;
	justify-content: center;
	border: 2px solid #abd5c7;
	border-radius: 50%;
	background: #fff;
}

body.single-product .vsce-package-picker .qs-option.selected .qs-radio {
	border-color: #0d8a6f;
	background: #0d8a6f;
}

body.single-product .vsce-package-picker .qs-radio-dot {
	display: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #fff;
}

body.single-product .vsce-package-picker .qs-option.selected .qs-radio-dot {
	display: block;
}

body.single-product .vsce-package-picker .qs-info {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 2px;
}

body.single-product .vsce-package-picker .qs-title {
	margin: 0;
	color: #0a725a;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

body.single-product .vsce-package-picker .qs-saving,
body.single-product .vsce-package-picker .qs-saving.muted {
	margin: 0;
	color: #5f7d71;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

body.single-product .vsce-package-picker .qs-price-block {
	display: flex;
	min-width: 0;
	flex: 0 0 auto;
	align-items: flex-end;
	flex-direction: column;
	color: #0a725a;
	text-align: right;
	white-space: nowrap;
}

body.single-product .vsce-package-picker .qs-total {
	color: #0a725a;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
}

body.single-product .vsce-package-picker .qs-per {
	margin-top: 1px;
	color: #5f7d71;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
}

body.single-product .vsce-package-picker .qs-badge {
	position: absolute;
	top: -11px;
	right: auto;
	left: 50%;
	z-index: 2;
	padding: 3px 12px;
	border-radius: 20px;
	background: #0d8a6f;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.45;
	text-transform: uppercase;
	white-space: nowrap;
	transform: translateX(-50%);
}

body.single-product .single_add_to_cart_button {
	min-height: 0 !important;
	padding: 13px 22px !important;
	border-radius: 12px !important;
	background: #0d8a6f !important;
	font-family: var(--wp--preset--font-family--body-font, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	white-space: nowrap !important;
}

/* Keep the CTA label compact only when the real product form uses the +/-
 * quantity stepper. These form classes live on the same element. */
body.single-product.vsce-quantity-stepper-product div.wp-block-add-to-cart-form.wc-block-add-to-cart-form.wp-block-woocommerce-add-to-cart-form form.cart button.single_add_to_cart_button,
body.single-product.vsce-quantity-stepper-product div.wp-block-add-to-cart-form.wc-block-add-to-cart-form.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product .single_add_to_cart_button:focus-visible {
	background: #0a725a !important;
}

/* Product trust cards and the supported payment methods remain visible next
 * to the purchase form. */
body.single-product .btrust {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 40px 0 0 !important;
	padding-top: 14px;
	border-top: 1px solid #cfe3dc;
}

body.single-product .btrust-grid {
	display: grid !important;
	width: 100% !important;
	margin: 0 0 10px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 10px !important;
}

body.single-product .btrust-card,
body.single-product .btrust-paybar {
	display: flex !important;
	min-width: 0;
	min-height: 84px;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 12px 6px !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: column !important;
	gap: 8px !important;
	border: 1px solid #cfe3dc !important;
	border-radius: 10px !important;
	background: #edf7f1 !important;
	color: #1f4d3d !important;
	text-align: center !important;
}

body.single-product .btrust-paybar {
	width: 100% !important;
	min-height: 64px;
	padding: 12px 16px !important;
	order: 2;
	flex-direction: row !important;
	justify-content: space-between !important;
}

body.single-product .btrust-card svg,
body.single-product .btrust-paylabel svg {
	width: 20px !important;
	height: 20px !important;
	flex: 0 0 20px;
}

body.single-product .btrust-card span,
body.single-product .btrust-paylabel {
	color: #1f4d3d !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	white-space: normal !important;
}

body.single-product .btrust-card span {
	display: block !important;
}

body.single-product .btrust-paylabel {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
}

body.single-product .btrust-logos {
	display: flex !important;
	min-width: 0;
	align-items: center;
	justify-content: flex-end;
	flex-flow: row wrap;
	gap: 8px 14px;
}

body.single-product .btrust-logos .bt-lrow {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px 14px;
}

body.single-product .bt-visa {
	color: #1434cb;
	font-weight: 800;
	letter-spacing: 1px;
}

body.single-product .bt-ideal {
	color: #cc0066;
	font-weight: 800;
}

body.single-product .bt-mc {
	display: inline-flex;
}

body.single-product .bt-mc i {
	display: block;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #eb001b;
}

body.single-product .bt-mc i + i {
	margin-left: -6px;
	background: #f79e1b;
	opacity: .92;
}

body.single-product .bt-ap,
body.single-product .bt-kl {
	color: #17120f;
	font-weight: 700;
}

body.single-product .bt-gp {
	color: #5f6368;
	font-weight: 700;
}

body.single-product .bt-gp b {
	color: #4285f4;
}

body.single-product .bt-sp {
	color: #f94c43;
	font-weight: 800;
}

body.single-product .bt-az {
	color: #ff9900;
	font-weight: 800;
	white-space: nowrap;
}

body.single-product .bt-az b {
	color: #232f3e;
}

body.single-product .btrust .bt-sp,
body.single-product .btrust .bt-az {
	display: none !important;
}

@media (max-width: 599px) {
	body.single-product .btrust {
		margin-top: 26px !important;
	}

	body.single-product .btrust-grid {
		display: grid !important;
		width: 100% !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	body.single-product .btrust-card {
		min-height: 76px;
		padding: 10px 4px !important;
	}

	body.single-product .btrust-card span {
		font-size: 10.5px !important;
		white-space: nowrap !important;
	}

	body.single-product .btrust-paybar {
		display: grid !important;
		padding: 12px 10px !important;
		grid-template-columns: minmax(0, 1fr);
		align-items: center !important;
		gap: 9px !important;
	}

	body.single-product .btrust-paylabel {
		grid-column: 1;
		grid-row: 1;
		justify-self: center;
	}

	body.single-product .btrust-logos {
		display: contents !important;
		font-size: 11px;
	}

	body.single-product .btrust-logos .bt-lrow {
		gap: 7px 9px;
	}

	body.single-product .btrust-logos .bt-lrow:first-child {
		grid-column: 1;
		grid-row: 2;
		justify-content: center;
	}

	body.single-product .btrust-logos .bt-lrow:last-child {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-content: center;
	}
}

@media (max-width: 359px) {
	body.single-product .btrust {
		margin-top: 24px !important;
	}

	body.single-product .btrust-grid {
		gap: 5px !important;
	}

	body.single-product .btrust-card {
		min-height: 68px;
		padding-inline: 2px !important;
	}

	body.single-product .btrust-card svg {
		width: 18px !important;
		height: 18px !important;
	}

	body.single-product .btrust-card span,
	body.single-product .btrust-paylabel {
		font-size: 9.5px !important;
	}

	body.single-product .btrust-paybar {
		padding: 10px 7px !important;
		gap: 7px 6px !important;
	}

	body.single-product .btrust-logos {
		font-size: 9.5px;
	}

	body.single-product .btrust-logos .bt-lrow {
		gap: 5px 7px;
	}

	body.single-product .bt-mc i {
		width: 13px;
		height: 13px;
	}
}

/* The dormant WooCommerce lightbox must not create controls below the page. */
body.single-product .pswp:not(.pswp--open) {
	display: none !important;
}

@media (max-width: 781px) {
	body.single-product main.wp-block-group > .wp-block-columns.alignwide {
		width: min(100% - 32px, 620px) !important;
		margin-top: 0 !important;
		gap: 24px !important;
	}

	body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:first-child,
	body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child {
		width: 100%;
		flex-basis: auto !important;
	}

	body.single-product .wp-block-woocommerce-product-image-gallery,
	body.single-product .woocommerce-product-gallery,
	body.single-product .woocommerce-product-gallery__wrapper,
	body.single-product .woocommerce-product-gallery__image,
	body.single-product .woocommerce-product-gallery__image img {
		width: min(100%, 440px) !important;
		margin-inline: auto !important;
	}

	body.single-product main.wp-block-group > .wp-block-columns.alignwide h1.wp-block-post-title {
		margin-top: 18px !important;
		font-size: clamp(25px, 7.6vw, 32px) !important;
		line-height: 1.15 !important;
	}

	body.single-product .btrust {
		margin-top: 30px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 480px) {
	body.single-product main.wp-block-group > .wp-block-columns.alignwide {
		width: calc(100% - 28px) !important;
	}

	body.single-product .vsce-product-facts .cia-bullets li,
	body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .cia-bullets li {
		gap: 9px;
		padding-block: 8px;
		font-size: 14px;
		line-height: 1.5;
	}

	body.single-product .vsce-package-picker .qs-option {
		min-height: 70px;
		padding: 14px;
		gap: 10px;
	}

	body.single-product .vsce-package-picker .qs-radio {
		width: 18px;
		height: 18px;
		flex-basis: 18px;
	}

	body.single-product .vsce-package-picker .qs-title {
		font-size: 14px;
	}

	body.single-product .vsce-package-picker .qs-saving {
		font-size: 12px;
	}

	body.single-product .vsce-package-picker .qs-total {
		font-size: 18px;
	}

	body.single-product .vsce-package-picker .qs-per {
		font-size: 11px;
	}

	body.single-product .vsce-package-picker .qs-badge {
		top: -9px;
		padding: 2px 9px;
		font-size: 9.5px;
	}

	body.single-product .single_add_to_cart_button {
		padding: 12px 10px !important;
		font-size: 13.5px !important;
	}

	body.single-product.vsce-quantity-stepper-product div.wp-block-add-to-cart-form.wc-block-add-to-cart-form.wp-block-woocommerce-add-to-cart-form form.cart button.single_add_to_cart_button,
	body.single-product.vsce-quantity-stepper-product div.wp-block-add-to-cart-form.wc-block-add-to-cart-form.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
		font-size: 13px !important;
	}
}

/* Product result cards stay consistent with the two-column mobile catalogue,
 * including narrow 320px devices. */
@media (max-width: 359px) {
	body.single-product .single_add_to_cart_button {
		padding-inline: 8px !important;
		font-size: 12.5px !important;
	}

	body.single-product.vsce-quantity-stepper-product div.wp-block-add-to-cart-form.wc-block-add-to-cart-form.wp-block-woocommerce-add-to-cart-form form.cart button.single_add_to_cart_button,
	body.single-product.vsce-quantity-stepper-product div.wp-block-add-to-cart-form.wc-block-add-to-cart-form.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
		font-size: 12px !important;
	}

	body.search .vs-global-search__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	body.search .vs-global-search-card__body {
		padding-inline: 8px;
	}

	body.search .vs-global-search-card__product-button .wc-block-components-product-button__button,
	body.search .vs-global-search-card__link {
		font-size: 11px !important;
	}
}
