/* ============================================================
   CART PAGE — Specific styles
   Loads after design-system.css
============================================================ */
:root{--green:#4CAF50;}

/* Page header */
.page-header{background:var(--warm-white);border-bottom:1px solid var(--border);padding:28px 24px;}
.page-header-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.page-header h1{font-family:var(--ff-display);font-size:clamp(22px,3vw,30px);color:var(--txt);}
.page-header-sub{font-size:13px;color:var(--txt-soft);margin-top:3px;}
.continue-link{display:inline-flex;align-items:center;gap:7px;color:var(--burgundy);text-decoration:none;font-size:13px;font-weight:600;transition:var(--ease);}
.continue-link:hover{gap:11px;}

/* Progress steps */
.checkout-steps{max-width:480px;margin:24px auto 0;display:flex;align-items:center;justify-content:center;gap:0;}
.step{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;}
.step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.step.active .step-num{background:var(--burgundy);color:#fff;}
.step.done .step-num{background:var(--green);color:#fff;}
.step.inactive .step-num{background:var(--border);color:var(--txt-soft);}
.step.active .step-label{color:var(--burgundy);}
.step.done .step-label{color:var(--green);}
.step.inactive .step-label{color:var(--txt-soft);}
.step-connector{flex:1;height:2px;background:var(--border);margin:0 8px;min-width:32px;}
.step-connector.done{background:var(--green);}

/* Main layout */
.cart-wrap{max-width:1200px;margin:32px auto;padding:0 24px 80px;display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start;}

/* Cart Items */
.cart-items-section{}
.cart-section-hd{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--txt-soft);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.clear-cart-btn{background:none;border:none;cursor:pointer;font-size:11px;color:var(--txt-soft);font-family:inherit;font-weight:500;transition:var(--ease);display:flex;align-items:center;gap:5px;}
.clear-cart-btn:hover{color:var(--burgundy-lt);}

.cart-item{display:grid;grid-template-columns:88px 1fr auto;gap:16px;align-items:start;padding:20px 0;border-bottom:1px solid var(--border);animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cart-item-img{width:88px;height:88px;border-radius:var(--r-md);overflow:hidden;background:var(--blush-lt);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--blush-dk);flex-shrink:0;}
.cart-item-img img{width:100%;height:100%;object-fit:cover;}
.cart-item-body{min-width:0;}
.cart-item-name{font-size:14.5px;font-weight:600;color:var(--txt);margin-bottom:4px;line-height:1.35;}
.cart-item-meta{font-size:11.5px;color:var(--txt-soft);margin-bottom:10px;display:flex;flex-direction:column;gap:2px;}
.cart-item-meta span{display:flex;align-items:center;gap:4px;}
.cart-item-qty{display:flex;align-items:center;gap:0;border:1.5px solid var(--border);border-radius:var(--r-full);width:fit-content;overflow:hidden;}
.cart-qty-btn{width:30px;height:30px;background:none;border:none;cursor:pointer;font-size:12px;color:var(--txt-mid);display:flex;align-items:center;justify-content:center;transition:var(--ease);}
.cart-qty-btn:hover{background:var(--blush-lt);color:var(--burgundy);}
.cart-qty-num{min-width:28px;text-align:center;font-size:13px;font-weight:700;color:var(--txt);}
.cart-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0;}
.cart-item-price{font-size:16px;font-weight:700;color:var(--burgundy);font-family:var(--ff-display);}
.cart-item-price small{font-size:10px;font-weight:500;color:var(--txt-soft);font-family:var(--ff-body);}
.cart-item-price-each{font-size:11px;color:var(--txt-soft);text-align:right;}
.remove-btn{background:none;border:none;cursor:pointer;color:var(--txt-soft);font-size:14px;transition:var(--ease);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.remove-btn:hover{background:rgba(184,80,96,.1);color:var(--burgundy-lt);}

/* Delivery progress bar */
.delivery-bar{background:#fff;border-radius:var(--r-md);padding:16px 18px;margin-top:20px;border:1px solid var(--border);}
.delivery-bar-label{font-size:12.5px;color:var(--txt-mid);margin-bottom:10px;}
.delivery-bar-label strong{color:var(--burgundy);}
.delivery-progress{height:6px;background:var(--blush-lt);border-radius:3px;overflow:hidden;}
.delivery-progress-fill{height:100%;background:linear-gradient(90deg,var(--burgundy),var(--gold));border-radius:3px;transition:width .5s ease;}
.delivery-bar-note{font-size:11.5px;color:var(--txt-soft);margin-top:8px;}

/* Order Summary */
.cart-summary{background:#fff;border-radius:var(--r-lg);border:1px solid var(--border);padding:24px;position:sticky;top:90px;}
.summary-title{font-family:var(--ff-display);font-size:18px;color:var(--txt);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.summary-breakdown{margin-bottom:16px;}
.summary-item-row{display:flex;justify-content:space-between;font-size:12px;padding:4px 0;color:var(--txt-mid);}
.summary-item-row .sir-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.summary-item-row .sir-qty{color:var(--txt-soft);margin:0 4px;flex-shrink:0;}
.summary-item-row .sir-total{font-weight:600;color:var(--txt);flex-shrink:0;margin-left:8px;}
.savings-row{text-align:center;margin:4px 0 -8px;}
.savings-row .savings-val{font-size:12px;color:var(--green);font-weight:600;}
.summary-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13.5px;}
.summary-row .label{color:var(--txt-mid);}
.summary-row .value{font-weight:600;color:var(--txt);}
.summary-row .free{color:var(--green);font-weight:700;}
.summary-divider{height:1px;background:var(--border);margin:16px 0;}
.summary-total-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.summary-total-label{font-size:14px;font-weight:700;color:var(--txt);}
.summary-total-price{font-family:var(--ff-display);font-size:26px;font-weight:700;color:var(--burgundy);}
.summary-total-cur{font-size:12px;color:var(--txt-soft);margin-left:2px;}

/* Promo code */
.promo-wrap{display:flex;gap:8px;margin-bottom:20px;}
.promo-input{flex:1;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--r-full);font-family:inherit;font-size:13px;color:var(--txt);outline:none;transition:var(--ease);}
.promo-input:focus{border-color:var(--burgundy);}
.promo-input.applied{border-color:var(--green);background:rgba(76,175,80,.06);}
.item-count-title{font-size:16px;font-weight:400;color:var(--txt-soft);}
.discount-value{color:var(--green);}
.cart-or-sep{text-align:center;margin:12px 0;font-size:12px;color:var(--txt-soft);}

.promo-btn{padding:10px 16px;border-radius:var(--r-full);background:var(--blush-lt);border:none;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--burgundy);cursor:pointer;transition:var(--ease);white-space:nowrap;}
.promo-btn:hover{background:var(--blush);}
.promo-msg{font-size:12px;margin-bottom:12px;display:none;align-items:center;gap:5px;font-weight:500;}
.promo-msg.success{color:var(--green);display:flex;}
.promo-msg.error{color:var(--burgundy-lt);display:flex;}

/* Delivery option selector */
.delivery-opts{margin-bottom:18px;}
.delivery-opts-label{font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--txt-soft);margin-bottom:10px;}
.delivery-opt{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:var(--ease);margin-bottom:8px;}
.delivery-opt:hover{border-color:var(--burgundy-lt);}
.delivery-opt.selected{border-color:var(--burgundy);background:var(--blush-lt);}
.delivery-opt-left{display:flex;align-items:center;gap:10px;}
.delivery-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--ease);}
.delivery-opt.selected .delivery-radio{border-color:var(--burgundy);background:var(--burgundy);}
.delivery-opt.selected .delivery-radio::after{content:'';width:5px;height:5px;border-radius:50%;background:#fff;}
.delivery-opt-name{font-size:13px;font-weight:600;color:var(--txt);}
.delivery-opt-eta{font-size:11px;color:var(--txt-soft);}
.delivery-opt-price{font-size:13px;font-weight:700;color:var(--burgundy);}
.free-delivery{color:var(--green);font-weight:700;}

/* Payment method selector */
.cart-payment-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);}
.cart-payment-title{font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--txt-soft);margin-bottom:10px;}
.cart-pay-opt{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:var(--ease);margin-bottom:8px;position:relative;}
.cart-pay-opt:hover{border-color:var(--burgundy-lt);}
.cart-pay-opt.selected{border-color:var(--burgundy);background:var(--blush-lt);}
.cart-pay-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--ease);}
.cart-pay-opt.selected .cart-pay-radio{border-color:var(--burgundy);background:var(--burgundy);}
.cart-pay-opt.selected .cart-pay-radio::after{content:'';width:5px;height:5px;border-radius:50%;background:#fff;}
.cart-pay-info{flex:1;min-width:0;}
.cart-pay-name{font-size:13px;font-weight:600;color:var(--txt);}
.cart-pay-sub{font-size:11px;color:var(--txt-soft);}
.cart-pay-disc-badge{background:linear-gradient(135deg,var(--green),#43a047);color:#fff;font-size:9px;font-weight:800;padding:3px 10px;border-radius:var(--r-full);white-space:nowrap;flex-shrink:0;letter-spacing:.3px;}

/* Guarantee note */
.guarantee-note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;background:var(--cream);border-radius:var(--r-md);}
.guarantee-note i{color:var(--burgundy);font-size:16px;flex-shrink:0;margin-top:1px;}
.guarantee-note p{font-size:11.5px;color:var(--txt-soft);line-height:1.55;}

/* Empty cart */
.empty-cart{text-align:center;padding:80px 24px;max-width:480px;margin:0 auto;}
.empty-cart-emoji{font-size:72px;display:block;margin-bottom:20px;animation:bounce 2s ease-in-out infinite;}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.empty-cart h2{font-family:var(--ff-display);font-size:26px;color:var(--txt);margin-bottom:10px;}
.empty-cart p{color:var(--txt-mid);font-size:14.5px;margin-bottom:28px;line-height:1.7;}
.empty-cart-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* Cart action buttons row */
.cart-actions{display:flex;flex-direction:row;align-items:center;gap:10px;margin-top:8px;}
.cart-actions .btn-full{flex:1;margin-bottom:0;padding:10px 20px;font-size:12px;}
.cart-actions .cart-or-sep{margin:0;padding:0 2px;font-size:11px;color:var(--txt-soft);flex-shrink:0;white-space:nowrap;border:none;width:auto;}

@media(max-width:900px){
  .cart-wrap{grid-template-columns:1fr;}
  .cart-summary{position:static;}
  .cart-actions{flex-direction:column;}
  .cart-actions .btn-full{width:100%;}
  .cart-actions .cart-or-sep{margin:2px 0;}
}
@media(max-width:768px){
  .cart-item{grid-template-columns:72px 1fr auto;}
  .cart-item-img{width:72px;height:72px;}
}
@media(max-width:480px){
  .page-header-in{flex-direction:column;align-items:flex-start;}
  .cart-item{grid-template-columns:64px 1fr;}
  .cart-item-right{display:flex;flex-direction:row;align-items:center;justify-content:space-between;grid-column:1 / -1;padding-top:8px;}
  .cart-item-body{display:flex;flex-direction:column;gap:6px;}
}
