/*
 * Reusable component styles — base layer only. Token-driven so a
 * project's color/font overrides (ACF Engine) apply automatically.
 * Final visual design is a project-level decision.
 */

.container {
	max-width: 1140px;
	margin-inline: auto;
	padding-inline: 1rem;
}

.section {
	padding-block: clamp(2rem, 5vw, 4rem);
}

.sfe-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.5rem;
}

.button {
	display: inline-block;
	padding: 0.65rem 1.5rem;
	border-radius: 6px;
	background: var(--color-accent);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.button:hover,
.button:focus {
	background: var(--color-accent-dark);
}

.sfe-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	overflow: hidden;
}

.sfe-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.sfe-card__media img {
	display: block;
	width: 100%;
	height: auto;
}

.sfe-card__title {
	margin: 1rem 1rem 0.5rem;
	font-size: var(--text-lg);
}

.sfe-card__excerpt {
	margin: 0 1rem 1rem;
	color: var(--color-text-muted);
	font-size: var(--text-sm);
}
