/**
 * Nu FOCUS WooCommerce journey.
 *
 * Scoped to the public commerce routes. WooCommerce retains all transactional
 * behaviour and validation; this file aligns its native/classic and block UI.
 */

.nu-focus-commerce {
	--nfc-ink: #24213f;
	--nfc-deep: #2c2865;
	--nfc-purple: #6257e8;
	--nfc-purple-dark: #4339c5;
	--nfc-lilac: #efefff;
	--nfc-yellow: #f4ed50;
	--nfc-coral: #ff7369;
	--nfc-green: #08796c;
	--nfc-cloud: #f7f7fb;
	--nfc-copy: #55586c;
	--nfc-line: #e4e4ee;
	--nfc-shadow: 0 24px 65px rgba(38, 34, 83, 0.12);
	--nfc-shadow-soft: 0 14px 34px rgba(38, 34, 83, 0.08);
	color: var(--nfc-copy);
	background: #fff;
}

.nu-focus-commerce *,
.nu-focus-commerce *::before,
.nu-focus-commerce *::after {
	box-sizing: border-box;
}

.nu-focus-commerce .nfc-main {
	overflow: clip;
	background: #fff;
}

.nu-focus-commerce .nfc-main a {
	text-decoration: none;
}

.nu-focus-commerce .nfc-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	color: #77798a;
	font-size: 0.72rem;
	font-weight: 700;
}

.nu-focus-commerce .nfc-breadcrumbs a {
	color: var(--nfc-purple-dark);
}

.nu-focus-commerce .nfc-breadcrumbs > a:first-child {
	display: inline-grid;
	width: auto;
	height: auto;
	place-items: center;
	border-radius: 0;
	background: transparent;
}

.nu-focus-commerce .nfc-breadcrumbs > span[aria-hidden="true"] {
	color: #a4a4b0;
	font-weight: 500;
}

.nu-focus-commerce .nfc-breadcrumbs > [aria-current="page"] {
	color: var(--nfc-ink);
}

.nu-focus-commerce .nfc-breadcrumbs svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

/* Catalogue hero and category discovery */
.nu-focus-commerce .nfc-catalogue-hero {
	position: relative;
	padding: clamp(32px, 5vw, 60px) 0 clamp(56px, 7vw, 88px);
	background:
		radial-gradient(circle at 88% 16%, rgba(244, 237, 80, 0.3), transparent 22%),
		radial-gradient(circle at 7% 94%, rgba(255, 115, 105, 0.16), transparent 25%),
		linear-gradient(135deg, #f7f5ff, #fffaf0);
}

.nu-focus-commerce .nfc-catalogue-hero .nfc-breadcrumbs {
	margin-bottom: clamp(34px, 5vw, 56px);
}

.nu-focus-commerce .nfc-catalogue-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
	align-items: center;
	gap: clamp(36px, 7vw, 90px);
}

.nu-focus-commerce .nfc-catalogue-hero__grid > div:first-child {
	max-width: 760px;
}

.nu-focus-commerce .nfc-catalogue-hero h1,
.nu-focus-commerce .nfc-transaction-hero h1 {
	margin: 0 0 21px;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(2.8rem, 6vw, 5.6rem);
	font-weight: 790;
	letter-spacing: -0.052em;
	line-height: 0.98;
}

.nu-focus-commerce .nfc-catalogue-hero__intro {
	max-width: 690px;
	color: #5c5e71;
	font-size: clamp(1rem, 1.6vw, 1.17rem);
	line-height: 1.68;
}

.nu-focus-commerce .nfc-catalogue-hero__intro > *:last-child {
	margin-bottom: 0;
}

.nu-focus-commerce .nfc-catalogue-hero__mark {
	position: relative;
	display: grid;
	min-height: 250px;
	align-content: center;
	justify-items: center;
	padding: 35px;
	border: 1px solid rgba(98, 87, 232, 0.15);
	border-radius: 30% 70% 35% 65% / 58% 38% 62% 42%;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: var(--nfc-shadow);
	text-align: center;
	transform: rotate(2deg);
}

.nu-focus-commerce .nfc-catalogue-hero__mark::before {
	position: absolute;
	z-index: -1;
	inset: -14px 18px 14px -14px;
	border-radius: inherit;
	background: linear-gradient(145deg, rgba(98, 87, 232, 0.2), rgba(244, 237, 80, 0.45));
	content: "";
	transform: rotate(-5deg);
}

.nu-focus-commerce .nfc-catalogue-hero__mark > span {
	display: grid;
	width: 67px;
	height: 67px;
	place-items: center;
	margin-bottom: 16px;
	border-radius: 21px;
	background: var(--nfc-purple);
	color: #fff;
}

.nu-focus-commerce .nfc-catalogue-hero__mark svg {
	width: 31px;
	height: 31px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.nu-focus-commerce .nfc-catalogue-hero__mark strong {
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: 1.45rem;
	line-height: 1.2;
}

.nu-focus-commerce .nfc-catalogue-hero__mark small {
	max-width: 210px;
	margin-top: 7px;
	color: #6c6e80;
	font-size: 0.74rem;
	line-height: 1.5;
}

.nu-focus-commerce .nfc-category-nav {
	border-bottom: 1px solid var(--nfc-line);
	background: #fff;
}

.nu-focus-commerce .nfc-category-nav__inner {
	display: flex;
	align-items: center;
	gap: 22px;
	padding-top: 17px;
	padding-bottom: 17px;
}

.nu-focus-commerce .nfc-category-nav__inner > span {
	flex: 0 0 auto;
	color: #808192;
	font-size: 0.66rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nu-focus-commerce .nfc-category-nav__inner > div {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.nu-focus-commerce .nfc-category-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 7px 12px;
	gap: 7px;
	border: 1px solid var(--nfc-line);
	border-radius: 999px;
	background: #fff;
	color: var(--nfc-deep);
	font-size: 0.72rem;
	font-weight: 750;
}

.nu-focus-commerce .nfc-category-nav a small {
	display: grid;
	min-width: 20px;
	height: 20px;
	place-items: center;
	padding-inline: 5px;
	border-radius: 999px;
	background: var(--nfc-cloud);
	color: #77798a;
	font-size: 0.59rem;
}

.nu-focus-commerce .nfc-category-nav a:hover,
.nu-focus-commerce .nfc-category-nav a:focus-visible,
.nu-focus-commerce .nfc-category-nav a.is-current {
	border-color: var(--nfc-purple);
	background: var(--nfc-purple);
	color: #fff;
}

.nu-focus-commerce .nfc-category-nav a.is-current small,
.nu-focus-commerce .nfc-category-nav a:hover small,
.nu-focus-commerce .nfc-category-nav a:focus-visible small {
	background: rgba(255, 255, 255, 0.17);
	color: #fff;
}

/* Main WooCommerce surface and notices */
.nu-focus-commerce .nfc-commerce-content {
	padding: clamp(62px, 8vw, 108px) 0 clamp(76px, 9vw, 126px);
}

.nu-focus-commerce .nfc-product-breadcrumbs {
	padding-top: 30px;
}

.nu-focus-commerce .woocommerce-notices-wrapper:empty {
	display: none;
}

.nu-focus-commerce .woocommerce-message,
.nu-focus-commerce .woocommerce-info,
.nu-focus-commerce .woocommerce-error,
.nu-focus-commerce .wc-block-components-notice-banner {
	position: relative;
	min-height: 58px;
	margin: 0 0 24px !important;
	padding: 17px 20px 17px 54px !important;
	border: 1px solid rgba(98, 87, 232, 0.22) !important;
	border-left: 5px solid var(--nfc-purple) !important;
	border-radius: 14px !important;
	background: #f6f4ff !important;
	box-shadow: none;
	color: var(--nfc-ink) !important;
	font-size: 0.84rem;
	line-height: 1.55;
}

.nu-focus-commerce .woocommerce-message::before,
.nu-focus-commerce .woocommerce-info::before,
.nu-focus-commerce .woocommerce-error::before {
	top: 18px;
	left: 20px;
	color: var(--nfc-purple);
}

.nu-focus-commerce .woocommerce-error,
.nu-focus-commerce .wc-block-components-notice-banner.is-error {
	border-color: rgba(188, 45, 67, 0.28) !important;
	border-left-color: #bc2d43 !important;
	background: #fff4f5 !important;
}

.nu-focus-commerce .woocommerce-message {
	border-color: rgba(8, 121, 108, 0.25) !important;
	border-left-color: var(--nfc-green) !important;
	background: #f0faf7 !important;
}

.nu-focus-commerce .woocommerce-message a,
.nu-focus-commerce .woocommerce-info a,
.nu-focus-commerce .woocommerce-error a {
	color: var(--nfc-purple-dark);
	font-weight: 800;
}

/* Shared buttons, form controls and focus */
.nu-focus-commerce .woocommerce a.button,
.nu-focus-commerce .woocommerce button.button,
.nu-focus-commerce .woocommerce input.button,
.nu-focus-commerce .woocommerce #respond input#submit,
.nu-focus-commerce .wc-block-components-button,
.nu-focus-commerce .wp-element-button,
.nu-focus-commerce .tp-product-details-add-to-cart-btn,
.nu-focus-commerce .nfc-transaction-entry button[type="submit"] {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 11px 20px;
	border: 2px solid var(--nfc-purple) !important;
	border-radius: 999px !important;
	background: var(--nfc-purple) !important;
	box-shadow: none !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-family: "Outfit", Arial, sans-serif;
	font-size: 0.82rem;
	font-weight: 760 !important;
	line-height: 1.25;
	text-decoration: none !important;
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.nu-focus-commerce .woocommerce a.button:hover,
.nu-focus-commerce .woocommerce a.button:focus-visible,
.nu-focus-commerce .woocommerce button.button:hover,
.nu-focus-commerce .woocommerce button.button:focus-visible,
.nu-focus-commerce .woocommerce input.button:hover,
.nu-focus-commerce .woocommerce input.button:focus-visible,
.nu-focus-commerce .wc-block-components-button:hover,
.nu-focus-commerce .wc-block-components-button:focus-visible,
.nu-focus-commerce .wp-element-button:hover,
.nu-focus-commerce .wp-element-button:focus-visible,
.nu-focus-commerce .tp-product-details-add-to-cart-btn:hover,
.nu-focus-commerce .tp-product-details-add-to-cart-btn:focus-visible,
.nu-focus-commerce .nfc-transaction-entry button[type="submit"]:hover,
.nu-focus-commerce .nfc-transaction-entry button[type="submit"]:focus-visible {
	border-color: var(--nfc-purple-dark) !important;
	background: var(--nfc-purple-dark) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	transform: translateY(-1px);
}

.nu-focus-commerce .woocommerce a.button.disabled,
.nu-focus-commerce .woocommerce button.button.disabled,
.nu-focus-commerce .woocommerce button.button:disabled,
.nu-focus-commerce .wc-block-components-button:disabled {
	border-color: #9795aa !important;
	background: #9795aa !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	opacity: 0.68;
	transform: none;
}

.nu-focus-commerce .wc-block-components-button__text,
.nu-focus-commerce .woocommerce .button span,
.nu-focus-commerce .woocommerce .button svg {
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-buy-now-btn {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 11px 20px;
	border: 2px solid var(--nfc-purple) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--nfc-purple-dark) !important;
	-webkit-text-fill-color: var(--nfc-purple-dark) !important;
	font-family: "Outfit", Arial, sans-serif;
	font-size: 0.82rem;
	font-weight: 760;
	line-height: 1.25;
	text-decoration: none !important;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-buy-now-btn:hover,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-buy-now-btn:focus-visible {
	background: var(--nfc-lilac) !important;
	color: var(--nfc-purple-dark) !important;
	-webkit-text-fill-color: var(--nfc-purple-dark) !important;
}

.nu-focus-commerce input[type="text"],
.nu-focus-commerce input[type="email"],
.nu-focus-commerce input[type="tel"],
.nu-focus-commerce input[type="number"],
.nu-focus-commerce input[type="password"],
.nu-focus-commerce input[type="search"],
.nu-focus-commerce textarea,
.nu-focus-commerce select,
.nu-focus-commerce .select2-container .select2-selection,
.nu-focus-commerce .wc-block-components-text-input input,
.nu-focus-commerce .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	min-height: 50px;
	padding: 11px 14px;
	border: 1px solid #d9d9e5 !important;
	border-radius: 11px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--nfc-ink) !important;
	font-size: 0.86rem;
}

.nu-focus-commerce textarea {
	min-height: 120px;
	resize: vertical;
}

.nu-focus-commerce input:focus,
.nu-focus-commerce textarea:focus,
.nu-focus-commerce select:focus,
.nu-focus-commerce .select2-container--focus .select2-selection {
	border-color: var(--nfc-purple) !important;
	box-shadow: 0 0 0 3px rgba(98, 87, 232, 0.13) !important;
	outline: 0;
}

/* Catalogue toolbar and cards */
.nu-focus-commerce .nfc-shop-layout.has-sidebar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	align-items: start;
	gap: clamp(28px, 5vw, 56px);
}

.nu-focus-commerce .nfc-shop-results {
	min-width: 0;
}

.nu-focus-commerce .nfc-shop-sidebar,
.nu-focus-commerce .nfc-shop-sidebar #secondary {
	width: 100%;
	min-width: 0;
	float: none;
}

