:root{
  --card-radius: 14px;
  --soft-border: #e9ecef;
  --muted: #6c757d;
  --success: #16a34a;
  --section-bg: #f1f3f5;
}

body{ background:#f5f6f8; }

.card-soft{
  border:1px solid var(--soft-border);
  border-radius: var(--card-radius);
  box-shadow: 0 2px 10px rgba(16,24,40,.05);
  background:#fff;
}

.product-img{
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 10px;
  border:1px solid var(--soft-border);
  background:#fff;
}

.title{ font-weight: 700; line-height: 1.2; }
.ref{ color: var(--muted); font-size: .86rem; }

.checkline{
  display:flex; align-items:center; gap:.5rem;
  color:#111827; font-size:.92rem;
}

.checkdot{
  width: 18px; height: 18px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px;
  background: rgba(22,163,74,.12);
  color: var(--success);
  font-weight: 800;
  font-size: .75rem;
  flex: 0 0 auto;
}

.qty-wrap{ display:flex; align-items:center; gap:.6rem; }

.qty-stepper{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--soft-border);
  border-radius: 12px;
  overflow:hidden;
  height: 36px;
  background:#fff;
}

.qty-stepper button{
  width: 38px;
  border:0;
  background:#fff;
  font-weight: 800;
}

.qty-stepper input{
  width: 46px;
  border:0;
  text-align:center;
  outline:none;
  font-weight: 700;
}

.btn-close-soft{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border:1px solid var(--soft-border);
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  cursor:pointer;
}

.price{ font-weight: 800; font-size: 1.05rem; }
.price-muted{ color: var(--muted); text-decoration: line-through; font-weight: 600; font-size: .92rem; }

.summary-title{ font-weight: 800; font-size: 1rem; }
.checkout-btn{ border-radius: 999px; padding: .9rem 1rem; font-weight: 800; }

.fineprint{ color: var(--muted); font-size: .86rem; line-height: 1.35; }

.sticky-lg{ position: sticky; top: 16px; }
@media (max-width: 991.98px){ .sticky-lg{ position: static; } }

.panel-header{
  background: var(--section-bg);
  border: 1px solid var(--soft-border);
  color: #111827;
  font-weight: 800;
  border-radius: 12px;
  padding: .65rem .9rem;
}

.panel-body{
  border: 1px solid var(--soft-border);
  border-top: 0;
  border-radius: 0 0 12px 12px;
  padding: .9rem;
  background:#fff;
}

.hr-soft{
  margin: 0;
  border: 0;
  border-top: 1px solid var(--soft-border);
  opacity: 1;
}
