/* Alvport Theme 2.3.7: shared image containment across cards.
   This file loads last to retire competing dimensions from earlier patches.
   The media canvas may clip its own slides, never product labels. */
.alv-home-equip .alv-product-card,
.alv-home-product-card,
body.single-product .alv-similar-card {
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.alv-home-equip .alv-product-card__media,
.alv-home-product-card__media,
.alv-home-product-card.is-new .alv-home-product-card__media,
body.single-product .alv-similar-card__media {
  display:block!important;
  position:relative!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  box-sizing:border-box!important;
  border-bottom:1px solid #e8edf0!important;
}
/* The contained asset is inset inside the slide itself, independently of source aspect. */
.alv-home-equip .alv-product-card__image-link,
.alv-home-equip .alv-product-card__slides,
.alv-home-product-card__slides,
body.single-product .alv-similar-card__slides {
  box-sizing:border-box!important;
}
.alv-home-equip .alv-product-card__image-link {
  position:relative!important;
  display:flex!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px!important;
  overflow:hidden!important;
}
.alv-home-equip .alv-product-card__slide,
.alv-home-equip-card__slide,
.alv-home-product-card__slide,
body.single-product .alv-similar-card__slide {
  box-sizing:border-box!important;
  overflow:hidden!important;
  padding:14px!important;
}
.alv-home-equip .alv-product-card__image,
.alv-home-equip .alv-product-card__slide img,
.alv-home-equip-card__slide img,
.alv-home-product-card__image,
.alv-home-product-card__slide img,
body.single-product .alv-similar-card__image,
body.single-product .alv-similar-card__slide img {
  display:block!important;
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  box-sizing:border-box!important;
}
/* Image sizing is tied to the card, rather than the viewport screenshot size.
   A portrait/landscape object can use the entire contained canvas without overflow. */
@media (min-width:901px) {
  .alv-home-equip .alv-product-card__media,
  .alv-home-product-card__media,
  .alv-home-product-card.is-new .alv-home-product-card__media {
    height:215px!important;
  }
  body.single-product .alv-similar-card__media {
    height:220px!important;
  }
  .alv-home-equip .alv-product-card__slide,
  .alv-home-equip-card__slide,
  .alv-home-product-card__slide,
  body.single-product .alv-similar-card__slide {
    padding:18px!important;
  }
}
@media (max-width:900px) {
  .alv-home-equip .alv-product-card__media,
  .alv-home-product-card__media,
  .alv-home-product-card.is-new .alv-home-product-card__media,
  body.single-product .alv-similar-card__media {
    height:clamp(220px,62vw,320px)!important;
  }
  .alv-home-equip .alv-product-card__slide,
  .alv-home-equip-card__slide,
  .alv-home-product-card__slide,
  body.single-product .alv-similar-card__slide {
    padding:18px 22px!important;
  }
}
/* Block layout prevents absolute/sliding photos from crossing into text. */
.alv-home-equip .alv-product-card__body,
.alv-home-product-card__body,
.alv-home-product-card.is-new .alv-home-product-card__body,
body.single-product .alv-similar-card__title {
  display:flex!important;
  flex:1 0 auto!important;
  flex-direction:column!important;
  position:relative!important;
  z-index:3!important;
  min-height:0!important;
  max-height:none!important;
  margin-top:0!important;
  background:#fff!important;
  transform:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.alv-home-equip .alv-product-card__title,
.alv-home-product-card__title,
body.single-product .alv-similar-card__title,
body.single-product .alv-similar-card__title a {
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
}
/* Keep overlay controls strictly in the media region and above the image. */
.alv-home-equip .alv-product-card__quick,
.alv-home-product-card__quick {
  z-index:4!important;
}
/* Preserve native touch scroll-snap from 2.3.6; prevent inherited hover transforms. */
@media (hover:none),(pointer:coarse) {
  .alv-home-equip .alv-product-card__image,
  .alv-home-product-card__image,
  body.single-product .alv-similar-card__image {
    transform:none!important;
  }
}

/* Alvport Theme 2.3.8: one geometry for search, catalog, home, similar cards.
   Media and body have separate flex rows; images are never scaled/cropped by CSS. */
.alv-product-card,
.alv-home-equip .alv-product-card {
  display:flex!important;flex-direction:column!important;min-width:0!important;
  min-height:0!important;height:auto!important;overflow:hidden!important;
}
.alv-product-card__media,
.alv-home-equip .alv-product-card__media {
  display:block!important;position:relative!important;width:100%!important;
  height:252px!important;min-height:252px!important;max-height:none!important;
  flex:0 0 252px!important;padding:0!important;overflow:hidden!important;
  box-sizing:border-box!important;background:#fff!important;
  border-bottom:1px solid #e8edf0!important;
}
.alv-product-card__image-link,
.alv-home-equip .alv-product-card__image-link {
  display:flex!important;position:relative!important;width:100%!important;height:100%!important;
  min-width:0!important;box-sizing:border-box!important;align-items:center!important;
  justify-content:center!important;padding:22px!important;overflow:hidden!important;
}
/* Non-gallery images: center the original image without clipping its intrinsic bounds. */
.alv-product-card__media > .alv-product-card__image-link > img,
.alv-product-card__image-link > img.alv-product-card__image,
.alv-product-card__media > img.alv-product-card__image {
  display:block!important;position:relative!important;inset:auto!important;
  width:auto!important;height:auto!important;max-width:100%!important;
  max-height:100%!important;object-fit:contain!important;object-position:center!important;
  margin:auto!important;transform:none!important;
}
/* Gallery images: each slide owns its box, images stay inside with internal padding. */
.alv-product-card--gallery .alv-product-card__slides {
  width:100%!important;height:100%!important;max-width:100%!important;
}
.alv-product-card--gallery .alv-product-card__slide {
  box-sizing:border-box!important;padding:18px!important;overflow:hidden!important;
}
.alv-product-card--gallery .alv-product-card__slide img,
.alv-product-card--gallery .alv-product-card__image {
  display:block!important;width:auto!important;height:auto!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;
  margin:auto!important;transform:none!important;
}
.alv-product-card__body,
.alv-home-equip .alv-product-card__body {
  display:flex!important;flex-direction:column!important;flex:1 0 auto!important;
  min-width:0!important;min-height:0!important;max-height:none!important;
  position:relative!important;z-index:2!important;background:white!important;
  padding:16px 17px 18px!important;margin:0!important;overflow:visible!important;
}
.alv-product-card__title,
.alv-product-card__title a {
  white-space:normal!important;overflow-wrap:break-word!important;
  max-height:none!important;-webkit-line-clamp:unset!important;
}
.alv-product-card__quick {z-index:5!important;}
/* Keep similar and new products under the same non-clipping rules. */
.alv-home-product-card__image,.alv-similar-card__image {
  width:auto!important;height:auto!important;max-width:100%!important;
  max-height:100%!important;object-fit:contain!important;
}
.alv-home-brand,.alv-home-brand--visual-clone {
  cursor:pointer!important;
}
.alv-home-brand img {pointer-events:none;}
@media (max-width:900px) {
  .alv-product-card__media,
  .alv-home-equip .alv-product-card__media {
    height:clamp(240px,68vw,335px)!important;
    min-height:clamp(240px,68vw,335px)!important;
    flex:0 0 clamp(240px,68vw,335px)!important;
  }
  .alv-product-card__image-link,
  .alv-home-equip .alv-product-card__image-link {padding:22px!important;}
  .alv-product-card--gallery .alv-product-card__slide {padding:22px!important;}
}
