/* ============================================================
   Kenklin — Mobile bottom navigation bar
   Fixed to viewport bottom on screens ≤767px. Hidden on desktop.
   ============================================================ */

.kk-mobile-nav {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: var(--kk-z-sticky);
	background-color: var(--kk-surface-container-lowest); /* pure white */
	border-top: var(--kk-border-width) solid var(--kk-hairline);
	padding-bottom: env(safe-area-inset-bottom);
}

.kk-mobile-nav__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: stretch;
	height: 64px;
}

.kk-mobile-nav__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: var(--kk-touch-target);
	color: var(--kk-on-background);
}

.kk-mobile-nav__item:hover { opacity: 0.65; }

.kk-mobile-nav__item:focus-visible {
	outline: 2px solid var(--kk-on-background);
	outline-offset: -2px;
}

.kk-mobile-nav__item > svg {
	width: 24px;
	height: 24px;
}

/* Active underline — 2px high, 24px wide, sits under the icon. */
.kk-mobile-nav__indicator {
	position: absolute;
	left: 50%;
	bottom: 8px;
	width: 24px;
	height: 2px;
	transform: translateX(-50%);
	background-color: transparent;
	transition: background-color var(--kk-transition-fast);
}

.kk-mobile-nav__item.is-active .kk-mobile-nav__indicator {
	background-color: var(--kk-on-background);
}

/* ---------- Content offset so the nav doesn't cover content ---------- */

@media (max-width: 767px) {
	body {
		padding-bottom: calc(64px + env(safe-area-inset-bottom));
	}
}

/* ---------- Hide on desktop ---------- */

@media (min-width: 768px) {
	.kk-mobile-nav { display: none !important; }
}
