.icon-button {
    position: relative;
    &-mini {
        height: 32px;
        width: 32px;
        min-width: 32px;
        svg {
            width: 16px;
            height: 16px;
            * {
                stroke-width: 1.5625px;
            }
        }
    }
    &-small {
        height: 40px;
        width: 40px;
        min-width: 40px;
        svg {
            width: 20px;
            height: 20px;
            * {
                stroke-width: 1.25px;
            }
        }
    }
    &-medium {
        height: 44px;
        width: 44px;
        min-width: 44px;
        svg {
            width: 20px;
            height: 20px;
            * {
                stroke-width: 1.25px;
            }
        }
    }
    &-large {
        height: 56px;
        width: 56px;
        min-width: 56px;
        svg {
            width: 24px;
            height: 24px;
            * {
                stroke-width: 1.25px;
            }
        }
    }
    &:focus-visible {
        box-shadow: var(--focus);
        outline: none;
    }
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: none;
    cursor: pointer;
    &[disabled] {
        background-color: var(--background-neutral-disabled);
        color: var(--foreground-neutral-disabled);
        pointer-events: none;
    }
    &[aria-pressed="true"] {
        background-color: var(--background-primary);
        color: var(--black-400);
        &:hover {
            background-color: var(--background-primary);
            color: var(--black-400);
        }
    }
    &[aria-expanded="true"] {
        background-color: var(--background-neutral-hover);
    }
    &-danger {
        color: var(--foreground-danger-inverted);
        background-color: var(--background-danger);
        &:hover {
            background-color: var(--background-danger-hover);
        }
        &:active {
            background-color: var(--background-danger-active);
        }
    }
    &-solid {
        color: var(--black);
        // color: var(--white);

        background-color: var(--background-primary);
        &:hover {
            background-color: var(--background-primary-hover);
        }
        &:active {
            background-color: var(--background-primary-active);
        }
    }
    &-outline {
        color: var(--foreground-neutral);
        background-color: transparent;
        border: 1px solid var(--border-neutral);
        &:hover {
            background-color: var(--background-neutral-hover);
        }
        &:active {
            background-color: var(--background-neutral-active);
        }
    }
    &-ghost {
        color: var(--foreground-neutral);
        background-color: transparent;
        border: none;
        &:hover {
            background-color: var(--background-neutral-hover);
        }
        &:active {
            background-color: var(--background-neutral-active);
        }
        &[aria-expanded="true"] {
            background-color: var(--background-neutral-hover);
        }
    }
    &-ghost-static {
        color: var(--black);
        background-color: transparent;
        border: none;
        &:hover {
            background-color: var(--white);
        }
        &:active {
            background-color: transparent;
        }
    }
}
