/* ZAVRYNE 16.27 — completely isolated recommendation cards */

.single-product .zv1627-recommendations,
.single-product .zv1627-recommendations *,
.single-product .zv1627-recommendations *::before,
.single-product .zv1627-recommendations *::after{
  box-sizing:border-box!important;
}

.single-product .zv1627-recommendations{
  width:min(1420px,calc(100% - 32px))!important;
  max-width:1420px!important;
  margin:36px auto 0!important;
  padding:30px!important;
  overflow:visible!important;
  border:1px solid #e7ded7!important;
  border-radius:20px!important;
  background:#fbf8f5!important;
  box-shadow:0 6px 24px rgba(38,28,21,.04)!important;
}

.single-product .zv1627-reco-heading{
  display:block!important;
  margin:0 0 22px!important;
  padding:0!important;
}
.single-product .zv1627-reco-eyebrow{
  display:block!important;
  margin:0 0 7px!important;
  color:#98735e!important;
  font:800 10px/1.2 var(--sans,Arial,sans-serif)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.single-product .zv1627-reco-heading h2{
  margin:0!important;
  color:#171411!important;
  font-family:var(--serif,Georgia,serif)!important;
  font-size:clamp(32px,3.2vw,46px)!important;
  line-height:1.05!important;
  font-weight:400!important;
  letter-spacing:-.02em!important;
}
.single-product .zv1627-reco-heading p{
  display:block!important;
  max-width:700px!important;
  margin:10px 0 0!important;
  color:#71675f!important;
  font:400 13px/1.55 var(--sans,Arial,sans-serif)!important;
}

.single-product .zv1627-reco-shell{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

.single-product .zv1627-reco-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px 20px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:4px 0 10px!important;
  overflow:visible!important;
  align-items:stretch!important;
}

.single-product .zv1627-reco-card{
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #e3d8d0!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(40,29,22,.065)!important;
}

.single-product .zv1627-reco-image{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f7f3ef!important;
  text-decoration:none!important;
}
.single-product .zv1627-reco-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f3ef!important;
}

.single-product .zv1627-reco-badges{
  position:absolute!important;
  z-index:2!important;
  top:11px!important;
  left:11px!important;
  display:flex!important;
  gap:5px!important;
  flex-wrap:wrap!important;
}
.single-product .zv1627-reco-badges b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:27px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#a91f2b!important;
  color:#fff!important;
  font:800 10px/1 var(--sans,Arial,sans-serif)!important;
}

.single-product .zv1627-reco-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  padding:13px 13px 8px!important;
}
.single-product .zv1627-reco-footer{
  display:flex!important;
  flex-direction:column!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  margin-top:auto!important;
  padding:0 13px 13px!important;
}

.single-product .zv1627-reco-category{
  margin:0 0 7px!important;
  padding:0!important;
  color:#98735e!important;
  font:800 9px/1.25 var(--sans,Arial,sans-serif)!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  overflow-wrap:anywhere!important;
}
.single-product .zv1627-reco-title{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  font:650 14px/1.38 var(--sans,Arial,sans-serif)!important;
}
.single-product .zv1627-reco-title a{
  display:block!important;
  width:100%!important;
  color:#171411!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.single-product .zv1627-reco-rating{
  margin:7px 0 0!important;
}
.single-product .zv1627-reco-price{
  display:block!important;
  margin:4px 0 0!important;
  color:#171411!important;
  font:800 18px/1.15 var(--sans,Arial,sans-serif)!important;
  white-space:normal!important;
}
.single-product .zv1627-reco-stock{
  display:block!important;
  margin:6px 0 0!important;
  color:#21802c!important;
  font:700 10px/1.25 var(--sans,Arial,sans-serif)!important;
}
.single-product .zv1627-reco-stock.is-out-of-stock{
  color:#9b352e!important;
}
.single-product .zv1627-reco-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  margin:11px 0 0!important;
  padding:0 8px!important;
  border:1px solid rgba(117,72,62,.18)!important;
  border-radius:8px!important;
  background:#a87566!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(123,78,67,.14)!important;
  font:750 10.5px/1.15 var(--sans,Arial,sans-serif)!important;
  text-align:center!important;
  text-decoration:none!important;
}

@media(max-width:1100px){
  .single-product .zv1627-reco-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:20px 16px!important;
  }
}

/* Mobile: spacing is guaranteed by explicit column width + space-between. */
@media(max-width:800px){
  .single-product .zv1627-recommendations{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    margin:28px auto 0!important;
    padding:18px 12px 22px!important;
    border-radius:16px!important;
  }
  .single-product .zv1627-reco-heading{
    margin-bottom:16px!important;
  }
  .single-product .zv1627-reco-heading h2{
    font-size:30px!important;
  }
  .single-product .zv1627-reco-heading p{
    font-size:12px!important;
    line-height:1.45!important;
  }

  .single-product .zv1627-reco-grid{
    display:grid!important;
    grid-template-columns:calc(50% - 7px) calc(50% - 7px)!important;
    justify-content:space-between!important;
    column-gap:0!important;
    row-gap:18px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  .single-product .zv1627-reco-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    border-radius:12px!important;
  }

  .single-product .zv1627-reco-body{
    padding:10px 10px 6px!important;
  }
  .single-product .zv1627-reco-footer{
    padding:0 10px 10px!important;
  }
  .single-product .zv1627-reco-category{
    font-size:8.5px!important;
    margin-bottom:6px!important;
  }
  .single-product .zv1627-reco-title{
    font-size:12px!important;
    line-height:1.34!important;
  }
  .single-product .zv1627-reco-price{
    font-size:16px!important;
  }
  .single-product .zv1627-reco-stock{
    font-size:9.5px!important;
  }
  .single-product .zv1627-reco-cta{
    min-height:41px!important;
    margin-top:9px!important;
    font-size:10px!important;
  }
}

@media(max-width:390px){
  .single-product .zv1627-reco-grid{
    grid-template-columns:calc(50% - 6px) calc(50% - 6px)!important;
    row-gap:16px!important;
  }
}
