.lk-message {
    --message-background: var(--havelock-blue-50);
    --message-border: var(--havelock-blue-600);
    --message-text: var(--astronaut-blue-900);

    background-color: var(--message-background);
    border-inline-start: 0.375rem solid var(--message-border);
    border-radius: 0.25rem;
    box-shadow: 0 0.125rem 0.5rem hsl(0 0% 0% / 12%);
    box-sizing: border-box;
    color: var(--message-text);
    font-size: var(--body-base--font-size);
    font-weight: 600;
    line-height: 1.5;
    margin-block: 1.5rem;
    max-width: 100%;
    padding: 1rem 1.25rem;
}

.lk-message :is(a, button) {
    color: currentColor;
    font-weight: 700;
}

.lk-message :is(a, button):focus-visible {
    outline: 0.1875rem solid currentColor;
    outline-offset: 0.1875rem;
}

.lk-message__list {
    list-style: disc;
    margin: 0;
    padding-inline-start: 1.25rem;
}

.lk-message__item + .lk-message__item {
    margin-top: 0.375rem;
}

/* Successful actions and confirmations. */
.lk-message--status,
.lk-message--success {
    --message-background: var(--emerald-50);
    --message-border: var(--emerald-700);
    --message-text: var(--emerald-900);
}

/* Neutral updates and contextual information. */
.lk-message--info,
.lk-message--information {
    --message-background: var(--havelock-blue-50);
    --message-border: var(--havelock-blue-700);
    --message-text: var(--astronaut-blue-900);
}

/* Items that need attention but do not block the current action. */
.lk-message--warning,
.lk-message--alert {
    --message-background: var(--buttercup-50);
    --message-border: var(--buttercup-700);
    --message-text: var(--buttercup-950);
}

/* Failed actions and validation errors. */
.lk-message--error,
.lk-message--danger {
    --message-background: var(--carnation-50);
    --message-border: var(--carnation-700);
    --message-text: var(--carnation-950);
}

@media (min-width: 48rem) {
    .lk-message {
        padding: 1.125rem 1.5rem;
    }
}

@media (prefers-contrast: more) {
    .lk-message {
        border: 0.1875rem solid currentColor;
        border-inline-start-width: 0.5rem;
        box-shadow: none;
    }
}
