body,
.wp-core-ui {

    .notice:not(.notice-alt),
    .edd-alert {
        border-radius: .425rem;
        border: none;
        box-shadow: var(--ee-box-shadow);
        margin-block: 1em;
        margin-inline: 0;
        padding: .25rem;

        &.has-icon {
            min-height: 3rem;
        }

        &:not(.admin-notice) {
            margin-inline: auto;
            max-width: 124ch;
            padding: 1rem 1.5rem;
        }

        .notice-wrap {
            align-items: center;
            border: 1px solid hsl(0 0% 50% / 15%);
            border-radius: .25rem;
            box-sizing: border-box;
            display: flex;
            font-size: 1rem;
            font-weight: 500;
            justify-content: flex-start;
            margin: 0;
            padding: .5rem;
            position: relative;
            width: 100%;
        }

        .dashicons {
            color: var(--ee-always-light);
            font-size: 3rem;
            height: 3rem;
            margin-inline-end: 1.5rem;
            opacity: .875;
            width: 3rem;
        }

        p {
            font-size: 1rem;
            line-height: 1.375;
            margin: 0;
            max-width: 65ch;

            a {
                font-weight: 600;
            }
        }

        pre {
            max-width: 100%;
            white-space: break-spaces;
        }

        button.notice-dismiss {
            top: unset;
            right: unset;
            align-content: center;
            background: 0 0;
            border: none;
            box-sizing: border-box;
            color: var(--ee-text-color);
            cursor: pointer;
            height: 3rem;
            justify-items: center;
            margin: 0;
            opacity: .5;
            padding: 0;
            position: absolute;
            inset-block-start: 0;
            inset-inline-end: 0;
            transition: all 100ms ease-in-out;
            width: 3rem;

            &:before {
                top: unset;
                right: unset;
                background: 0 0;
                color: var(--ee-text-color);
                content: "\f153";
                display: block;
                font: normal 2rem/2rem dashicons;
                height: 2rem;
                inset-block-start: 0;
                inset-inline-end: 0;
                margin: 0;
                position: relative;
                speak: never;
                text-align: center;
                width: 2rem;
                -moz-osx-font-smoothing: grayscale;
                -webkit-font-smoothing: antialiased;
            }

            &:hover {
                opacity: 1;
            }
        }

        &.is-dismissible {
            padding-right: .25rem;
        }

        &:has(.dashicons) .notice-wrap {
            padding-inline-start: 1rem;
        }

        &.notice-info,
        &.edd-alert-info {
            background-color: var(--ee-info-msg-color);
            border-color: var(--ee-info-msg-color);
            color: var(--ee-info-msg-text-color);

            p {
                color: var(--ee-info-msg-text-color);
            }

            button.notice-dismiss:before {
                color: var(--ee-info-msg-btn-color);
            }

            a {
                color: var(--ee-info-msg-link-color);

                &:hover {
                    color: var(--ee-info-msg-link-hover);
                }
            }
        }

        &.updated,
        &.edd_success,
        &.edd-alert-success,
        &.notice.notice-success {
            background-color: var(--ee-success-msg-color);
            border-color: var(--ee-success-msg-color);
            color: var(--ee-success-msg-text-color);

            p {
                color: var(--ee-success-msg-text-color);
            }

            button.notice-dismiss:before {
                color: var(--ee-success-msg-btn-color);
            }

            a {
                color: var(--ee-success-msg-link-color);

                &:hover {
                    color: var(--ee-success-msg-link-hover);
                }
            }
        }

        &.edd-alert-warn,
        &.notice.notice-warning {
            background-color: var(--ee-warning-msg-color);
            border-color: var(--ee-warning-msg-color);
            color: var(--ee-warning-msg-text-color);

            p {
                color: var(--ee-warning-msg-text-color);
            }

            button.notice-dismiss:before {
                color: var(--ee-warning-msg-btn-color);
            }

            a:not(.button) {
                color: var(--ee-warning-msg-link-color);

                &:hover {
                    color: var(--ee-warning-msg-link-hover);
                }
            }
        }

        &.edd_error,
        &.notice-error,
        &.edd-alert-error,
        &.edd-no-downloads,
        &.edd-no-purchases {
            background-color: var(--ee-error-msg-color);
            border-color: var(--ee-error-msg-color);
            color: var(--ee-error-msg-text-color);

            p {
                color: var(--ee-error-msg-text-color);
            }

            button.notice-dismiss:before {
                color: var(--ee-error-msg-btn-color);
            }

            a:not(.button)  {
                color: var(--ee-error-msg-link-color);

                &:hover {
                    color: var(--ee-error-msg-link-hover);
                }
            }
        }
        &.hidden {
            display: none;
        }
    }

    #espresso_spinner {
        animation: spin 1.5s linear infinite;
        -webkit-animation: spin 1.5s linear infinite;
        border-radius: 50%;
        border: 8px solid var(--ee-spinner-border);
        border-top-color: var(--ee-spinner-border-accent);
        display: none;
        height: 2rem;
        margin-block-start: 1rem;
        position: absolute;
        right: calc(50% - 1rem);
        top: 30%;
        width: 2rem;
    }

    &.wp-admin {
        .notice:not(.notice-alt),
        .edd-alert {

            &:not(.admin-notice) {
                max-width: unset;
            }

            &.inline {
                margin-inline: 0;
            }

            &.extra-margin-top {
                margin-block-start: 2rem;
            }
        }

        #screen-meta-links + .notice {
            margin-block-start: 3rem;
        }

        &.post-type-download .notice {
            width: calc(100% - 1.5rem);
        }
    }
}
