@mixin kbq-split-button-theme() {
    .kbq-split-button {
        &:hover:has(.kbq-button_transparent) {
            background: var(--kbq-states-background-transparent-hover, rgba(108, 115, 147, 0.08));
        }

        & .kbq-split-button_item {
            &.kbq-contrast.kbq-button_filled::before {
                // @TODO (#DS-3002)
                background: var(--kbq-line-on-contrast-fade, var(--kbq-foreground-on-contrast));
            }

            &.kbq-contrast.kbq-button_transparent,
            &.kbq-contrast-fade.kbq-button_outline,
            &.kbq-contrast-fade.kbq-button_filled {
                &::before {
                    background: var(--kbq-line-contrast-fade);
                }
            }

            &.kbq-theme-fade.kbq-button_outline,
            &.kbq-theme.kbq-button_transparent {
                &::before {
                    background: var(--kbq-line-theme-fade);
                }
            }

            &.kbq-split-button_first.cdk-keyboard-focused {
                z-index: 1;
                box-shadow: inset -1px 0 0 0 var(--kbq-states-line-focus-theme);
            }

            &.kbq-split-button_second.cdk-keyboard-focused {
                box-shadow: inset 1px 0 0 0 var(--kbq-states-line-focus-theme);
            }
        }

        & .kbq-button_outline:has(+ .kbq-button_outline) {
            border-right: none;

            & + .kbq-button_outline {
                border-left: none;
            }
        }

        &.kbq-split-button_first-disabled {
            &.kbq-contrast-fade.kbq-button_filled,
            &.kbq-contrast.kbq-button_filled {
                & .kbq-split-button_item {
                    background: var(--kbq-states-background-disabled);
                }

                & .kbq-split-button_second:not(.kbq-disabled) {
                    &:hover {
                        background: var(--kbq-states-background-contrast-fade-hover);
                    }

                    &:active {
                        background: var(--kbq-states-background-contrast-fade-active);
                    }

                    & .kbq-icon.kbq-empty {
                        color: var(--kbq-icon-contrast);
                    }

                    &:before {
                        background: var(--kbq-line-contrast-fade);
                    }
                }
            }

            &.kbq-theme-fade.kbq-button_outline {
                & .kbq-split-button_item {
                    border-color: var(--kbq-button-outline-theme-fade-on-states-disabled-border);
                }
            }
        }

        &.kbq-split-button_second-disabled:not(.kbq-split-button_first-disabled) {
            &.kbq-contrast.kbq-button_filled {
                & .kbq-split-button_second {
                    background: var(--kbq-button-filled-contrast-fade-off-background);
                }
            }

            &.kbq-contrast-fade.kbq-button_filled {
                & .kbq-split-button_first {
                    background: var(--kbq-states-background-disabled);
                }
            }

            &.kbq-theme-fade.kbq-button_outline {
                & .kbq-split-button_item {
                    border-color: var(--kbq-button-outline-theme-fade-on-states-disabled-border);
                }
            }

            &.kbq-theme.kbq-button_transparent {
                & .kbq-split-button_second:before {
                    background: var(--kbq-states-line-disabled);
                }
            }

            & .kbq-split-button_second:before {
                background: rgba(138, 143, 168, 0.6);
            }
        }

        &.kbq-split-button_first-disabled.kbq-split-button_second-disabled {
            & .kbq-split-button_second:before {
                background: var(--kbq-line-contrast-fade);
            }
        }
    }
}
