/* Марка акции (купон). 2D, без теней. Состояния: active / used / expired. */
.wsk-offer-mark {
  display: flex;
  align-items: center;
  gap: 0.28em;
  min-width: 0;
  margin: 0.35rem 0 0.15rem;
}
.wsk-offer-mark__icon {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  line-height: 0;
  cursor: pointer;
  flex: 0 0 auto;
  font: inherit;
  height: 1em;
  width: auto;
  transform-origin: 30% 50%;
}
.wsk-offer-mark__icon img {
  display: block;
  height: 1em;
  width: auto;
  max-width: none;
}
.wsk-offer-mark__copy {
  min-width: 0;
}
.wsk-offer-mark__code {
  margin: 0;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #5c3d24;
  font-variant-numeric: tabular-nums lining-nums;
  font-family: Manrope, ui-sans-serif, system-ui, sans-serif;
  overflow-wrap: anywhere;
}
.wsk-offer-mark__status {
  margin: 0.18rem 0 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #a33b32;
}
.wsk-offer-mark__status small {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: #6b5b4d;
}
.wsk-offer-mark.is-used .wsk-offer-mark__code { color: #6b5340; }
.wsk-offer-mark.is-used .wsk-offer-mark__status { color: #147a45; }
.wsk-offer-mark.is-expired .wsk-offer-mark__code { color: #7a7670; }
.wsk-offer-mark.is-expired .wsk-offer-mark__status { color: #6d6a66; }

.wsk-offer-mark--hero {
  font-size: clamp(1.85rem, 10vw, 72pt);
}
.wsk-offer-mark--hero .wsk-offer-mark__code {
  font-size: 1em;
}
.wsk-offer-mark--hero .wsk-offer-mark__icon,
.wsk-offer-mark--hero .wsk-offer-mark__icon img {
  height: clamp(1.85rem, 10vw, 72pt);
}
.wsk-offer-mark--hero .wsk-offer-mark__status {
  font-size: 0.38em;
}

.wsk-offer-mark--card {
  font-size: clamp(1.35rem, 5.8vw, 2.15rem);
}
.wsk-offer-mark--card .wsk-offer-mark__code {
  font-size: 1em;
}
.wsk-offer-mark--card .wsk-offer-mark__icon,
.wsk-offer-mark--card .wsk-offer-mark__icon img {
  height: clamp(1.35rem, 5.8vw, 2.15rem);
}
.wsk-offer-mark--card .wsk-offer-mark__status {
  font-size: 0.48em;
}

@keyframes wsk-coupon-flutter {
  0%, 100% { transform: rotate(0deg) scale(1) scaleX(1); }
  18% { transform: rotate(-14deg) scale(1.08) scaleX(0.62); }
  36% { transform: rotate(12deg) scale(1.12) scaleX(1.08); }
  54% { transform: rotate(-9deg) scale(1.06) scaleX(0.7); }
  72% { transform: rotate(6deg) scale(1.04) scaleX(1.04); }
}
.wsk-offer-mark__icon.is-flap {
  animation: wsk-coupon-flutter 0.72s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .wsk-offer-mark__icon.is-flap { animation: none; }
}

.wsk-offer-mark.is-active .wsk-offer-mark__icon {
  position: relative;
  overflow: hidden;
}
.wsk-offer-mark.is-active .wsk-offer-mark__icon::after {
  content: "";
  position: absolute;
  inset: -10% -40%;
  background: linear-gradient(105deg, transparent 42%, rgba(255,255,255,.55) 50%, transparent 58%);
  transform: translateX(-30%);
  animation: wsk-coupon-sheen 2.8s ease-in-out infinite;
  pointer-events: none;
}
@keyframes wsk-coupon-sheen {
  0%, 28% { transform: translateX(-40%); }
  58%, 100% { transform: translateX(40%); }
}
@media (prefers-reduced-motion: reduce) {
  .wsk-offer-mark.is-active .wsk-offer-mark__icon::after { animation: none; }
}
