/* Bannières de notification (erreur / succès) — style toast */
.error-banner {
    position: fixed;
    top: 14px;
    right: 14px;
    left: auto;
    max-width: min(420px, calc(100vw - 28px));
    background-color: #fef2f2;
    color: #991b1b;
    padding: 14px 44px 14px 16px;
    border: 1px solid #fecaca;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
    z-index: 3000;
    font-size: 14.5px;
    line-height: 1.45;
    animation: toast-in .25s ease;
}

@keyframes toast-in {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.close-button {
    background: none;
    border: none;
    font-size: 18px;
    font-weight: bold;
    color: inherit;
    opacity: .6;
    position: absolute;
    top: 10px;
    right: 12px;
    cursor: pointer;
}

.close-button:hover { opacity: 1; }

@media (max-width: 720px) {
    .error-banner {
        top: 66px; /* sous la barre mobile */
    }
}
