/**
 * KM Projects Navigation — front-end layout (works with Elementor style controls).
 *
 * @package KM_Projects_Navigation
 */

.km-proj-nav {
	box-sizing: border-box;
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	max-width: 100%;
	align-items: stretch;
	justify-content: stretch;
	gap: 0;
}

/* Row gap + gap-aware flex children avoid overflow (do not use 50% + 50% + gap). */
.km-proj-nav__btn {
	box-sizing: border-box;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	min-width: 0;
	max-width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	overflow: hidden;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.km-proj-nav__btn--icon-start {
	flex-direction: row;
}

.km-proj-nav__btn--icon-end {
	flex-direction: row;
}

.km-proj-nav__label-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.25em;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.km-proj-nav__text {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.km-proj-nav__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	flex-shrink: 0;
}

.km-proj-nav__icon svg {
	display: block;
	height: 1em;
	width: 1em;
}

/* Mobile icon set: hide desktop glyph, show mobile glyph */
.km-proj-nav--has-split-icons .km-proj-nav__icon--mobile {
	display: none;
}

@media (max-width: 767px) {
	.km-proj-nav--has-split-icons .km-proj-nav__icon--desktop {
		display: none;
	}

	.km-proj-nav--has-split-icons .km-proj-nav__icon--mobile {
		display: inline-flex;
	}
}

/* Different mobile copy: swap lines at mobile */
.km-proj-nav--has-mobile-labels .km-proj-nav__text--mobile {
	display: none;
}

@media (max-width: 767px) {
	.km-proj-nav--has-mobile-labels .km-proj-nav__text--desktop {
		display: none;
	}

	.km-proj-nav--has-mobile-labels .km-proj-nav__text--mobile {
		display: inline;
	}
}

/* Icon-only on small screens: hide visible labels (icons required for meaning) */
@media (max-width: 767px) {
	.km-proj-nav--mobile-icon-only .km-proj-nav__text,
	.km-proj-nav--mobile-icon-only .km-proj-nav__text--desktop,
	.km-proj-nav--mobile-icon-only .km-proj-nav__text--mobile {
		display: none !important;
	}
}
