/* Farmley wishlist — hearts, PDP description, wishlist page (cart-like) */

/* ── Visible default heart on product cards ── */
.ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button),
.qodef-woo-product-list .qodef-e-media .ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper .qwfw-shortcode:not(.button),
.qodef-woo-product-list .product .qodef-e-media .ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper .qwfw-shortcode:not(.button) {
	color: #0c533d !important;
}

.ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon,
.qodef-woo-product-list .qodef-e-media .ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper .qwfw-m-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 16px;
	opacity: 1 !important;
	visibility: visible !important;
}

.ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper,
.qodef-woo-product-list .qodef-e-media .ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.logged-in .qodef-woo-product-list .product .qodef-e-media .ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper {
	display: flex !important;
}

/* ── PDP gallery — heart top-left on product image ── */
.ng-farmley-sp-gallery__stage-wrap {
	position: relative;
}

.ng-farmley-sp-gallery__wishlist {
	position: absolute;
	top: 14px;
	left: 14px;
	right: auto;
	z-index: 20;
	margin: 0;
	line-height: 1;
}

.ng-farmley-sp-gallery__wishlist .qwfw-add-to-wishlist-wrapper {
	margin: 0 !important;
	padding: 0;
	line-height: 1;
}

.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.qwfw-type--icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	margin: 0;
	border: 1px solid rgba(12, 83, 61, 0.14);
	border-radius: 50%;
	color: #0c533d;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 4px 14px rgba(12, 83, 61, 0.14);
	line-height: 1;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.qwfw-type--icon:hover {
	transform: scale(1.06);
	box-shadow: 0 6px 18px rgba(12, 83, 61, 0.2);
}

.ng-farmley-sp-gallery__wishlist .qwfw-m-text {
	display: none !important;
}

.ng-farmley-sp-gallery__wishlist .qwfw-m-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 18px;
}

/* ── Heart states + animation (gallery, shop, related, carousel, media stack) ── */
.ng-farmley-sp-description__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg,
.ng-farmley-sp-description__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg path,
.ng-farmley-sp-description__wishlist .qwfw-m-icon svg path,
.ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg,
.ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg path,
.ng-farmley-sp-gallery__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg,
.ng-farmley-sp-gallery__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg path,
.ng-farmley-sp-gallery__wishlist .qwfw-m-icon svg path,
.qodef-woo-product-list .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg,
.qodef-woo-product-list .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg path,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg path,
.qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg,
.qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button) .qwfw-m-icon svg path {
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
	transition: fill 0.3s ease, stroke 0.3s ease, transform 0.3s ease;
}

/* Added / active state */
.ng-farmley-sp-description__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added,
.ng-farmley-sp-description__wishlist .qwfw-shortcode.qwfw--added,
.ng-farmley-sp-description__wishlist .qwfw-shortcode.ng-farmley-wishlist--active,
.ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added,
.ng-farmley-media-actions .qwfw-shortcode.qwfw--added,
.ng-farmley-media-actions .qwfw-shortcode.ng-farmley-wishlist--active,
.ng-farmley-sp-gallery__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added,
.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.qwfw--added,
.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.ng-farmley-wishlist--active,
.qodef-woo-product-list .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added,
.qodef-woo-product-list .qodef-action-holder .qwfw-shortcode.qwfw--added,
.qodef-woo-product-list .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--active,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-shortcode.qwfw--added,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--active,
.qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added,
.qodef-action-holder .qwfw-shortcode.qwfw--added,
.qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--active {
	color: #E53935 !important;
	background-color: #fff !important;
	border-color: #E53935 !important;
	box-shadow: 0 4px 16px rgba(229, 57, 53, 0.28) !important;
}

