/* ==========================================================================
   ZAVRYNE 16.22 — PREMIUM MOBILE CARD STRUCTURE FIX
   Structural body/footer separation prevents title/price overlap.
   ========================================================================== */

.single-product .zavryne-catalog-card.zv1622-card{
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #e7ded7!important;
  border-radius:14px!important;
  box-shadow:0 4px 18px rgba(35,27,22,.045)!important;
}

.single-product .zv1622-card__body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:12px 12px 8px!important;
}

.single-product .zv1622-card__footer{
  display:flex!important;
  flex-direction:column!important;
  flex:0 0 auto!important;
  min-width:0!important;
  padding:0 12px 12px!important;
  margin-top:auto!important;
}

/* Remove legacy margins/heights that caused overlap. */
.single-product .zv1622-card .zv1619-reco-category,
.single-product .zv1622-card .zavryne-catalog-card__title,
.single-product .zv1622-card .zv1488-card-rating,
.single-product .zv1622-card .price,
.single-product .zv1622-card .zv1512-card-stock,
.single-product .zv1622-card .zavryne-catalog-card__cta{
  position:static!important;
  float:none!important;
  inset:auto!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
}

.single-product .zv1622-card .zv1619-reco-category{
  margin:0 0 7px!important;
  font-size:9px!important;
  line-height:1.2!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  color:#9a765f!important;
}

.single-product .zv1622-card .zavryne-catalog-card__title{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:14px!important;
  line-height:1.38!important;
  font-weight:650!important;
  overflow:visible!important;
}
.single-product .zv1622-card .zavryne-catalog-card__title a{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

.single-product .zv1622-card .zv1488-card-rating{
  margin:7px 0 0!important;
}

.single-product .zv1622-card .price{
  margin:4px 0 0!important;
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:800!important;
  color:#171411!important;
  white-space:normal!important;
}

.single-product .zv1622-card .zv1512-card-stock{
  margin:5px 0 0!important;
  font-size:10px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:#23812e!important;
}

.single-product .zv1622-card .zavryne-catalog-card__cta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:44px!important;
  margin:12px 0 0!important;
  padding:0 8px!important;
  border-radius:8px!important;
  background:#181512!important;
  color:#fff!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  font-weight:750!important;
  text-align:center!important;
  text-decoration:none!important;
}

/* More breathing room between cards. */
.single-product .zavryne-catalog-grid{
  gap:20px!important;
  align-items:stretch!important;
}

/* Homepage: protect against title/price collision in all Woo product cards. */
.home ul.products>li.product{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.home ul.products>li.product .woocommerce-loop-product__title{
  position:static!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  margin-bottom:7px!important;
}
.home ul.products>li.product .price{
  position:static!important;
  height:auto!important;
  min-height:0!important;
  margin-top:auto!important;
  white-space:normal!important;
}
.home ul.products>li.product .button{
  position:static!important;
  flex:0 0 auto!important;
}

/* Mobile premium spacing + readable card hierarchy */
@media(max-width:800px){
  .single-product .zavryne-catalog-grid,
  .home .zv88-products ul.products,
  .home .zv88-new ul.products,
  .home .zv-infinite-catalog ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px 12px!important;
  }

  .single-product .zavryne-catalog-card.zv1622-card{
    border-radius:12px!important;
  }

  .single-product .zv1622-card__body{
    padding:11px 10px 7px!important;
  }
  .single-product .zv1622-card__footer{
    padding:0 10px 10px!important;
  }

  .single-product .zv1622-card .zavryne-catalog-card__title{
    font-size:12.5px!important;
    line-height:1.34!important;
  }

  .single-product .zv1622-card .price{
    font-size:16px!important;
    margin-top:5px!important;
  }

  .single-product .zv1622-card .zv1512-card-stock{
    font-size:9.5px!important;
  }

  .single-product .zv1622-card .zavryne-catalog-card__cta{
    min-height:41px!important;
    margin-top:10px!important;
    font-size:10px!important;
  }

  /* Homepage cards: give text enough room and prevent button clipping. */
  .home ul.products>li.product{
    border-radius:12px!important;
  }
  .home ul.products>li.product .woocommerce-loop-product__title{
    padding:10px 10px 0!important;
    margin:0 0 8px!important;
    font-size:12.5px!important;
    line-height:1.34!important;
  }
  .home ul.products>li.product .price{
    padding:0 10px!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.15!important;
  }
  .home ul.products>li.product .button{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    min-height:41px!important;
    margin:10px!important;
    padding:0 6px!important;
    overflow:hidden!important;
    white-space:normal!important;
    text-align:center!important;
    font-size:9.5px!important;
  }
}

@media(max-width:390px){
  .single-product .zavryne-catalog-grid,
  .home .zv88-products ul.products,
  .home .zv88-new ul.products,
  .home .zv-infinite-catalog ul.products{
    gap:14px 10px!important;
  }
}
