/* Product card refinement: size-first card + marketplace-style sale pricing. */
.card .body { gap: .45rem; }
.card-size-block { margin-top: .1rem; display: grid; gap: .3rem; }
.card-size-title { font-size: .79rem; line-height: 1.2; font-weight: 800; color: var(--ink-soft); }
.card-size-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(1.7rem, auto));
  gap: .28rem;
}
.card-size {
  min-width: 0;
  min-height: 1.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .18rem .28rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: .72rem;
  line-height: 1.1;
  font-weight: 700;
  text-align: center;
  white-space: normal;
  overflow: hidden;
  word-break: break-word;
}
.card-size.more { background: var(--sand); color: var(--ink-soft); }
.card-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem; min-height: 1.4rem; }
.card-price .old-price {
  color: var(--ink-soft);
  font-size: .82rem;
  font-weight: 600;
  text-decoration-thickness: 1.5px;
}
.card-price .current-price { color: var(--ink); font-size: 1.03rem; font-weight: 850; }
.card-price .sale-price { color: var(--sale); }
.card .badge.sale { top: .6rem; left: .6rem; padding: .3rem .62rem; border-radius: 999px; font-size: .76rem; font-weight: 850; line-height: 1; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
@media (max-width: 39.99rem) {
  .card-size-grid { gap: .22rem; }
  .card-size { min-height: 1.6rem; font-size: .67rem; }
  .card-price .current-price { font-size: .98rem; }
  .card-price .old-price { font-size: .77rem; }
}

/* ---------------------------------------------------------------
   Kart nişanları: yuxarıda endirim faizi, altında kampaniya adı.
   Hamısı bir sütunda — bir-birinin üstünə düşmür.
   --------------------------------------------------------------- */
.card .media { position: relative; overflow: hidden; }
.card .card-badges {
  position: absolute; top: .6rem; left: .6rem; z-index: 3;
  display: flex; flex-direction: column; align-items: flex-start; gap: .3rem;
  max-width: calc(100% - 3.6rem);             /* sağda ürək düyməsinə yer qalsın */
  pointer-events: none;
}
.card .card-badge {
  display: inline-block; max-width: 100%;
  padding: .3rem .62rem; border-radius: 999px;
  font-size: .76rem; font-weight: 850; line-height: 1.1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.card .card-badge--sale { background: var(--sale, #C62828); color: #fff; }
.card .card-badge--campaign { background: var(--flame-deep, #C2410C); color: #fff; font-size: .72rem; font-weight: 800; }
.card .card-badge--new { background: var(--sale, #C62828); color: #fff; }
.card .card-badge--out { background: var(--paper, #fff); color: var(--ink-soft, #555); border: 1px solid var(--line, #ddd); }
@media (max-width: 600px) {
  .card .card-badges { top: .45rem; left: .45rem; gap: .22rem; }
  .card .card-badge { font-size: .68rem; padding: .26rem .5rem; }
  .card .card-badge--campaign { font-size: .64rem; }
}