.ng-farmley-sp-description__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.ng-farmley-sp-description__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.ng-farmley-sp-description__wishlist .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.ng-farmley-sp-description__wishlist .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.ng-farmley-sp-description__wishlist .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg,
.ng-farmley-sp-description__wishlist .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg path,
.ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.ng-farmley-media-actions .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.ng-farmley-media-actions .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.ng-farmley-media-actions .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.ng-farmley-media-actions .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg,
.ng-farmley-media-actions .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg path,
.ng-farmley-sp-gallery__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.ng-farmley-sp-gallery__wishlist .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg,
.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg path,
.qodef-woo-product-list .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.qodef-woo-product-list .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.qodef-woo-product-list .qodef-action-holder .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.qodef-woo-product-list .qodef-action-holder .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.qodef-woo-product-list .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg,
.qodef-woo-product-list .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg path,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg path,
.qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.qodef-action-holder .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.qodef-action-holder .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
.qodef-action-holder .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
.qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg,
.qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg path {
	fill: #E53935 !important;
	stroke: #E53935 !important;
}

@keyframes ng-farmley-wishlist-pop {
	0% {
		transform: scale(1);
	}
	35% {
		transform: scale(1.28);
	}
	65% {
		transform: scale(0.94);
	}
	100% {
		transform: scale(1);
	}
}

@keyframes ng-farmley-wishlist-ring {
	0% {
		box-shadow: 0 0 0 0 rgba(229, 57, 53, 0.45);
	}
	70% {
		box-shadow: 0 0 0 12px rgba(229, 57, 53, 0);
	}
	100% {
		box-shadow: 0 4px 16px rgba(229, 57, 53, 0.28);
	}
}

.ng-farmley-sp-description__wishlist .qwfw-shortcode.ng-farmley-wishlist--pop,
.ng-farmley-media-actions .qwfw-shortcode.ng-farmley-wishlist--pop,
.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.ng-farmley-wishlist--pop,
.qodef-woo-product-list .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--pop,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--pop,
.qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--pop {
	animation: ng-farmley-wishlist-pop 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.ng-farmley-sp-description__wishlist .qwfw-shortcode.ng-farmley-wishlist--pop.qwfw--added,
.ng-farmley-sp-description__wishlist .qwfw-shortcode.ng-farmley-wishlist--pop.ng-farmley-wishlist--active,
.ng-farmley-media-actions .qwfw-shortcode.ng-farmley-wishlist--pop.qwfw--added,
.ng-farmley-media-actions .qwfw-shortcode.ng-farmley-wishlist--pop.ng-farmley-wishlist--active,
.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.ng-farmley-wishlist--pop.qwfw--added,
.ng-farmley-sp-gallery__wishlist .qwfw-shortcode.ng-farmley-wishlist--pop.ng-farmley-wishlist--active,
.qodef-woo-product-list .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--pop.qwfw--added,
.qodef-woo-product-list .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--pop.ng-farmley-wishlist--active,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--pop.qwfw--added,
#qodef-woo-page.qodef--single .related.products .qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--pop.ng-farmley-wishlist--active,
.qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--pop.qwfw--added,
.qodef-action-holder .qwfw-shortcode.ng-farmley-wishlist--pop.ng-farmley-wishlist--active {
	animation: ng-farmley-wishlist-pop 0.55s cubic-bezier(0.16, 1, 0.3, 1), ng-farmley-wishlist-ring 0.7s ease-out;
}

/* Wishlist page cards — filled heart top-left */
body.ng-farmley-wishlist-page .ng-farmley-wishlist-heart .qwfw-add-to-wishlist-wrapper.qodef-greenpath-theme .qwfw-shortcode:not(.button),
body.ng-farmley-wishlist-page .ng-farmley-wishlist-heart .qwfw-shortcode.qwfw--added,
body.ng-farmley-wishlist-page .ng-farmley-wishlist-heart .qwfw-shortcode.ng-farmley-wishlist--active {
	color: #e53935 !important;
}

body.ng-farmley-wishlist-page .ng-farmley-wishlist-heart .qwfw-shortcode.qwfw--added .qwfw-m-icon svg,
body.ng-farmley-wishlist-page .ng-farmley-wishlist-heart .qwfw-shortcode.qwfw--added .qwfw-m-icon svg path,
body.ng-farmley-wishlist-page .ng-farmley-wishlist-heart .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg,
body.ng-farmley-wishlist-page .ng-farmley-wishlist-heart .qwfw-shortcode.ng-farmley-wishlist--active .qwfw-m-icon svg path {
	fill: #e53935 !important;
	stroke: #e53935 !important;
}

/* Wishlist page layout — see farmley-wishlist-page.css (real product card markup). */