/* ─── Favorite Button ──────────────────────────────────────── */

.lukuro-favorite-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	line-height: 1;
	-webkit-tap-highlight-color: transparent;
}

.lukuro-favorite-btn:focus-visible {
	outline: 1px solid var(--primary, #e91e63);
	outline-offset: 1px;
	border-radius: 1px;
}

.lukuro-favorite-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	transition: color 0.2s ease-in-out;
}

/* SVG ikony */
.lukuro-favorite-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.lukuro-favorite-icon svg path,
.lukuro-favorite-icon svg {
	fill: transparent;
	stroke: currentColor;
	transition: fill 0.2s ease-in-out, stroke 0.2s ease-in-out;
}

.lukuro-favorite-btn.is-favorite .lukuro-favorite-icon svg path,
.lukuro-favorite-btn.is-favorite .lukuro-favorite-icon svg {
	fill: currentColor;
	stroke: currentColor;
}

/* Font ikony (Themify, FontAwesome, etc.) */
.lukuro-favorite-icon i {
	font-size: inherit;
	transition: color 0.2s ease-in-out;
}

.lukuro-favorite-btn:hover .lukuro-favorite-icon {
	opacity: 0.8;
}

/* ─── Inline variant (next to Add to Cart) ───────────────── */

.lukuro-favorite-btn--inline {
	margin-left: 8px;
	padding: 0 !important;
	vertical-align: middle;
	flex: 0 0 auto !important;
	min-width: 0 !important;
	/* Wymiary nadpisane automatycznie przez JS (matchInlineButtonHeight) żeby idealnie pasować do Dodaj do koszyka */
	width: 42px;
	height: 42px;
	aspect-ratio: 1 / 1;

	/* Płynne wejście + kolory */
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s, background-color 0.2s ease, color 0.2s ease;
	border: 1px solid var(--primary, #e91e63) !important;
	color: var(--primary, #e91e63);
	background-color: transparent !important;
}

.lukuro-favorite-btn--inline.is-ready {
	opacity: 1;
	visibility: visible;
}

.lukuro-favorite-btn--inline .lukuro-favorite-icon {
	width: 22px;
	height: 22px;
}

.lukuro-favorite-btn--inline .lukuro-favorite-icon svg path,
.lukuro-favorite-btn--inline .lukuro-favorite-icon svg {
	stroke-width: 1px !important;
	stroke: var(--primary, #e91e63) !important;
}

.lukuro-favorite-btn--inline.is-favorite .lukuro-favorite-icon svg path,
.lukuro-favorite-btn--inline.is-favorite .lukuro-favorite-icon svg {
	fill: var(--primary, #e91e63) !important;
}

/* ─── Favorites Counter (header) ──────────────────────────── */

.lukuro-favorites-counter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	text-decoration: none;
	cursor: pointer;
	line-height: 1;
}

.lukuro-favorites-counter__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	transition: color 0.2s ease-in-out;
}

.lukuro-favorites-counter__icon svg {
	width: 1em;
	height: 1em;
	display: block;
	fill: transparent;
	stroke: currentColor;
	transition: fill 0.2s ease-in-out, stroke 0.2s ease-in-out;
}

/* Stan aktywny — ma produkty w ulubionych */
.lukuro-favorites-counter.has-favorites .lukuro-favorites-counter__icon svg {
	fill: currentColor;
	stroke: currentColor;
}

.lukuro-favorites-counter:hover .lukuro-favorites-counter__icon {
	opacity: 0.8;
}

/* Badge z licznikiem */
.lukuro-favorites-counter__badge {
	position: absolute;
	top: -6px;
	right: -8px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background-color: var(--primary, #e91e63);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	pointer-events: none;
}
