:root {
	--spark-ink: #111111;
	--spark-forest: #c64200;
	--spark-leaf: #ff6a00;
	--spark-mint: #fff1e6;
	--spark-cream: #fff8ed;
	--spark-sun: #ffcc00;
	--spark-rose: #ff4d00;
	--spark-paper: #ffffff;
	--spark-line: #eadfd2;
	--spark-muted: #6c625a;
	--spark-shadow: 0 18px 50px rgba(17, 17, 17, 0.11);
	--spark-radius: 8px;
	--spark-container: 1180px;
	--spark-focus: 0 0 0 3px rgba(255, 106, 0, 0.28);
}

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

html {
	scroll-behavior: smooth;
	scrollbar-gutter: stable;
}

body {
	margin: 0;
	background: #fffdf8;
	color: var(--spark-ink);
	font-family: "Nunito Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	text-rendering: optimizeLegibility;
}

body.spark-menu-open,
html.spark-menu-open {
	overflow: hidden;
}

@media (max-width: 767px) {
	html.spark-cart-open {
		overflow: hidden;
	}
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: var(--spark-forest);
}

button,
input,
textarea,
select {
	font: inherit;
}

img {
	display: block;
	height: auto;
	max-width: 100%;
}

svg {
	fill: none;
	height: 20px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 20px;
}

:focus-visible {
	box-shadow: var(--spark-focus);
	outline: 0;
}

