.wp-block-woocommerce-product-collection,
.wp-block-woocommerce-product-gallery,
.wp-block-woocommerce-product-image-gallery,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.woocommerce {
	--wc-block-components-color-accent: var(--wp--preset--color--primary-dark);
	--wc-block-components-color-accent-60: var(--wp--preset--color--primary);
}

.mx-commerce-shell,
.mx-checkout-shell,
.mx-order-confirmation {
	width: 100%;
}

.mx-commerce-toolbar {
	gap: var(--wp--preset--spacing--sm);
	margin-block: var(--wp--preset--spacing--md);
}

.mx-commerce-toolbar p {
	margin: 0;
}

.mx-commerce-toolbar select {
	min-width: 12rem;
}

.wp-block-woocommerce-product-image,
.wp-block-woocommerce-product-image-gallery,
.wp-block-woocommerce-product-gallery {
	overflow: hidden;
	border-radius: var(--mx-radius-card);
}

.mx-product-grid .wc-block-product {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	overflow: hidden;
	padding-bottom: var(--wp--preset--spacing--md);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--mx-radius-card);
	background: var(--wp--preset--color--white);
	box-shadow: 0 8px 26px rgba(18, 70, 51, 0.07);
	transition: box-shadow var(--mx-duration) var(--mx-ease), transform var(--mx-duration) var(--mx-ease);
}

.mx-product-grid .wc-block-product > :not(.wp-block-woocommerce-product-image) {
	margin-inline: var(--wp--preset--spacing--md);
}

.mx-product-grid .wp-block-woocommerce-product-image {
	margin-block: 0 var(--wp--preset--spacing--sm);
	border-radius: 0;
}

.mx-product-grid .wc-block-components-product-image img,
.mx-product-grid .wp-block-woocommerce-product-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 0;
	object-fit: cover;
}

.mx-product-grid .wp-block-post-title {
	margin-block-start: 0;
}

.mx-product-grid .wp-block-post-title a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.mx-product-grid .wp-block-woocommerce-product-rating {
	min-height: 1.4rem;
}

.mx-product-grid .wp-block-woocommerce-product-button {
	margin-block-start: auto;
	padding-block-start: var(--wp--preset--spacing--xs);
}

.mx-product-grid .wp-block-woocommerce-product-button .wp-block-button__link {
	width: 100%;
}

.mx-empty-shop {
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--lg);
	border: 1px dashed var(--wp--preset--color--line);
	border-radius: var(--mx-radius-card);
	background: var(--wp--preset--color--white);
}

.mx-product-layout {
	align-items: flex-start;
}

.mx-product-summary {
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--lg);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--mx-radius-card);
	background: var(--wp--preset--color--white);
	box-shadow: var(--mx-shadow-soft);
}

.mx-product-summary .wp-block-post-title {
	margin-block-start: var(--wp--preset--spacing--xs);
}

.mx-product-summary .wp-block-woocommerce-product-price {
	margin-block: var(--wp--preset--spacing--sm);
}

.mx-product-summary .wp-block-woocommerce-product-meta {
	margin-block-start: var(--wp--preset--spacing--md);
	padding-block-start: var(--wp--preset--spacing--sm);
	border-top: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce div.product form.cart,
.wp-block-woocommerce-add-to-cart-form form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--sm);
}

.woocommerce div.product form.cart .variations,
.wp-block-woocommerce-add-to-cart-form form.cart .variations {
	width: 100%;
}

.woocommerce .quantity .qty,
.wp-block-woocommerce-add-to-cart-form .quantity .qty {
	min-width: 4.75rem;
	min-height: 46px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--mx-radius-control);
}

.woocommerce button.button,
.woocommerce a.button,
.wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-components-button {
	min-height: 46px;
	border-radius: var(--mx-radius-control);
}

.wc-block-components-notice-banner,
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	border-radius: var(--mx-radius-control);
}

.mx-checkout-header {
	margin-block-start: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--canvas);
}

.mx-checkout-header__bar {
	min-height: 76px;
}

.mx-checkout-header__label {
	margin: 0;
	padding: 0.4rem 0.75rem;
	border-radius: 999px;
	background: var(--wp--preset--color--soft);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 750;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-form .wc-block-components-textarea {
	min-height: 48px;
	border-color: var(--wp--preset--color--line);
	border-radius: var(--mx-radius-control);
}

.wc-block-components-checkout-step,
.wc-block-components-sidebar {
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--md);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--mx-radius-card);
	background: var(--wp--preset--color--white);
}

.wc-block-components-checkout-step + .wc-block-components-checkout-step {
	margin-block-start: var(--wp--preset--spacing--md);
}

.wc-block-components-checkout-step__heading,
.wc-block-components-order-summary__button-text {
	color: var(--wp--preset--color--ink);
}

.mx-order-confirmation :where(
	.wp-block-woocommerce-order-confirmation-summary,
	.wp-block-woocommerce-order-confirmation-totals-wrapper,
	.wp-block-woocommerce-order-confirmation-downloads-wrapper,
	.wp-block-woocommerce-order-confirmation-shipping-wrapper,
	.wp-block-woocommerce-order-confirmation-billing-wrapper,
	.wp-block-woocommerce-order-confirmation-additional-fields-wrapper
) {
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--md);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--mx-radius-card);
	background: var(--wp--preset--color--white);
}

.woocommerce-account .woocommerce,
.woocommerce-order-received .woocommerce {
	width: min(100%, 960px);
	margin-inline: auto;
}

.woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xs);
	padding: 0;
	list-style: none;
}

.woocommerce-MyAccount-navigation a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	box-sizing: border-box;
	padding: 0.55rem 0.8rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	text-decoration: none;
}

.woocommerce-MyAccount-navigation .is-active a {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--soft);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 700;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.mx-product-grid .wc-block-product:hover {
		box-shadow: var(--mx-shadow-lifted);
		transform: translateY(-3px);
	}
}

@media (max-width: 781px) {
	.mx-commerce-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.mx-commerce-toolbar select {
		width: 100%;
	}

	.mx-product-summary,
	.wc-block-components-checkout-step,
	.wc-block-components-sidebar {
		padding: var(--wp--preset--spacing--sm);
	}

	.mx-checkout-header__bar {
		min-height: 64px;
	}
}

@media (forced-colors: active) {
	.mx-product-grid .wc-block-product,
	.mx-product-summary,
	.wc-block-components-checkout-step,
	.wc-block-components-sidebar,
	.mx-order-confirmation > * {
		border: 1px solid CanvasText;
	}
}
