@use '@lucca-front/scss/src/components/numericBadge/exports' as numericBadge;

@mixin header {
	--components-horizontalNavigation-listPadding: 0 var(--pr-t-spacings-500);
}

@mixin S {
	.menu-list-item-action, // stylelint-disable-line selector-disallowed-list -- .menu-list-item-action is deprecated
	.menu-link, // stylelint-disable-line selector-disallowed-list -- .menu-link is deprecated
	.horizontalNavigation-list-item-action {
		--components-horizontalNavigation-listItemActionFont: var(--pr-t-font-body-S);
		--components-horizontalNavigation-listItemActionPadding: var(--pr-t-spacings-150) 0;

		&::before {
			inset-block: calc(var(--components-horizontalNavigation-listItemActionPaddingBlock) - var(--pr-t-spacings-75));
			inset-inline: calc(var(--components-horizontalNavigation-listItemActionPaddingInline) - var(--pr-t-spacings-25));
		}
	}

	// stylelint-disable-next-line selector-disallowed-list -- .menu-link is deprecated
	.menu-link {
		margin-inline-end: var(--pr-t-spacings-300);
	}

	// stylelint-disable-next-line selector-disallowed-list -- .label is deprecated
	.label {
		block-size: var(--pr-t-font-body-S-lineHeight);
		min-inline-size: var(--pr-t-font-body-S-lineHeight);
		line-height: var(--pr-t-font-body-S-lineHeight);
		padding: 0;
	}

	.numericBadge {
		@include numericBadge.S;
	}
}

@mixin noBorder {
	&::after {
		--components-horizontalNavigation-borderContent: none;
	}
}

@mixin vertical {
	@include noBorder;

	// stylelint-disable-next-line selector-disallowed-list -- .menu-list is deprecated
	.menu-list,
	.horizontalNavigation-list {
		--components-horizontalNavigation-listDirection: column;
		--components-horizontalNavigation-listGap: 0;
		--components-horizontalNavigation-listAlign: stretch;
	}

	// stylelint-disable-next-line selector-disallowed-list -- .menu-list-item-action is deprecated
	.menu-list-item-action,
	.horizontalNavigation-list-item-action {
		--components-horizontalNavigation-listItemActionPadding: var(--pr-t-spacings-50) var(--pr-t-spacings-200);
		--components-horizontalNavigation-listItemActionAlign: left;

		&::before {
			inset-block:
				calc(
					var(--components-horizontalNavigation-listItemActionPaddingBlock) - var(--pr-t-spacings-150) - var(--pr-t-spacings-25)
				);
			inset-inline:
				calc(
					var(--components-horizontalNavigation-listItemActionPaddingInline) + var(--pr-t-spacings-150) + var(--pr-t-spacings-25)
				);
		}

		&::after {
			--components-horizontalNavigation-listItemActionTransform: scale(1, 0);
			--components-horizontalNavigation-listItemActionInset: 0 auto 0 0;
			--components-horizontalNavigation-listItemActionRadius: 0 var(--pr-t-border-radius-default) var(--pr-t-border-radius-default) 0;
			--components-horizontalNavigation-listItemActionRadiusWidth: var(--components-horizontalNavigation-listItemActionSize);
			--components-horizontalNavigation-listItemActionRadiusHeight: auto;
		}

		&,
		&[aria-current='page'] {
			&:hover {
				&::after {
					--components-horizontalNavigation-listItemActionTransform: scale(1, 0.75);
				}
			}
		}
	}
}

@mixin verticalS {
	// stylelint-disable-next-line selector-disallowed-list -- .menu-list-item-action is deprecated
	.menu-list-item-action,
	.horizontalNavigation-list-item-action {
		--components-horizontalNavigation-listItemActionPadding: var(--pr-t-spacings-50) var(--pr-t-spacings-150);

		&::before {
			inset-block:
				calc(
					var(--components-horizontalNavigation-listItemActionPaddingBlock) - var(--pr-t-spacings-150) - var(--pr-t-spacings-25)
				);
			inset-inline:
				calc(
					var(--components-horizontalNavigation-listItemActionPaddingInline) + var(--pr-t-spacings-100) + var(--pr-t-spacings-25)
				);
		}
	}
}
