/* Clip Images Media — multilingual footer layout hard fix v11754
   Public web + responsive/mobile only. Prevents translated footer labels from
   colliding, clipping or sitting on top of neighbouring columns. */
html body:not(.adminBody) footer.cimFooterRestoreV2029{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029{
  width:min(1420px,calc(100% - 48px))!important;
  max-width:1420px!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(280px,1.35fr) minmax(165px,1fr) minmax(165px,1fr) minmax(130px,.78fr) minmax(145px,.88fr)!important;
  gap:24px!important;
  align-items:start!important;
  overflow:visible!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029 > *,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterBrandV2029,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterColV2029{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow:visible!important;
  transform:none!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterColV2029 h3,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialTitleV2029,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterColV2029 a,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 a,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 div,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 a span:not(.cimFooterIconV2029),
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 div span:not(.cimFooterIconV2029),
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterLogoRowV2029 > div > b,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterLogoRowV2029 > div > span{
  position:static!important;
  float:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  transform:none!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterColV2029 h3,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialTitleV2029{
  line-height:1.25!important;
  margin-top:0!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterColV2029 a{
  display:block!important;
  line-height:1.38!important;
  margin-bottom:6px!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  overflow:visible!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 a,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 div{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:9px!important;
  row-gap:0!important;
  width:100%!important;
  min-width:0!important;
  min-height:25px!important;
  line-height:1.35!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 .cimFooterIconV2029{
  grid-column:1!important;
  align-self:start!important;
  margin-top:1px!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 a span:not(.cimFooterIconV2029),
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 div span:not(.cimFooterIconV2029){
  grid-column:2!important;
  line-height:1.35!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterLogoRowV2029{
  width:100%!important;
  min-width:0!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterLogoRowV2029 > div{
  min-width:0!important;
  max-width:calc(100% - 62px)!important;
}
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialsV2029{
  position:static!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  max-height:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

/* Translated copy gets longer. Move to a safer 3-column layout before it can collide. */
@media (max-width:1279px){
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029{
    width:min(1040px,calc(100% - 40px))!important;
    grid-template-columns:minmax(280px,1.25fr) minmax(190px,1fr) minmax(190px,1fr)!important;
    gap:26px 28px!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029 > .cimFooterBrandV2029{
    grid-column:auto!important;
  }
}

/* Tablet: brand/contact gets a full line; footer links use two safe columns. */
@media (max-width:900px){
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029{
    width:calc(100% - 32px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 24px!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029 > .cimFooterBrandV2029{
    grid-column:1 / -1!important;
    width:100%!important;
  }
}

/* Mobile: compact two-column footer without translated text overlap. */
@media (max-width:600px){
  html body:not(.adminBody) footer.cimFooterRestoreV2029{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px 16px!important;
    margin-bottom:12px!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029 > .cimFooterBrandV2029{
    grid-column:1 / -1!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterColV2029 h3,
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialTitleV2029{
    font-size:14px!important;
    line-height:1.25!important;
    margin-bottom:8px!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterColV2029 a{
    font-size:12px!important;
    line-height:1.35!important;
    margin-bottom:5px!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 a,
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 div,
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 a span:not(.cimFooterIconV2029),
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 div span:not(.cimFooterIconV2029){
    font-size:12px!important;
    line-height:1.35!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterLogoRowV2029 > div > b{
    white-space:normal!important;
  }
}

/* Very narrow phones: one column is safer for every translated language. */
@media (max-width:380px){
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029{
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029 > .cimFooterBrandV2029{
    grid-column:auto!important;
  }
}
