/* Mobile icon menu grid */
.mod-menu.mod-list.nav {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(22%, 1fr));
	gap: 0.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 100%;
}

/* Menu item */
.mod-menu.mod-list.nav > .nav-item {
	min-width: 0;
}

/* Link styling */
.mod-menu.mod-list.nav > .nav-item > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	padding: 0.75rem 0.5rem;
	gap: 0.35rem;
	width: 100%;
	box-sizing: border-box;
	line-height: 1.2;
}

/* Icon */
.mod-menu.mod-list.nav > .nav-item > a > span {
	font-size: 2rem;
	line-height: 1;
	padding: 0 !important;
}

/* Text */
.mod-menu.mod-list.nav > .nav-item > a {
	font-size: 0.75rem;
	font-weight: 500;
}

/* Optional active styling */
.mod-menu.mod-list.nav > .active > a,
.mod-menu.mod-list.nav > .current > a {
	font-weight: 700;
}

/* Slightly larger on tablets/desktops */
@media (min-width: 768px) {
	.mod-menu.mod-list.nav {
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	}

	.mod-menu.mod-list.nav > .nav-item > a > span {
		font-size: 2.5rem;
	}

	.mod-menu.mod-list.nav > .nav-item > a {
		font-size: 0.85rem;
	}
}