/* Stayly Wishlist — Heart button + favourites grid */

.stayly-heart {
	appearance: none; -webkit-appearance: none;
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	padding: 0; margin: 0; border: 0;
	background: transparent; color: #fff; cursor: pointer;
	font: inherit;
	transition: transform .12s ease;
}
.stayly-heart:active { transform: scale(.9); }
.stayly-heart svg { display: block; }
.stayly-heart svg path {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linejoin: round;
	transition: fill .18s ease, stroke .18s ease;
}
.stayly-heart.is-saved svg path {
	fill: #ef4444;
	stroke: #ef4444;
}

/* On property cards — top-right corner over the image */
.stayly-heart--card {
	position: absolute; top: 10px; right: 10px;
	width: 34px; height: 34px; border-radius: 50%;
	background: rgba(0, 0, 0, .35);
	backdrop-filter: blur(4px);
	color: #fff;
}
.stayly-heart--card:hover { background: rgba(0, 0, 0, .55); }
.stayly-heart--card.is-saved { background: rgba(255, 255, 255, .95); }

/* On the single-property sidebar — pill under the price */
.stayly-wishlist-single {
	display: flex; justify-content: flex-end;
	margin: 6px 0 -4px;
}
.stayly-heart--single {
	color: #6b7280;
	padding: 6px 12px;
	border: 1px solid var(--stayly-line, #e5e7eb);
	border-radius: 999px;
	background: #fff;
	font-size: 13px; font-weight: 600;
	gap: 8px;
}
.stayly-heart--single:hover { border-color: #ef4444; color: #ef4444; }
.stayly-heart--single.is-saved { color: #ef4444; border-color: #fecaca; background: #fef2f2; }
.stayly-heart__label { line-height: 1; }

/* Little heart-beat animation on save */
.stayly-heart.is-just-saved svg { animation: sw-pulse .5s ease; }
@keyframes sw-pulse {
	0% { transform: scale(1); }
	40% { transform: scale(1.35); }
	100% { transform: scale(1); }
}

/* Toast */
.stayly-wishlist-toast {
	position: fixed; left: 50%; bottom: 32px; transform: translateX(-50%);
	background: rgba(17, 24, 39, .95); color: #fff;
	padding: 10px 18px; border-radius: 999px;
	font-size: 13px; font-weight: 600;
	z-index: 99999;
	opacity: 0; pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
}
.stayly-wishlist-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(-4px); }
.stayly-wishlist-toast.is-error { background: #b91c1c; }

/* Favorites grid empty state */
.stayly-wishlist-empty {
	max-width: 640px; margin: 40px auto;
	padding: 32px; text-align: center;
	background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 14px;
	color: #6b7280; font-size: 15px;
}
.stayly-wishlist-empty a { color: var(--stayly-brand, #0f766e); font-weight: 600; }
