/**
 * Theme Zero card component.
 *
 * Styles are intentionally scoped to the .t0-card namespace so WordPress
 * blocks, post templates and plugin interfaces remain unaffected.
 */

.t0-card {
	--t0-card-padding: clamp(1.25rem, 2.5vw, 2rem);
	--t0-card-border-color: var(--wp--preset--color--border, #d9e1ea);
	--t0-card-background: var(--wp--preset--color--surface, #ffffff);
	--t0-card-shadow: 0 0.375rem 1.25rem rgba(20, 36, 59, 0.06);

	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 0.0625rem solid var(--t0-card-border-color);
	border-radius: var(--wp--custom--radius--medium, 1rem);
	background: var(--t0-card-background);
	box-shadow: var(--t0-card-shadow);
}


.t0-card--interactive:focus-visible {
	outline: 0.1875rem solid var(--wp--preset--color--primary, #2459b3);
	outline-offset: 0.1875rem;
}

.t0-card__media {
	position: relative;
	margin: 0;
	overflow: hidden;
	background: var(--wp--preset--color--background, #f4f6f8);
}

.t0-card__media > img,
.t0-card__media > picture,
.t0-card__media > video {
	width: 100%;
}

.t0-card__body {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
	padding: var(--t0-card-padding);
}

.t0-card__title {
	margin: 0;
	color: var(--wp--preset--color--text, #14243b);
	font-size: var(--wp--preset--font-size--x-large, 1.5rem);
	font-weight: 700;
	line-height: 1.25;
	text-wrap: balance;
}

.t0-card__title + .t0-card__text {
	margin-block-start: var(--wp--preset--spacing--30, 0.75rem);
}

.t0-card__text {
	margin: 0;
	color: var(--wp--preset--color--text-muted, #5e6a78);
}

.t0-card__footer {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30, 0.75rem);
	margin-block-start: auto;
	padding-block-start: var(--wp--preset--spacing--50, 1.5rem);
}

@media (forced-colors: active) {
	.t0-card {
		box-shadow: none;
	}

	.t0-card--interactive:focus-visible {
		outline-color: Highlight;
	}
}
