/* Eralux favorites — card hearts + sitewide header favorites widget.
   Self-contained; the widget is a fixed overlay (not inside the Avada header). */

/* ---------- card hearts (only exist on v3 product pages) ---------- */
.also-card-wrap { position: relative; }
.ews-fav-heart {
	position: absolute; top: 12px; right: 12px; z-index: 3;
	width: 38px; height: 38px; padding: 0; margin: 0;
	border: 0; border-radius: 50%; cursor: pointer;
	-webkit-appearance: none; appearance: none;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 4px 14px -4px rgba(13, 13, 12, 0.28);
	display: flex; align-items: center; justify-content: center;
	transition: transform .2s ease, background .2s ease;
}
.ews-fav-heart:hover { transform: scale(1.08); }
.ews-fav-heart svg { width: 20px; height: 20px; fill: none; stroke: #0d0d0c; stroke-width: 2; transition: fill .2s ease, stroke .2s ease; }
.ews-fav-heart.is-fav svg { fill: #00AAE7; stroke: #00AAE7; }

/* ---------- sitewide favorites widget (fixed overlay) ---------- */
.ews-fav-widget {
	position: fixed; top: 20px; right: 24px; z-index: 100000;
	font-family: 'Montserrat', sans-serif; line-height: 1;
}
body.admin-bar .ews-fav-widget { top: 52px; }
.ews-fav-toggle {
	position: relative; width: 46px; height: 46px; padding: 0; margin: 0;
	border: 0; border-radius: 50%; cursor: pointer;
	-webkit-appearance: none; appearance: none;
	background: #0d0d0c; color: #fff;
	box-shadow: 0 6px 20px -6px rgba(0, 0, 0, 0.5);
	display: flex; align-items: center; justify-content: center;
}
.ews-fav-toggle svg { width: 22px; height: 22px; fill: #fff; }
.ews-fav-count {
	position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px;
	border-radius: 9px; background: #00AAE7; color: #fff;
	font-size: 11px; font-weight: 700; padding: 0 5px;
	display: flex; align-items: center; justify-content: center;
	opacity: 0; transform: scale(0.6); transition: .2s ease;
}
.ews-fav-count.has { opacity: 1; transform: scale(1); }
.ews-fav-panel {
	position: absolute; top: 56px; right: 0; width: 300px; max-height: 60vh; overflow: auto;
	background: #fff; border: 1px solid rgba(13, 13, 12, 0.08); border-radius: 12px;
	box-shadow: 0 24px 60px -20px rgba(13, 13, 12, 0.35); padding: 14px;
	opacity: 0; visibility: hidden; transform: translateY(-6px); transition: .2s ease;
}
.ews-fav-widget.is-open .ews-fav-panel { opacity: 1; visibility: visible; transform: none; }
.ews-fav-panel__head { font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #0d0d0c; margin-bottom: 10px; }
.ews-fav-empty { color: #8b877e; font-size: 14px; padding: 8px 2px; }
.ews-fav-item { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid rgba(13, 13, 12, 0.06); }
.ews-fav-item:first-child { border-top: 0; }
.ews-fav-item__link { display: flex; align-items: center; gap: 10px; flex: 1; text-decoration: none; color: #0d0d0c; min-width: 0; }
.ews-fav-item__img { width: 44px; height: 44px; flex: none; border-radius: 8px; overflow: hidden; background: #f2f0ec; display: block; }
.ews-fav-item__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ews-fav-item__title { font-size: 13.5px; font-weight: 500; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; }
.ews-fav-item__link:hover .ews-fav-item__title { color: #00AAE7; }
.ews-fav-item__remove { border: 0; background: none; cursor: pointer; color: #8b877e; font-size: 18px; line-height: 1; padding: 4px 6px; }
.ews-fav-item__remove:hover { color: #0d0d0c; }

@media (max-width: 640px) {
	.ews-fav-widget { top: auto; bottom: 18px; right: 18px; }
	body.admin-bar .ews-fav-widget { top: auto; }
	.ews-fav-panel { position: fixed; right: 12px; left: 12px; width: auto; top: auto; bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) {
	.ews-fav-heart, .ews-fav-count, .ews-fav-panel { transition: none; }
}
