.wc-block-components-product-sale-badge {
    background: #fff;
    border: 1px solid #43454b;
    border-radius: 3px;
    box-sizing: border-box;
    color: #43454b;
    display: inline-block;
    font-size: .875em;
    font-weight: 600;
    margin: 0 auto 12px;
    padding: .25em .75em;
    position: static;
    text-align: center;
    text-transform: uppercase;
    width: auto;
    z-index: 9
}

.wc-block-components-product-sale-badge span {
    background-color: inherit;
    color: inherit
}

@-webkit-keyframes spinner__animation {
    0% {
        -webkit-animation-timing-function: cubic-bezier(.5856, .0703, .4143, .9297);
        animation-timing-function: cubic-bezier(.5856, .0703, .4143, .9297);
        transform: rotate(0deg)
    }
    to {
        transform: rotate(1turn)
    }
}

@keyframes spinner__animation {
    0% {
        -webkit-animation-timing-function: cubic-bezier(.5856, .0703, .4143, .9297);
        animation-timing-function: cubic-bezier(.5856, .0703, .4143, .9297);
        transform: rotate(0deg)
    }
    to {
        transform: rotate(1turn)
    }
}

@-webkit-keyframes loading__animation {
    to {
        transform: translateX(100%)
    }
}

@keyframes loading__animation {
    to {
        transform: translateX(100%)
    }
}

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image,
.wc-block-components-product-image {
    display: block;
    position: relative;
    text-decoration: none
}

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image a,
.wc-block-components-product-image a {
    border: 0;
    border-radius: inherit;
    box-shadow: none;
    outline: 0;
    text-decoration: none
}

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image img,
.wc-block-components-product-image img {
    border-radius: inherit;
    height: auto;
    vertical-align: middle;
    width: 100%
}

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image img[hidden],
.wc-block-components-product-image img[hidden] {
    display: none
}

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image img[alt=""],
.wc-block-components-product-image img[alt=""] {
    border: 1px solid #f2f2f2
}

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image .wc-block-components-product-sale-badge--align-left,
.wc-block-components-product-image .wc-block-components-product-sale-badge--align-left {
    left: 4px;
    margin: 0;
    position: absolute;
    right: auto;
    top: 4px
}

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image .wc-block-components-product-sale-badge--align-center,
.wc-block-components-product-image .wc-block-components-product-sale-badge--align-center {
    left: 50%;
    margin: 0;
    position: absolute;
    right: auto;
    top: 4px;
    transform: translateX(-50%)
}

.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image .wc-block-components-product-sale-badge--align-right,
.wc-block-components-product-image .wc-block-components-product-sale-badge--align-right {
    left: auto;
    margin: 0;
    position: absolute;
    right: 4px;
    top: 4px
}

.is-loading .wc-block-components-product-image {
    background-color: currentColor !important;
    border: 0 !important;
    box-shadow: none;
    color: currentColor !important;
    display: block;
    line-height: 1;
    max-width: 100% !important;
    opacity: .15;
    outline: 0 !important;
    overflow: hidden !important;
    pointer-events: none;
    position: relative !important;
    width: 100%;
    width: auto;
    z-index: 1
}

.is-loading .wc-block-components-product-image>* {
    visibility: hidden
}

.is-loading .wc-block-components-product-image:after {
    -webkit-animation: loading__animation 1.5s ease-in-out infinite;
    animation: loading__animation 1.5s ease-in-out infinite;
    background-image: linear-gradient(90deg, currentColor, hsla(0, 0%, 96%, .302), currentColor);
    background-repeat: no-repeat;
    content: " ";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(-100%)
}

@media screen and (prefers-reduced-motion:reduce) {
    .is-loading .wc-block-components-product-image {
        -webkit-animation: none;
        animation: none
    }
}

.wc-block-components-product-image {
    margin: 0 0 12px
}

.wc-block-product-image__tools-panel .components-input-control {
    margin-bottom: 8px
}