/* ==========================================================================
   CARTÃO DE PRODUTO
   ========================================================================== */

.product-card {
	list-style: none;
	display: flex;
	flex-direction: column;
}

.product-card__media {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--silver-soft);
	border: 1px solid var(--line-color);
	margin-bottom: var(--space-xs);
}

.product-card__link {
	display: block;
	width: 100%;
	height: 100%;
}

.product-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity var(--dur-base) var(--ease), transform var(--dur-slow) var(--ease);
}

.product-card__img--main {
	opacity: 1;
}

.product-card__img--hover {
	opacity: 0;
}

.product-card:hover .product-card__img--main {
	opacity: 0;
}

.product-card:hover .product-card__img--hover {
	opacity: 1;
	transform: scale(1.04);
}

.product-card__badges {
	position: absolute;
	top: var(--space-xs);
	left: var(--space-xs);
	z-index: 2;
	display: flex;
	gap: 6px;
}

.badge {
	font-family: var(--font-mono);
	font-size: 0.65rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 0.35em 0.6em;
	background: var(--ink);
	color: var(--white);
}

.badge--outline {
	background: var(--paper);
	color: var(--ink);
	border: 1px solid var(--ink);
}

.product-card__quick-actions {
	position: absolute;
	top: var(--space-xs);
	right: var(--space-xs);
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 6px;
	opacity: 0;
	transform: translateX(6px);
	transition: opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}

.product-card:hover .product-card__quick-actions,
.product-card:focus-within .product-card__quick-actions {
	opacity: 1;
	transform: translateX(0);
}

.product-card__icon-btn {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--white);
	border: 1px solid var(--line-color);
	color: var(--ink);
	transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}

.product-card__icon-btn:hover {
	background: var(--ink);
	color: var(--white);
}

.product-card__icon-btn.is-active {
	background: var(--ink);
	color: var(--white);
}

.product-card__cat {
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	color: var(--ash);
	margin-bottom: 2px;
}

.product-card__title {
	font-size: var(--fs-base);
	font-weight: 600;
	margin-bottom: 4px;
}

.product-card__title a {
	text-decoration: none;
}

.product-card__price {
	display: block;
	font-size: var(--fs-sm);
}

/* Em telas tácteis sempre mostra as ações rápidas (não há :hover confiável) */
@media (hover: none) {
	.product-card__quick-actions {
		opacity: 1;
		transform: none;
	}
}
