/* Rainbet golden offer popup — refined raffle design with the Rainbet golden
   gift box hero. Geometry in cqw units against a 400px reference so the card
   scales 1:1 at any width. */
#__promo_overlay {
  position: fixed;
  inset: 0;
  z-index: 5003;
  background: rgba(0, 0, 0, .6);
}
#__promo_wrap {
  position: fixed;
  inset: 0;
  z-index: 5004;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  box-sizing: border-box;
  pointer-events: none;
}
#__promo_scale {
  width: 100%;
  max-width: 400px;
  max-height: calc(100dvh - 24px);
  position: relative;
  pointer-events: auto;
  container-type: inline-size;
  animation: __promo_in .25s cubic-bezier(.22, 1, .36, 1);
}
@keyframes __promo_in {
  from { opacity: 0; transform: translateY(10px) scale(.97); }
  to   { opacity: 1; transform: none; }
}

/* golden card — palette mixed from the gift image (orange body + ribbon gold) */
#__promo_card {
  position: relative;
  width: 100%;
  border-radius: 3.75cqw;
  border: 1px solid rgba(255, 200, 80, .6);
  background: linear-gradient(180deg, #8a4d00 0%, #a86400 45%, #c77a00 70%, #7a4300 100%);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 235, 170, .28);
  overflow: hidden;
}

/* gift hero: oversized gift sits behind the content card; bow + lid stay visible */
#__promo_hero {
  position: relative;
  height: 30cqw;
  z-index: 1;
}
#__promo_hero::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 40%;
  width: 90cqw;
  height: 50cqw;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(255, 170, 25, .5) 0%, rgba(255, 160, 20, 0) 65%);
}
#__promo_hero img {
  position: absolute;
  left: 50%;
  top: 2cqw;
  height: 74cqw;
  transform: translateX(-50%);
  filter: drop-shadow(0 10px 22px rgba(60, 30, 0, .55));
}

/* inner content card — overlaps the gift's lower half and frosts it */
#__promo_inner {
  position: relative;
  z-index: 2;
  margin: 16cqw 4cqw 4.5cqw;
  padding-bottom: 5cqw;
  border-radius: 2.75cqw;
  border: 1px solid rgba(255, 190, 80, .28);
  background: rgba(64, 34, 2, .5);
  backdrop-filter: blur(14px) saturate(1.25);
  -webkit-backdrop-filter: blur(14px) saturate(1.25);
  box-shadow: 0 -6px 24px rgba(60, 30, 0, .25);
  display: flex;
  flex-direction: column;
  align-items: center;
}
#__promo_amount {
  margin-top: 5cqw;
  font-size: 12.5cqw;
  line-height: 1;
  font-weight: 900;
  font-style: italic;
  color: #fff;
  letter-spacing: .5px;
  text-shadow: 0 2px 0 #b35a00, 0 0 24px rgba(255, 160, 30, .55);
}
#__promo_title {
  margin-top: 1.75cqw;
  font-size: 6.5cqw;
  line-height: 1.05;
  font-weight: 900;
  font-style: italic;
  letter-spacing: .8px;
  background: linear-gradient(180deg, #ffe37e 20%, #e9ac14 90%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}
#__promo_claim {
  margin-top: 4.5cqw;
  width: 62cqw;
  height: 10cqw;
  border: 0;
  border-radius: 2cqw;
  cursor: pointer;
  font-size: 3.5cqw;
  font-weight: 800;
  font-style: italic;
  letter-spacing: .4px;
  color: #20254a;
  background: linear-gradient(180deg, #ffe14d 0%, #f5b301 100%);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .55);
  transition: filter .15s ease, transform .15s ease;
}
#__promo_claim:hover { filter: brightness(1.07); transform: translateY(-1px); }
#__promo_divider {
  margin-top: 4.5cqw;
  width: 84cqw;
  height: 1px;
  background: rgba(255, 255, 255, .14);
}
#__promo_meta {
  margin-top: 2.25cqw;
  width: 84cqw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#__promo_draw {
  display: flex;
  align-items: center;
  gap: 1.5cqw;
  font-size: 3.25cqw;
  font-weight: 700;
  font-style: italic;
  color: #fff;
}
#__promo_draw svg { width: 3.5cqw; height: 3.5cqw; }
#__promo_tr {
  font-size: 2.75cqw;
  font-style: italic;
  color: rgba(255, 255, 255, .7);
}
#__promo_countdown {
  margin-top: 2.75cqw;
  width: 84cqw;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5cqw;
}
#__promo_countdown .cd {
  width: 100%;
  min-width: 0;
  height: 16.5cqw;
  border-radius: 1.5cqw;
  border: 1px solid rgba(255, 190, 80, .2);
  background: rgba(46, 24, 0, .5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75cqw;
}
#__promo_countdown .cd .n {
  font-size: 5cqw;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
#__promo_countdown .cd .l {
  font-size: 2.25cqw;
  font-weight: 600;
  letter-spacing: 1.2px;
  color: rgba(255, 255, 255, .55);
}

/* close button — same look as the site's dialog close */
#__promo_close {
  position: absolute;
  right: 3.33cqw;
  top: 3.33cqw;
  z-index: 3;
  width: 6cqw;
  height: 6cqw;
  border: 1px solid rgba(124, 131, 177, .08);
  border-radius: 999px;
  background: #303451;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .15s ease;
}
#__promo_close:hover { background: rgba(124, 131, 177, .35); }
#__promo_close svg { width: 1.9cqw; height: 1.9cqw; }
