/**
 * WMAC global product card.
 *
 * Single source of truth for Grid and WoodMart Carousel product cards.
 * The DOM is rendered by woocommerce/content-product.php; JavaScript is not
 * used to position or reorder card elements.
 */

.wmac-product-card-item {
	--wmac-card-radius: 18px;
	--wmac-card-border-width: 1px;
	--wmac-card-border-color: rgba(0, 0, 0, 0.08);
	--wmac-card-bg: #ffffff;
	--wmac-card-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	--wmac-card-shadow-hover: 0 10px 28px rgba(22, 33, 62, 0.11);
	--wmac-card-transition: 180ms ease;

	--wmac-card-padding: 18px 20px 20px;
	--wmac-card-content-gap: 8px;
	--wmac-card-text-align: right;

	--wmac-media-ratio: 1 / 1;
	--wmac-media-bg: #f5f6f8;
	--wmac-image-fit: cover;
	--wmac-image-position: center;
	--wmac-media-overlay-inset: 14px;
	--wmac-media-overlay-gap: 8px;
	--wmac-overlay-z-index: 10;

	--wmac-wishlist-size: 40px;
	--wmac-wishlist-bg: #ffffff;
	--wmac-wishlist-color: #96a0ae;
	--wmac-wishlist-color-active: #c71f3a;
	--wmac-wishlist-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);

	--wmac-badge-discount-size: 40px;
	--wmac-badge-discount-bg: #c71f3a;
	--wmac-badge-discount-color: #ffffff;
	--wmac-badge-bestseller-bg: #18345d;
	--wmac-badge-bestseller-color: #ffffff;
	--wmac-badge-font-size: 12px;
	--wmac-badge-font-weight: 700;
	--wmac-bestseller-padding: 7px 12px;

	--wmac-rating-color: #ffb800;
	--wmac-rating-empty-color: #e2e2e2;
	--wmac-rating-count-color: #7f8795;
	--wmac-rating-font-size: 14px;
	--wmac-rating-letter-spacing: 2px;
	--wmac-rating-gap: 7px;

	--wmac-title-color: #16213e;
	--wmac-title-font-size: 16px;
	--wmac-title-font-weight: 700;
	--wmac-title-line-height: 1.45;

	--wmac-excerpt-color: #8a91a0;
	--wmac-excerpt-font-size: 13px;
	--wmac-excerpt-line-height: 1.65;
	--wmac-excerpt-lines: 2;

	--wmac-price-color: #16213e;
	--wmac-price-font-size: 20px;
	--wmac-price-font-weight: 800;
	--wmac-price-old-color: #9aa0a6;
	--wmac-price-old-font-size: 15px;
	--wmac-price-gap: 9px;

	--wmac-saving-color: #1a9c4d;
	--wmac-saving-font-size: 14px;
	--wmac-saving-font-weight: 700;

	--wmac-cta-bg: #16213e;
	--wmac-cta-bg-hover: #16213e;
	--wmac-cta-color: #ffffff;
	--wmac-cta-color-hover: #ffffff;
	--wmac-cta-font-size: 14px;
	--wmac-cta-font-weight: 700;
	--wmac-cta-height: 46px;
	--wmac-cta-radius: 999px;
	--wmac-extra-action-gap: 8px;
	--wmac-details-bg: #ffffff;
	--wmac-details-color: #16213e;
	--wmac-whatsapp-bg: #25d366;
	--wmac-whatsapp-color: #ffffff;
	--wmac-buy-now-bg: #c71f3a;
	--wmac-buy-now-color: #ffffff;

	--wmac-columns-desktop: 4;
	--wmac-columns-tablet: 2;
	--wmac-columns-mobile: 1;
	--wmac-grid-gap: 24px;
}

/*
 * WoodMart product loop ownership.
 *
 * IMPORTANT: WMAC only replaces the product-card markup. It must NOT own the
 * archive/widget grid columns. WoodMart's native `products_columns` responsive
 * control writes the desktop/tablet/mobile loop props and corresponding grid
 * classes/variables. Keeping column ownership in WoodMart means the native
 * "Products columns" control remains the single source of truth.
 *
 * We only normalize the WMAC item itself so it can stretch inside whichever
 * WoodMart column count is active. Gap controls added by WMAC remain separate
 * and continue to target WoodMart's grid container.
 */
/* WMAC must never override WoodMart flex-column sizing.  Only normalize items
 * when WoodMart is using its CSS Grid layout; wd-grid-f-col keeps ownership of
 * width/flex/max-width for masonry/different-size grids. */
.products.wd-grid-g:has(> .wmac-product-card-item):not(.wd-carousel):not(.wd-carousel-wrap) > .wmac-product-card-item {
	width: auto;
	max-width: none;
	min-width: 0;
	margin: 0;
}

/*
 * WoodMart Carousel support.
 * Do not override the inline slide width; only stretch the card vertically and
 * horizontally inside the size WoodMart assigns to each .wd-carousel-item.
 */
.wd-carousel-wrap:has(.wmac-product-card-item) {
	align-items: stretch;
}

.wd-carousel-wrap:has(.wmac-product-card-item) > .wd-carousel-item {
	display: flex;
	height: auto;
	min-width: 0;
}

.wd-carousel-wrap:has(.wmac-product-card-item) > .wd-carousel-item > .wd-product,
.wd-carousel-item .wmac-product-card-item {
	display: flex;
	width: 100%;
	height: 100%;
	min-width: 0;
}

.wd-carousel-item .wmac-card,
.wd-carousel-wrap .wmac-card {
	width: 100%;
	height: 100%;
}

.wmac-product-card-item,
.wmac-product-card-item > .wmac-card {
	height: 100%;
	min-width: 0;
}

/* Stronger specificity than WoodMart product-card rules. */
.wd-product .wmac-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-width: 0;
	overflow: hidden;

	background: var(--wmac-card-bg, #ffffff);
	border: var(--wmac-card-border-width, 1px) solid var(--wmac-card-border-color, rgba(0, 0, 0, 0.08));
	border-radius: var(--wmac-card-radius, 18px);
	box-shadow: var(--wmac-card-shadow, 0 2px 10px rgba(0, 0, 0, 0.04));

	transition:
		box-shadow var(--wmac-card-transition, 180ms ease),
		transform var(--wmac-card-transition, 180ms ease);
}

.wd-product .wmac-card:hover {
	box-shadow: var(--wmac-card-shadow-hover, 0 10px 28px rgba(22, 33, 62, 0.11));
	transform: translateY(-2px);
}

.wd-product .wmac-card__media {
	position: relative;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: auto;
	overflow: hidden;

	background: var(--wmac-media-bg, #f5f6f8);
	border-radius:
		var(--wmac-card-radius, 18px)
		var(--wmac-card-radius, 18px)
		0
		0;
}

.wd-product .wmac-card__image-link {
	display: block;
	flex: 0 0 auto;
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: var(--wmac-media-ratio, 1 / 1);
	overflow: hidden;
}

.wd-product .wmac-card__image-link img,
.wd-product .wmac-card__image-link picture,
.wd-product .wmac-card__image-link picture img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;

	object-fit: var(--wmac-image-fit, cover);
	object-position: var(--wmac-image-position, center);
}

/*
 * Full-media positioning canvas for all image badges.
 * Each badge is positioned independently against the entire image area.
 */
.wd-product .wmac-card__media-overlay {
	position: absolute;
	z-index: var(--wmac-overlay-z-index, 10);
	inset: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	overflow: hidden;
	pointer-events: none;
}

.wd-product .wmac-card__wishlist,
.wd-product .wmac-card__discount,
.wd-product .wmac-card__bestseller {
	position: absolute;
	z-index: 2;
	box-sizing: border-box;
	max-width: calc(100% - 28px);
	white-space: nowrap;
	pointer-events: auto;
}

.wd-product .wmac-card__wishlist {
	top: var(--wmac-media-overlay-inset, 14px);
	left: var(--wmac-media-overlay-inset, 14px);
}

.wd-product .wmac-card__discount {
	top: var(--wmac-media-overlay-inset, 14px);
	left: calc(var(--wmac-media-overlay-inset, 14px) + var(--wmac-wishlist-size, 40px) + var(--wmac-media-overlay-gap, 8px));
}

.wd-product .wmac-card__bestseller {
	top: var(--wmac-media-overlay-inset, 14px);
	right: var(--wmac-media-overlay-inset, 14px);
}

