[data-submenu] {
	position: relative;
}

// drop-down
.menu .sub-menu {
	position: absolute;
	z-index: 10;
	top: var(--top, 100%);
	margin-top: var(--margin-top, 15px);
	min-width: 100px;
	border-radius: var(--border-radius);
	width: var(--width, 200px);
	background: var(--background-color);
	box-shadow: var(--boxShadow);

	// drop-down bridge
	&:before {
		position: absolute;
		content: '';
		top: 0;
		left: 0;
		width: 100%;
		height: var(--margin-top, 15px);
		transform: translateY(-100%);
	}
}

// first drop-down
.menu > [data-submenu='right'] > .sub-menu {
	// left: calc(var(--menuItemsSpacing, 25px) / 2 - 20px);
	left: 0;
}

.menu > [data-submenu='left'] > .sub-menu {
	right: 0;
	// right: calc(var(--menuItemsSpacing, 25px) / 2 - 20px);
}

[data-submenu] .menu-item:not([data-submenu]) {
	> ul {
		position: fixed;
	}
}

// other drop-downs
[data-submenu] [data-submenu='right'] {
	> ul {
		--top: 0;
		--margin-top: 0;

		right: -5px;
		margin-right: -100%;

		&:before {
			width: 5px;
			height: 100%;
			top: 0;
			left: -5px;
			right: initial;
		}
	}
}

[data-submenu] [data-submenu='left'] {
	> ul {
		--top: 0;
		--margin-top: 0;

		left: -5px;
		margin-left: -100%;

		&:before {
			width: 5px;
			height: 100%;
			top: 0;
			left: initial;
			right: -5px;
		}
	}
}

// child indicator
.child-indicator {
	margin-left: 5px;

	svg {
		fill: currentColor;
	}
}

[data-submenu] > a {
	justify-content: space-between;
}

[data-submenu] [data-submenu='left'] > a {
	.child-indicator svg {
		transform: rotate(90deg);
	}
}

[data-submenu] [data-submenu='right'] > a {
	.child-indicator svg {
		transform: rotate(-90deg);
	}
}