.nu-focus-commerce .nfc-shop-sidebar .widget {
	margin: 0 0 16px;
	padding: 21px;
	border: 1px solid var(--nfc-line);
	border-radius: 17px;
	background: var(--nfc-cloud);
}

.nu-focus-commerce .nfc-shop-sidebar .widget-title,
.nu-focus-commerce .nfc-shop-sidebar .widgettitle {
	margin: 0 0 15px;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: 1.05rem;
	font-weight: 760;
}

.nu-focus-commerce .nfc-shop-sidebar ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nu-focus-commerce .nfc-shop-sidebar li {
	margin: 0;
	border-bottom: 1px solid var(--nfc-line);
}

.nu-focus-commerce .nfc-shop-sidebar li:last-child {
	border-bottom: 0;
}

.nu-focus-commerce .nfc-shop-sidebar li a {
	display: inline-flex;
	padding: 9px 0;
	color: #55586a;
	font-size: 0.74rem;
	font-weight: 700;
}

.nu-focus-commerce .nfc-shop-sidebar li.current-cat > a,
.nu-focus-commerce .nfc-shop-sidebar li a:hover,
.nu-focus-commerce .nfc-shop-sidebar li a:focus-visible {
	color: var(--nfc-purple-dark);
}

.nu-focus-commerce .woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: #d8d6e8;
}

.nu-focus-commerce .woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.nu-focus-commerce .woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
	background: var(--nfc-purple);
}

.nu-focus-commerce .woocommerce .widget_price_filter .price_slider_amount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 9px;
	font-size: 0.7rem;
	line-height: 1.4;
}

.nu-focus-commerce .woocommerce .widget_price_filter .price_slider_amount .button {
	min-height: 40px;
	padding: 8px 14px;
	font-size: 0.7rem;
}

.nu-focus-commerce .nfc-shop-sidebar .product-categories .count {
	float: right;
	padding-top: 9px;
	color: #8a8b9a;
	font-size: 0.67rem;
}

.nu-focus-commerce .nfc-shop-sidebar .tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.nu-focus-commerce .nfc-shop-sidebar .tagcloud a {
	padding: 6px 9px;
	border-radius: 999px;
	background: #fff;
	color: #666879;
	font-size: 0.67rem !important;
	font-weight: 700;
}

.nu-focus-commerce .woocommerce .woocommerce-result-count,
.nu-focus-commerce .woocommerce .woocommerce-ordering {
	margin: 0 0 28px;
}

.nu-focus-commerce .woocommerce .woocommerce-result-count {
	float: left;
	margin: 0 0 28px;
}

.nu-focus-commerce .woocommerce .woocommerce-result-count {
	color: #737587;
	font-size: 0.76rem;
	font-weight: 700;
}

.nu-focus-commerce .woocommerce .woocommerce-ordering {
	float: right;
}

.nu-focus-commerce .woocommerce .woocommerce-ordering select {
	min-width: 225px;
	min-height: 46px;
	padding: 8px 38px 8px 13px;
}

.nu-focus-commerce .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	clear: both;
	margin: 0 !important;
	gap: clamp(18px, 3vw, 28px);
}

.nu-focus-commerce .woocommerce ul.products::before,
.nu-focus-commerce .woocommerce ul.products::after {
	display: none !important;
}

.nu-focus-commerce .woocommerce ul.products > .tp-core-product {
	display: block;
	width: auto !important;
	min-width: 0;
	float: none !important;
	margin: 0 !important;
}

.nu-focus-commerce .woocommerce ul.products li.product.nfc-product-loop-item {
	position: relative;
	display: block;
	width: 100% !important;
	min-width: 0;
	height: auto;
	float: none !important;
	overflow: visible;
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	list-style: none;
}

.nu-focus-commerce .woocommerce ul.products li.product.nfc-product-loop-item:hover,
.nu-focus-commerce .woocommerce ul.products li.product.nfc-product-loop-item:focus-within {
	border-color: transparent;
	box-shadow: none;
	transform: none;
}

.nu-focus-commerce .nfc-product-card {
	display: flex;
	height: 100%;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--nfc-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(38, 34, 83, 0.055);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.nu-focus-commerce .nfc-product-card:hover,
.nu-focus-commerce .nfc-product-card:focus-within {
	border-color: rgba(98, 87, 232, 0.28);
	box-shadow: var(--nfc-shadow-soft);
	transform: translateY(-4px);
}

.nu-focus-commerce .nfc-product-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	background: linear-gradient(145deg, #f2f0ff, #fffdf4);
}

.nu-focus-commerce .nfc-product-card__media img {
	display: block;
	width: 100%;
	margin: 0 !important;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	transition: transform 220ms ease;
}

.nu-focus-commerce .nfc-product-card:hover .nfc-product-card__media img {
	transform: scale(1.025);
}

.nu-focus-commerce .nfc-product-card__media .onsale {
	position: absolute;
	z-index: 2;
	top: 13px !important;
	right: 13px !important;
	left: auto !important;
}

.nu-focus-commerce .nfc-product-card__content {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 18px;
}

.nu-focus-commerce .nfc-product-card__category {
	align-self: flex-start;
	margin-bottom: 7px;
	color: var(--nfc-purple-dark);
	font-size: 0.62rem;
	font-weight: 850;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.nu-focus-commerce .nfc-product-card h2 {
	margin: 0 0 10px;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.12rem, 2vw, 1.38rem);
	font-weight: 750;
	letter-spacing: -0.025em;
	line-height: 1.22;
}

.nu-focus-commerce .nfc-product-card h2 a {
	color: inherit;
}

.nu-focus-commerce .nfc-product-card__excerpt {
	display: none;
	margin: 0 0 13px;
	color: #636578;
	font-size: 0.79rem;
	line-height: 1.65;
}

.nu-focus-commerce .nfc-product-card__rating {
	margin-bottom: 10px;
}

.nu-focus-commerce .nfc-product-card__rating .star-rating {
	margin: 0;
	color: #d59415;
	font-size: 0.76rem;
}

.nu-focus-commerce .nfc-product-card .price {
	margin: auto 0 15px;
	padding-top: 5px;
	color: var(--nfc-purple-dark);
	font-family: "Outfit", Arial, sans-serif;
	font-size: 1.1rem;
	font-weight: 800;
}

.nu-focus-commerce .nfc-product-card .price del {
	margin-right: 5px;
	color: #8b8c9a;
	opacity: 1;
}

.nu-focus-commerce .nfc-product-card .price ins {
	font-weight: inherit;
	text-decoration: none;
}

.nu-focus-commerce .nfc-product-card__action {
	width: 100%;
	margin-top: auto;
}

.nu-focus-commerce .nfc-product-card__content > .added_to_cart.wc-forward {
	display: inline-flex !important;
	width: min(100%, 240px);
	min-height: 44px;
	align-items: center;
	justify-content: center;
	margin: 10px 0 0 !important;
	padding: 10px 17px !important;
	border: 1px solid var(--nfc-purple) !important;
	border-radius: 999px;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--nfc-purple-dark) !important;
	font-size: 0.72rem;
	font-weight: 820;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.nu-focus-commerce .nfc-product-card__content > .added_to_cart.wc-forward:hover,
.nu-focus-commerce .nfc-product-card__content > .added_to_cart.wc-forward:focus-visible {
	background: var(--nfc-purple) !important;
	color: #fff !important;
}

.nu-focus-commerce .nfc-product-card__content > .added_to_cart.wc-forward::before,
.nu-focus-commerce .nfc-product-card__content > .added_to_cart.wc-forward::after {
	display: none !important;
	content: none !important;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) {
	position: relative;
	display: flex;
	width: auto !important;
	min-width: 0;
	height: 100%;
	float: none !important;
	flex-direction: column;
	overflow: hidden;
	margin: 0 !important;
	padding: 0 0 20px !important;
	border: 1px solid var(--nfc-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(38, 34, 83, 0.055);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item):hover,
.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item):focus-within {
	border-color: rgba(98, 87, 232, 0.28);
	box-shadow: var(--nfc-shadow-soft);
	transform: translateY(-4px);
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) .woocommerce-LoopProduct-link {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	color: inherit;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) img {
	width: 100%;
	margin: 0 0 18px !important;
	aspect-ratio: 4 / 3;
	background: linear-gradient(145deg, #f2f0ff, #fffdf4);
	object-fit: contain;
	transition: transform 220ms ease;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item):hover img {
	transform: scale(1.025);
}

.nu-focus-commerce .woocommerce span.onsale {
	z-index: 3;
	top: 13px !important;
	right: 13px !important;
	left: auto !important;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--nfc-coral);
	color: #fff;
	font-size: 0.64rem;
	font-weight: 850;
	line-height: 1.2;
	text-transform: uppercase;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) .woocommerce-loop-product__title,
.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) h2,
.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) h3 {
	margin: 0;
	padding: 0 18px 9px !important;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.12rem, 2vw, 1.38rem) !important;
	font-weight: 750;
	letter-spacing: -0.025em;
	line-height: 1.22;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) .star-rating {
	margin: 2px 18px 10px;
	color: #d59415;
	font-size: 0.76rem;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) .price {
	margin: auto 18px 15px !important;
	padding-top: 4px;
	color: var(--nfc-purple-dark) !important;
	font-family: "Outfit", Arial, sans-serif;
	font-size: 1.1rem !important;
	font-weight: 800 !important;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) .price del {
	margin-right: 5px;
	color: #8b8c9a;
	opacity: 1;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) .price ins {
	font-weight: inherit;
	text-decoration: none;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) > .button,
.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) .added_to_cart {
	width: calc(100% - 36px);
	margin: 0 18px !important;
}

.nu-focus-commerce .woocommerce ul.products li.product:not(.nfc-product-loop-item) .added_to_cart {
	display: block;
	padding-top: 9px;
	color: var(--nfc-purple-dark);
	font-size: 0.72rem;
	font-weight: 800;
	text-align: center;
}

.nu-focus-commerce .woocommerce nav.woocommerce-pagination {
	margin-top: clamp(42px, 6vw, 70px);
}

.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	border: 0;
	gap: 8px;
}

.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul li a,
.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	min-width: 43px;
	height: 43px;
	place-items: center;
	padding: 0 9px;
	border: 1px solid var(--nfc-line);
	border-radius: 10px;
	background: #fff;
	color: var(--nfc-deep);
	font-size: 0.76rem;
	font-weight: 800;
}

.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul li a:hover,
.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul li a:focus-visible,
.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul li span.current {
	border-color: var(--nfc-purple) !important;
	background: var(--nfc-purple) !important;
	color: #fff !important;
}

.nu-focus-commerce .woocommerce-no-products-found {
	max-width: 760px;
	margin-inline: auto;
	padding: clamp(34px, 6vw, 60px);
	border: 1px solid var(--nfc-line);
	border-radius: 23px;
	background: var(--nfc-cloud);
	text-align: center;
}

