/* ============================================================
   Grupo Versatile — Wishlist
   ============================================================ */

/* Make sure product cards can host an absolutely-positioned heart */
.product-card {
	position: relative;
}

/* ---------- Heart button on catalog/featured cards ---------- */
.product-card__wishlist {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.95);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	border: 1px solid var(--line);
	display: grid;
	place-items: center;
	cursor: pointer;
	color: var(--ink-500);
	transition: all 0.2s var(--ease-out, ease-out);
	z-index: 3;
}

.product-card__wishlist:hover {
	color: #ef4444;
	border-color: #fca5a5;
	background: #ffffff;
	transform: scale(1.08);
}

.product-card__wishlist:focus-visible {
	outline: 2px solid var(--royal-500);
	outline-offset: 2px;
}

.product-card__wishlist svg {
	width: 17px;
	height: 17px;
	transition: fill 0.2s var(--ease-out, ease-out);
}

.product-card__wishlist.is-active {
	color: #ef4444;
	border-color: #fca5a5;
	background: #fef2f2;
}

.product-card__wishlist.is-active svg {
	fill: #ef4444;
}

.product-card__wishlist:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

/* ---------- Wishlist page ---------- */
.wishlist-page {
	padding: 100px 0 80px;
	background: var(--bone);
	min-height: 80vh;
}

.wishlist-header {
	text-align: center;
	margin-bottom: 40px;
}

.wishlist-header .catalog-title {
	font-family: var(--font-display);
	color: var(--navy-900);
	margin: 0;
}

.wishlist-bulk-bar {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 24px;
}

/* ---------- Empty state ---------- */
.wishlist-empty {
	text-align: center;
	padding: 80px 24px;
	background: #ffffff;
	border-radius: var(--radius-md);
	border: 1px solid var(--line);
	max-width: 560px;
	margin: 0 auto;
}

.wishlist-empty__icon {
	width: 96px;
	height: 96px;
	margin: 0 auto 24px;
	color: #fca5a5;
}

.wishlist-empty__icon svg {
	width: 100%;
	height: 100%;
}

.wishlist-empty h2 {
	font-size: 24px;
	font-family: var(--font-display);
	color: var(--navy-900);
	margin: 0 0 10px;
}

.wishlist-empty p {
	color: var(--ink-500);
	margin: 0 0 28px;
	line-height: 1.6;
}

/* ---------- Remove (X) button on wishlist page cards ---------- */
.gv-wishlist-remove {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid var(--line);
	display: grid;
	place-items: center;
	cursor: pointer;
	color: var(--ink-500);
	z-index: 3;
	transition: all 0.2s var(--ease-out, ease-out);
}

.gv-wishlist-remove:hover {
	background: #fef2f2;
	color: #dc2626;
	border-color: #fca5a5;
	transform: scale(1.05);
}

.gv-wishlist-remove:focus-visible {
	outline: 2px solid var(--royal-500);
	outline-offset: 2px;
}

.gv-wishlist-remove svg {
	width: 14px;
	height: 14px;
}

/* ---------- Toast ---------- */
.gv-wishlist-toast {
	position: fixed;
	bottom: 28px;
	right: 28px;
	background: var(--navy-900);
	color: #ffffff;
	padding: 14px 22px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 500;
	box-shadow: 0 12px 32px rgba(6, 21, 52, 0.25);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 0.3s var(--ease-out, ease-out),
		transform 0.3s var(--ease-out, ease-out),
		visibility 0.3s var(--ease-out, ease-out);
	z-index: 9999;
	pointer-events: none;
	max-width: calc(100vw - 56px);
}

.gv-wishlist-toast.visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
	.wishlist-page {
		padding: 80px 0 60px;
	}

	.wishlist-empty {
		padding: 56px 20px;
	}

	.wishlist-empty__icon {
		width: 72px;
		height: 72px;
	}

	.gv-wishlist-toast {
		left: 16px;
		right: 16px;
		bottom: 16px;
		text-align: center;
	}

	.product-card__wishlist {
		width: 34px;
		height: 34px;
	}
}