.screen-reader-text,
.skip-link {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.skip-link:focus {
	background: var(--spark-ink);
	clip: auto;
	color: #fff;
	height: auto;
	left: 16px;
	padding: 10px 14px;
	top: 16px;
	width: auto;
	z-index: 1000;
}

.spark-container {
	margin: 0 auto;
	max-width: var(--spark-container);
	padding: 0 24px;
	width: 100%;
}

.spark-site-header {
	background: rgba(255, 255, 255, 0.98);
	border-bottom: 1px solid rgba(23, 32, 28, 0.1);
	box-shadow: 0 10px 28px rgba(23, 32, 28, 0.05);
	position: sticky;
	top: 0;
	z-index: 100;
}

.spark-topbar {
	background: #111;
	color: #fff;
	font-size: clamp(0.95rem, 2.6vw, 1.45rem);
	font-weight: 900;
	letter-spacing: 0;
	overflow: hidden;
	white-space: nowrap;
}

.spark-topbar-track {
	align-items: center;
	display: flex;
	gap: clamp(34px, 7vw, 86px);
	min-height: 42px;
	width: max-content;
	animation: spark-topbar-marquee 22s linear infinite;
}

.spark-topbar-message {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 10px;
	line-height: 1;
	padding-right: clamp(34px, 7vw, 86px);
}

.spark-topbar-message p {
	margin: 0;
}

.spark-topbar-message strong,
.spark-topbar-message b,
.spark-topbar-message mark {
	color: var(--spark-sun);
	font-weight: 800;
}

.spark-topbar-message a {
	color: var(--spark-sun);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

@keyframes spark-topbar-marquee {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.spark-topbar-track {
		animation: none;
		justify-content: center;
		width: 100%;
	}

	.spark-topbar-message:not(:first-child) {
		display: none;
	}
}

.spark-header-inner {
	align-items: center;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	min-height: 86px;
	position: relative;
}

.spark-header-left,
.spark-header-actions {
	align-items: center;
	display: flex;
	gap: 10px;
}

.spark-header-actions {
	justify-content: flex-end;
}

.spark-header-logo {
	align-items: center;
	display: flex;
	justify-content: center;
	min-width: 190px;
}

.spark-logo {
	align-items: center;
	color: var(--spark-ink);
	display: inline-flex;
	justify-content: center;
	line-height: 1;
	min-height: auto;
	padding: 0;
	text-align: center;
}

.spark-logo-image {
	height: auto;
	max-height: 62px;
	object-fit: contain;
	width: min(205px, 24vw);
}

.spark-desktop-nav {
	align-items: center;
	display: flex;
	gap: 2px;
}

.spark-nav-link {
	background: transparent;
	border: 0;
	border-radius: 8px;
	color: var(--spark-ink);
	cursor: pointer;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	min-height: 44px;
	padding: 11px 12px;
}

.spark-nav-link:hover {
	background: var(--spark-mint);
	color: var(--spark-forest);
}

.spark-icon-button,
.spark-account-link {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(23, 32, 28, 0.14);
	border-radius: 8px;
	color: var(--spark-ink);
	cursor: pointer;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	position: relative;
	width: 44px;
}

.spark-account-link {
	gap: 8px;
	font-size: 15px;
	font-weight: 800;
	padding: 0 15px;
	width: auto;
}

.spark-account-link svg {
	height: 19px;
	width: 19px;
}

.spark-icon-button:hover,
.spark-account-link:hover {
	background: var(--spark-mint);
	color: var(--spark-forest);
}

.spark-menu-toggle {
	display: none;
}

.spark-cart-count {
	align-items: center;
	background: var(--spark-rose);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 11px;
	font-weight: 600;
	height: 19px;
	justify-content: center;
	min-width: 19px;
	padding: 0 5px;
	position: absolute;
	right: -5px;
	top: -6px;
}

.spark-cart-overlay {
	background: rgba(16, 20, 17, 0.44);
	inset: 0;
	opacity: 0;
	position: fixed;
	transition: opacity 180ms ease;
	z-index: 180;
}

.spark-cart-overlay.is-open {
	opacity: 1;
}

.spark-side-cart {
	background: #fff;
	border-radius: 12px 0 0 12px;
	box-shadow: -24px 0 55px rgba(23, 32, 28, 0.18);
	display: flex;
	flex-direction: column;
	height: 100dvh;
	max-width: 100vw;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: transform 220ms ease;
	width: min(430px, calc(100vw - 24px));
	z-index: 181;
}

.spark-side-cart.is-open {
	transform: translateX(0);
}

.spark-side-cart-head {
	align-items: center;
	border-bottom: 1px solid var(--spark-line);
	display: flex;
	justify-content: space-between;
	padding: 22px 24px;
}

.spark-side-cart-head p {
	color: var(--spark-forest);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 3px;
	text-transform: uppercase;
}

.spark-side-cart-head h2 {
	font-size: 24px;
	margin: 0;
}

.spark-side-cart-scroll {
	flex: 1;
	overflow-y: auto;
	padding: 18px 24px 24px;
}

.spark-side-cart-empty {
	align-content: center;
	display: grid;
	gap: 12px;
	min-height: 360px;
	text-align: center;
}

.spark-side-cart-empty h3 {
	font-size: 24px;
	margin: 0;
}

.spark-side-cart-empty p {
	color: var(--spark-muted);
	margin: 0 auto;
	max-width: 30ch;
}

.spark-side-cart-list {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.spark-side-cart-item {
	align-items: start;
	background: #fffdf8;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	display: grid;
	gap: 12px;
	grid-template-columns: 24px 58px minmax(0, 1fr);
	padding: 12px;
}

.spark-side-cart-thumb {
	align-items: center;
	aspect-ratio: 1;
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.spark-side-cart-thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.spark-side-cart-item-body {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.spark-side-cart-item-body h3 {
	font-size: 16px;
	margin: 0;
}

.spark-side-cart-item-body h3 a {
	color: inherit;
	text-decoration: none;
}

.spark-side-cart-item-body h3 a:hover,
.spark-side-cart-item-body h3 a:focus-visible {
	color: var(--spark-orange);
	outline: none;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.spark-side-cart-remove {
	align-items: center;
	background: #fff;
	border: 1px solid #eadfd2;
	border-radius: 999px;
	color: #9d344f;
	display: inline-flex;
	font-size: 18px;
	font-weight: 800;
	height: 24px;
	justify-content: center;
	line-height: 1;
	width: 24px;
}

.spark-side-cart-remove svg {
	height: 13px;
	width: 13px;
}

.spark-side-cart .variation,
.spark-side-cart .wc-item-meta {
	color: var(--spark-muted);
	display: grid;
	font-size: 13px;
	gap: 5px 10px;
	grid-template-columns: max-content minmax(0, 1fr);
	line-height: 1.35;
	list-style: none;
	margin: 0;
	padding: 0;
}

.spark-side-cart .variation dt,
.spark-side-cart .variation dd,
.spark-side-cart .wc-item-meta li,
.spark-side-cart .wc-item-meta p {
	float: none;
	margin: 0;
	padding: 0;
}

.spark-side-cart .variation dt,
.spark-side-cart .wc-item-meta strong {
	color: var(--spark-ink);
	font-weight: 800;
}

.spark-side-cart .variation dd,
.spark-side-cart .wc-item-meta p {
	min-width: 0;
	overflow-wrap: anywhere;
}

.spark-side-cart .variation dd p {
	margin: 0;
}

.spark-side-cart-item-total,
.spark-side-cart-summary p {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 0;
}

.spark-side-cart-item-total {
	border-top: 1px solid var(--spark-line);
	font-size: 15px;
	padding-top: 8px;
}

.spark-side-cart-item-total span,
.spark-side-cart-summary strong {
	color: var(--spark-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.spark-side-cart-item-total strong,
.spark-side-cart-summary span {
	color: var(--spark-ink);
	font-size: 18px;
	font-weight: 800;
}

.spark-side-cart-summary {
	display: grid;
	gap: 14px;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--spark-line);
}

.spark-side-cart-buttons {
	display: grid;
	gap: 10px;
}

.spark-mega-menu {
	background: #fff;
	border-top: 1px solid var(--spark-line);
	box-shadow: var(--spark-shadow);
	left: 0;
	position: absolute;
	right: 0;
	top: 100%;
	z-index: 110;
}

.spark-mega-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding-bottom: 22px;
	padding-top: 22px;
}

.spark-mega-card {
	background: #fffdf8;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	display: grid;
	gap: 4px;
	min-height: 96px;
	padding: 18px;
	transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.spark-mega-card:hover {
	background: #fff7ed;
	border-color: rgba(255, 106, 0, 0.38);
	box-shadow: 0 12px 28px rgba(17, 17, 17, 0.08);
	transform: translateY(-1px);
}

.spark-mega-card strong {
	font-size: 16px;
}

.spark-mega-card span {
	color: var(--spark-muted);
	font-size: 14px;
}

.spark-mobile-panel {
	background: #fff;
	inset: 0;
	overflow-y: auto;
	padding: 18px 22px 32px;
	position: fixed;
	z-index: 150;
}

.spark-mobile-panel-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.spark-mobile-nav {
	display: grid;
	gap: 10px;
	margin-top: 28px;
}

.spark-mobile-nav a {
	border-bottom: 1px solid var(--spark-line);
	font-size: 20px;
	font-weight: 600;
	min-height: 52px;
	padding: 12px 0;
}

.spark-hero,
.spark-page-hero,
.spark-product-hero {
	background:
		radial-gradient(circle at 85% 15%, rgba(245, 184, 75, 0.28), transparent 28%),
		linear-gradient(135deg, #fffdf8 0%, #fff 58%, #fff7e9 100%);
	border-bottom: 1px solid var(--spark-line);
}

.spark-product-hero {
	background: #fff;
	border-bottom: 0;
}

.spark-hero-grid {
	align-items: center;
	display: grid;
	gap: 52px;
	grid-template-columns: minmax(0, 1.03fr) minmax(320px, 0.97fr);
	min-height: 640px;
	padding-bottom: 72px;
	padding-top: 72px;
}

.spark-kicker {
	color: var(--spark-forest);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin: 0 0 10px;
	text-transform: uppercase;
}

h1,
h2,
h3 {
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0;
}

h1 {
	font-size: clamp(40px, 6vw, 76px);
	max-width: 780px;
}

h2 {
	font-size: clamp(30px, 4vw, 48px);
}

h3 {
	font-size: 22px;
}

.spark-hero-copy > p:not(.spark-kicker),
.spark-page-hero p,
.spark-lead {
	color: var(--spark-muted);
	font-size: 19px;
	margin: 18px 0 0;
	max-width: 660px;
}

.spark-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.spark-button {
	align-items: center;
	background-image: linear-gradient(115deg, rgba(255, 255, 255, 0) 22%, rgba(255, 255, 255, 0.18) 42%, rgba(255, 255, 255, 0) 58%);
	background-position: 160% 50%;
	background-repeat: no-repeat;
	background-size: 220% 100%;
	border: 1px solid transparent;
	border-radius: 8px;
	cursor: pointer;
	display: inline-flex;
	font-weight: 600;
	gap: 8px;
	justify-content: center;
	min-height: 48px;
	padding: 13px 18px;
	text-align: center;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, background-position 320ms ease;
}

.spark-button:hover {
	background-position: 0 50%;
	transform: translateY(-1px);
}

.spark-button-primary {
	background: var(--spark-ink);
	border-color: var(--spark-ink);
	color: #fff;
}

.spark-button-primary:hover {
	background: var(--spark-forest);
	border-color: var(--spark-forest);
	color: #fff;
}

.spark-button-secondary {
	background: #fff;
	border-color: var(--spark-line);
	color: var(--spark-ink);
}

.spark-button-dark {
	background: #111;
	border-color: #111;
	color: #fff;
}

.spark-button-dark:hover {
	background: #000;
	color: #fff;
}

.spark-button-light {
	background: #fff;
	border-color: rgba(255, 255, 255, 0.72);
	color: var(--spark-ink);
}

.spark-button-light:hover {
	background: var(--spark-cream);
	color: var(--spark-ink);
}

.spark-home-hero {
	background: #111;
	border-bottom: 1px solid rgba(23, 32, 28, 0.12);
	min-height: clamp(470px, 38vw, 650px);
	overflow: hidden;
	position: relative;
}

.spark-home-hero-media {
	inset: 0;
	position: absolute;
}

.spark-home-hero-media img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.spark-home-hero::after {
	background: linear-gradient(90deg, rgba(17, 17, 17, 0.9) 0%, rgba(17, 17, 17, 0.74) 42%, rgba(198, 66, 0, 0.22) 64%, rgba(17, 17, 17, 0) 76%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.spark-home-hero-content {
	color: #fff;
	display: grid;
	min-height: clamp(470px, 38vw, 650px);
	padding-bottom: clamp(54px, 7vw, 118px);
	padding-top: clamp(54px, 7vw, 118px);
	place-content: center start;
	position: relative;
	z-index: 1;
}

.spark-sale-chip {
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-self: start;
	letter-spacing: 0.02em;
	margin: 0 0 18px;
	padding: 9px 14px;
	text-transform: uppercase;
}

.spark-home-hero h1 {
	color: #fff;
	font-size: clamp(42px, 5.2vw, 74px);
	letter-spacing: 0;
	max-width: 610px;
}

.spark-home-hero-content > p:not(.spark-sale-chip) {
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(17px, 1.5vw, 22px);
	line-height: 1.45;
	margin: 20px 0 0;
	max-width: 560px;
}

.spark-home-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.spark-home-actions .spark-button {
	border-radius: 999px;
	font-weight: 800;
	min-height: 52px;
	padding-inline: 24px;
}

.spark-home-section-head {
	margin: 0 auto 42px;
	max-width: 760px;
	text-align: center;
}

.spark-home-section-head h2 {
	font-size: clamp(30px, 3vw, 44px);
}

.spark-home-section-head p:not(.spark-kicker) {
	color: var(--spark-muted);
	font-size: clamp(17px, 1.6vw, 20px);
	margin: 14px auto 0;
	max-width: 720px;
}

.spark-popular-home {
	background: #fff;
}

.spark-popular-grid {
	display: grid;
	gap: clamp(28px, 3vw, 44px) clamp(24px, 3vw, 40px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.spark-popular-card {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.spark-popular-image {
	aspect-ratio: 1.695 / 1;
	background: var(--spark-mint);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(23, 32, 28, 0.08);
	display: block;
	overflow: hidden;
	position: relative;
}

.spark-popular-image img {
	height: 100%;
	object-fit: cover;
	transition: transform 240ms ease;
	width: 100%;
}

.spark-popular-card:hover .spark-popular-image img {
	transform: scale(1.025);
}

.spark-popular-copy {
	display: grid;
	gap: 7px;
	justify-items: start;
}

.spark-popular-copy h3 {
	font-size: clamp(22px, 2vw, 28px);
}

.spark-popular-copy p {
	color: var(--spark-muted);
	font-size: 17px;
	margin: 0 0 8px;
	max-width: 620px;
}

.spark-outline-link {
	align-items: center;
	background: #fff;
	border: 2px solid var(--spark-ink);
	border-radius: 999px;
	color: var(--spark-ink);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 44px;
	padding: 9px 24px;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.spark-outline-link:hover {
	background: var(--spark-ink);
	color: #fff;
	transform: translateY(-1px);
}

.spark-deals-home {
	background: #fffaf0;
	border-bottom: 1px solid rgba(23, 32, 28, 0.08);
	border-top: 1px solid rgba(23, 32, 28, 0.08);
}

.spark-deals-grid {
	display: grid;
	gap: 34px 24px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.spark-deal-card {
	display: grid;
	gap: 14px;
	min-width: 0;
	text-align: center;
}

.spark-deal-image {
	aspect-ratio: 1 / 1;
	background: #fff;
	display: block;
	overflow: hidden;
	position: relative;
}

.spark-deal-image img {
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
	width: 100%;
}

.spark-deal-card:hover .spark-deal-image img {
	transform: scale(1.025);
}

.spark-deal-copy {
	display: grid;
	gap: 4px;
	justify-items: center;
}

.spark-deal-copy h3 {
	font-size: 16px;
	line-height: 1.3;
}

.spark-deal-copy p {
	color: var(--spark-muted);
	font-size: 14px;
	line-height: 1.35;
	margin: 0;
}

.spark-deal-price {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	line-height: 1;
}

.spark-deal-price strong {
	color: #000;
	font-size: 18px;
	font-variant-numeric: tabular-nums;
}

.spark-deal-price del {
	color: #e00000;
	font-size: 0.78rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	text-decoration-thickness: 2px;
}

.spark-hero-visual {
	aspect-ratio: 1 / 0.78;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(255, 241, 230, 0.9)),
		repeating-linear-gradient(45deg, rgba(255, 106, 0, 0.07) 0 12px, transparent 12px 24px);
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	box-shadow: var(--spark-shadow);
	position: relative;
}

.spark-sticker-card {
	align-items: center;
	background: #fff;
	border: 2px solid var(--spark-ink);
	box-shadow: 0 12px 28px rgba(23, 32, 28, 0.16);
	display: flex;
	font-weight: 600;
	justify-content: center;
	position: absolute;
	text-align: center;
}

.spark-sticker-card-one {
	border-radius: 36% 64% 52% 48% / 58% 37% 63% 42%;
	font-size: 28px;
	height: 42%;
	left: 11%;
	top: 17%;
	transform: rotate(-9deg);
	width: 48%;
}

.spark-sticker-card-two {
	border-color: var(--spark-forest);
	border-radius: 8px;
	bottom: 16%;
	height: 28%;
	right: 10%;
	transform: rotate(7deg);
	width: 44%;
}

.spark-sticker-card-three {
	background: var(--spark-sun);
	border-radius: 8px;
	height: 24%;
	right: 18%;
	top: 16%;
	transform: rotate(4deg);
	width: 36%;
}

.spark-section {
	padding: 76px 0;
}

.spark-muted-section {
	background: #fff7ed;
	border-bottom: 1px solid var(--spark-line);
	border-top: 1px solid var(--spark-line);
}

.spark-section-heading {
	margin-bottom: 28px;
	max-width: 760px;
}

.spark-product-grid,
.spark-feature-grid,
.spark-proof-grid,
.spark-review-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.spark-product-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.spark-product-card,
.spark-feature-panel,
.spark-wc-product-card > a,
.spark-contact-form,
.spark-order-panel {
	background: var(--spark-paper);
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	box-shadow: 0 8px 26px rgba(23, 32, 28, 0.06);
}

.spark-product-card {
	display: grid;
	gap: 12px;
	min-height: 244px;
	padding: 24px;
}

.spark-product-card-media {
	align-items: center;
	aspect-ratio: 1.45 / 1;
	background: linear-gradient(135deg, #fffdf8, #fff4dd);
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.spark-product-card-media span {
	background: #fff;
	border: 2px solid var(--spark-ink);
	box-shadow: 0 10px 20px rgba(23, 32, 28, 0.12);
	display: block;
	position: absolute;
}

.spark-product-card-media span:first-child {
	background: var(--spark-sun);
	border-radius: 42% 58% 50% 50% / 58% 36% 64% 42%;
	height: 46%;
	left: 17%;
	top: 27%;
	transform: rotate(-10deg);
	width: 44%;
}

.spark-product-card-media span:last-child {
	background: var(--spark-mint);
	border-color: var(--spark-forest);
	border-radius: 8px;
	height: 28%;
	right: 16%;
	top: 38%;
	transform: rotate(7deg);
	width: 42%;
}

.spark-product-card-media-clear span:first-child {
	background: rgba(255, 255, 255, 0.76);
}

.spark-product-card-media-matte span:first-child {
	background: #efe5d8;
}

.spark-product-card-media-vinyl span:last-child,
.spark-product-card-media-sheets span:last-child {
	background: #fff;
}

.spark-product-card:hover,
.spark-wc-product-card > a:hover {
	border-color: rgba(255, 106, 0, 0.38);
	box-shadow: var(--spark-shadow);
	transform: translateY(-2px);
}

.spark-card-badge {
	background: var(--spark-mint);
	border-radius: 999px;
	color: var(--spark-forest);
	font-size: 12px;
	font-weight: 600;
	justify-self: start;
	padding: 5px 9px;
}

.spark-product-card p,
.spark-feature-panel p,
.spark-cta-band p {
	color: var(--spark-muted);
	margin: 0;
}

.spark-card-link {
	align-items: center;
	color: var(--spark-forest);
	display: inline-flex;
	font-weight: 600;
	gap: 8px;
	margin-top: auto;
}

.spark-proof-band {
	background: var(--spark-ink);
	color: #fff;
	padding: 34px 0;
}

.spark-proof-grid > div {
	display: grid;
	gap: 4px;
}

.spark-proof-grid span {
	color: rgba(255, 255, 255, 0.72);
}

.spark-page-hero {
	padding: 72px 0;
}

.spark-page-hero-compact {
	padding: 30px 0 24px;
}

.spark-page-hero-compact h1 {
	font-size: clamp(2.25rem, 4vw, 3.25rem);
	line-height: 1.05;
	margin: 0;
}

.spark-product-layout {
	align-items: start;
	display: grid;
	gap: 44px;
	grid-template-columns: minmax(430px, 0.95fr) minmax(500px, 1.05fr);
	padding-bottom: 48px;
	padding-top: 48px;
}

.spark-product-gallery {
	align-items: start;
	display: grid;
	gap: 12px;
	grid-template-columns: 54px minmax(0, 1fr);
	min-width: 0;
	position: sticky;
	top: 126px;
}

.spark-product-thumbs {
	display: grid;
	gap: 10px;
}

.spark-product-thumb {
	aspect-ratio: 1 / 1;
	background: #fffdf8;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	cursor: pointer;
	overflow: hidden;
	padding: 0;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
	width: 54px;
}

.spark-product-thumb:hover,
.spark-product-thumb:focus-visible,
.spark-product-thumb.is-selected {
	border-color: var(--spark-forest);
	box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.18);
}

.spark-product-thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.spark-gallery-fallback {
	background:
		radial-gradient(circle at 40% 42%, var(--spark-sun) 0 24%, transparent 25%),
		linear-gradient(22deg, transparent 42%, var(--spark-mint) 43% 66%, transparent 67%),
		#fff;
	display: block;
	height: 100%;
	width: 100%;
}

.spark-gallery-fallback-vinyl {
	background:
		radial-gradient(circle at 50% 50%, #fff 0 28%, #eadfd2 29% 31%, transparent 32%),
		#fffdf8;
}

.spark-gallery-fallback-holographic {
	background: linear-gradient(135deg, #68e1fd, #e468ff 44%, #ffe071 72%, #4cd98c);
}

.spark-gallery-fallback-clear {
	background: linear-gradient(135deg, rgba(255,255,255,0.86), rgba(215,246,255,0.72));
}

.spark-gallery-fallback-sheet {
	background:
		repeating-linear-gradient(90deg, rgba(255, 106, 0, 0.12) 0 1px, transparent 1px 13px),
		repeating-linear-gradient(0deg, rgba(255, 106, 0, 0.12) 0 1px, transparent 1px 13px),
		#fff;
}

.spark-product-purchase {
	display: grid;
	gap: 22px;
	min-width: 0;
}

.spark-product-story {
	min-width: 0;
}

.spark-product-story h1 {
	font-size: clamp(30px, 2.75vw, 38px);
	font-weight: 800;
	line-height: 1.08;
	max-width: 620px;
}

.spark-product-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.spark-product-story > .spark-kicker,
.spark-product-badges,
.spark-order-panel > h2,
.spark-order-panel > p,
.spark-order-panel .csc-header,
.spark-order-panel .csc-section[aria-labelledby$="-material"] > .csc-section-head p,
.spark-order-panel .csc-quantity-select-field > span {
	display: none;
}

.spark-product-badges span {
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	padding: 8px 11px;
}

.spark-product-media {
	margin: 0;
	max-width: none;
}

.spark-product-photo {
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	object-fit: cover;
	width: 100%;
}

.spark-product-slide[hidden] {
	display: none;
}

.spark-product-preview {
	aspect-ratio: 1 / 1;
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	box-shadow: 0 16px 34px rgba(23, 32, 28, 0.08);
	overflow: hidden;
	position: relative;
}

.spark-preview-sheet,
.spark-preview-sticker,
.spark-preview-label {
	border: 2px solid var(--spark-ink);
	box-shadow: var(--spark-shadow);
	position: absolute;
}

.spark-preview-sheet {
	background: #fff;
	border-radius: 8px;
	border-width: 0;
	box-shadow: none;
	inset: 0;
}

.spark-preview-sticker {
	background: var(--spark-sun);
	border-radius: 42% 58% 50% 50% / 58% 36% 64% 42%;
	height: 45%;
	left: 18%;
	top: 18%;
	transform: rotate(-10deg);
	width: 45%;
}

.spark-preview-label {
	background: var(--spark-mint);
	border-color: var(--spark-forest);
	border-radius: 8px;
	height: 30%;
	right: 10%;
	top: 30%;
	transform: rotate(6deg);
	width: 42%;
}

.spark-product-preview-vinyl .spark-preview-sticker {
	background: #fff;
	border-radius: 999px;
	height: 46%;
	left: 25%;
	top: 25%;
	width: 46%;
}

.spark-product-preview-vinyl .spark-preview-label {
	display: none;
}

.spark-product-preview-holographic .spark-preview-sticker {
	background: linear-gradient(135deg, #68e1fd, #e468ff 44%, #ffe071 72%, #4cd98c);
}

.spark-product-preview-clear .spark-preview-sticker {
	background: rgba(255, 255, 255, 0.74);
}

.spark-product-preview-sheet .spark-preview-sheet {
	background:
		repeating-linear-gradient(90deg, rgba(255, 106, 0, 0.1) 0 1px, transparent 1px 42px),
		repeating-linear-gradient(0deg, rgba(255, 106, 0, 0.1) 0 1px, transparent 1px 42px),
		#fff;
}

.spark-product-detail-card {
	color: var(--spark-ink);
	font-size: 16px;
	line-height: 1.45;
}

.spark-product-detail-card p {
	margin: 0 0 16px;
}

.spark-product-detail-card ul {
	display: grid;
	gap: 7px;
	margin: 0 0 18px 18px;
	padding: 0;
}

.spark-product-detail-card li::marker {
	color: var(--spark-forest);
}

.spark-product-detail-card strong {
	font-weight: 800;
}

.spark-product-rush-note {
	border-top: 1px solid var(--spark-line);
	padding-top: 15px;
}

.spark-product-manual-content > *:first-child {
	margin-top: 0;
}

.spark-product-manual-content > *:last-child {
	margin-bottom: 0;
}

.spark-order-panel {
	padding: 24px;
	position: static;
	width: 100%;
}

.spark-order-panel .csc-configurator {
	box-shadow: none;
	margin: 0;
	max-width: none;
}

.spark-order-panel .csc-shell {
	align-items: start;
	grid-template-columns: 1fr;
}

.spark-order-panel .csc-main,
.spark-order-panel .csc-section {
	min-width: 0;
	width: 100%;
}

.spark-order-panel .csc-summary {
	position: static;
}

.spark-two-column,
.spark-contact-layout,
.spark-faq-grid {
	align-items: start;
	display: grid;
	gap: 32px;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.spark-feature-panel {
	padding: 24px;
}

.spark-steps {
	counter-reset: steps;
	display: grid;
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.spark-steps li {
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	counter-increment: steps;
	display: grid;
	gap: 4px;
	padding: 20px 20px 20px 66px;
	position: relative;
}

.spark-steps li::before {
	align-items: center;
	background: var(--spark-forest);
	border-radius: 8px;
	color: #fff;
	content: counter(steps);
	display: flex;
	font-weight: 600;
	height: 34px;
	justify-content: center;
	left: 18px;
	position: absolute;
	top: 20px;
	width: 34px;
}

.spark-steps span,
.spark-check-list,
.spark-faq-list p {
	color: var(--spark-muted);
}

.spark-check-list {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.spark-check-list li {
	padding-left: 28px;
	position: relative;
}

.spark-check-list li::before {
	background: var(--spark-forest);
	border-radius: 999px;
	color: #fff;
	content: "";
	height: 14px;
	left: 0;
	position: absolute;
	top: 7px;
	width: 14px;
}

.spark-table-wrap {
	overflow-x: auto;
}

.spark-comparison-table {
	background: #fff;
	border: 1px solid var(--spark-line);
	border-collapse: collapse;
	border-radius: 8px;
	min-width: 720px;
	overflow: hidden;
	width: 100%;
}

.spark-comparison-table th,
.spark-comparison-table td {
	border-bottom: 1px solid var(--spark-line);
	padding: 16px;
	text-align: left;
}

.spark-comparison-table th {
	background: var(--spark-mint);
	font-size: 13px;
	text-transform: uppercase;
}

.spark-comparison-table a {
	color: var(--spark-forest);
	font-weight: 600;
}

.spark-faq-list {
	display: grid;
	gap: 12px;
}

.spark-faq-list details {
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	padding: 18px;
}

.spark-faq-list summary {
	cursor: pointer;
	font-weight: 600;
}

.spark-review-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.spark-review-grid blockquote {
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	font-size: 20px;
	margin: 0;
	padding: 28px;
}

.spark-review-grid cite {
	color: var(--spark-muted);
	display: block;
	font-size: 15px;
	font-style: normal;
	font-weight: 600;
	margin-top: 16px;
}

.spark-cta-band {
	align-items: center;
	background: var(--spark-ink);
	border-radius: 8px;
	color: #fff;
	display: flex;
	gap: 26px;
	justify-content: space-between;
	padding: 34px;
}

.spark-cta-band p {
	color: rgba(255, 255, 255, 0.74);
}

.spark-contact-layout {
	grid-template-columns: minmax(0, 1fr) 360px;
}

.spark-contact-form {
	display: grid;
	gap: 16px;
	padding: 24px;
}

.spark-contact-form label {
	display: grid;
	font-weight: 600;
	gap: 6px;
}

.spark-contact-form input,
.spark-contact-form textarea,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	min-height: 46px;
	padding: 10px 12px;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
	width: 100%;
}

.spark-contact-form input:focus,
.spark-contact-form textarea:focus,
.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
	border-color: var(--spark-forest);
	box-shadow: var(--spark-focus);
	outline: 0;
}

.spark-form-note {
	background: var(--spark-mint);
	border-radius: 8px;
	color: var(--spark-forest);
	font-weight: 600;
	margin: 0;
	padding: 12px;
}

.spark-form-note-error {
	background: #fff1f1;
	color: #9f1d1d;
}

.products {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.spark-wc-product-card > a {
	display: grid;
	gap: 12px;
	height: 100%;
	padding: 20px;
}

.spark-wc-thumb {
	align-items: center;
	aspect-ratio: 1.4 / 1;
	background: linear-gradient(135deg, var(--spark-mint), #fff8e8);
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.spark-wc-thumb span {
	color: var(--spark-forest);
	font-weight: 600;
}

.woocommerce-loop-product__title {
	font-size: 22px;
}

.spark-wc-product-card p {
	color: var(--spark-muted);
	margin: 0;
}

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
	background: #fffdf8;
	padding: 0 0 48px;
}

.woocommerce-cart .spark-page-hero,
.woocommerce-checkout .spark-page-hero,
.woocommerce-account .spark-page-hero {
	background:
		radial-gradient(circle at 82% 12%, rgba(255, 204, 0, 0.24), transparent 26%),
		linear-gradient(135deg, #fffdf8 0%, #fff 54%, #fff0d3 100%);
}

.woocommerce-cart .spark-page-hero-compact,
.woocommerce-checkout .spark-page-hero-compact,
.woocommerce-account .spark-page-hero-compact {
	padding: 22px 0 18px;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
	margin: 0 auto;
	max-width: var(--spark-container);
	padding: 0 24px;
}

.woocommerce-cart .spark-section,
.woocommerce-checkout .spark-section {
	padding: 30px 0 72px;
}

.woocommerce-cart .spark-content {
	display: grid;
	gap: 28px;
}

.spark-cart-account-card {
	align-items: center;
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(17, 17, 17, 0.045);
	display: grid;
	gap: 14px;
	grid-template-columns: 34px minmax(0, 1fr);
	margin: 0 auto;
	max-width: var(--spark-container);
	padding: 22px 26px;
	width: 100%;
}

.spark-cart-account-icon {
	align-items: center;
	background: #fff7ed;
	border: 1px solid #e7d8cc;
	border-radius: 999px;
	color: var(--spark-ink);
	display: inline-flex;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.spark-cart-account-icon svg {
	height: 19px;
	width: 19px;
}

.spark-cart-account-card h2 {
	font-size: 1rem;
	line-height: 1.25;
	margin: 0 0 5px;
}

.spark-cart-account-card p {
	color: var(--spark-ink);
	font-size: 1rem;
	line-height: 1.5;
	margin: 0;
}

.spark-cart-account-card a {
	color: var(--spark-ink);
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.spark-cart-account-card a:hover,
.spark-cart-account-card a:focus-visible {
	color: var(--spark-forest);
}

.woocommerce table.shop_table,
.woocommerce-checkout-review-order,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content,
.wc-block-cart,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-components-panel {
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(17, 17, 17, 0.06);
	padding: 20px;
}

.wc-block-cart,
.wc-block-checkout {
	color: var(--spark-ink);
	font-family: inherit;
	margin: 0 auto;
	max-width: var(--spark-container);
	padding: 0 24px;
}

.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wc-block-checkout {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.woocommerce-cart .wc-block-cart {
	max-width: var(--spark-container);
	padding: 0;
}

.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout,
.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout {
	align-items: flex-start;
	column-gap: 32px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	row-gap: 24px;
}

.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar {
	background: #fff;
	border: 1px solid #decfc2;
	border-radius: 8px;
	box-shadow: none;
}

.woocommerce-cart .wc-block-cart__main {
	flex: 1 1 min(0, calc(100% - 430px));
	min-width: 0;
	padding: 32px;
	position: relative;
}

.woocommerce-cart .wc-block-cart__main::before {
	color: var(--spark-ink);
	content: "My cart";
	display: block;
	font-size: clamp(1.45rem, 2vw, 1.8rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.1;
	margin-bottom: 12px;
}

.woocommerce-cart .wc-block-cart__sidebar {
	flex: 0 0 400px;
	overflow: hidden;
	padding: 0;
	position: sticky;
	top: 116px;
	width: 400px;
}

.woocommerce-cart .wc-block-cart__totals-title {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--spark-line);
	border-radius: 0;
	box-shadow: none;
	font-size: clamp(1.45rem, 2vw, 1.75rem);
	line-height: 1.1;
	margin: 0;
	padding: 30px 32px 24px;
}

.wc-block-components-main,
.wc-block-components-sidebar {
	box-sizing: border-box;
}

.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar-layout .wc-block-components-sidebar {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__main,
.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar {
	background: #fff;
	border: 1px solid #decfc2;
	border-radius: 8px;
	box-shadow: none;
}

.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__main {
	padding: 32px;
}

.wc-block-components-sidebar-layout {
	column-gap: 24px;
	display: flex;
	flex-wrap: wrap;
	row-gap: 24px;
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar > * + * {
	margin-top: 14px;
}

.wc-block-cart-items,
.wc-block-cart-items__row,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-components-panel,
.wc-block-checkout__terms,
.wc-block-checkout__actions {
	border-color: var(--spark-line) !important;
}

.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title,
.wc-block-components-order-summary__button-text,
.wc-block-components-totals-item__label {
	color: var(--spark-ink);
	font-weight: 800;
}

.wc-block-components-product-name,
.wc-block-cart-item__total,
.wc-block-components-totals-item__value {
	color: var(--spark-ink);
	font-weight: 800;
}

.wc-block-components-product-metadata,
.wc-block-components-product-details,
.wc-block-components-totals-coupon__content,
.wc-block-components-checkout-step__description {
	color: var(--spark-muted);
}

.wp-block-woocommerce-cart-order-summary-coupon-form-block.wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block.wc-block-components-totals-wrapper {
	background: #fffdf8;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	margin-top: 16px;
	padding: 12px 14px;
}

.wc-block-components-totals-coupon.wc-block-components-panel {
	border: 0 !important;
	box-shadow: none;
	padding: 0;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button {
	align-items: center;
	background: #fff;
	border: 1px solid #d7c8bc;
	border-radius: 8px;
	color: var(--spark-ink);
	display: flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: space-between;
	line-height: 1.2;
	min-height: 56px;
	padding: 16px 46px 16px 18px;
	position: relative;
	text-align: left;
	width: 100%;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-totals-coupon .wc-block-components-panel__button[role="button"] {
	padding-inline-end: 46px !important;
	padding-inline-start: 18px !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
.wc-block-components-totals-coupon .wc-block-components-panel__button:focus-visible {
	background: var(--spark-mint);
	border-color: var(--spark-forest);
	box-shadow: var(--spark-focus);
	color: var(--spark-ink);
	outline: 0;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button svg {
	height: 18px;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
}

.wc-block-components-totals-coupon__content {
	padding-top: 14px;
}

.wc-block-components-totals-coupon__form {
	display: grid;
	gap: 10px;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input input {
	background: #fff;
	border: 1px solid #d7c8bc;
	border-radius: 8px;
	min-height: 48px;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus {
	border-color: var(--spark-forest);
	box-shadow: var(--spark-focus);
	outline: 0;
}

.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	background: transparent;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding: 14px 18px;
}

.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	background: #fff;
	padding: 0;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	padding: 13px 32px;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper {
	border-top: 0 !important;
}

.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-shipping-block,
.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-taxes-block {
	padding-top: 7px;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
	align-items: baseline;
	display: flex;
	justify-content: space-between;
	min-height: 26px;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value {
	font-size: 1rem;
	line-height: 1.35;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value {
	color: var(--spark-ink);
	font-weight: 700;
	min-width: 8ch;
	text-align: right;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item {
	border-top: 1px solid var(--spark-line);
	margin-top: 12px;
	padding: 28px 32px 22px;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.12rem;
	font-weight: 900;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value .wc-block-formatted-money-amount {
	display: inline-block;
	min-width: 8ch;
	text-align: right;
	white-space: nowrap;
}

.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-proceed-to-checkout-block {
	padding: 0 32px 32px;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__submit-container,
.woocommerce-cart .wc-block-cart__submit {
	margin: 0;
	padding: 0;
	position: static !important;
	transform: none !important;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-button {
	background-color: var(--spark-sun);
	background-image: linear-gradient(115deg, rgba(255, 255, 255, 0) 22%, rgba(255, 255, 255, 0.36) 42%, rgba(255, 255, 255, 0) 58%);
	border-color: #efbd00;
	box-shadow: 0 10px 22px rgba(255, 106, 0, 0.16);
	color: #111;
	font-size: 0.95rem;
	font-weight: 900;
	letter-spacing: 0;
	min-height: 56px;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-button:hover {
	background-color: var(--spark-accent);
	border-color: var(--spark-accent);
	color: #111;
}

.woocommerce-cart .wc-block-cart__sidebar .spark-cart-coupon-card {
	background: #fff;
	border: 1px solid #decfc2 !important;
	border-radius: 8px;
	box-shadow: none;
	margin: 18px 18px 0;
	overflow: hidden;
	padding: 0;
}

.woocommerce-cart .spark-cart-coupon-card .wc-block-components-totals-coupon {
	background: transparent;
}

.woocommerce-cart .spark-cart-coupon-card .wc-block-components-panel__button {
	align-items: center;
	border: 0;
	border-radius: 0;
	justify-content: center;
	min-height: 58px;
	padding: 18px 54px 26px 54px !important;
	text-align: center;
}

.woocommerce-cart .spark-cart-coupon-card .wc-block-components-totals-coupon__content {
	padding: 0 18px 18px;
}

.wc-block-components-sidebar .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper,
.wc-block-cart__sidebar .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper {
	border-top: 1px solid var(--spark-line) !important;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper {
	border-top: 0 !important;
}

.wc-block-components-totals-wrapper.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wc-block-components-totals-wrapper.wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	padding: 12px 18px;
}

.woocommerce-cart .wc-block-cart__sidebar .spark-cart-coupon-card {
	margin: 18px 18px 0;
	padding: 0;
}

.wc-block-components-sidebar .wc-block-components-totals-footer-item,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item,
.wc-block-cart__sidebar .wc-block-components-totals-footer-item {
	align-items: baseline;
	font-size: 1.08rem;
	padding-top: 16px;
}

.wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 1.1rem;
	font-weight: 700;
}

.wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.35rem;
	font-weight: 500;
	letter-spacing: 0;
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	background: #fff7ed;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
}

.wc-block-components-quantity-selector {
	border: 1px solid #d7c8bc;
	border-radius: 8px;
	overflow: hidden;
}

.wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector__input {
	background: #fff;
	color: var(--spark-ink);
	min-height: 38px;
}

.woocommerce table.shop_table {
	border-collapse: collapse;
	width: 100%;
}

.woocommerce .variation,
.woocommerce .wc-item-meta {
	color: var(--spark-muted);
	display: grid;
	font-size: 14px;
	gap: 4px 10px;
	grid-template-columns: max-content minmax(0, 1fr);
	line-height: 1.4;
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
}

.woocommerce .variation dt,
.woocommerce .variation dd,
.woocommerce .wc-item-meta li,
.woocommerce .wc-item-meta p {
	float: none;
	margin: 0;
	padding: 0;
}

.woocommerce .variation dt,
.woocommerce .wc-item-meta strong {
	color: var(--spark-ink);
	font-weight: 800;
}

.woocommerce .variation dd,
.woocommerce .wc-item-meta p {
	min-width: 0;
	overflow-wrap: anywhere;
}

.woocommerce .variation dd p {
	margin: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-bottom: 1px solid var(--spark-line);
	padding: 14px;
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce-checkout #payment #place_order,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	background-color: var(--spark-ink);
	background-image: linear-gradient(115deg, rgba(255, 255, 255, 0) 22%, rgba(255, 255, 255, 0.16) 42%, rgba(255, 255, 255, 0) 58%);
	background-position: 160% 50%;
	background-repeat: no-repeat;
	background-size: 220% 100%;
	border: 1px solid var(--spark-ink);
	border-radius: 8px;
	box-shadow: 0 8px 18px rgba(17, 17, 17, 0.16);
	color: #fff;
	cursor: pointer;
	font-weight: 600;
	min-height: 46px;
	padding: 12px 18px;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease, background-position 320ms ease;
}

.wc-block-components-button {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	width: 100%;
}

.wc-block-components-button .wc-block-components-button__text {
	color: inherit;
	font-weight: 800;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce-checkout #payment #place_order:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover {
	background: var(--spark-forest);
	background-position: 0 50%;
	border-color: var(--spark-forest);
	box-shadow: 0 10px 22px rgba(198, 66, 0, 0.24);
	color: #fff;
	transform: translateY(-1px);
}

.woocommerce .button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce-checkout #payment #place_order:focus-visible,
.wc-block-components-button:focus-visible {
	box-shadow: var(--spark-focus);
	outline: 0;
}

.woocommerce .coupon .button,
.woocommerce button.button[name="update_cart"],
.woocommerce a.button.wc-backward,
.woocommerce .shipping-calculator-button,
.wc-block-components-totals-coupon__button {
	background-color: #fff;
	background-image: linear-gradient(115deg, rgba(255, 255, 255, 0) 22%, rgba(255, 106, 0, 0.1) 44%, rgba(255, 255, 255, 0) 60%);
	background-position: 160% 50%;
	background-repeat: no-repeat;
	background-size: 220% 100%;
	border: 1px solid #d7c8bc;
	box-shadow: 0 6px 14px rgba(23, 32, 28, 0.06);
	color: var(--spark-ink);
}

.woocommerce .coupon .button:hover,
.woocommerce button.button[name="update_cart"]:hover,
.woocommerce a.button.wc-backward:hover,
.woocommerce .shipping-calculator-button:hover,
.wc-block-components-totals-coupon__button:hover {
	background: var(--spark-mint);
	background-position: 0 50%;
	border-color: var(--spark-forest);
	color: var(--spark-forest);
}

.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled],
.woocommerce .button.disabled,
.woocommerce .button[aria-disabled="true"],
.wc-block-components-button:disabled,
.wc-block-components-button[aria-disabled="true"] {
	background: #f2eee8;
	border-color: #ded3c8;
	box-shadow: none;
	color: #877a70;
	cursor: not-allowed;
	opacity: 1;
	transform: none;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #payment,
.wc-block-cart__totals-title {
	background: #fff;
	border: 1px solid var(--spark-line);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(17, 17, 17, 0.06);
	padding: 20px;
}

.wc-block-cart-items__row {
	vertical-align: top;
}

.woocommerce-cart .wp-block-woocommerce-cart-items-block::before {
	content: none;
	display: none;
}

.woocommerce-cart .wc-block-cart-items__header {
	display: none !important;
}

.woocommerce-cart .wc-block-cart-items {
	border-collapse: separate !important;
	border-spacing: 0 16px !important;
	margin: 0 !important;
	width: 100%;
}

.woocommerce-cart .wc-block-cart-items__row {
	background: #fff;
	border: 1px solid #decfc2;
	border-radius: 8px;
	box-shadow: none;
	overflow: hidden;
}

.woocommerce-cart .wc-block-cart-items__row td {
	border: 0 !important;
	border-bottom: 0 !important;
	padding: 18px 16px !important;
}

.woocommerce-cart .wc-block-cart-item__image {
	background: linear-gradient(135deg, #fffdf8, #f5f0e9);
	border-radius: 8px 0 0 8px;
	padding: 0 !important;
	width: clamp(132px, 18vw, 210px);
}

.woocommerce-cart .wc-block-cart-item__image a,
.woocommerce-cart .wc-block-cart-item__image img {
	display: block;
	height: 100%;
	width: 100%;
}

.woocommerce-cart .wc-block-cart-item__image img {
	border: 0;
	border-radius: 0;
	object-fit: cover;
}

.woocommerce-cart .wc-block-cart-item__wrap {
	gap: 11px;
	padding-left: 14px;
}

.woocommerce-cart .wc-block-components-product-name,
.woocommerce-cart .wc-block-components-product-name a,
.woocommerce-cart .spark-config-link {
	font-size: 22px;
	font-weight: 900;
	line-height: 1.12;
}

.woocommerce-cart .wc-block-cart-item__prices {
	display: none !important;
}

.woocommerce-cart .wc-block-components-product-metadata {
	color: var(--spark-ink);
	font-size: 17px;
	line-height: 1.48;
}

.woocommerce-cart .wc-block-components-product-details {
	gap: 5px 10px;
}

.woocommerce-cart .wc-block-components-product-details > span {
	display: inline-flex;
	font-size: 17px;
	line-height: 1.48;
	margin-right: 8px;
}

.woocommerce-cart .wc-block-components-product-details__name,
.woocommerce-cart .wc-block-components-product-details__value {
	font-size: 17px;
	line-height: 1.48;
}

.woocommerce-cart .wc-block-cart-item__quantity {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: 12px;
	margin-top: 14px;
}

.woocommerce-cart .wc-block-components-quantity-selector[hidden] {
	display: none !important;
}

.woocommerce-cart .wc-block-components-product-details__quantity {
	display: none !important;
}

.spark-cart-configured-quantity-label {
	color: var(--spark-ink);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
}

input.spark-cart-configured-quantity {
	background: #fff;
	border: 1px solid #d7c8bc;
	border-radius: 8px;
	color: var(--spark-ink);
	display: inline-block;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.1;
	max-width: 136px;
	min-height: 48px;
	padding: 9px 16px;
	text-align: center;
	width: 136px;
}

input.spark-cart-configured-quantity:focus {
	border-color: var(--spark-orange);
	box-shadow: 0 0 0 3px rgba(255, 106, 0, 0.16);
	outline: 0;
}

input.spark-cart-configured-quantity.is-loading {
	cursor: wait;
	opacity: 0.65;
}

.woocommerce-cart .wc-block-formatted-money-amount.spark-cart-price-loading {
	position: relative;
}

.woocommerce-cart .wc-block-formatted-money-amount.spark-cart-price-loading::after {
	animation: spark-cart-price-spin 680ms linear infinite;
	border: 2px solid rgba(255, 106, 0, 0.22);
	border-radius: 999px;
	border-top-color: var(--spark-orange);
	content: "";
	display: block;
	height: 16px;
	left: calc(100% + 8px);
	margin-top: -8px;
	position: absolute;
	top: 50%;
	width: 16px;
}

@keyframes spark-cart-price-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-cart .wc-block-formatted-money-amount.spark-cart-price-loading::after {
		animation: none;
	}
}

.woocommerce-cart .wc-block-cart-item__remove-link {
	color: var(--spark-ink);
	font-size: 0.88rem;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.woocommerce-cart .wc-block-cart-item__remove-link:hover,
.woocommerce-cart .wc-block-cart-item__remove-link:focus-visible {
	color: var(--spark-forest);
}

.woocommerce-cart .wc-block-cart-item__total {
	font-size: 22px;
	font-weight: 900;
	min-width: 132px;
	padding-right: 24px !important;
	text-align: right;
	white-space: nowrap;
}

.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
	display: inline-block;
	font-size: 22px;
	font-weight: 900;
	min-width: 7.25ch;
	text-align: right;
	white-space: nowrap;
}

.wc-block-cart-item__wrap,
.wc-block-components-order-summary-item__description {
	display: grid;
	gap: 8px;
}

.wc-block-components-product-name,
.wc-block-components-product-name a,
.spark-config-link {
	color: var(--spark-ink);
	font-size: 1.08rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	text-decoration: none;
}

.wc-block-components-product-name a:hover,
.wc-block-components-product-name a:focus-visible,
.spark-config-link:hover,
.spark-config-link:focus-visible {
	color: var(--spark-forest);
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.wc-block-cart-item__prices,
.wc-block-components-order-summary-item__individual-prices {
	font-size: 1rem;
	font-weight: 700;
}

.wc-block-components-product-metadata {
	margin-top: 2px;
}

.wc-block-components-product-details {
	display: grid;
	gap: 4px;
}

.wc-block-components-product-details > span {
	align-items: baseline;
	background: transparent;
	border: 0;
	border-radius: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 0;
}

.wc-block-components-product-details > span [aria-hidden="true"] {
	display: none;
}

.wc-block-components-product-details__name {
	color: var(--spark-ink);
	font-weight: 800;
}

.wc-block-components-product-details__value {
	color: var(--spark-muted);
	line-height: 1.45;
	min-width: 0;
	overflow-wrap: anywhere;
}

.wc-block-components-order-summary-item {
	align-items: start;
	column-gap: 14px;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-size: 1.12rem;
}

.wc-block-components-order-summary-item__total-price,
.wc-block-cart-item__total {
	font-weight: 800;
}

@media (min-width: 981px) {
	.wc-block-checkout.wc-block-components-sidebar-layout {
		align-items: flex-start;
		flex-wrap: nowrap;
	}

	.wc-block-checkout__main {
		flex: 1 1 min(0, calc(100% - 386px));
		min-width: 0;
	}

	.wc-block-checkout__sidebar {
		flex: 0 0 362px;
		width: 362px;
	}
}

@media (max-width: 980px) {
	.woocommerce-cart .spark-section {
		padding-top: 22px;
	}

	.spark-cart-account-card {
		padding: 18px;
	}

	.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout,
	.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout {
		display: grid;
		gap: 22px;
	}

	.woocommerce-cart .wc-block-cart__main,
	.woocommerce-cart .wc-block-cart__sidebar {
		flex: none;
		position: static;
		width: 100%;
	}

	.woocommerce-cart .wc-block-cart__main {
		padding: 22px;
	}
}

@media (max-width: 680px) {
	.spark-cart-account-card {
		align-items: start;
		grid-template-columns: 30px minmax(0, 1fr);
	}

	.spark-cart-account-card p {
		font-size: 0.95rem;
	}

	.woocommerce-cart .wc-block-cart {
		padding: 0;
	}

	.woocommerce-cart .wc-block-cart__main {
		background: transparent !important;
		border: 0 !important;
		padding: 0;
	}

	.woocommerce-cart .wc-block-cart__main::before {
		font-size: 1.45rem;
	}

	.woocommerce-cart .wc-block-cart-items {
		border-spacing: 0 12px !important;
	}

	.woocommerce-cart .wc-block-cart-items__row {
		display: grid !important;
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 14px;
		padding: 14px !important;
		position: relative;
	}

	.woocommerce-cart .wc-block-cart-items__row td {
		padding: 0 !important;
	}

	.woocommerce-cart .wc-block-cart-item__image {
		align-self: start;
		border-radius: 8px;
		grid-row: 1 !important;
		height: 86px;
		min-height: 86px;
		overflow: hidden;
		width: 86px;
	}

	.woocommerce-cart .wc-block-cart-item__image img {
		height: 86px;
		object-fit: contain;
		padding: 10px;
	}

	.woocommerce-cart .wc-block-cart-item__product {
		grid-column: 2 !important;
		grid-row: 1 !important;
		min-width: 0;
	}

	.woocommerce-cart .wc-block-cart-item__wrap {
		gap: 7px;
		padding-left: 0;
	}

	.woocommerce-cart .wc-block-components-product-name,
	.woocommerce-cart .wc-block-components-product-name a,
	.woocommerce-cart .spark-config-link {
		font-size: 20px;
		font-weight: 900;
		line-height: 1.08;
	}

	.woocommerce-cart .wc-block-components-product-metadata {
		font-size: 15px;
		line-height: 1.36;
	}

	.woocommerce-cart .wc-block-components-product-details > span,
	.woocommerce-cart .wc-block-components-product-details__name,
	.woocommerce-cart .wc-block-components-product-details__value {
		font-size: 15px;
		line-height: 1.36;
	}

	.woocommerce-cart .wc-block-cart-item__quantity {
		display: grid;
		grid-template-columns: auto minmax(84px, 112px) 44px;
		flex-wrap: nowrap;
		gap: 8px;
		margin-top: 10px;
		width: 100%;
	}

	.spark-cart-configured-quantity-label {
		font-size: 15px;
	}

	input.spark-cart-configured-quantity {
		font-size: 16px;
		min-height: 44px;
		padding: 8px 12px;
		width: 100%;
	}

	.woocommerce-cart .wc-block-cart-item__remove-link {
		align-items: center;
		display: inline-flex !important;
		font-size: 0;
		height: 44px;
		justify-content: center;
		margin: 0;
		min-width: 44px;
		position: static !important;
		width: 44px;
	}

	.woocommerce-cart .wc-block-cart-item__remove-link::before {
		background: currentColor;
		content: "";
		height: 19px;
		-webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M9%203h6l1%202h4v2H4V5h4l1-2Zm1%206h2v9h-2V9Zm4%200h2v9h-2V9ZM7%209h2v9h8V9h2v10a2%202%200%200%201-2%202H9a2%202%200%200%201-2-2V9Z%27/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M9%203h6l1%202h4v2H4V5h4l1-2Zm1%206h2v9h-2V9Zm4%200h2v9h-2V9ZM7%209h2v9h8V9h2v10a2%202%200%200%201-2%202H9a2%202%200%200%201-2-2V9Z%27/%3E%3C/svg%3E") center / contain no-repeat;
		width: 19px;
	}

	.woocommerce-cart .wc-block-cart-item__total {
		display: block !important;
		font-size: 20px;
		grid-column: 2 !important;
		grid-row: 2 !important;
		padding: 0 !important;
		text-align: left;
	}

	.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
		font-size: 20px;
		font-weight: 900;
	}

	.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
		align-items: flex-start;
		display: flex;
		justify-content: flex-start;
	}

	.woocommerce-cart .wc-block-cart__totals-title {
		padding: 24px 22px 20px;
	}

	.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
		padding-left: 22px;
		padding-right: 22px;
	}

	.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item {
		padding: 24px 22px 18px;
	}

	.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-proceed-to-checkout-block {
		padding: 0 22px 24px;
	}

	.woocommerce-cart .wc-block-cart__sidebar .spark-cart-coupon-card {
		margin: 18px 14px 14px;
	}

	.woocommerce-cart .spark-cart-coupon-card .wc-block-components-panel__button {
		justify-content: center;
		min-height: 60px;
		padding: 18px 50px 28px !important;
		text-align: center;
	}
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-select select,
.wc-block-components-address-form__address_2-toggle {
	background: #fff;
	border: 1px solid #d7c8bc;
	border-radius: 8px;
	color: var(--spark-ink);
	min-height: 48px;
}

.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-select select,
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
	background: #fff !important;
	border: 1px solid #d7c8bc !important;
	border-radius: 8px !important;
	color: var(--spark-ink) !important;
	min-height: 54px;
}

.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input input::placeholder {
	color: #6f6258;
	opacity: 1;
}

.woocommerce-checkout .pac-container {
	border: 1px solid #d7c8bc;
	border-radius: 8px;
	box-shadow: 0 18px 38px rgba(17, 17, 17, 0.14);
	font-family: inherit;
	margin-top: 6px;
	z-index: 99999;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.wc-block-components-form .wc-block-components-select select:focus {
	border-color: var(--spark-forest);
	box-shadow: var(--spark-focus);
	outline: 0;
}

.wc-block-components-notice-banner,
.wc-block-components-validation-error,
.wc-block-components-payment-methods__no-payment-methods {
	border-radius: 8px;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.form-row {
	border-color: var(--spark-line);
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	background: #fff;
	border: 1px solid var(--spark-line);
	border-left: 4px solid var(--spark-forest);
	border-radius: 8px;
	list-style-position: inside;
	margin: 0 auto 18px;
	max-width: var(--spark-container);
	padding: 14px 18px;
}

.woocommerce-error {
	border-left-color: #c62828;
}

.woocommerce-account form.login,
.woocommerce-account form.register {
	display: grid;
	gap: 18px;
}

.woocommerce-account form.login .form-row,
.woocommerce-account form.register .form-row {
	margin: 0;
}

.woocommerce-account form.login label,
.woocommerce-account form.register label {
	color: var(--spark-ink);
	font-weight: 700;
}

.woocommerce-account form.login .password-input,
.woocommerce-account form.register .password-input {
	display: block;
	position: relative;
	width: 100%;
}

.woocommerce-account form.login .show-password-input,
.woocommerce-account form.register .show-password-input {
	display: none !important;
}

.woocommerce-account form.login input.input-text,
.woocommerce-account form.register input.input-text {
	background: #fff;
	border: 1px solid #d7c8bc;
	border-radius: 8px;
	color: var(--spark-ink);
	min-height: 50px;
	padding: 12px 14px;
	width: 100%;
}

.woocommerce-account form.login input.input-text:focus,
.woocommerce-account form.register input.input-text:focus {
	border-color: var(--spark-forest);
	box-shadow: var(--spark-focus);
	outline: 0;
}

.woocommerce-account .woocommerce-form-login__rememberme {
	align-items: center;
	display: inline-flex !important;
	gap: 8px;
	margin: 0 14px 0 0;
}

.woocommerce-account .woocommerce-form-login__rememberme input {
	accent-color: var(--spark-leaf);
	height: 18px;
	width: 18px;
}

.woocommerce-account form.login .button {
	margin-top: 0;
}

.woocommerce-account .woocommerce-LostPassword {
	margin: 0;
}

.spark-site-footer {
	background: var(--spark-ink);
	color: #fff;
	padding: 52px 0 24px;
}

.spark-site-footer .spark-logo {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	width: max-content;
}

.spark-site-footer .spark-logo-image {
	width: min(190px, 70vw);
}

.spark-footer-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: 1.4fr repeat(3, 1fr);
}

.spark-footer-grid p,
.spark-footer-bottom {
	color: rgba(255, 255, 255, 0.68);
}

.spark-footer-grid h2 {
	font-size: 15px;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.spark-footer-grid a {
	color: rgba(255, 255, 255, 0.78);
	display: block;
	margin: 8px 0;
}

.spark-footer-bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	justify-content: space-between;
	margin-top: 34px;
	padding-top: 18px;
}

@media (max-width: 1024px) {
	.spark-header-inner {
		gap: 12px;
		grid-template-columns: minmax(86px, 1fr) auto minmax(86px, 1fr);
	}

	.spark-menu-toggle {
		display: inline-flex;
	}

	.spark-desktop-nav {
		display: none;
	}

	.spark-hero-grid,
	.spark-product-gallery,
	.spark-product-layout,
	.spark-two-column,
	.spark-contact-layout,
	.spark-faq-grid {
		grid-template-columns: 1fr;
	}

	.spark-product-layout {
		padding-top: 36px;
	}

	.spark-product-gallery {
		display: grid;
		position: static;
	}

	.spark-product-thumbs {
		display: flex;
		overflow-x: auto;
		order: 2;
		padding-bottom: 2px;
	}

	.spark-product-media {
		order: 1;
	}

	.spark-order-panel {
		position: static;
		width: 100%;
	}

	.spark-order-panel .csc-shell {
		grid-template-columns: 1fr;
	}

	.spark-order-panel .csc-summary {
		position: static;
	}

	.spark-product-preview,
	.spark-product-photo {
		max-width: none;
	}

	.spark-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.spark-deals-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.spark-container {
		padding-left: 18px;
		padding-right: 18px;
	}

	.spark-topbar-track {
		min-height: 40px;
	}

	.spark-logo-image {
		max-height: 46px;
		width: min(148px, 40vw);
	}

	.spark-header-inner {
		gap: 10px;
		min-height: 72px;
	}

	.spark-header-actions {
		gap: 6px;
	}

	.spark-header-left {
		gap: 6px;
	}

	.spark-header-logo {
		min-width: 118px;
	}

	.spark-icon-button,
	.spark-account-link {
		height: 42px;
		width: 42px;
	}

	.spark-account-link {
		padding: 0;
	}

	.spark-account-link span {
		clip: rect(1px, 1px, 1px, 1px);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.spark-side-cart {
		border-radius: 14px 0 0 14px;
		width: calc(100vw - 26px);
	}

	.spark-side-cart-head {
		padding: 18px;
	}

	.spark-side-cart-scroll {
		padding: 16px 18px 22px;
	}

	.spark-side-cart-item {
		padding: 10px;
	}

	h1 {
		font-size: 38px;
	}

	h2 {
		font-size: 30px;
	}

	.spark-hero-grid {
		gap: 32px;
		min-height: 0;
		padding-bottom: 46px;
		padding-top: 46px;
	}

	.spark-page-hero,
	.spark-section {
		padding: 48px 0;
	}

	.spark-home-hero,
	.spark-home-hero-content {
		min-height: 560px;
	}

	.spark-home-hero-media img {
		object-position: 64% center;
	}

	.spark-home-hero::before {
		background: linear-gradient(90deg, rgba(17, 17, 17, 0.95) 0%, rgba(17, 17, 17, 0.82) 56%, rgba(198, 66, 0, 0.2) 100%);
		content: "";
		inset: 0;
		position: absolute;
		z-index: 1;
	}

	.spark-home-hero::after {
		z-index: 2;
	}

	.spark-home-hero-content {
		place-content: end start;
		padding-bottom: 44px;
		padding-top: 64px;
		z-index: 3;
	}

	.spark-home-hero h1 {
		font-size: clamp(34px, 10vw, 45px);
		line-height: 1.02;
		max-width: 360px;
	}

	.spark-home-hero-content > p:not(.spark-sale-chip) {
		font-size: 16px;
		max-width: 340px;
	}

	.spark-home-actions {
		align-items: stretch;
		display: grid;
		grid-template-columns: 1fr;
		max-width: 280px;
		width: 100%;
	}

	.spark-home-section-head {
		margin-bottom: 28px;
		text-align: left;
	}

	.spark-home-section-head p:not(.spark-kicker) {
		font-size: 16px;
	}

	.spark-popular-grid {
		grid-template-columns: 1fr;
	}

	.spark-popular-card {
		gap: 14px;
	}

	.spark-popular-image {
		border-radius: 0;
		margin-left: calc(-1 * 18px);
		margin-right: calc(-1 * 18px);
		width: calc(100% + 36px);
	}

	.spark-popular-copy h3 {
		font-size: 27px;
		line-height: 1.05;
	}

	.spark-popular-copy p {
		font-size: 16px;
	}

	.spark-outline-link {
		min-height: 42px;
		padding-inline: 20px;
	}

	.spark-deals-grid {
		gap: 24px 12px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.spark-deal-copy h3 {
		font-size: 14px;
	}

	.spark-deal-copy p {
		font-size: 12px;
	}

	.spark-deal-price strong {
		font-size: 16px;
	}

	.spark-deal-price del {
		font-size: 0.74rem;
	}

	.spark-product-layout {
		gap: 28px;
		padding-bottom: 20px;
		padding-top: 20px;
	}

	.spark-product-story {
		gap: 10px;
	}

	.spark-product-story h1 {
		font-size: 30px;
	}

	.spark-product-story .spark-lead {
		font-size: 17px;
		line-height: 1.45;
		margin: 0;
	}

	.spark-product-media {
		margin: 0 0 8px;
		max-width: none;
	}

	.spark-product-photo,
	.spark-product-preview {
		aspect-ratio: 1 / 1;
		width: 100%;
	}

	.spark-product-preview {
		background: #fff;
		border: 1px solid var(--spark-line);
		border-radius: 8px;
		box-shadow: 0 16px 34px rgba(23, 32, 28, 0.08);
	}

	.spark-product-preview .spark-preview-sheet {
		border-width: 0;
		box-shadow: none;
		inset: 0;
	}

	.spark-order-panel {
		border: 0;
		box-shadow: none;
		padding: 0;
	}

	.spark-product-detail-card {
		font-size: 15.5px;
	}

	.spark-product-grid,
	.spark-feature-grid,
	.spark-proof-grid,
	.spark-review-grid,
	.products {
		grid-template-columns: 1fr;
	}

	.spark-product-card,
	.spark-wc-product-card > a {
		background: transparent;
		border: 0;
		box-shadow: none;
		gap: 10px;
		min-height: 0;
		padding: 0;
	}

	.spark-product-card:hover,
	.spark-wc-product-card > a:hover {
		box-shadow: none;
		transform: none;
	}

	.spark-product-card-media,
	.spark-wc-thumb {
		aspect-ratio: 1.15 / 1;
		border-radius: 0;
		margin-left: calc(-1 * 18px);
		margin-right: calc(-1 * 18px);
		width: calc(100% + 36px);
	}

	.spark-card-badge,
	.spark-card-link {
		display: none;
	}

	.spark-product-card h3,
	.woocommerce-loop-product__title {
		font-size: 28px;
		line-height: 1.05;
		margin-top: 4px;
		text-transform: none;
	}

	.spark-product-card p,
	.spark-wc-product-card p {
		font-size: 17px;
		line-height: 1.45;
	}

	.spark-cta-band {
		align-items: flex-start;
		flex-direction: column;
		padding: 24px;
	}

	.spark-footer-grid,
	.spark-footer-bottom {
		display: grid;
		gap: 18px;
		grid-template-columns: 1fr;
	}

	.woocommerce table.shop_table {
		display: block;
		overflow-x: auto;
	}

	.wc-block-cart,
	.wc-block-checkout,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-checkout {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.wc-block-components-sidebar-layout {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.wc-block-components-sidebar-layout .wc-block-components-main,
	.wc-block-components-sidebar-layout .wc-block-components-sidebar,
	.wc-block-checkout__main,
	.wc-block-checkout__sidebar {
		box-sizing: border-box;
		padding: 16px;
		width: 100% !important;
	}

	.wc-block-components-order-summary-item {
		column-gap: 12px;
		display: grid !important;
		grid-template-columns: 52px minmax(0, 1fr) !important;
		row-gap: 6px;
	}

	.wc-block-components-order-summary-item__image {
		grid-column: 1 !important;
		grid-row: 1 / span 2;
	}

	.wc-block-components-order-summary-item__description {
		grid-column: 2 !important;
		grid-row: 1;
		min-width: 0;
		width: 100% !important;
	}

	.wc-block-components-order-summary-item__total-price,
	.wc-block-components-order-summary-item__total-price span {
		grid-column: 2 !important;
		grid-row: 2;
		justify-self: start;
		margin-top: 0;
	}

	.wc-block-components-product-metadata,
	.wc-block-components-product-details {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.wc-block-components-product-name {
		line-height: 1.25;
		overflow-wrap: normal;
	}

	.wc-block-components-product-details span {
		word-break: normal;
	}

	.woocommerce-cart .wc-block-cart,
	.woocommerce-cart .wp-block-woocommerce-cart {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
	.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		padding: 0;
	}

	.woocommerce-cart .wc-block-cart__main {
		padding: 18px;
	}

	.woocommerce-cart .wc-block-cart__sidebar {
		padding: 0;
	}
}

@media (max-width: 680px) {
	.woocommerce-cart .wc-block-cart__main {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		padding: 0 !important;
	}

	.woocommerce-cart .wc-block-cart-items__row {
		display: grid !important;
		gap: 14px !important;
		grid-template-columns: 86px minmax(0, 1fr) !important;
		padding: 14px !important;
	}

	.woocommerce-cart .wc-block-cart-items__row td {
		padding: 0 !important;
	}

	.woocommerce-cart .wc-block-cart-item__image {
		border-radius: 8px !important;
		height: 86px !important;
		min-height: 86px !important;
		overflow: hidden;
		width: 86px !important;
	}

	.woocommerce-cart .wc-block-cart-item__image img {
		height: 86px !important;
		object-fit: contain !important;
		padding: 10px !important;
	}

	.woocommerce-cart .wc-block-cart-item__wrap {
		gap: 7px !important;
		padding-left: 0 !important;
	}

	.woocommerce-cart .wc-block-components-product-name,
	.woocommerce-cart .wc-block-components-product-name a,
	.woocommerce-cart .spark-config-link {
		font-size: 20px !important;
		line-height: 1.08 !important;
	}

	.woocommerce-cart .wc-block-components-product-metadata,
	.woocommerce-cart .wc-block-components-product-details > span,
	.woocommerce-cart .wc-block-components-product-details__name,
	.woocommerce-cart .wc-block-components-product-details__value {
		font-size: 15px !important;
		line-height: 1.36 !important;
	}

	.woocommerce-cart .wc-block-cart-item__quantity {
		align-items: center !important;
		display: grid !important;
		gap: 8px !important;
		grid-template-columns: auto 88px 44px !important;
		margin-top: 10px !important;
		max-width: 220px;
		width: 100% !important;
	}

	.spark-cart-configured-quantity-label {
		font-size: 15px !important;
		line-height: 1.2 !important;
	}

	input.spark-cart-configured-quantity {
		font-size: 16px !important;
		min-height: 44px !important;
		padding: 8px 10px !important;
		width: 88px !important;
	}

	.woocommerce-cart .wc-block-cart-item__remove-link {
		align-items: center !important;
		display: inline-flex !important;
		height: 44px !important;
		justify-content: center !important;
		margin: 0 !important;
		min-width: 44px !important;
		padding: 0 !important;
		position: static !important;
		width: 44px !important;
	}

	.woocommerce-cart .wc-block-cart-item__remove-link::before {
		content: none !important;
	}

	.woocommerce-cart .wc-block-cart-item__remove-link svg {
		display: block !important;
		height: 20px !important;
		width: 20px !important;
	}

	.woocommerce-cart .wc-block-cart-item__total {
		font-size: 20px !important;
		grid-column: 2 !important;
		padding: 0 !important;
	}

	.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
		font-size: 20px !important;
	}

	.woocommerce-cart .wc-block-cart__sidebar .spark-cart-coupon-card {
		margin: 18px 14px 14px !important;
	}

	.woocommerce-cart .spark-cart-coupon-card .wc-block-components-panel__button {
		justify-content: center !important;
		padding: 18px 50px 28px !important;
		text-align: center !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.001ms !important;
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
	}
}
