/* Poster card. Tokens only (TokenLintTest). */
.c-poster-card {
	position: relative; display: block;
	width: 100%; aspect-ratio: 2 / 3;
	border-radius: var(--radius-s);
	overflow: hidden;
	background: var(--color-surface);
	transition: transform var(--t-feedback) var(--ease-standard);
}
.c-poster-card:active { transform: scale(0.96); }
.c-poster-card img { width: 100%; height: 100%; object-fit: cover; }
.c-poster-card__no-art {
	position: absolute; inset: 0;
	display: grid; place-items: center; padding: var(--space-2-5);
	text-align: center; font-size: var(--text-s); font-weight: 600; color: var(--color-text-muted);
	background: var(--color-control);
}
.c-poster-card__caption { display: none; }
@media (hover: hover) and (pointer: fine) {
	.c-poster-card {
		z-index: 1;
		transition: transform 180ms var(--ease-standard), box-shadow 180ms var(--ease-standard), z-index 0s 180ms;
	}
	.c-poster-card:hover, .c-poster-card:focus-visible {
		transform: scale(1.08); z-index: 2;
		box-shadow: var(--shadow-lift);
		transition: transform 220ms var(--ease-out) 120ms, box-shadow 220ms var(--ease-out) 120ms, z-index 0s;
	}
	.c-poster-card:active { transform: scale(1.04); }
	.c-poster-card__caption {
		display: flex; flex-direction: column; gap: var(--space-0-5);
		position: absolute; left: 0; right: 0; bottom: 0;
		padding: var(--caption-pad-top) var(--space-2-5) var(--space-2-5);
		background: var(--scrim-caption);
		opacity: 0;
		transition: opacity 200ms var(--ease-standard) 120ms;
	}
	.c-poster-card:hover .c-poster-card__caption, .c-poster-card:focus-visible .c-poster-card__caption { opacity: 1; }
	.c-poster-card__title {
		font-size: var(--text-sm); font-weight: 700; line-height: 1.3;
		display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	}
	.c-poster-card__meta { font-size: var(--text-xs); color: var(--color-text-muted); }
}
@media (prefers-reduced-motion: reduce) {
	.c-poster-card:active, .c-poster-card:hover, .c-poster-card:focus-visible { transform: none; }
}
