.cart-page{

    max-width:1500px;
    margin:auto;

    padding:40px 20px;

}

.cart-header{

    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-bottom:30px;

}

.cart-header h1{

    font-size:34px;
    font-weight:900;

}

.cart-header span{

    color:var(--textSoft);

}

.cart-layout{

    display:grid;
    grid-template-columns:1fr 380px;

    gap:24px;

    align-items:start;

}

.cart-products{

    display:flex;
    flex-direction:column;

    gap:20px;

}

.cart-item{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:30px;

    padding:24px;

    display:grid;
    grid-template-columns:180px 1fr auto;

    gap:24px;

    align-items:center;

}

.cart-image{

    width:180px;
    height:180px;

    border-radius:24px;

    overflow:hidden;

    background:#fff;

}

.cart-image img{

    width:100%;
    height:100%;

    object-fit:cover;

}

.cart-info h2{

    font-size:22px;

    line-height:1.9;

    margin-bottom:18px;

}

.cart-meta{

    display:flex;
    gap:20px;

    flex-wrap:wrap;

    color:var(--textSoft);

    margin-bottom:20px;

}

.cart-price{

    font-size:28px;
    font-weight:900;

    color:#f59e0b;

    margin-bottom:20px;

}

.cart-actions{

    display:flex;
    gap:20px;

    align-items:center;

}

.qty-box{

    display:flex;
    align-items:center;

    background:var(--bgSoft);

    border-radius:18px;

    overflow:hidden;

}

.qty-btn{

    width:48px;
    height:48px;

    border:none;

    background:none;

    color:var(--text);

    font-size:22px;

    cursor:pointer;

}

.qty-input{

    width:70px;
    height:48px;

    border:none;

    background:none;

    text-align:center;

    color:var(--text);

    font-size:18px;
    font-weight:700;

}

.remove-btn{

    height:48px;

    padding:0 22px;

    border:none;

    border-radius:16px;

    background:rgba(239,68,68,.15);

    color:#ef4444;

    cursor:pointer;

    font-weight:700;

}

.cart-subtotal{

    font-size:26px;
    font-weight:900;

    color:#22c55e;

    white-space:nowrap;

}

.summary-box{

    position:sticky;
    top:120px;

    background:var(--card);

    border:1px solid var(--border);

    border-radius:30px;

    padding:30px;

}

.summary-box h3{

    margin-bottom:30px;

    font-size:24px;

}

.summary-row{

    display:flex;
    justify-content:space-between;

    margin-bottom:24px;

}

.checkout-btn{

    width:100%;
    height:60px;

    border:none;

    border-radius:20px;

    background:var(--orange);

    color:#fff;

    font-size:18px;
    font-weight:800;

    cursor:pointer;

    margin-top:20px;

}
.checkout-btn:hover{
    background: var(--orangeHover);
}
.empty-cart{

    text-align:center;

    padding:100px 20px;

}

.empty-cart i{

    font-size:100px;

    color:var(--textSoft);

    margin-bottom:30px;

}

.empty-cart h2{

    margin-bottom:30px;

}

.back-shop-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    height:54px;

    padding:0 28px;

    border-radius:18px;

    background:var(--orange);

    color:#fff;

    text-decoration:none;

    font-weight:800;

}

@media(max-width:1100px){

    .cart-layout{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .cart-item{

        grid-template-columns:1fr;

    }

    .cart-image{

        width:100%;
        height:260px;

    }

    .cart-subtotal{

        font-size:22px;

    }

}
