:root {
	--acw-olive: #817041;
	--acw-olive-hover: #95814b;
	--acw-brown: #3e241a;
	--acw-beige: #f1dfcf;
	--acw-soft: #d8c7b8;
	--acw-ivory: #fffaf5;
	--acw-gold: #c39a59;
}

body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag {
	background: linear-gradient(180deg, var(--acw-ivory) 0%, #f7eee6 42%, var(--acw-beige) 100%);
	color: var(--acw-brown);
}

body.woocommerce-cart {
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#fffdfb 14%,
			#fffaf5 30%,
			#f8efe8 56%,
			var(--acw-beige) 100%
		);
	color: var(--acw-brown);
}

body.woocommerce-shop main,
body.tax-product_cat main,
body.tax-product_tag main,
body.woocommerce-cart main {
	background: transparent;
}

body.woocommerce-shop .ct-container,
body.tax-product_cat .ct-container,
body.tax-product_tag .ct-container,
body.woocommerce-cart .ct-container {
	max-width: 1220px;
}

body.woocommerce-shop .page-title,
body.tax-product_cat .page-title,
body.tax-product_tag .page-title,
body.woocommerce-cart .page-title,
body.woocommerce-cart .entry-title {
	margin-bottom: 16px;
	color: var(--acw-brown);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.2rem, 5vw, 4rem);
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 1.05;
	text-align: center;
}

body.woocommerce-shop .term-description,
body.tax-product_cat .term-description,
body.tax-product_tag .term-description {
	max-width: 760px;
	margin: 0 auto 30px;
	color: rgba(62, 36, 26, 0.75);
	font-size: 1rem;
	line-height: 1.7;
	text-align: center;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: 26px;
	color: rgba(62, 36, 26, 0.7);
}

.woocommerce .woocommerce-ordering select {
	border-color: rgba(129, 112, 65, 0.25);
	border-radius: 999px;
	background-color: var(--acw-ivory);
	color: var(--acw-brown);
}

.ac-shop-categories {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin: 10px auto 34px;
}

.ac-shop-category {
	display: inline-flex;
	min-height: 42px;
	padding: 9px 18px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(129, 112, 65, 0.23);
	border-radius: 999px;
	background: rgba(255, 250, 245, 0.82);
	color: var(--acw-brown);
	font-size: 0.86rem;
	font-weight: 750;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(62, 36, 26, 0.06);
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.ac-shop-category:hover,
.ac-shop-category:focus,
.ac-shop-category.is-active {
	border-color: var(--acw-olive);
	background: var(--acw-olive);
	color: #fff;
	transform: translateY(-2px);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	margin-top: 18px;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: flex;
	float: none;
	flex-direction: column;
	width: auto !important;
	min-height: 100%;
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid rgba(129, 112, 65, 0.14);
	border-radius: 22px;
	background: var(--acw-ivory);
	box-shadow: 0 16px 42px rgba(62, 36, 26, 0.09);
	text-align: left;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	border-color: rgba(195, 154, 89, 0.48);
	box-shadow: 0 24px 62px rgba(62, 36, 26, 0.14);
	transform: translateY(-5px);
}

.woocommerce ul.products li.product figure {
	position: relative;
	width: 100%;
	margin: 0;
	overflow: hidden;
	background: linear-gradient(135deg, var(--acw-beige), #f8efe7);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product img {
	width: 100%;
	height: 310px;
	aspect-ratio: auto;
	margin: 0;
	background: var(--acw-beige);
	object-fit: cover;
	object-position: center;
	transition: transform 500ms ease;
}

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

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	padding: 24px 24px 9px;
	margin: 0;
	color: var(--acw-brown);
	font-size: 1.08rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product h2 a,
.woocommerce ul.products li.product h3 a {
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product .price {
	display: block;
	padding: 0 24px;
	margin: 0 0 18px;
	color: var(--acw-olive);
	font-size: 1.04rem;
	font-weight: 850;
}

.woocommerce ul.products li.product .ct-woo-card-actions,
.woocommerce ul.products li.product .button:last-child {
	margin-top: auto;
}

.woocommerce ul.products li.product .ct-woo-card-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
	padding: 0 24px 24px;
}

.woocommerce ul.products li.product .button {
	display: inline-flex;
	min-height: 43px;
	margin: 0 0 24px 24px;
	padding: 10px 18px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--acw-olive);
	border-radius: 999px;
	background: var(--acw-olive);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.woocommerce ul.products li.product .ct-woo-card-actions .button {
	margin: 0;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus {
	border-color: var(--acw-olive-hover);
	background: var(--acw-olive-hover);
	color: #fff;
	transform: translateY(-2px);
}

.woocommerce ul.products li.product .ac-personalize-button {
	display: flex;
	width: calc(100% - 48px);
	margin: 0 24px 24px;
	background: transparent;
	color: var(--acw-olive);
}

.woocommerce ul.products li.product .ct-woo-card-actions .ac-personalize-button {
	margin-left: 0;
}

.woocommerce ul.products li.product .ac-personalize-button:hover,
.woocommerce ul.products li.product .ac-personalize-button:focus {
	background: var(--acw-olive-hover);
	color: #fff;
}

.woocommerce span.onsale {
	border-radius: 999px;
	background: var(--acw-gold);
	color: #fff;
	font-weight: 800;
}

.woocommerce nav.woocommerce-pagination ul {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
	margin: 0 4px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border-radius: 999px;
	background: var(--acw-ivory);
	color: var(--acw-brown);
	box-shadow: 0 8px 22px rgba(62, 36, 26, 0.07);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--acw-olive);
	color: #fff;
}

body.single-product .product {
	color: var(--acw-brown);
}

body.single-product div.product div.images,
body.single-product .woocommerce-product-gallery {
	margin-right: clamp(26px, 4vw, 56px);
}

body.single-product .woocommerce-product-gallery .flex-viewport,
body.single-product .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 18px 46px rgba(62, 36, 26, 0.08);
}

body.single-product .woocommerce-product-gallery .flex-viewport {
	width: 92%;
	margin-right: auto;
	margin-left: auto;
	padding: clamp(8px, 1.2vw, 14px);
	border: 1px solid rgba(129, 112, 65, 0.1);
}

body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
	border-radius: 16px;
	box-shadow: none;
}

