/**
 * Sparkle ACC — Purchase Flow v4.4.0
 * WooCommerce Blocks-first, conversion-focused and deliberately restrained.
 */

body.woocommerce-cart,
body.woocommerce-checkout {
	--sp-buy-ink: #111820;
	--sp-buy-paper: #fffdf7;
	--sp-buy-cream: #fff7df;
	--sp-buy-orange: #ffad27;
	--sp-buy-coral: #f05b43;
	--sp-buy-teal: #49b9b1;
	--sp-buy-blue: #3277e8;
	--sp-buy-muted: #667078;
	--sp-buy-line: 2px solid var(--sp-buy-ink);
	--sp-buy-radius: 20px;
	color: var(--sp-buy-ink);
	background:
		linear-gradient(rgb(17 24 32 / 3%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(17 24 32 / 3%) 1px, transparent 1px),
		var(--sp-buy-cream);
	background-size: 38px 38px, 38px 38px, auto;
}

body.woocommerce-cart *,
body.woocommerce-checkout * {
	box-sizing: border-box;
}

body.woocommerce-cart :where(.site-main, main#main, main#content),
body.woocommerce-checkout :where(.site-main, main#main, main#content) {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(34px, 4.5vw, 64px) max(18px, calc((100vw - 1180px) / 2)) clamp(80px, 8vw, 120px) !important;
}

body.woocommerce-cart :where(.page-content, .entry-content, .woocommerce),
body.woocommerce-checkout :where(.page-content, .entry-content, .woocommerce) {
	width: min(100%, 1180px) !important;
	max-width: 1180px !important;
	margin-inline: auto !important;
	font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

body.woocommerce-cart :where(.wp-block-woocommerce-cart, .wc-block-cart),
body.woocommerce-checkout :where(.wp-block-woocommerce-checkout, .wc-block-checkout) {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

body.woocommerce-cart :where(h1, h2, h3, p, a, button, input, select, textarea, label, small, strong, span),
body.woocommerce-checkout :where(h1, h2, h3, p, a, button, input, select, textarea, label, small, strong, span) {
	font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Compact branded orientation --------------------------------------- */

.sparkleacc-purchase-head {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 32px;
	width: 100%;
	min-height: 158px;
	margin: 0 0 36px;
	padding: 28px clamp(24px, 3vw, 38px);
	overflow: hidden;
	color: var(--sp-buy-paper);
	background:
		radial-gradient(circle at 8% 20%, rgb(73 185 177 / 26%) 0 64px, transparent 66px),
		linear-gradient(115deg, transparent 0 74%, rgb(240 91 67 / 17%) 74% 100%),
		var(--sp-buy-ink);
	border: 3px solid var(--sp-buy-ink);
	border-radius: 24px;
	box-shadow: 8px 9px 0 var(--sp-buy-orange);
}

.sparkleacc-purchase-head::after {
	content: "✦";
	position: absolute;
	inset-block-start: 18px;
	inset-inline-start: 22px;
	z-index: -1;
	color: var(--sp-buy-orange);
	font-size: 22px;
	line-height: 1;
}

.sparkleacc-purchase-head__copy {
	min-width: 0;
}

.sparkleacc-purchase-head__kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	color: var(--sp-buy-orange);
	font-size: 12px;
	font-weight: 850;
	line-height: 1.5;
}

.sparkleacc-purchase-head__kicker::before {
	content: "";
	width: 22px;
	height: 4px;
	background: currentColor;
	border-radius: 99px;
}

.sparkleacc-purchase-head h1 {
	max-width: 760px;
	margin: 0 !important;
	color: var(--sp-buy-paper) !important;
	font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
	font-size: clamp(32px, 3.2vw, 46px) !important;
	font-weight: 900 !important;
	line-height: 1.28 !important;
	letter-spacing: -1px;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

.sparkleacc-purchase-head__copy > p {
	max-width: 700px;
	margin: 9px 0 0 !important;
	color: rgb(255 253 247 / 74%);
	font-size: 15px;
	font-weight: 550;
	line-height: 1.9;
}

.sparkleacc-purchase-head__aside {
	display: grid;
	justify-items: end;
	gap: 10px;
	min-width: 168px;
}

.sparkleacc-purchase-head__count,
.sparkleacc-purchase-head__status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 8px 12px;
	color: var(--sp-buy-ink);
	background: var(--sp-buy-orange);
	border: 2px solid var(--sp-buy-paper);
	border-radius: 10px;
	box-shadow: 3px 3px 0 var(--sp-buy-coral);
	font-size: 12px;
	font-weight: 850;
	line-height: 1.35;
}

.sparkleacc-purchase-head__count strong,
.sparkleacc-purchase-head__status b {
	display: grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding-inline: 4px;
	color: var(--sp-buy-paper);
	background: var(--sp-buy-ink);
	border-radius: 6px;
	font-size: 11px;
}

.sparkleacc-purchase-head__link {
	color: var(--sp-buy-paper) !important;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.6;
	text-decoration: underline;
	text-decoration-color: rgb(255 253 247 / 40%);
	text-underline-offset: 4px;
}

.sparkleacc-purchase-head__link:hover,
.sparkleacc-purchase-head__link:focus-visible {
	color: var(--sp-buy-orange) !important;
	text-decoration-color: currentColor;
}

.sparkleacc-purchase-head.is-success {
	box-shadow: 8px 9px 0 var(--sp-buy-teal);
}

.sparkleacc-purchase-head.is-success .sparkleacc-purchase-head__status {
	background: #dff8f4;
	box-shadow: 3px 3px 0 var(--sp-buy-teal);
}

.sparkleacc-purchase-head.is-failed {
	box-shadow: 8px 9px 0 var(--sp-buy-coral);
}

.sparkleacc-purchase-head.is-failed .sparkleacc-purchase-head__status {
	background: #ffe4de;
	box-shadow: 3px 3px 0 var(--sp-buy-coral);
}

/* Notices ------------------------------------------------------------ */

body.woocommerce-cart :where(.woocommerce-message, .woocommerce-error, .woocommerce-info, .wc-block-components-notice-banner),
body.woocommerce-checkout :where(.woocommerce-message, .woocommerce-error, .woocommerce-info, .wc-block-components-notice-banner) {
	margin: 0 0 22px !important;
	padding: 15px 18px !important;
	color: var(--sp-buy-ink) !important;
	background: var(--sp-buy-paper) !important;
	border: var(--sp-buy-line) !important;
	border-radius: 13px !important;
	box-shadow: 5px 5px 0 var(--sp-buy-teal);
	font-size: 14px !important;
	font-weight: 650;
	line-height: 1.8;
}

body.woocommerce-cart :where(.woocommerce-error, .is-error),
body.woocommerce-checkout :where(.woocommerce-error, .is-error) {
	box-shadow: 5px 5px 0 var(--sp-buy-coral);
}

/* Real WooCommerce Blocks layout ------------------------------------ */

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout > .wc-block-components-sidebar-layout {
	display: grid !important;
	direction: ltr;
	grid-template-columns: minmax(300px, 0.37fr) minmax(0, 0.63fr);
	grid-template-areas: "sidebar main";
	align-items: start;
	gap: clamp(24px, 3vw, 36px) !important;
}

/* Checkout Blocks add one wrapper between the block and its two columns.
 * Keeping the outer block as a normal flow container prevents the complete
 * checkout from being squeezed into the 37% summary column. */
body.woocommerce-checkout .wc-block-checkout {
	display: block !important;
	direction: rtl;
}

body.woocommerce-checkout .wc-block-checkout > .wc-block-components-sidebar-layout {
	min-width: 0;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-checkout .wc-block-checkout__main {
	grid-area: main;
	direction: rtl;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	grid-area: sidebar;
	direction: rtl;
	position: sticky;
	inset-block-start: 110px;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	align-self: start;
}

body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
	width: 100% !important;
	max-width: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	float: none !important;
}

/* Cart — product decision area -------------------------------------- */

body.woocommerce-cart .wc-block-cart-items {
	width: 100%;
	margin: 0 !important;
	overflow: hidden;
	color: var(--sp-buy-ink);
	background: var(--sp-buy-paper);
	border: 3px solid var(--sp-buy-ink) !important;
	border-spacing: 0;
	border-collapse: separate;
	border-radius: var(--sp-buy-radius);
	box-shadow: 8px 9px 0 var(--sp-buy-teal);
}

body.woocommerce-cart .wc-block-cart-items thead {
	color: var(--sp-buy-paper);
	background: var(--sp-buy-ink);
}

body.woocommerce-cart .wc-block-cart-items th {
	padding: 13px 18px !important;
	color: inherit;
	border: 0 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.5;
	letter-spacing: 0;
}

body.woocommerce-cart .wc-block-cart-items td {
	padding: 22px 18px !important;
	vertical-align: middle !important;
	border-top: 0 !important;
	border-bottom: 1px solid rgb(17 24 32 / 15%) !important;
}

body.woocommerce-cart .wc-block-cart-items tr:last-child td {
	border-bottom: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__image {
	width: 116px !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
	display: block;
	width: 96px !important;
	height: 96px !important;
	object-fit: cover;
	background: var(--sp-buy-cream);
	border: 2px solid var(--sp-buy-ink);
	border-radius: 14px;
	box-shadow: 4px 4px 0 var(--sp-buy-orange);
}

body.woocommerce-cart .wc-block-components-product-name {
	display: inline-block;
	margin: 0 0 7px !important;
	color: var(--sp-buy-ink) !important;
	font-size: 17px !important;
	font-weight: 850 !important;
	line-height: 1.65 !important;
	text-decoration: none !important;
}

body.woocommerce-cart :where(.wc-block-components-product-metadata, .wc-block-components-product-details) {
	margin: 0 0 12px !important;
	color: var(--sp-buy-muted);
	font-size: 13px !important;
	font-weight: 550;
	line-height: 1.75;
}

body.woocommerce-cart .wc-block-components-product-price {
	color: var(--sp-buy-ink);
	font-size: 15px !important;
	font-weight: 850;
}

body.woocommerce-cart .wc-block-components-product-price del {
	color: #8b9196;
	font-size: 12px;
	font-weight: 600;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
	min-width: 112px;
	height: 43px;
	margin: 5px 0 0 !important;
	overflow: hidden;
	background: #fff;
	border: 2px solid var(--sp-buy-ink) !important;
	border-radius: 10px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector::after {
	display: none !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input {
	min-width: 42px;
	color: var(--sp-buy-ink);
	font-size: 14px;
	font-weight: 850;
}

body.woocommerce-cart .wc-block-components-quantity-selector button {
	width: 34px;
	color: var(--sp-buy-ink) !important;
	background: transparent !important;
	font-size: 18px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector button:hover {
	background: var(--sp-buy-orange) !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
	margin: 9px 0 0 !important;
	padding: 0 !important;
	color: #a33b2c !important;
	background: transparent !important;
	border: 0 !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Cart and checkout summary ----------------------------------------- */

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	overflow: hidden;
	color: var(--sp-buy-ink);
	background: var(--sp-buy-paper);
	border: 3px solid var(--sp-buy-ink);
	border-radius: var(--sp-buy-radius);
	box-shadow: 8px 9px 0 var(--sp-buy-orange);
}

body.woocommerce-checkout .wc-block-checkout__sidebar {
	box-shadow: 8px 9px 0 var(--sp-buy-teal);
}

body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
	margin: 0 !important;
	padding: 18px 20px !important;
	color: var(--sp-buy-paper) !important;
	background: var(--sp-buy-ink);
	font-size: 19px !important;
	font-weight: 900 !important;
	line-height: 1.5 !important;
	text-transform: none !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-order-summary {
	padding: 17px 20px !important;
	border-color: rgb(17 24 32 / 14%) !important;
}

body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-item {
	align-items: center;
	padding-block: 5px;
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__label {
	font-size: 14px !important;
	font-weight: 700 !important;
}

body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-item__value {
	font-size: 15px !important;
	font-weight: 850 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
	margin-top: 4px;
	padding-top: 17px !important;
	border-top: 2px solid var(--sp-buy-ink);
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 18px !important;
	font-weight: 900 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: #b44716;
	font-size: 23px !important;
	font-weight: 900 !important;
}

body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-panel__button {
	min-height: 48px;
	padding: 12px 20px !important;
	color: var(--sp-buy-ink) !important;
	font-size: 13px !important;
	font-weight: 750 !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__form,
body.woocommerce-checkout .wc-block-components-totals-coupon__form {
	padding: 0 20px 18px;
}

/* Primary actions ---------------------------------------------------- */

body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button),
body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order) {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: calc(100% - 40px) !important;
	min-height: 58px !important;
	margin: 10px 20px 20px !important;
	padding: 14px 18px !important;
	color: var(--sp-buy-ink) !important;
	background: var(--sp-buy-orange) !important;
	border: 2px solid var(--sp-buy-ink) !important;
	border-radius: 12px !important;
	box-shadow: 5px 5px 0 var(--sp-buy-ink) !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	line-height: 1.5 !important;
	text-decoration: none !important;
	transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease !important;
}

body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order) {
	width: 100% !important;
	margin: 16px 0 5px !important;
}

body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button):hover,
body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order):hover {
	background: #ffbb4d !important;
	transform: translate(-2px, -2px);
	box-shadow: 7px 7px 0 var(--sp-buy-ink) !important;
}

body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button):active,
body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order):active {
	transform: translate(4px, 4px);
	box-shadow: 1px 1px 0 var(--sp-buy-ink) !important;
}

body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button):focus-visible,
body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order):focus-visible {
	outline: 4px solid rgb(50 119 232 / 35%) !important;
	outline-offset: 3px;
}

.sparkleacc-payment-note,
.sparkleacc-cart-reassurance,
.sparkleacc-checkout-reassurance {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 20px 20px;
	padding: 12px 13px;
	color: #3f4a51;
	background: #eef9f7;
	border: 1px solid rgb(73 185 177 / 50%);
	border-radius: 11px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.8;
}

.sparkleacc-checkout-reassurance {
	margin: 16px 0 0;
}

.sparkleacc-payment-note::before,
.sparkleacc-cart-reassurance > b,
.sparkleacc-checkout-reassurance > b {
	content: "✓";
	display: grid;
	place-items: center;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	color: var(--sp-buy-paper);
	background: #23877f;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 900;
}

.sparkleacc-cart-reassurance > b,
.sparkleacc-checkout-reassurance > b {
	font-size: 0;
}

.sparkleacc-cart-reassurance > b::before,
.sparkleacc-checkout-reassurance > b::before {
	content: "✓";
	font-size: 12px;
}

.sparkleacc-payment-note p,
.sparkleacc-cart-reassurance p,
.sparkleacc-checkout-reassurance p {
	margin: 0 !important;
}

/* Checkout — calm, guided form -------------------------------------- */

body.woocommerce-checkout .wc-block-checkout__main > :where(div, fieldset) {
	margin: 0 0 18px !important;
}

body.woocommerce-checkout :where(
	.wc-block-checkout__contact-fields,
	.wc-block-checkout__billing-fields,
	.wc-block-checkout__shipping-fields,
	.wc-block-checkout__payment-method,
	.wc-block-checkout__order-notes,
	.wc-block-checkout__terms
) {
	padding: clamp(20px, 2.5vw, 28px) !important;
	color: var(--sp-buy-ink);
	background: var(--sp-buy-paper);
	border: 2px solid var(--sp-buy-ink) !important;
	border-radius: 18px !important;
	box-shadow: 6px 6px 0 rgb(17 24 32 / 10%);
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading {
	margin: 0 0 18px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
	margin: 0 !important;
	color: var(--sp-buy-ink) !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	line-height: 1.5 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-checkout__guest-checkout-notice {
	margin: 5px 0 0 !important;
	color: var(--sp-buy-muted) !important;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.8 !important;
}

body.woocommerce-checkout :where(.wc-block-components-text-input, .wc-block-components-combobox-control) {
	margin-top: 13px !important;
}

body.woocommerce-checkout :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input, select, textarea),
body.woocommerce-cart :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input) {
	min-height: 54px !important;
	padding-inline: 14px !important;
	color: var(--sp-buy-ink) !important;
	background: #fff !important;
	border: 1.5px solid #59636a !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	font-size: 15px !important;
	font-weight: 550 !important;
	transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease !important;
}

body.woocommerce-checkout textarea {
	min-height: 110px !important;
	padding-block: 16px !important;
	resize: vertical;
}

body.woocommerce-checkout :where(.wc-block-components-text-input label, .wc-block-components-combobox-control label),
body.woocommerce-cart :where(.wc-block-components-text-input label, .wc-block-components-combobox-control label) {
	color: #465159 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

body.woocommerce-checkout :where(.wc-block-components-text-input, .wc-block-components-combobox-control):focus-within input,
body.woocommerce-checkout :where(select, textarea):focus,
body.woocommerce-cart :where(.wc-block-components-text-input, .wc-block-components-combobox-control):focus-within input {
	background: #fffefb !important;
	border-color: var(--sp-buy-ink) !important;
	box-shadow: 0 0 0 4px rgb(255 173 39 / 30%) !important;
	outline: 0 !important;
}

body.woocommerce-checkout .has-error :where(input, select, textarea),
body.woocommerce-checkout :where(input, select, textarea).has-error {
	border-color: var(--sp-buy-coral) !important;
	box-shadow: 0 0 0 4px rgb(240 91 67 / 16%) !important;
}

body.woocommerce-checkout .wc-block-components-validation-error {
	margin-top: 6px;
	color: #a33728 !important;
	font-size: 12px !important;
	font-weight: 700;
	line-height: 1.65;
}

body.woocommerce-checkout :where(.wc-block-components-radio-control__option, .wc-block-components-checkbox) {
	padding: 13px !important;
	background: #fff;
	border: 1px solid rgb(17 24 32 / 16%);
	border-radius: 11px;
}

body.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) {
	background: #fff7df;
	border-color: var(--sp-buy-ink);
	box-shadow: inset 4px 0 0 var(--sp-buy-orange);
}

body.woocommerce-checkout :where(input[type="checkbox"], input[type="radio"]) {
	accent-color: var(--sp-buy-orange);
}

body.woocommerce-checkout .wc-block-checkout__actions {
	padding: 22px !important;
	background: var(--sp-buy-paper);
	border: 2px solid var(--sp-buy-ink);
	border-radius: 18px;
	box-shadow: 6px 6px 0 var(--sp-buy-coral);
}

body.woocommerce-checkout .wc-block-checkout__actions_row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

body.woocommerce-checkout .wc-block-checkout__actions_row > * {
	min-width: 0;
}

body.woocommerce-checkout .wc-block-checkout__actions_row .sparkleacc-payment-note {
	flex-basis: 100%;
	margin: 6px 0 0;
}

/* Checkout product summary ------------------------------------------ */

body.woocommerce-checkout .wc-block-components-order-summary-item {
	padding: 15px 0 !important;
	border-bottom: 1px solid rgb(17 24 32 / 13%);
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
	border: 2px solid var(--sp-buy-ink);
	border-radius: 11px;
	box-shadow: 3px 3px 0 var(--sp-buy-orange);
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description {
	padding-inline-start: 12px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	color: var(--sp-buy-ink) !important;
	font-size: 14px !important;
	font-weight: 850 !important;
	line-height: 1.65;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	font-size: 14px !important;
	font-weight: 850 !important;
}

/* Classic WooCommerce: safe fallback, not a second design system ---- */

body.woocommerce-cart form.woocommerce-cart-form {
	float: right;
	width: calc(64% - 18px);
}

body.woocommerce-cart .cart-collaterals {
	float: left;
	width: calc(36% - 18px);
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	position: sticky;
	inset-block-start: 110px;
	float: none;
	width: 100%;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-checkout :where(#customer_details, #order_review) {
	color: var(--sp-buy-ink);
	background: var(--sp-buy-paper);
	border: 3px solid var(--sp-buy-ink) !important;
	border-radius: var(--sp-buy-radius) !important;
	box-shadow: 8px 9px 0 var(--sp-buy-teal);
}

body.woocommerce-cart table.shop_table {
	padding: 10px;
	border-collapse: separate;
}

body.woocommerce-cart .cart-collaterals table.shop_table,
body.woocommerce-checkout #order_review {
	box-shadow: 8px 9px 0 var(--sp-buy-orange);
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td,
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
	padding: 15px !important;
	border-color: rgb(17 24 32 / 14%) !important;
	font-size: 14px;
}

body.woocommerce-cart table.shop_table img {
	width: 92px !important;
	border: 2px solid var(--sp-buy-ink);
	border-radius: 12px;
	box-shadow: 4px 4px 0 var(--sp-buy-orange);
}

body.woocommerce-checkout form.checkout #customer_details {
	float: right;
	width: calc(64% - 18px);
	padding: clamp(20px, 2.5vw, 30px);
}

body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review {
	float: left;
	width: calc(36% - 18px);
}

body.woocommerce-checkout form.checkout #order_review_heading {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 900;
}

