/* MUTTI LAB 2.0 — Product Card Surface Parity V2.4 (Clean Core Phase 3.1)
 * One metadata contract across Home thematic grids and Woo archives.
 * Existing media/card scale is intentionally untouched.
 */

/* -------------------------------------------------------------------------
 * A. HOME THEMATIC / MAIN GRID TITLE COLLISION
 * Stage138 still has a more specific 2–3 line adaptive title owner on the
 * main thematic grid. Product Card V2.1 reserves only two title lines, so a
 * third legacy line can paint into the review row. Reassert one deterministic
 * two-line slot with enough specificity to beat Stage138 without touching the
 * moving carousel (owned separately by V2.3).
 * ------------------------------------------------------------------------- */
html body.home main.mutti-home
#mutti-market.mutti-ref-market-v920[data-mutti-all-view]
.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
.mutti-market-copy.mutti-market-copy-v8638{
  display:grid!important;
  grid-template-areas:"price" "title" "rating" "promise"!important;
  grid-template-rows:auto 28px 18px 31px!important;
  row-gap:4px!important;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
}
html body.home main.mutti-home
#mutti-market.mutti-ref-market-v920[data-mutti-all-view]
.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
.mutti-market-copy.mutti-market-copy-v8638 h3{
  grid-area:title!important;
  display:-webkit-box!important;
  box-sizing:border-box!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  margin:0!important;
  overflow:hidden!important;
  line-height:14px!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
}
html body.home main.mutti-home
#mutti-market.mutti-ref-market-v920[data-mutti-all-view]
.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-market-copy.mutti-market-copy-v8638 h3 a{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  line-height:14px!important;
}
html body.home main.mutti-home
#mutti-market.mutti-ref-market-v920[data-mutti-all-view]
.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-stage121-card-rating{
  grid-area:rating!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:0!important;
  overflow:hidden!important;
}
html body.home main.mutti-home
#mutti-market.mutti-ref-market-v920[data-mutti-all-view]
.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-stage121-pvz,
html body.home main.mutti-home
#mutti-market.mutti-ref-market-v920[data-mutti-all-view]
.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-market-delivery{
  grid-area:promise!important;
  height:31px!important;
  min-height:31px!important;
  max-height:31px!important;
  margin:0!important;
  overflow:hidden!important;
}

/* Feature/departments use the same protected title contract. This covers the
   static thematic blocks as well as progressively inserted department cards. */
html body.home .mutti-feature-band-v9460__product
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
.mutti-market-copy.mutti-market-copy-v8638,
html body.home .mutti-home-department-v8521__card
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
.mutti-market-copy.mutti-market-copy-v8638{
  display:grid!important;
  grid-template-areas:"price" "title" "rating" "promise"!important;
  grid-template-rows:auto 28px 18px 31px!important;
  row-gap:4px!important;
  min-height:0!important;
  height:auto!important;
}
html body.home .mutti-feature-band-v9460__product
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
.mutti-market-copy.mutti-market-copy-v8638 h3,
html body.home .mutti-home-department-v8521__card
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
.mutti-market-copy.mutti-market-copy-v8638 h3{
  grid-area:title!important;
  display:-webkit-box!important;
  box-sizing:border-box!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  margin:0!important;
  overflow:hidden!important;
  line-height:14px!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
}

/* -------------------------------------------------------------------------
 * B. SHOP / CATEGORY METADATA PARITY
 * The absorbed archive base intentionally preserves the older archive card language
 * at its historical cascade position and still has enough selector specificity
 * to beat the newer V2.1 slots. Keep archive card/media
 * scale intact, but make the information stack obey the current card contract:
 * price -> two-line title -> honest review row -> free-PVZ promise -> CTA.
 * ------------------------------------------------------------------------- */
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
.mutti-market-copy.mutti-market-copy-v8638{
  display:grid!important;
  grid-template-areas:"price" "title" "rating" "promise"!important;
  grid-template-rows:auto 28px 18px 31px!important;
  row-gap:4px!important;
  min-height:0!important;
  height:auto!important;
  padding-top:6px!important;
  padding-bottom:0!important;
}

/* Price keeps the archive typography/size. Only its slot/order is canonical. */
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-market-price-row{
  grid-area:price!important;
  display:flex!important;
  align-items:flex-end!important;
  min-height:22px!important;
  margin:0!important;
}

/* Same two-line product-name behaviour as current Home cards. */
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
.mutti-market-copy.mutti-market-copy-v8638 h3{
  grid-area:title!important;
  display:-webkit-box!important;
  box-sizing:border-box!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  margin:0!important;
  overflow:hidden!important;
  white-space:normal!important;
  line-height:14px!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
}
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-market-copy h3 a{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  line-height:14px!important;
}

