figure.wp-block-acf-image.contain {
  display: grid;
  justify-content: var(--horizontal);
  align-items: var(--vertical);
}
figure.wp-block-acf-image.contain.contain-top-center {
  --position: top center;
  --horizontal: center;
  --vertical: start;
}
figure.wp-block-acf-image.contain.contain-center-center {
  --position: center;
  --horizontal: center;
  --vertical: center;
}
figure.wp-block-acf-image.contain.contain-bottom-center {
  --position: bottom center;
  --horizontal: center;
  --vertical: end;
}
figure.wp-block-acf-image.contain.contain-top-left {
  --position: top left;
  --horizontal: start;
  --vertical: start;
}
figure.wp-block-acf-image.contain.contain-center-left {
  --position: center left;
  --horizontal: start;
  --vertical: center;
}
figure.wp-block-acf-image.contain.contain-bottom-left {
  --position: bottom left;
  --horizontal: start;
  --vertical: end;
}
figure.wp-block-acf-image.contain.contain-top-right {
  --position: top right;
  --horizontal: end;
  --vertical: start;
}
figure.wp-block-acf-image.contain.contain-center-right {
  --position: center right;
  --horizontal: end;
  --vertical: center;
}
figure.wp-block-acf-image.contain.contain-bottom-right {
  --position: bottom right;
  --horizontal: end;
  --vertical: end;
}
figure.wp-block-acf-image.contain img {
  object-position: var(--position);
  width: 100%;
  height: auto;
}
figure.wp-block-acf-image.contain.rounded img {
  border-radius: var(--border-radius);
}
figure.wp-block-acf-image.contain.has-max-width img, figure.wp-block-acf-image.contain.has-max-height img {
  width: auto;
}

figure.rounded {
  border-radius: var(--border-radius);
  overflow: clip;
}
figure.rounded img {
  display: block;
  margin: 0;
  border-radius: var(--border-radius);
}

figure.aspect-portrait img,
figure.aspect-portrait {
  aspect-ratio: 3/4;
}

figure.aspect-landscape,
figure.aspect-landscape img {
  aspect-ratio: 4/3;
}

figure.aspect-wide,
figure.aspect-wide img {
  aspect-ratio: 16/9;
}

figure.aspect-square img,
figure.aspect-square {
  aspect-ratio: 1/1;
}

figure.wp-block-acf-image.cover img {
  object-fit: cover;
}

figure.wp-block-acf-image.is-video iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  align-self: center;
}

figure.wp-block-acf-image:has(figcaption) {
  display: inline-grid;
  grid-template-columns: 100%;
  gap: var(--spacing-small);
}
figure.wp-block-acf-image:has(figcaption) figcaption {
  font-size: var(--font-size-base-small);
  line-height: var(--line-height-base);
  padding-inline: var(--spacing-tiny-extra);
  text-wrap: balance;
}

figure.acf-block-image:not(.contain) img {
  height: 100%;
  width: 100%;
}
figure.acf-block-image:not(.contain).aspect-16_9 img {
  aspect-ratio: 16/9;
}

figure.acf-block-image.rounded img {
  border-radius: var(--border-radius);
}