/* IBS global image quality + fit guard. Never stretch an image. */
.entry-content img:not(.ibs-tpe-gallery-image),
.elementor img:not(.ibs-tpe-gallery-image){
  max-width:100%;
  height:auto;
}

/* Only containers positively identified by JS as shaped/fixed media boxes get cover-cropping. */
.ibs-tpe-smart-fit-box{
  overflow:hidden!important;
}
.ibs-tpe-smart-fit-box>img.ibs-tpe-smart-image,
.ibs-tpe-smart-fit-box picture>img.ibs-tpe-smart-image{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:var(--ibs-object-position,50% 50%)!important;
  display:block;
}

/* Non-shaped content images remain responsive and keep their natural aspect ratio. */
img.ibs-tpe-smart-image:not(.ibs-tpe-gallery-image){
  max-width:100%;
}

/* Prevent old width/height attributes from visually stretching itinerary/content images. */
.elementor-widget-text-editor img.ibs-tpe-smart-image,
.elementor-tab-content img.ibs-tpe-smart-image,
.entry-content p img.ibs-tpe-smart-image{
  height:auto;
}
