/*=========================================
PRODUCT CARD
=========================================*/

.products{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));

    gap:28px;

    align-items:start;

}

.product-card{

    position:relative;

    display:flex;

    flex-direction:column;

    width:100%;

    background:#ffffff;

    border-radius:24px;

    overflow:hidden;

    border:1px solid #edf1f7;

    box-shadow:0 10px 35px rgba(15,23,42,.06);

    transition:.3s;

}

.product-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(15,23,42,.12);

}

.product-content{

    padding:22px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.product-image{

    display:flex;

    justify-content:center;

    align-items:center;

    padding:25px;

    background:#fff;

    border-bottom:1px solid #edf1f7;

    overflow:hidden;

}

.product-photo{

    width:100%;

    height:100%;

    object-fit:contain;

    transition:.35s;

}

.product-card:hover .product-photo{

    transform:scale(1.05);

}
/*=========================================
WISHLIST
=========================================*/

.wishlist-form{

    position:absolute;

    top:18px;

    right:18px;

    z-index:20;

}

.wishlist-btn{

    width:52px;

    height:52px;

    border:none;

    border-radius:50%;

    background:#fff;

    color:#64748b;

    cursor:pointer;

    font-size:20px;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 10px 30px rgba(0,0,0,.10);

    transition:.25s;

}

.wishlist-btn:hover{

    background:#ef4444;

    color:#fff;

    transform:scale(1.08);

}

.wishlist-btn.active{

    background:#ef4444;

    color:#fff;

}


/*=========================================
BRAND
=========================================*/

.brand{

    display:flex;

    align-items:center;

    gap:8px;

    color:#2563eb;

    font-size:14px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.5px;

    margin-bottom:16px;

}

.brand i{

    font-size:13px;

}


/*=========================================
TITLE
=========================================*/

.title{

    display:block;

    text-decoration:none;

    color:#111827;

    font-size:19px;

    font-weight:700;

    line-height:1.45;

    min-height:88px;

    transition:.25s;

}

.title:hover{

    color:#2563eb;

}
/*=========================================
PRICE
=========================================*/

.price{

    display:flex;

    align-items:center;

    gap:8px;

    margin-top:18px;

    margin-bottom:18px;

    font-size:30px;

    font-weight:800;

    color:#111827;

}

.price i{

    color:#2563eb;

    font-size:22px;

}


/*=========================================
STOCK
=========================================*/

.stock{

    display:inline-flex;

    align-items:center;

    gap:8px;

    width:max-content;

    padding:8px 14px;

    border-radius:30px;

    font-size:13px;

    font-weight:700;

    margin-bottom:18px;

}

.stock-success{

    background:#dcfce7;

    color:#15803d;

}

.stock-warning{

    background:#fef3c7;

    color:#b45309;

}

.stock-danger{

    background:#fee2e2;

    color:#dc2626;

}


/*=========================================
QUANTITY
=========================================*/

.quantity{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-top:16px;

    margin-top:auto;

    border-top:1px solid #edf1f7;

}

.quantity span{

    display:flex;

    align-items:center;

    gap:8px;

    color:#64748b;

    font-size:14px;

}

.quantity span i{

    color:#2563eb;

}

.quantity strong{

    font-size:15px;

    color:#111827;

    font-weight:700;

}
/*=========================================
BUY BUTTON
=========================================*/

.buy-form{

    padding:0 22px 22px;

}

.buy-btn{

    width:100%;

    height:56px;

    border:none;

    border-radius:16px;

    background:#2563eb;

    color:#fff;

    font-size:16px;

    font-weight:700;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    transition:.3s;

}

.buy-btn:hover{

    background:#1d4ed8;

    transform:translateY(-2px);

}

.buy-btn i{

    font-size:18px;

}

.buy-btn.disabled{

    background:#e5e7eb;

    color:#6b7280;

    cursor:not-allowed;

    transform:none;

}

.buy-btn.disabled:hover{

    background:#e5e7eb;

    color:#6b7280;

    transform:none;

}


/*=========================================
ANIMATION
=========================================*/

.product-card::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:100%;

    height:4px;

    background:#2563eb;

    transform:scaleX(0);

    transition:.3s;

    transform-origin:left;

}

.product-card:hover::after{

    transform:scaleX(1);

}
/*=========================================
RESPONSIVE
=========================================*/

@media (max-width:1400px){

.products{

    grid-template-columns:repeat(3,minmax(0,1fr));

}

}

@media (max-width:992px){

.products{

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:20px;

}

.product-image{

    height:230px;

}

.title{

    min-height:auto;

    font-size:17px;

}

.price{

    font-size:26px;

}

.buy-btn{

    height:52px;

    font-size:15px;

}

}

@media (max-width:768px){

.products{

    grid-template-columns:1fr;

    gap:18px;

}

.product-card{

    border-radius:20px;

}

.product-image{

    height:100%;

    padding:18px;

}

.product-content{

    padding:18px;

}

.title{

    font-size:16px;

    line-height:1.45;

}

.price{

    font-size:24px;

    margin:14px 0;

}

.brand{

    font-size:13px;

}

.quantity{

    margin-top:14px;

}

.buy-form{

    padding:0 18px 18px;

}

.buy-btn{

    height:50px;

    border-radius:14px;

}

.wishlist-btn{

    width:46px;

    height:46px;

    font-size:18px;

}

}

@media (max-width:480px){

.products{

    gap:14px;

}

.product-card{

    border-radius:18px;

}

.product-image{

    height:100%;

}

.title{

    font-size:15px;

}

.price{

    font-size:22px;

}

.stock{

    font-size:12px;

    padding:7px 12px;

}

.quantity span{

    font-size:13px;

}

.quantity strong{

    font-size:14px;

}

.buy-btn{

    height:48px;

    font-size:14px;

}

}