/* HT Containers global image safety
   Informational imagery must display in full. Decorative video remains cover. */
img{
  max-width:100%;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Fixed image canvases: use neutral backing instead of cropping */
.cr-sizeband-media,
.cr-decision-media,
.cr-story-media,
.cr-feature,
.cr-case-media,
.ht-products-hero-media,
.ex-model-card,
.ex-model-hero-image,
.ex-model-nav>a,
.ex-photo-pair,
.ex-photo-three,
.pl-hero-media,
.pl-media,
.pl-editorial-media,
.pl-gallery figure,
.pl-config,
.pl-use,
.pl-fold-card-media,
.sp-hero-media,
.sp-app-card,
.sp-split-media,
.sp-project-mosaic figure,
.sp-case-media,
.sp-gallery figure,
.sp-about-photo,
.sp-focus,
.sp-contact-hero-media,
.ds-hero-media,
.ds-feature-image,
.ds-mosaic figure,
.ds-story-media,
.ds-room,
.ds-gallery figure,
.hp-product-image,
.hp-scene,
.hp-config-gallery,
.hp-project-grid>a,
.hp-double-grid>a,
.hp-double-grid>figure,
.ht-result-product,
.ht-result-plan{
  background:#F5F3EE!important;
}

/* Product and technical imagery: full object visible */
.cr-sizeband-media img,
.cr-decision-media img,
.cr-rail-card img,
.cr-story-media img,
.cr-feature img,
.cr-case-media img,
.ht-products-hero-media img,
.ht-type-collection .ex-model-card img,
.ht-type-collection .ht-product-three article>img,
.ex-model-card img,
.ex-model-hero-image img,
.ex-model-nav>a>img,
.ex-photo-pair img,
.ex-photo-three img,
.ex-option-grid .ex-spec-card>img,
.pl-hero-media>img,
.pl-media img,
.pl-editorial-media img,
.pl-gallery img,
.pl-config img,
.pl-use img,
.pl-fold-card-media img,
.sp-hero-media img,
.sp-app-card img,
.sp-split-media img,
.sp-project-mosaic img,
.sp-case-media img,
.sp-gallery img,
.sp-about-photo img,
.sp-focus img,
.sp-contact-hero-media img,
.ds-hero-media img,
.ds-feature-image img,
.ds-mosaic img,
.ds-story-media img,
.ds-room img,
.ds-gallery img,
.hp-product-image img,
.hp-scene img,
.hp-config-gallery img,
.hp-project-grid img,
.hp-double-grid img,
.ht-real-project-grid img,
.ht-real-option-photo,
.ht-real-interior-strip img,
.ht-real-bathroom img,
.ht-real-kitchen img,
.ht-result-product img,
.ht-result-plan img{
  object-fit:contain!important;
  object-position:center!important;
}

/* Cancel absolute-fill cropping rules where they are used on content imagery */
.cr-decision-media img,
.cr-story-media img,
.cr-feature img,
.cr-case-media img,
.ht-products-hero-media img,
.sp-hero-media img,
.sp-app-card img,
.sp-split-media img,
.sp-case-media img,
.sp-contact-hero-media img{
  inset:auto!important;
}

/* The 20/30/40ft editorial three-image band must show all three photos completely */
.cr-sizeband-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:10px!important;
  border:1px solid #E3E0DA!important;
  background:#F5F3EE!important;
}

/* Floor plans, installation diagrams and technical drawings get clean white canvas */
img[src*="layout"],
img[src*="floor"],
img[src*="plan"],
img[src*="structure"],
img[src*="installation"]{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  padding:10px!important;
}

/* Never crop the X-Type product image implemented as a background */
.ht-x-product-image{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* Mobile: remove fixed image heights from key product/technical blocks */
@media(max-width:760px){
  .cr-sizeband{grid-template-columns:1fr!important}
  .cr-sizeband-media{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .cr-sizeband-media img,
  .cr-sizeband-media img:first-child,
  .pl-media img,
  .ht-result-product img,
  .ht-result-plan img,
  .ex-model-card img,
  .ex-model-nav>a>img,
  .ds-hero-media img,
  .ds-feature-image img{
    grid-row:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
}
