[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(--sticky-state-dropdown-top-offset, 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;
		}
	}
}


// dropdown toggle
.ct-dropdown-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-inline-end: -5px;
	margin-inline-start: var(--dropdown-toggle-margin-inline-start, 0.2em);

	svg {
		fill: currentColor;
		transform: var(--child-indicator-rotate);
	}
}

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

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


// ghost dropdown toggle
.ct-dropdown-toggle-ghost {
	position: relative;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	pointer-events: none;
	background: transparent;
	margin-inline-end: -18px;
	inset-inline-end: var(--toggle-ghost-inset-inline-end, calc(var(--menu-items-spacing, 25px) / 2 + 13px));
}

.sub-menu {
	--dropdown-toggle-margin-inline-start: auto;
	--toggle-ghost-inset-inline-end: calc(var(--dropdown-items-spacing, 13px) * 1.5 + 13px);
}