:root {
    --sfera-toast-text: #212529;
    --sfera-toast-muted: #4b5563;
    --sfera-toast-border: #e5e7eb;
    --sfera-toast-surface: #ffffff;
    --sfera-toast-info: #1b6ec2;
    --sfera-toast-success: #26b050;
    --sfera-toast-warning: #d4a100;
    --sfera-toast-warning-soft: #fff7d6;
    --sfera-toast-danger: #d71920;
    --sfera-toast-danger-dark: #b32121;
}

/* contenitore centrale */
.e-toast-container {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    top: 76px !important;
}

    /* toast base */
    .e-toast-container .e-toast.sfera-toast {
        width: min(460px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
        box-sizing: border-box;
        min-height: 82px;
        color: #fff;
        background: linear-gradient(180deg, var(--sfera-toast-danger) 0%, var(--sfera-toast-danger-dark) 100%);
        border: 1px solid rgba(255,255,255,0.14);
        border-left: 0 !important;
        border-radius: 12px;
        box-shadow: 0 14px 30px rgba(179, 33, 33, 0.28);
        padding: .9rem 1rem;
    }

        /* layout interno centrato */
        .e-toast-container .e-toast.sfera-toast .e-toast-message {
            padding: 0 2rem 0 0.5rem;
            text-align: center;
        }

        .e-toast-container .e-toast.sfera-toast .e-toast-title {
            color: #fff;
            font-weight: 700;
            line-height: 1.25;
            text-align: center;
            overflow-wrap: anywhere;
            word-break: break-word;
        }

        .e-toast-container .e-toast.sfera-toast .e-toast-content {
            color: rgba(255,255,255,0.95);
            line-height: 1.35;
            text-align: center;
            overflow-wrap: anywhere;
            word-break: break-word;
        }

        .e-toast-container .e-toast.sfera-toast .sfera-toast-copy-body {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: .7rem;
        }

        .e-toast-container .e-toast.sfera-toast .sfera-toast-copy-text {
            line-height: 1.35;
            text-align: center;
            white-space: pre-wrap;
            overflow-wrap: anywhere;
            word-break: break-word;
        }

        .e-toast-container .e-toast.sfera-toast .sfera-toast-copy-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 32px;
            padding: .38rem .9rem;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,0.34);
            background: rgba(255,255,255,0.14);
            color: #fff;
            font-size: .82rem;
            font-weight: 700;
            line-height: 1;
            cursor: pointer;
            transition: background-color .16s ease, transform .16s ease, border-color .16s ease;
        }

            .e-toast-container .e-toast.sfera-toast .sfera-toast-copy-button:hover,
            .e-toast-container .e-toast.sfera-toast .sfera-toast-copy-button:focus-visible {
                background: rgba(255,255,255,0.22);
                border-color: rgba(255,255,255,0.5);
                transform: translateY(-1px);
                outline: none;
            }

        .e-toast-container .e-toast.sfera-toast .e-toast-icon {
            align-self: center;
            color: #fff;
            margin-top: 0;
        }

        .e-toast-container .e-toast.sfera-toast .e-toast-close-icon {
            color: rgba(255,255,255,0.92);
            border-radius: 6px;
        }

        .e-toast-container .e-toast.sfera-toast .e-toast-progress {
            background: #ffd6d6;
            opacity: .95;
        }

    /* INFO */
    .e-toast-container .e-toast.sfera-toast-info {
        background: #ffffff !important;
        color: var(--sfera-toast-text) !important;
        border: 1px solid #d7e7f8 !important;
        border-left: 6px solid var(--sfera-toast-info) !important;
        box-shadow: 0 10px 24px rgba(27, 110, 194, 0.14);
    }

        .e-toast-container .e-toast.sfera-toast-info .e-toast-title,
        .e-toast-container .e-toast.sfera-toast-info .e-toast-content {
            color: var(--sfera-toast-text) !important;
        }

        .e-toast-container .e-toast.sfera-toast-info .e-toast-icon {
            color: var(--sfera-toast-info) !important;
        }

        .e-toast-container .e-toast.sfera-toast-info .e-toast-close-icon {
            color: var(--sfera-toast-muted) !important;
        }

        .e-toast-container .e-toast.sfera-toast-info .e-toast-progress {
            background: var(--sfera-toast-info) !important;
            opacity: .9;
        }

    /* SUCCESS */
    .e-toast-container .e-toast.sfera-toast-success {
        background: #ffffff !important;
        color: var(--sfera-toast-text) !important;
        border: 1px solid #d8efdf !important;
        border-left: 6px solid var(--sfera-toast-success) !important;
        box-shadow: 0 10px 24px rgba(38, 176, 80, 0.14);
    }

        .e-toast-container .e-toast.sfera-toast-success .e-toast-title,
        .e-toast-container .e-toast.sfera-toast-success .e-toast-content {
            color: var(--sfera-toast-text) !important;
        }

        .e-toast-container .e-toast.sfera-toast-success .e-toast-icon {
            color: var(--sfera-toast-success) !important;
        }

        .e-toast-container .e-toast.sfera-toast-success .e-toast-close-icon {
            color: var(--sfera-toast-muted) !important;
        }

        .e-toast-container .e-toast.sfera-toast-success .e-toast-progress {
            background: var(--sfera-toast-success) !important;
            opacity: .9;
        }

    /* WARNING */
    .e-toast-container .e-toast.sfera-toast-warning {
        background: #ffffff !important;
        color: var(--sfera-toast-text) !important;
        border: 1px solid #f3e3a1 !important;
        border-left: 6px solid var(--sfera-toast-warning) !important;
        box-shadow: 0 10px 24px rgba(33, 37, 41, 0.14);
    }

        .e-toast-container .e-toast.sfera-toast-warning .e-toast-title,
        .e-toast-container .e-toast.sfera-toast-warning .e-toast-content {
            color: var(--sfera-toast-text) !important;
        }

        .e-toast-container .e-toast.sfera-toast-warning .e-toast-icon {
            color: var(--sfera-toast-warning) !important;
        }

        .e-toast-container .e-toast.sfera-toast-warning .e-toast-close-icon {
            color: var(--sfera-toast-muted) !important;
        }

        .e-toast-container .e-toast.sfera-toast-warning .e-toast-progress {
            background: var(--sfera-toast-warning) !important;
            opacity: .9;
        }

    /* ERROR / DANGER */
    .e-toast-container .e-toast.sfera-toast-error,
    .e-toast-container .e-toast.sfera-toast-danger {
        background: linear-gradient(180deg, var(--sfera-toast-danger) 0%, var(--sfera-toast-danger-dark) 100%);
        color: #fff !important;
        border: 1px solid rgba(255,255,255,0.14) !important;
        border-left: 0 !important;
        box-shadow: 0 14px 30px rgba(179, 33, 33, 0.28);
    }

        .e-toast-container .e-toast.sfera-toast-error .e-toast-title,
        .e-toast-container .e-toast.sfera-toast-error .e-toast-content,
        .e-toast-container .e-toast.sfera-toast-danger .e-toast-title,
        .e-toast-container .e-toast.sfera-toast-danger .e-toast-content {
            color: #fff !important;
        }

        .e-toast-container .e-toast.sfera-toast-error .e-toast-icon,
        .e-toast-container .e-toast.sfera-toast-danger .e-toast-icon {
            color: #fff !important;
        }

        .e-toast-container .e-toast.sfera-toast-error .e-toast-close-icon,
        .e-toast-container .e-toast.sfera-toast-danger .e-toast-close-icon {
            color: rgba(255,255,255,0.92) !important;
        }

        .e-toast-container .e-toast.sfera-toast-error .e-toast-progress,
        .e-toast-container .e-toast.sfera-toast-danger .e-toast-progress {
            background: #ffd6d6 !important;
            opacity: .95;
        }

@media (max-width: 480px) {
    .e-toast-container {
        top: 68px !important;
        left: 12px !important;
        right: 12px !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        transform: none !important;
    }

        .e-toast-container .e-toast.sfera-toast {
            width: 100% !important;
            max-width: 100% !important;
        }
}
