/* Cart App Module */
.instaui-cart{ padding: 10px 12px calc(var(--instaui-navh) + 18px); }

.instaui-cartapp{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.instaui-cartitems{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.instaui-cartitem{
  display:flex;
  gap:10px;
  border:1px solid var(--instaui-border);
  border-radius:16px;
  padding:10px;
  background:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
  position:relative;
}
.instaui-cartthumb{
  width:82px;
  height:82px;
  border-radius:14px;
  overflow:hidden;
  flex:0 0 auto;
  background:#f2f2f2;
}
.instaui-cartthumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.instaui-cartthumbph{ width:100%; height:100%; background:#eee; }

.instaui-cartmeta{ flex: 1 1 auto; min-width:0; display:flex; flex-direction:column; gap:6px; }
.instaui-carttitle{ font-weight:700; font-size:14px; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.instaui-cartvar{ font-size:12px; color:var(--instaui-muted); }
.instaui-cartvar dl{ margin:0; }
.instaui-cartvar dt{ display:none; }
.instaui-cartvar dd{ margin:0; }

.instaui-cartprices{ display:flex; justify-content:flex-start; align-items:flex-start; gap:10px; font-size:13px; }
.instaui-cartline{ font-weight:700; }

.instaui-cartqty{ display:flex; align-items:center; gap:10px; margin-top:2px; }
.instaui-qtybtn{
  width:34px; height:34px;
  border-radius:12px;
  border:1px solid var(--instaui-border);
  background:#fff;
  font-size:18px;
  line-height:1;
}
.instaui-qtyval{ min-width:18px; text-align:center; font-weight:700; }

.instaui-cartremove{
  position:absolute;
  top:8px;
  left:8px;
  width:28px; height:28px;
  border-radius:10px;
  border:1px solid var(--instaui-border);
  background:#fff;
  font-size:18px;
  line-height:1;
}

.instaui-cartsummary{
  border:1px solid var(--instaui-border);
  border-radius:18px;
  padding:12px;
  background:#fff;
}
.instaui-sumrow{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 0;
  border-bottom:1px dashed #eee;
  font-size:14px;
}
.instaui-sumrow.total{ border-bottom:0; font-size:15px; font-weight:800; }
.instaui-checkoutbtn{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:10px;
  text-align:center;
  padding:13px 14px;
  border-radius:14px;
  background:#111 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff;
  text-decoration:none !important;
  font-weight:900;
  font-size:15px;
  line-height:1.25;
  letter-spacing:.2px;
  min-height:46px;
}

.instaui-cart-empty{
  border:1px solid var(--instaui-border);
  border-radius:18px;
  padding:18px;
  background:#fff;
  text-align:center;
}
.instaui-empty-title{ font-weight:900; font-size:16px; }
.instaui-empty-sub{ margin-top:6px; color:var(--instaui-muted); font-size:13px; }
.instaui-skel{
  border:1px solid var(--instaui-border);
  border-radius:16px;
  padding:12px;
  background:#fff;
  color:var(--instaui-muted);
}


/* Price box (Cart) */
.instaui-pricebox{
  border:1px solid var(--instaui-border);
  border-radius:18px;
  padding:10px 12px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:6px;
  position:relative;
  min-width: 170px;
}
.instaui-pricebox.has-badge{
  /* Badge is inline; no extra top padding needed */
}

.instaui-price-now{ font-weight:900; font-size:16px; }
.instaui-price-was del{ color:#9a9a9a; font-weight:800; font-size:13px; }
.instaui-disc-badge{
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ff2d55;
  color:#fff;
  font-weight:900;
  font-size:11px;
  padding:4px 8px;
  border-radius:999px;
  /* In RTL, flex-start is right */
  align-self:flex-start;
  margin-bottom:2px;
}


/* Prevent badge overlap with price text */
.instaui-pricebox .instaui-price-now,
.instaui-pricebox .instaui-price-was{ text-align:center; }
