/* ====== PROMOCJA CZASOWA — wspólne style ====== */

/* Stara cena — przekreślona */
.promo-old {
  font-size: 0.8em;
  color: #999;
  text-decoration: line-through;
  font-weight: 500;
  line-height: 1.2;
}

/* Nowa cena — wyróżniona */
.promo-new {
  font-weight: 800;
  color: #b71c1c;
  line-height: 1.2;
}

/* Badge "-XX%" */
.promo-badge {
  display: inline-block;
  background: linear-gradient(135deg, #b71c1c 0%, #d32f2f 100%);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 4px;
  letter-spacing: 0.3px;
  white-space: nowrap;
  line-height: 1.4;
}

/* Podpis "do DD.MM.YYYY" */
.promo-until {
  font-size: 10px;
  font-weight: 600;
  color: #b71c1c;
  white-space: nowrap;
  line-height: 1.3;
}

/* Omnibus — najniższa cena z 30 dni */
.promo-omnibus {
  font-size: 9px;
  font-weight: 500;
  color: #888;
  white-space: nowrap;
  line-height: 1.3;
}


/* ── Training details – hero promo hint (mixed terms) ── */
.details-hero__promoHint {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin-top: 8px;
  padding: 8px 12px;
  background: rgba(183, 28, 28, 0.06);
  border: 1px dashed #e53935;
  border-radius: 8px;
}
.promo-hint-text {
  font-size: 12px;
  color: #b71c1c;
  text-align: center;
  line-height: 1.4;
}
.promo-hint-text strong {
  font-size: 14px;
}

/* ── Training details – sticky promo hint ── */
.details-sticky__promoHint {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: #b71c1c;
  font-weight: 600;
  margin-left: 8px;
}

/* ── Training details – per-term price column (mixed terms) ── */
.details-terms--with-price .details-terms__row {
  grid-template-columns: 200px 240px 150px auto 170px auto;
}
.details-terms__price {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.details-terms__price .promo-omnibus {
  font-size: 8px;
  white-space: normal;
  text-align: center;
  line-height: 1.2;
}
@media only screen and (max-width: 1050px) {
  .details-terms--with-price .details-terms__row {
    grid-template-columns: 1fr;
  }
  .details-terms__price {
    align-items: center;
  }
}

/* ── Training details – hero ── */
.details-hero__promoWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.details-hero__promoWrap .promo-old {
  font-size: 14px;
}
.details-hero__promoWrap .promo-new {
  font-size: 26px;
}
@media only screen and (max-width: 1050px) {
  .details-hero__promoWrap .promo-new {
    font-size: 22px;
  }
}

/* ── Training details – sticky bar ── */
.details-sticky__promoWrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.details-sticky__promoWrap .promo-old {
  font-size: 12px;
}
.details-sticky__promoWrap .promo-new {
  font-size: 14px;
}
.details-sticky__promoWrap .promo-badge {
  font-size: 10px;
  padding: 1px 5px;
}

/* ── Search terms / index (st__ rows) ── */
.st__rowPrice .promo-old {
  font-size: 12px;
}
.st__rowPrice .promo-new {
  font-size: 15px;
}
.st__rowPrice .promo-badge {
  font-size: 10px;
}
@media only screen and (max-width: 1050px) {
  .st__rowPrice .promo-new {
    font-size: 18px;
  }
}

/* ── Category page — training cards ── */
.category-catalog__trainingsPrice .promo-old {
  font-size: 12px;
}
.category-catalog__trainingsPrice .promo-new {
  font-size: 16px;
}
@media only screen and (max-width: 1370px) {
  .category-catalog__trainingsPrice .promo-new {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1050px) {
  .category-catalog__trainingsPrice .promo-new {
    font-size: 22px;
  }
}

/* ── Category page — guaranteed terms (guarantees__ rows) ── */
.guarantees__rowPrice .promo-old {
  font-size: 12px;
}
.guarantees__rowPrice .promo-new {
  font-size: 15px;
}
.guarantees__rowPrice .promo-badge {
  font-size: 10px;
}

/* ── Registration page ── */
.reg-info__promoWrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.reg-info__promoWrap .promo-old {
  font-size: 13px;
}
.reg-info__promoWrap .promo-new {
  font-size: 15px;
  font-weight: 700;
}
.reg-info__promoWrap .promo-badge {
  font-size: 10px;
}
