/* ===================================
   CART
=================================== */

.cart-item{

    display:grid;

    grid-template-columns:80px 1fr 40px;

    gap:15px;

    align-items:center;

    margin-bottom:18px;

    padding:10px;

    background:var(--white);

    border:3px solid var(--text);

}

.cart-item img{

    width:80px;

    height:80px;

    object-fit:cover;

    border:2px solid var(--text);

}

.cart-info{

    display:flex;

    flex-direction:column;

    justify-content:space-between;

}

.cart-info h3{

    color:var(--text);

    font-size:14px;

}

.cart-info span{

    color:var(--primary);

    font-weight:bold;

}

.qty{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:10px;

}

.qty button{

    width:30px;

    height:30px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--white);

    border:2px solid var(--text);

    font-size:18px;

    font-weight:bold;

}

.qty b{

    width:30px;

    text-align:center;

    color:var(--text);

    font-size:16px;

}

.remove{

    align-self:flex-start;

    background:none;

    color:var(--primary);

    font-size:28px;

}

#checkout-btn{

    width:100%;

    height:52px;

    background:var(--primary);

    color:var(--white);

    border:3px solid var(--text);

    box-shadow:4px 4px 0 var(--text);

    font-family:"Press Start 2P",cursive;

    font-size:11px;

}

#checkout-btn:active{

    transform:translate(3px,3px);

    box-shadow:none;

}

.cart-top{

display:flex;
justify-content:space-between;
align-items:flex-start;

}

.cart-top h3{

margin:0;
font-size:17px;

}

.cart-top .remove{

background:none;
border:none;
font-size:22px;
cursor:pointer;
color:#888;
padding:0;

}

.cart-top .remove:hover{

color:#ef3b4d;

}

.cart-price{

display:flex;
justify-content:space-between;
align-items:center;

margin:14px 0;

font-size:16px;

}

.cart-price strong{

font-size:18px;

}

.edit-customization{

width:100%;

height:42px;

border:2px solid #111;

background:#fff;

font-weight:700;

cursor:pointer;

transition:.15s;

}

.edit-customization:hover{

background:#ef3b4d;
color:#fff;

}

.cart-item{

display:flex;
gap:16px;
align-items:flex-start;

padding:16px;

border:2px solid #111;

border-radius:12px;

background:#fff;

margin-bottom:14px;

}

.cart-preview{

width:88px;

height:88px;

object-fit:cover;

border:2px solid #111;

border-radius:10px;

flex-shrink:0;

background:#fafafa;

}

.cart-info{

flex:1;

display:flex;

flex-direction:column;

}

.cart-top h3 small{

display:block;

margin-top:4px;

font-size:12px;

font-weight:600;

color:#777;

}

.empty-cart{

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

text-align:center;

padding:60px 20px;

height:100%;

}

.empty-icon{

font-size:72px;

margin-bottom:20px;

opacity:.45;

}

.empty-cart h3{

margin:0;

font-size:22px;

}

.empty-cart p{

margin:12px 0 26px;

color:#777;

line-height:1.6;

}

#continueShopping{

padding:14px 28px;

background:#ef3b4d;

color:#fff;

border:2px solid #111;

font-weight:700;

cursor:pointer;

}

#checkout-btn:disabled{

opacity:.45;

cursor:not-allowed;

}

#cartSummary{

margin-top:6px;

font-size:13px;

color:#777;

font-weight:600;

}