/* Cart-page-specific styles. Shared header/footer/buttons live in base.css */

.cart-page{max-width:1100px; margin:0 auto; padding:44px 4vw 100px;}
.cart-page h1{font-family:'Montserrat', sans-serif; font-weight:900; font-size:clamp(26px,3.4vw,36px); margin:0 0 28px; letter-spacing:-0.02em;}

.ship-progress{background:rgba(16,185,129,0.08); border:1px solid rgba(16,185,129,0.25); border-radius:14px; padding:16px 20px; margin-bottom:30px;}
.ship-progress.pending{background:rgba(37,99,235,0.06); border-color:rgba(37,99,235,0.2);}
.ship-progress .row{display:flex; justify-content:space-between; font-family:'Montserrat', sans-serif; font-size:11.5px; font-weight:700; margin-bottom:10px;}
.ship-progress .row .label{color:var(--emerald);}
.ship-progress.pending .row .label{color:var(--cobalt);}
.ship-progress .track{height:6px; background:rgba(16,185,129,0.15); border-radius:99px; overflow:hidden;}
.ship-progress.pending .track{background:rgba(37,99,235,0.12);}
.ship-progress .track .fill{height:100%; background:var(--emerald); border-radius:99px; transition:width .3s ease;}
.ship-progress.pending .track .fill{background:var(--cobalt);}
.ship-progress .note{font-size:12.5px; color:var(--text-soft); margin-top:10px;}
.ship-progress .note b{color:var(--emerald);}
.ship-progress.pending .note b{color:var(--cobalt);}

.cart-layout{display:grid; grid-template-columns:1.6fr 1fr; gap:50px; align-items:start;}

.cart-item{display:grid; grid-template-columns:88px 1fr auto auto; gap:28px; align-items:center; padding:22px 0; border-bottom:1px solid var(--border); }
.cart-item .thumb{width:88px; height:104px; border-radius:12px; background:var(--surface-dim); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.cart-item .thumb > div{width:60%;}
.cart-item .name{font-weight:600; font-size:14.5px; margin-bottom:4px;}
.cart-item .name a:hover{opacity:0.7;}
.cart-item .meta{font-size:12.5px; color:var(--text-faint); margin-bottom:8px;}
.cart-item .remove{background:none; border:none; color:var(--text-faint); font-size:13px; cursor:pointer; padding:0;}
.cart-item .remove:hover{color:var(--error);}
.qty-stepper{display:flex; align-items:center; border:1.5px solid var(--border); border-radius:9px;}
.qty-stepper button{width:32px; height:36px; border:none; background:none; font-size:14px; cursor:pointer;}
.qty-stepper span{width:26px; text-align:center; font-weight:600; font-size:13.5px;}
.item-price{font-family:'Montserrat', sans-serif; font-weight:700; font-size:14.5px; text-align:right;}

.order-summary{background:var(--surface-card); border:1px solid var(--border); border-radius:18px; padding:28px; position:sticky; top:100px;}
.order-summary h3{font-family:'Montserrat', sans-serif; font-weight:800; font-size:17px; margin:0 0 22px;}
.summary-line{display:flex; justify-content:space-between; font-size:13.5px; color:var(--text-soft); margin-bottom:14px;}
.summary-total{display:flex; justify-content:space-between; font-family:'Montserrat', sans-serif; font-weight:700; font-size:19px; padding-top:16px; border-top:1px solid var(--border); margin-top:6px; margin-bottom:22px;}
.btn-checkout{display:block; text-align:center; width:100%; background:var(--ink); color:#fff; border:none; padding:16px; border-radius:10px; font-family:'Montserrat', sans-serif; font-size:12.5px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; cursor:pointer; transition:background .15s ease;}
.btn-checkout:hover{background:var(--cobalt);}
.cod-note{font-size:12px; color:var(--text-faint); text-align:center; margin-top:14px; line-height:1.5;}

.empty-cart{text-align:center; padding:100px 20px; color:var(--text-faint);}

@media(max-width:860px){
  .cart-layout{grid-template-columns:1fr;}
  .cart-item{grid-template-columns:70px 1fr; grid-template-areas:"thumb name" "thumb qty" "thumb price";}
  .order-summary{position:static;}
}
