.lpf-favorite-button,
.lpf-favorite-button:hover,
.lpf-favorite-button:focus,
.lpf-favorite-button:focus-visible,
.lpf-favorite-button:active {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.45em !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: #e2e2e2 !important;
	font: inherit !important;
	line-height: 0 !important;
	text-decoration: none !important;
	transform: none !important;
	cursor: pointer !important;
}

.lpf-favorite-button::before,
.lpf-favorite-button::after {
	display: none !important;
	content: none !important;
}

.lpf-favorite-button__icon {
	display: block;
	width: 24px;
	height: 24px;
	margin: 0;
	overflow: visible;
	transition: color 160ms ease, transform 160ms ease;
}

.lpf-favorite-button.is-active {
	color: var(--e-global-color-accent, #d32f2f) !important;
}

.lpf-favorite-button__outline,
.lpf-favorite-button__fill {
	transition: opacity 160ms ease;
}

.lpf-favorite-button__fill {
	opacity: 0;
}

.lpf-favorite-button.is-active .lpf-favorite-button__outline {
	opacity: 0;
}

.lpf-favorite-button.is-active .lpf-favorite-button__fill {
	opacity: 1;
}

.lpf-favorite-button.is-loading {
	cursor: wait !important;
	opacity: 0.65 !important;
}

.lpf-favorite-button__label {
	line-height: 1.2;
}

.lpf-favorite-button.is-loading .lpf-favorite-button__icon {
	animation: lpf-heart-pulse 700ms ease-in-out infinite alternate;
}

@keyframes lpf-heart-pulse {
	to {
		transform: scale(0.82);
	}
}

@media (prefers-reduced-motion: reduce) {
	.lpf-favorite-button__icon {
		transition: none;
	}

	.lpf-favorite-button__outline,
	.lpf-favorite-button__fill {
		transition: none;
	}

	.lpf-favorite-button.is-loading .lpf-favorite-button__icon {
		animation: none;
	}
}
