:root {
	--antara-woo-line: #e7eaf0;
	--antara-woo-soft: #f6f8fb;
	--antara-woo-muted: #64748b;
	--antara-woo-shadow: 0 12px 34px rgba(15, 23, 42, 0.08);
	--antara-woo-shadow-hover: 0 22px 52px rgba(15, 23, 42, 0.15);
	--antara-product-columns-desktop: 4;
	--antara-product-columns-tablet: 3;
	--antara-product-columns-mobile: 2;
	--antara-product-gap: 28px;
	--antara-product-image-ratio: 1 / 1;
	--antara-product-image-fit: contain;
	--antara-product-align: left;
	--antara-product-card-padding: 20px;
	--antara-product-card-radius: 18px;
	--antara-product-card-shadow: var(--antara-woo-shadow);
	--antara-product-card-shadow-hover: var(--antara-woo-shadow-hover);
	--antara-product-title-size: 18px;
	--antara-single-product-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
	--antara-related-columns: 4;
	--antara-category-columns-desktop: 4;
	--antara-category-columns-tablet: 3;
	--antara-category-columns-mobile: 2;
	--antara-category-gap: 24px;
	--antara-category-image-ratio: 4 / 3;
}

.antara-commerce-main {
	padding-top: clamp(42px, 6vw, 86px);
}

.woocommerce .woocommerce-breadcrumb {
	margin-bottom: 28px;
	color: var(--antara-woo-muted);
	font-size: 0.85rem;
}

.woocommerce .woocommerce-breadcrumb a {
	color: inherit;
}

.woocommerce-products-header {
	margin-bottom: 34px;
}

.woocommerce-products-header__title {
	margin: 0 0 12px;
	font-size: clamp(2rem, 5vw, 4rem);
}

.woocommerce .woocommerce-result-count {
	margin: 10px 0 26px;
	color: var(--antara-woo-muted);
}

.woocommerce .woocommerce-ordering {
	margin: 0 0 26px;
}