body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a {
	display: block;
	overflow: hidden;
	border-radius: 16px;
	background: #fff;
}

body.single-product .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
	object-fit: contain;
	object-position: center;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs {
	margin-top: 12px;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	overflow: visible;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	box-sizing: border-box;
	border: 1px solid rgba(129, 112, 65, 0.18);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(62, 36, 26, 0.06);
	opacity: 0.74;
	transition: border-color 180ms ease, box-shadow 180ms ease, opacity 180ms ease, transform 180ms ease;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
body.single-product .woocommerce-product-gallery .flex-control-thumbs img:focus {
	border-color: rgba(129, 112, 65, 0.48);
	box-shadow: 0 12px 26px rgba(62, 36, 26, 0.1);
	opacity: 1;
	transform: translateY(-2px);
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--acw-olive);
	box-shadow: 0 0 0 2px rgba(129, 112, 65, 0.16), 0 12px 28px rgba(62, 36, 26, 0.1);
	opacity: 1;
}

@media (max-width: 768px) {
	body.single-product div.product div.images,
	body.single-product .woocommerce-product-gallery {
		margin-right: 0;
	}

	body.single-product .woocommerce-product-gallery .flex-viewport {
		width: 100%;
	}
}

body.single-product .summary .price {
	color: var(--acw-olive);
	font-weight: 850;
}

body.single-product .single_add_to_cart_button,
body.single-product .ac-single-personalize .button {
	border-radius: 999px;
	background: var(--acw-olive);
	color: #fff;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product .ac-single-personalize .button:hover {
	background: var(--acw-olive-hover);
	color: #fff;
}

body.woocommerce-cart .entry-content {
	color: var(--acw-brown);
}

