:where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-product-collection) :where(.wc-block-components-notice-banner, .woocommerce-error, .woocommerce-info, .woocommerce-message) {
	padding: var(--wp--preset--spacing--30, 1rem);
	border: 1px solid var(--wp--preset--color--border, currentColor);
	border-inline-start-width: 0.25rem;
	border-radius: 0.5rem;
	background: var(--wp--preset--color--surface, transparent);
	color: var(--wp--preset--color--text, currentColor);
}

:where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-product-collection) :where(.wc-block-components-product-sale-badge, .onsale) {
	padding: 0.35rem 0.65rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--error, #b42318);
	color: var(--wp--preset--color--primary-contrast, #fff);
	font-size: var(--wp--preset--font-size--xs, 0.8125rem);
	font-weight: 700;
}

/* WooCommerce's classic single-product selector otherwise replaces the
 * accessible status colour with the site's foreground token. */
body.woocommerce span.onsale {
	background: var(--wp--preset--color--error, #b42318);
	color: var(--wp--preset--color--primary-contrast, #fff);
}

:where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-product-collection) :where(.wc-block-components-product-price, .price) {
	color: var(--wp--preset--color--text, currentColor);
	font-weight: 700;
}

:where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-product-collection) :where(.wc-block-grid__product, .wc-block-product, li.product) {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20, 0.625rem);
	height: 100%;
}

:where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-product-collection) :where(.wc-block-components-product-image img, .woocommerce-product-gallery img) {
	border-radius: 0.75rem;
}

:where(.woocommerce, .woocommerce-page, .wp-block-woocommerce-product-collection) :where(.wp-block-button__link, .button, button, input[type="submit"]) {
	min-block-size: var(--kezkit-one-control-height, 2.75rem);
	border-radius: 0.5rem;
	font-weight: 700;
}

:where(.woocommerce, .woocommerce-page) :where(.stock.in-stock) {
	color: var(--wp--preset--color--success, #067647);
}

:where(.woocommerce, .woocommerce-page) :where(.stock.out-of-stock) {
	color: var(--wp--preset--color--error, #b42318);
}

:where(.woocommerce, .woocommerce-page) :where(.quantity .qty, select) {
	min-block-size: var(--kezkit-one-control-height, 2.75rem);
}

:where(.kezkit-one-ecommerce-header .wp-block-search) {
	flex: 1 1 16rem;
	max-width: 24rem;
}

:where(.kezkit-one-ecommerce-header .wc-block-mini-cart) {
	margin-inline-start: auto;
}

/* WooCommerce keeps the mobile drawer mounted while closed. Make its hidden
 * controls genuinely unfocusable without interfering with the open state. */
:where(.wc-block-mini-cart__drawer[aria-hidden="true"]) {
	visibility: hidden;
	pointer-events: none;
}

/* Native Mini Cart focus must not wait on inherited visibility transitions. */
@media (prefers-reduced-motion: reduce) {

	:where([data-wp-interactive="woocommerce/mini-cart"][data-wp-key="wc-mini-cart-overlay"], [data-wp-interactive="woocommerce/mini-cart"][data-wp-key="wc-mini-cart-overlay"] *) {
		transition-duration: 0s !important;
	}
}

:where(.wc-block-cart, .wc-block-checkout, .woocommerce-MyAccount-content) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	min-block-size: var(--kezkit-one-control-height, 2.75rem);
	border: 1px solid var(--wp--preset--color--border, currentColor);
	border-radius: 0.5rem;
	background: var(--wp--preset--color--background, #fff);
	color: var(--wp--preset--color--text, currentColor);
}

:where(.wc-block-cart, .wc-block-checkout) :where(.wc-block-components-sidebar, .wc-block-components-main) {
	box-sizing: border-box;
}

.kezkit-one-cart-recovery {
	display: none;
}

/* Cart and checkout keep the same full page canvas as every standard route.
 * Their wide title/content blocks provide the centred 1200px working area. */
main.kezkit-one-commerce-layout {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: none;
	margin-inline: 0;
}

#kezkit-one-main:has(.wp-block-woocommerce-empty-cart-block) .wp-block-woocommerce-empty-cart-block {
	box-sizing: border-box;
	padding: clamp(2rem, 6vw, 4.5rem);
	border: 1px solid var(--wp--preset--color--border, currentColor);
	border-radius: 1.25rem;
	background: linear-gradient(135deg, var(--wp--preset--color--surface, #f5f7fb), var(--wp--preset--color--background, #fff));
	box-shadow: 0 1.25rem 3rem color-mix(in srgb, var(--wp--preset--color--primary, #0a1330) 10%, transparent);
}

#kezkit-one-main:has(.wp-block-woocommerce-empty-cart-block) .wc-block-cart__empty-cart__title::before {
	content: "";
	width: 3rem;
	height: 0.25rem;
	margin: 0 0 var(--wp--preset--spacing--20, 0.625rem);
	border-radius: 999px;
	background: var(--wp--preset--color--accent, currentColor);
	mask: none;
}

#kezkit-one-main:has(.wp-block-woocommerce-empty-cart-block) .wp-block-woocommerce-empty-cart-block > :where(.wp-block-separator, .wp-block-heading:not(.wc-block-cart__empty-cart__title), .wp-block-woocommerce-product-new) {
	display: none;
}

#kezkit-one-main:has(.wp-block-woocommerce-empty-cart-block) .kezkit-one-cart-recovery {
	display: block;
	margin-block-start: calc(var(--wp--preset--spacing--60, 2.5rem) * -1);
	padding: 0 clamp(2rem, 6vw, 4.5rem) clamp(2rem, 6vw, 4.5rem);
}

:where(.kezkit-one-commerce-recovery, .kezkit-one-product-empty-state) .wp-block-buttons {
	gap: var(--wp--preset--spacing--20, 0.625rem);
}

:where(.wc-block-components-sidebar, .wc-block-components-order-summary, .wc-block-components-totals-wrapper, .wc-block-order-confirmation-summary, .wc-block-order-confirmation-totals, .wc-block-order-confirmation-address-wrapper .wp-block-column) {
	border-color: var(--wp--preset--color--border, currentColor);
	border-radius: 0.75rem;
}

:where(.wc-block-components-totals-coupon__form, .woocommerce-form-coupon, .woocommerce-form-login) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20, 0.625rem);
}

