.bm-icons {
    display: flex;
    flex-wrap: wrap;

    .bm-icon {
        display: flex;
        align-items: center;
        height: 34px;
        width: 34px;
        padding: 0;
        align-items: center;
        justify-content: center;
        border: none;
        background: #f3f3f3;
        cursor: pointer;
        border: 1px solid rgba(0, 0, 0, 0);
        border-radius: 2px;
        position: relative;

        span {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        svg {
            height: 24px;
            width: 24px;
        }

        &:hover {
            background: #fff;
            border-color: #09f;
        }

        .bm-icon-remove {
            position: absolute;
            right: 0;
            top: 0;
            opacity: 0;
            visibility: hidden;
            height: 1em;
            width: 1em;
            font-size: 16px;

            svg {
                width: 100%;
                height: 100%;
            }
        }
        
        &:hover .bm-icon-remove {
            opacity: 1;
            visibility: visible;
        }
        
        &.is-removing {
            opacity: .3;
            border-color: lightgray !important;
            pointer-events: none;

            .components-spinner {
                width: 14px;
                height: 14px;
                margin: 0;
            }
        }
    }
}


.bm-icon-add-new {
    margin: 8px 0 0 0;
    /* background: lightgray; */
    /* display: inline-flex; */
    /* border-radius: 2px; */
    /* padding: 4px 6px; */
}

.bm-icon-add-new .bm-button-control {
    margin: 8px 0 0 0;
    background: #f3f3f3;
    display: inline-flex;
    border-radius: 2px;
    padding: 4px 8px;
    gap: 4px;
    border: 1px solid transparent;
}

.bm-icon-add-new .bm-button-control svg {
    fill: #999;
    height: 1em;
    width: 1em;
    font-size: 14px;
}

.bm-icon-add-new .bm-button-control:hover {
    border-color: #09f;
    background: #fff;
    color: #09f !important;
    fill: #09f !important;
}

.bm-icon-add-new .bm-button-control:hover svg {
    fill: #09f;
}

.bm-icon-form {
    background: #f3f3f3;
    border-radius: 4px;
    padding: 10px 12px;
}

.bm-icon-form h3 {
    margin: 0 0 8px 0;
}

.bm-icon-form input, .bm-icon-form textarea {
    width: 100%;
    border: 1px solid lightgray;
    background: #fff;
    font-size: 12px;
    line-height: normal;
    margin: 0 0 8px 0;
    border-radius: 3px;
}

.bm-icon-actions .button {
    margin: 8px 0 0 0;
    background: #f3f3f3;
    display: inline-flex;
    border-radius: 4px;
    padding: 4px 6px;
    gap: 4px;
    border: 1px solid transparent;
}

.bm-icon-form textarea {
    min-height: 80px;
}

.bm-icon-add-new .bm-icon-actions .bm-button-control:first-child {
    background: #09f;
    color: #fff !important;
}

.bm-icon-actions {
    gap: 8px;
    display: flex;
}

/**
 * Override colors
 */
.bm-icon-colors {
    margin: 12px 0;
}

.bm-icon-colors input[type="color"] {
    border: none !important;
    padding: 0;
    border: none;
    margin: 0;
    height: 24px;
    width: 100%;
    outline: none;
    border-radius: 3px;
    cursor: pointer;
}

.bm-icon-colors input[type="color"]::-webkit-color-swatch {
    border: none;
}

.bm-icon-colors input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}

.bm-color {
    display: flex;
    margin: 0 0 4px 0;
}

.bm-icon-colors input[type="color"]:focus {
    box-shadow: none;
}

.wp-block-bm-icon svg {
    width: inherit;
    height: inherit;
}