/* Every category tag follows the same Daily corner-ribbon alignment. */
.bonus-offer-layout:not(.is-all-offers) .promo-card:has(.promo-top) {
  overflow: visible !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card:has(> .promo-top) > .promo-top {
  position: absolute !important;
  z-index: 8 !important;
  top: 4px !important;
  right: auto !important;
  left: 21px !important;
  display: block !important;
  margin: 0 !important;
  overflow: visible !important;
  transform: translateX(-50%) rotate(-22.5deg) !important;
  transform-origin: center !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card:has(> .promo-top) > .promo-top .promo-tag {
  display: inline-grid !important;
  min-width: 42px !important;
  min-height: 16px !important;
  place-items: center !important;
  padding: 4px 8px !important;
  border: 1px solid #ffe979 !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg,#0aa44b 0%,#087039 58%,#034520 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.36),0 3px 0 #bd8000,0 6px 10px rgba(0,42,20,.3) !important;
  color: #ffeb75 !important;
  font-size: 6.8px !important;
  font-weight: 1000 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-shadow: 0 1px 0 rgba(0,34,16,.75) !important;
  clip-path: polygon(16% 0,84% 0,100% 50%,84% 100%,16% 100%,0 50%) !important;
}

/* Referral social marks are compact badges, never full-size source images. */
.bonus-offer-layout:not(.is-all-offers) .promo-card:has(.promo-tag.is-facebook) > .promo-top,
.bonus-offer-layout:not(.is-all-offers) .promo-card:has(.promo-tag.is-telegram) > .promo-top {
  top: 5px !important;
  left: 7px !important;
  transform: none !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag.is-facebook,
.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag.is-telegram {
  display: grid !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.24) !important;
  clip-path: none !important;
  filter: none !important;
  transform: none !important;
}

/* Social cards use their own logo only — never a ribbon, tail or tag backing. */
.bonus-offer-layout:not(.is-all-offers) .promo-card:has(.promo-tag.is-facebook) > .promo-top::before,
.bonus-offer-layout:not(.is-all-offers) .promo-card:has(.promo-tag.is-facebook) > .promo-top::after,
.bonus-offer-layout:not(.is-all-offers) .promo-card:has(.promo-tag.is-telegram) > .promo-top::before,
.bonus-offer-layout:not(.is-all-offers) .promo-card:has(.promo-tag.is-telegram) > .promo-top::after,
.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag.is-facebook::before,
.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag.is-facebook::after,
.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag.is-telegram::before,
.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag.is-telegram::after {
  display: none !important;
  content: none !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag.is-facebook img,
.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag.is-telegram img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
}

/* These two are plain social logos in every view, including All Offers. */
.bonus-offer-layout .promo-card.has-custom-tag:has(.promo-tag.is-facebook) > .promo-top,
.bonus-offer-layout .promo-card.has-custom-tag:has(.promo-tag.is-telegram) > .promo-top {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
  transform: none !important;
}

.bonus-offer-layout .promo-card.has-custom-tag .promo-tag.is-facebook,
.bonus-offer-layout .promo-card.has-custom-tag .promo-tag.is-telegram {
  display: grid !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.24) !important;
  clip-path: none !important;
  filter: none !important;
  transform: none !important;
}

.bonus-offer-layout .promo-card.has-custom-tag .promo-tag.is-facebook img,
.bonus-offer-layout .promo-card.has-custom-tag .promo-tag.is-telegram img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  transform: none !important;
}

.bonus-offer-layout .promo-card.has-custom-tag:has(.promo-tag.is-facebook) > .promo-top::before,
.bonus-offer-layout .promo-card.has-custom-tag:has(.promo-tag.is-facebook) > .promo-top::after,
.bonus-offer-layout .promo-card.has-custom-tag:has(.promo-tag.is-telegram) > .promo-top::before,
.bonus-offer-layout .promo-card.has-custom-tag:has(.promo-tag.is-telegram) > .promo-top::after,
.bonus-offer-layout .promo-card.has-custom-tag .promo-tag.is-facebook::before,
.bonus-offer-layout .promo-card.has-custom-tag .promo-tag.is-facebook::after,
.bonus-offer-layout .promo-card.has-custom-tag .promo-tag.is-telegram::before,
.bonus-offer-layout .promo-card.has-custom-tag .promo-tag.is-telegram::after {
  display: none !important;
  content: none !important;
}

