/* Positive sides cancel actual Group padding plus the requested theme-scaled distance. */
.wp-block-image.has-image-expansion {
    box-sizing: border-box;
    width: calc(100% + var(--image-expand-left, 0px) + var(--image-expand-right, 0px)) !important;
    max-width: none !important;
}
.wp-block-image.has-image-expansion[data-image-expand-top]:not([data-image-expand-top="0"]) {
    margin-top: calc(-1 * var(--image-expand-top)) !important;
}
.wp-block-image.has-image-expansion[data-image-expand-right]:not([data-image-expand-right="0"]) {
    margin-right: calc(-1 * var(--image-expand-right)) !important;
}
.wp-block-image.has-image-expansion[data-image-expand-bottom]:not([data-image-expand-bottom="0"]) {
    margin-bottom: calc(-1 * var(--image-expand-bottom)) !important;
}
.wp-block-image.has-image-expansion[data-image-expand-left]:not([data-image-expand-left="0"]) {
    margin-left: calc(-1 * var(--image-expand-left)) !important;
}
.wp-block-image.has-image-expansion > :is(a, .img-wrapper, .components-resizable-box__container),
.wp-block-image.has-image-expansion img {
    width: 100% !important;
    max-width: none !important;
}
.wp-block-image.has-image-expansion:not(.wpfox-video-block) img {
    height: auto !important;
}
/* Return the caption to the original content edges, including reclaimed Group padding. */
.wp-block-image.has-image-expansion > figcaption {
    box-sizing: border-box;
    width: calc(100% - var(--image-expand-left, 0px) - var(--image-expand-right, 0px)) !important;
    margin-left: var(--image-expand-left, 0px) !important;
    margin-right: var(--image-expand-right, 0px) !important;
}
