#pim-floating-image-menu.pim-fim-wrap {
    position: fixed;
    top: var(--pim-top, 50%);
    right: var(--pim-right, 10px);
    transform: translateY(-50%);
    z-index: var(--pim-z, 99999);
    display: flex;
    align-items: center;
    max-width: min(92vw, 1000px);
    max-height: 92vh;
    pointer-events: none;
    transition: transform .25s ease, right .25s ease;
}

#pim-floating-image-menu .pim-fim-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pim-gap, 8px);
    max-height: 92vh;
    max-width: min(80vw, 1000px);
    overflow-y: auto;
    overflow-x: auto;
    padding: var(--pim-box-padding, 8px);
    border-radius: var(--pim-box-radius, 18px);
    background: var(--pim-bg, rgba(0,0,0,.28));
    box-shadow: 0 4px 18px rgba(0,0,0,.14);
    scrollbar-width: none;
    pointer-events: auto;
    backdrop-filter: blur(0px);
}

#pim-floating-image-menu .pim-fim-list::-webkit-scrollbar {
    width: 0;
    height: 0;
}

#pim-floating-image-menu.pim-desktop-layout-horizontal .pim-fim-list {
    flex-direction: row;
    align-items: center;
}

#pim-floating-image-menu .pim-fim-item,
#pim-floating-image-menu .pim-fim-item a {
    display: block;
    line-height: 0;
    flex: 0 0 auto;
}

#pim-floating-image-menu .pim-fim-item img {
    display: block;
    width: var(--pim-desktop-width, 56px);
    height: auto;
    max-width: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transition: transform .18s ease, opacity .18s ease;
}

#pim-floating-image-menu .pim-fim-item a:hover img,
#pim-floating-image-menu .pim-fim-item a:focus img {
    transform: scale(1.06);
}

#pim-floating-image-menu .pim-fim-toggle {
    pointer-events: auto;
    flex: 0 0 auto;
    width: 34px;
    height: 62px;
    margin-right: 3px;
    padding: 0;
    border: 0;
    border-radius: 34px 0 0 34px;
    background: rgba(255,255,255,.96);
    color: #777;
    box-shadow: 0 2px 12px rgba(0,0,0,.18);
    cursor: pointer;
    display: grid;
    place-items: center;
}

#pim-floating-image-menu .pim-fim-toggle span {
    display: block;
    font-size: 34px;
    line-height: 1;
    transform: rotate(180deg);
    transition: transform .25s ease;
}

#pim-floating-image-menu.pim-fim-collapsed {
    transform: translate(calc(100% + var(--pim-right, 10px)), -50%);
}

#pim-floating-image-menu.pim-fim-collapsed .pim-fim-toggle {
    transform: translateX(-100%);
}

#pim-floating-image-menu.pim-fim-collapsed .pim-fim-toggle span {
    transform: rotate(0deg);
}

@media (max-width: 767px) {
    #pim-floating-image-menu.pim-fim-wrap {
        right: var(--pim-mobile-right, 6px);
        top: var(--pim-mobile-top, var(--pim-top, 50%));
        max-width: 92vw;
        max-height: 82vh;
    }

    #pim-floating-image-menu .pim-fim-list {
        max-width: 85vw;
        max-height: 82vh;
        gap: var(--pim-gap, 8px);
    }

    #pim-floating-image-menu.pim-mobile-layout-horizontal .pim-fim-list {
        flex-direction: row;
        align-items: center;
    }

    #pim-floating-image-menu.pim-mobile-layout-vertical .pim-fim-list {
        flex-direction: column;
        align-items: center;
    }

    #pim-floating-image-menu .pim-fim-item img {
        width: var(--pim-mobile-width, 48px);
    }

    #pim-floating-image-menu .pim-fim-toggle {
        width: 30px;
        height: 56px;
    }

    #pim-floating-image-menu.pim-hide-mobile {
        display: none !important;
    }
}

@media (min-width: 768px) {
    #pim-floating-image-menu.pim-hide-desktop {
        display: none !important;
    }
}
