.bpt-card {
	overflow: hidden;
	background: var(--section-card-bg);
	color: var(--section-card-fg);
	border: var(--bpt-border-thin) solid var(--section-border);
	border-radius: var(--bpt-radius-md);
	transition:
		transform var(--bpt-duration-base) var(--bpt-ease-standard),
		box-shadow var(--bpt-duration-base) var(--bpt-ease-standard),
		border-color var(--bpt-duration-base) var(--bpt-ease-standard);
}

.bpt-post-card__media {
	display: block;
	aspect-ratio: var(--card-media-ratio, 4 / 3);
	background: var(--bpt-color-surface-alt);
}

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

.bpt-post-card__body {
	padding: var(--bpt-space-lg);
}

.bpt-post-card__title {
	font-size: var(--bpt-text-lg);
}

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

.bpt-card-hover-shadow .bpt-card:hover,
.bpt-card-hover-shadow .bpt-card:focus-within {
	box-shadow: var(--bpt-shadow-lg);
}

.bpt-card-hover-border-accent .bpt-card:hover,
.bpt-card-hover-border-accent .bpt-card:focus-within {
	border-color: var(--section-accent, var(--bpt-color-primary));
}

@media (prefers-reduced-motion: no-preference) {
	.bpt-card-hover-lift .bpt-card:hover,
	.bpt-card-hover-lift .bpt-card:focus-within {
		transform: translateY(-4px);
		box-shadow: var(--bpt-shadow-lg);
	}
}

