/*
 * Small set of layout utilities used across templates. Kept intentionally
 * minimal — most layout lives in components.css alongside the markup it styles.
 */

.text-center { text-align: center; }

.flow > * + * { margin-top: var(--space-sm); }

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }

/* Small metadata line under a heading (post date, capacity notes) */
.entry-meta {
	font-size: var(--text-sm);
	font-weight: 600;
	letter-spacing: var(--tracking-wide);
	color: var(--color-text-muted);
	text-transform: uppercase;
}

/* Admin-facing empty-state hint (shown when a dynamic section has no content yet) */
.ahc-empty {
	padding: var(--space-sm);
	border: 1px dashed var(--color-border);
	border-radius: var(--radius-sm);
	color: var(--color-text-muted);
	font-size: var(--text-sm);
}

/* Compact stat/number blocks (About page) */
.stat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: var(--space-md);
	text-align: center;
}

.stat-grid__number {
	font-size: var(--text-2xl);
	font-weight: 800;
	color: var(--color-ink);
	line-height: 1;
	margin-bottom: var(--space-3xs);
}

.stat-grid__label {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}
