.message {
    position: fixed;
    top: 140px;
    right: 30px;
    left: auto;

    width: min(360px, calc(100% - 40px));
    margin: 0;
    padding: 16px 42px 16px 18px;

    background: #f0ede6;
    color: #2a2a2a;

    border: none;
    border-left: 5px solid #333333;
    border-radius: 8px;

    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);

    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;

    cursor: pointer;
    opacity: 1;
    z-index: 9999;

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.message.success {
    background: white;
    color: #2a2a2a;
    border-left-color: green;
}

.message.error {
    background: white;
    color: #7a2929;
    border-left-color: #7a2929;
}

.message.warning {
    background: #f0ede6;
    color: #7b4f18;
    border-left-color: #c4841d;
}

.message::after {
    content: "×";

    position: absolute;
    top: 50%;
    right: 16px;

    transform: translateY(-50%);

    color: #6d6d6d;

    font-family: Arial, sans-serif;
    font-size: 20px;
    font-weight: 400;
}

.message.hidden {
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
}

.admin-flash-wrapper {
    width: 100%;
}

.admin-flash-wrapper .message {
    top: 90px;
    right: 30px;
    margin: 0;
}

@media (max-width: 600px) {
    .message {
        top: 82px;
        right: 16px;

        width: calc(100% - 32px);
        padding: 15px 40px 15px 16px;

        border-left-width: 5px;
        border-radius: 8px;

        font-size: 14px;
    }

    .admin-flash-wrapper .message {
        top: 82px;
        right: 16px;
    }

    .message::after {
        right: 14px;
        font-size: 19px;
    }
}
