/* ========================================= */
/* Global Snackbar Styles                    */
/* ========================================= */

.snackbar {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(100px); /* Hidden off-screen */
    background-color: var(--clr-dark);
    color: var(--clr-bg);
    padding: 12px 24px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 10px 30px rgba(0, 27, 46, 0.3);
    z-index: 9999; /* Always on top */
    direction: rtl;
    
    /* Hidden State */
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); /* Bouncy spring effect */
}

/* Active State */
.snackbar.show {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
    visibility: visible;
}

/* Text and Icon */
.snackbar-message {
    font-size: 0.95rem;
    font-weight: 600;
}

.snackbar-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

/* Dynamic Themes based on the JS class */
.snackbar.success {
    border: 2px solid #239F40;
}
.snackbar.success svg { stroke: #239F40; }

.snackbar.error {
    border: 2px solid #DA0000;
}
.snackbar.error svg { stroke: #DA0000; }

.snackbar.warning {
    background-color: var(--clr-bg);
    color: var(--clr-dark);
    border: 2px solid var(--clr-accent);
}
.snackbar.warning svg { stroke: var(--clr-dark); }