/* Product card — used in carousels and grids */
.single-product .product-img { position: relative; overflow: hidden; background: #f9f9f9; }
.single-product .product-img .primary-img { width: 100%; display: block; transition: .4s; }
.single-product .product-img .secondary-img {
    position: absolute; top: 0; left: 0; width: 100%; opacity: 0; transition: .4s;
}
.single-product:hover .product-img .primary-img  { opacity: 0; }
.single-product:hover .product-img .secondary-img { opacity: 1; }

/* Badges */
.badge-new  { position: absolute; top: 10px; left: 10px; background: #fac652; color: #252525;
              padding: 3px 9px; font-size: 10px; font-weight: 700; letter-spacing: .5px; z-index: 2; }
.badge-sale { position: absolute; top: 10px; left: 10px; background: #f67051; color: #fff;
              padding: 3px 9px; font-size: 10px; font-weight: 700; letter-spacing: .5px; z-index: 2; }

/* Card meta */
.single-product .tab-desc3 { padding: 14px 10px; }
.single-product .card-brand {
    margin: 6px 0 2px; font-size: 10px; font-weight: 700;
    color: #bbb; text-transform: uppercase; letter-spacing: 1.5px;
}
.single-product .product-name { margin: 0 0 6px; }
.single-product .product-name a {
    font-size: 13px; font-weight: 700; color: #252525; text-decoration: none;
    display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: .2s;
}
.single-product .product-name a:hover { color: #fac652; }
.single-product .price-box { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.single-product .price-now { font-size: 15px; font-weight: 800; color: #252525; }
.single-product .price-was { font-size: 12px; color: #ccc; text-decoration: line-through; }