/* Single product */
.nu-focus-accreditation-token-product .nfc-commerce-content--product {
	padding-block: 0;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .nfc-commerce-content--product .woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
	align-items: start;
	gap: clamp(38px, 6vw, 78px);
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .nfc-commerce-content--product .woocommerce div.product > .onsale {
	grid-column: 1;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-2-style > .container,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-area > .container-fluid {
	width: 100%;
	max-width: none;
	padding: 0;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-top > .row,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-area > .container-fluid > .row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr);
	align-items: start;
	margin: 0;
	gap: clamp(38px, 7vw, 82px);
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-top > .row > [class*="col-"],
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-area > .container-fluid > .row > [class*="col-"] {
	width: auto;
	max-width: none;
	padding: 0;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product div.images,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product div.summary {
	width: auto !important;
	min-width: 0;
	float: none !important;
	margin: 0 !important;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product div.images {
	position: relative;
	overflow: visible;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border: 1px solid rgba(98, 87, 232, 0.14);
	border-radius: 25px;
	background: linear-gradient(145deg, #f3f1ff, #fffdf5);
	box-shadow: var(--nfc-shadow);
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-left-wrap .woocommerce-product-gallery__wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
	overflow: hidden;
	margin: 0;
	border: 1px solid rgba(98, 87, 232, 0.14);
	border-radius: 25px;
	background: linear-gradient(145deg, #f3f1ff, #fffdf5);
	box-shadow: var(--nfc-shadow);
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .woocommerce-product-gallery__image img {
	width: 100%;
	min-height: 430px;
	max-height: 640px;
	object-fit: contain;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-left-wrap .woocommerce-product-gallery__wrapper img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 360px;
	max-height: 620px;
	object-fit: contain;
}

.nu-focus-commerce .woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 11px;
	gap: 10px;
}

.nu-focus-commerce .woocommerce div.product div.images .flex-control-thumbs li {
	width: auto;
	float: none;
}

.nu-focus-commerce .woocommerce div.product div.images .flex-control-thumbs img {
	border: 2px solid transparent;
	border-radius: 11px;
	background: var(--nfc-cloud);
}

.nu-focus-commerce .woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.nu-focus-commerce .woocommerce div.product div.images .flex-control-thumbs img:hover {
	border-color: var(--nfc-purple);
}

.nu-focus-commerce .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	top: 14px;
	right: 14px;
	border: 1px solid var(--nfc-line);
	background: #fff;
	box-shadow: var(--nfc-shadow-soft);
}

.nu-focus-commerce .nfc-product-eyebrow {
	margin: 0 0 13px;
	color: var(--nfc-purple-dark);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nu-focus-commerce .nfc-product-eyebrow a {
	color: inherit;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-category {
	display: none;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .product_title,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-title {
	margin: 0 0 17px;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(2.5rem, 5vw, 4.8rem);
	font-weight: 790;
	letter-spacing: -0.052em;
	line-height: 0.98;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	margin: 0 0 15px;
	gap: 10px;
}

.nu-focus-commerce .woocommerce div.product .star-rating,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-rating .star-rating {
	color: #d59415;
}

.nu-focus-commerce .woocommerce-review-link {
	color: #6e7082;
	font-size: 0.72rem;
	font-weight: 700;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product p.price,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product span.price,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price {
	margin: 0 0 19px;
	color: var(--nfc-purple-dark);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(2rem, 3.4vw, 2.8rem);
	font-weight: 800;
	letter-spacing: -0.035em;
}

.nu-focus-commerce .woocommerce div.product p.price del,
.nu-focus-commerce .woocommerce div.product span.price del,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price del {
	margin-right: 7px;
	color: #8b8c9a;
	opacity: 1;
}

.nu-focus-commerce .woocommerce div.product p.price ins,
.nu-focus-commerce .woocommerce div.product span.price ins,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price ins {
	font-weight: inherit;
	text-decoration: none;
}

.nu-focus-commerce .woocommerce-product-details__short-description {
	margin-bottom: 22px;
	color: #55586b;
	font-size: 1rem;
	line-height: 1.72;
}

.nu-focus-commerce .woocommerce-product-details__short-description > *:last-child {
	margin-bottom: 0;
}

.nu-focus-commerce .woocommerce div.product p.stock {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	margin: 0 0 18px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #eaf8f3;
	color: var(--nfc-green);
	font-size: 0.69rem;
	font-weight: 800;
}

.nu-focus-commerce .woocommerce div.product p.stock.out-of-stock {
	background: #fff0f1;
	color: #b2273f;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-stock {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #eaf8f3;
	color: var(--nfc-green);
	font-size: 0.69rem;
	font-weight: 800;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-stock.out-stock {
	background: #fff0f1;
	color: #b2273f;
}

.nu-focus-commerce .woocommerce div.product form.cart,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	margin: 0 0 15px;
	gap: 10px;
}

.nu-focus-commerce .woocommerce div.product form.cart .quantity,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .quantity {
	float: none;
	margin: 0;
}

.nu-focus-commerce .woocommerce .quantity .qty {
	width: 76px;
	height: 50px;
	padding: 8px;
	text-align: center;
}

.nu-focus-commerce .woocommerce div.product form.cart .single_add_to_cart_button {
	min-height: 50px;
	flex: 1 1 210px;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-action-item-wrapper {
	display: flex;
	align-items: stretch !important;
	flex-wrap: wrap;
	gap: 10px;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-action-item-wrapper .tp-shop-details-btn-box {
	min-width: 210px;
	flex: 1 1 210px;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-add-to-cart-btn {
	width: 100%;
	min-height: 50px;
}

.nu-focus-commerce .woocommerce div.product form.cart .variations,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .variations {
	width: 100%;
	margin: 0 0 17px;
	border: 0;
}

.nu-focus-commerce .woocommerce div.product form.cart .variations tr,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .variations tr {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr);
	align-items: center;
	margin-bottom: 10px;
	gap: 12px;
}

.nu-focus-commerce .woocommerce div.product form.cart .variations th,
.nu-focus-commerce .woocommerce div.product form.cart .variations td,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .variations th,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .variations td {
	padding: 0;
	border: 0;
	text-align: left;
}

.nu-focus-commerce .woocommerce div.product form.cart .variations label,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .variations label {
	color: var(--nfc-ink);
	font-size: 0.76rem;
	font-weight: 800;
}

.nu-focus-commerce .woocommerce div.product form.cart .reset_variations,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .reset_variations {
	display: inline-block;
	margin-top: 7px;
	color: var(--nfc-purple-dark);
	font-size: 0.68rem;
	font-weight: 750;
}

.nu-focus-commerce .woocommerce div.product form.cart .group_table,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .group_table {
	width: 100%;
	margin-bottom: 17px;
}

.nu-focus-commerce .woocommerce div.product form.cart .group_table td,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .group_table td {
	padding: 10px 7px;
	border-bottom: 1px solid var(--nfc-line);
}

.nu-focus-commerce .nfc-purchase-guidance {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	margin-top: 14px;
	padding: 14px;
	gap: 11px;
	border: 1px solid var(--nfc-line);
	border-radius: 14px;
	background: var(--nfc-cloud);
}

.nu-focus-commerce .nfc-purchase-guidance > span {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border-radius: 11px;
	background: var(--nfc-lilac);
	color: var(--nfc-purple-dark);
}

.nu-focus-commerce .nfc-purchase-guidance svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.nu-focus-commerce .nfc-purchase-guidance p {
	display: grid;
	margin: 0;
	gap: 2px;
}

.nu-focus-commerce .nfc-purchase-guidance strong {
	color: var(--nfc-ink);
	font-size: 0.78rem;
}

.nu-focus-commerce .nfc-purchase-guidance small {
	color: #6d6f81;
	font-size: 0.69rem;
	line-height: 1.5;
}

.nu-focus-commerce .woocommerce div.product .product_meta,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap .product_meta {
	display: grid;
	margin-top: 21px;
	padding-top: 18px;
	border-top: 1px solid var(--nfc-line);
	color: #858697;
	font-size: 0.69rem;
	line-height: 1.75;
}

.nu-focus-commerce .woocommerce div.product .product_meta a,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap .product_meta a {
	color: var(--nfc-purple-dark);
	font-weight: 750;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .woocommerce-tabs,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .related,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .upsells {
	grid-column: 1 / -1;
	width: 100%;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs {
	margin-top: clamp(42px, 7vw, 80px);
	padding-top: clamp(38px, 6vw, 62px);
	border-top: 1px solid var(--nfc-line);
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 29px;
	padding: 0;
	border: 0;
	gap: 8px;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs ul.tabs::before,
.nu-focus-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.nu-focus-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 1px solid var(--nfc-line);
	border-radius: 999px;
	background: #fff;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 10px 17px;
	color: var(--nfc-deep);
	font-size: 0.75rem;
	font-weight: 800;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-color: var(--nfc-purple);
	background: var(--nfc-purple);
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs .panel {
	max-width: 850px;
	margin: 0;
	color: #4f5265;
	font-size: 0.95rem;
	line-height: 1.78;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs .panel h2,
.nu-focus-commerce .woocommerce .related > h2,
.nu-focus-commerce .woocommerce .upsells > h2,
.nu-focus-commerce .woocommerce .cross-sells > h2 {
	margin: 0 0 24px;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.8rem, 3.5vw, 2.8rem);
	font-weight: 760;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs table.shop_attributes {
	border: 1px solid var(--nfc-line);
	border-radius: 13px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs table.shop_attributes th,
.nu-focus-commerce .woocommerce div.product .woocommerce-tabs table.shop_attributes td {
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px solid var(--nfc-line);
	background: #fff;
}

.nu-focus-commerce .woocommerce div.product .woocommerce-tabs table.shop_attributes tr:last-child th,
.nu-focus-commerce .woocommerce div.product .woocommerce-tabs table.shop_attributes tr:last-child td {
	border-bottom: 0;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-bottom {
	margin-top: clamp(52px, 8vw, 90px);
	padding-top: clamp(40px, 6vw, 66px) !important;
	border-top: 1px solid var(--nfc-line);
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-bottom > .container,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-related-product > .container {
	width: 100%;
	max-width: none;
	padding: 0;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-tab {
	display: flex;
	justify-content: flex-start !important;
	flex-wrap: wrap;
	gap: 8px;
	border: 0;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-tab .nav-link {
	margin: 0;
	padding: 10px 17px;
	border: 1px solid var(--nfc-line);
	border-radius: 999px;
	background: #fff;
	color: var(--nfc-deep);
	font-size: 0.75rem;
	font-weight: 800;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-tab .nav-link.active {
	border-color: var(--nfc-purple);
	background: var(--nfc-purple);
	color: #fff;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-tab-line {
	display: none;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-woo-single-desc-body,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-dsc-wrap {
	max-width: 880px;
	padding-top: 28px !important;
	color: #4f5265;
	font-size: 0.95rem;
	line-height: 1.78;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-related-product {
	margin-top: clamp(54px, 8vw, 92px);
	padding-top: clamp(42px, 6vw, 68px) !important;
	border-top: 1px solid var(--nfc-line);
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-related-title {
	margin: 0 0 24px;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.8rem, 3.5vw, 2.8rem);
	font-weight: 760;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-related-product .text-center.mb-50 {
	margin-bottom: 24px !important;
	text-align: left !important;
}

.nu-focus-commerce .woocommerce .related,
.nu-focus-commerce .woocommerce .upsells {
	margin-top: clamp(54px, 8vw, 92px);
	padding-top: clamp(42px, 6vw, 68px);
	border-top: 1px solid var(--nfc-line);
}

/* Shared close */
.nu-focus-commerce .nfc-shop-help {
	padding: clamp(62px, 8vw, 96px) 0;
	background:
		radial-gradient(circle at 87% 12%, rgba(244, 237, 80, 0.13), transparent 24%),
		linear-gradient(135deg, var(--nfc-deep), #393474);
	color: rgba(255, 255, 255, 0.76);
}

.nu-focus-commerce .nfc-shop-help__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(34px, 6vw, 75px);
}

.nu-focus-commerce .nfc-shop-help__inner > div:first-child {
	max-width: 720px;
}

.nu-focus-commerce .nfc-shop-help .nfl-kicker {
	color: var(--nfc-yellow);
}

.nu-focus-commerce .nfc-shop-help h2 {
	margin-bottom: 12px;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.nu-focus-commerce .nfc-shop-help p:last-child {
	margin-bottom: 0;
}

.nu-focus-commerce .nfc-shop-help .nfl-button-group {
	flex: 0 0 auto;
	justify-content: flex-end;
}

/* Basket and checkout framing */
.nu-focus-commerce .nfc-transaction-hero {
	padding: clamp(30px, 5vw, 58px) 0 clamp(50px, 7vw, 78px);
	background:
		radial-gradient(circle at 88% 16%, rgba(244, 237, 80, 0.25), transparent 22%),
		linear-gradient(135deg, #f7f5ff, #fffaf0);
}

.nu-focus-commerce .nfc-transaction-hero .nfc-breadcrumbs {
	margin-bottom: clamp(30px, 5vw, 50px);
}

.nu-focus-commerce .nfc-transaction-hero__copy {
	max-width: 780px;
}

.nu-focus-commerce .nfc-transaction-hero__copy > p:last-child {
	max-width: 670px;
	margin: 0;
	font-size: 1rem;
	line-height: 1.68;
}

.nu-focus-commerce .nfc-checkout-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 720px;
	margin: clamp(36px, 6vw, 56px) 0 0;
	padding: 0;
	list-style: none;
}

.nu-focus-commerce .nfc-checkout-steps li {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 9px;
	color: #858697;
	font-size: 0.72rem;
}

.nu-focus-commerce .nfc-checkout-steps li:not(:last-child)::after {
	position: absolute;
	z-index: 0;
	top: 50%;
	right: 13px;
	left: 96px;
	height: 1px;
	background: #d5d4df;
	content: "";
}

.nu-focus-commerce .nfc-checkout-steps span {
	position: relative;
	z-index: 1;
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border: 1px solid #d6d5e0;
	border-radius: 50%;
	background: #fff;
	color: #797b8c;
	font-weight: 850;
}

.nu-focus-commerce .nfc-checkout-steps strong {
	position: relative;
	z-index: 1;
	width: fit-content;
	padding-right: 10px;
	background: #f8f6fb;
	font-weight: 800;
}

.nu-focus-commerce .nfc-checkout-steps li.is-current,
.nu-focus-commerce .nfc-checkout-steps li.is-complete {
	color: var(--nfc-deep);
}

.nu-focus-commerce .nfc-checkout-steps li.is-current span {
	border-color: var(--nfc-purple);
	background: var(--nfc-purple);
	color: #fff;
}

.nu-focus-commerce .nfc-checkout-steps li.is-complete span {
	border-color: var(--nfc-green);
	background: var(--nfc-green);
	color: #fff;
}

.nu-focus-commerce .nfc-checkout-steps li.is-complete:not(:last-child)::after {
	background: rgba(8, 121, 108, 0.5);
}

.nu-focus-commerce .nfc-transaction-content {
	padding: clamp(56px, 8vw, 96px) 0 clamp(66px, 9vw, 116px);
	background: #fff;
}

.nu-focus-commerce .nfc-transaction-entry {
	min-height: 220px;
}

.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.75fr);
	align-items: start;
	gap: 28px;
}

.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .tp-acadia-woo-cart {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.75fr);
	grid-column: 1 / -1;
	align-items: start;
	margin: 0;
	gap: 28px;
}

.nu-focus-commerce-cart .tp-acadia-woo-cart > [class*="col-"] {
	width: auto;
	max-width: none;
	padding: 0;
}

.nu-focus-commerce-cart .tp-acadia-woo-cart .woocommerce-cart-form {
	margin-right: 0 !important;
}

.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .woocommerce-notices-wrapper,
.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .woocommerce-message,
.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .woocommerce-info,
.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .cart-empty,
.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .return-to-shop {
	grid-column: 1 / -1;
}

.nu-focus-commerce-cart .woocommerce-cart-form {
	grid-column: 1;
	min-width: 0;
}

.nu-focus-commerce-cart .woocommerce .cart-collaterals {
	grid-column: 2;
	width: auto;
}

.nu-focus-commerce-cart .woocommerce .cart-collaterals .cart_totals {
	width: auto;
	float: none;
	padding: 25px;
	border: 1px solid var(--nfc-line);
	border-radius: 19px;
	background: var(--nfc-cloud);
}

.nu-focus-commerce .woocommerce table.shop_table {
	border: 1px solid var(--nfc-line);
	border-radius: 16px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
}

.nu-focus-commerce .woocommerce table.shop_table th,
.nu-focus-commerce .woocommerce table.shop_table td {
	padding: 15px 14px;
	border: 0;
	border-bottom: 1px solid var(--nfc-line);
	color: #55586a;
	font-size: 0.78rem;
	line-height: 1.5;
}

.nu-focus-commerce .woocommerce table.shop_table tr:last-child th,
.nu-focus-commerce .woocommerce table.shop_table tr:last-child td {
	border-bottom: 0;
}

.nu-focus-commerce .woocommerce table.shop_table thead th {
	background: var(--nfc-cloud);
	color: var(--nfc-ink);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.nu-focus-commerce .woocommerce-cart-form__cart-item .product-thumbnail img {
	width: 76px;
	height: 76px;
	border-radius: 11px;
	background: var(--nfc-cloud);
	object-fit: contain;
}

.nu-focus-commerce .woocommerce-cart-form__cart-item .product-name a {
	color: var(--nfc-ink);
	font-weight: 780;
}

.nu-focus-commerce .woocommerce-cart-form__cart-item .product-remove a {
	display: inline-flex;
	min-height: 32px;
	align-items: center;
	justify-content: center;
	padding: 5px 9px;
	gap: 5px;
	border-radius: 999px;
	background: #fff0f1;
	color: #ae263e !important;
	font-size: 0.69rem;
	font-weight: 800;
}

.nu-focus-commerce .woocommerce-cart-form .actions {
	padding: 15px !important;
}

.nu-focus-commerce .woocommerce-cart-form .coupon {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

.nu-focus-commerce .woocommerce-cart-form .coupon .input-text {
	width: min(240px, 100%) !important;
	margin: 0 !important;
}

.nu-focus-commerce-cart .tp-woo-cart-coupon {
	display: flex;
	align-items: end;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 17px;
	gap: 12px;
	border: 1px solid var(--nfc-line);
	border-top: 0;
	border-radius: 0 0 16px 16px;
}

.nu-focus-commerce-cart .tp-cart-coupon-input {
	display: flex;
	align-items: stretch !important;
	gap: 8px;
}

.nu-focus-commerce-cart .tp-cart-coupon-input-box.coupon {
	display: block;
}

.nu-focus-commerce-cart .tp-cart-coupon label {
	display: block;
	margin-bottom: 6px;
	color: var(--nfc-ink);
	font-size: 0.7rem;
	font-weight: 800;
}

.nu-focus-commerce .woocommerce .cart_totals h2 {
	margin: 0 0 18px;
	color: var(--nfc-ink);
	font-size: 1.55rem;
}

.nu-focus-commerce .woocommerce .cart_totals table {
	margin-bottom: 18px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.nu-focus-commerce .woocommerce .cart_totals table th,
.nu-focus-commerce .woocommerce .cart_totals table td {
	padding: 12px 0;
	background: transparent;
}

.nu-focus-commerce .woocommerce .cart_totals table td {
	text-align: right;
}

.nu-focus-commerce .woocommerce .wc-proceed-to-checkout {
	padding: 8px 0 0;
}

.nu-focus-commerce .woocommerce .wc-proceed-to-checkout .checkout-button {
	width: 100%;
	margin: 0;
	font-size: 0.9rem;
}

.nu-focus-commerce .woocommerce .cross-sells {
	width: auto;
	float: none;
	margin-top: 48px;
	grid-column: 1 / -1;
}

/* Classic checkout */
.nu-focus-commerce-checkout form.woocommerce-checkout:not(.tp-woo-checkout-wrapper) {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
	align-items: start;
	column-gap: clamp(28px, 5vw, 58px);
}

.nu-focus-commerce-checkout form.woocommerce-checkout:not(.tp-woo-checkout-wrapper) > #customer_details {
	grid-row: 1 / 4;
	grid-column: 1;
}

.nu-focus-commerce-checkout form.woocommerce-checkout:not(.tp-woo-checkout-wrapper) > #order_review_heading {
	grid-row: 1;
	grid-column: 2;
}

.nu-focus-commerce-checkout form.woocommerce-checkout:not(.tp-woo-checkout-wrapper) > #order_review {
	grid-row: 2;
	grid-column: 2;
}

.nu-focus-commerce-checkout form.tp-woo-checkout-wrapper {
	display: block;
}

.nu-focus-commerce-checkout form.tp-woo-checkout-wrapper > .row {
	margin: 0;
}

.nu-focus-commerce-checkout form.tp-woo-checkout-wrapper > #customer_details {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
	align-items: start;
	margin: 0;
	column-gap: clamp(28px, 5vw, 58px);
}

.nu-focus-commerce-checkout form.tp-woo-checkout-wrapper > #customer_details > [class*="col-"] {
	width: auto;
	max-width: none;
	padding: 0;
}

.nu-focus-commerce .woocommerce form .form-row {
	margin: 0 0 15px;
	padding: 0;
}

.nu-focus-commerce .woocommerce form .form-row label {
	margin-bottom: 6px;
	color: var(--nfc-ink);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.4;
}

.nu-focus-commerce .woocommerce form .form-row .required {
	color: #b2273f;
}

.nu-focus-commerce .woocommerce .col2-set,
.nu-focus-commerce .woocommerce-page .col2-set {
	display: grid;
	grid-template-columns: 1fr;
	width: 100%;
	gap: 30px;
}

.nu-focus-commerce .woocommerce .col2-set .col-1,
.nu-focus-commerce .woocommerce .col2-set .col-2,
.nu-focus-commerce .woocommerce-page .col2-set .col-1,
.nu-focus-commerce .woocommerce-page .col2-set .col-2 {
	width: auto;
	float: none;
}

.nu-focus-commerce .woocommerce-billing-fields > h3,
.nu-focus-commerce .woocommerce-shipping-fields > h3,
.nu-focus-commerce .woocommerce-additional-fields > h3,
.nu-focus-commerce #order_review_heading {
	margin: 0 0 20px;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 760;
	letter-spacing: -0.025em;
}

.nu-focus-commerce #order_review {
	padding: 24px;
	border: 1px solid var(--nfc-line);
	border-radius: 19px;
	background: var(--nfc-cloud);
}

.nu-focus-commerce #order_review table.shop_table {
	margin-bottom: 18px;
	background: #fff;
}

.nu-focus-commerce .woocommerce-checkout #payment {
	border: 1px solid var(--nfc-line);
	border-radius: 15px;
	background: #fff;
}

.nu-focus-commerce .woocommerce-checkout #payment ul.payment_methods {
	padding: 17px;
	border-bottom: 1px solid var(--nfc-line);
}

.nu-focus-commerce .woocommerce-checkout #payment ul.payment_methods li {
	margin-bottom: 9px;
	color: var(--nfc-ink);
	font-size: 0.8rem;
}

.nu-focus-commerce .woocommerce-checkout #payment div.payment_box {
	border-radius: 11px;
	background: var(--nfc-cloud);
	color: #5d6071;
	font-size: 0.74rem;
	line-height: 1.55;
}

.nu-focus-commerce .woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--nfc-cloud);
}

.nu-focus-commerce .woocommerce-checkout #payment div.form-row {
	padding: 17px;
}

.nu-focus-commerce .woocommerce-checkout #payment #place_order {
	width: 100%;
	float: none;
}

.nu-focus-commerce .woocommerce form.checkout_coupon,
.nu-focus-commerce .woocommerce form.login {
	max-width: 720px;
	margin: 0 0 24px;
	padding: 20px;
	border: 1px solid var(--nfc-line);
	border-radius: 15px;
	background: var(--nfc-cloud);
}

/* Cart and Checkout blocks */
.nu-focus-commerce .wc-block-cart,
.nu-focus-commerce .wc-block-checkout {
	margin: 0;
}

.nu-focus-commerce .wc-block-cart__main,
.nu-focus-commerce .wc-block-checkout__main {
	padding-right: clamp(20px, 4vw, 48px);
}

.nu-focus-commerce .wc-block-cart__sidebar,
.nu-focus-commerce .wc-block-checkout__sidebar {
	padding: 23px !important;
	border: 1px solid var(--nfc-line);
	border-radius: 19px;
	background: var(--nfc-cloud);
}

.nu-focus-commerce .wc-block-components-sidebar-layout .wc-block-components-main {
	width: 63%;
}

.nu-focus-commerce .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	width: 37%;
}

.nu-focus-commerce .wc-block-components-product-name {
	color: var(--nfc-ink) !important;
	font-family: "Outfit", Arial, sans-serif;
	font-weight: 760;
}

.nu-focus-commerce .wc-block-cart-item__image img,
.nu-focus-commerce .wc-block-components-order-summary-item__image img {
	border-radius: 11px;
	background: #fff;
	object-fit: contain;
}

.nu-focus-commerce .wc-block-cart-items,
.nu-focus-commerce .wc-block-components-totals-wrapper,
.nu-focus-commerce .wc-block-components-checkout-step,
.nu-focus-commerce .wc-block-components-order-summary {
	border-color: var(--nfc-line) !important;
}

.nu-focus-commerce .wc-block-components-checkout-step {
	padding-bottom: 26px;
}

.nu-focus-commerce .wc-block-components-checkout-step__heading h2,
.nu-focus-commerce .wc-block-components-title.wc-block-components-title {
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-weight: 760;
}

.nu-focus-commerce .wc-block-components-totals-item__label,
.nu-focus-commerce .wc-block-components-totals-item__value {
	color: var(--nfc-ink);
	font-size: 0.78rem;
}

.nu-focus-commerce .wc-block-components-radio-control-accordion-option {
	border-color: var(--nfc-line) !important;
	background: #fff;
}

.nu-focus-commerce .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--nfc-purple) !important;
}

.nu-focus-commerce .wc-block-components-address-form__address_2-toggle,
.nu-focus-commerce .wc-block-components-checkout-return-to-cart-button,
.nu-focus-commerce .wc-block-components-totals-coupon-link,
.nu-focus-commerce .wc-block-cart-item__remove-link {
	color: var(--nfc-purple-dark) !important;
	font-weight: 750;
}

/* Empty basket, order received and account-safe order details */
.nu-focus-commerce .cart-empty,
.nu-focus-commerce .wc-block-cart__empty-cart__title {
	margin-bottom: 18px !important;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.8rem, 4vw, 2.7rem);
	font-weight: 760;
	text-align: center;
}

.nu-focus-commerce .return-to-shop {
	text-align: center;
}

.nu-focus-commerce .woocommerce-order-received .woocommerce-order,
.nu-focus-commerce .woocommerce-order {
	max-width: 940px;
}

.nu-focus-commerce .woocommerce-thankyou-order-received {
	margin: 0 0 25px;
	padding: 22px;
	border: 1px solid rgba(8, 121, 108, 0.24);
	border-radius: 16px;
	background: #effaf6;
	color: var(--nfc-green);
	font-weight: 800;
}

.nu-focus-commerce .woocommerce ul.order_details {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 0 32px;
	padding: 0;
	border: 1px solid var(--nfc-line);
	border-radius: 16px;
	background: #fff;
}

.nu-focus-commerce .woocommerce ul.order_details li {
	margin: 0;
	padding: 16px;
	border-right: 1px solid var(--nfc-line);
	color: #77798a;
	font-size: 0.65rem;
}

.nu-focus-commerce .woocommerce ul.order_details li:last-child {
	border-right: 0;
}

.nu-focus-commerce .woocommerce ul.order_details li strong {
	margin-top: 4px;
	color: var(--nfc-ink);
	font-size: 0.82rem;
}

.nu-focus-commerce .woocommerce-order-details,
.nu-focus-commerce .woocommerce-customer-details {
	margin-top: 35px;
}

.nu-focus-commerce .woocommerce-order-details > h2,
.nu-focus-commerce .woocommerce-customer-details > h2 {
	margin-bottom: 17px;
	color: var(--nfc-ink);
	font-size: clamp(1.5rem, 3vw, 2rem);
}

.nu-focus-commerce .woocommerce-customer-details address {
	padding: 19px;
	border: 1px solid var(--nfc-line);
	border-radius: 14px;
	background: var(--nfc-cloud);
	font-size: 0.8rem;
	line-height: 1.7;
}

.nu-focus-commerce .nfc-transaction-help {
	padding: 28px 0;
	border-top: 1px solid var(--nfc-line);
	background: var(--nfc-cloud);
}

.nu-focus-commerce .nfc-transaction-help .nfl-container {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
}

.nu-focus-commerce .nfc-transaction-help .nfl-container > span {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border-radius: 14px;
	background: var(--nfc-lilac);
	color: var(--nfc-purple-dark);
}

.nu-focus-commerce .nfc-transaction-help svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.nu-focus-commerce .nfc-transaction-help p {
	display: grid;
	margin: 0;
	gap: 2px;
}

.nu-focus-commerce .nfc-transaction-help strong {
	color: var(--nfc-ink);
	font-size: 0.85rem;
}

.nu-focus-commerce .nfc-transaction-help small {
	color: #6c6e80;
	font-size: 0.72rem;
}

@media (max-width: 1080px) {
	.nu-focus-commerce .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .nfc-commerce-content--product .woocommerce div.product {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
		gap: 40px;
	}

	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-top > .row,
	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-area > .container-fluid > .row {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
		gap: 40px;
	}

	.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce,
	.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .tp-acadia-woo-cart,
	.nu-focus-commerce-checkout form.woocommerce-checkout:not(.tp-woo-checkout-wrapper),
	.nu-focus-commerce-checkout form.tp-woo-checkout-wrapper > #customer_details {
		grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.75fr);
	}
}

@media (max-width: 900px) {
	.nu-focus-commerce .nfc-catalogue-hero__grid,
	.nu-focus-commerce .nfc-shop-layout.has-sidebar,
	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .nfc-commerce-content--product .woocommerce div.product,
	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-top > .row,
	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-area > .container-fluid > .row,
	.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce,
	.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .tp-acadia-woo-cart,
	.nu-focus-commerce-checkout form.woocommerce-checkout:not(.tp-woo-checkout-wrapper),
	.nu-focus-commerce-checkout form.tp-woo-checkout-wrapper > #customer_details {
		grid-template-columns: 1fr;
	}

	.nu-focus-commerce .nfc-catalogue-hero__mark {
		width: min(100%, 480px);
		min-height: 220px;
	}

	.nu-focus-commerce .nfc-shop-sidebar {
		order: -1;
	}

	.nu-focus-commerce-cart .woocommerce-cart-form,
	.nu-focus-commerce-cart .woocommerce .cart-collaterals,
	.nu-focus-commerce-checkout form.woocommerce-checkout > #customer_details,
	.nu-focus-commerce-checkout form.woocommerce-checkout > #order_review_heading,
	.nu-focus-commerce-checkout form.woocommerce-checkout > #order_review {
		grid-row: auto;
		grid-column: 1;
	}

	.nu-focus-commerce .wc-block-components-sidebar-layout {
		flex-direction: column;
	}

	.nu-focus-commerce .wc-block-components-sidebar-layout .wc-block-components-main,
	.nu-focus-commerce .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		width: 100%;
	}

	.nu-focus-commerce .wc-block-cart__main,
	.nu-focus-commerce .wc-block-checkout__main {
		padding-right: 0;
	}

	.nu-focus-commerce .nfc-shop-help__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.nu-focus-commerce .nfc-shop-help .nfl-button-group {
		justify-content: flex-start;
	}
}

