/* ==========================================================================
   Maimuna's Mehendi — Modern brand look
   Scope: WooCommerce shop / product / buttons + gentle scroll reveals.
   The Elementor homepage / hero layout is intentionally left untouched;
   only colors, shadows, hover motion and reveals are layered on top.
   ========================================================================== */

:root {
	--ndk-green: #14963a;
	--ndk-green-dark: #0f7f30;
	--ndk-green-soft: #e8f6ed;
	--ndk-ink: #1f2937;
	--ndk-muted: #6b7280;
	--ndk-line: #e6eaf0;
	--ndk-card-radius: 16px;
	--ndk-shadow: 0 10px 30px rgba(16, 38, 24, 0.08);
	--ndk-shadow-hover: 0 18px 44px rgba(16, 38, 24, 0.16);
	--ndk-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ---------- Global brand accents (safe, site-wide incl. homepage) ---------- */
html {
	scroll-behavior: smooth;
}

::selection {
	background: rgba(20, 150, 58, 0.18);
	color: var(--ndk-ink);
}

/* Branded scrollbar (supported browsers) */
* {
	scrollbar-color: var(--ndk-green) #eef2f0;
}

::-webkit-scrollbar {
	width: 11px;
	height: 11px;
}

::-webkit-scrollbar-thumb {
	background: var(--ndk-green);
	border-radius: 999px;
	border: 2px solid #eef2f0;
}

::-webkit-scrollbar-track {
	background: #eef2f0;
}

/* Core WordPress block buttons (not Elementor) -> brand green */
.wp-element-button,
.wp-block-button__link {
	background-color: var(--ndk-green);
	border-radius: 10px;
	transition: transform 0.18s var(--ndk-ease), box-shadow 0.18s var(--ndk-ease);
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: var(--ndk-shadow-hover);
}

/* Branded text-link hover underline for content links inside Elementor text widgets */
.elementor-widget-text-editor a:not(.elementor-button):hover {
	color: var(--ndk-green-dark);
}

/* ---------- Scroll reveal (added by modern-ui.js) ---------- */
.ndk-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.6s var(--ndk-ease), transform 0.6s var(--ndk-ease);
	transition-delay: var(--ndk-delay, 0ms);
	will-change: opacity, transform;
}

.ndk-reveal.ndk-in {
	opacity: 1;
	transform: none;
}

/* ---------- Buttons (modern, with motion) ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	border-radius: 10px !important;
	font-weight: 700;
	letter-spacing: 0.01em;
	padding: 0.7em 1.4em;
	transition: transform 0.18s var(--ndk-ease), box-shadow 0.18s var(--ndk-ease), background-color 0.18s var(--ndk-ease) !important;
	will-change: transform;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background-image: linear-gradient(135deg, #1aa843 0%, var(--ndk-green) 55%, var(--ndk-green-dark) 100%) !important;
	box-shadow: 0 8px 18px rgba(20, 150, 58, 0.26) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	transform: translateY(-2px);
	box-shadow: var(--ndk-shadow-hover) !important;
}

.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active {
	transform: translateY(0);
}

/* ---------- Product grid cards ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: #fff;
	border: 1px solid var(--ndk-line);
	border-radius: var(--ndk-card-radius);
	padding: 12px 12px 18px !important;
	box-shadow: var(--ndk-shadow);
	transition: transform 0.25s var(--ndk-ease), box-shadow 0.25s var(--ndk-ease), border-color 0.25s var(--ndk-ease);
	overflow: hidden;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: var(--ndk-shadow-hover);
	border-color: #cfe9d7;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	border-radius: 12px;
	transition: transform 0.5s var(--ndk-ease);
}

.woocommerce ul.products li.product:hover a img,
.woocommerce-page ul.products li.product:hover a img {
	transform: scale(1.05);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 16px;
	font-weight: 600;
	color: var(--ndk-ink);
	padding-bottom: 0.4em;
}

.woocommerce ul.products li.product .price {
	color: var(--ndk-green-dark);
	font-weight: 800;
}

.woocommerce ul.products li.product .price del {
	color: var(--ndk-muted);
	font-weight: 500;
	opacity: 0.7;
}

/* Sale badge — pill style */
.woocommerce span.onsale {
	background: linear-gradient(135deg, #ff6a3d, #ef4444) !important;
	border-radius: 999px !important;
	min-height: auto;
	min-width: auto;
	padding: 4px 12px;
	font-weight: 700;
	line-height: 1.4;
	top: 12px;
	left: 12px;
	box-shadow: 0 6px 14px rgba(239, 68, 68, 0.3);
}

/* ---------- Single product page polish ---------- */
.single-product div.product .woocommerce-product-gallery {
	border-radius: var(--ndk-card-radius);
	overflow: hidden;
}

.single-product div.product .woocommerce-product-gallery__image img {
	border-radius: var(--ndk-card-radius);
}

.single-product div.product .product_title {
	font-weight: 700;
	color: var(--ndk-ink);
	line-height: 1.2;
}

.single-product div.product p.price,
.single-product div.product span.price {
	color: var(--ndk-green-dark);
	font-weight: 800;
}

.single-product div.product form.cart .quantity .qty {
	border: 1px solid var(--ndk-line);
	border-radius: 10px;
	min-height: 48px;
	text-align: center;
}

.single-product div.product form.cart .button {
	min-height: 48px;
	border-radius: 10px !important;
}

.single-product .woocommerce-tabs ul.tabs li {
	border-radius: 10px 10px 0 0;
}

.single-product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--ndk-green);
}

