body{
font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu;
}

.cart-page-title{
max-width:1100px;
margin:40px auto 20px auto;
padding:0 20px;
font-size:30px;
font-weight:700;
}

/* PAGE LAYOUT */

.cart-container{
max-width:1100px;
margin:40px auto;
display:grid;
grid-template-columns:2fr 1fr;
gap:32px;
padding:0 20px;
align-items:start;
}

/* Prevent grid overflow caused by sliders */
.cart-items,
.cart-summary{
min-width:0;
width:100%;
}

/* CART ITEMS CARD */

.cart-items{
background:#fff;
border-radius:16px;
padding:24px;
box-shadow:0 6px 30px rgba(0,0,0,0.05);
display:flex;
flex-direction:column;
gap:20px;
transition:all .25s ease;
}


/* SINGLE ITEM */

.cart-item{
display:flex;
align-items:center;
gap:18px;
padding-bottom:20px;
border-bottom:1px solid #eee;
}


/* PRODUCT IMAGE */

.cart-item img{
width:90px;
height:90px;
object-fit:cover;
border-radius:12px;
background:#f2f2f2;
}


/* PRODUCT INFO */

.cart-info{
flex:1;
}

.cart-title{
font-size:16px;
font-weight:600;
margin-bottom:6px;
}

.cart-variant{
font-size:13px;
color:#777;
margin-bottom:6px;
}


/* PRICE */

.cart-price{
font-size:15px;
font-weight:600;
}

.mrp{
text-decoration:line-through;
color:#9ca3af;
margin-right:6px;
font-size:13px;
}

.discount-text{
font-size:12px;
color:#16a34a;
margin-top:3px;
}


/* QUANTITY CONTROLS */

.cart-controls{
display:flex;
align-items:center;
gap:10px;
margin-top:10px;
}

.qty-btn{
width:32px;
height:32px;
border-radius:8px;
border:1px solid #ddd;
background:#fff;
cursor:pointer;
font-size:16px;
transition:0.2s;
}

.qty-btn:hover{
background:#f3f4f6;
}

.qty-number{
font-weight:600;
width:28px;
text-align:center;
}


/* REMOVE BUTTON */

.remove-btn{
margin-left:auto;
border:none;
background:none;
color:#ef4444;
cursor:pointer;
font-size:14px;
}


/* SUMMARY CARD */

.cart-summary{
background:#fff;
border-radius:16px;
padding:24px;
box-shadow:0 6px 30px rgba(0,0,0,0.05);
top:100px;
height:fit-content;
transition:all .25s ease;
}


/* SUMMARY TITLE */

.cart-summary h3{
margin-top:0;
font-size:20px;
margin-bottom:20px;
}


/* PROMO FIELD */

.promo-row{
display:flex;
gap:10px;
margin-bottom:18px;
}

.promo-input{
flex:1;
padding:10px 12px;
border-radius:10px;
border:1px solid #ddd;
}

.apply-btn{
padding:10px 16px;
border-radius:10px;
border:none;
background:#f3f4f6;
cursor:pointer;
}


/* SUMMARY ROWS */

.row{
display:flex;
justify-content:space-between;
margin-bottom:14px;
font-size:15px;
}

.discount-row{
color:#16a34a;
}

.total{
font-size:18px;
font-weight:700;
margin-top:12px;
padding-top:12px;
border-top:1px solid #eee;
}


/* CHECKOUT BUTTON */

.btn-primary {
  background: #b76e79;
  font-family: 'Poppins', sans-serif;
  color: #fff;
  padding: 14px 40px;
  border-radius: 12px;
  border: 2px solid #b76e79 !important;
  text-align: center;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}

.btn-primary:hover {
  color: #b76e79;
  border: 2px solid #b76e79;
  background: #fff;
}



/* EMPTY CART */

.empty-cart{
    grid-column:1 / -1;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:60px 20px;
}

.empty-cart-card{
    background:#fff;
    padding:40px 50px;
    border-radius:18px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,0.06);
    max-width:420px;
    width:100%;
}

.empty-cart-animation{
    display:flex;
    justify-content:center;
    margin-bottom:10px;
}

.empty-cart-icon{
width:70px;
height:70px;
margin:0 auto 20px;
border-radius:50%;
background:#f8f8f8;
display:flex;
align-items:center;
justify-content:center;
font-size:30px;
color:#999;
}

.empty-cart-card h3{
margin:0;
font-size:22px;
margin-bottom:8px;
}

.empty-cart-card p{
color:#777;
margin-bottom:20px;
}

.empty-cart-card .primary-btn{
display:inline-block;
padding:12px 22px;
}

.hidden{
display:none;
}

.cart-items:hover,
.cart-summary:hover{
transform:translateY(-2px);
box-shadow:0 20px 50px rgba(0,0,0,0.08);
}

.cart-items.hidden,
.cart-summary.hidden{
display:none;
}

/* ===============================
   Gift UI
================================ */

.gift-badge{
background:#16a34a;
color:#fff;
font-size:11px;
padding:3px 8px;
border-radius:20px;
margin-left:8px;
font-weight:600;
}

.gift-note{
font-size:12px;
color:#16a34a;
margin-top:8px;
}

/* ===============================
   Gift Progress
================================ */

.gift-progress{
background:#fff7ed;
border-radius:12px;
padding:14px;
margin-bottom:20px;
border:1px solid #fde68a;
}

.gift-progress-text{
font-size:14px;
font-weight:600;
margin-bottom:8px;
}

.gift-progress-bar{
width:100%;
height:8px;
background:#eee;
border-radius:10px;
overflow:hidden;
}

.gift-progress-fill{
height:100%;
background:#b76e79;
transition:width .3s ease;
}

.gift-progress-unlocked{
font-size:14px;
font-weight:700;
color:#16a34a;
background:#ecfdf5;
padding:10px 12px;
border-radius:8px;
border:1px solid #bbf7d0;
}

/* MOBILE */

@media(max-width:900px){

.cart-container{
grid-template-columns:1fr;
}

.cart-summary{
position:relative;
top:0;
}

.cart-item{
align-items:flex-start;
}

}

/* =====================================================
   TABLET RESPONSIVE
===================================================== */

@media(max-width:1024px){

.cart-container{
grid-template-columns:1fr;
}

.cart-summary{
position:relative;
top:0;
}

}

/* =====================================================
   MOBILE RESPONSIVE
===================================================== */

@media(max-width:768px){

.cart-item{
flex-direction:column;
align-items:flex-start;
gap:12px;
}

.cart-item img{
width:100%;
max-width:120px;
height:auto;
}

.cart-controls{
width:100%;
justify-content:flex-start;
}

.remove-btn{
margin-left:0;
margin-top:6px;
}

.promo-row{
flex-direction:column;
}

.apply-btn{
width:100%;
}

.btn-primary{
width:100%;
}

}

/* =====================================================
   SMALL MOBILE (iPhone SE / older devices)
===================================================== */

@media(max-width:480px){

.cart-container{
gap:20px;
padding:0 16px;
}

.cart-items{
padding:18px;
}

.cart-summary{
padding:18px;
}

.empty-cart{
padding:40px 16px;
}

.empty-cart-card{
padding:30px 24px;
}

}

/* =====================================================
   TOUCH IMPROVEMENTS
===================================================== */

@media (hover:none){

.qty-btn:hover{
background:#fff;
}

.btn-primary:hover{
background:#b76e79;
color:#fff;
}

}