/* Пламя и Бусина — Избранное — self-contained styles.
   Uses theme design tokens when present, falls back to literals otherwise. */

/* Heart active state (catalog cards + single product) */
.pc-fav.is-wished svg,
.cta-fav.is-wished svg { fill: var(--pink, #f04489); stroke: var(--pink, #f04489); }
.pc-fav, .cta-fav { transition: transform .15s ease; }
.pc-fav:active, .cta-fav:active { transform: scale(.9); }

/* Header badge (when not provided by theme's .hbadge) */
.fab-wishlist-count:not(.hbadge) {
	position: absolute; top: -4px; right: -6px;
	background: var(--ink, #1a1612); color: var(--paper, #f5f1ea);
	font-family: var(--sans, "Inter", system-ui, sans-serif);
	font-size: 9px; font-weight: 600; width: 16px; height: 16px; border-radius: 8px;
	display: flex; align-items: center; justify-content: center;
}

/* ─── WISHLIST GRID ─── */
.wl-wrap { width: 100%; }
.wl-wrap .products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wl-wrap .product-card { position: relative; }
.wl-wrap .product-img-wrap { position: relative; aspect-ratio: 3/4; overflow: hidden; margin-bottom: 12px; background: var(--paper-deep, #ece6db); }
.wl-wrap .product-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.wl-wrap .product-card:hover .product-img-wrap img { transform: scale(1.04); }
.wl-wrap .product-remove {
	position: absolute; top: 10px; right: 10px; width: 28px; height: 28px;
	background: rgba(245,241,234,.9); display: flex; align-items: center; justify-content: center;
	cursor: pointer; border: none; font-family: var(--sans, "Inter", sans-serif); font-size: 16px;
	color: var(--ink, #1a1612); z-index: 1; line-height: 1;
}
.wl-wrap .product-remove:hover { background: #fff; }
.wl-wrap .product-badge {
	position: absolute; bottom: 10px; left: 10px; z-index: 1;
	font-family: var(--sans, "Inter", sans-serif); font-size: 9px; letter-spacing: 1.2px;
	text-transform: uppercase; padding: 3px 10px;
}
.wl-wrap .badge-copper { background: var(--copper, #b0683a); color: var(--paper, #f5f1ea); }
.wl-wrap .badge-pink { background: var(--pink, #f04489); color: #fff; }
.wl-wrap .product-cat { font-family: var(--sans, "Inter", sans-serif); font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--muted, #8a7f70); margin-bottom: 5px; }
.wl-wrap .product-name { display: block; font-family: var(--serif, "Noto Serif", serif); font-size: 18px; font-weight: 600; line-height: 1.2; color: var(--ink, #1a1612); margin-bottom: 8px; }
.wl-wrap .product-price-row { font-family: var(--serif, "Noto Serif", serif); }
.wl-wrap .product-price, .wl-wrap .woocommerce-Price-amount { font-family: var(--serif, "Noto Serif", serif); font-size: 14px; font-weight: 600; color: var(--ink, #1a1612); }
.wl-wrap del .woocommerce-Price-amount { color: var(--muted, #8a7f70); font-weight: 400; }
.wl-wrap ins { text-decoration: none; }
/* heart remove button (top-right, filled like catalog's wished state) */
.wl-wrap .pc-fav { position: absolute; top: 14px; right: 14px; z-index: 2; background: none; border: none; padding: 0; line-height: 0; cursor: pointer; }

/* price pill = add to cart (как .pc-price в каталоге) */
.wl-wrap .pc-price {
	position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); z-index: 1;
	background: var(--ink2, #1a1612); color: #fff; padding: 8px 14px;
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--serif, "Noto Serif", serif); font-size: 14px; font-weight: 700; white-space: nowrap;
}
.wl-wrap .pc-price, .wl-wrap .pc-price .woocommerce-Price-amount, .wl-wrap .pc-price ins, .wl-wrap .pc-price ins .woocommerce-Price-amount { color: #fff; }
.wl-wrap .pc-price del, .wl-wrap .pc-price del .woocommerce-Price-amount { color: rgba(255,255,255,.55); }
.wl-wrap .pc-price.is-sold { opacity: .65; }
@media (max-width: 599px) { .wl-wrap .pc-price { font-size: 11px; padding: 5px 9px; } }

/* status chip on the card (top-left; sale badge keeps bottom-left) */
.wl-wrap .badge-stock { top: 10px; left: 10px; bottom: auto; }
.wl-wrap .badge-stock-in { background: rgba(245,241,234,.92); color: var(--ink, #1a1612); }
.wl-wrap .badge-stock-out { background: var(--ink, #1a1612); color: var(--paper, #f5f1ea); }
.wl-wrap .product-card[data-stock="out"] .product-img-wrap img { filter: grayscale(.55); opacity: .85; }

/* status filter chips (как filter-chip в каталоге) */
.wl-filter { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.wl-chip {
	font-family: var(--sans, "Inter", sans-serif); font-size: 11px; letter-spacing: 1.2px;
	text-transform: uppercase; padding: 9px 16px; border: 1px solid var(--ink, #1a1612);
	background: transparent; color: var(--ink, #1a1612); cursor: pointer;
	display: inline-flex; align-items: center; gap: 6px; transition: background .15s, color .15s;
}
.wl-chip.active { background: var(--ink, #1a1612); color: var(--paper, #f5f1ea); }
.wl-chip-n { opacity: .55; }

/* empty state */
.wl-empty { padding: 24px 0 8px; }
.wl-empty-text { font-family: var(--serif, "Noto Serif", serif); font-size: 16px; color: var(--ink2, #373737); line-height: 1.6; max-width: 460px; margin-bottom: 20px; }

/* bulk bar */
.wl-wrap .bulk-bar { background: var(--ink, #1a1612); color: var(--paper, #f5f1ea); padding: 20px 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 32px; }
.wl-wrap .bulk-label { font-family: var(--sans, "Inter", sans-serif); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--copper-soft, #c98a5a); }
.wl-wrap .bulk-sub { display: block; font-family: var(--sans, "Inter", sans-serif); font-size: 11px; color: rgba(245,241,234,.6); letter-spacing: .6px; margin-top: 4px; }
.wl-wrap .bulk-right { display: flex; align-items: center; gap: 12px; }
.wl-wrap .btn-outline-white { font-family: var(--sans, "Inter", sans-serif); font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; padding: 10px 20px; border: 1px solid rgba(245,241,234,.4); color: var(--paper, #f5f1ea); background: transparent; cursor: pointer; }
.wl-wrap .btn-white-solid { font-family: var(--sans, "Inter", sans-serif); font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; padding: 10px 20px; background: #fff; color: var(--ink, #1a1612); cursor: pointer; border: none; display: flex; align-items: center; gap: 8px; }

@media (max-width: 1023px) { .wl-wrap .products-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
@media (max-width: 599px) {
	.wl-wrap .products-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.wl-wrap .bulk-bar { flex-direction: column; align-items: stretch; gap: 14px; }
	.wl-wrap .bulk-right { flex-direction: column; }
	.wl-wrap .btn-outline-white, .wl-wrap .btn-white-solid { justify-content: center; width: 100%; }
}
