/* Container toast */
.toast-container-custom {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Toast */
.toast-custom {
    min-width: 800px;
    max-width: 800px;
    color: #fff;
    padding: 15px 20px;
    border-radius: 10px;
    position: relative;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    animation: slideIn 0.4s ease;
    overflow: hidden;
    font-size: 14px;
}

/* Couleurs */
.toast-success { background: #198754; }
.toast-danger  { background: #dc3545; }
.toast-warning { background: #ffc107; color:#000; }
.toast-info    { background: #0dcaf0; color:#000; }

/* Animation entrée */
@keyframes slideIn {
    from { transform: translateX(120%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

/* Animation sortie */
.toast-hide {
    animation: slideOut 0.4s ease forwards;
}

@keyframes slideOut {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(120%); opacity: 0; }
}

/* Barre de progression */
.toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 4px;
    width: 100%;
    background: rgba(255,255,255,0.7);
    animation: progressBar 5s linear forwards;
}

@keyframes progressBar {
    from { width: 100%; }
    to { width: 0%; }
}

/* Bouton close */
.toast-close {
    position: absolute;
    top: 8px;
    right: 10px;
    background: transparent;
    border: none;
    color: inherit;
    font-size: 14px;
    cursor: pointer;
}