/* Cataloguin Favoritos — estilos públicos.
   Prefixo .cf- para não colidir com o tema ou outros plugins. */

.cf-favorite-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 999px;
	background: #fff;
	color: #444;
	cursor: pointer;
	transition: transform 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.cf-favorite-button:hover {
	border-color: #e0245e;
}

.cf-favorite-button.is-favorite {
	color: #e0245e;
	border-color: #e0245e;
}

.cf-favorite-button.cf-animate.is-favorite .cf-favorite-icon {
	animation: cf-pop 0.28s ease;
}

@keyframes cf-pop {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.35); }
	100% { transform: scale(1); }
}

.cf-favorite-icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

.cf-favorites-icon-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	color: inherit;
}

.cf-favorites-counter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.25rem;
	height: 1.25rem;
	padding: 0 5px;
	border-radius: 999px;
	background: #e0245e;
	color: #fff;
	font-size: 0.72rem;
	line-height: 1;
}

.cf-favorites-list:not(.cf-favorites-list--theme) {
	display: grid;
	grid-template-columns: repeat(var(--cf-columns, 3), 1fr);
	gap: 20px;
}

/* Quando o card padrão do tema/WooCommerce é usado, o próprio <ul class="products">
   já cuida do grid — este wrapper fica "transparente" para não interferir. */
.cf-favorites-list--theme {
	display: block;
}

@media (max-width: 782px) {
	.cf-favorites-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.cf-favorites-list {
		grid-template-columns: 1fr;
	}
}

.cf-favorite-card {
	position: relative;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 10px;
	padding: 14px;
	text-align: center;
}

.cf-favorite-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.cf-favorite-card__image img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
}

.cf-favorite-card__title {
	margin: 10px 0 4px;
	font-size: 0.95rem;
}

.cf-favorite-card .cf-favorite-button {
	position: absolute;
	top: 10px;
	right: 10px;
}

.cf-favorites-list--empty,
.cf-favorites-loading {
	padding: 24px;
	text-align: center;
	color: #666;
}

.cf-favorites-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 20px;
}
