:root {
	--zm-store-gold: rgb(249, 82, 40);
	--zm-store-gold-dark: #D9431E;
	--zm-store-brown-dark: #1A0D00;
	--zm-store-brown: #2D1F12;
	--zm-store-cream: #F5EDD8;
	--zm-store-cream-light: #FAF5EC;
	--zm-store-red: #96131E;
	--zm-store-red-deep: #96131E;
	--zm-store-olive: #83B735;
	--zm-store-olive-dark: #5F8F24;
	--zm-store-muted: #6B5A48;
	--zm-store-line: rgba(196, 168, 130, 0.32);
	--zm-store-font-sans: "Manrope", "Inter", system-ui, sans-serif;
	--zm-store-font-display: "Sora", "Manrope", system-ui, sans-serif;
}

body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.single-product {
	font-family: var(--zm-store-font-sans);
	color: var(--zm-store-brown);
}

body.woocommerce .main-page-wrapper,
body.woocommerce-page .main-page-wrapper {
	background: linear-gradient(180deg, #FFFDF8 0%, var(--zm-store-cream-light) 100%);
}

body.woocommerce .wd-content-layout.container,
body.woocommerce-page .wd-content-layout.container,
body.woocommerce .main-page-wrapper > .container,
body.woocommerce-page .main-page-wrapper > .container {
	width: 100%;
	max-width: 100%;
	padding-inline: clamp(14px, 3vw, 48px);
}

.woocommerce .page-title,
.woocommerce-page .page-title,
.woocommerce .entry-title,
.woocommerce-page .entry-title,
.single-product .product_title {
	font-family: var(--zm-store-font-display);
	letter-spacing: 0;
	color: var(--zm-store-brown-dark);
}

.wd-shop-tools,
.shop-loop-head,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
	border-color: var(--zm-store-line);
}

.wd-shop-tools {
	font-family: var(--zm-store-font-sans);
}

.woocommerce-result-count,
.woocommerce-ordering select,
.wd-products-per-page,
.wd-products-shop-view {
	color: var(--zm-store-muted);
}

.wd-product,
.product-grid-item,
.wd-product-category {
	font-family: var(--zm-store-font-sans);
}

.wd-product .wd-entities-title,
.wd-product .woocommerce-loop-product__title,
.wd-product .wd-product-title,
.wd-product-category .wd-entities-title,
.single-product .product_title {
	font-family: var(--zm-store-font-display);
	font-weight: 700;
}

.woocommerce-Price-amount,
.price,
.wd-product .price {
	color: var(--zm-store-red-deep);
	font-weight: 800;
}

.wd-product .button,
.wd-product .add_to_cart_button,
.single_add_to_cart_button,
.woocommerce-cart .checkout-button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
	border-radius: 999px;
	font-family: var(--zm-store-font-sans);
	font-weight: 800;
	letter-spacing: 0.02em;
}

.wd-product .button,
.wd-product .add_to_cart_button,
.single_add_to_cart_button,
.woocommerce-cart .checkout-button,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
	background: linear-gradient(135deg, rgb(249, 82, 40), var(--zm-store-gold)) !important;
	border-color: var(--zm-store-gold) !important;
	color: #ffffff !important;
}

.wd-product .button:hover,
.wd-product .add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.woocommerce-cart .checkout-button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	background: linear-gradient(135deg, var(--zm-store-red), rgb(249, 82, 40)) !important;
	color: #ffffff !important;
}

.woocommerce .woocommerce-breadcrumb,
.wd-breadcrumbs,
.woocommerce .woocommerce-breadcrumb a,
.wd-breadcrumbs a {
	color: var(--zm-store-muted);
	font-family: var(--zm-store-font-sans);
}

.woocommerce .woocommerce-breadcrumb a:hover,
.wd-breadcrumbs a:hover {
	color: var(--zm-store-red-deep);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	border-radius: 6px;
	background: #FFFDF8;
	border-color: var(--zm-store-line);
	color: var(--zm-store-brown);
	font-family: var(--zm-store-font-sans);
}

.woocommerce-message {
	border-top-color: var(--zm-store-olive);
}

.woocommerce-info {
	border-top-color: var(--zm-store-gold);
}

.woocommerce-error {
	border-top-color: var(--zm-store-red);
}

.woocommerce .quantity input[type="button"],
.woocommerce .quantity input[type="number"],
.woocommerce .quantity .minus,
.woocommerce .quantity .plus {
	border-color: var(--zm-store-line);
	color: var(--zm-store-brown);
}

.woocommerce-tabs .tabs li a,
.wd-nav-tabs li a,
.woocommerce-MyAccount-navigation li a {
	font-family: var(--zm-store-font-sans);
	font-weight: 800;
	letter-spacing: 0.02em;
}

.woocommerce-tabs .tabs li.active a,
.wd-nav-tabs li.active a,
.woocommerce-MyAccount-navigation li.is-active a {
	color: var(--zm-store-red-deep);
}

.cart-content-wrapper,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-checkout-payment,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation {
	background: rgba(255, 255, 255, 0.78);
}

.cart_totals h2,
.cross-sells > h2,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-order-details__title,
.woocommerce-column__title {
	font-family: var(--zm-store-font-display);
	color: var(--zm-store-brown-dark);
}