.bonus-offer-layout .promo-card .promo-social-logo {
  position: absolute !important;
  z-index: 12 !important;
  top: 5px !important;
  left: 7px !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.24) !important;
  object-fit: cover !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-social-logo { display: none !important; }
.bonus-offer-layout.is-all-offers .promo-card .promo-social-logo { display: block !important; }

/* The Facebook source has a transparent canvas around its blue disc; scale it
   so its visible circle matches Telegram's 18px footprint. */
.bonus-offer-layout.is-all-offers .promo-card.promo-social-facebook .promo-social-logo {
  top: -1px !important;
  left: 1px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Social offer artwork: the platform logo becomes part of the banner, not a tag. */
.bonus-offer-layout:not(.is-all-offers) .promo-card.promo-social-facebook,
.bonus-offer-layout:not(.is-all-offers) .promo-card.promo-social-telegram {
  background-color: #03431f !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card.promo-social-facebook {
  background-image: url("../decor/bonus-social-facebook-v1.webp") !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card.promo-social-telegram {
  background-image: url("../decor/bonus-social-telegram-v1.webp") !important;
}

/* Individual NT77 campaign artwork — each offer has its own story. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Downline Commission"] {
  background: url("../decor/bonus-weekly-commission-atm-v1.webp") center / cover no-repeat !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Hourly Random up to 77"] {
  background: url("../decor/bonus-hourly-clocks-v1.webp") center / cover no-repeat !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Lucky Wheel"] {
  background: url("../decor/bonus-lucky-wheel-v1.webp") center / cover no-repeat !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Receipt Collection Bonus"] { background: url("../decor/bonus-receipt-collection-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily Free 10"] { background: url("../decor/bonus-daily-free-10-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Check-In Bonus"] { background: url("../decor/bonus-checkin-calendar-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily Rescue 5%"] { background: url("../decor/bonus-daily-rescue-ring-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily First 30%"] { background: url("../decor/bonus-daily-first-30-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Unlimited 10%"] { background: url("../decor/bonus-unlimited-10-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 500"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 3,000"] { background: url("../decor/bonus-weekly-topup-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Special $50 — Free $10"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Special $100 — Free $20"] { background: url("../decor/bonus-booster-500-v1.webp") center / cover no-repeat !important; }

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="100% Event Bonus"] .event-percent {
  color: #ffcf32 !important;
  font-size: 1.24em !important;
  text-shadow: 0 0 6px #ff9900, 0 1px 1px #5d3600 !important;
}

/* Final category-only campaign art. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="100% Event Bonus"] { background: url("../decor/bonus-event-100-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Premium Jackpot"] { background: url("../decor/bonus-jackpot-1777-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Loyalty Support"] { background: url("../decor/bonus-loyalty-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="NT77 Insurance Bonus $7"] { background: url("../decor/bonus-loyalty-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily 30×3"] { background: url("../decor/bonus-receipt-collection-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 500"] { background: url("../decor/bonus-weekly-500-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"] { background: url("../decor/bonus-weekly-2000-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 3,000"] { background: url("../decor/bonus-weekly-3000-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="$1 Verified Invite Reward"] { background: url("../decor/bonus-invite-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Downline Commission"] { background: url("../decor/bonus-downline-atm-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Downline First $30 Top-Up"] { background: url("../decor/bonus-downline-red30-v1.webp") center / cover no-repeat !important; }

/* Refined category-only artwork with clear values and button-safe space. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Special $50 — Free $10"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Special $100 — Free $20"] { background: url("../decor/bonus-booster-500-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="New Member Free $77"] { background: url("../decor/bonus-new-member-77-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Check-In Bonus"] { background: url("../decor/bonus-checkin-calendar-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily Free 10"] { background: url("../decor/bonus-daily-free-10-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 500"] { background: url("../decor/bonus-weekly-500-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"] { background: url("../decor/bonus-weekly-2000-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 3,000"] { background: url("../decor/bonus-weekly-3000-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Lucky Wheel"] { background: url("../decor/bonus-lucky-wheel-v2.webp") center / cover no-repeat !important; }

/* Keep all key artwork above the fixed lower-right Claim / Spin area. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="New Member Free $77"] { background: url("../decor/bonus-new-member-77-v3.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="100% Welcome Bonus"] { background: url("../decor/bonus-welcome-100-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="50% Welcome Bonus"] { background: url("../decor/bonus-welcome-50-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Unlimited 10%"] { background: url("../decor/bonus-unlimited-10-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily First 30%"] { background: url("../decor/bonus-daily-first-30-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily Free 10"] { background: url("../decor/bonus-daily-free-10-v3.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 500"] { background: url("../decor/bonus-weekly-500-v3.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"] { background: url("../decor/bonus-weekly-2000-v3.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 3,000"] { background: url("../decor/bonus-weekly-3000-v3.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Lucky Wheel"] { background: url("../decor/bonus-lucky-wheel-v3.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Lucky Wheel"] { background: url("../decor/bonus-lucky-wheel-hourly-v1.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Lucky Wheel"] { background: url("../decor/bonus-lucky-wheel-hourly-v2.webp") center / cover no-repeat !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Lucky Wheel"] { background: url("../decor/bonus-lucky-wheel-hourly-v3.webp") center / cover no-repeat !important; }



.bonus-offer-layout .promo-card.jackpot-card .jackpot-amount {
  color: #ffcc35 !important;
  text-shadow: 0 0 6px #ff9e00, 0 1px 1px #583200 !important;
}

/* Keep titles left-aligned and clear of the raised ribbon. */
.bonus-offer-layout:not(.is-all-offers) .promo-card:has(.promo-top) h3 {
  box-sizing: border-box !important;
  min-height: 0;
  margin-top: 10px !important;
  padding-left: 0 !important;
  text-align: left !important;
}

/* Weekly rewards share one trophy anchor; the prize remains upright and clear of Claim. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 500"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 3,000"] {
  position: relative !important;
  background: url("../decor/bonus-weekly-aligned-trophy-v1.webp") center / cover no-repeat !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card .weekly-prize-amount {
  position: absolute !important;
  z-index: 5 !important;
  top: 8px !important;
  right: 10px !important;
  width: 112px !important;
  color: #f7d160 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 25px !important;
  font-weight: 1000 !important;
  font-style: normal !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -0.06em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-shadow: 0 2px 0 #5d3a00, 0 0 8px rgba(255, 196, 44, 0.55) !important;
}

/* Weekly prize hierarchy: aligned anchors, increasingly premium trophy treatments. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 500"] {
  background-image: url("../decor/bonus-weekly-500-tier-v1.webp") !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"] {
  background-image: url("../decor/bonus-weekly-2000-tier-v1.webp") !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 3,000"] {
  background-image: url("../decor/bonus-weekly-3000-tier-v1.webp") !important;
}

/* Welcome offers: one premium material language, three distinct reward scenes. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="New Member Free $77"] {
  background: url("../decor/bonus-welcome-77-casino-v1.webp") center / cover no-repeat !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="100% Welcome Bonus"] {
  background: url("../decor/bonus-welcome-100-casino-v1.webp") center / cover no-repeat !important;
  background-size: 118% auto !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="50% Welcome Bonus"] {
  background: url("../decor/bonus-welcome-50-casino-v1.webp") center / cover no-repeat !important;
}

/* Event rewards: each offer has its own built-in metallic value scene. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="100% Event Bonus"] {
  background: url("../decor/bonus-event-100-metal-v2.webp") center / cover no-repeat !important;
}

@media(max-width:480px){
  .bonus-offer-layout:not(.is-all-offers) .promo-card h3{right:76px!important;font-size:9.5px!important;line-height:1.05!important;overflow:visible!important}
  .bonus-offer-layout:not(.is-all-offers) .promo-card>p{right:76px!important;display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;font-size:6.4px!important;line-height:1.12!important}
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Premium Jackpot"] {
  background: url("../decor/bonus-jackpot-1777-casino-v1.webp") center / cover no-repeat !important;
}
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Special $20 — Free $10"] { background:url("../decor/event-free10.webp") center/cover no-repeat!important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Special $20 — Free $6"] { background:url("../decor/event-free6.webp") center/cover no-repeat!important; }

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Special $50 — Free $10"] {
  background: url("../decor/bonus-booster-500-casino-v1.webp") center / cover no-repeat !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Special $100 — Free $20"] {
  background: url("../decor/bonus-booster-500-casino-v1.webp") center / cover no-repeat !important;
}

/* Keep offer titles as one white type treatment; only the artwork carries gold. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="100% Event Bonus"] .event-percent,
.bonus-offer-layout .promo-card.jackpot-card .jackpot-amount {
  color: inherit !important;
  text-shadow: inherit !important;
}

/* Event cards use one deliberate type scale, regardless of title wording. */
.bonus-offer-layout:not(.is-all-offers) .promo-card.event-slot-card h3 {
  font-size: 10.5px !important;
  line-height: 1.03 !important;
  letter-spacing: 0 !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card.event-slot-card h3 .event-percent,
.bonus-offer-layout:not(.is-all-offers) .promo-card.event-slot-card h3 .jackpot-amount {
  font-size: inherit !important;
  line-height: inherit !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card.event-slot-card > p {
  font-size: 7px !important;
  line-height: 1.15 !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card.event-slot-card .promo-actions .button:first-child,
.bonus-offer-layout:not(.is-all-offers) .promo-card.event-slot-card .promo-actions .button:first-child::after {
  font-size: 6.5px !important;
}

/* Event actions are always a single compact Claim action. */
.bonus-offer-layout:not(.is-all-offers) .promo-card.event-slot-card .promo-actions .button:first-child {
  font-size: 0 !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card.event-slot-card .promo-actions .button:first-child::after {
  display: block !important;
  content: "CLAIM" !important;
}

/* Rebuilt daily offer artwork, intentionally logo-free. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Unlimited 10%"] {
  background: url("../decor/daily-10-straight.webp") center / cover no-repeat !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily First 30%"] {
  background: url("../decor/daily-30-straight-v2.webp") center / cover no-repeat !important;
}

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Unlimited 10%"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily First 30%"] { background-position: center center !important; }

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Daily Free 10"] {
  background: url("../decor/daily-free-clean.webp") center calc(35% - 5px) / cover no-repeat !important;
}

/* Weekly tier trophies share the same visual anchor. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 500"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 3,000"] { background-position: center center !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"] { background-position: calc(50% + 6px) center !important; }

.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"] { width:100% !important; box-sizing:border-box !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 500"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 3,000"] { grid-column:1 / -1 !important; width:100% !important; min-width:100% !important; justify-self:stretch !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Downline First $30 Top-Up"] h3 { font-size:10.5px !important; white-space:pre-line !important; letter-spacing:0 !important; }
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Lucky Wheel"] { background-size:88% auto !important; background-position:center !important; background-color:#05331f!important; }

/* Match the two full-width campaign banners precisely at both side edges. */
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Weekly Top-Up 2,000"],
.bonus-offer-layout:not(.is-all-offers) .promo-card[data-offer-source="Lucky Wheel"]{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  justify-self:stretch!important;
  overflow:hidden!important;
  background-position:center!important;
  background-size:cover!important;
}

/* The live card is rebuilt by the bonus script, so this final selector must not
   depend on which category layout is active. */
.promo-card[data-offer-source="Weekly Top-Up 2,000"]{
  background-color:#052819!important;
  background-image:url("../decor/bonus-weekly-2000-aligned-v4.webp")!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
}

.promo-card[data-offer-source="Weekly Top-Up 3,000"]{
  background-color:#052819!important;
  background-image:url("../decor/bonus-weekly-3000-aligned-v2.webp")!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
}

/* A weekly-only finish panel fills the shorter right column without inventing a fourth offer. */
.weekly-reward-fill{
  position:relative;
  display:grid;
  align-content:center;
  min-height:222px;
  padding:18px 20px;
  overflow:hidden;
  border:1px solid rgba(11,108,53,.35);
  border-radius:14px;
  background:radial-gradient(circle at 86% 18%,rgba(255,214,68,.28),transparent 17%),radial-gradient(circle at 78% 80%,rgba(45,169,84,.25),transparent 29%),linear-gradient(135deg,#053b23 0%,#086d38 58%,#0a9146 100%);
  box-shadow:0 6px 14px rgba(3,61,31,.15),inset 0 1px 0 rgba(255,255,255,.18);
  color:#fff;
}
.weekly-reward-fill::before,.weekly-reward-fill::after{position:absolute;right:-28px;border:1px solid rgba(255,226,103,.46);border-radius:50%;content:"";pointer-events:none}
.weekly-reward-fill::before{bottom:-52px;width:190px;height:190px;box-shadow:0 0 0 17px rgba(255,220,77,.08),0 0 0 34px rgba(255,220,77,.05)}
.weekly-reward-fill::after{top:18px;width:58px;height:58px;background:radial-gradient(circle,#ffe879 0 15%,#d79b10 16% 48%,#064e2a 49% 100%);box-shadow:0 0 0 5px rgba(255,238,146,.16)}
.weekly-reward-fill span,.weekly-reward-fill strong,.weekly-reward-fill small{position:relative;z-index:1;max-width:185px}
.weekly-reward-fill span{margin-bottom:7px;color:#ffe675;font-size:7px;font-weight:900;letter-spacing:.12em;line-height:1}
.weekly-reward-fill strong{margin-bottom:5px;color:#fff;font-size:15px;font-weight:900;line-height:1.04}
.weekly-reward-fill small{color:#e6f5e9;font-size:7px;font-weight:700;line-height:1.3}

/* A few offer-specific styles clip their cards.  Keep the corner ribbon
   visible on every banner, including those offers. */
.bonus-offer-layout:not(.is-all-offers),
.bonus-offer-layout:not(.is-all-offers) .promo-list {
  overflow: visible !important;
}
.bonus-offer-layout:not(.is-all-offers) .promo-list {
  box-sizing: border-box;
  padding-left: 0 !important;
}
.bonus-offer-layout:not(.is-all-offers) .promo-card:has(> .promo-top .promo-tag:not(.is-facebook):not(.is-telegram)) {
  overflow: visible !important;
  isolation: isolate;
  z-index: 2;
}
/* Every campaign tag is one fixed, complete two-point ribbon.  A fixed
   box prevents short labels (for example "FREE") from looking like a
   different or truncated badge next to longer labels. */
.bonus-offer-layout:not(.is-all-offers) .promo-card > .promo-top:has(.promo-tag:not(.is-facebook):not(.is-telegram)) {
  top: 5px !important;
  right: auto !important;
  left: 21px !important;
  width: 50px !important;
  height: 17px !important;
  margin: 0 !important;
  overflow: visible !important;
  transform: translateX(-50%) rotate(-22.5deg) !important;
  transform-origin: center !important;
  z-index: 50 !important;
}
.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag:not(.is-facebook):not(.is-telegram) {
  display: grid !important;
  box-sizing: border-box !important;
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  height: 17px !important;
  min-height: 17px !important;
  margin: 0 !important;
  padding: 0 5px !important;
  place-items: center !important;
  border-radius: 0 !important;
  font-size: 5px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  clip-path: polygon(16% 0,84% 0,100% 50%,84% 100%,16% 100%,0 50%) !important;
}
.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag:not(.is-facebook):not(.is-telegram)::after {
  display: none !important;
}
.bonus-offer-layout:not(.is-all-offers) .promo-card .promo-tag:not(.is-facebook):not(.is-telegram)::before {
  display: none !important;
}
