/* ==========================================================
   VBC Framework
   Product Card
   Version: 1.1.0
========================================================== */

.vbc-product-card{
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    overflow:hidden;
    background:var(--vbc-color-surface);
    border:1px solid var(--vbc-color-border);
    border-radius:0;
    transition:all .30s ease;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.25),
        inset 0 8px 14px -10px rgba(28,20,10,.18),
        inset 0 -8px 14px -10px rgba(28,20,10,.18);
}

.vbc-product-card:hover{
    transform:translateY(-8px);
    border-color:var(--vbc-color-accent);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.25),
        inset 0 8px 14px -10px rgba(28,20,10,.18),
        inset 0 -8px 14px -10px rgba(28,20,10,.18),
        0 22px 48px rgba(0,0,0,.10);
}

.vbc-product-card .vbc-bolt{
    width:7px;
    height:7px;
}

.vbc-product-card .vbc-bolt--tl{
    top:9px;
    left:9px;
}

.vbc-product-card .vbc-bolt--tr{
    top:9px;
    right:9px;
}

.vbc-product-card .vbc-bolt--bl{
    bottom:9px;
    left:9px;
}

.vbc-product-card .vbc-bolt--br{
    bottom:9px;
    right:9px;
}

/* ==========================================================
   Image
========================================================== */

.vbc-product-card__image{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    aspect-ratio:1;
}

.vbc-product-card__image img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:12px;
    transition:transform .35s ease;
}

.vbc-product-card:hover .vbc-product-card__image img{
    transform:scale(1.05);
}

/* ==========================================================
   Badges
========================================================== */

.vbc-product-card__badge{
    position:absolute;
    top:16px;
    left:16px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:26px;
    padding:0 14px;
    border-radius:0;
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.vbc-product-card__badge--best-seller{
    background:var(--vbc-color-primary);
}

.vbc-product-card__badge--new{
    background:var(--vbc-color-accent);
}

/* ==========================================================
   Content
========================================================== */

.vbc-product-card__content{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:8px 16px 16px;
}

.vbc-product-card__brand{
    margin-bottom:6px;
    color:var(--vbc-color-accent);
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.vbc-product-card__title{
    margin:0 0 6px;
    font-size:14px;
    line-height:1.35;
}

.vbc-product-card__title a{
    color:var(--vbc-color-heading);
}

.vbc-product-card__title a:hover{
    color:var(--vbc-color-primary);
}

/* ==========================================================
   Price
========================================================== */

.vbc-product-card__price{
    margin-bottom:12px;
    color:var(--vbc-color-primary);
    font-size:18px;
    font-weight:700;
}

.vbc-product-card__price del{
    margin-right:8px;
    color:#999;
    font-size:15px;
    font-weight:400;
}

.vbc-product-card__price ins{
    text-decoration:none;
}

/* ==========================================================
   Footer
========================================================== */

.vbc-product-card__footer{
    display:flex;
    flex-direction:row;
    gap:8px;
    margin-top:auto;
}

.vbc-product-card__cart,
.vbc-product-card__wishlist{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    flex:1;
    height:38px;
    border-radius:var(--vbc-radius-sm);
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-decoration:none;
    transition:var(--vbc-transition-fast);
}

.vbc-product-card__cart i{
    width:14px;
    height:14px;
}

.vbc-product-card__cart{
    background:var(--vbc-color-primary);
    border:1px solid var(--vbc-color-primary);
    color:#fff;
}

.vbc-product-card__cart i{
    background-color:#fff;
}

.vbc-product-card__cart:hover{
    background:var(--vbc-color-primary-dark);
    border-color:var(--vbc-color-primary-dark);
}

.vbc-product-card__wishlist{
    background:var(--vbc-color-accent);
    border:1px solid var(--vbc-color-accent);
    color:#fff;
}

.vbc-product-card__wishlist:hover,
.vbc-product-card__wishlist.is-active{
    color:var(--vbc-color-heading);
}

/* ==========================================================
   Responsive
========================================================== */

@media (max-width:640px){

    .vbc-product-card__footer{
        flex-direction:column;
    }

    .vbc-product-card__cart,
    .vbc-product-card__wishlist{
        flex:none;
        width:100%;
    }

}