/**
 * Layout: shell, rejillas, regiones.
 */
.cm-shell {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.cm-main {
	flex: 1 1 auto;
	padding-bottom: 2.5rem;
}

.cm-container {
	width: 100%;
	max-width: var(--cm-max);
	margin-inline: auto;
	padding-inline: var(--cm-space);
}

.cm-section {
	margin-top: clamp(1.75rem, 4vw, 3rem);
}

.cm-section__title {
	font-size: clamp(1.25rem, 2.4vw, 1.5rem);
	font-weight: 700;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}

.cm-grid {
	display: grid;
	gap: var(--cm-space);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}

.cm-grid--tight {
	gap: 0.75rem;
}

.cm-split {
	display: grid;
	gap: var(--cm-space);
	grid-template-columns: 1fr;
}

@media (min-width: 900px) {
	.cm-split--sidebar {
		grid-template-columns: 1fr 300px;
		align-items: start;
	}
}
