:root {
	--zm-global-primary: rgb(249, 82, 40);
	--zm-global-rich-red: #96131E;
	--zm-global-green: #83B735;
	--zm-global-gold: var(--zm-global-primary);
	--zm-global-brown-dark: #1A0D00;
	--zm-global-cream: #F5EDD8;
	--zm-global-red-deep: var(--zm-global-rich-red);
	--zm-global-olive: var(--zm-global-green);
	--zm-global-font-sans: "Manrope", "Inter", system-ui, sans-serif;
	--zm-global-font-display: "Sora", "Manrope", system-ui, sans-serif;
	--wd-primary-color: var(--zm-global-primary);
	--wd-alternative-color: var(--zm-global-rich-red);
	--btn-accented-bgcolor: var(--zm-global-primary);
	--btn-accented-bgcolor-hover: var(--zm-global-rich-red);
	--btn-accented-color: #ffffff;
	--btn-accented-color-hover: #ffffff;
	--btn-shop-bgcolor: var(--zm-global-primary);
	--btn-shop-bgcolor-hover: var(--zm-global-rich-red);
	--btn-shop-color: #ffffff;
	--btn-shop-color-hover: #ffffff;
}

html {
	scroll-behavior: smooth;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	scrollbar-gutter: auto !important;
	scrollbar-width: thin;
	scrollbar-color: rgba(150, 19, 30, 0.5) rgba(245, 237, 216, 0.28);
}

html::-webkit-scrollbar {
	width: 9px;
}

html::-webkit-scrollbar-track {
	background: rgba(245, 237, 216, 0.28);
}

html::-webkit-scrollbar-thumb {
	border: 2px solid transparent;
	border-radius: 999px;
	background: rgba(150, 19, 30, 0.5);
	background-clip: content-box;
	transition: background-color 160ms ease;
}

html::-webkit-scrollbar-thumb:hover {
	background-color: rgba(150, 19, 30, 0.7);
}

html::-webkit-scrollbar-thumb:active {
	background-color: rgba(26, 13, 0, 0.78);
}

html::-webkit-scrollbar-button {
	display: none;
	width: 0;
	height: 0;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	font-family: var(--zm-global-font-sans);
}

body.zm-custom-full-width-page .wd-content-layout {
	padding-block: 0;
}

body.zm-custom-full-width-page .main-page-wrapper > :is(.container, .container-fluid),
body.zm-custom-full-width-page .wd-content-layout:is(.container, .container-fluid),
body.zm-custom-full-width-page .site-content > :is(.container, .container-fluid) {
	width: 100%;
	max-width: none;
	padding-inline: 0;
}