/* Current review semantics/geometry. The renderer already supplies real Woo
   reviews first, admin-only demo fallback, or the neutral “Нет отзывов”. */
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-stage121-card-rating{
  grid-area:rating!important;
  order:initial!important;
  display:grid!important;
  grid-template-columns:auto max-content minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:5px!important;
  width:100%!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-stage121-card-rating>span:last-child{
  min-width:0!important;
  height:auto!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Current green delivery promise, same wording/data as Home; archive card size
   stays unchanged because the promise receives the already reserved V2 slot. */
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-stage121-pvz,
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-market-delivery{
  grid-area:promise!important;
  order:initial!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-content:flex-start!important;
  align-items:baseline!important;
  gap:1px 5px!important;
  width:100%!important;
  height:31px!important;
  min-height:31px!important;
  max-height:31px!important;
  margin:0!important;
  overflow:hidden!important;
}
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-stage121-pvz__free{
  color:#118447!important;
  font-weight:760!important;
  white-space:nowrap!important;
}
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-stage121-pvz__free::before{
  content:""!important;
  display:inline-block!important;
  width:6px!important;
  height:6px!important;
  margin:0 4px 1px 0!important;
  border-radius:50%!important;
  background:currentColor!important;
  vertical-align:middle!important;
  opacity:1!important;
}
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-stage121-pvz__eta{
  min-width:0!important;
  color:#6d727a!important;
  font-weight:540!important;
  white-space:normal!important;
}

/* CTA remains the common bottom baseline. */
html body.mutti-listing-v2.mutti-listing-v2
main[data-mutti-archive] .mutti-category-product-grid
>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1
.mutti-market-actions.mutti-market-actions--single-v8524{
  display:flex!important;
  flex:1 0 auto!important;
  align-items:flex-end!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:7px!important;
}

@media(max-width:700px){
  html body.home main.mutti-home
  #mutti-market.mutti-ref-market-v920[data-mutti-all-view]
  .mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
  .mutti-market-copy.mutti-market-copy-v8638,
  html body.home .mutti-feature-band-v9460__product
  >.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
  .mutti-market-copy.mutti-market-copy-v8638,
  html body.home .mutti-home-department-v8521__card
  >.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
  .mutti-market-copy.mutti-market-copy-v8638,
  html body.mutti-listing-v2.mutti-listing-v2 main[data-mutti-archive]
  .mutti-category-product-grid>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
  .mutti-market-copy.mutti-market-copy-v8638{
    grid-template-rows:auto 26.8px 17px 34px!important;
    row-gap:3px!important;
  }

  html body.home main.mutti-home
  #mutti-market.mutti-ref-market-v920[data-mutti-all-view]
  .mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
  .mutti-market-copy.mutti-market-copy-v8638 h3,
  html body.mutti-listing-v2.mutti-listing-v2 main[data-mutti-archive]
  .mutti-category-product-grid>.mutti-market-card.mutti-market-card-v9458.mutti-ui-card-v2-1.mutti-ui-card-v2-1
  .mutti-market-copy.mutti-market-copy-v8638 h3{
    height:26.8px!important;
    min-height:26.8px!important;
    max-height:26.8px!important;
    line-height:13.4px!important;
    -webkit-line-clamp:2!important;
    line-clamp:2!important;
  }
}

/* Clean Core Phase 3.1 — archive price ownership.
 * Stage191 used to shield shop/category cards from the later Stage216
 * readability override. After Stage191 retirement that old 21px rule became
 * visible again. Keep the approved compact archive price in the canonical V2
 * surface owner instead of restoring a legacy body-class dependency. */
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price,
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price .amount,
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price .woocommerce-Price-amount,
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price bdi,
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price ins,
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price ins .amount,
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price ins .woocommerce-Price-amount{
  font-size:13.6px!important;
  line-height:1.12!important;
  font-weight:650!important;
  letter-spacing:0!important;
}
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price del,
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price del .amount,
html body.mutti-listing-v2 main[data-mutti-archive]
.mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price del .woocommerce-Price-amount{
  font-size:10px!important;
  line-height:1.1!important;
  font-weight:480!important;
  letter-spacing:0!important;
}
@media (max-width:700px){
  html body.mutti-listing-v2 main[data-mutti-archive]
  .mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price,
  html body.mutti-listing-v2 main[data-mutti-archive]
  .mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price .amount,
  html body.mutti-listing-v2 main[data-mutti-archive]
  .mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price .woocommerce-Price-amount,
  html body.mutti-listing-v2 main[data-mutti-archive]
  .mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price bdi,
  html body.mutti-listing-v2 main[data-mutti-archive]
  .mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price ins,
  html body.mutti-listing-v2 main[data-mutti-archive]
  .mutti-market-card.mutti-ui-card-v2-1 .mutti-market-price ins .amount{
    font-size:15.5px!important;
    font-weight:650!important;
  }
}
