/**
 * Toasts / Notifications - CFM77 / ECSR Depot
 */

.toast_container {
    position: fixed;
    top: 24px;
    right: 24px;
    /* Au-dessus des modales (1000) et de l'overlay de chargement (9999) : un toast doit rester
       lisible, sinon il passe derrière l'écran opaque de la modale qui l'a déclenché. */
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

/* Un objet FIXÉ à l'écran se répète sur chaque page imprimée et peut en ouvrir une de
   plus, vide, à la fin du document. Un message de réussite ne s'imprime pas. */
@media print {
    .toast_container {
        display: none;
    }
}

.toast {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border-radius: 10px;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.08);
    background-color: var(--color-white);
    min-width: 300px;
    max-width: 500px;
    pointer-events: auto;
    animation: toast_slide_in 300ms ease;
    border: 1px solid var(--color-border);
}

@keyframes toast_slide_in {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes toast_slide_out {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

.toast_success {
    border-left: 4px solid var(--color-success);
}

.toast_error {
    border-left: 4px solid var(--color-error);
}

.toast_warning {
    border-left: 4px solid var(--color-warning);
}

.toast_info {
    border-left: 4px solid var(--color-info);
}

.toast_message {
    flex: 1;
    color: var(--color-gray-700);
    font-size: var(--text-small);
}

.toast_close {
    background: none;
    border: none;
    color: var(--color-gray-400);
    font-size: var(--text-subtitle);
    line-height: 1;
    padding: 0;
    cursor: pointer;
}

.toast_close:hover {
    color: var(--color-gray-600);
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 500px) {
    .toast {
        min-width: auto;
        max-width: calc(100vw - 32px);
    }

    .toast_container {
        left: 16px;
        right: 16px;
    }
}