body.woocommerce-checkout form.checkout #order_review {
	position: sticky;
	inset-block-start: 110px;
	padding: 20px;
}

body.woocommerce-cart :where(input.input-text, input.qty),
body.woocommerce-checkout :where(input.input-text, select, textarea) {
	min-height: 50px;
	padding: 11px 13px;
	color: var(--sp-buy-ink);
	background: #fff;
	border: 1.5px solid #59636a;
	border-radius: 10px;
	font-size: 15px;
}

body.woocommerce-cart :where(.button, a.button),
body.woocommerce-checkout :where(.button, a.button) {
	min-height: 46px;
	padding: 12px 17px;
	color: var(--sp-buy-paper);
	background: var(--sp-buy-ink);
	border: 2px solid var(--sp-buy-ink);
	border-radius: 10px;
	font-size: 13px;
	font-weight: 850;
}

/* Order received ----------------------------------------------------- */

body.woocommerce-order-received .woocommerce-order {
	width: 100%;
}

body.woocommerce-order-received .woocommerce-notice--success {
	margin-bottom: 22px !important;
}

.sparkleacc-order-next {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	margin: 0 0 28px;
	padding: 24px;
	color: var(--sp-buy-ink);
	background: var(--sp-buy-paper);
	border: 3px solid var(--sp-buy-ink);
	border-radius: var(--sp-buy-radius);
	box-shadow: 8px 9px 0 var(--sp-buy-teal);
}

