/* ==========================================
   TOAST NOTIFICATIONS
   ========================================== */

#toast-container {
    position: fixed;
    bottom: 20px;
    left: 20px;
    top: auto;
    right: auto;
    z-index: 9999;
    display: flex;
    flex-direction: column-reverse; /* Stack upwards */
    gap: 10px;
    pointer-events: none; /* Allows clicking through the container area */
}

/* Individual Toast */
.toast {
    background: #fff;
    min-width: 300px;
    max-width: 400px;
    padding: 1rem 1.25rem;
    border-radius: 6px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
    display: flex;
    align-items: center;
    gap: 15px;
    pointer-events: auto;
    overflow: hidden;
    position: relative;
    
    /* Animation */
    transform: translateX(120%); /* Start off-screen */
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), 
                opacity 0.4s ease, 
                margin-bottom 0.4s ease;
    opacity: 0;
}

.toast.show {
    transform: translateX(0);
    opacity: 1;
}

.toast.hiding {
    transform: translateX(120%);
    opacity: 0;
}

/* Icon */
.toast-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

/* Text Content */
.toast-content {
    flex: 1;
}

.toast-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 2px;
    font-family: var(--font-heading);
}

.toast-message {
    font-size: 0.85rem;
    color: #666;
    line-height: 1.4;
    font-family: var(--font-body);
}

/* Close Button */
.toast-close {
    background: none;
    border: none;
    color: #999;
    font-size: 1rem;
    cursor: pointer;
    padding: 5px;
    transition: color 0.2s;
    align-self: flex-start;
}

.toast-close:hover {
    color: #333;
}

/* Progress Bar (Optional) */
.toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: rgba(0,0,0,0.1);
    width: 100%;
}

.toast-progress-bar {
    height: 100%;
    width: 100%;
    /* background set by variant */
    transition: width linear;
}

/* VARIANTS */

/* Info (Padrão Principal) */
.toast.info {
    border-left: 4px solid var(--color-sand);
}
.toast.info .toast-icon {
    color: #dcb059; /* Darker Sand for visibility */
}
.toast.info .toast-progress-bar {
    background: var(--color-sand);
}

/* Success (Marsala - Uso Raro) */
.toast.success {
    border-left: 4px solid var(--color-marsala);
}
.toast.success .toast-icon {
    color: var(--color-marsala);
}
.toast.success .toast-progress-bar {
    background: var(--color-marsala);
}

/* Error (Marsala Escuro) */
.toast.error {
    border-left: 4px solid #5d1f2c;
}
.toast.error .toast-icon {
    color: #5d1f2c;
}
.toast.error .toast-progress-bar {
    background: #5d1f2c;
}

/* Warning (Laranja - Alertas) */
.toast.warning {
    border-left: 4px solid #ff9800;
}
.toast.warning .toast-icon {
    color: #ff9800;
}
.toast.warning .toast-progress-bar {
    background: #ff9800;
}
