[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(--theme-border-radius);
	width: var(--dropdown-width, 200px);
	background-color: var(--dropdown-background-color, var(--theme-palette-color-4));
	box-shadow: var(--theme-box-shadow);

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

// first drop-down
.menu > [data-submenu='right'] > .sub-menu {
	left: var(--theme-submenu-inline-offset, 0);
}

.menu > [data-submenu='left'] > .sub-menu {
	right: var(--theme-submenu-inline-offset, 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: var(--dropdown-horizontal-offset, 5px);
		height: 100%;
		transform: initial;
	}
}

.animated-submenu [data-submenu='right'] {
	> ul {
		right: calc(var(--dropdown-horizontal-offset, 5px) * -1);
		margin-right: -100%;

		&:before {
			left: calc(var(--dropdown-horizontal-offset, 5px) * -1);
			right: initial;
		}
	}
}

.animated-submenu [data-submenu='left'] {
	> ul {
		left: calc(var(--dropdown-horizontal-offset, 5px) * -1);
		margin-left: -100%;

		&:before {
			left: initial;
			right: calc(var(--dropdown-horizontal-offset, 5px) * -1);
		}
	}
}

// dropdown toggle
.ct-toggle-dropdown-desktop {
	--theme-icon-size: 8px;
	--toggle-button-size: 18px;
	--toggle-button-margin-end: -5px;
	--toggle-button-margin-start: var(--dropdown-toggle-margin-start, 0.2em);
}

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

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


// ghost dropdown toggle
.ct-toggle-dropdown-desktop-ghost {
	pointer-events: none;
	flex: 0 0 var(--toggle-button-size, 18px);
	inset-inline-end: var(--toggle-ghost-inset-end, calc(var(--menu-items-spacing, 25px) / 2 + 13px));

	--toggle-button-size: 18px;
	--toggle-button-margin-end: -18px;
}

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