.woocommerce-cart-form table.shop_table,
.cart_totals table.shop_table,
.woocommerce-checkout-review-order table.shop_table,
.woocommerce-order-details table.shop_table {
	border-color: var(--zm-store-line);
}

.woocommerce-cart-form table.shop_table th,
.cart_totals table.shop_table th,
.woocommerce-checkout-review-order table.shop_table th {
	font-family: var(--zm-store-font-sans);
	font-weight: 800;
	color: var(--zm-store-olive-dark);
}

.woocommerce-cart-form .product-name a,
.woocommerce-checkout-review-order .product-name,
.woocommerce-order-details .product-name a {
	font-family: var(--zm-store-font-display);
	color: var(--zm-store-brown-dark);
}

.woocommerce form .form-row label {
	font-family: var(--zm-store-font-sans);
	font-weight: 800;
	color: var(--zm-store-olive-dark);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	border-color: var(--zm-store-line) !important;
	background: #FFFDF8 !important;
	color: var(--zm-store-brown) !important;
	font-family: var(--zm-store-font-sans);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--zm-store-gold) !important;
	box-shadow: 0 0 0 3px rgba(249, 82, 40, 0.13);
}

.single-product .summary-inner {
	font-family: var(--zm-store-font-sans);
}

.single-product .product_meta,
.single-product .woocommerce-product-details__short-description {
	color: var(--zm-store-muted);
	line-height: 1.72;
}

.single-product .woocommerce-product-details__short-description {
	font-size: 1rem;
}

.single-product .sku_wrapper,
.single-product .posted_in,
.single-product .tagged_as {
	color: var(--zm-store-muted);
}

.single-product .posted_in a,
.single-product .tagged_as a {
	color: var(--zm-store-red-deep);
}

.wd-page-title,
.page-title {
	background-color: var(--zm-store-cream);
}

.wd-page-title .title,
.wd-page-title .entry-title {
	font-family: var(--zm-store-font-display);
	color: var(--zm-store-brown-dark);
}

.woocommerce-cart .cart-content-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
	gap: clamp(20px, 3vw, 36px);
	align-items: start;
}

.woocommerce-cart-form,
.cart_totals {
	border: 1px solid var(--zm-store-line);
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(26, 13, 0, 0.06);
}

.woocommerce-cart-form {
	padding: clamp(14px, 2vw, 24px);
}

.cart_totals {
	padding: clamp(18px, 2.2vw, 28px);
	position: sticky;
	top: 20px;
}

.zmc-cart-progress-panel {
	margin: 0 0 clamp(18px, 3vw, 30px);
}

.zmc-stage {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.zmc-stage__step {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--zm-store-muted);
}

.zmc-stage__icon {
	display: inline-flex;
	color: currentColor;
}

.zmc-stage__step.is-active {
	color: var(--zm-store-gold);
}

.zmc-stage__step.is-done {
	color: var(--zm-store-olive);
}

.zmc-stage__sep {
	width: 24px;
	height: 1px;
	background: var(--zm-store-line);
}

.zmc-cart-progress-panel .zmc-stage {
	justify-content: flex-start;
	padding: 0 0 16px;
}

.zmc-shipping-offer {
	display: flex;
	gap: 16px;
	align-items: center;
	background: #fffdf8;
	border: 1px solid var(--zm-store-line);
	border-radius: 8px;
	padding: clamp(16px, 2.5vw, 24px);
	box-shadow: 0 14px 34px rgba(26, 13, 0, 0.06);
}

.zmc-shipping-offer__icon {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background: var(--zm-store-gold);
	box-shadow: 0 10px 24px rgba(249, 82, 40, 0.24);
}

.zmc-shipping-offer__body {
	flex: 1;
	min-width: 0;
}

.zmc-shipping-offer__heading {
	font-family: var(--zm-store-font-display);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	color: var(--zm-store-red);
}

.zmc-shipping-offer__text {
	margin: 4px 0 12px;
	color: var(--zm-store-muted);
	font-weight: 700;
}

.zmc-shipping-offer__bar {
	height: 9px;
	border-radius: 999px;
	background: rgba(196, 168, 130, 0.24);
	overflow: hidden;
}

.zmc-shipping-offer__bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--zm-store-gold), var(--zm-store-olive));
	transition: width 0.28s ease;
}

.zmc-shipping-offer.is-unlocked .zmc-shipping-offer__icon,
.zmc-shipping-offer.is-unlocked .zmc-shipping-offer__bar span {
	background: var(--zm-store-olive);
}

@media (max-width: 767px) {
	.wd-product .button,
	.wd-product .add_to_cart_button,
	.single_add_to_cart_button,
	.woocommerce-cart .checkout-button {
		min-height: 42px;
	}
}

@media (max-width: 1024px) {
	.woocommerce-cart .cart-content-wrapper {
		grid-template-columns: 1fr;
	}

	.cart_totals {
		position: static;
	}
}

@media (max-width: 640px) {
	.zmc-shipping-offer {
		align-items: flex-start;
	}

	.zmc-shipping-offer__icon {
		width: 44px;
		height: 44px;
		flex-basis: 44px;
	}
}
