/* Product card. */
.ks-card { display: flex; flex-direction: column; height: 100%; color: var(--ks-black); }
.ks-card__media {
	position: relative;
	aspect-ratio: 1 / 1;
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 14px;
	background: var(--ks-white);
}
.ks-card__media > img, .ks-card__media > svg { width: 100%; height: 100%; object-fit: contain; }
.ks-card__bolt { position: absolute; top: 2px; right: 2px; z-index: 1; color: var(--ks-green); display: inline-flex; }
.ks-card__tag {
	position: absolute; top: 0; left: 0; z-index: 1;
	padding: 2px 6px; border-radius: 2px;
	background: var(--ks-gray7); color: var(--ks-black);
	font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .02em;
}
.ks-card__name {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: 2.6em;
	font-size: var(--ks-fs-14); font-weight: 400; line-height: 1.3;
	margin-bottom: 14px;
}
.ks-card:hover .ks-card__name { text-decoration: underline; text-underline-offset: 3px; }
.ks-card__price { display: flex; flex-direction: column; gap: 2px; font-size: var(--ks-fs-14); line-height: 1.35; }
.ks-price.is-sale { color: var(--ks-red); }
.ks-price.is-empty { color: var(--ks-black); }
.ks-card__was { color: var(--ks-gray3); }
.ks-card__was del { color: var(--ks-gray3); }
.ks-card__meta { margin-top: 2px; color: var(--ks-gray3); font-size: var(--ks-fs-14); }
.ks-card__date { margin-bottom: 18px; color: var(--ks-gray2); font-size: var(--ks-fs-14); text-transform: uppercase; }
@media (min-width: 1024px) {
	.ks-card__name, .ks-card__price, .ks-card__meta, .ks-card__date { font-size: var(--ks-fs-15); }
	.ks-card__name { margin-bottom: 18px; }
	.ks-card__date { margin-bottom: 28px; }
}

/* Grid variant used in listings. */
.ks-card--grid { padding: 16px 12px 20px; }
.ks-card--grid .ks-card__media { aspect-ratio: 4 / 3; margin-bottom: 18px; padding-top: 18px; }
.ks-card--grid .ks-card__price { flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.ks-card--grid .ks-price { font-size: var(--ks-fs-16); font-weight: 600; color: var(--ks-black); }
.ks-card--grid .ks-card__was del { font-size: var(--ks-fs-12); }
.ks-card__below { margin-top: 4px; color: var(--ks-red); font-size: var(--ks-fs-12); }
@media (min-width: 1024px) {
	.ks-card--grid { padding: 20px 20px 24px; }
	.ks-card--grid .ks-price { font-size: var(--ks-fs-18); }
	.ks-card__below { font-size: var(--ks-fs-13); }
}

/* Placeholder SVG classes. */
.ks-ph .f { fill: var(--ph-f); stroke: var(--ph-s); stroke-width: 2; stroke-linejoin: round; }
.ks-ph .s { fill: var(--ph-s); stroke: var(--ph-s); stroke-width: 2; stroke-linejoin: round; opacity: .85; }
.ks-ph .l { fill: none; stroke: var(--ph-s); stroke-width: 2; stroke-linecap: round; opacity: .6; }
.ks-ph text { font-family: var(--ks-font); }
.ks-ph-wrap { display: block; width: 100%; aspect-ratio: 1 / 1; }
.ks-ph-wrap svg { width: 100%; height: 100%; }
