.dropdown-item {
    &.disabled {
        opacity: 0.5;
    }
}

.dropdown-item,
.dropdown-item > .dropdown-toggle {
    display: flex;
    align-items: center;
}

.dropdown-submenu {
    padding: 0;

    & > .dropdown-item {
        position: relative;

        &::before {
            display: none;
        }

        &:after {
            position: absolute;
            display: block;

            .ltr &,
            [dir="ltr"] & {
                right: 16px;

                border-top: 0.3em solid transparent;
                border-bottom: 0.3em solid transparent;
                border-left: 0.3em solid;
                border-right: 0;
            }

            .rtl &,
            [dir="rtl"] & {
                left: 16px;

                border-top: 0.3em solid transparent;
                border-bottom: 0.3em solid transparent;
                border-left: 0;
                border-right: 0.3em solid;
            }
        }
    }

    .dropdown-menu {
        .ltr &,
        [dir="ltr"] & {
            margin-left: 10px;
        }

        .rtl &,
        [dir="rtl"] & {
            margin-left: -10px;
        }
    }
}

@mixin form-theme($palette, $light-theme) {
    $text-primary: map-deep-get($palette, text, primary);
    $text-secondary: map-deep-get($palette, text, secondary);
    $bg: map-deep-get($palette, bg, main);

    .dropdown-divider {
        border-color: mix($text-primary, $bg, 10%);
    }

    .dropdown-header {
        color: mix($text-primary, $bg, 60%);
    }
}

.theme-bd.theme-light {
    $palette: map-get($theme, light);
    @include form-theme($palette, true);
}

.theme-bd.theme-dark {
    $palette: map-get($theme, dark);
    @include form-theme($palette, false);
}