body.woocommerce-cart .woocommerce {
	--theme-link-initial-color: var(--acw-brown);
	--theme-link-hover-color: var(--acw-olive);
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals {
	border: 1px solid rgba(129, 112, 65, 0.16);
	border-radius: 24px;
	background: rgba(255, 250, 245, 0.92);
	box-shadow: 0 18px 48px rgba(62, 36, 26, 0.08);
}

body.woocommerce-cart .woocommerce-cart-form {
	padding: clamp(16px, 2.5vw, 26px);
}

body.woocommerce-cart table.shop_table,
body.woocommerce-cart table.cart {
	overflow: hidden;
	border: 0;
	border-collapse: separate;
	border-spacing: 0 12px;
	background: transparent;
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.cart th {
	padding: 12px 16px;
	border: 0;
	color: rgba(62, 36, 26, 0.72);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.woocommerce-cart table.shop_table td,
body.woocommerce-cart table.cart td {
	padding: 18px 16px;
	border-top: 1px solid rgba(129, 112, 65, 0.12);
	border-bottom: 1px solid rgba(129, 112, 65, 0.12);
	background: #fffaf5;
	color: var(--acw-brown);
	vertical-align: middle;
}

body.woocommerce-cart table.shop_table tr.cart_item td:first-child,
body.woocommerce-cart table.cart tr.cart_item td:first-child {
	border-left: 1px solid rgba(129, 112, 65, 0.12);
	border-radius: 18px 0 0 18px;
}

body.woocommerce-cart table.shop_table tr.cart_item td:last-child,
body.woocommerce-cart table.cart tr.cart_item td:last-child {
	border-right: 1px solid rgba(129, 112, 65, 0.12);
	border-radius: 0 18px 18px 0;
}

body.woocommerce-cart table.cart .product-name a,
body.woocommerce-cart table.shop_table .product-name a {
	color: var(--acw-brown);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.35;
	text-decoration: none;
}

body.woocommerce-cart table.cart .product-name a:hover,
body.woocommerce-cart table.shop_table .product-name a:hover {
	color: var(--acw-olive);
}

body.woocommerce-cart .variation,
body.woocommerce-cart .wc-item-meta {
	margin-top: 10px;
	color: rgba(62, 36, 26, 0.72);
	font-size: 0.88rem;
	line-height: 1.55;
}

body.woocommerce-cart .variation dt,
body.woocommerce-cart .wc-item-meta-label {
	color: var(--acw-olive);
	font-weight: 800;
}

body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal,
body.woocommerce-cart .cart-subtotal,
body.woocommerce-cart .order-total {
	color: var(--acw-brown);
	font-weight: 800;
}

body.woocommerce-cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(129, 112, 65, 0.24);
	border-radius: 999px;
	background: #fffaf5;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

body.woocommerce-cart .quantity input.qty {
	border-color: transparent;
	background: transparent;
	color: var(--acw-brown);
	font-weight: 800;
}

body.woocommerce-cart .quantity .ct-increase,
body.woocommerce-cart .quantity .ct-decrease,
body.woocommerce-cart .quantity [class*="plus"],
body.woocommerce-cart .quantity [class*="minus"] {
	color: var(--acw-olive);
}

body.woocommerce-cart table.cart td.actions {
	border: 0;
	border-radius: 18px;
	background: transparent;
	padding: 18px 0 0;
}

body.woocommerce-cart .coupon input.input-text,
body.woocommerce-cart .coupon .input-text {
	border-color: rgba(129, 112, 65, 0.22);
	border-radius: 999px;
	background: #fffaf5;
	color: var(--acw-brown);
}

body.woocommerce-cart .button,
body.woocommerce-cart button.button,
body.woocommerce-cart input.button {
	border: 1px solid var(--acw-olive);
	border-radius: 999px;
	background: var(--acw-olive);
	color: #fff;
	font-weight: 800;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

body.woocommerce-cart .button:hover,
body.woocommerce-cart button.button:hover,
body.woocommerce-cart input.button:hover {
	border-color: var(--acw-olive-hover);
	background: var(--acw-olive-hover);
	color: #fff;
	transform: translateY(-1px);
}

body.woocommerce-cart .cart-collaterals {
	margin-top: 34px;
}

body.woocommerce-cart .cart_totals {
	padding: clamp(22px, 3vw, 34px);
}

body.woocommerce-cart .cart_totals h2 {
	margin: 0 0 20px;
	color: var(--acw-brown);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.65rem, 3vw, 2.2rem);
	font-weight: 500;
	letter-spacing: -0.025em;
}

body.woocommerce-cart .cart_totals table.shop_table {
	margin-bottom: 24px;
	border-spacing: 0 10px;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
	padding: 14px 0;
	border: 0;
	background: transparent;
	color: var(--acw-brown);
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	border-radius: 999px;
	background: var(--acw-olive);
	color: #fff;
	font-weight: 850;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus {
	background: var(--acw-olive-hover);
	color: #fff;
}

@media (max-width: 1180px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce ul.products li.product img {
		height: 285px;
	}
}

@media (max-width: 640px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering {
		float: none;
		width: 100%;
		text-align: center;
	}

	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .ac-personalize-button {
		width: calc(100% - 44px);
		margin-left: 22px;
		margin-right: 22px;
	}

	.woocommerce ul.products li.product img {
		height: 340px;
	}

	.woocommerce ul.products li.product .ct-woo-card-actions {
		padding-right: 22px;
		padding-left: 22px;
	}

	.woocommerce ul.products li.product .ct-woo-card-actions .button,
	.woocommerce ul.products li.product .ct-woo-card-actions .ac-personalize-button {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
	}

	.woocommerce ul.products li.product .ac-personalize-button {
		margin-top: -10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product,
	.woocommerce ul.products li.product *,
	.ac-shop-category {
		transition-duration: 0.01ms !important;
	}
}
