.n-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: var(--color-surface);
	color: var(--color-text-primary);
}

.n-product-card__media {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: var(--radius-md);
	background-color: var(--color-surface-alt);
	aspect-ratio: 3 / 4;
}

.n-product-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.n-product-card__badge {
	position: absolute;
	top: var(--space-16);
	left: var(--space-16);
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding-inline: var(--space-8);
	border-radius: 999px;
	background-color: var(--color-accent-soft);
	color: var(--color-text-primary);
	line-height: 1;
}

.n-product-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--space-8);
	padding-top: var(--space-16);
}

.n-product-card__title {
	margin: 0;
	color: var(--color-text-primary);
	font-weight: 600;
	line-height: 1.25;
	text-wrap: balance;
}

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

.n-product-card__title a:hover,
.n-product-card__title a:focus-visible {
	color: var(--color-brand-primary);
}

.n-product-card__price {
	margin: 0;
	color: var(--color-text-primary);
	line-height: 1.5;
}

.n-product-card__text {
	margin: 0;
	color: var(--color-text-secondary);
	line-height: 1.6;
}

.n-product-card__link {
	align-self: flex-start;
	margin-top: auto;
	padding-top: var(--space-8);
}

.n-product-card__stock {
	margin: 0;
	line-height: 1.5;
}

.n-product-card__stock--in-stock {
	color: var(--color-text-secondary);
}

.n-product-card__stock--out-of-stock {
	color: var(--color-error);
}