.sparkleacc-order-next__number {
	display: grid;
	gap: 3px;
	min-width: 142px;
	padding: 14px 16px;
	background: var(--sp-buy-orange);
	border: 2px solid var(--sp-buy-ink);
	border-radius: 12px;
}

.sparkleacc-order-next__number small {
	font-size: 11px;
	font-weight: 700;
}

.sparkleacc-order-next__number strong {
	font-size: 23px;
	font-weight: 900;
}

.sparkleacc-order-next__copy h2 {
	margin: 0 0 4px !important;
	font-size: 21px !important;
	font-weight: 900 !important;
}

.sparkleacc-order-next__copy p {
	margin: 0 !important;
	color: var(--sp-buy-muted);
	font-size: 14px;
	line-height: 1.8;
}

.sparkleacc-order-next__actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

.sparkleacc-order-next__actions > a:not(.button) {
	color: var(--sp-buy-ink);
	font-size: 12px;
	font-weight: 750;
	text-underline-offset: 4px;
}

body.woocommerce-order-received :where(ul.order_details, .woocommerce-order-details, .woocommerce-customer-details) {
	margin: 0 0 24px !important;
	padding: 22px !important;
	background: var(--sp-buy-paper);
	border: 2px solid var(--sp-buy-ink);
	border-radius: 16px;
}

