/* v1.20.290 — Modern cards: stable media, full actions, aligned content and badges.
   Scoped to the Modern model so other card presentations keep their layout. */
html body .product-card.product-card-style-modern{
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  isolation:isolate;
  background:var(--color-card-bg,var(--elite-bg,#fff));
}

/* A flex item with an aspect ratio may otherwise shrink to make room for copy.
   This also restores a reliable containing block for the cart button. */
html body .product-card.product-card-style-modern > .product-card-image{
  position:relative!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:var(--product-card-ratio,1)!important;
  margin:0!important;
  overflow:hidden!important;
  isolation:isolate;
}
[data-product-image-fit="original"] .product-card.product-card-style-modern
  > .product-card-image .product-card-link-image > img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

html body .product-card.product-card-style-modern > .product-card-image > .product-card-action{
  position:absolute!important;
  inset-block-start:auto!important;
  inset-block-end:10px!important;
  inset-inline-start:10px!important;
  inset-inline-end:10px!important;
  top:auto!important;
  bottom:10px!important;
  right:10px!important;
  left:10px!important;
  z-index:12!important;
  box-sizing:border-box!important;
  width:auto!important;
  height:auto!important;
  min-height:36px!important;
  margin:0!important;
  padding:6px 10px!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none;
}
/* Let the tallest card set the rail/grid row height. Keep each price at the
   bottom of its own content, while allowing long product names to remain full. */
html body .product-card.product-card-style-modern > .product-card-info{
  position:relative!important;
  z-index:2;
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  padding:10px 10px 12px!important;
  overflow:visible!important;
  background:var(--color-card-bg,var(--elite-bg,#fff));
}
html body .product-card.product-card-style-modern .product-card-link-title{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  width:100%!important;
}
html body .product-card.product-card-style-modern .product-card-title{
  display:block!important;
  box-sizing:border-box!important;
  min-height:2.7em!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
html body .product-card.product-card-style-modern .product-card-review-summary.product-card-star-strip{
  flex:0 0 auto!important;
  margin-block-start:auto!important;
}
html body .product-card.product-card-style-modern .product-card-price{
  position:relative!important;
  z-index:1;
  display:flex!important;
  flex:0 0 auto!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  column-gap:6px!important;
  row-gap:2px!important;
  min-height:22px!important;
  margin-block-start:auto!important;
  margin-block-end:0!important;
  padding:2px 0 0!important;
  line-height:1.3!important;
}
html body .product-card.product-card-style-modern .product-card-link-title:has(.product-card-star-strip)
  .product-card-price{
  margin-block-start:4px!important;
}

/* One fixed badge slot for every label, including the discount. The slot stays
   inside the media stacking context and cannot paint across the price below. */
html body .product-card.product-card-style-modern .product-card-badge-stack,
html body .product-card.product-card-style-modern .product-card-badge-stack.has-multiple{
  position:absolute!important;
  inset-block-start:11px!important;
  inset-block-end:auto!important;
  inset-inline-start:11px!important;
  inset-inline-end:auto!important;
  top:11px!important;
  bottom:auto!important;
  box-sizing:border-box!important;
  width:min(136px,calc(100% - 64px))!important;
  min-width:0!important;
  max-width:calc(100% - 64px)!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
html body .product-card.product-card-style-modern .product-card-badge-stack .product-card-badge-chip,
html body .product-card.product-card-style-modern .product-card-badge-stack.has-multiple .product-card-badge-chip{
  position:absolute!important;
  inset-block-start:0!important;
  inset-inline-start:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding:5px 8px!important;
  overflow:hidden!important;
  border-radius:11px!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.3!important;
  text-align:center!important;
  white-space:normal!important;
}
html body .product-card.product-card-style-modern .product-card-badge-stack
  .product-card-badge-chip > .product-card-badge-text{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  line-height:1.3!important;
  text-align:center!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
}
html body .product-card.product-card-style-modern .product-card-badge-stack
  .product-card-badge-text--discount{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  direction:rtl;
  unicode-bidi:isolate;
  white-space:nowrap!important;
}
html body .product-card.product-card-style-modern .product-card-badge-stack
  .product-card-badge-value{
  display:inline-block!important;
  flex:none!important;
  direction:ltr;
  unicode-bidi:isolate;
  font-variant-numeric:tabular-nums;
  white-space:nowrap!important;
}

@media(max-width:767px){
  html body .product-card.product-card-style-modern > .product-card-info{
    padding:8px 7px 10px!important;
  }
  html body .product-card.product-card-style-modern > .product-card-image > .product-card-action{
    right:7px!important;
    bottom:7px!important;
    left:7px!important;
    inset-inline-start:7px!important;
    inset-inline-end:7px!important;
    inset-block-end:7px!important;
    min-height:34px!important;
  }
  html body .product-card.product-card-style-modern .product-card-badge-stack,
  html body .product-card.product-card-style-modern .product-card-badge-stack.has-multiple{
    top:7px!important;
    inset-block-start:7px!important;
    inset-inline-start:7px!important;
    width:min(110px,calc(100% - 51px))!important;
    max-width:calc(100% - 51px)!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
  }
  html body .product-card.product-card-style-modern .product-card-badge-stack .product-card-badge-chip,
  html body .product-card.product-card-style-modern .product-card-badge-stack.has-multiple .product-card-badge-chip{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    padding:4px 6px!important;
    font-size:9px!important;
    gap:3px!important;
  }
}

/* Merchant option controls remain usable, and the cart setting can still
   deliberately hide the action. */
html[data-pc-cart="0"] body .product-card.product-card-style-modern .product-card-action,
body[data-pc-cart="0"] .product-card.product-card-style-modern .product-card-action{
  display:none!important;
}

/* Reserve a separate row inside the image for the real color selector. */
/* Modern product cards: keep the clickable colors above the full-width cart
   action instead of stacking both controls on the same image edge. */
html body .product-card.product-card-style-modern.has-card-color-overlay
  > .product-card-image > .product-card-media-colors {
  bottom:56px!important;
  z-index:14!important;
}

@media (max-width:767px) {
  html body .product-card.product-card-style-modern.has-card-color-overlay
    > .product-card-image > .product-card-media-colors {
    bottom:49px!important;
  }
}
