@top_controls_height: 55px;

.embbededMediaPlayerWrapper {
    position: relative;

    display: flex;
    flex-direction: row;

    align-items: center;
    justify-content: center;

    width: 270px;
    height: fit-content;

    border-radius: 12px;

    pointer-events: initial;

    transition: all 150ms ease-in-out;

    &.minimized {
        pointer-events: none;

        animation: minimize 150ms ease-in-out forwards;
    }

    &.hovering {
        .top_controls {
            height: @top_controls_height;
            opacity: 1;

            // translate y negative height of @top_controls_height minus 10px
            transform: translateY(calc(-1 * (@top_controls_height - 5px)));
        }

        margin-top: 45px;
    }

    .top_controls {
        position: absolute;
        top: 0;

        z-index: 300;

        display: flex;
        flex-direction: row;

        align-items: center;

        justify-content: space-between;

        gap: 20px;

        width: 100%;
        height: 0px;

        background-color: var(--background-color-accent);

        border-radius: 8px 8px 0 0;

        padding: 10px 10px 15px 10px;

        opacity: 0;

        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);

        transition: all 150ms ease-in-out;
    }

    .player {
        position: relative;
        z-index: 310;

        display: inline-flex;
        flex-direction: column;

        align-items: flex-start;
        justify-content: center;

        width: 100%;
        height: 100%;

        padding: 10px;

        border-radius: 8px;

        background-color: var(--background-color-accent);

        // animate in from bottom to top
        animation: fadeIn 150ms ease-out forwards;

        transition: all 150ms ease-out;

        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);

        .cover {
            position: relative;

            z-index: 320;

            width: 100%;
            height: 250px;
            min-height: 250px;

            border-radius: 10px;

            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;

            transition: all 0.3s ease-in-out;

            img {
                width: 100%;
                height: 100%;

                object-fit: cover;
                object-position: center;
            }
        }

        .header {
            position: relative;

            display: flex;
            flex-direction: row;

            margin: 15px 0;

            width: 100%;

            .info {
                display: flex;
                flex-direction: column;

                h1,
                h2,
                h3,
                h4,
                h5,
                h6,
                p,
                span {
                    margin: 0;
                    color: var(--text-color);
                }

                width: 100%;

                .title {
                    font-size: 1rem;
                    font-weight: 600;
                    color: var(--text-color);

                    word-break: break-all;

                    font-family: "Space Grotesk", sans-serif;
                }

                .subTitle {
                    display: flex;
                    flex-direction: row;

                    width: 100%;

                    justify-content: space-between;

                    .likeButton {
                        margin-right: 20px;
                    }

                    .artist {
                        font-size: 0.6rem;
                        font-weight: 400;
                        color: var(--text-color);
                    }
                }
            }
        }
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes minimize {
    0% {
        opacity: 1;
    }

    99% {
        opacity: 0;
        //transform: translateX(100%);
    }

    100% {
        opacity: 0;
        height: 0px;
    }
}