body.woocommerce-order-received ul.order_details {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	box-shadow: 6px 6px 0 var(--sp-buy-orange);
}

body.woocommerce-order-received ul.order_details li {
	float: none;
	width: auto;
	margin: 0 !important;
	padding: 10px 16px !important;
	border-inline-end: 1px solid rgb(17 24 32 / 17%);
	font-size: 11px;
	line-height: 1.7;
}

body.woocommerce-order-received ul.order_details li:last-child {
	border-inline-end: 0;
}

body.woocommerce-order-received ul.order_details strong {
	margin-top: 4px;
	font-size: 15px;
	font-weight: 850;
}

/* Empty states ------------------------------------------------------- */

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .cart-empty {
	margin: 0 0 18px !important;
	padding: 36px 24px !important;
	color: var(--sp-buy-ink);
	background: var(--sp-buy-paper);
	border: 3px solid var(--sp-buy-ink);
	border-radius: var(--sp-buy-radius);
	box-shadow: 8px 9px 0 var(--sp-buy-teal);
	font-size: 22px !important;
	font-weight: 900 !important;
	text-align: center;
}

/* Motion with purpose ------------------------------------------------ */

.sparkleacc-purchase-ready .sparkleacc-purchase-head,
.sparkleacc-purchase-ready .wc-block-cart,
.sparkleacc-purchase-ready .wc-block-checkout,
.sparkleacc-purchase-ready .woocommerce-order {
	animation: sparkleacc-purchase-in 420ms cubic-bezier(.2, .72, .24, 1) both;
}