/* WPC Smart Quick View and Wishlist append their archive buttons after the
 * native loop callback. JavaScript moves the live buttons into this card-owned
 * row so their plugin behaviour is retained without breaking grid/list flow. */
.nu-focus-commerce .woocommerce ul.products li.product.nfc-product-loop-item > .woosq-btn,
.nu-focus-commerce .woocommerce ul.products li.product.nfc-product-loop-item > .woosw-btn {
	display: none !important;
}

.nu-focus-commerce .nfc-product-card__extras {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	margin-top: 10px;
	gap: 8px;
}

.nu-focus-commerce .nfc-product-card__extras .woosq-btn,
.nu-focus-commerce .nfc-product-card__extras .woosw-btn {
	display: inline-flex !important;
	min-width: 0;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	flex: 1 1 120px;
	margin: 0 !important;
	padding: 9px 13px !important;
	border: 1px solid var(--nfc-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--nfc-purple-dark) !important;
	font-family: "Outfit", Arial, sans-serif;
	font-size: 0.69rem !important;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
}

.nu-focus-commerce .nfc-product-card__extras .woosq-btn:hover,
.nu-focus-commerce .nfc-product-card__extras .woosq-btn:focus-visible,
.nu-focus-commerce .nfc-product-card__extras .woosw-btn:hover,
.nu-focus-commerce .nfc-product-card__extras .woosw-btn:focus-visible {
	border-color: var(--nfc-purple) !important;
	background: var(--nfc-lilac) !important;
	color: var(--nfc-purple-dark) !important;
}

