/**
 * TM Event Calendar - shared event card component.
 *
 * Depends on design-system.css (--tec-* tokens), loaded before this file.
 * Used by templates/frontend/event-card.php, rendered both on the events
 * archive (templates/frontend/archive-event.php) and the [tm_event_list]
 * shortcode's Grid view (templates/frontend/event-list-items.php) — one
 * declaration block instead of duplicating card styles per context.
 */

.tmec-event-card-item {
	list-style: none;
}

.tmec-event-card {
	display: flex;
	flex-direction: column;
	gap: var(--tec-space-2);
	height: 100%;
	text-decoration: none;
	color: var(--tec-text);
	border: 1px solid var(--tec-border);
	border-radius: var(--tec-radius-lg);
	padding: var(--tec-space-4);
	background: var(--tec-bg);
	box-shadow: var(--tec-shadow-xs);
	transition: box-shadow var(--tec-transition-base), transform var(--tec-transition-base), border-color var(--tec-transition-base);
}

.tmec-event-card:hover {
	box-shadow: var(--tec-shadow-md);
	transform: translateY(-3px);
	border-color: var(--tec-border-strong);
}

.tmec-event-card:focus-visible {
	outline: none;
	box-shadow: var(--tec-shadow-focus);
}

.tmec-event-card__thumbnail {
	display: block;
	overflow: hidden;
	border-radius: var(--tec-radius-md);
}

.tmec-event-card__thumbnail img {
	width: 100%;
	height: 140px;
	object-fit: cover;
	display: block;
	transition: transform var(--tec-transition-slow);
}

.tmec-event-card:hover .tmec-event-card__thumbnail img {
	transform: scale(1.05);
}

.tmec-event-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--tec-space-1);
}

.tmec-event-card__title {
	font-weight: var(--tec-font-weight-bold);
	font-size: var(--tec-font-size-base);
}

.tmec-event-card__meta {
	font-size: var(--tec-font-size-xs);
	color: var(--tec-muted);
}

@media (prefers-reduced-motion: reduce) {
	.tmec-event-card,
	.tmec-event-card__thumbnail img {
		transition: none;
	}

	.tmec-event-card:hover .tmec-event-card__thumbnail img {
		transform: none;
	}
}