/* Stock + meta accents */
.single-product div.product .stock.in-stock {
	color: var(--ndk-green-dark);
	font-weight: 600;
}

/* ---------- Links / focus niceties ---------- */
.woocommerce a:focus-visible,
.woocommerce button:focus-visible,
.woocommerce input:focus-visible,
.woocommerce select:focus-visible {
	outline: 2px solid rgba(20, 150, 58, 0.45);
	outline-offset: 2px;
}

/* ---------- Section heading underline accent (opt-in via data-ndk-anim) ---------- */
[data-ndk-anim="heading"] {
	position: relative;
	display: inline-block;
}

[data-ndk-anim="heading"]::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -8px;
	height: 4px;
	width: 56px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--ndk-green), #5fd07f);
}

/* ---------- Respect reduced motion ---------- */
@media ( prefers-reduced-motion: reduce ) {
	.ndk-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.woocommerce ul.products li.product:hover,
	.woocommerce ul.products li.product:hover a img,
	.woocommerce a.button:hover,
	.woocommerce button.button:hover,
	.woocommerce input.button:hover {
		transform: none !important;
	}
}

@media ( max-width: 767px ) {
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		padding: 10px 10px 14px !important;
		border-radius: 14px;
	}
}

/* ==========================================================================
   Brand polish — shop header, breadcrumb, pagination, single product, cart
   ========================================================================== */

/* ---------- Shop / archive header ---------- */
.woocommerce .woocommerce-products-header__title,
.woocommerce-page .woocommerce-products-header__title,
.woocommerce h1.product_title {
	color: var(--ndk-ink);
	font-weight: 800;
	letter-spacing: -0.01em;
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	color: var(--ndk-muted);
	font-size: 14px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
	border: 1px solid var(--ndk-line);
	border-radius: 10px;
	min-height: 44px;
	padding: 0 14px;
	background: #fff;
	color: var(--ndk-ink);
	cursor: pointer;
}

/* ---------- Breadcrumb ---------- */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-page .woocommerce-breadcrumb {
	font-size: 13.5px;
	color: var(--ndk-muted);
	margin-bottom: 18px;
	padding: 10px 14px;
	background: var(--ndk-green-soft);
	border-radius: 10px;
	display: inline-block;
}

.woocommerce .woocommerce-breadcrumb a,
.woocommerce-page .woocommerce-breadcrumb a {
	color: var(--ndk-green-dark);
	text-decoration: none;
	font-weight: 600;
}

/* ---------- Pagination ---------- */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul {
	border: 0;
	gap: 8px;
	display: flex;
	justify-content: center;
}

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

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--ndk-line) !important;
	border-radius: 10px;
	min-width: 42px;
	height: 42px;
	line-height: 42px;
	font-weight: 600;
	transition: all 0.18s var(--ndk-ease);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--ndk-green) !important;
	border-color: var(--ndk-green) !important;
	color: #fff !important;
}

/* ---------- Add-to-cart pulse on shop cards ---------- */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.ajax_add_to_cart {
	display: inline-block;
	width: 100%;
	text-align: center;
	margin-top: 6px;
}

.woocommerce ul.products li.product .button.added::after {
	font-family: "WooCommerce";
	content: "\e017";
	margin-left: 8px;
}

/* ---------- Single product layout ---------- */
.single-product div.product {
	margin-top: 6px;
}

.single-product div.product .summary {
	padding: 4px 4px 4px 8px;
}

.single-product div.product .woocommerce-product-rating {
	margin-bottom: 14px;
}

.single-product div.product p.price ins,
.single-product div.product span.price ins {
	text-decoration: none;
}

.single-product div.product p.price del,
.single-product div.product span.price del {
	color: var(--ndk-muted);
	font-weight: 500;
	margin-right: 8px;
}

/* Brand divider under short description */
.single-product div.product .woocommerce-product-details__short-description {
	border-top: 1px dashed var(--ndk-line);
	border-bottom: 1px dashed var(--ndk-line);
	padding: 14px 0;
	margin: 16px 0;
	color: #4b5563;
}

.single-product div.product form.cart {
	margin: 18px 0;
	gap: 12px;
	align-items: center;
}

.single-product div.product form.cart .quantity {
	margin-right: 10px;
}