.sparkleacc-purchase-ready :where(.wc-block-cart, .wc-block-checkout, .woocommerce-order) {
	animation-delay: 70ms;
}

@keyframes sparkleacc-purchase-in {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Responsive --------------------------------------------------------- */

@media (max-width: 980px) {
	body.woocommerce-cart .wc-block-cart,
	body.woocommerce-checkout .wc-block-checkout > .wc-block-components-sidebar-layout {
		grid-template-columns: 1fr;
		gap: 26px !important;
	}

	body.woocommerce-cart .wc-block-cart {
		grid-template-areas: "main" "sidebar";
	}

	body.woocommerce-checkout .wc-block-checkout > .wc-block-components-sidebar-layout {
		grid-template-areas: "sidebar" "main";
	}

	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-checkout .wc-block-checkout__sidebar {
		position: relative;
		inset-block-start: auto;
	}

	body.woocommerce-cart form.woocommerce-cart-form,
	body.woocommerce-cart .cart-collaterals,
	body.woocommerce-checkout form.checkout #customer_details,
	body.woocommerce-checkout form.checkout #order_review_heading,
	body.woocommerce-checkout form.checkout #order_review {
		float: none;
		width: 100%;
	}

	body.woocommerce-cart .cart-collaterals,
	body.woocommerce-checkout form.checkout #order_review_heading {
		margin-top: 26px;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals,
	body.woocommerce-checkout form.checkout #order_review {
		position: relative;
		inset-block-start: auto;
	}
}

