/*
Copyright 2026 Element Creations Ltd.
Copyright 2024 New Vector Ltd.
Copyright 2019-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_ToastContainer {
    position: absolute;
    top: 0;
    left: 70px;
    z-index: 101;
    padding: 4px;
    display: grid;
    grid-template-rows: 1fr 28px 8px;

    &.mx_ToastContainer_stacked::before {
        content: "";
        margin: 0 var(--cpd-space-1-5x);
        grid-row: 2 / -1;
        grid-column: 1;
        background-color: $system;
        box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.5);
        border-radius: var(--cpd-space-6x);
    }

    .mx_Toast_toast {
        grid-row: 1 / 3;
        grid-column: 1;
        background-color: var(--cpd-color-bg-canvas-default);
        color: $primary-content;
        box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
        border-radius: calc(var(--cpd-space-6x) - var(--cpd-border-width-1));
        overflow: hidden;
        display: grid;
        grid-template-columns: 20px 1fr auto;
        column-gap: var(--cpd-space-2x);
        row-gap: 4px;
        align-items: center;
        padding: calc(var(--cpd-space-5x) - var(--cpd-border-width-1));

        &.mx_Toast_hasIcon {
            svg {
                width: 20px;
                height: 20px;
                grid-column: 1;
            }

            .mx_Toast_title {
                grid-column: 2;
            }

            .mx_Toast_closebutton {
                grid-column: 3;
            }
        }
        &:not(.mx_Toast_hasIcon) .mx_Toast_title {
            grid-column: 1 / -1;
        }

        .mx_Toast_title {
            display: flex;
            align-items: center;
            column-gap: var(--cpd-space-2x);
            width: 100%;
            box-sizing: border-box;

            h2 {
                margin: 0;
                font: var(--cpd-font-body-lg-semibold);
                display: inline;
                width: auto;
            }
        }

        .mx_Toast_body {
            grid-column: 1 / -1;
            grid-row: 2;
        }

        .mx_Toast_buttons {
            display: flex;
            justify-content: flex-end;
            column-gap: var(--cpd-space-2x);

            .mx_AccessibleButton {
                min-width: 96px;
                box-sizing: border-box;
            }
        }

        .mx_Toast_description {
            max-width: 272px;
            overflow: hidden;
            text-overflow: ellipsis;
            margin: var(--cpd-space-1x) 0 11px 0;
            color: $secondary-content;
            font: var(--cpd-font-body-sm-regular);

            a {
                text-decoration: none;
            }
        }

        .mx_Toast_deviceID {
            font-size: $font-10px;
        }
    }
}
