.rsp-custom-toaster {
    z-index: 10;
    bottom: 3rem;
    position: fixed;
    max-width: 400px;
    inset-inline-start: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

@media screen and (max-width: 768px) {
    .rsp-custom-toaster {
        top: 1rem;
        bottom: auto;
        inset-inline-end: 1rem;
        inset-inline-start: auto;
        max-width: 350px;
    }
}

.rsp-custom-toaster-basic {
    --toaster-background: #FFFFFF;
    --toaster-color: #000000;
    background: var(--toaster-background);
    color: var(--toaster-color);
    font-size: .8rem;
    position: relative;
    border-radius: .35rem;
    box-shadow: 3px 3px 10px 3px #d7d7d76e;
    opacity: 0;
    transform: translateY(10px);
    animation: rspCustomToasterSlideIn 0.5s forwards;
}

.rsp-custom-toaster-media {
    display: flex;
    align-items: center;
}

.rsp-custom-toaster-body {
    padding: .45rem .5rem;
}

.rsp-custom-toaster-image {
    width: 4rem;
    height: 100%;
    overflow: hidden;
    object-fit: cover;
    display: block;
    min-width: 6rem;
    aspect-ratio: 1;
    border-radius: 0.35rem 0 0 0.35rem;
}

.rsp-custom-toaster-image img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
}

.rsp-custom-toaster-basic.toaster-success {
    --toaster-background: #3dc763;
    --toaster-color: #FFFFFF;
}

.rsp-custom-toaster-basic.toaster-danger {
    --toaster-background: #ed3d3d;
    --toaster-color: #FFFFFF;
}

.rsp-custom-toaster-basic.toaster-warning {
    --toaster-background: #ffc107;
    --toaster-color: #000000;
}

.rsp-custom-toaster-basic.toaster-info {
    --toaster-background: #17a2b8;
    --toaster-color: #000000;
}

@keyframes rspCustomToasterSlideIn {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.rsp-custom-toaster-basic .rsp-custom-toaster-close {
    top: -.5rem;
    display: flex;
    width: 1.2rem;
    height: 1.2rem;
    color: #000000;
    cursor: pointer;
    font-size: .7rem;
    background: #FFF;
    user-select: none;
    line-height: .7rem;
    position: absolute;
    align-items: center;
    border-radius: 100%;
    justify-content: center;
    inset-inline-end: -.5rem;
    box-shadow: 0 0 5px 1px #919191;
    z-index: 2;
}