:where(.woocommerce-account .woocommerce) {
	display: flow-root;
}

:where(.woocommerce-MyAccount-navigation ul) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10, 0.35rem);
	margin: 0 0 var(--wp--preset--spacing--40, 1.5rem);
	padding: 0;
	list-style: none;
}

:where(.woocommerce-MyAccount-navigation a) {
	display: block;
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--wp--preset--color--border, currentColor);
	border-radius: 999px;
	text-decoration: none;
}

:where(.woocommerce-MyAccount-navigation .is-active a) {
	border-color: var(--wp--preset--color--primary, currentColor);
	background: var(--wp--preset--color--primary, currentColor);
	color: var(--wp--preset--color--primary-contrast, #fff);
}

/* Beat WordPress's generated link-colour selector while remaining override-friendly. */
.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a[aria-current="page"] {
	color: var(--wp--preset--color--primary-contrast, #fff);
}

:where(.woocommerce table, .wc-block-order-confirmation-totals table, .wc-block-order-confirmation-downloads table) {
	width: 100%;
	border-collapse: collapse;
}

:where(.woocommerce table, .wc-block-order-confirmation-totals table, .wc-block-order-confirmation-downloads table) :where(th, td) {
	padding: var(--wp--preset--spacing--20, 0.625rem);
	border-block-end: 1px solid var(--wp--preset--color--border, currentColor);
	text-align: start;
}

:where(.woocommerce address, .woocommerce .woocommerce-customer-details, .wc-block-order-confirmation-address-wrapper .wp-block-column) {
	padding: var(--wp--preset--spacing--30, 1rem);
	border: 1px solid var(--wp--preset--color--border, currentColor);
	border-radius: 0.75rem;
}

:where(.woocommerce form fieldset) {
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

:where(.woocommerce .required, .wc-block-components-required-label) {
	color: var(--wp--preset--color--error, #b42318);
}

:where(.woocommerce div.product form.cart .variations, .woocommerce div.product form.cart .group_table) {
	width: 100%;
	margin-block-end: var(--wp--preset--spacing--30, 1rem);
}

:where(.woocommerce div.product form.cart .variations) :where(th, td) {
	padding-block: var(--wp--preset--spacing--10, 0.35rem);
	text-align: start;
	vertical-align: middle;
}

:where(.woocommerce div.product form.cart .variations select) {
	inline-size: 100%;
	max-inline-size: 28rem;
}

:where(.woocommerce div.product form.cart .reset_variations) {
	display: inline-block;
	margin-inline-start: var(--wp--preset--spacing--10, 0.35rem);
}

:where(.woocommerce div.product .single_variation_wrap, .woocommerce div.product .woocommerce-variation-add-to-cart) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20, 0.625rem);
}

:where(.woocommerce #reviews .commentlist) {
	margin: 0;
	padding: 0;
	list-style: none;
}

:where(.woocommerce #reviews .comment_container) {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--wp--preset--spacing--20, 0.625rem);
	padding-block: var(--wp--preset--spacing--30, 1rem);
	border-block-end: 1px solid var(--wp--preset--color--border, currentColor);
}

:where(.woocommerce #reviews .avatar) {
	border-radius: 999px;
}

:where(.woocommerce #reviews .comment-text) {
	min-inline-size: 0;
}

:where(.woocommerce .star-rating, .woocommerce .stars) {
	color: var(--wp--preset--color--warning, #b54708);
}

:where(.wp-block-woocommerce-product-filters, .wp-block-woocommerce-product-filter-attribute, .wp-block-woocommerce-product-filter-active, .wp-block-woocommerce-product-filter-price, .wp-block-woocommerce-product-filter-status) {
	padding: var(--wp--preset--spacing--20, 0.625rem);
	border: 1px solid var(--wp--preset--color--border, currentColor);
	border-radius: 0.75rem;
}

:where(.wc-block-components-filter-reset-button, .wc-block-active-filters__clear-all) {
	min-block-size: 2.25rem;
	text-underline-offset: 0.2em;
}

:where(.wc-block-components-price-slider__range-input-progress) {
	--range-color: var(--wp--preset--color--primary, currentColor);
}

:where(.wc-block-components-totals-coupon__form, .woocommerce .coupon) :where(input[type="text"], input[type="search"]) {
	flex: 1 1 12rem;
	min-inline-size: 0;
}

@media (min-width: 782px) {

	:where(.wc-block-checkout__sidebar) {
		position: sticky;
		top: var(--wp--preset--spacing--30, 1rem);
		align-self: flex-start;
	}

	:where(.woocommerce-account .woocommerce-MyAccount-navigation) {
		float: inline-start;
		width: 25%;
	}

	:where(.woocommerce-account .woocommerce-MyAccount-content) {
		float: inline-end;
		width: 70%;
	}

	:where(.woocommerce-MyAccount-navigation ul) {
		flex-direction: column;
	}
}

@media (max-width: 781px) {

	:where(.kezkit-one-ecommerce-header .wp-block-search) {
		order: 3;
		max-width: none;
		flex-basis: 100%;
	}

	.kezkit-one-product-layout {
		gap: var(--wp--preset--spacing--40, 1.375rem);
	}

	:where(.wc-block-cart, .wc-block-checkout) {
		--wp--style--block-gap: var(--wp--preset--spacing--40, 1.5rem);
	}

	:where(.woocommerce div.product form.cart .variations) :where(th, td) {
		display: block;
		width: 100%;
	}

	:where(.woocommerce #reviews .comment_container) {
		grid-template-columns: 1fr;
	}

	:where(.woocommerce table) {
		display: block;
		overflow-x: auto;
	}

	#kezkit-one-main:has(.wp-block-woocommerce-empty-cart-block) .kezkit-one-cart-recovery {
		margin-block-start: -1.5rem;
	}

	:where(.kezkit-one-commerce-recovery, .kezkit-one-product-empty-state) .wp-block-buttons,
	:where(.kezkit-one-commerce-recovery, .kezkit-one-product-empty-state) .wp-block-button {
		width: 100%;
	}

	:where(.kezkit-one-commerce-recovery, .kezkit-one-product-empty-state) .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}
