:root {
  --image--image--border: inherit;
  --image--image--border_radius: 11px;
  --image--image--filter: inherit;
  --image--image--transition: inherit;
  --image--image--hover--border: inherit;
  --image--image--hover--filter: inherit;
  --image--image--hover--transition: inherit;
}
/* Main styling */
.paragraph.paragraph--type--oxfcms-image.oxfcms-image {
  display: inline-block;
  width: 100%;
  .oxfcms-image-wrapper {
    max-width: 100%;
    font-size: 0; /* Remove any space between inline elements */
    .oxfcms-image-link {
      display: inline-block;
      width: 100%;
    }
    img {
      display: block;
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      border: var(--image--image--border);
      border-radius: var(--image--image--border_radius);
      filter: var(--image--image--filter);
      transition: var(--image--image--transition);
      &:hover,
      &:focus {
        border: var(--image--image--hover--border);
        filter: var(--image--image--hover--filter);
        transition: var(--image--image--hover--transition);
      }
    }
    /* Apply border rounding on captioned images */
    &:has(.oxfcms-caption),
    &:has(.lb-caption) {
      img {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
      }
    }
  }
}
/* Don't round images in logo regions */
.footer_primary_logo .oxfcms-image img,
.header-logo .oxfcms-image img {
  border-radius: 0;
}

.oxfcms-image img:hover, .oxfcms-image img:focus {
  border: var(--image--image-hover-border);
  filter: var(--image--image-hover-filter);
  transition: var(--image--image-hover-transition);
}

/* Image alignment styles */
.paragraph.paragraph--type--oxfcms-image.oxfcms_image_align_left {
  text-align: left;
  .oxfcms-image-wrapper {
    display: inline-block;
  }
}

.paragraph.paragraph--type--oxfcms-image.oxfcms_image_align_centre {
  text-align: center;
  .oxfcms-image-wrapper {
    display: inline-block;
  }
}

.paragraph.paragraph--type--oxfcms-image.oxfcms_image_align_right {
  text-align: right;
  .oxfcms-image-wrapper {
    display: inline-block;
  }
}

/* Force center alignment on mobile */
@media (width < 768px) {
  .paragraph.paragraph--type--oxfcms-image.oxfcms_image_align_left,
  .paragraph.paragraph--type--oxfcms-image.oxfcms_image_align_right {
    text-align: center;
  }
}