.wd-product .wmac-card__wishlist .wd-wishlist-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--wmac-wishlist-size, 40px);

	width: var(--wmac-wishlist-size, 40px);
	height: var(--wmac-wishlist-size, 40px);
	margin: 0;
	padding: 0;

	background: var(--wmac-wishlist-bg, #ffffff);
	border-radius: 50%;
	box-shadow: var(--wmac-wishlist-shadow, 0 2px 8px rgba(0, 0, 0, 0.12));
}

.wd-product .wmac-card__wishlist .wd-wishlist-btn > a {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;
	min-width: 0;
	padding: 0;

	color: var(--wmac-wishlist-color, #96a0ae);
	background: transparent;
	border: 0;
	border-radius: 50%;
	box-shadow: none;
}

.wd-product .wmac-card__wishlist .wd-wishlist-btn > a::before,
.wd-product .wmac-card__wishlist .wd-wishlist-btn > a::after {
	color: currentColor;
}

.wd-product .wmac-card__wishlist .wd-wishlist-btn > a.added {
	color: var(--wmac-wishlist-color-active, #c71f3a);
}

.wd-product .wmac-card__wishlist .wd-wishlist-btn > a > span {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.wd-product .wmac-card__discount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	flex: 0 0 auto;

	width: auto;
	min-width: var(--wmac-badge-discount-size, 40px);
	max-width: min(100%, 220px);
	height: auto;
	min-height: var(--wmac-badge-discount-size, 40px);
	padding: 0 10px;
	box-sizing: border-box;
	overflow: hidden;

	color: var(--wmac-badge-discount-color, #ffffff);
	background: var(--wmac-badge-discount-bg, #c71f3a);
	border-radius: 50%;

	font-size: var(--wmac-badge-font-size, 12px);
	font-weight: var(--wmac-badge-font-weight, 700);
	line-height: 1;
	text-align: center;
	direction: rtl;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.wd-product .wmac-card__discount-text,
.wd-product .wmac-card__discount-value {
	display: inline-block;
	color: inherit;
	font: inherit;
	line-height: inherit;
	white-space: nowrap;
	flex: 0 0 auto;
}

.wd-product .wmac-card__discount-value {
	direction: ltr;
}

.wd-product .wmac-card__bestseller {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: min(calc(100% - 28px), 220px);
	padding: var(--wmac-bestseller-padding, 7px 12px);

	color: var(--wmac-badge-bestseller-color, #ffffff);
	background: var(--wmac-badge-bestseller-bg, #18345d);
	border-radius: 999px;

	font-size: var(--wmac-badge-font-size, 12px);
	font-weight: var(--wmac-badge-font-weight, 700);
	line-height: 1.2;
	text-align: center;
	direction: rtl;
	overflow: hidden;
	text-overflow: ellipsis;
}

/*
 * Keep every badge rendered over the product image inside the media frame.
 * The media container is the clipping boundary; flex items are allowed to
 * shrink instead of pushing outside narrow five-column/carousel cards.
 */
.wd-product .wmac-card__media > *,
.wd-product .wmac-card__media-overlay > * {
	box-sizing: border-box;
}

.wd-product .wmac-card__media-overlay .wmac-card__bestseller,
.wd-product .wmac-card__media-overlay .wmac-card__discount {
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Diagonal corner ribbon. */
.wd-product .wmac-card__corner-ribbon {
	--wmac-corner-ribbon-side: -42px;
	--wmac-corner-ribbon-angle: 45deg;

	position: absolute;
	z-index: 20;
	top: 18px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 150px;
	min-height: 38px;
	padding: 7px 18px;
	box-sizing: border-box;
	overflow: hidden;

	color: #ffffff;
	background: #ff4545;
	border-radius: 0;

	font-size: 13px;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	direction: rtl;
	white-space: nowrap;
	text-overflow: ellipsis;
	transform-origin: center;
	pointer-events: none;
}

.wd-product .wmac-card__corner-ribbon--top_right {
	right: var(--wmac-corner-ribbon-side, -42px);
	left: auto;
	transform: rotate(var(--wmac-corner-ribbon-angle, 45deg));
}

.wd-product .wmac-card__corner-ribbon--top_left {
	right: auto;
	left: var(--wmac-corner-ribbon-side, -42px);
	transform: rotate(calc(-1 * var(--wmac-corner-ribbon-angle, 45deg)));
}

.wd-product .wmac-card__secondary-badge-wrap {
	display: flex;
	width: 100%;
	padding-inline: 12px;
	box-sizing: border-box;
	pointer-events: none;
}

.wd-product .wmac-card__secondary-badge-wrap--below_start {
	justify-content: flex-start;
	margin-top: 10px;
}

.wd-product .wmac-card__secondary-badge-wrap--below_center {
	justify-content: center;
	margin-top: 10px;
}

.wd-product .wmac-card__secondary-badge-wrap--below_end {
	justify-content: flex-end;
	margin-top: 10px;
}

.wd-product .wmac-card__secondary-badge-wrap--overlay_bottom_start,
.wd-product .wmac-card__secondary-badge-wrap--overlay_bottom_center,
.wd-product .wmac-card__secondary-badge-wrap--overlay_bottom_end {
	position: absolute;
	z-index: 12;
	inset-inline: 0;
	bottom: 12px;
}

.wd-product .wmac-card__secondary-badge-wrap--overlay_bottom_start {
	justify-content: flex-start;
}

.wd-product .wmac-card__secondary-badge-wrap--overlay_bottom_center {
	justify-content: center;
}

.wd-product .wmac-card__secondary-badge-wrap--overlay_bottom_end {
	justify-content: flex-end;
}

.wd-product .wmac-card__secondary-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: auto;
	max-width: 100%;
	min-height: 30px;
	padding: 6px 14px;
	box-sizing: border-box;

	color: #ffffff;
	background: #ef7d00;
	border-radius: 999px;

	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	direction: rtl;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: auto;
}

/* Optional animated premium shine for the secondary badge. */
.wd-product .wmac-card__secondary-badge--shine {
	position: relative;
	isolation: isolate;
}

.wd-product .wmac-card__secondary-badge--shine::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: -70%;
	bottom: -70%;
	left: calc(-1 * var(--wmac-secondary-badge-shine-width, 35%));
	width: var(--wmac-secondary-badge-shine-width, 35%);
	pointer-events: none;
	opacity: var(--wmac-secondary-badge-shine-opacity, .55);
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--wmac-secondary-badge-shine-color, rgba(255,255,255,.95)) 50%,
		transparent 100%
	);
	transform: skewX(var(--wmac-secondary-badge-shine-angle, 20deg));
	animation: wmac-secondary-badge-premium-shine var(--wmac-secondary-badge-shine-duration, 2.8s) ease-in-out infinite;
}

.wd-product .wmac-card__secondary-badge--shine > * {
	position: relative;
	z-index: 2;
}

@keyframes wmac-secondary-badge-premium-shine {
	0%, 18% {
		left: calc(-1.5 * var(--wmac-secondary-badge-shine-width, 35%));
	}
	72%, 100% {
		left: calc(100% + var(--wmac-secondary-badge-shine-width, 35%));
	}
}

@media (prefers-reduced-motion: reduce) {
	.wd-product .wmac-card__secondary-badge--shine::before {
		animation: none;
		display: none;
	}
}

.wd-product .wmac-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--wmac-card-content-gap, 8px);

	width: 100%;
	min-width: 0;
	padding: var(--wmac-card-padding, 18px 20px 20px);

	background: var(--wmac-card-bg, #ffffff);
	text-align: var(--wmac-card-text-align, right);
}

.wd-product .wmac-card__rating {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--wmac-rating-gap, 7px);

	width: 100%;
	min-width: 0;
	margin: 0;
	direction: rtl;
}

.wd-product .wmac-card__stars {
	position: relative;
	display: inline-block;
	flex: 0 0 auto;

	font-family: Arial, Helvetica, sans-serif;
	font-size: var(--wmac-rating-font-size, 14px);
	line-height: 1;
	letter-spacing: var(--wmac-rating-letter-spacing, 2px);
	direction: ltr;
}

.wd-product .wmac-card__stars::before,
.wd-product .wmac-card__stars::after {
	content: "★★★★★";
	display: block;
	letter-spacing: var(--wmac-rating-letter-spacing, 2px);
	white-space: nowrap;
}

.wd-product .wmac-card__stars::before {
	color: var(--wmac-rating-empty-color, #e2e2e2);
}

.wd-product .wmac-card__stars::after {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;

	width: 100%;
	overflow: visible;

	color: var(--wmac-rating-color, #ffb800);
	clip-path: inset(
		0
		0
		0
		calc(100% - var(--wmac-rating-percent, 0%))
	);
}

.wd-product .wmac-card__review-count {
	flex: 0 0 auto;
	color: var(--wmac-rating-count-color, #7f8795);
	font-size: var(--wmac-rating-font-size, 14px);
	line-height: 1;
	white-space: nowrap;
}

.wd-product .wmac-card__title {
	width: 100%;
	min-width: 0;
	margin: 0;
	overflow: hidden;

	color: var(--wmac-title-color, #16213e);
	font-size: var(--wmac-title-font-size, 16px);
	font-weight: var(--wmac-title-font-weight, 700);
	line-height: var(--wmac-title-line-height, 1.45);
}

.wd-product .wmac-card__title > a {
	display: -webkit-box;
	min-width: 0;
	overflow: hidden;

	color: inherit;
	font: inherit;
	white-space: normal;
	word-break: break-word;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	line-clamp: 1;
}

.wd-product .wmac-card__excerpt {
	display: -webkit-box;
	width: 100%;
	min-width: 0;
	margin: 0;
	overflow: hidden;

	color: var(--wmac-excerpt-color, #8a91a0);
	font-size: var(--wmac-excerpt-font-size, 13px);
	line-height: var(--wmac-excerpt-line-height, 1.65);

	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--wmac-excerpt-lines, 2);
}

.wd-product .wmac-card__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--wmac-price-gap, 9px);

	width: 100%;
	min-width: 0;
	margin: 0;

	color: var(--wmac-price-color, #16213e);
	font-size: var(--wmac-price-font-size, 20px);
	font-weight: var(--wmac-price-font-weight, 800);
	line-height: 1.35;
}

.wd-product .wmac-card__price > .price,
.wd-product .wmac-card__price .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--wmac-price-gap, 9px);
	margin: 0;

	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.wd-product .wmac-card__price ins {
	order: 1;
	color: var(--wmac-price-color, #16213e);
	font-size: var(--wmac-price-font-size, 20px);
	font-weight: var(--wmac-price-font-weight, 800);
	text-decoration: none;
}

.wd-product .wmac-card__price del {
	order: 2;
	color: var(--wmac-price-old-color, #9aa0a6);
	font-size: var(--wmac-price-old-font-size, 15px);
	font-weight: 400;
	opacity: 1;
}

.wd-product .wmac-card__price .amount,
.wd-product .wmac-card__price .woocommerce-Price-currencySymbol {
	color: inherit;
}

.wd-product .wmac-card__saving {
	width: 100%;
	margin: 0;

	color: var(--wmac-saving-color, #1a9c4d);
	font-size: var(--wmac-saving-font-size, 14px);
	font-weight: var(--wmac-saving-font-weight, 700);
	line-height: 1.45;
}

.wd-product .wmac-card__saving .amount,
.wd-product .wmac-card__saving .woocommerce-Price-currencySymbol {
	color: inherit;
}

.wd-product .wmac-card__cta {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: auto;
	padding-top: 6px;
}

.wd-product .wmac-card__cta .button,
.wd-product .wmac-card__cta .add_to_cart_button,
.wd-product .wmac-card__cta .add-to-cart-loop {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: var(--wmac-cta-height, 46px);
	margin: 0;
	padding: 10px 18px;

	color: var(--wmac-cta-color, #ffffff);
	background: var(--wmac-cta-bg, #16213e);
	border: 0;
	border-radius: var(--wmac-cta-radius, 999px);

	font-size: var(--wmac-cta-font-size, 14px);
	font-weight: var(--wmac-cta-font-weight, 700);
	line-height: 1.2;
	text-align: center;

	box-shadow: none;
}

.wd-product .wmac-card__cta .button:hover,
.wd-product .wmac-card__cta .button:focus,
.wd-product .wmac-card__cta .add_to_cart_button:hover,
.wd-product .wmac-card__cta .add_to_cart_button:focus,
.wd-product .wmac-card__cta .add-to-cart-loop:hover,
.wd-product .wmac-card__cta .add-to-cart-loop:focus {
	color: var(--wmac-cta-color-hover, #ffffff);
	background: var(--wmac-cta-bg-hover, #16213e);
}

/* Prevent legacy WoodMart hover layers from affecting the fixed card DOM. */
.wmac-product-card-item .content-product-imagin,
.wmac-product-card-item .fade-in-block,
.wmac-product-card-item .wd-buttons,
.wmac-product-card-item .product-element-top,
.wmac-product-card-item .product-element-bottom {
	display: none;
}

@media (max-width: 640px) {
	.wmac-product-card-item {
		--wmac-card-padding: 15px 14px 16px;
		--wmac-card-content-gap: 7px;
		--wmac-media-overlay-inset: 10px;
		--wmac-media-overlay-gap: 6px;
		--wmac-wishlist-size: 36px;
		--wmac-badge-discount-size: 36px;
		--wmac-bestseller-padding: 6px 9px;
		--wmac-badge-font-size: 11px;
		--wmac-title-font-size: 15px;
		--wmac-price-font-size: 18px;
		--wmac-price-old-font-size: 13px;
		--wmac-cta-height: 44px;
	}


	.wd-product .wmac-card__bestseller {
		max-width: calc(100% - 86px);
	}
}


/* Elementor-controlled saving internals and optional CTA icon. */
.wmac-card__saving {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

.wmac-card__cta a {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.wmac-card__cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.wmac-card__cta-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}


/* Optional action buttons rendered below the native Add to Cart button. */
.wd-product .wmac-card__extra-actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--wmac-extra-action-gap, 8px);
	width: 100%;
}

.wd-product .wmac-card__action {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: var(--wmac-cta-radius, 999px);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.wd-product .wmac-card__action--details {
	color: var(--wmac-details-color, #16213e);
	background: var(--wmac-details-bg, #ffffff);
	border-color: currentColor;
}

.wd-product .wmac-card__action--whatsapp {
	color: var(--wmac-whatsapp-color, #ffffff);
	background: var(--wmac-whatsapp-bg, #25d366);
}

.wd-product .wmac-card__action--buy-now {
	color: var(--wmac-buy-now-color, #ffffff);
	background: var(--wmac-buy-now-bg, #c71f3a);
}

.wd-product .wmac-card__action:hover,
.wd-product .wmac-card__action:focus {
	color: inherit;
	filter: brightness(0.94);
	text-decoration: none;
}

/* Elementor icons inside optional action buttons. */
.wd-product .wmac-card__action-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 1;
	color: currentColor;
}

.wd-product .wmac-card__action-icon i,
.wd-product .wmac-card__action-icon svg {
	display: block;
	width: 1em;
	height: 1em;
	color: currentColor;
	fill: currentColor;
}

.wd-product .wmac-card__action:hover,
.wd-product .wmac-card__action:focus {
	filter: none;
}

/* Premium animated shine for the diagonal ribbon. */
.wd-product .wmac-card__corner-ribbon--shine::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: -70%;
	bottom: -70%;
	left: calc(-1 * var(--wmac-ribbon-shine-width, 35%));
	width: var(--wmac-ribbon-shine-width, 35%);
	pointer-events: none;
	opacity: var(--wmac-ribbon-shine-opacity, .55);
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--wmac-ribbon-shine-color, rgba(255,255,255,.95)) 50%,
		transparent 100%
	);
	transform: skewX(var(--wmac-ribbon-shine-angle, 20deg));
	animation: wmac-ribbon-premium-shine var(--wmac-ribbon-shine-duration, 2.8s) ease-in-out infinite;
}

.wd-product .wmac-card__corner-ribbon--shine {
	isolation: isolate;
}

.wd-product .wmac-card__corner-ribbon--shine > * {
	position: relative;
	z-index: 2;
}

@keyframes wmac-ribbon-premium-shine {
	0%, 18% {
		left: calc(-1.5 * var(--wmac-ribbon-shine-width, 35%));
	}
	72%, 100% {
		left: calc(100% + var(--wmac-ribbon-shine-width, 35%));
	}
}

@media (prefers-reduced-motion: reduce) {
	.wd-product .wmac-card__corner-ribbon--shine::before {
		animation: none;
		display: none;
	}
}

/* Standalone Elementor WMAC Products widget. */
.wmac-products-widget {
	width: 100%;
}

.wmac-products-widget__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wmac-products-widget__grid > .wmac-product-card-item {
	width: 100%;
	min-width: 0;
	margin: 0;
}

.wmac-products-widget__empty {
	padding: 20px;
	text-align: center;
}

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

@media (max-width: 640px) {
	.wmac-products-widget__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Purchase row, optional quantity selector, and successful add-to-cart state. */
.wd-product .wmac-card__purchase-row {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	min-width: 0;
	margin-top: auto;
	padding-top: 6px;
}

.wd-product .wmac-card__purchase-row--quantity-after {
	flex-direction: row;
}

.wd-product .wmac-card__purchase-row--quantity-before {
	flex-direction: row;
}

.wd-product .wmac-card__purchase-row .wmac-card__cta {
	flex: 1 1 auto;
	min-width: 0;
	margin-top: 0;
	padding-top: 0;
}

.wd-product .wmac-card__quantity {
	display: grid;
	grid-template-columns: minmax(30px, 1fr) minmax(34px, 1.2fr) minmax(30px, 1fr);
	align-items: stretch;
	flex: 0 0 auto;
	width: 112px;
	min-height: 46px;
	overflow: hidden;
	color: #16213e;
	background: #ffffff;
	border: 1px solid rgba(22, 33, 62, 0.16);
	border-radius: 999px;
}

.wd-product .wmac-card__quantity-button,
.wd-product .wmac-card__quantity-input {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font: inherit;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.wd-product .wmac-card__quantity-button {
	cursor: pointer;
	transition: background-color 160ms ease;
}

.wd-product .wmac-card__quantity-button:hover,
.wd-product .wmac-card__quantity-button:focus {
	color: inherit;
	background: rgba(22, 33, 62, 0.07);
}

.wd-product .wmac-card__quantity-input {
	-moz-appearance: textfield;
}

.wd-product .wmac-card__quantity-input::-webkit-outer-spin-button,
.wd-product .wmac-card__quantity-input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.wd-product .wmac-card__cta a.wmac-is-added {
	color: var(--wmac-cta-color, #ffffff);
	background: var(--wmac-saving-color, #1a9c4d);
}

@media (max-width: 640px) {
	.wd-product .wmac-card__purchase-row {
		gap: 6px;
	}

	.wd-product .wmac-card__quantity {
		width: 100px;
		min-height: 44px;
	}
}

/* v5.1 — loading state, flexible quantity placement, and practical compare bar. */
.wd-product .wmac-card__purchase-block {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	min-width: 0;
	margin-top: auto;
	padding-top: 6px;
}

.wd-product .wmac-card__purchase-block .wmac-card__purchase-row {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.wd-product .wmac-card__purchase-block--quantity-inline_after .wmac-card__purchase-row {
	flex-direction: row;
}

.wd-product .wmac-card__purchase-block--quantity-inline_before .wmac-card__purchase-row {
	flex-direction: row;
}

.wd-product .wmac-card__purchase-block--quantity-above > .wmac-card__quantity,
.wd-product .wmac-card__purchase-block--quantity-below > .wmac-card__quantity {
	width: 100%;
	flex: 0 0 auto;
}

.wd-product .wmac-card__purchase-block .wmac-card__cta {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.wd-product .wmac-card__quantity {
	grid-template-columns:
		var(--wmac-quantity-button-width, minmax(30px, 1fr))
		minmax(34px, 1.2fr)
		var(--wmac-quantity-button-width, minmax(30px, 1fr));
}

.wd-product .wmac-card__quantity-input {
	border-right: 1px solid rgba(22, 33, 62, 0.12);
	border-left: 1px solid rgba(22, 33, 62, 0.12);
}

.wd-product .wmac-card__cta a.wmac-is-loading {
	--wmac-loading-spinner-color: currentColor;
	position: relative;
	pointer-events: none;
	cursor: wait;
	opacity: 0.9;
}

.wd-product .wmac-card__cta a.wmac-is-loading::before {
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	border: 2px solid color-mix(in srgb, var(--wmac-loading-spinner-color) 35%, transparent);
	border-top-color: var(--wmac-loading-spinner-color);
	border-radius: 50%;
	animation: wmac-button-spin 0.75s linear infinite;
}

.wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__cta-icon {
	display: none;
}

@keyframes wmac-button-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.wd-product .wmac-card__cta a.wmac-is-loading::before {
		animation-duration: 1.8s;
	}
}

.wd-product .wmac-card__compare-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin-top: 8px;
	padding: 10px 16px;
	color: #16213e;
	background: #ffffff;
	border: 1px solid rgba(22, 33, 62, 0.2);
	border-radius: 999px;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.wd-product .wmac-card__compare-button:hover,
.wd-product .wmac-card__compare-button:focus {
	color: #ffffff;
	background: #16213e;
	border-color: #16213e;
}

.wd-product .wmac-card__compare-button.wmac-is-selected {
	color: #ffffff;
	background: #1a9c4d;
	border-color: #1a9c4d;
}

.wmac-compare-bar {
	position: fixed;
	z-index: 9998;
	right: max(16px, env(safe-area-inset-right));
	bottom: 18px;
	left: max(16px, env(safe-area-inset-left));
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"header header"
		"items actions";
	gap: 10px 16px;
	max-width: 1100px;
	margin-inline: auto;
	padding: 14px;
	color: #ffffff;
	background: #16213e;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 18px;
	box-shadow: 0 16px 45px rgba(0, 0, 0, 0.24);
	opacity: 0;
	visibility: hidden;
	transform: translateY(calc(100% + 32px));
	transition: opacity 220ms ease, visibility 220ms ease, transform 220ms ease;
}

.wmac-compare-bar.wmac-is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.wmac-compare-bar.wmac-limit-reached {
	animation: wmac-compare-shake 0.35s ease 2;
}

@keyframes wmac-compare-shake {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(8px); }
}

.wmac-compare-bar__header {
	grid-area: header;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.wmac-compare-bar__title {
	font-size: 15px;
	line-height: 1.3;
}

.wmac-compare-bar__clear,
.wmac-compare-bar__remove {
	margin: 0;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 0;
	box-shadow: none;
	cursor: pointer;
}

.wmac-compare-bar__clear {
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wmac-compare-bar__items {
	grid-area: items;
	display: flex;
	align-items: stretch;
	gap: 8px;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: thin;
}

.wmac-compare-bar__item {
	position: relative;
	display: grid;
	grid-template-columns: 42px minmax(90px, 1fr) 22px;
	align-items: center;
	gap: 8px;
	min-width: 180px;
	padding: 6px 8px;
	color: inherit;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 12px;
}

.wmac-compare-bar__image {
	width: 42px;
	height: 42px;
	object-fit: cover;
	border-radius: 8px;
}

.wmac-compare-bar__product-title {
	display: -webkit-box;
	overflow: hidden;
	color: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.wmac-compare-bar__remove {
	width: 22px;
	height: 22px;
	font-size: 20px;
	line-height: 1;
}

.wmac-compare-bar__actions {
	grid-area: actions;
	display: flex;
	align-items: center;
	gap: 10px;
}

.wmac-compare-bar__notice {
	font-size: 12px;
	white-space: nowrap;
}

.wmac-compare-bar__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 18px;
	color: #16213e;
	background: #ffffff;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 800;
	white-space: nowrap;
}

.wmac-compare-bar__submit.wmac-is-disabled {
	pointer-events: none;
	opacity: 0.5;
}

@media (max-width: 767px) {
	.wmac-compare-bar {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"header"
			"items"
			"actions";
		gap: 8px;
		padding: 10px;
	}

	.wmac-compare-bar__actions {
		justify-content: space-between;
	}

	.wmac-compare-bar__notice {
		white-space: normal;
	}

	.wmac-compare-bar__item {
		min-width: 155px;
	}
}


/* v5.2 — premium image action toolbar, reliable loading spinner and refined quantity UI. */
.wd-product .wmac-card__product-actions {
	position: absolute;
	z-index: 24;
	top: 16px;
	inset-inline-start: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	max-height: calc(100% - 32px);
	pointer-events: auto;
	transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.wd-product .wmac-card__product-actions--right { inset-inline-start: auto; inset-inline-end: 16px; }
.wd-product .wmac-card__product-actions--grouped {
	padding: 4px;
	background: rgba(255,255,255,.92);
	border: 1px solid rgba(22,33,62,.08);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(22,33,62,.14);
	backdrop-filter: blur(8px);
}
.wd-product .wmac-card__product-actions--separate { gap: 8px; }
.wd-product .wmac-card__product-actions--hover { opacity: 0; visibility: hidden; transform: translateX(-10px); }
.wd-product .wmac-card:hover .wmac-card__product-actions--hover,
.wd-product .wmac-card:focus-within .wmac-card__product-actions--hover { opacity: 1; visibility: visible; transform: translateX(0); }
.wd-product .wmac-card__action-item,
.wd-product .wmac-card__action-button {
	position: relative;
	inset: auto !important;
	max-width: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	color: #25324a;
	background: transparent;
	border: 0;
	border-radius: 12px;
	box-shadow: none;
	font: inherit;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: color .18s ease, background-color .18s ease, transform .18s ease;
}
.wd-product .wmac-card__action-item > a {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	height: 44px !important;
	min-width: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 12px !important;
	font-size: 0 !important;
}
.wd-product .wmac-card__action-button:hover,
.wd-product .wmac-card__action-item > a:hover { color: #fff; background: #16213e; transform: translateY(-1px); }
.wd-product .wmac-card__product-actions--grouped > * + * { border-top: 1px solid rgba(22,33,62,.08); }
.wd-product .wmac-card__product-actions--grouped > * + * > a { border-radius: 8px !important; }
.wd-product .wmac-card__native-action-icon::before,
.wd-product .wmac-card__action-item > a:not(.wmac-has-custom-icon)::before {
	display: block !important;
	font-family: woodmart-font !important;
	font-size: 20px !important;
	line-height: 1 !important;
	color: currentColor !important;
}
.wd-product .wmac-card__native-action-icon--compare::before { content: "\f128"; }
.wd-product .wmac-card__quick-view > a:not(.wmac-has-custom-icon)::before { content: "\f130"; }
.wd-product .wmac-card__wishlist > a:not(.wmac-has-custom-icon)::before { content: "\f106"; }
.wd-product .wmac-card__action-item > a.wmac-has-custom-icon::before,
.wd-product .wmac-card__action-item > a.wmac-has-custom-icon::after { display: none !important; }
.wd-product .wmac-card__action-custom-icon { display: inline-flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1; color: currentColor; }
.wd-product .wmac-card__action-custom-icon svg { width: 1em; height: 1em; fill: currentColor; }
.wd-product .wmac-card__action-tooltip {
	position: absolute;
	z-index: 3;
	top: 50%;
	inset-inline-start: calc(100% + 9px);
	padding: 6px 9px;
	color: #fff;
	background: #111827;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-50%) translateX(-4px);
	transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
	pointer-events: none;
}
.wd-product .wmac-card__product-actions--right .wmac-card__action-tooltip { inset-inline-start: auto; inset-inline-end: calc(100% + 9px); }
.wd-product .wmac-card__action-button:hover .wmac-card__action-tooltip,
.wd-product .wmac-card__action-item > a:hover .wmac-card__action-tooltip { opacity: 1; visibility: visible; transform: translateY(-50%) translateX(0); }
.wd-product .wmac-card__compare-button.wmac-is-selected { color: #fff; background: #1a9c4d; }
.wmac-card__sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }

/* Explicit spinner element avoids pseudo-element conflicts with WoodMart. */
.wd-product .wmac-card__loading-spinner { display: none; flex: 0 0 auto; width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.35); border-top-color: currentColor; border-radius: 50%; animation: wmac-button-spin .7s linear infinite; }
.wd-product .wmac-card__cta a.wmac-is-loading::before,
.wd-product .wmac-card__cta a.wmac-is-loading::after { display: none !important; }
.wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__loading-spinner { display: inline-block; }
.wd-product .wmac-card__cta a.wmac-is-loading { pointer-events: none; cursor: wait; opacity: .92; }

/* Premium segmented quantity selector. */
.wd-product .wmac-card__quantity {
	display: grid;
	grid-template-columns: minmax(38px, auto) minmax(42px, 1fr) minmax(38px, auto);
	align-items: stretch;
	min-width: 126px;
	height: 50px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(22,33,62,.14);
	border-radius: 999px;
	box-shadow: 0 5px 16px rgba(22,33,62,.08);
}
.wd-product .wmac-card__quantity-button,
.wd-product .wmac-card__quantity-input {
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0 8px;
	color: #16213e;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	text-align: center;
}
.wd-product .wmac-card__quantity-input { font-size: 18px; border-inline: 1px solid rgba(22,33,62,.1); }
.wd-product .wmac-card__quantity-button:hover { color:#fff; background:#16213e; }
.wd-product .wmac-card__purchase-block--quantity-above > .wmac-card__quantity,
.wd-product .wmac-card__purchase-block--quantity-below > .wmac-card__quantity { width: 100%; }

@media (max-width: 767px) {
	.wd-product .wmac-card__product-actions--hover { opacity: 1; visibility: visible; transform: none; }
	.wd-product .wmac-card__action-tooltip { display: none; }
}

.wd-product .wmac-card__compare-button.wmac-has-custom-icon .wmac-card__native-action-icon { display:none !important; }

/* v5.3 — reliable AJAX feedback and compact premium quantity selector. */
.wd-product .wmac-card__cta a.wmac-is-added {
	color: var(--wmac-cta-color, #fff);
	background: var(--wmac-saving-color, #1a9c4d);
}

/* Do not keep the temporary success design merely because WooCommerce leaves
 * its native `.added` class on the button. WMAC controls its own timed state. */
.wd-product .wmac-card__cta a.added:not(.wmac-is-added) {
	color: var(--wmac-cta-color, #fff);
	background: var(--wmac-cta-bg, #16213e);
}

.wd-product .wmac-card__loading-spinner {
	display: none !important;
	visibility: hidden;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	border: 2px solid rgba(255, 255, 255, .34);
	border-top-color: var(--wmac-loading-spinner-color, currentColor);
	border-right-color: var(--wmac-loading-spinner-color, currentColor);
	border-radius: 50%;
	animation: wmac-button-spin .68s linear infinite;
}

.wd-product .wmac-card__cta a.wmac-is-loading {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;
	pointer-events: none !important;
	cursor: wait !important;
	opacity: .94;
}

.wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__loading-spinner {
	display: inline-block !important;
	visibility: visible !important;
}

.wd-product .wmac-card__cta a.wmac-is-loading::before,
.wd-product .wmac-card__cta a.wmac-is-loading::after {
	display: none !important;
	content: none !important;
}

.wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__cta-icon {
	display: none !important;
}

/* Quiet, compact and refined by default. Every dimension remains overridable
 * by the Elementor controls registered for this component. */
.wd-product .wmac-card__quantity {
	display: grid;
	grid-template-columns:
		var(--wmac-quantity-button-width, 32px)
		var(--wmac-quantity-number-width, 40px)
		var(--wmac-quantity-button-width, 32px);
	align-items: stretch;
	width: 104px;
	min-width: 0;
	height: 36px;
	min-height: 36px;
	overflow: hidden;
	color: #16213e;
	background: #fff;
	border: 1px solid rgba(22, 33, 62, .12);
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(22, 33, 62, .055);
}

.wd-product .wmac-card__quantity-button,
.wd-product .wmac-card__quantity-input {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	line-height: 1;
	text-align: center;
}

.wd-product .wmac-card__quantity-button {
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: color .16s ease, background-color .16s ease, transform .16s ease;
}

.wd-product .wmac-card__quantity-button:hover,
.wd-product .wmac-card__quantity-button:focus-visible {
	color: #16213e;
	background: rgba(22, 33, 62, .055);
	transform: none;
}

.wd-product .wmac-card__quantity-button:active {
	background: rgba(22, 33, 62, .1);
}

.wd-product .wmac-card__quantity-input {
	-moz-appearance: textfield;
	font-size: 14px;
	font-weight: 700;
	border-inline: 1px solid rgba(22, 33, 62, .09);
}

.wd-product .wmac-card__purchase-block .wmac-card__purchase-row {
	align-items: center;
}

.wd-product .wmac-card__purchase-block--quantity-inline_before .wmac-card__quantity,
.wd-product .wmac-card__purchase-block--quantity-inline_after .wmac-card__quantity {
	flex: 0 0 auto;
}

/* v5.4 — independent image actions when the grouped toolbar is disabled. */
.wd-product .wmac-card__product-actions--separate {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-height: none;
	display: block;
	pointer-events: none;
	transform: none;
}

.wd-product .wmac-card__product-actions--separate.wmac-card__product-actions--hover {
	transform: none;
}

.wd-product .wmac-card__product-actions--separate .wmac-card__action-item,
.wd-product .wmac-card__product-actions--separate .wmac-card__action-button {
	position: absolute !important;
	z-index: 2;
	inset: auto !important;
	width: 42px;
	height: 42px;
	margin: 0;
	color: #25324a;
	background: rgba(255, 255, 255, .96);
	border: 1px solid rgba(22, 33, 62, .08);
	border-radius: 50%;
	box-shadow: 0 5px 16px rgba(22, 33, 62, .14);
	pointer-events: auto;
}

.wd-product .wmac-card__product-actions--separate .wmac-card__action-item > a {
	width: 100% !important;
	height: 100% !important;
	color: inherit !important;
	background: inherit !important;
	border: inherit !important;
	border-radius: inherit !important;
	box-shadow: none !important;
}

.wd-product .wmac-card__product-actions--separate .wmac-card__wishlist {
	top: 16px !important;
	left: 16px !important;
}

.wd-product .wmac-card__product-actions--separate .wmac-card__quick-view {
	top: 68px !important;
	left: 16px !important;
}

.wd-product .wmac-card__product-actions--separate .wmac-card__compare-button {
	top: 120px !important;
	left: 16px !important;
}

.wd-product .wmac-card__product-actions--separate .wmac-card__action-button:hover,
.wd-product .wmac-card__product-actions--separate .wmac-card__action-item > a:hover {
	color: #ffffff;
	background: #16213e;
	transform: translateY(-1px);
}

.wd-product .wmac-card__product-actions--separate .wmac-card__action-tooltip {
	inset-inline-start: calc(100% + 9px);
	inset-inline-end: auto;
}

@media (max-width: 767px) {
	.wd-product .wmac-card__product-actions--separate.wmac-card__product-actions--hover {
		opacity: 1;
		visibility: visible;
	}
}


/* v5.5 — final add-to-cart feedback and compact quantity baseline.
 * These rules intentionally come last so Elementor-generated selectors can
 * still override every visual property with !important. */
.wd-product .wmac-card__cta a.wmac-is-loading {
	pointer-events: none !important;
	cursor: wait !important;
}

.wd-product .wmac-card__quantity {
	display: grid;
	grid-template-columns:
		var(--wmac-quantity-button-width, 30px)
		var(--wmac-quantity-number-width, 34px)
		var(--wmac-quantity-button-width, 30px);
	align-items: stretch;
	width: 96px;
	min-width: 0;
	height: 34px;
	min-height: 34px;
	padding: 0;
	overflow: hidden;
	color: #16213e;
	background: #fff;
	border: 1px solid rgba(22, 33, 62, .10);
	border-radius: 999px;
	box-shadow: 0 2px 7px rgba(22, 33, 62, .045);
}

.wd-product .wmac-card__quantity-button,
.wd-product .wmac-card__quantity-input {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	line-height: 1;
	text-align: center;
}

.wd-product .wmac-card__quantity-button {
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: color .15s ease, background-color .15s ease;
}

.wd-product .wmac-card__quantity-button:hover,
.wd-product .wmac-card__quantity-button:focus-visible {
	color: #16213e;
	background: rgba(22, 33, 62, .045);
}

.wd-product .wmac-card__quantity-input {
	-moz-appearance: textfield;
	font-size: 13px;
	font-weight: 700;
	border-inline: 1px solid rgba(22, 33, 62, .075);
}

.wd-product .wmac-card__quantity-input::-webkit-outer-spin-button,
.wd-product .wmac-card__quantity-input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}


/* v5.6 — independent action-label placement and reliable empty-label hiding. */
.wd-product .wmac-card__action-tooltip--left {
	left: auto !important;
	right: calc(100% + 9px) !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
	transform: translateY(-50%) translateX(4px);
}
.wd-product .wmac-card__action-tooltip--right {
	left: calc(100% + 9px) !important;
	right: auto !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
	transform: translateY(-50%) translateX(-4px);
}
.wd-product .wmac-card__action-button:hover .wmac-card__action-tooltip--left,
.wd-product .wmac-card__action-item > a:hover .wmac-card__action-tooltip--left,
.wd-product .wmac-card__action-button:hover .wmac-card__action-tooltip--right,
.wd-product .wmac-card__action-item > a:hover .wmac-card__action-tooltip--right {
	transform: translateY(-50%) translateX(0);
}

/* v5.6.1 — definitive side tooltip model based on a shared sibling DOM. */
.wd-product .wmac-card__product-actions .wmac-card__action-item {
	position: relative;
}

/* WoodMart action labels stay available to scripts but never paint visually. */
.wd-product .wmac-card__quick-view > a,
.wd-product .wmac-card__wishlist > a {
	font-size: 0 !important;
}
.wd-product .wmac-card__quick-view > a > span:not(.wmac-card__action-custom-icon),
.wd-product .wmac-card__wishlist > a > span:not(.wmac-card__action-custom-icon) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Tooltip is always a sibling of the clickable icon, never a child of it. */
.wd-product .wmac-card__product-actions .wmac-card__action-tooltip {
	position: absolute !important;
	z-index: 60 !important;
	top: 50% !important;
	bottom: auto !important;
	margin: 0 !important;
	padding: 6px 9px !important;
	color: #fff !important;
	background: #111827 !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	text-align: center !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
}
.wd-product .wmac-card__product-actions .wmac-card__action-tooltip--left {
	left: auto !important;
	right: calc(100% + 9px) !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
	transform: translate(4px, -50%) !important;
}
.wd-product .wmac-card__product-actions .wmac-card__action-tooltip--right {
	left: calc(100% + 9px) !important;
	right: auto !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
	transform: translate(-4px, -50%) !important;
}
.wd-product .wmac-card__product-actions .wmac-card__action-item:hover > .wmac-card__action-tooltip,
.wd-product .wmac-card__product-actions .wmac-card__action-item:focus-within > .wmac-card__action-tooltip {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translate(0, -50%) !important;
}

/* Compare now uses the same wrapper contract as Quick View and Wishlist. */
.wd-product .wmac-card__compare-action {
	display: flex;
	align-items: center;
	justify-content: center;
}
.wd-product .wmac-card__compare-action > .wmac-card__compare-button {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	inset: auto !important;
	width: 100%;
	height: 100%;
}
.wd-product .wmac-card__product-actions--separate .wmac-card__compare-action {
	position: absolute !important;
	z-index: 2;
	top: 120px !important;
	left: 16px !important;
	width: 42px;
	height: 42px;
	pointer-events: auto;
}

/* Neutralize any legacy tooltip that may still be nested inside an action link. */
.wd-product .wmac-card__product-actions a > .wmac-card__action-tooltip,
.wd-product .wmac-card__product-actions button > .wmac-card__action-tooltip {
	display: none !important;
}

/* Reorderable optional body actions render as independent full-width blocks. */
.wd-product .wmac-card__extra-action-wrap {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-width: 0;
}

.wd-product .wmac-card__extra-action-wrap > .wmac-card__action {
	width: 100%;
}


/* v6.1 conversion features: second image and mobile utilities. */
.wmac-card__image-link { position: relative; }
.wmac-card__image-link .wmac-card__image,
.wmac-card__image-link .wmac-card__image > img,
.wmac-card__image-link > img.wmac-card__image { display:block; width:100%; height:100%; object-fit:inherit; }
.wmac-card__image--hover { position:absolute; inset:0; opacity:0; z-index:2; transition:opacity .35s ease, transform .35s ease; }
.wmac-card__image--primary { position:relative; z-index:1; transition:opacity .35s ease, transform .35s ease; }
.wmac-card__image-link--has-hover:hover .wmac-card__image--hover,
.wmac-card__image-link--has-hover:focus .wmac-card__image--hover { opacity:1; }
.wmac-hover-image-effect-zoom .wmac-card__image--hover { transform:scale(1.04); }
.wmac-hover-image-effect-zoom .wmac-card__image-link--has-hover:hover .wmac-card__image--hover { transform:scale(1); }
.wmac-hover-image-effect-slide .wmac-card__image--hover { transform:translateX(-8%); }
.wmac-hover-image-effect-slide .wmac-card__image-link--has-hover:hover .wmac-card__image--hover { transform:translateX(0); }
.wmac-card__mobile-text { display:none; }
@media (max-width:767px) { .wmac-hide-mobile { display:none !important; } .wmac-card__desktop-text:has(+ .wmac-card__mobile-text){display:none !important;} .wmac-card__mobile-text{display:inline !important;} }

/* v6.3 — lightweight native WooCommerce AJAX feedback. */
.wd-product .wmac-card__cta a .wmac-card__loading-spinner[hidden] {
	display: none !important;
}

.wd-product .wmac-card__cta a.wmac-is-loading {
	position: relative;
	pointer-events: none;
	cursor: wait;
	opacity: .94;
}

.wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__loading-spinner {
	display: inline-block !important;
	visibility: visible !important;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	margin: 0;
	border: 2px solid currentColor;
	border-inline-end-color: transparent;
	border-radius: 50%;
	animation: wmac-lightweight-spin .55s linear infinite;
}

.wd-product .wmac-card__cta a.wmac-is-loading::before,
.wd-product .wmac-card__cta a.wmac-is-loading::after {
	display: none !important;
}

@keyframes wmac-lightweight-spin {
	to { transform: rotate(360deg); }
}


/* v6.4 — WoodMart-style centered AJAX loader without fading the CTA. */
.wd-product .wmac-card__cta a.wmac-is-loading {
	position: relative !important;
	pointer-events: none;
	cursor: wait;
	opacity: 1 !important;
}

.wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__cta-text,
.wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__cta-icon {
	visibility: hidden !important;
}

.wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__loading-spinner {
	display: block !important;
	visibility: visible !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	inset-inline-start: 50% !important;
	width: var(--wmac-loading-spinner-size, 18px) !important;
	height: var(--wmac-loading-spinner-size, 18px) !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translate(-50%, -50%);
	border: 2px solid currentColor !important;
	border-right-color: transparent !important;
	border-radius: 50% !important;
	color: var(--wmac-loading-spinner-color, #fff) !important;
	background: transparent !important;
	box-shadow: none !important;
	animation: wmac-woodmart-spin .55s linear infinite !important;
}

html[dir="rtl"] .wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__loading-spinner {
	transform: translate(50%, -50%);
}

.wd-product .wmac-card__cta a.wmac-is-loading::before,
.wd-product .wmac-card__cta a.wmac-is-loading::after {
	display: none !important;
	content: none !important;
}

@keyframes wmac-woodmart-spin {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes wmac-woodmart-spin-rtl {
	to { transform: translate(50%, -50%) rotate(360deg); }
}

html[dir="rtl"] .wd-product .wmac-card__cta a.wmac-is-loading .wmac-card__loading-spinner {
	animation-name: wmac-woodmart-spin-rtl !important;
}


/* v6.6 — compatibility with OTF Fast AJAX Cart MU plugin. */
body .wd-product .wmac-card__cta a.otf-atc-loading,
body .wd-product .wmac-card__cta a.otf-atc-loading.loading {
	position: relative !important;
	opacity: 1 !important;
	cursor: wait !important;
}

body .wd-product .wmac-card__cta a.otf-atc-loading .wmac-card__cta-text,
body .wd-product .wmac-card__cta a.otf-atc-loading .wmac-card__cta-icon {
	visibility: hidden !important;
}

body .wd-product .wmac-card__cta a.otf-atc-loading .wmac-card__loading-spinner {
	display: block !important;
	visibility: visible !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	inset-inline-start: 50% !important;
	width: var(--wmac-loading-spinner-size, 18px) !important;
	height: var(--wmac-loading-spinner-size, 18px) !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translate(-50%, -50%);
	border: 2px solid currentColor !important;
	border-right-color: transparent !important;
	border-radius: 50% !important;
	color: var(--wmac-loading-spinner-color, #fff) !important;
	background: transparent !important;
	box-shadow: none !important;
	animation: wmac-woodmart-spin .55s linear infinite !important;
}

html[dir="rtl"] body .wd-product .wmac-card__cta a.otf-atc-loading .wmac-card__loading-spinner {
	transform: translate(50%, -50%);
	animation-name: wmac-woodmart-spin-rtl !important;
}

body .wd-product .wmac-card__cta a.otf-atc-loading::before,
body .wd-product .wmac-card__cta a.otf-atc-loading::after {
	display: none !important;
	content: none !important;
}


/* v6.7 — unified button interactions and reliable wishlist controls. */
.wd-product .wmac-card__action,
.wd-product .wmac-card__cta a { transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease; }
.wd-product .wmac-card__action.wmac-hover-lift:hover { transform: translateY(-3px); }
.wd-product .wmac-card__action.wmac-hover-scale:hover { transform: scale(1.03); }
.wd-product .wmac-card__action.wmac-hover-press:hover { transform: translateY(2px) scale(.98); }
.wd-product .wmac-card__action.wmac-hover-glow:hover { box-shadow: 0 0 18px color-mix(in srgb, currentColor 36%, transparent); }
.wd-product .wmac-card__cta.wmac-hover-press a:hover { transform: translateY(2px) scale(.98); }
.wd-product .wmac-card__cta.wmac-hover-glow a:hover { box-shadow: 0 0 18px color-mix(in srgb, currentColor 36%, transparent); }
.wd-product .wmac-card__button-spinner[hidden] { display:none !important; }
.wd-product .wmac-card__action.wmac-button-is-loading { position:relative; pointer-events:none; cursor:wait; }
.wd-product .wmac-card__action.wmac-button-is-loading .wmac-card__action-text,
.wd-product .wmac-card__action.wmac-button-is-loading .wmac-card__action-icon { visibility:hidden !important; }
.wd-product .wmac-card__action.wmac-button-is-loading .wmac-card__button-spinner { display:block !important; position:absolute; top:50%; left:50%; width:18px; height:18px; margin:0; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; transform:translate(-50%,-50%); animation:wmac-generic-button-spin .55s linear infinite; }
@keyframes wmac-generic-button-spin { to { transform:translate(-50%,-50%) rotate(360deg); } }
.wd-product .wmac-card__wishlist,
.wd-product .wmac-card__wishlist > a { box-sizing:border-box; }
.wd-product .wmac-card__wishlist > a::before,
.wd-product .wmac-card__wishlist > a::after { font-size:inherit !important; }


/* v6.8 — secondary badge icon and reorderable body actions. */
.wd-product .wmac-card__secondary-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.wd-product .wmac-card__secondary-badge-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 1;
	position: relative;
	z-index: 2;
}
.wd-product .wmac-card__secondary-badge-icon i,
.wd-product .wmac-card__secondary-badge-icon svg { display:block; }
.wd-product .wmac-card__secondary-badge-text { position:relative; z-index:2; }

.wd-product .wmac-card__body-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	min-width: 0;
}
.wd-product .wmac-card__body-action-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0;
}
.wd-product .wmac-card__body-action-item > a,
.wd-product .wmac-card__body-action-item > button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	line-height: 1 !important;
	box-sizing: border-box;
	cursor: pointer;
}
.wd-product .wmac-card__body-action-item .wd-action-btn,
.wd-product .wmac-card__body-action-item .quick-view { position:static !important; }
.wd-product .wmac-card__body-action-item .wd-action-btn > a,
.wd-product .wmac-card__body-action-item .quick-view > a {
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	height:100% !important;
}
.wd-product .wmac-card__saving--with-inline-actions {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
}
.wd-product .wmac-card__saving--with-inline-actions .wmac-card__body-actions {
	margin-inline-start:auto;
}
.wd-product .wmac-card__body-action-item .wmac-card__action-tooltip { display:none !important; }


/* v6.9 — fully isolated body actions and reliable secondary-badge icons. */
.wd-product .wmac-card__secondary-badge-icon,
.wd-product .wmac-card__secondary-badge-icon > i,
.wd-product .wmac-card__secondary-badge-icon > svg {
	visibility: visible !important;
	opacity: 1 !important;
}
.wd-product .wmac-card__secondary-badge-icon > svg {
	fill: currentColor;
	stroke: currentColor;
}

/* Body actions are a separate component. Never inherit overlay positioning. */
.wd-product .wmac-card__body-actions,
.wd-product .wmac-card__body-actions .wmac-card__body-action-item,
.wd-product .wmac-card__body-actions .wmac-card__body-native-action,
.wd-product .wmac-card__body-actions .wd-action-btn,
.wd-product .wmac-card__body-actions .quick-view {
	position: static !important;
	inset: auto !important;
	transform: none;
}
.wd-product .wmac-card__body-actions .wmac-card__body-action-item {
	width: auto;
	height: auto;
}
.wd-product .wmac-card__body-actions .wmac-card__body-native-action,
.wd-product .wmac-card__body-actions .wmac-card__body-native-action > a,
.wd-product .wmac-card__body-actions .wmac-card__body-compare-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0;
	line-height: 1 !important;
	text-decoration: none !important;
	cursor: pointer;
}
.wd-product .wmac-card__body-actions .wmac-card__body-native-action > a {
	width: 100% !important;
	height: 100% !important;
}
.wd-product .wmac-card__body-actions .wmac-card__body-action-custom-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: inherit;
}
.wd-product .wmac-card__body-actions .wmac-card__body-action-custom-icon i,
.wd-product .wmac-card__body-actions .wmac-card__body-action-custom-icon svg {
	display: block !important;
	color: inherit;
	fill: currentColor;
}
/* Custom body icons replace only the body native icon, not image-overlay icons. */
.wd-product .wmac-card__body-actions .wmac-has-custom-icon::before,
.wd-product .wmac-card__body-actions .wmac-has-custom-icon::after,
.wd-product .wmac-card__body-actions a:has(.wmac-card__body-action-custom-icon)::before,
.wd-product .wmac-card__body-actions a:has(.wmac-card__body-action-custom-icon)::after {
	display: none !important;
	content: none !important;
}
/* Hide WoodMart's visible text label in icon-only body controls while preserving AJAX markup. */
.wd-product .wmac-card__body-actions .wd-action-btn > a > span:not(.wmac-card__body-action-custom-icon),
.wd-product .wmac-card__body-actions .quick-view > a > span:not(.wmac-card__body-action-custom-icon) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* v7.1 — native wishlist states, duplicated-instance sync and isolated action states. */
/*
 * Wishlist AJAX stays 100% owned by WoodMart. WMAC only restores the native
 * visual icon/check markup that older card CSS had visually clipped.
 */
.wd-product .wmac-card .wmac-card__wishlist-link {
	position: relative !important;
	isolation: isolate;
}

/* The static WMAC heart pseudo-icon must not cover WoodMart's native states. */
.wd-product .wmac-card .wmac-card__wishlist-link:not(.wmac-has-custom-icon)::before,
.wd-product .wmac-card .wmac-card__wishlist-link:not(.wmac-has-custom-icon)::after {
	display: none !important;
	content: none !important;
}

/* Restore WoodMart's native icon container. Previous generic icon-only rules
 * clipped every direct span, which also clipped wd-action-icon/wd-check-icon. */
.wd-product .wmac-card .wmac-card__wishlist-link > .wd-action-icon {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 1em !important;
	height: 1em !important;
	min-width: 1em !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Keep only the text label visually hidden; WoodMart still reads/updates it. */
.wd-product .wmac-card .wmac-card__wishlist-link > .wd-action-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* A custom Elementor icon replaces only the visible native heart. The native
 * text/data/AJAX markup remains untouched. */
.wd-product .wmac-card .wmac-card__wishlist-link.wmac-has-custom-icon > .wd-action-icon {
	display: none !important;
}

/* Added state: default WoodMart icon can expose wd-check-icon; custom icons get
 * a clear active color without changing the AJAX contract. */
.wd-product .wmac-card .wmac-card__wishlist-link.added {
	color: var(--wmac-wishlist-color-active, #c71f3a) !important;
}
.wd-product .wmac-card .wmac-card__wishlist-link.added > .wd-action-icon,
.wd-product .wmac-card .wmac-card__wishlist-link.added .wd-check-icon {
	visibility: visible !important;
	opacity: 1 !important;
}
.wd-product .wmac-card .wmac-card__wishlist-link.wmac-has-custom-icon.added .wmac-card__action-custom-icon,
.wd-product .wmac-card .wmac-card__wishlist-link.wmac-has-custom-icon.added .wmac-card__body-action-custom-icon {
	color: var(--wmac-wishlist-color-active, #c71f3a) !important;
}

/* Lightweight visual loader. It never starts/stops AJAX; it only reflects the
 * click while WoodMart performs the real wishlist request. */
.wd-product .wmac-card .wmac-card__wishlist-spinner {
	position: absolute;
	z-index: 4;
	top: 50%;
	left: 50%;
	display: none;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	box-sizing: border-box;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: wmac-button-spin .55s linear infinite;
	pointer-events: none;
}
.wd-product .wmac-card .wmac-card__wishlist-link.wmac-wishlist-is-loading .wmac-card__wishlist-spinner {
	display: block;
}
.wd-product .wmac-card .wmac-card__wishlist-link.wmac-wishlist-is-loading > .wd-action-icon,
.wd-product .wmac-card .wmac-card__wishlist-link.wmac-wishlist-is-loading > .wmac-card__action-custom-icon,
.wd-product .wmac-card .wmac-card__wishlist-link.wmac-wishlist-is-loading > .wmac-card__body-action-custom-icon {
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Both compare copies (media + body) use one state class. Give the selected
 * state enough specificity to remain visible over Elementor normal colors. */
.wd-product .wmac-card .wmac-card__compare-button.wmac-is-selected {
	color: #fff !important;
	background-color: #1a9c4d !important;
}
.wd-product .wmac-card .wmac-card__compare-button.wmac-is-selected .wmac-card__native-action-icon,
.wd-product .wmac-card .wmac-card__compare-button.wmac-is-selected .wmac-card__action-custom-icon,
.wd-product .wmac-card .wmac-card__compare-button.wmac-is-selected .wmac-card__body-action-custom-icon {
	color: inherit !important;
}

@media (prefers-reduced-motion: reduce) {
	.wd-product .wmac-card .wmac-card__wishlist-spinner {
		animation-duration: 1.2s;
	}
}

/* v7.2 — wishlist spinner visibility fix.
 * Older v5.6 label-hiding rule clips every direct <span> inside wishlist links.
 * The visual spinner is also a span, so reset those clipping properties only
 * for the spinner while leaving WoodMart action text visually hidden. */
.wd-product .wmac-card .wmac-card__wishlist > a.wmac-card__wishlist-link > .wmac-card__wishlist-spinner {
	position: absolute !important;
	z-index: 8 !important;
	top: 50% !important;
	left: 50% !important;
	display: none !important;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	max-width: none !important;
	padding: 0 !important;
	margin: -8px 0 0 -8px !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal !important;
	visibility: visible !important;
	opacity: 1 !important;
	box-sizing: border-box !important;
	border: 2px solid rgba(24, 52, 93, .24) !important;
	border-top-color: var(--wmac-wishlist-color, #18345d) !important;
	border-right-color: var(--wmac-wishlist-color, #18345d) !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	transform-origin: 50% 50% !important;
	animation: wmac-wishlist-spin .55s linear infinite !important;
	pointer-events: none !important;
	font-size: 0 !important;
}

@keyframes wmac-wishlist-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.wd-product .wmac-card .wmac-card__wishlist > a.wmac-card__wishlist-link.wmac-wishlist-is-loading > .wmac-card__wishlist-spinner {
	display: block !important;
}

/* During wishlist AJAX show only the spinner, not a faded/white heart. */
.wd-product .wmac-card .wmac-card__wishlist > a.wmac-card__wishlist-link.wmac-wishlist-is-loading > .wd-action-icon,
.wd-product .wmac-card .wmac-card__wishlist > a.wmac-card__wishlist-link.wmac-wishlist-is-loading > .wmac-card__action-custom-icon,
.wd-product .wmac-card .wmac-card__wishlist > a.wmac-card__wishlist-link.wmac-wishlist-is-loading > .wmac-card__body-action-custom-icon {
	opacity: 0 !important;
	visibility: hidden !important;
}

@media (prefers-reduced-motion: reduce) {
	.wd-product .wmac-card .wmac-card__wishlist > a.wmac-card__wishlist-link > .wmac-card__wishlist-spinner {
		animation-duration: 1.2s !important;
	}
}
