.woocommerce,
.wc-block-components-main,
.wc-block-components-sidebar { color: var(--wm-color-text); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.woocommerce-page .wm-main.wm-section { padding-block: clamp(52px, 7vw, 88px); }
.woocommerce .page-title { font-size: clamp(2.6rem, 5vw, 4.5rem); }

.woocommerce .woocommerce-breadcrumb { margin-block-end: var(--wm-space-8); color: var(--wm-color-text-muted); font-size: .875rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--wm-color-text-muted); text-decoration: none; }
.woocommerce .page-title { margin-block-end: var(--wm-space-8); }
.woocommerce .woocommerce-result-count { color: var(--wm-color-text-muted); }
.woocommerce .woocommerce-ordering select { min-width: 220px; }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wm-space-6); margin-block: var(--wm-space-8); }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { width: auto !important; margin: 0 !important; overflow: hidden; border: 1px solid var(--wm-color-border); border-radius: var(--wm-radius-lg); background: #fff; box-shadow: var(--wm-shadow-sm); transition: border-color var(--wm-transition), box-shadow var(--wm-transition), transform var(--wm-transition); }
.woocommerce ul.products li.product:hover { border-color: #c8c3ff; box-shadow: var(--wm-shadow-md); transform: translateY(-4px); }
.woocommerce ul.products li.product a img { margin: 0; aspect-ratio: 16 / 10; object-fit: cover; background: var(--wm-color-bg-soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: var(--wm-space-5) var(--wm-space-5) var(--wm-space-2); color: var(--wm-color-text); font-size: 1.3rem; }
.woocommerce ul.products li.product .price { padding-inline: var(--wm-space-5); color: var(--wm-color-text); font-size: 1.05rem; font-weight: 730; }
.woocommerce ul.products li.product .button { margin: var(--wm-space-3) var(--wm-space-5) var(--wm-space-5); }
.woocommerce span.onsale { min-width: 0; min-height: 0; margin: var(--wm-space-3) !important; padding: 5px 9px; border-radius: 999px; background: var(--wm-color-primary); font-size: .75rem; line-height: 1.3; }

.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-block-end: var(--wm-space-12); }
.woocommerce div.product div.images { overflow: hidden; border: 1px solid var(--wm-color-border); border-radius: var(--wm-radius-lg); background: linear-gradient(145deg, var(--wm-color-bg-soft), #fff); }
.woocommerce div.product div.images img { border-radius: var(--wm-radius-md); background: var(--wm-color-bg-soft); }
.woocommerce div.product div.images.woocommerce-product-gallery--without-images { padding: clamp(24px, 4vw, 48px); }
.woocommerce div.product div.summary { padding: clamp(24px, 4vw, 48px); border: 1px solid var(--wm-color-border); border-radius: var(--wm-radius-lg); background: #fff; box-shadow: var(--wm-shadow-sm); }
.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3.5rem); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--wm-color-text); font-size: 1.5rem; font-weight: 760; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: var(--wm-space-3); margin-block: var(--wm-space-8); }
.woocommerce .quantity .qty { width: 84px; min-height: 46px; }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-block-start: var(--wm-space-8); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; gap: var(--wm-space-2); padding: 0; border-block-end: 1px solid var(--wm-color-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: flex; min-height: 48px; align-items: center; padding-inline: var(--wm-space-4); color: var(--wm-color-text-muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-block-end: 3px solid var(--wm-color-primary); color: var(--wm-color-primary-hover); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: var(--wm-content); }

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: 9px;
	background: var(--wm-color-primary);
	color: #fff;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 720;
	line-height: 1.35;
	text-decoration: none;
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:hover { background: var(--wm-color-primary-hover); color: #fff; }
.woocommerce .button.alt,
.woocommerce button.button.alt { background: var(--wm-color-primary); }
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--wm-color-primary-hover); }

.woocommerce form .form-row { margin-block: 0 var(--wm-space-5); padding: 0; }
.woocommerce form .form-row label { line-height: 1.4; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single { min-height: 48px; border: 1px solid var(--wm-color-border-strong); border-radius: var(--wm-radius-sm); background: #fff; }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; }
.select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--wm-color-danger); box-shadow: 0 0 0 3px rgba(180, 35, 24, .12); }
.woocommerce .password-input { position: relative; display: block; }
.woocommerce .show-password-input { display: grid; width: 44px; height: 44px; place-items: center; inset-block-start: 50%; inset-inline-end: 4px; transform: translateY(-50%); }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	margin-block: var(--wm-space-5);
	padding: var(--wm-space-4) var(--wm-space-5) var(--wm-space-4) 52px;
	border: 1px solid var(--wm-color-border);
	border-block-start: 1px solid var(--wm-color-border);
	border-radius: var(--wm-radius-md);
	background: var(--wm-color-bg-soft);
	color: var(--wm-color-text);
}
.woocommerce-message { border-color: #bce8c8; background: var(--wm-color-success-soft); }
.woocommerce-error { border-color: #f2b8b3; background: var(--wm-color-danger-soft); }
.woocommerce-info { border-color: #d8d3ff; background: var(--wm-color-primary-soft); }
.woocommerce-message::before { color: var(--wm-color-success); }
.woocommerce-error::before { color: var(--wm-color-danger); }
.woocommerce-info::before { color: var(--wm-color-primary); }

.woocommerce table.shop_table { overflow: hidden; border: 1px solid var(--wm-color-border); border-radius: var(--wm-radius-md); border-collapse: separate; border-spacing: 0; }
.woocommerce table.shop_table th { padding: var(--wm-space-4); background: var(--wm-color-bg-soft); }
.woocommerce table.shop_table td { padding: var(--wm-space-4); border-color: var(--wm-color-border); }
.woocommerce table.shop_table .product-thumbnail img { width: 72px; border-radius: var(--wm-radius-sm); }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: var(--wm-space-2); }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 180px; min-height: 44px; margin: 0; }
.woocommerce .cart-collaterals { margin-block-start: var(--wm-space-8); }
.woocommerce .cart-collaterals .cart_totals { width: min(100%, 520px); padding: var(--wm-space-6); border: 1px solid var(--wm-color-border); border-radius: var(--wm-radius-md); }

.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); gap: var(--wm-space-10); }
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading { align-self: end; margin: 0; }
.woocommerce-checkout #order_review { align-self: start; padding: var(--wm-space-5); border: 1px solid var(--wm-color-border); border-radius: var(--wm-radius-md); background: var(--wm-color-bg-soft); }
.woocommerce-checkout #payment { background: #fff; }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--wm-color-border); }
.woocommerce-checkout #payment div.payment_box { background: var(--wm-color-bg-soft); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--wm-color-bg-soft); }

