/* Wishlist: heart buttons, header badge and the Wishlist page. Card action buttons are shared with quick view. */
.product-card__figure { position: relative; }
.product-card__actions { position: absolute; top: var(--space-2); right: var(--space-2); z-index: 2; display: flex; flex-direction: column; gap: 0.4rem; }
.card-action, .wishlist-btn--icon { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; background: rgba(255, 255, 255, 0.92); color: var(--color-text); border: 0; border-radius: 50%; box-shadow: 0 2px 8px rgba(43, 42, 51, 0.15); cursor: pointer; transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease; }
.card-action:hover, .wishlist-btn--icon:hover { background: #fff; color: var(--color-primary); transform: scale(1.06); }
.card-action .icon, .wishlist-btn--icon .icon { width: 1.2rem; height: 1.2rem; }
.wishlist-btn.is-saved .icon { fill: currentColor; color: var(--color-primary); }
.wishlist-btn--icon.is-saved { color: var(--color-primary); }
@media (min-width: 900px) and (hover: hover) {
	/* On pointer devices the eye shows on hover or keyboard focus; the heart stays visible. */
	.product-card .quick-view-btn { opacity: 0; transform: translateY(-4px); }
	.product-card:hover .quick-view-btn, .product-card:focus-within .quick-view-btn, .quick-view-btn:focus-visible { opacity: 1; transform: none; }
}

.wishlist-btn--text { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0; background: none; border: 0; color: var(--color-text); font: inherit; font-weight: 600; cursor: pointer; }
.wishlist-btn--text:hover { color: var(--color-primary); }
.wishlist-btn--text .icon { width: 1.25rem; height: 1.25rem; }
.wishlist-btn--square { flex: none; display: inline-grid; place-items: center; width: 48px; height: 48px; padding: 0; background: var(--color-surface); color: var(--color-text); border: 1.5px solid var(--color-border); border-radius: var(--radius-pill); cursor: pointer; transition: border-color 0.15s ease, color 0.15s ease; }
.wishlist-btn--square:hover { border-color: var(--color-primary); color: var(--color-primary); }
.wishlist-btn--square .icon { width: 1.3rem; height: 1.3rem; }
.wishlist-btn--square.is-saved { border-color: var(--color-primary); background: var(--color-primary-soft); }

.wishlist-count { position: absolute; top: 2px; right: 0; min-width: 20px; height: 20px; padding: 0 5px; background: var(--color-primary); color: #fff; border-radius: var(--radius-pill); font: 700 0.72rem/20px var(--font-body); text-align: center; }
.wishlist-count[data-count="0"] { display: none; }
/* Six header controls on a phone: slightly narrower tap areas keep the logo readable. */
@media (max-width: 480px) { .header-actions { gap: 0; } .header-actions .icon-btn, .site-header .nav-toggle { width: 40px; } }

.wishlist-page { padding-bottom: var(--space-5); }
.wishlist-page__summary { margin: 0 0 var(--space-3); color: var(--color-muted); font-weight: 600; }
.wishlist-page__summary:empty { display: none; }
.wishlist-page__empty { display: grid; justify-items: center; gap: var(--space-2); max-width: 28rem; margin: var(--space-4) auto; padding: var(--space-5) var(--space-3); text-align: center; background: var(--color-tint); border-radius: var(--radius-lg); }
.wishlist-page__empty[hidden] { display: none; }
.wishlist-page__empty .icon { width: 2.5rem; height: 2.5rem; color: var(--color-primary); }
.wishlist-page__empty h2 { margin: 0; font-size: var(--text-lg); }
.wishlist-page__empty p { margin: 0 0 var(--space-2); color: var(--color-muted); }

/* Phones: quantity and heart share a row, Add to Cart gets its own full-width row (three items do not fit on one line). */
@media (max-width: 479px) {
	form.cart .quantity, .woocommerce-variation-add-to-cart .quantity { order: 1; }
	form.cart .wishlist-btn--square, .woocommerce-variation-add-to-cart .wishlist-btn--square { order: 2; margin-left: auto; }
	form.cart .single_add_to_cart_button, .woocommerce-variation-add-to-cart .single_add_to_cart_button { order: 3; flex: 1 1 100%; }
}
