/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_QuickSettingsButton {
    /* !important override compound */
    border-radius: 8px !important;
    margin: 12px auto 12px;

    svg {
        fill: $secondary-content;
    }

    &:not(.expanded):hover {
        /**
         * override compound default background color when hovered
         * should disappear when the space panel will be migrated to compound
         */
        background-color: $quaternary-content !important;
        color: $primary-content;

        svg {
            fill: $primary-content;
        }
    }

    &.expanded {
        /**
         * override compound default background color when hovered
         * should disappear when the space panel will be migrated to compound
         */
        background-color: transparent !important;

        /* align with settings icon */
        margin-left: 21px;
        margin-right: 8px;
        width: 100%;

        /**
         * modify internal css of the compound component
         * dirty but we need to add the label into the indicator icon button
         **/
        & > div {
            display: flex;
            align-items: center;
        }

        svg {
            /* align with settings label */
            margin-right: 14px;
            /* required to set the icon width when into a flex container */
            width: 24px;
            flex-shrink: 0;
        }

        & .mx_QuickSettingsButton_label {
            /* !important override compound  */
            color: $secondary-content !important;
        }
    }
}

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu {
    padding: 16px;
    width: max-content;
    min-width: 200px;
    contain: unset; /* let the dropdown paint beyond the context menu */

    > div > h2 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: $font-15px;
        line-height: $font-24px;
        color: var(--cpd-color-text-secondary);
        margin: 0 0 16px;
    }

    .mx_AccessibleButton_hasKind {
        display: block;
        margin-top: 4px;
    }

    > div > h4 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: $font-12px;
        line-height: $font-15px;
        text-transform: uppercase;
        color: var(--cpd-color-text-secondary);
        margin: 20px 0 12px;
        position: relative;
        display: flex;
    }

    .mx_QuickSettingsButton_moreOptionsButton {
        margin-left: var(--cpd-space-7x);
        font-size: $font-15px;
        line-height: $font-24px;
        color: var(--cpd-color-text-primary);
        position: relative;
        margin-bottom: 16px;
    }

    .mx_QuickSettingsButton_option {
        margin-bottom: var(--cpd-space-3x);
        label {
            /* Correctly line up icons and text. */
            display: flex;
        }
    }
}

.mx_QuickSettingsButton_ContextMenuWrapper_new_room_list {
    .mx_QuickThemeSwitcher {
        margin-top: var(--cpd-space-2x);
    }
}

.mx_QuickSettingsButton_icon {
    margin-right: var(--cpd-space-1x);
    color: $secondary-content;
    width: 18px;
    height: 18px;
    margin-top: auto;
    margin-bottom: auto;
}
