.aw-action-button {
    @apply bg-surface;

    --min-header-height: 2.875rem;

    display: grid;
    align-items: start;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: minmax(var(--min-header-height), max-content) minmax(
            0,
            auto
        );
    gap: 0 1rem;

    padding: 1.5rem;
    border-radius: 1rem;

    width: 100%;

    &__icon-wrapper {
        transition: 60ms color, 60ms background-color;
    }

    &__icon-empty {
        display: block;
        width: 1px;
        margin-left: -1px;
    }

    &__icon-empty + &__text {
        margin-left: -1rem;
    }

    &:hover &__icon-wrapper {
        color: var(--bg-color);
        background-color: var(--color);
    }

    &:focus-visible {
        outline: 0;
        box-shadow: 0 0 0 2px var(--c-mono-800) inset;
    }

    &__text {
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.5;
        align-self: center;
    }

    &__description {
        display: block;
        font-weight: normal;
        margin-top: 0.25rem;
    }

    &__subdescription {
        grid-column: 1 / -1;

        padding-top: 1rem;
    }

    &--outline {
        box-shadow: 0 0 0 2px var(--c-mono-800) inset;
        background: transparent;
    }

    &--narrow {
        padding: 1rem;
    }

    & > :where(.aw-action-icon) {
        margin-top: max(
            0px,
            calc((var(--min-header-height) - var(--size)) / 2)
        );
    }
}