@media (max-width: 720px) {
	.nu-focus-commerce .nfc-category-nav__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.nu-focus-commerce .nfc-category-nav__inner > div {
		width: 100%;
	}

	.nu-focus-commerce .nfc-checkout-steps li {
		grid-template-columns: auto;
		justify-items: center;
		text-align: center;
	}

	.nu-focus-commerce .nfc-checkout-steps li:not(:last-child)::after {
		top: 18px;
		right: -28%;
		left: 67%;
	}

	.nu-focus-commerce .nfc-checkout-steps strong {
		padding: 0 5px;
		background: transparent;
	}

	.nu-focus-commerce .woocommerce ul.order_details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nu-focus-commerce .woocommerce ul.order_details li:nth-child(2) {
		border-right: 0;
	}

	.nu-focus-commerce .woocommerce ul.order_details li:nth-child(-n + 2) {
		border-bottom: 1px solid var(--nfc-line);
	}

	.nu-focus-commerce .nfc-transaction-help .nfl-container {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.nu-focus-commerce .nfc-transaction-help .nfl-button {
		grid-column: 1 / -1;
		width: 100%;
	}
}

@media (max-width: 640px) {
	.nu-focus-commerce .nfc-catalogue-hero,
	.nu-focus-commerce .nfc-transaction-hero {
		padding-top: 26px;
	}

	.nu-focus-commerce .nfc-catalogue-hero h1,
	.nu-focus-commerce .nfc-transaction-hero h1 {
		font-size: clamp(2.35rem, 13vw, 3.7rem);
	}

	.nu-focus-commerce .nfc-catalogue-hero__mark {
		min-height: 190px;
		border-radius: 28px;
		transform: none;
	}

	.nu-focus-commerce .woocommerce .woocommerce-result-count,
	.nu-focus-commerce .woocommerce .woocommerce-ordering,
	.nu-focus-commerce .woocommerce .woocommerce-ordering select {
		width: 100%;
		float: none;
	}

	.nu-focus-commerce .woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .woocommerce-product-gallery__image img {
		min-height: 300px;
	}

	.nu-focus-commerce .woocommerce div.product form.cart .variations tr,
	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .variations tr {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.nu-focus-commerce .woocommerce div.product form.cart .quantity,
	.nu-focus-commerce .woocommerce div.product form.cart .single_add_to_cart_button,
	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .quantity,
	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-product-details-action-item-wrapper .tp-shop-details-btn-box {
		width: 100%;
		flex-basis: 100%;
	}

	.nu-focus-commerce .woocommerce .quantity .qty {
		width: 100%;
	}

	.nu-focus-commerce .woocommerce-cart-form .coupon {
		width: 100%;
		flex-direction: column;
		margin-bottom: 10px;
	}

	.nu-focus-commerce .woocommerce-cart-form .coupon .input-text,
	.nu-focus-commerce .woocommerce-cart-form .coupon .button,
	.nu-focus-commerce .woocommerce-cart-form .actions > .button {
		width: 100% !important;
	}

	.nu-focus-commerce .woocommerce table.shop_table_responsive tr td,
	.nu-focus-commerce-page table.shop_table_responsive tr td {
		padding: 12px 13px;
	}

	.nu-focus-commerce .nfc-shop-help .nfl-button-group,
	.nu-focus-commerce .nfc-shop-help .nfl-button {
		width: 100%;
	}
}

@media (max-width: 900px) {
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce,
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .tp-acadia-woo-cart {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.nu-focus-commerce-cart .tp-acadia-woo-cart > [class*="col-"],
	body.nu-focus-commerce-cart .woocommerce .cart-collaterals,
	body.nu-focus-commerce-cart .woocommerce .cart-collaterals .cart_totals {
		width: 100% !important;
		max-width: none !important;
		flex: 0 0 100% !important;
		float: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nu-focus-commerce .woocommerce ul.products li.product,
	.nu-focus-commerce .woocommerce ul.products li.product img,
	.nu-focus-commerce .woocommerce a.button,
	.nu-focus-commerce .woocommerce button.button,
	.nu-focus-commerce .wc-block-components-button {
		transition: none;
	}
}

@media print {
	.nu-focus-commerce .nfl-header,
	.nu-focus-commerce .nfl-footer,
	.nu-focus-commerce .nfl-back-to-top,
	.nu-focus-commerce .nfc-shop-help,
	.nu-focus-commerce .nfc-transaction-help,
	.nu-focus-commerce .nfc-category-nav,
	.nu-focus-commerce .nfc-checkout-steps,
	.nu-focus-commerce .nfc-breadcrumbs {
		display: none !important;
	}

	.nu-focus-commerce .nfc-catalogue-hero,
	.nu-focus-commerce .nfc-transaction-hero,
	.nu-focus-commerce .nfc-commerce-content,
	.nu-focus-commerce .nfc-transaction-content {
		padding: 20px 0;
		background: #fff;
	}

	.nu-focus-commerce .nfc-transaction-entry,
	.nu-focus-commerce .woocommerce-order {
		max-width: none;
	}
}

/* 2.18 commerce acceptance refinements */
.nu-focus-commerce .nfl-topbar,
.nu-focus-commerce .nfl-topbar p,
.nu-focus-commerce .nfl-topbar a {
	color: #fff;
}

.nu-focus-commerce .nfl-topbar p,
.nu-focus-commerce .nfl-topbar a {
	font-size: 0.79rem;
	line-height: 1.35;
}

.nu-focus-commerce .nfc-catalogue-hero__intro {
	max-width: 720px;
	color: #686a7b;
	font-size: clamp(1.05rem, 1.6vw, 1.22rem);
	line-height: 1.7;
}

.nu-focus-commerce .nfc-product-header {
	padding: 30px 0 32px;
	border-bottom: 1px solid var(--nfc-line);
	background:
		radial-gradient(circle at 90% 10%, rgba(244, 237, 80, 0.19), transparent 24%),
		linear-gradient(135deg, #f7f5ff, #fffaf0);
}

.nu-focus-commerce .nfc-product-header .nfc-product-breadcrumbs {
	padding-top: 0;
}

.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-title {
	margin: 0 0 15px;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: 1.05rem;
	font-weight: 760;
	line-height: 1.25;
}

.nu-focus-commerce .woocommerce .widget_price_filter .price_slider {
	margin: 7px 9px 23px 4px;
}

.nu-focus-commerce .woocommerce .widget_price_filter .price_slider_amount {
	display: block;
}

.nu-focus-commerce .woocommerce .widget_price_filter .tp-shop-widget-filter-info {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	margin-top: 4px;
	gap: 12px;
}

.nu-focus-commerce .woocommerce .widget_price_filter .input-range {
	min-width: 0;
	color: var(--nfc-ink);
	font-size: 0.7rem;
	font-weight: 750;
	line-height: 1.45;
}

.nu-focus-commerce .woocommerce .widget_price_filter .tp-shop-widget-filter-btn {
	min-width: 92px;
	min-height: 42px;
	margin: 0;
	border: 0;
	border-radius: 999px;
	background: var(--nfc-purple);
	box-shadow: none;
	color: #fff;
}

.nu-focus-commerce .woocommerce .widget_price_filter .tp-shop-widget-filter-btn:hover,
.nu-focus-commerce .woocommerce .widget_price_filter .tp-shop-widget-filter-btn:focus-visible {
	background: var(--nfc-purple-dark);
	color: #fff;
}

.nu-focus-commerce .nfc-view-toggle {
	display: inline-flex;
	float: left;
	margin: 0 14px 28px 0;
	padding: 3px;
	border: 1px solid var(--nfc-line);
	border-radius: 11px;
	background: #fff;
	gap: 3px;
}

.nu-focus-commerce .nfc-view-toggle button {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #77798a;
}

.nu-focus-commerce .nfc-view-toggle button:hover,
.nu-focus-commerce .nfc-view-toggle button:focus-visible,
.nu-focus-commerce .nfc-view-toggle button.is-active {
	background: var(--nfc-purple);
	color: #fff;
}

.nu-focus-commerce .nfc-view-toggle button:focus-visible {
	outline: 3px solid rgba(98, 87, 232, 0.22);
	outline-offset: 2px;
}

.nu-focus-commerce .nfc-view-toggle svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
}

.nu-focus-commerce .woocommerce .nfc-shop-results.is-list-view ul.products {
	grid-template-columns: 1fr;
}

.nu-focus-commerce .woocommerce .nfc-shop-results.is-list-view ul.products li.product.nfc-product-loop-item {
	width: 100% !important;
	min-width: 0;
}

.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card {
	display: grid;
	grid-template-columns: minmax(220px, 30%) minmax(0, 1fr);
	align-items: stretch;
	height: auto;
}

.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__media {
	min-height: 260px;
}

.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__media img {
	height: 100%;
	min-height: 260px;
	aspect-ratio: auto;
	object-fit: contain;
}

.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__content {
	justify-content: center;
	padding: clamp(24px, 4vw, 40px);
}

.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card h2 {
	font-size: clamp(1.35rem, 2.5vw, 1.85rem);
}

.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__excerpt {
	display: block;
	max-width: 740px;
}

.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card .price {
	margin: 6px 0 17px;
}

.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__action {
	width: min(100%, 240px);
	margin-top: 0;
}

.nu-focus-commerce .nfc-shop-sidebar .product_list_widget li {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	align-items: center;
	padding: 12px 0;
	gap: 12px;
}

.nu-focus-commerce .nfc-shop-sidebar .product_list_widget li > a {
	display: contents;
}

.nu-focus-commerce .nfc-shop-sidebar .product_list_widget li img {
	grid-row: 1 / span 3;
	width: 68px;
	height: 68px;
	margin: 0;
	border-radius: 10px;
	object-fit: contain;
	background: #fff;
}

.nu-focus-commerce .nfc-shop-sidebar .product_list_widget .product-title,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget li > a:not(:has(.product-title)) {
	min-width: 0;
	padding: 0;
	color: var(--nfc-ink);
	font-size: 0.73rem;
	font-weight: 760;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.nu-focus-commerce .nfc-shop-sidebar .product_list_widget .woocommerce-Price-amount,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget .star-rating {
	grid-column: 2;
	font-size: 0.7rem;
}

/* 2.19 locked-state commerce corrections. */
.nu-focus-commerce .woocommerce .widget_price_filter .input-range,
.nu-focus-commerce .woocommerce .widget_price_filter .input-range span,
.nu-focus-commerce .woocommerce .widget_price_filter .price_label,
.nu-focus-commerce .woocommerce .widget_price_filter .price_label span,
.nu-focus-commerce .woocommerce .widget_price_filter .woocommerce-Price-amount {
	color: var(--nfc-ink) !important;
}

.nu-focus-commerce .nfc-shop-sidebar .product-categories a,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget a,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget .product-title,
.nu-focus-commerce .nfc-shop-sidebar .widget_products .product-title,
.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-title,
.nu-focus-commerce .nfc-shop-sidebar .widget-title {
	color: var(--nfc-ink) !important;
}

.nu-focus-commerce .nfc-shop-sidebar .product-categories a:hover,
.nu-focus-commerce .nfc-shop-sidebar .product-categories a:focus-visible,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget a:hover .product-title,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget a:focus-visible .product-title {
	color: var(--nfc-purple-dark) !important;
}

.nu-focus-commerce .nfc-product-search .tp-sidebar-search-input {
	position: relative;
}

.nu-focus-commerce .nfc-product-search .search-field {
	width: 100%;
	min-height: 58px;
	padding-right: 58px !important;
}

.nu-focus-commerce .nfc-product-search .search-field::-webkit-search-cancel-button,
.nu-focus-commerce .nfc-product-search .search-field::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}

.nu-focus-commerce .nfc-product-search .search-field::-ms-clear,
.nu-focus-commerce .nfc-product-search .search-field::-ms-reveal {
	display: none;
	width: 0;
	height: 0;
}

.nu-focus-commerce .nfc-product-search .woo-search-btn {
	position: absolute !important;
	top: 50% !important;
	right: 9px !important;
	bottom: auto !important;
	left: auto !important;
	display: grid !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px;
	min-height: 40px;
	place-items: center;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--nfc-deep) !important;
	transform: translateY(-50%);
}

.nu-focus-commerce .nfc-product-search .woo-search-btn::before,
.nu-focus-commerce .nfc-product-search .woo-search-btn::after,
.nu-focus-commerce .nfc-product-search .nfc-search-clear::before,
.nu-focus-commerce .nfc-product-search .nfc-search-clear::after,
.nu-focus-commerce .nfc-product-search .tp-sidebar-search-input::before,
.nu-focus-commerce .nfc-product-search .tp-sidebar-search-input::after {
	display: none !important;
}

.nu-focus-commerce .nfc-product-search .woo-search-btn svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.nu-focus-commerce .woocommerce .nfc-related-products {
	margin-top: clamp(28px, 4vw, 44px) !important;
	padding-top: clamp(30px, 4vw, 46px) !important;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price,
.nu-focus-commerce .woocommerce div.product p.price,
.nu-focus-commerce .woocommerce div.product span.price {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price > .woocommerce-Price-amount,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price ins .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product p.price > .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product p.price ins .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product span.price > .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product span.price ins .woocommerce-Price-amount {
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price del .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product p.price del .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product span.price del .woocommerce-Price-amount {
	color: inherit;
	font-family: inherit;
	font-size: 0.64em;
	font-weight: 650;
	letter-spacing: 0;
}

.nu-focus-commerce .nfc-quantity-wrap {
	flex: 0 0 auto;
}

.nu-focus-commerce .woocommerce .nfc-quantity {
	display: grid;
	width: 164px;
	height: 50px;
	grid-template-columns: 44px minmax(52px, 1fr) 44px;
	overflow: hidden;
	border: 1px solid #d9d8e6;
	border-radius: 12px;
	background: #fff;
}

.nu-focus-commerce .woocommerce .nfc-quantity .nfc-quantity__button {
	display: grid;
	min-width: 0;
	height: 100%;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #f7f6fb;
	box-shadow: none;
	color: var(--nfc-deep);
	font-family: Arial, sans-serif;
	font-size: 1.12rem;
	font-weight: 700;
}

.nu-focus-commerce .woocommerce .nfc-quantity .nfc-quantity__button:hover,
.nu-focus-commerce .woocommerce .nfc-quantity .nfc-quantity__button:focus-visible {
	background: var(--nfc-purple);
	color: #fff;
}

.nu-focus-commerce .woocommerce .nfc-quantity .qty {
	width: 100%;
	height: 48px;
	padding: 7px 3px;
	border: 0 !important;
	border-right: 1px solid #e5e3ed !important;
	border-left: 1px solid #e5e3ed !important;
	border-radius: 0;
	box-shadow: none !important;
	color: var(--nfc-ink);
	font-weight: 750;
	text-align: center;
	-moz-appearance: textfield;
}

.nu-focus-commerce .woocommerce .nfc-quantity .qty::-webkit-inner-spin-button,
.nu-focus-commerce .woocommerce .nfc-quantity .qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.nu-focus-commerce .nfc-related-products {
	width: 100%;
	clear: both;
	margin-top: clamp(54px, 8vw, 92px);
	padding-top: clamp(42px, 6vw, 68px);
	border-top: 1px solid var(--nfc-line);
}

.nu-focus-commerce .nfc-related-products__header {
	margin-bottom: 28px;
}

.nu-focus-commerce .nfc-related-products__header h2 {
	margin: 5px 0 0;
	color: var(--nfc-ink);
	font-size: clamp(1.8rem, 3.5vw, 2.8rem);
}

.nu-focus-commerce .nfc-related-products ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 2.19.1 catalogue and product-detail corrections. */
.nu-focus-commerce .nfc-breadcrumbs {
	color: #7b7b89;
	font-size: 0.74rem;
	font-weight: 650;
	letter-spacing: 0.005em;
}

.nu-focus-commerce .nfc-breadcrumbs a {
	color: #514d68;
}

.nu-focus-commerce .nfc-breadcrumbs a:hover,
.nu-focus-commerce .nfc-breadcrumbs a:focus-visible {
	color: var(--nfc-purple-dark);
}

.nu-focus-commerce .nfc-breadcrumbs svg {
	width: 13px;
	height: 13px;
	stroke-width: 1.65;
}

.nu-focus-commerce .nfc-product-header {
	padding: 21px 0 22px;
	background: #faf9ff;
}

.nu-focus-commerce .nfc-shop-sidebar .product-categories li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 10px;
}

.nu-focus-commerce .nfc-shop-sidebar .product-categories li > a {
	min-width: 0;
}

.nu-focus-commerce .nfc-shop-sidebar .product-categories li > .count {
	display: inline-flex !important;
	width: auto;
	min-width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	float: none !important;
	margin: 0;
	padding: 0 7px !important;
	border-radius: 999px;
	background: var(--nfc-lilac) !important;
	color: var(--nfc-purple-dark) !important;
	font-size: 0.64rem;
	font-weight: 800;
	line-height: 1 !important;
	text-align: center;
}

.nu-focus-commerce .nfc-shop-sidebar .product-categories li.current-cat > .count,
.nu-focus-commerce .nfc-shop-sidebar .product-categories li.current-cat-parent > .count {
	background: var(--nfc-purple) !important;
	color: #fff !important;
}

.nu-focus-commerce .nfc-shop-sidebar .product-categories li > .children {
	grid-column: 1 / -1;
	width: 100%;
}

.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul li a:hover,
.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul li a:focus-visible,
.nu-focus-commerce .woocommerce nav.woocommerce-pagination ul li span.current {
	border-color: var(--nfc-purple) !important;
	background: var(--nfc-purple) !important;
	color: #fff !important;
}

.nu-focus-commerce .nfc-product-search .search-field {
	padding-right: 102px !important;
}

.nu-focus-commerce .nfc-product-search .nfc-search-clear {
	position: absolute !important;
	top: 50% !important;
	right: 51px !important;
	z-index: 2;
	display: grid !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	place-items: center;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #77798a !important;
	transform: translateY(-50%);
}

.nu-focus-commerce .nfc-product-search .nfc-search-clear[hidden] {
	display: none !important;
}

.nu-focus-commerce .nfc-product-search .nfc-search-clear:hover,
.nu-focus-commerce .nfc-product-search .nfc-search-clear:focus-visible {
	background: var(--nfc-lilac) !important;
	color: var(--nfc-purple-dark) !important;
	transform: translateY(-50%);
}

.nu-focus-commerce .nfc-product-search .nfc-search-clear:focus-visible {
	outline: 2px solid var(--nfc-purple);
	outline-offset: 1px;
}

.nu-focus-commerce .nfc-product-search .nfc-search-clear svg {
	display: block;
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.8;
}

.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-product-content {
	min-width: 0;
}

.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-product-title a {
	color: var(--nfc-ink) !important;
}

.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-product-price-wrapper .price,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget .price {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px;
	color: var(--nfc-purple-dark) !important;
	font-family: "Outfit", Arial, sans-serif;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.35;
}

.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-product-price-wrapper del,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget .price del,
.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-product-price-wrapper del .woocommerce-Price-amount,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget .price del .woocommerce-Price-amount {
	color: #8b8c9a !important;
	opacity: 1 !important;
	text-decoration: line-through !important;
	text-decoration-thickness: 1px !important;
}

.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-product-price-wrapper ins,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget .price ins,
.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-product-price-wrapper ins .woocommerce-Price-amount,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget .price ins .woocommerce-Price-amount {
	color: var(--nfc-purple-dark) !important;
	font-weight: inherit !important;
	text-decoration: none !important;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price > del,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price > ins,
.nu-focus-commerce .woocommerce div.product p.price > del,
.nu-focus-commerce .woocommerce div.product p.price > ins,
.nu-focus-commerce .woocommerce div.product span.price > del,
.nu-focus-commerce .woocommerce div.product span.price > ins {
	display: inline-flex;
	align-items: baseline;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	line-height: 1;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price del,
.nu-focus-commerce .woocommerce div.product p.price del,
.nu-focus-commerce .woocommerce div.product span.price del {
	color: #8b8c9a !important;
	font-size: 0.62em !important;
	font-weight: 650 !important;
	letter-spacing: 0 !important;
	opacity: 1 !important;
	text-decoration: line-through !important;
	text-decoration-thickness: 1.5px !important;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price ins,
.nu-focus-commerce .woocommerce div.product p.price ins,
.nu-focus-commerce .woocommerce div.product span.price ins {
	color: var(--nfc-purple-dark) !important;
	font-size: 1em !important;
	font-weight: inherit !important;
	text-decoration: none !important;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price .woocommerce-Price-amount,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price bdi,
.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price .woocommerce-Price-currencySymbol,
.nu-focus-commerce .woocommerce div.product p.price .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product p.price bdi,
.nu-focus-commerce .woocommerce div.product p.price .woocommerce-Price-currencySymbol,
.nu-focus-commerce .woocommerce div.product span.price .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product span.price bdi,
.nu-focus-commerce .woocommerce div.product span.price .woocommerce-Price-currencySymbol {
	color: inherit !important;
	font: inherit !important;
	letter-spacing: inherit !important;
	line-height: inherit !important;
	vertical-align: baseline !important;
}

.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-product-price .price del .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product p.price del .woocommerce-Price-amount,
.nu-focus-commerce .woocommerce div.product span.price del .woocommerce-Price-amount {
	font-size: 1em !important;
	text-decoration: line-through !important;
}

.nu-focus-commerce .nfc-product-details {
	width: 100%;
	clear: both;
	margin-top: clamp(38px, 5vw, 58px);
	padding-top: clamp(30px, 4vw, 44px);
	border-top: 1px solid var(--nfc-line);
}

.nu-focus-commerce .nfc-product-details__tabs {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 24px;
	gap: 8px;
}

.nu-focus-commerce .nfc-product-details__tab {
	min-height: 42px;
	padding: 8px 16px;
	border: 1px solid var(--nfc-line);
	border-radius: 999px;
	background: #fff;
	color: var(--nfc-deep);
	font-size: 0.75rem;
	font-weight: 800;
}

.nu-focus-commerce .nfc-product-details__tab:hover,
.nu-focus-commerce .nfc-product-details__tab:focus-visible,
.nu-focus-commerce .nfc-product-details__tab.is-active {
	border-color: var(--nfc-purple);
	background: var(--nfc-purple);
	color: #fff;
}

.nu-focus-commerce .nfc-product-details__tab:focus-visible {
	outline: 3px solid rgba(98, 87, 232, 0.2);
	outline-offset: 2px;
}

.nu-focus-commerce .nfc-product-details__panel[hidden] {
	display: none !important;
}

.nu-focus-commerce .nfc-product-details__panel {
	max-width: 920px;
	color: #55586b;
	font-size: 0.95rem;
	line-height: 1.72;
}

.nu-focus-commerce .nfc-product-details__panel > h2:first-child {
	margin: 0 0 18px;
	color: var(--nfc-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 760;
	letter-spacing: -0.025em;
}

.nu-focus-commerce .nfc-product-details + .nfc-related-products {
	margin-top: clamp(38px, 5vw, 58px) !important;
	padding-top: 0 !important;
	border-top: 0;
}

.nu-focus-commerce .nfc-shop-help,
.nu-focus-commerce .nfc-shop-help p,
.nu-focus-commerce .nfc-shop-help p:last-child {
	color: #fff;
}

@media (max-width: 700px) {
	.nu-focus-commerce .nfc-view-toggle {
		margin-bottom: 18px;
	}

	.nu-focus-commerce .woocommerce .woocommerce-result-count {
		display: flex;
		width: calc(100% - 100px);
		min-height: 46px;
		align-items: center;
		margin-bottom: 18px;
	}

	.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card {
		display: flex;
	}

	.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__media img {
		height: auto;
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__media {
		min-height: 0;
	}

	.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__excerpt {
		display: none;
	}

	.nu-focus-commerce .nfc-related-products ul.products {
		grid-template-columns: 1fr;
	}

	.nu-focus-commerce .woocommerce div.product form.cart .nfc-quantity,
	.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap form.cart .nfc-quantity {
		width: 164px;
		flex-basis: 164px;
	}
}

/* RC3 cart alignment: support the native WooCommerce structure, Acadia's
 * optional row wrapper and the Cart block without moving transactional logic. */
@media (min-width: 901px) {
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce:has(.woocommerce-cart-form),
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .tp-acadia-woo-cart,
	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart > .row:has(.woocommerce-cart-form),
	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart > .container > .row:has(.woocommerce-cart-form),
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .row:has(.woocommerce-cart-form),
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .container > .row:has(.woocommerce-cart-form) {
		display: grid !important;
		grid-template-columns: minmax(0, 1.62fr) minmax(320px, 0.74fr) !important;
		align-items: start !important;
		gap: clamp(24px, 3vw, 38px) !important;
	}

	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart > .row:has(.woocommerce-cart-form) > [class*="col-"],
	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart > .container > .row:has(.woocommerce-cart-form) > [class*="col-"],
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .row:has(.woocommerce-cart-form) > [class*="col-"],
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .container > .row:has(.woocommerce-cart-form) > [class*="col-"] {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: none !important;
		padding: 0 !important;
	}

	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart > .row,
	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart > .container,
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .row,
	body.nu-focus-commerce-cart .nfc-transaction-entry > .woocommerce > .container {
		width: 100% !important;
		max-width: none !important;
		grid-column: 1 / -1 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.nu-focus-commerce-cart .woocommerce .cart-collaterals,
	body.nu-focus-commerce-cart .woocommerce .cart-collaterals .cart_totals,
	body.nu-focus-commerce-cart .wc-block-cart .wc-block-cart__sidebar {
		width: 100% !important;
		max-width: none !important;
		float: none !important;
		align-self: start;
	}

	body.nu-focus-commerce-cart .woocommerce .cart-collaterals,
	body.nu-focus-commerce-cart .wc-block-cart .wc-block-cart__sidebar {
		position: sticky;
		top: 118px;
	}

	body.nu-focus-commerce-cart .wc-block-cart .wc-block-components-sidebar-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1.62fr) minmax(320px, 0.74fr) !important;
		align-items: start !important;
		gap: clamp(24px, 3vw, 38px) !important;
	}
}

@media (min-width: 701px) and (max-width: 1080px) {
	.nu-focus-commerce .nfc-related-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* 2.19.2 commerce acceptance corrections. */
.nu-focus-commerce .nfc-shop-sidebar .product-categories li > .count {
	border: 1px solid rgba(98, 87, 232, 0.22) !important;
	box-shadow: none !important;
}

.nu-focus-commerce .nfc-shop-sidebar .product-categories li:hover > .count,
.nu-focus-commerce .nfc-shop-sidebar .product-categories li:focus-within > .count,
.nu-focus-commerce .nfc-shop-sidebar .product-categories li.current-cat > .count,
.nu-focus-commerce .nfc-shop-sidebar .product-categories li.current-cat-parent > .count {
	border-color: var(--nfc-purple) !important;
	background: var(--nfc-purple) !important;
	color: #fff !important;
}

.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-product-title a:hover,
.nu-focus-commerce .nfc-shop-sidebar .tp-shop-widget-product-title a:focus-visible,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget a:hover .product-title,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget a:focus-visible .product-title {
	color: var(--nfc-purple-dark) !important;
}

.nu-focus-commerce nav.tp-pagination.shop ul li a:hover,
.nu-focus-commerce nav.tp-pagination.shop ul li a:focus-visible,
.nu-focus-commerce nav.tp-pagination.shop ul li a.current,
.nu-focus-commerce nav.tp-pagination.shop ul li span:hover,
.nu-focus-commerce nav.tp-pagination.shop ul li span.current {
	border-color: var(--nfc-purple) !important;
	background: var(--nfc-purple) !important;
	color: #fff !important;
}

body.nu-focus-commerce .nfc-shop-results nav.woocommerce-pagination ul.page-numbers li .page-numbers.current,
body.nu-focus-commerce .nfc-shop-results nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
body.nu-focus-commerce .nfc-shop-results nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible,
body.nu-focus-commerce .nfc-shop-results nav.tp-pagination.shop ul li .current,
body.nu-focus-commerce .nfc-shop-results nav.tp-pagination.shop ul li a:hover,
body.nu-focus-commerce .nfc-shop-results nav.tp-pagination.shop ul li a:focus-visible {
	border-color: var(--nfc-purple) !important;
	background: var(--nfc-purple) !important;
	background-color: var(--nfc-purple) !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #fff !important;
}

/*
 * Acadia has several pagination variants and applies its yellow state late.
 * Keep the locked commerce colour independent of the exact wrapper emitted by
 * a normal, filtered or zero-result product search.
 */
body.nu-focus-commerce nav.woocommerce-pagination .page-numbers.current,
body.nu-focus-commerce nav.woocommerce-pagination a.page-numbers:hover,
body.nu-focus-commerce nav.woocommerce-pagination a.page-numbers:focus-visible,
body.nu-focus-commerce .tp-pagination.shop .page-numbers.current,
body.nu-focus-commerce .tp-pagination.shop a.page-numbers:hover,
body.nu-focus-commerce .tp-pagination.shop a.page-numbers:focus-visible,
body.nu-focus-commerce .tp-pagination.shop a.current,
body.nu-focus-commerce .tp-pagination.shop span.current {
	border-color: var(--nfc-purple, #6257e8) !important;
	background: var(--nfc-purple, #6257e8) !important;
	background-color: var(--nfc-purple, #6257e8) !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.nu-focus-commerce .nfc-product-card .price del,
.nu-focus-commerce .nfc-product-card .price del *,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget del,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget del * {
	color: #858695 !important;
	text-decoration: line-through !important;
	text-decoration-thickness: 1px !important;
	opacity: 1 !important;
}

.nu-focus-commerce .nfc-product-card .price ins,
.nu-focus-commerce .nfc-product-card .price ins *,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget ins,
.nu-focus-commerce .nfc-shop-sidebar .product_list_widget ins * {
	color: var(--nfc-purple-dark) !important;
	text-decoration: none !important;
}

.nu-focus-commerce .woocommerce .nfc-single-sale-badge {
	position: absolute;
	z-index: 8;
	top: 16px !important;
	right: 16px !important;
	left: auto !important;
	display: inline-flex;
	min-width: 0;
	min-height: 0;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 8px 13px;
	border: 0;
	border-radius: 999px;
	background: var(--nfc-coral) !important;
	box-shadow: 0 10px 24px rgba(255, 113, 98, 0.24);
	color: #fff !important;
	font-size: 0.67rem;
	font-weight: 850;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-transform: uppercase;
}

.nu-focus-commerce .nfc-product-details + .nfc-related-products {
	margin-top: clamp(34px, 5vw, 54px) !important;
	padding-top: clamp(30px, 4vw, 44px) !important;
	border-top: 1px solid var(--nfc-line) !important;
}

.nu-focus-commerce .nfc-shop-results .woocommerce-no-products-found {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

@media (min-width: 701px) {
	.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card {
		grid-template-columns: minmax(230px, 31%) minmax(0, 1fr);
		align-items: center;
		min-height: 280px;
	}

	.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__media {
		display: flex;
		height: clamp(270px, 29vw, 330px);
		min-height: 0;
		align-items: center;
		justify-content: center;
		align-self: stretch;
	}

	.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__media img {
		width: 100%;
		height: 100%;
		min-height: 0;
		max-height: 100%;
		aspect-ratio: auto;
		object-fit: contain;
	}
}

@media (max-width: 700px) {
	.nu-focus-commerce .nfc-shop-results.is-list-view .nfc-product-card__media {
		height: auto;
	}
}

/* RC4: WPC Smart Wishlist can print its single-product action outside the
 * Acadia action wrapper. Give that valid plugin control the same component
 * treatment without changing its behaviour. */
body.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .summary button.woosw-btn,
body.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap button.woosw-btn {
	display: inline-flex !important;
	min-width: 0 !important;
	min-height: 43px !important;
	align-items: center;
	justify-content: center;
	margin: 12px 0 20px !important;
	padding: 9px 17px !important;
	gap: 8px;
	border: 1px solid rgba(98, 87, 232, 0.28) !important;
	border-radius: 999px !important;
	background: #f5f3ff !important;
	box-shadow: none !important;
	color: var(--nfc-purple-dark) !important;
	font-family: "Outfit", Arial, sans-serif !important;
	font-size: 0.74rem !important;
	font-weight: 820 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

/* RC5: WooCommerce's general stylesheet is printed after route CSS on this
 * stack. Lock ordinary and sale-card prices to the same intentional weight
 * and purple treatment, including the nested amount element it colours. */
html body.nu-focus-commerce .woocommerce ul.products li.product .nfc-product-card p.price,
html body.nu-focus-commerce .woocommerce ul.products li.product .nfc-product-card p.price > .woocommerce-Price-amount,
html body.nu-focus-commerce .woocommerce ul.products li.product .nfc-product-card p.price > .woocommerce-Price-amount > bdi,
html body.nu-focus-commerce .woocommerce ul.products li.product .nfc-product-card p.price > .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
	color: #4339c5 !important;
	font-family: "Outfit", Arial, sans-serif !important;
	font-size: 1.1rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

html body.nu-focus-commerce .woocommerce ul.products li.product .nfc-product-card p.price del,
html body.nu-focus-commerce .woocommerce ul.products li.product .nfc-product-card p.price del * {
	color: #858695 !important;
	font-size: 0.9rem !important;
	font-weight: 650 !important;
}

html body.nu-focus-commerce .woocommerce ul.products li.product .nfc-product-card p.price ins,
html body.nu-focus-commerce .woocommerce ul.products li.product .nfc-product-card p.price ins * {
	color: #4339c5 !important;
	font-size: 1.1rem !important;
	font-weight: 800 !important;
}

/* Keep the selected page purple even when a cache/optimisation layer changes
 * the final stylesheet order for logged-in and signed-out visitors. */
html body.nu-focus-commerce .nfc-main .woocommerce .nfc-shop-results nav.woocommerce-pagination ul.page-numbers > li > span.page-numbers.current,
html body.nu-focus-commerce .nfc-main .woocommerce .nfc-shop-results nav.woocommerce-pagination ul.page-numbers > li > a.page-numbers.current,
html body.nu-focus-commerce .nfc-main .woocommerce .nfc-shop-results nav.woocommerce-pagination ul.page-numbers > li > a.page-numbers:hover,
html body.nu-focus-commerce .nfc-main .woocommerce .nfc-shop-results nav.woocommerce-pagination ul.page-numbers > li > a.page-numbers:focus-visible {
	border-color: #6257e8 !important;
	background: #6257e8 !important;
	background-color: #6257e8 !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* MasterStudy paints its yellow state on a generated layer rather than the
 * pagination element itself. Match that layer as well so cached/logged-in
 * combinations cannot reveal yellow over the purple control. */
html body.nu-focus-commerce nav.woocommerce-pagination ul.page-numbers > li > .page-numbers::after,
html body.nu-focus-commerce nav.tp-pagination.shop ul.page-numbers > li > .page-numbers::after,
html body.nu-focus-commerce .tp-pagination.shop ul.page-numbers > li > .page-numbers::after {
	background: #6257e8 !important;
	background-color: #6257e8 !important;
}

/* Express-payment providers append their own controls immediately after the
 * primary checkout action. Preserve a readable separation without changing
 * provider-owned button markup or behaviour. */
body.nu-focus-commerce-cart .woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button {
	margin-bottom: 12px !important;
}

body.nu-focus-commerce-cart .woocommerce .cart_totals .wc-proceed-to-checkout > * + *,
body.nu-focus-commerce-cart .woocommerce .cart_totals .ppc-button-wrapper,
body.nu-focus-commerce-cart .woocommerce .cart_totals .wc-stripe-cart-checkout-container,
body.nu-focus-commerce-cart .woocommerce .cart_totals .wcpay-payment-request-wrapper {
	clear: both;
}

body.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .summary button.woosw-btn:hover,
body.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .woocommerce div.product .summary button.woosw-btn:focus-visible,
body.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap button.woosw-btn:hover,
body.nu-focus-commerce-product:not(.nu-focus-accreditation-token-product) .tp-shop-details-right-wrap button.woosw-btn:focus-visible {
	border-color: var(--nfc-purple) !important;
	background: var(--nfc-purple) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

/* The cart template can be wrapped by either WooCommerce or the legacy Acadia
 * template. These classes are added to the lowest shared cart ancestor so the
 * two columns do not depend on a brittle wrapper depth. */
@media (min-width: 901px) {
	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart,
	body.nu-focus-commerce-cart .nfc-transaction-entry.nfc-cart-layout,
	body.nu-focus-commerce-cart .nfc-transaction-entry .nfc-cart-layout {
		display: grid !important;
		width: 100% !important;
		grid-template-columns: minmax(0, 1.62fr) minmax(320px, 0.74fr) !important;
		align-items: start !important;
		margin: 0 !important;
		gap: clamp(24px, 3vw, 38px) !important;
	}

	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart > [class*="col-"],
	body.nu-focus-commerce-cart .nfc-transaction-entry.nfc-cart-layout > .nfc-cart-layout__items,
	body.nu-focus-commerce-cart .nfc-transaction-entry.nfc-cart-layout > .nfc-cart-layout__totals,
	body.nu-focus-commerce-cart .nfc-transaction-entry .nfc-cart-layout > .nfc-cart-layout__items,
	body.nu-focus-commerce-cart .nfc-transaction-entry .nfc-cart-layout > .nfc-cart-layout__totals {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: none !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart > :first-child,
	body.nu-focus-commerce-cart .nfc-transaction-entry.nfc-cart-layout > .nfc-cart-layout__items,
	body.nu-focus-commerce-cart .nfc-transaction-entry .nfc-cart-layout > .nfc-cart-layout__items {
		grid-column: 1 !important;
	}

	body.nu-focus-commerce-cart .nfc-transaction-entry .tp-acadia-woo-cart > :nth-child(2),
	body.nu-focus-commerce-cart .nfc-transaction-entry.nfc-cart-layout > .nfc-cart-layout__totals,
	body.nu-focus-commerce-cart .nfc-transaction-entry .nfc-cart-layout > .nfc-cart-layout__totals {
		grid-column: 2 !important;
	}

	body.nu-focus-commerce-cart .nfc-transaction-entry.nfc-cart-layout > :is(.woocommerce-notices-wrapper, .woocommerce-message, .woocommerce-info, .cart-empty, .return-to-shop),
	body.nu-focus-commerce-cart .nfc-transaction-entry .nfc-cart-layout > :is(.woocommerce-notices-wrapper, .woocommerce-message, .woocommerce-info, .cart-empty, .return-to-shop) {
		grid-column: 1 / -1 !important;
	}
}

