/* ================= PRODUCT CARD ================= */

.product-card{
  flex:0 0 185px;
  min-width:185px;
  max-width:185px;
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  transition:
  transform .32s ease,
  box-shadow .32s ease;
  display:flex;
  flex-direction:column;
  position:relative;
  cursor:pointer;
}

.product-card:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 42px rgba(0,0,0,.12);
  z-index:5;
}

/* IMAGE BOX */

.product-img-box{
  position:relative;
  height:175px;
  padding:14px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}

/* MAIN IMAGE */

.main-product-img{
  width:100%;
  height:100%;
  object-fit:contain;
  transition:
  transform .45s ease,
  box-shadow .45s ease,
  opacity .35s ease;
  position:relative;
  z-index:2;
}

/* VIDEO */

.hover-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:
  scale(.92)
  translateY(20px);
  filter:blur(4px);
  transition:
  opacity .45s ease,
  transform .45s ease,
  box-shadow .45s ease;
  z-index:3;
  pointer-events:none;
}

/* VIDEO HOVER */

.product-img-box:hover .hover-video{

  opacity:1;

  transform:
  scale(1.02)
  translateY(-4px);

  filter:blur(0);

  box-shadow:
  0 20px 40px rgba(0,0,0,.18);
}

/* IMAGE HOVER */

.product-img-box:hover .main-product-img{

  opacity:.22;

  transform:
  scale(1.015)
  translateY(-4px);

  transition:
  transform .55s cubic-bezier(.22,.61,.36,1),
  opacity .45s ease;
}

/* NO VIDEO */

.product-card.no-video .product-img-box:hover .main-product-img{
  opacity:1;
  transform:
  translateY(-10px)
  scale(1.08);
  box-shadow:
  0 20px 40px rgba(0,0,0,.14);
}

/* BADGE */

.badge-sale{
  position:absolute;
  top:12px;
  left:12px;
  background:#1f7a36;
  color:#fff;
  padding:5px 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.3px;
  z-index:4;
  box-shadow:
  0 6px 14px rgba(31,122,54,.18);
}

/* PRODUCT INFO */

.product-info{
  padding:14px 14px 16px;
  display:flex;
  flex-direction:column;
  flex:1;
  gap:4px;
}

/* TITLE */

.product-info h6{
  font-size:14px;
  font-weight:600;
  line-height:1.42;
  color:#6b3f1d;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:35px;
}

/* RATING */

.rating{
  color:#f4c150;
  font-size:12px;
  letter-spacing:.3px;
}

/* PRICE AREA */

.price-wrapper{
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
  margin-top:2px;
  min-height:20px;
}

.sale-price,
.normal-price{
  font-size:20px;
  font-weight:600;
  color:#6b3f1d;
  line-height:1;
}

.original-price{
  font-size:12px;
  color:#9a9a9a;
  text-decoration:line-through;
}

.discount-text{
  font-size:10px;
  font-weight:700;
  color:#1f7a36;
}

/* ACTION AREA */

.product-card-action{
  margin-top:auto;
  padding-top:10px;
  min-height:52px;
  display:flex;
  align-items:flex-end;
}

/* CART BUTTON */

.btn-cart{
  width:100%;
  height:38px;
  border:none;
  border-radius:12px;
  background:#7B4F2C;
  color:#fff;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:
  transform .18s ease,
  background .18s ease;
  box-shadow:
  0 8px 16px rgba(123,79,44,.14);
}

.btn-cart:hover{
  background:#8b5a34;
  transform:translateY(-2px);
}

.btn-cart:active{
  transform:scale(.98);
}

/* RESPONSIVE */

@media(max-width:768px){

  .product-card{
    flex:0 0 165px;
    min-width:165px;
    max-width:165px;
  }

  .product-img-box{
    height:170px;
  }
}

/* =========================================
   QTY BOX
========================================= */

.qty-box{
  width:100%;
  height:38px;
  border-radius:12px;
  background:#f7f1eb;
  border:1px solid #eadfce;

  display:flex;
  align-items:center;
  justify-content:space-between;

  overflow:hidden;
}

/* BUTTONS */

.qty-btn{
  width:38px;
  height:38px;
  border:none;
  background:transparent;
  color:#6b3f1d;
  font-size:18px;
  font-weight:600;
  cursor:pointer;
  transition:.2s;
}

.qty-btn:hover{
  background:#efe4d6;
}

/* QTY */

.qty-count{
  font-size:14px;
  font-weight:600;
  color:#6b3f1d;
}

@media(max-width: 480px){
    .product-card {
        
        flex:0 0 180px !important;
        min-width:180px !important;
        max-width:180px !important;

        scroll-snap-align:start;

        border-radius: 12px; 
        box-shadow: 0 4px 12px rgba(0,0,0,.05);
    }

    .product-img-box {
        height: 125px; 
        padding: 6px;
    }

    .product-info {
        padding: 8px;
    }

    .product-info h6 {
        font-size: 11px;
        line-height: 1.3;
        min-height: 28px; 
    }

    .price-wrapper {
        gap: 2px;
    }

    .sale-price,
    .normal-price {
        font-size: 13px; 

   }

    .original-price {
        font-size: 10px;
    }

    .discount-text {
        font-size: 8px;
    }

    .btn-cart {
        height: 30px;
        font-size: 10px;
        border-radius: 8px;
        padding: 0 4px;
    }
    
    .qty-box {
        height: 30px;
        border-radius: 8px;
    }
    
    .qty-btn {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }
    
    .qty-count {
        font-size: 11px;
    }
}

@media(max-width:480px){

    .main-product-img{

        transform:scale(.96);
    }

}

@media(max-width:768px){

    .product-card:hover{

        transform:none;

        box-shadow:0 10px 24px rgba(0,0,0,.06);
    }

}

@media(max-width:480px){

    .product-card{

        border-radius:18px;

        box-shadow:
        0 6px 16px rgba(0,0,0,.05);
    }

}

@media(max-width:480px){

    .product-info h6{

        font-size:12px;

        line-height:1.35;

        min-height:34px;
    }

}

@media(max-width:480px){

    .sale-price,
    .normal-price{

        font-size:17px;
    }

    .original-price{

        font-size:11px;
    }

    .discount-text{

        font-size:9px;
    }

    .price-wrapper{

        gap:3px;
    }

}


@media(max-width:480px){

    .qty-box{

        height:34px;

        border-radius:10px;
    }

    .qty-btn{

        width:34px;

        height:34px;

        font-size:16px;
    }

    .qty-count{

        font-size:13px;
    }

    .btn-cart{

        height:36px;

        border-radius:10px;

        font-size:12px;

        font-weight:600;
    }

}

@media(max-width:768px){

    .product-card{

        scroll-snap-align:start;
    }

}