.rl-flash {
  display: inline-block; margin-left: .4rem; padding: .15rem .5rem; border-radius: 999px;
  background: var(--rl-do-dam); color: var(--rl-trang); font-size: .85rem; font-weight: 700;
  line-height: 1.2; letter-spacing: .02em; white-space: nowrap; vertical-align: .25em;
}
.rl-flash__con { font-weight: 400; }
.rl-card__flash {
  visibility: hidden; position: relative; display: block; height: 18px; margin-top: .45rem;
  border-radius: 999px; background: #fbd5d7; overflow: hidden; color: var(--rl-do-dam);
}
.rl-card__flash.la-chay { visibility: visible; }
.rl-card__flash i {
  position: absolute; inset: 0; border-radius: 999px; color: var(--rl-trang); font-style: normal;
  background: linear-gradient(90deg, var(--rl-do), #ff6a3d); clip-path: inset(0 100% 0 0);
}
.rl-card__flash span {
  display: flex; height: 100%; align-items: center; justify-content: center;
  font-size: .68rem; font-weight: 800; letter-spacing: .03em; white-space: nowrap;
}
.rl-card__flash b { margin-left: .25rem; font-variant-numeric: tabular-nums; }
.rl-flash-hang td { padding-top: .5rem; font-size: .9rem; color: var(--rl-xam-chu); }
.rl-flash-hang .rl-flash { margin: 0 .3rem 0 0; font-size: .75rem; vertical-align: .1em; }
.rl-flash__dem { font-weight: 700; color: var(--rl-do-dam); font-variant-numeric: tabular-nums; }
.rl-flash-hop {
  position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
  padding: 1rem; background: rgba(18, 21, 25, .6);
}
.rl-flash-hop[hidden] { display: none !important; }
.rl-flash-hop__khung {
  width: 100%; max-width: 24rem; padding: 1.25rem; border-radius: 12px; background: var(--rl-trang);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.rl-flash-hop__tieu { margin: 0 0 .5rem; font-size: 1.1rem; font-weight: 800; color: var(--rl-do-dam); }
.rl-flash-hop__chu { margin: 0 0 1rem; line-height: 1.5; color: var(--rl-den); }
.rl-flash-hop__chu s { color: var(--rl-xam-chu); }
.rl-flash-hop__nut { display: grid; gap: .5rem; }
.rl-flash-hop__nut button {
  width: 100%; min-height: 44px; border-radius: 8px; font-weight: 700; font-size: 1rem; cursor: pointer;
}
.rl-flash-hop__dat { border: 0; background: var(--rl-do); color: var(--rl-trang); }
.rl-flash-hop__dat:hover { background: var(--rl-do-dam); }
.rl-flash-hop__lai { border: 1px solid var(--rl-xam-chu); background: var(--rl-trang); color: var(--rl-den); }
@media (max-width: 781px) {
  .rl-flash__con { display: none; }
  .single-product .summary > .price .rl-flash { font-size: .7rem; }
  .single-product .summary > .price:has(.rl-flash) .rl-giam { display: none; }
}