@media (max-width: 720px) {
	body.woocommerce-cart :where(.site-main, main#main, main#content),
	body.woocommerce-checkout :where(.site-main, main#main, main#content) {
		padding: 24px 14px 76px !important;
	}

	.sparkleacc-purchase-head {
		grid-template-columns: 1fr;
		gap: 18px;
		min-height: 0;
		margin-bottom: 28px;
		padding: 25px 20px;
		border-radius: 19px;
		box-shadow: 6px 7px 0 var(--sp-buy-orange);
	}

	.sparkleacc-purchase-head::after {
		inset-block-start: 15px;
		inset-inline-start: 16px;
		font-size: 17px;
	}

	.sparkleacc-purchase-head h1 {
		padding-inline-start: 22px;
		font-size: clamp(28px, 8.5vw, 36px) !important;
		letter-spacing: -.6px;
	}

	.sparkleacc-purchase-head__copy > p {
		font-size: 14px;
	}

	.sparkleacc-purchase-head__aside {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		min-width: 0;
	}

	body.woocommerce-cart .wc-block-cart-items thead {
		display: none;
	}

	body.woocommerce-cart .wc-block-cart-items td {
		padding: 17px 13px !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image {
		width: 82px !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image img {
		width: 70px !important;
		height: 70px !important;
		border-radius: 11px;
		box-shadow: 3px 3px 0 var(--sp-buy-orange);
	}

	body.woocommerce-cart .wc-block-components-product-name {
		font-size: 15px !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-checkout .wc-block-checkout__sidebar,
	body.woocommerce-cart .wc-block-cart-items {
		border-width: 2px !important;
		border-radius: 16px;
		box-shadow: 6px 7px 0 var(--sp-buy-orange);
	}

	body.woocommerce-cart .wc-block-cart-items {
		box-shadow: 6px 7px 0 var(--sp-buy-teal);
	}

	body.woocommerce-checkout :where(
		.wc-block-checkout__contact-fields,
		.wc-block-checkout__billing-fields,
		.wc-block-checkout__shipping-fields,
		.wc-block-checkout__payment-method,
		.wc-block-checkout__order-notes,
		.wc-block-checkout__terms
	) {
		padding: 18px 15px !important;
		border-radius: 15px !important;
		box-shadow: 4px 4px 0 rgb(17 24 32 / 10%);
	}

	body.woocommerce-checkout .wc-block-components-checkout-step__title,
	body.woocommerce-checkout .wc-block-components-title {
		font-size: 19px !important;
	}

	body.woocommerce-checkout .wc-block-components-checkout-step__description {
		font-size: 13px !important;
	}

	.sparkleacc-order-next {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 18px;
	}

	.sparkleacc-order-next__actions {
		justify-content: space-between;
	}

	body.woocommerce-order-received ul.order_details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 460px) {
	.sparkleacc-purchase-head__aside {
		align-items: flex-start;
		flex-direction: column;
	}

	body.woocommerce-cart .wc-block-components-totals-wrapper,
	body.woocommerce-checkout .wc-block-components-totals-wrapper,
	body.woocommerce-checkout .wc-block-components-order-summary {
		padding-inline: 16px !important;
	}

	body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button) {
		width: calc(100% - 32px) !important;
		margin-inline: 16px !important;
	}

	.sparkleacc-payment-note,
	.sparkleacc-cart-reassurance {
		margin-inline: 16px;
	}

	body.woocommerce-order-received ul.order_details {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received ul.order_details li {
		border-inline-end: 0;
		border-bottom: 1px solid rgb(17 24 32 / 17%);
	}

	body.woocommerce-order-received ul.order_details li:last-child {
		border-bottom: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.woocommerce-cart *,
	body.woocommerce-checkout * {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-delay: 0ms !important;
		transition-duration: .01ms !important;
	}
}
