/**
 * Sistema global de tarjetas.
 *
 * @package Groowleck
 */

.card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: var(--groowleck-border-default);
	border-radius: var(--groowleck-radius-lg);
	background: var(--groowleck-color-background);
	box-shadow: var(--groowleck-shadow-xs);
	transition: var(--groowleck-transition-interactive);
}

.card:hover {
	border-color: rgba(0, 102, 255, 0.18);
	box-shadow: var(--groowleck-shadow-md);
	transform: translateY(-2px);
}

.card__media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--groowleck-color-surface);
}

.card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--groowleck-space-4);
	padding: var(--groowleck-space-6);
}

.card__eyebrow {
	color: var(--groowleck-color-accent);
	font-size: var(--groowleck-font-size-sm);
	font-weight: var(--groowleck-font-weight-semibold);
	letter-spacing: var(--groowleck-letter-spacing-wide);
	text-transform: uppercase;
}

.card__title {
	font-size: var(--groowleck-font-size-2xl);
}

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

.card__description {
	color: var(--groowleck-color-text-body);
}

.card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--groowleck-space-3);
	color: var(--groowleck-color-text-muted);
	font-size: var(--groowleck-font-size-sm);
}

.card__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--groowleck-space-3);
	margin-block-start: auto;
	padding-block-start: var(--groowleck-space-4);
}

.card--horizontal {
	display: grid;
	grid-template-columns: minmax(10rem, 0.85fr) minmax(0, 1.15fr);
}

.card--horizontal .card__media {
	aspect-ratio: auto;
	min-height: 100%;
}

.card--surface {
	background: var(--groowleck-color-surface);
}

.card--flat {
	box-shadow: none;
}

@media (max-width: 42rem) {
	.card--horizontal {
		grid-template-columns: minmax(0, 1fr);
	}

	.card--horizontal .card__media {
		aspect-ratio: 16 / 9;
	}
}