.woocommerce .woocommerce-ordering select {
	min-height: 46px;
	padding: 0 42px 0 15px;
	border: 1px solid var(--antara-woo-line);
	border-radius: 12px;
	background-color: #fff;
	color: var(--antara-ink);
}

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(var(--antara-product-columns-desktop), minmax(0, 1fr));
	gap: var(--antara-product-gap);
	clear: both;
	margin: 0 0 56px !important;
	padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	position: relative;
	display: flex;
	float: none !important;
	flex-direction: column;
	width: auto !important;
	min-width: 0;
	height: 100%;
	overflow: hidden;
	margin: 0 !important;
	padding: 0 0 var(--antara-product-card-padding) !important;
	border: 1px solid var(--antara-woo-line);
	border-radius: var(--antara-product-card-radius);
	background: #fff;
	box-shadow: var(--antara-product-card-shadow);
	text-align: var(--antara-product-align);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-6px);
	border-color: #d8dee8;
	box-shadow: var(--antara-product-card-shadow-hover);
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.woocommerce ul.products li.product a img {
	width: 100%;
	height: auto;
	margin: 0 0 20px !important;
	aspect-ratio: var(--antara-product-image-ratio);
	object-fit: var(--antara-product-image-fit);
	background: var(--antara-woo-soft);
	transition: transform 360ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

.woocommerce ul.products li.product:hover a img {
	transform: scale(1.045);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .price {
	margin-right: var(--antara-product-card-padding) !important;
	margin-left: var(--antara-product-card-padding) !important;
}

.woocommerce ul.products li.product .antara-product-brand {
	margin: 0 var(--antara-product-card-padding) 8px;
}

.antara-product-brand {
	color: var(--antara-accent);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.09em;
	line-height: 1.3;
	text-transform: uppercase;
}

.antara-product-brand a {
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	overflow: hidden;
	min-height: 2.8em;
	padding: 0 !important;
	color: var(--antara-ink);
	font-size: var(--antara-product-title-size) !important;
	font-weight: 750;
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.woocommerce ul.products li.product .star-rating {
	margin-top: 8px;
	color: #f59e0b;
}

.woocommerce ul.products li.product .price {
	margin-top: auto !important;
	margin-bottom: 16px !important;
	padding-top: 12px;
	color: var(--antara-ink) !important;
	font-size: 1.08rem !important;
	font-weight: 850 !important;
}

.woocommerce ul.products li.product .price del {
	margin-right: 6px;
	color: #94a3b8;
	font-size: 0.84em;
	opacity: 1;
}

.woocommerce ul.products li.product .price ins {
	color: var(--antara-accent);
	text-decoration: none;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin: 0 var(--antara-product-card-padding) !important;
	padding: 12px 16px !important;
	border: 1px solid var(--antara-ink) !important;
	border-radius: 12px !important;
	background: var(--antara-ink) !important;
	color: #fff !important;
	font-size: 0.9rem !important;
	font-weight: 750 !important;
	text-align: center;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.added_to_cart:hover {
	border-color: var(--antara-accent) !important;
	background: var(--antara-accent) !important;
}

.woocommerce span.onsale,
.wc-block-grid__product-onsale,
.wc-block-components-product-sale-badge {
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 7px 11px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--antara-accent) !important;
	color: #fff !important;
	font-size: 0.72rem !important;
	font-weight: 850 !important;
	line-height: 1 !important;
	text-transform: uppercase;
}

/* Woo product blocks. */
.wc-block-grid__products,
.wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(var(--antara-product-columns-desktop), minmax(0, 1fr));
	gap: var(--antara-product-gap) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wc-block-grid__product,
.wc-block-product {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: var(--antara-product-card-padding) !important;
	border: 1px solid var(--antara-woo-line) !important;
	border-radius: var(--antara-product-card-radius);
	background: #fff;
	box-shadow: var(--antara-product-card-shadow);
	text-align: var(--antara-product-align);
}

.wc-block-grid__product-image img,
.wc-block-components-product-image img {
	aspect-ratio: var(--antara-product-image-ratio);
	object-fit: var(--antara-product-image-fit);
	border-radius: 12px;
	background: var(--antara-woo-soft);
}

/* Single product: core template, modern layout. */
.single-product .woocommerce div.product {
	display: grid;
	grid-template-columns: var(--antara-single-product-columns);
	column-gap: clamp(36px, 5vw, 78px);
	align-items: start;
}

.single-product .woocommerce div.product .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 0 42px !important;
	padding: clamp(14px, 2vw, 26px);
	border: 1px solid var(--antara-woo-line);
	border-radius: 24px;
	background: var(--antara-woo-soft);
}

.single-product .woocommerce div.product .woocommerce-product-gallery__image img {
	border-radius: 14px;
	background: #fff;
}

.single-product .woocommerce div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px !important;
}

.single-product .woocommerce div.product .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
}

.single-product .woocommerce div.product .summary {
	float: none !important;
	width: 100% !important;
	margin: 0 0 48px !important;
	padding: clamp(22px, 3vw, 36px) !important;
	border: 1px solid var(--antara-woo-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--antara-woo-shadow);
}

.single-product .product_title {
	margin: 0 0 16px;
	font-size: clamp(1.9rem, 3.4vw, 3.2rem);
}

.single-product .summary > .antara-product-brand {
	margin-bottom: 12px;
}

.single-product .summary .price {
	margin: 0 0 20px;
	color: var(--antara-ink) !important;
	font-size: clamp(1.4rem, 2vw, 1.9rem) !important;
	font-weight: 850;
}

.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	min-height: 48px;
	border: 1px solid var(--antara-woo-line);
	border-radius: 12px;
}

.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.single-product .single_add_to_cart_button {
	min-height: 48px;
	padding: 12px 24px !important;
	border-radius: 12px !important;
	background: var(--antara-ink) !important;
	font-weight: 750 !important;
}

.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover,
.single-product .single_add_to_cart_button:hover {
	background: var(--antara-accent) !important;
}

.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells {
	grid-column: 1 / -1;
	width: 100%;
}

.single-product div.product .related ul.products,
.single-product div.product .upsells ul.products {
	grid-template-columns: repeat(var(--antara-related-columns), minmax(0, 1fr));
}