.wc-block-cart,
.wc-block-checkout { margin-block: var(--wm-space-8); }
.wp-block-woocommerce-empty-cart-block { padding-block: clamp(40px, 6vw, 72px); }
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	width: 78px;
	height: 78px;
	margin: 0 auto var(--wm-space-8);
	background: var(--wm-color-primary);
	-webkit-mask: url("../icons/remix/shopping-bag.svg") center / 38px 38px no-repeat;
	mask: url("../icons/remix/shopping-bag.svg") center / 38px 38px no-repeat;
}
.wc-block-cart__empty-cart__title { font-size: clamp(1.75rem, 4vw, 2.5rem); }
.wc-block-components-sidebar-layout { gap: var(--wm-space-10); }
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-checkout-step { border-color: var(--wm-color-border); }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { border-radius: var(--wm-radius-sm) !important; }

@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review { grid-column: 1; }
}

@media (max-width: 768px) {
	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering { float: none; }
	.woocommerce .woocommerce-ordering select { width: 100%; }
	.woocommerce table.shop_table_responsive thead { display: none; }
	.woocommerce table.shop_table_responsive tbody,
	.woocommerce table.shop_table_responsive tr,
	.woocommerce table.shop_table_responsive td { display: block; width: 100%; }
	.woocommerce table.shop_table_responsive tr { padding: var(--wm-space-3); border-block-end: 1px solid var(--wm-color-border); }
	.woocommerce table.shop_table_responsive td { display: grid; grid-template-columns: minmax(110px, .75fr) minmax(0, 1.25fr); gap: var(--wm-space-4); padding: var(--wm-space-3); border: 0; text-align: start !important; }
	.woocommerce table.shop_table_responsive td::before { content: attr(data-title); float: none; color: var(--wm-color-text-muted); font-weight: 680; }
	.woocommerce-cart table.cart td.actions .coupon { display: grid; grid-template-columns: 1fr auto; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { width: 100%; }
}

@media (max-width: 600px) {
	.woocommerce ul.products { grid-template-columns: 1fr; }
	.woocommerce div.product div.images,
	.woocommerce div.product div.summary { float: none; width: 100%; }
	.woocommerce-cart table.cart td.actions .coupon { grid-template-columns: 1fr; }
}
