/* Keep the accepted campaign palette; only the discount hearts change here. */
.hero .discount-badge,
.cover-btn .discount-heart {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: url("discount-heart-v68.svg") center / 100% 100% no-repeat;
  color: #fff;
  border: 0;
  border-radius: 0;
  text-align: center;
  transform-origin: center;
  animation: none;
}
.hero .discount-badge {
  width: 84px;
  height: 78px;
  padding: 0 0 7px;
  line-height: 1;
}
.cover-btn .discount-heart {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 1;
  width: 58px;
  height: 54px;
  padding: 0 0 5px;
  line-height: 1;
  pointer-events: none;
}
.discount-heart-label {
  display: block;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-weight: 900;
  letter-spacing: -1.4px;
  word-spacing: -4px;
  white-space: nowrap;
  transform: rotate(-10deg) scaleX(.78);
}
.hero .discount-heart-label { font-size: 30px; }
.cover-btn .discount-heart-label { font-size: 24px; }
@keyframes discount-heart-hover {
  0%, 100% { transform: scale(.9); }
  50% { transform: scale(1); }
}
/* Book-cover hearts pulse continuously, including touchscreens. */
.cover-btn .discount-heart {
  animation: discount-heart-hover 1.2s ease-in-out infinite !important;
}
@media (prefers-reduced-motion: reduce) {
  .cover-btn .discount-heart { animation-duration: 2.4s !important; }
}

/* The main offer pair shares one gentle pulse; book-cover hearts pulse independently. */
@keyframes offer-breathe-v67 { 0%,100% { transform:scale(.9); } 50% { transform:scale(1); } }
#bookOffer .discount-badge, #bookOffer .hero-price-star, #oneftOffer .oneft-star {
  animation:offer-breathe-v67 2.4s ease-in-out infinite !important;
  transform-origin:center;
}
@media(prefers-reduced-motion:reduce) {
  #bookOffer .discount-badge, #bookOffer .hero-price-star, #oneftOffer .oneft-star { animation-duration:4s !important; }
}
.package-video-wrap { width:100%;max-width:460px;margin:16px auto; }
#packageVideoFrame { display:block;width:100%;height:76vh;height:76svh;max-height:760px;border:0;border-radius:16px; }
.package-cart-confirmation { margin:0 0 10px;padding:12px;border:1px solid #aacfb0;border-radius:12px;background:var(--green-soft);color:var(--green);font-size:14px;font-weight:750;line-height:1.45; }
#oneftAcceptStatus { margin:10px 0;font-size:14px;line-height:1.45;color:#8b1335; }