.single-product div.product form.cart .single_add_to_cart_button {
	background-image: linear-gradient(135deg, #1aa843 0%, var(--ndk-green) 55%, var(--ndk-green-dark) 100%) !important;
	box-shadow: 0 10px 22px rgba(20, 150, 58, 0.28) !important;
	padding: 0 28px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Product meta (SKU / category) */
.single-product div.product .product_meta {
	font-size: 13.5px;
	color: var(--ndk-muted);
	border-top: 1px solid var(--ndk-line);
	padding-top: 14px;
	margin-top: 18px;
}

.single-product div.product .product_meta a {
	color: var(--ndk-green-dark);
}

/* Related / upsell heading */
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce-page .related > h2 {
	font-size: 24px;
	font-weight: 800;
	color: var(--ndk-ink);
	margin-bottom: 18px;
	position: relative;
	padding-bottom: 10px;
}

.woocommerce .related > h2::after,
.woocommerce .upsells > h2::after,
.woocommerce-page .related > h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--ndk-green), #5fd07f);
}

/* ---------- Cart page polish ---------- */
.woocommerce-cart table.cart {
	border: 1px solid var(--ndk-line);
	border-radius: 14px;
	overflow: hidden;
}

.woocommerce-cart table.cart img {
	border-radius: 10px;
}

.woocommerce-cart .cart_totals h2 {
	font-weight: 800;
	color: var(--ndk-ink);
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .wc-proceed-to-checkout {
	border: 1px solid var(--ndk-line);
	border-radius: 14px;
	padding: 18px;
	background: #fff;
	box-shadow: var(--ndk-shadow);
}

/* ---------- WooCommerce message / notices ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: 10px;
	border-top: 3px solid var(--ndk-green);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--ndk-green);
}

/* ---------- Quantity stepper ---------- */
.woocommerce .quantity input.qty {
	border: 1px solid var(--ndk-line);
	border-radius: 10px;
	min-height: 46px;
	text-align: center;
	font-weight: 600;
}

@media ( max-width: 767px ) {
	.woocommerce .woocommerce-breadcrumb,
	.woocommerce-page .woocommerce-breadcrumb {
		display: block;
	}

	.single-product div.product form.cart .single_add_to_cart_button {
		width: 100%;
		margin-top: 8px;
	}
}


/* ==========================================================================
   Floating WhatsApp button
   ========================================================================== */
.mm-wa-float {
	position: fixed;
	right: 20px;
	bottom: 22px;
	z-index: 9998;
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #25d366;
	border-radius: 50%;
	box-shadow: 0 10px 24px rgba(37, 211, 102, 0.45);
	transition: transform 0.18s var(--ndk-ease), box-shadow 0.18s var(--ndk-ease);
	animation: mm-wa-pulse 2.4s ease-in-out infinite;
}

.mm-wa-float:hover {
	transform: scale(1.08);
	box-shadow: 0 14px 30px rgba(37, 211, 102, 0.55);
}

@keyframes mm-wa-pulse {
	0%, 100% { box-shadow: 0 10px 24px rgba(37, 211, 102, 0.45), 0 0 0 0 rgba(37, 211, 102, 0.45); }
	50% { box-shadow: 0 10px 24px rgba(37, 211, 102, 0.45), 0 0 0 14px rgba(37, 211, 102, 0); }
}

@media ( max-width: 767px ) {
	.mm-wa-float { right: 14px; bottom: 84px; width: 52px; height: 52px; }
}

@media ( prefers-reduced-motion: reduce ) {
	.mm-wa-float { animation: none; }
}


/* ==========================================================================
   Feature / trust badges strip (above footer)
   ========================================================================== */
.mm-features {
	width: 100%;
	background: #ffffff;
	border-top: 1px solid var(--ndk-line);
	padding: 30px 16px;
}

.mm-features__inner {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.mm-feature {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--ndk-green-soft);
	border: 1px solid #d7ecdd;
	border-radius: 16px;
	padding: 18px 20px;
	transition: transform 0.25s var(--ndk-ease), box-shadow 0.25s var(--ndk-ease);
}

.mm-feature:hover {
	transform: translateY(-4px);
	box-shadow: var(--ndk-shadow);
}

.mm-feature__icon {
	flex: 0 0 auto;
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff;
	color: var(--ndk-green-dark);
	box-shadow: 0 6px 14px rgba(20, 150, 58, 0.15);
}

.mm-feature__icon svg {
	width: 28px;
	height: 28px;
}

.mm-feature__text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.mm-feature__text strong {
	font-size: 16px;
	font-weight: 700;
	color: var(--ndk-ink);
	line-height: 1.25;
}

.mm-feature__text span {
	font-size: 13.5px;
	color: #5b6b5f;
	line-height: 1.3;
}

@media ( max-width: 860px ) {
	.mm-features__inner { grid-template-columns: 1fr; gap: 12px; }
	.mm-features { padding: 22px 14px; }
}

@media ( prefers-reduced-motion: reduce ) {
	.mm-feature:hover { transform: none; }
}
