/* ============================================================
cart - page styles
Loaded after site.css, so anything here wins for this page
only. Rules identical to site.css were dropped, so the
shared sheet is the one place to change a shared look.
============================================================ */

.cart-wrap{
max-width:960px;
margin:0 auto;
padding:30px 24px 100px;
display:grid;
grid-template-columns:1fr 320px;
gap:34px;
align-items:start;
}
@media (max-width:800px){ .cart-wrap{grid-template-columns:1fr; padding:24px 20px 70px;} }

/* ---------- Empty state ---------- */
.empty-cart{
grid-column:1 / -1;
text-align:center;
padding:70px 24px;
border:1px dashed rgba(201,168,232,0.25);
}
.empty-cart p{color:rgba(231,228,236,0.55); margin:14px 0 26px; font-size:14px;}
.empty-cart a{
display:inline-block;
font-family:'Cinzel', serif;
font-size:11px;
letter-spacing:0.16em;
color:var(--void);
background:var(--royal-run);
padding:14px 30px;
text-decoration:none;
border:1px solid var(--royal);
}

/* ---------- Cart items ---------- */
.cart-items{display:flex; flex-direction:column; gap:16px;}
.cart-item{
display:grid;
grid-template-columns:90px 1fr auto;
gap:16px;
align-items:center;
background:var(--panel);
border:1px solid rgba(201,168,232,0.18);
padding:16px;
}
@media (max-width:520px){
.cart-item{grid-template-columns:70px 1fr; }
.cart-item .item-actions{grid-column:1 / -1; align-items:flex-start; flex-direction:row; flex-wrap:wrap; gap:14px;}
}
.item-thumb{
width:90px; height:90px;
background:linear-gradient(160deg, #241a30, #100c15);
display:flex; align-items:center; justify-content:center;
color:rgba(201,168,232,0.35);
font-family:'Cinzel', serif;
font-size:9px;
letter-spacing:0.06em;
text-align:center;
}
@media (max-width:520px){ .item-thumb{width:70px; height:70px;} }
.item-info h3{
font-family:'Cinzel', serif;
font-size:14px;
letter-spacing:0.03em;
margin-bottom:6px;
}
.item-info .item-design{
font-family:'Cinzel', serif;
font-size:10px;
letter-spacing:0.08em;
color:var(--lilac);
opacity:0.85;
display:block;
margin-bottom:6px;
}
.item-info .item-price{
font-family:'Cinzel', serif;
font-size:13px;
color:rgba(231,228,236,0.7);
}
.item-actions{
display:flex;
flex-direction:column;
align-items:flex-end;
gap:10px;
}
.qty-form{display:flex; align-items:center; gap:8px;}
.qty-form input[type=number]{
width:52px;
background:var(--void);
border:1px solid rgba(201,168,232,0.3);
color:var(--chrome);
padding:6px 8px;
text-align:center;
font-family:'Jost', sans-serif;
font-size:13px;
}
.qty-form button{
font-family:'Cinzel', serif;
font-size:10px;
letter-spacing:0.08em;
background:transparent;
border:1px solid rgba(201,168,232,0.3);
color:var(--chrome);
padding:7px 10px;
cursor:pointer;
}
.qty-form button:hover{border-color:var(--royal); color:var(--lilac);}
.remove-form button{
font-family:'Cinzel', serif;
font-size:10px;
letter-spacing:0.08em;
background:none;
border:none;
color:#e06767;
cursor:pointer;
text-decoration:underline;
padding:0;
}
.line-total{
font-family:'Cinzel', serif;
font-size:15px;
color:var(--lilac);
text-align:right;
}

/* ---------- Order summary ---------- */
.summary{
background:var(--panel);
border:1px solid rgba(201,168,232,0.2);
padding:24px;
position:sticky;
top:24px;
}
.summary h2{
font-family:'Cinzel', serif;
font-size:14px;
letter-spacing:0.12em;
margin-bottom:18px;
padding-bottom:14px;
border-bottom:1px solid rgba(201,168,232,0.15);
}
.summary-row{
display:flex;
justify-content:space-between;
font-size:13px;
color:rgba(231,228,236,0.7);
margin-bottom:12px;
}
.summary-row.total{
font-family:'Cinzel', serif;
font-size:16px;
color:var(--chrome);
padding-top:14px;
margin-top:6px;
border-top:1px solid rgba(201,168,232,0.15);
}
.summary-note{
font-size:11px;
color:rgba(231,228,236,0.45);
margin:10px 0 20px;
line-height:1.6;
}
.ship-nudge{
font-family:'Cinzel', serif;
font-size:10px;
letter-spacing:0.1em;
color:var(--lilac);
background:rgba(108,63,166,0.18);
border:1px solid rgba(201,168,232,0.25);
padding:11px 13px;
margin-bottom:18px;
line-height:1.7;
}
.checkout-btn{
display:block;
width:100%;
text-align:center;
font-family:'Cinzel', serif;
font-size:12px;
letter-spacing:0.14em;
color:var(--void);
background:var(--royal-run);
padding:15px;
text-decoration:none;
border:1px solid var(--royal);
cursor:pointer;
}
.checkout-btn:hover{opacity:0.9;}
.continue-link{
display:block;
text-align:center;
margin-top:14px;
font-family:'Cinzel', serif;
font-size:10px;
letter-spacing:0.1em;
color:rgba(231,228,236,0.55);
text-decoration:none;
}
.continue-link:hover{color:var(--lilac);}
.login-nudge{
margin-top:16px;
padding-top:16px;
border-top:1px solid rgba(201,168,232,0.15);
font-size:12px;
line-height:1.7;
color:rgba(231,228,236,0.55);
text-align:center;
}
.login-nudge a{color:var(--lilac); text-decoration:none; border-bottom:1px solid rgba(201,168,232,0.35);}
.clear-cart{
display:block;
text-align:center;
margin-top:16px;
font-size:11px;
color:rgba(231,228,236,0.35);
background:none;
border:none;
text-decoration:underline;
cursor:pointer;
width:100%;
}
