.cart-overlay{

position:fixed;

inset:0;

background:rgba(0,0,0,.55);

backdrop-filter:blur(5px);

opacity:0;

visibility:hidden;

transition:.4s;

z-index:5000;

}

.cart-overlay.active{

opacity:1;

visibility:visible;

}

.cart-sidebar{

position:fixed;

top:0;

right:-560px;

width:520px;

max-width:95%;

height:100vh;

background:linear-gradient(180deg,#40107f,#230243);

display:flex;

flex-direction:column;

transition:.45s;

z-index:5001;

box-shadow:-20px 0 60px rgba(0,0,0,.5);

}

.cart-sidebar.active{

right:0;

}

.cart-header{

padding:35px;

display:flex;

justify-content:space-between;

align-items:center;

border-bottom:1px solid rgba(255,255,255,.08);

}

.cart-header h2{

font-size:42px;

color:white;

}

.cart-header span{

color:#B7FF00;

}

.cart-header p{

color:#d7d7d7;

margin-top:5px;

}

.close-cart{

background:none;

border:none;

font-size:42px;

color:white;

cursor:pointer;

transition:.3s;

}

.close-cart:hover{

transform:rotate(90deg);

color:#B7FF00;

}

.cart-items{

flex:1;

overflow:auto;

padding:25px;

}

.cart-item{

display:flex;

align-items:center;

gap:18px;

padding:18px;

margin-bottom:20px;

background:rgba(255,255,255,.05);

border-radius:18px;

transition:.3s;

}

.cart-item:hover{

transform:translateY(-4px);

background:rgba(255,255,255,.08);

}

.cart-item img{

width:78px;
height:78px;

object-fit:cover;

border-radius:16px;

flex-shrink:0;

}

.cart-info{

flex:1;

min-width:0;

padding:0 18px;

}

.cart-info h3{

color:white;

margin-bottom:4px;

}

.cart-info h3{

font-size:18px;

line-height:1.2;

margin-bottom:6px;

word-break:break-word;

}

.cart-info small{

color:#c7c7c7;

display:block;

margin-bottom:8px;

}

.cart-info strong{

color:#B7FF00;

font-size:22px;

}

.cart-quantity{

display:flex;

align-items:center;

background:#32105d;

border-radius:15px;

padding:6px;

gap:5px;

}

.cart-quantity span{

width:30px;

text-align:center;

color:white;

font-weight:700;

font-size:18px;

}

.cart-quantity button{

width:32px;
height:32px;

border:none;

border-radius:10px;

background:#421a78;

color:white;

font-size:18px;

font-weight:bold;

cursor:pointer;

transition:.25s;

}

.cart-item{

justify-content:space-between;

}

.cart-quantity button:hover{

background:#B7FF00;

color:black;

}

.cart-summary{

padding:25px;

border-top:1px solid rgba(255,255,255,.08);

}

.coupon{

display:flex;

gap:10px;

margin-bottom:20px;

}

.coupon input{

flex:1;

padding:14px;

border-radius:12px;

border:none;

background:#2d1157;

color:white;

}

.coupon button{

padding:14px 18px;

background:#B7FF00;

border:none;

border-radius:12px;

font-weight:bold;

cursor:pointer;

}

.progress{

height:10px;

background:#2d1157;

border-radius:50px;

overflow:hidden;

margin:20px 0;

}

.progress-fill{

width:55%;

height:100%;

background:#B7FF00;

}

.totals{

margin:20px 0;

}

.totals div{

display:flex;

justify-content:space-between;

margin:10px 0;

color:white;

}

.checkout{

width:100%;

padding:18px;

background:#B7FF00;

border:none;

border-radius:18px;

font-size:20px;

font-weight:bold;

cursor:pointer;

transition:.3s;

}

.checkout:hover{

transform:translateY(-3px);

box-shadow:0 0 25px #B7FF00;

}

.continue{

display:block;

text-align:center;

margin-top:18px;

color:white;

text-decoration:none;

}

.continue:hover{

color:#B7FF00;

}

.remove-item{

display:block;

margin-top:8px;

font-size:14px;

color:#bdbdbd;

text-decoration:none;

transition:.3s;

cursor:pointer;

}

.remove-item:hover{

color:#ff5050;

}