.antara-content-layout.has-sidebar .single-product .woocommerce div.product,
.single-product .antara-content-layout.has-sidebar .woocommerce div.product {
	grid-template-columns: 1fr;
}

.antara-hide-product-rating .woocommerce ul.products li.product .star-rating,
.antara-hide-product-rating .wc-block-grid__product-rating,
.antara-hide-product-rating .wc-block-components-product-rating {
	display: none !important;
}

.antara-hide-product-button .woocommerce ul.products li.product .button,
.antara-hide-product-button .woocommerce ul.products li.product .added_to_cart,
.antara-hide-product-button .wc-block-grid__product-add-to-cart,
.antara-hide-product-button .wp-block-button.wc-block-components-product-button {
	display: none !important;
}

/* Product categories receive their own proportional card treatment. */
.woocommerce ul.products:has(> li.product-category),
.woocommerce-page ul.products:has(> li.product-category) {
	grid-template-columns: repeat(var(--antara-category-columns-desktop), minmax(0, 1fr));
	gap: var(--antara-category-gap);
}

.woocommerce ul.products li.product-category a img {
	margin-bottom: 0 !important;
	aspect-ratio: var(--antara-category-image-ratio);
	object-fit: cover;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	margin: 0 !important;
	padding: var(--antara-product-card-padding) !important;
	font-size: clamp(1.05rem, 1.7vw, 1.35rem) !important;
}

.woocommerce ul.products li.product-category .count {
	background: transparent;
	color: var(--antara-woo-muted);
	font-size: 0.78em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 8px;
	border: 1px solid var(--antara-woo-line);
	border-radius: 14px;
	background: var(--antara-woo-soft);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 10px 16px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: #fff;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding: clamp(22px, 3vw, 38px);
	border: 1px solid var(--antara-woo-line);
	border-radius: 18px;
	background: #fff;
}

.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-content,
.wc-block-cart,
.wc-block-checkout {
	padding: clamp(18px, 3vw, 34px);
	border: 1px solid var(--antara-woo-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--antara-woo-shadow);
}

.antara-product-category-content {
	max-width: 940px;
	margin: clamp(52px, 7vw, 92px) auto 24px;
	padding: clamp(26px, 5vw, 56px);
	border: 1px solid var(--antara-woo-line);
	border-radius: clamp(16px, 3vw, 24px);
	background: var(--antara-woo-soft);
	color: #334155;
}

.antara-product-category-content > :first-child {
	margin-top: 0;
}

.antara-product-category-content > :last-child {
	margin-bottom: 0;
}

.antara-product-category-content h2,
.antara-product-category-content h3 {
	margin-top: 1.5em;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	border-radius: 12px !important;
}

@media (max-width: 1199px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.wc-block-grid__products,
	.wc-block-product-template {
		grid-template-columns: repeat(var(--antara-product-columns-tablet), minmax(0, 1fr));
		gap: var(--antara-product-gap) !important;
	}

	.woocommerce ul.products:has(> li.product-category),
	.woocommerce-page ul.products:has(> li.product-category) {
		grid-template-columns: repeat(var(--antara-category-columns-tablet), minmax(0, 1fr));
		gap: var(--antara-category-gap) !important;
	}

	.single-product div.product .related ul.products,
	.single-product div.product .upsells ul.products {
		grid-template-columns: repeat(var(--antara-product-columns-tablet), minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.single-product .woocommerce div.product {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.wc-block-grid__products,
	.wc-block-product-template {
		grid-template-columns: repeat(var(--antara-product-columns-mobile), minmax(0, 1fr));
		gap: var(--antara-product-gap) !important;
	}

	.woocommerce ul.products:has(> li.product-category),
	.woocommerce-page ul.products:has(> li.product-category) {
		grid-template-columns: repeat(var(--antara-category-columns-mobile), minmax(0, 1fr));
		gap: var(--antara-category-gap) !important;
	}

	.single-product div.product .related ul.products,
	.single-product div.product .upsells ul.products {
		grid-template-columns: repeat(var(--antara-product-columns-mobile), minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product,
	.woocommerce ul.products li.product a img {
		transition: none !important;
	}
}
