/* Sales, discounts & coupons — additive styles. */

.promo-banner {
  background: var(--color-black);
  color: var(--color-white);
  text-align: center;
  padding: var(--space-3) var(--space-4);
  font-weight: var(--weight-medium);
  font-size: var(--text-small);
}

/* Struck-through original price + highlighted sale price */
.price-old {
  text-decoration: line-through;
  color: var(--text-muted);
  font-weight: var(--weight-regular);
  margin-right: 0.35em;
}
.price-sale {
  color: #c0392b;
  font-weight: var(--weight-bold);
}

/* "Aanbieding" ribbon on product cards */
.card-image-wrapper { position: relative; }
.sale-badge {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  z-index: 1;
  background: #c0392b;
  color: #fff;
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.25rem 0.6rem;
  border-radius: var(--radius-pill);
}

/* Coupon box in checkout summary */
.coupon-box { margin: var(--space-4) 0; }
.coupon-box > label {
  display: block;
  font-size: var(--text-small);
  font-weight: var(--weight-medium);
  margin-bottom: var(--space-2);
}
.coupon-row { display: flex; gap: var(--space-2); }
.coupon-row .input { flex: 1; }
.coupon-msg { font-size: var(--text-small); margin-top: var(--space-2); min-height: 1.2em; }
.coupon-msg.ok { color: #1e7e34; }
.coupon-msg.err { color: #c0392b; }
