/* ---------------------------------------------------------------------------
 * Site footer — the mine ground. Mobile-first; desktop at 1025px.
 * ------------------------------------------------------------------------- */

.cm-footer {
	margin-top: 64px;
	padding: 48px 0 24px;
	font-size: var(--text-sm);
}

.cm-footer__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.cm-footer__top {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.cm-footer__logo { height: 28px; width: auto; display: block; margin-bottom: 18px; }

.cm-footer__heading {
	font-size: var(--text-xl);
	margin: 0 0 10px;
	color: var(--color-ink-50);
}

.cm-footer__about p,
.cm-footer__newsletter p {
	margin: 0 0 16px;
	color: var(--color-ink-300);
	max-width: 46ch;
}

.cm-footer__form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 460px;
}
.cm-footer input.cm-footer__email {
	flex: 1 1 200px;
	min-width: 0;
	min-height: 3rem;
	padding: 0 16px;
	background: var(--color-ink-950);
	border: 1px solid var(--color-ink-600);
	color: var(--color-ink-50);
	font-size: var(--text-sm);
}
.cm-footer input.cm-footer__email:focus { border-color: var(--color-lamp-500); outline: none; }
.cm-footer input.cm-footer__email::placeholder { color: var(--color-ink-400); }
.cm-footer__submit { flex: 0 0 auto; }

.cm-footer__columns {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.cm-footer__col-title {
	color: var(--color-ink-400);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-book);
	letter-spacing: 0;
	margin: 0 0 14px;
}

.cm-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.cm-footer__links a {
	color: var(--color-ink-50);
	font-size: var(--text-base);
	font-weight: var(--font-weight-book);
}
.cm-footer__links a:hover { color: var(--color-lamp-500); }

.cm-footer__chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.cm-footer__chips > li { display: block; }
.cm-footer__chips .chip:hover { color: var(--color-ink-950); }

.cm-footer__copy {
	margin: 0;
	padding-top: 20px;
	border-top: 1px solid var(--color-ink-800);
	color: var(--color-ink-400);
	font-size: var(--text-xs);
}

@media (min-width: 1025px) {
	.cm-footer { padding: 72px 0 32px; }
	.cm-footer__inner { gap: 56px; }
	.cm-footer__top { flex-direction: row; align-items: flex-start; gap: 80px; }
	.cm-footer__about, .cm-footer__newsletter { flex: 1 1 0; min-width: 0; }
	.cm-footer__columns { flex-direction: row; gap: 48px; }
	.cm-footer__col { flex: 1 1 0; min-width: 0; }
	.cm-footer__col--categories { flex: 1.6 1 0; }
}