.zm-elementor-page-content > .elementor,
.zm-elementor-page-content .elementor-section.zm-elementor-section-host,
.zm-elementor-page-content .elementor-section.zm-elementor-section-host > .elementor-container,
.zm-elementor-page-content .zm-elementor-section-column,
.zm-elementor-page-content .zm-elementor-section-column > .elementor-widget-wrap,
.zm-elementor-page-content .elementor-widget-zada_masala_template_section,
.zm-elementor-page-content .elementor-widget-zada_masala_template_section > .elementor-widget-container {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.zm-elementor-page-content .elementor-section.zm-elementor-section-host > .elementor-container {
	display: block;
}

.zm-elementor-page-content .elementor-column.zm-elementor-section-column > .elementor-element-populated {
	padding: 0;
}

.zm-elementor-section-missing {
	margin: 1rem;
	padding: 1rem;
	border: 1px solid #D9431E;
	background: #FFF7EA;
	color: #1A0D00;
	font-weight: 700;
}

body a:hover,
body .amount,
body .price {
	color: var(--zm-global-primary);
}

body .single_add_to_cart_button,
body .wd-buy-now-btn,
body .checkout-button,
body button[name="apply_coupon"],
body .woocommerce-mini-cart__buttons .button.checkout {
	background-color: var(--zm-global-primary) !important;
	border-color: var(--zm-global-primary) !important;
	color: #ffffff !important;
}

body .single_add_to_cart_button:hover,
body .wd-buy-now-btn:hover,
body .checkout-button:hover,
body button[name="apply_coupon"]:hover,
body .woocommerce-mini-cart__buttons .button.checkout:hover {
	background-color: var(--zm-global-rich-red) !important;
	border-color: var(--zm-global-rich-red) !important;
	color: #ffffff !important;
}

body .wd-tools-element .wd-tools-count,
body .wd-cart-number {
	background-color: var(--zm-global-primary);
	color: #ffffff;
}

/* Header product live search */
.zm-header-live-search-form {
	position: relative;
}

.zm-header-live-search {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	right: 0;
	z-index: 100000;
	display: grid;
	gap: 0.35rem;
	min-width: min(24rem, calc(100vw - 2rem));
	max-height: min(26rem, 70vh);
	overflow: auto;
	padding: 0.45rem;
	border: 1px solid rgba(100, 57, 25, 0.14);
	border-radius: 0.65rem;
	background: rgba(255, 253, 248, 0.98);
	box-shadow: 0 1.25rem 3rem rgba(24, 10, 4, 0.18);
}

.zm-header-live-search[hidden] {
	display: none !important;
}

.zm-header-live-search__item {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr) auto;
	gap: 0.7rem;
	align-items: center;
	padding: 0.55rem;
	border: 1px solid transparent;
	border-radius: 0.5rem;
	color: var(--zm-global-brown-dark);
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.zm-header-live-search__item:hover,
.zm-header-live-search__item:focus-visible {
	border-color: rgba(131, 183, 53, 0.34);
	background: rgba(131, 183, 53, 0.08);
	color: var(--zm-global-brown-dark);
	text-decoration: none;
	transform: translateY(-1px);
	outline: none;
}

.zm-header-live-search__thumb {
	display: inline-flex;
	width: 3rem;
	height: 3rem;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 0.42rem;
	background: rgba(245, 237, 216, 0.78);
	color: var(--zm-global-rich-red);
	font-size: 0.72rem;
	font-weight: 800;
}

.zm-header-live-search__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.zm-header-live-search__body {
	display: grid;
	gap: 0.16rem;
	min-width: 0;
}

.zm-header-live-search__name {
	overflow: hidden;
	color: var(--zm-global-brown-dark);
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.zm-header-live-search__cat {
	overflow: hidden;
	color: rgba(26, 13, 0, 0.58);
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.zm-header-live-search__price {
	color: var(--zm-global-green);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
}

.zm-header-live-search__message {
	padding: 0.85rem;
	color: rgba(26, 13, 0, 0.68);
	font-size: 0.84rem;
	font-weight: 700;
	text-align: center;
}

.zm-header-live-search__message.is-loading {
	color: var(--zm-global-brown-dark);
}

.wd-search-full-screen .zm-header-live-search,
.wd-search-full-screen-2 .zm-header-live-search,
.wd-search-area .zm-header-live-search {
	position: absolute;
	width: min(42rem, 100%);
	margin: 0.75rem auto 0;
}

.whb-col-right .zm-header-live-search,
.whb-column.whb-right .zm-header-live-search {
	left: auto;
	right: 0;
}

@media (max-width: 640px) {
	.zm-header-live-search {
		left: 50%;
		right: auto;
		width: min(22rem, calc(100vw - 1.5rem));
		min-width: 0;
		transform: translateX(-50%);
	}

	.zm-header-live-search__item {
		grid-template-columns: 2.65rem minmax(0, 1fr);
	}

	.zm-header-live-search__thumb {
		width: 2.65rem;
		height: 2.65rem;
	}

	.wd-search-full-screen .zm-header-live-search,
	.wd-search-full-screen-2 .zm-header-live-search,
	.wd-search-area .zm-header-live-search {
		left: auto;
		right: auto;
		width: min(42rem, 100%);
		transform: none;
	}

	.zm-header-live-search__price {
		grid-column: 2;
		justify-self: start;
	}
}

.zm-header-live-search__heading {
	margin: 0;
	padding: .75rem .65rem .4rem;
	font-size: 1rem;
	color: #1A0D00;
}
.zm-custom-order-float {
	position: fixed;
	right: max(16px, env(safe-area-inset-right));
	bottom: calc(24px + env(safe-area-inset-bottom));
	z-index: 350;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 48px;
	padding: .65rem 1rem;
	border-radius: 999px;
	background: #83B735;
	color: #fff;
	box-shadow: 0 3px 14px rgb(26 13 0 / 15%);
	font-size: .85rem;
	font-weight: 700;
}
.zm-custom-order-float:hover { color: #fff; background: #83B735; box-shadow: 0 0 0 2px #fff, 0 3px 14px rgb(26 13 0 / 25%); }
.zm-custom-order-float:focus-visible { outline: 2px solid #1A0D00; outline-offset: 3px; }
body:has(.wd-side-hidden.wd-opened, .wd-search-full-screen.wd-opened, .wd-close-side.wd-close-side-opened, .mfp-wrap, .zm-modal.is-open) .zm-custom-order-float { visibility: hidden; }
#cardFreeformMode { scroll-margin-top: 110px; }
@media (max-width: 1024px) {
	.zm-custom-order-float { bottom: calc(80px + env(safe-area-inset-bottom)); padding: .7rem; }
	.zm-custom-order-float span { display: none; }
}
@media print { .zm-custom-order-float { display: none; } }
@media (max-width: 768px) {
	.zm-custom-order-float {
		bottom: calc(68px + env(safe-area-inset-bottom));
		min-height: 44px;
		padding: .6rem .8rem;
		gap: .4rem;
		font-size: .8rem;
	}
	.zm-custom-order-float span { display: inline; }
	.zm-custom-order-float svg { width: 20px; height: 20px; flex-shrink: 0; }
}
/* Keep one initial suggestions panel within the active WoodMart search wrapper. */
.wd-search-form:has(.zm-header-live-search:not([hidden])) > :is(.wd-search-results, .wd-search-history, .wd-search-requests, .wd-search-area) { display: none; }

/* Hide before homepage JS initializes as well as when scrolling back into Hero. */
@media (max-width: 768px) {
	body:has(#homepage-content #hero) .zm-custom-order-float {
		transition: opacity .25s ease, transform .25s ease, visibility .25s;
	}
	body:has(#homepage-content #hero):not(.zm-below-home-hero) .zm-custom-order-float {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(8px);
	}
}
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
	body:has(#homepage-content #hero) .zm-custom-order-float { transition: none; }
}
