.o-mail-ActionList {
    hr {
        opacity: 12.5% !important;
    }

    .o-mail-ActionList-group:has(.rounded-circle.o-hasBtnBg) {
        gap: map-get($spacers, 1);
    }

    button {
        z-index: 1;
        --btn-disabled-opacity: 0.25;

        &:not(.o-hasBtnBg) {
            background-color: inherit;
        }

        &.o-simulateDarkTheme {
            &.o-hasBtnBg:hover {
                filter: brightness(1.3);
            }
            &.o-dropdown-item:hover {
                backdrop-filter: brightness(1.3);
            }
        }

        &.o-inline {
            &:where(:has(i:first-child:last-child)) {
                opacity: var(--o-mail-ActionList-Button-opacity);

                &:where(.rounded-circle) {
                    aspect-ratio: 1;
                }

                &:hover,
                &:focus,
                &:active,
                &.active,
                &:focus-visible {
                    color: var(--o-mail-ActionList-Button-color--hover);
                    opacity: var(--o-mail-ActionList-Button-opacity--hover);
                }
            }

            &.o-odooControlPanelSwitchStyle i {
                opacity: var(--mail-ActionList-buttonInlineIconOpacity);
            }

            i.o-xsmaller {
                transform: translateY(-2px);
            }
        }

        &:not(.o-inline)>i {
            opacity: 65%;

            .o_bottom_sheet_sheet:has(&) {
                opacity: 100%;
            }
        }

        &.o-tag-JOIN_LEAVE_CALL i {
            color: white !important;
        }

        &.o-tag-JOIN_LEAVE_CALL.o-dropdown-item,
        .o-mail-ChatWindow &.o-tag-JOIN_LEAVE_CALL {
            i {
                opacity: 100%;
                background: var(--btn-bg);
                aspect-ratio: 1;
                display: flex;
                align-items: center;
                justify-content: center;
                border-radius: 100%;
                padding: 0.4em;
                box-sizing: content-box;
            }

            &:hover,
            &:focus-visible {
                i {
                    background: var(--btn-hover-bg);
                    color: var(--btn-hover-color);
                }
            }
        }

        &.o-tag-JOIN_LEAVE_CALL.o-dropdown-item i {
            font-size: 0.7em !important;
            &:is(.fa-phone, .fa-video-camera)::before {
                transform: translateY(1px);
            }
        }

        .o-mail-ChatWindow &.o-tag-JOIN_LEAVE_CALL i {
            font-size: 0.9em !important;

            &.fa-phone::before {
                transform: translateY(.5px);
            }
        }

        @each $status, $color in (danger: $danger, success: $success, primary: $primary) {
            &.o-dropdown-item.btn-#{$status}:not(.o-tag-JOIN_LEAVE_CALL) {
                &.focus {
                    background-color: rgba($color, 0.75);
                    color: white;
                    &.o-tag-PRIMARY {
                        background-color: rgba($color, .9);
                    }
                }
                &.o-tag-PRIMARY {
                    background-color: rgba($color, .9);
                }
                &:not(.focus) {
                    color: var(--o-mail-ActionList-#{$status}NoBgColor, #{$color});
                    &.o-tag-PRIMARY {
                        background-color: rgba($color, .35);
                    }
                }
            }

            &.o-inline.btn-#{$status}:not(.o-tag-JOIN_LEAVE_CALL) {
                &.o-hasBtnBg {
                    --btn-active-bg: var(--btn-bg);
                }
                &:not(.o-hasBtnBg) {
                    color: var(--o-mail-ActionList-#{$status}NoBgColor, #{$color});
                    &:active {
                        background-color: inherit;
                    }
                }
            }
        }
    }

    .o_popover>& {
        .o-mail-ActionList-button {
            --btn-group-gap: 0px;
        }
    }

    .o_bottom_sheet & {
        .o-mail-ActionList-button {
            padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x) !important;
            font-size: $h5-font-size !important;
            font-weight: $o-font-weight-medium !important;
        }
    }

    & button.o-simulateDarkTheme.o-hasBtnBg:not(.o-tag-DANGER):not(.o-tag-SUCCESS):not(.o-tag-PRIMARY) {
        background-color: #{$gray-700};

        &.active {
            // Same colors than dark theme since dark theme is simulated for call view.
            background-color: #17373b;
            border-color: #03f9e3 !important;
        }
    }

}
