/**
 * Cards (§10) — λευκό φόντο, 1px border, radius 12–16px, διακριτικό elevation στο hover.
 */

.of-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background-color: var(--color-surface);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--radius-product);
	transition: box-shadow var(--transition-default), transform var(--transition-default);
}

.of-card--soft {
	box-shadow: var(--shadow-soft);
}

/* Hover μόνο σε συσκευές με ποντίκι */
@media (hover: hover) {
	.of-card--interactive:hover {
		box-shadow: var(--shadow-elevated);
		transform: translateY(var(--lift));
	}
}

/* Τύποι card: αναλογία εικόνας και radius (§8, §12) */
.of-card--product {
	--card-ratio: var(--ratio-product);
	--card-fit: contain;
}

.of-card--category {
	--card-ratio: var(--ratio-category);
	border-radius: var(--radius-category);
}

.of-card--promo {
	border-radius: var(--radius-promo);
}

.of-card--blog {
	--card-ratio: var(--ratio-blog);
}

.of-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: var(--card-ratio, var(--ratio-product));
	background-color: var(--color-surface);
}

.of-card__media img {
	width: 100%;
	height: 100%;
	object-fit: var(--card-fit, cover);
}

.of-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-4);
}

.of-card__title {
	margin: 0;
	color: var(--color-heading);
	font-size: var(--fs-h6);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-heading);
}

@media (min-width: 1024px) {
	.of-card__body {
		padding: var(--space-5);
	}
}
