@use '../variables' as *;

.#{$prefix}navigation-menu-item {
	position: relative;
	z-index: 0;
	display: flex;
	padding-block: var(--#{$prefix}navigation-menu-item-padding-block, 0.5rem);
	padding-left: var(--#{$prefix}navigation-menu-item-padding-left, 0.75rem);
	padding-right: var(--#{$prefix}navigation-menu-item-padding-right, 0.75rem);
	border-radius: var(--#{$prefix}navigation-menu-item-border-radius, 0.375rem);
	margin-inline: var(--#{$prefix}navigation-menu-item-margin-inline, 0.125rem);
	margin-bottom: 0;
	min-height: var(--#{$prefix}navigation-menu-item-min-height, 2rem);
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	user-select: none;
	border: 1px solid transparent;
	transition: background-color 120ms ease-out,
	            border-color 120ms ease-out,
	            box-shadow 120ms ease-out;

	// Reset button styles when rendered as button
	border: none;
	background: none;
	font-family: inherit;
	font-size: inherit;
	text-align: left;
	outline: none;

	&:hover {
		text-decoration: none;
	}

	&--selected {
		color: var(--#{$prefix}navigation-menu-item-selected-color, inherit);
	}

	&--disabled {
		opacity: 0.5;
		pointer-events: none;
		cursor: not-allowed;
	}

	&__container {
		display: flex;
		align-items: center;
		gap: var(--#{$prefix}navigation-menu-item-gap, 0.625rem);
		width: 100%;
		position: relative;
		z-index: 1;
	}

	&__start-content {
		display: flex;
		align-items: center;
		flex-shrink: 0;
	}
	
	&__end-content {
		display: flex;
		align-items: center;
		flex-shrink: 0;
		margin-left: auto;
	}

	&__content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		flex: 1;
		min-width: 0;
	}

	&__title {
		font-weight: 600;
		font-size: var(--#{$prefix}navigation-menu-item-title-font-size, 0.875rem);
		line-height: var(--#{$prefix}navigation-menu-item-title-line-height, 1.25rem);
		color: var(--#{$prefix}navigation-menu-item-title-color, inherit);
		letter-spacing: -0.01em;
		transition: color 120ms ease-out;
	}

	&__subtitle {
		font-size: var(--#{$prefix}navigation-menu-item-subtitle-font-size, 0.75rem);
		line-height: var(--#{$prefix}navigation-menu-item-subtitle-line-height, 1.125rem);
		color: var(--#{$prefix}navigation-menu-item-subtitle-color, #6b7280);
		margin-top: 0.125rem;
		font-weight: 400;
		letter-spacing: 0;
		transition: color 120ms ease-out;
	}

	&__description {
		font-size: var(--#{$prefix}navigation-menu-item-description-font-size, 0.6875rem);
		color: var(--#{$prefix}navigation-menu-item-description-color, #9ca3af);
		margin-top: 0.1875rem;
		line-height: var(--#{$prefix}navigation-menu-item-description-line-height, 1.125rem);
		font-weight: 400;
		letter-spacing: 0;
		font-style: normal;
		transition: color 120ms ease-out;
		max-width: 95%;
	}
}

// ============================================
// ENTERPRISE STYLES - ONLY FOR POPUP ITEMS
// ============================================
// Target items inside NavigationMenuContent (popup/submenu)
.#{$prefix}navigation-menu-content .#{$prefix}navigation-menu-item {
	// Enhanced padding for popup items (but respect size variables)
	padding-block: var(--#{$prefix}navigation-menu-item-padding-block, 0.75rem);
	padding-left: var(--#{$prefix}navigation-menu-item-padding-left, 1rem);
	padding-right: var(--#{$prefix}navigation-menu-item-padding-right, 1rem);
	margin-inline: 0;
	margin-bottom: 0.125rem;
	
	&__container {
		gap: var(--#{$prefix}navigation-menu-item-gap, 0.75rem);
	}
	
	// Icon with background circle (enterprise style) - uses CSS variables
	&__start-content {
		display: flex;
		align-items: center;
		justify-content: center;
		width: var(--#{$prefix}navigation-menu-item-icon-size, 2rem);
		height: var(--#{$prefix}navigation-menu-item-icon-size, 2rem);
		border-radius: var(--#{$prefix}navigation-menu-item-icon-radius, 0.375rem);
		background: var(--#{$prefix}navigation-menu-item-icon-bg, rgba(0, 0, 0, 0.04));
		transition: background-color 120ms ease-out;
	}
	
	// Use variables for typography (respects SM/MD/LG)
	&__title {
		font-size: var(--#{$prefix}navigation-menu-item-title-font-size);
		line-height: var(--#{$prefix}navigation-menu-item-title-line-height);
		color: var(--#{$prefix}navigation-menu-item-title-color, #111827);
		letter-spacing: -0.015em;
	}
	
	&__subtitle {
		font-size: var(--#{$prefix}navigation-menu-item-subtitle-font-size);
		line-height: var(--#{$prefix}navigation-menu-item-subtitle-line-height);
		letter-spacing: -0.005em;
	}
	
	&__description {
		font-size: var(--#{$prefix}navigation-menu-item-description-font-size);
		line-height: var(--#{$prefix}navigation-menu-item-description-line-height);
		letter-spacing: -0.005em;
	}
}
