/* ==========================================================================
   ULUBIONE (wishlist) — serce-toggle (kafel + single) + strona ulubionych.
   Stan on/off = kolor wypełnienia serca (heart.svg jest wypełniony, bez stroke)
   → `fill: currentColor`, sterowane klasą `.is-active` (JS z localStorage).
   Licznik w headerze reużywa `.site-header__cart-count`. Tokeny theme.json.
   ========================================================================== */

.wishlist-heart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.25rem;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--placeholder); /* nieaktywne = wyciszone */
	line-height: 0;
	cursor: pointer;
}

.wishlist-heart svg {
	inline-size: 1.5rem;
	block-size: auto;
	display: block;
}

.wishlist-heart svg path {
	fill: currentColor;
	transition: fill 0.2s ease;
}

.wishlist-heart:hover,
.wishlist-heart:focus-visible {
	color: var(--wp--preset--color--dark);
}

.wishlist-heart.is-active {
	color: var(--wp--preset--color--accent); /* aktywne = wypełnione akcentem */
}

.wishlist-heart:focus-visible {
	outline: 2px solid var(--wp--preset--color--dark);
	outline-offset: 2px;
	border-radius: var(--wp--custom--radius--pill);
}

/* Bez „mrugnięcia" przy pierwszym oznaczeniu (JS dodaje .wishlist-ready na <html>). */
html:not(.wishlist-ready) .wishlist-heart svg path {
	transition: none;
}

/* Serce jest RODZEŃSTWEM linku media (nie można <button> w <a>), więc kotwicę
   absolutną daje mu `.product-card` — media ma `overflow:hidden`, nie nadaje się.
   Addytywne i bezpieczne (flex-column bez zmian); naprawia też kotwiczenie na
   wyszukiwarce/stronie ulubionych, gdzie nie ma relative `li.product`. */
.product-card {
	position: relative;
}

/* Na kaflu serce dziedziczy pozycjonowanie z prymitywu `.product-card__wishlist`
   (components.css: absolut w rogu, 2rem, grid-center) — tu tylko rozmiar SVG. */
.product-card__wishlist.wishlist-heart svg {
	inline-size: 1.5rem;
}

.product-card__wishlist.wishlist-heart:hover svg {
	transform: scale(1.12);
	transition: transform 0.2s ease;
}


/* --------------------------------------------------------------------------
   STRONA ULUBIONYCH — shortcode [humee_wishlist]. Kontener = prymityw `.wrapper`
   (max-width + gutter; page.php nie daje gorsetu → bez tego shortcode leciał
   edge-to-edge). Siatka (pusta i wypełniona) = wspólny `.product-grid`
   (components.css) — jeden rytm/gap co listing/404/koszyk (DRY, ADR-0024).
   -------------------------------------------------------------------------- */
.wishlist-page {
	padding-block: var(--wp--preset--spacing--lg) var(--wp--preset--spacing--xl);
}

/* Nagłówek strony — parytet z `.shop-header__title` (H1 46px, waga regularna). */
.wishlist-page__head {
	margin-block-end: var(--wp--preset--spacing--lg);
}
.wishlist-page__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--h-1);
	line-height: var(--wp--custom--line-height--tight);
	letter-spacing: var(--wp--custom--letter-spacing--wide);
}

/* Pusty stan = lead („może coś z tego?") nad rekomendacjami. Siatka dziedziczy
   rytm z `.product-grid`; stylujemy tu tylko lead. */
.wishlist-page__empty {
	margin-block-start: 0;
}

.wishlist-page__empty-lead {
	margin-block-end: var(--wp--preset--spacing--lg);
	font-size: var(--wp--preset--font-size--lead);
	line-height: var(--wp--custom--line-height--body);
	color: var(--wp--preset--color--dark);
}
