[data-submenu] {
	position: relative;
}

// drop-down
.animated-submenu > .sub-menu {
	position: var(--dropdown-position, absolute);
	top: var(--top, 100%);
	z-index: 10;
	min-width: 100px;
	margin-top: var(--dropdown-top-offset, 0);
	border-radius: var(--border-radius);
	width: var(--dropdown-width, 200px);
	background-color: var(--dropdown-background-color, var(--paletteColor4));
	box-shadow: var(--box-shadow);

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


// first drop-down
.menu > [data-submenu='right'] > .sub-menu {
	left: 0;
}

.menu > [data-submenu='left'] > .sub-menu {
	right: 0;
}

[data-submenu] .menu-item:not([data-submenu]) {
	--top: 0;
	--dropdown-position: fixed;
}


// other drop-downs
.animated-submenu [data-submenu] > ul {
	--top: 0;
	margin-top: 0;

	&:before {
		width: 5px;
		height: 100%;
		transform: initial;
	}
}

.animated-submenu [data-submenu='right'] {
	> ul {
		right: -5px;
		margin-right: -100%;

		&:before {
			left: -5px;
			right: initial;
		}
	}
}

.animated-submenu [data-submenu='left'] {
	> ul {
		left: -5px;
		margin-left: -100%;

		&:before {
			left: initial;
			right: -5px;
		}
	}
}

// child indicator
.child-indicator {
	margin-inline-start: auto;
	padding-inline-start: 0.5em;

	svg {
		fill: currentColor;
	}
}

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

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