/* ============================================================
   Kenklin — Site footer
   2-col mobile / 4-col desktop. Hairline rules. No accordion.
   ============================================================ */

.kk-footer {
	background-color: var(--kk-background);
	color: var(--kk-on-background);
	padding-block: 60px;
}

@media (min-width: 1024px) {
	.kk-footer { padding-block: 80px; }
}

.kk-footer__inner {
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: var(--kk-container-margin-mobile);
}

@media (min-width: 1024px) {
	.kk-footer__inner { padding-inline: var(--kk-container-margin-desktop); }
}

/* ---------- Wordmark ---------- */

.kk-footer__wordmark {
	display: block;
	font-family: var(--kk-font-display);
	font-size: 28px;
	line-height: 1;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--kk-on-background);
	text-align: center;
	margin-bottom: var(--kk-space-3);
}

@media (min-width: 1024px) {
	.kk-footer__wordmark {
		text-align: left;
		font-size: 36px;
		margin-bottom: var(--kk-space-4);
	}
}

/* ---------- Hairlines ---------- */

.kk-footer__rule {
	border: 0;
	border-top: var(--kk-border-width) solid var(--kk-hairline);
	margin: 0;
}

/* ---------- Link columns ---------- */

.kk-footer__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--kk-space-4) var(--kk-space-3);
	padding-block: var(--kk-space-4);
}

@media (min-width: 1024px) {
	.kk-footer__cols {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--kk-space-5);
		padding-block: var(--kk-space-5);
	}
}

.kk-footer__col {
	display: flex;
	flex-direction: column;
	gap: var(--kk-space-2);
}

.kk-footer__col-title {
	margin: 0;
	color: var(--kk-on-surface-variant);
}

.kk-footer__col-list {
	display: flex;
	flex-direction: column;
	gap: var(--kk-space-1);
}

.kk-footer__col-link {
	font-family: var(--kk-font-body);
	font-size: 14px;
	line-height: 20px;
	color: var(--kk-on-background);
	transition: opacity var(--kk-transition-fast);
}

.kk-footer__col-link:hover { opacity: 0.55; }

/* ---------- Bottom row (copy + legal) ---------- */

.kk-footer__bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--kk-space-2);
	padding-top: var(--kk-space-3);
	text-align: center;
}

@media (min-width: 768px) {
	.kk-footer__bottom {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		text-align: left;
	}
}

.kk-footer__copy {
	margin: 0;
	color: var(--kk-on-surface-variant);
	text-transform: none;
	letter-spacing: 0;
}

.kk-footer__legal {
	display: flex;
	gap: var(--kk-space-3);
	color: var(--kk-on-surface-variant);
}

.kk-footer__legal a {
	color: inherit;
	text-transform: none;
	letter-spacing: 0;
}

.kk-footer__legal a:hover { opacity: 0.55; }
