.treasure-promo {
  --treasure-primary: #7c2d12;
  --treasure-accent: #facc15;
  color: #111827;
  margin: 0 auto;
  max-width: 760px;
  padding: 24px 16px;
  text-align: center;
}

.treasure-promo__inner {
  margin: 0 auto;
  max-width: 620px;
}

.treasure-promo__chest {
  align-items: center;
  background: transparent !important;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  gap: 14px;
  margin: 0 auto;
  min-height: 220px;
  padding: 10px;
  transform-origin: center bottom;
  transition: transform .2s ease, filter .2s ease;
}

.treasure-promo__chest:hover {
  background: transparent !important;
  filter: brightness(1.04) saturate(1.06);
  transform: translateY(-3px) scale(1.015);
}

.treasure-promo__chest:active,
.treasure-promo__chest:focus {
  background: transparent !important;
}

.treasure-promo__chest:focus-visible {
  outline: 3px solid #2563eb;
  outline-offset: 6px;
}

.treasure-promo__chest-image {
  display: block;
  height: auto;
  max-width: min(380px, 86vw);
  transform-origin: center bottom;
}

.treasure-promo__chest-fallback {
  background: linear-gradient(180deg, #92400e 0%, #451a03 100%);
  border: 7px solid #f59e0b;
  border-radius: 24px 24px 18px 18px;
  box-shadow: inset 0 18px 0 rgba(255, 255, 255, .12), 0 18px 38px rgba(17, 24, 39, .22);
  display: block;
  height: 170px;
  position: relative;
  width: min(320px, 82vw);
}

.treasure-promo__chest-fallback::before {
  background: #111827;
  border: 5px solid #facc15;
  border-radius: 12px;
  content: "";
  height: 42px;
  left: 50%;
  position: absolute;
  top: 66px;
  transform: translateX(-50%);
  width: 54px;
}

.treasure-promo__chest-label {
  background: #111827;
  border-radius: 999px;
  color: #ffffff;
  display: inline-block;
  font-size: 16px;
  font-weight: 800;
  padding: 10px 18px;
}

.treasure-promo--opening .treasure-promo__chest-image--closed {
  animation: treasure-promo-chest-jump .65s ease;
}

.treasure-promo--opened .treasure-promo__chest {
  filter: saturate(1.08);
  transform: scale(.96);
}

.treasure-promo__animation {
  border-radius: 14px;
  display: block;
  height: auto;
  margin: 0 auto 18px;
  max-width: min(420px, 90vw);
  width: 100%;
}

.treasure-promo__result {
  animation: treasure-promo-reveal .35s ease-out;
}

.treasure-promo-card {
  background: #fff7ed;
  border: 8px solid var(--treasure-primary);
  border-radius: 22px;
  box-shadow: 0 18px 50px rgba(17, 24, 39, .18);
  margin: 18px auto;
  overflow: hidden;
  padding: 22px;
}

.treasure-promo-card--double {
  box-shadow: inset 0 0 0 4px var(--treasure-primary), 0 18px 50px rgba(17, 24, 39, .18);
}

.treasure-promo-card--dashed {
  border-style: dashed;
}

.treasure-promo-card--dotted {
  border-style: dotted;
}

.treasure-promo-card__header {
  background: var(--treasure-primary);
  border-radius: 14px;
  min-height: 86px;
  padding: 14px;
}

.treasure-promo-card__business {
  color: #ffffff;
  font-size: clamp(20px, 5vw, 30px);
  font-weight: 900;
  line-height: 1.18;
  padding-top: 10px;
}

.treasure-promo-card__logo {
  display: block;
  height: auto;
  margin: 0 auto;
  max-height: 96px;
  max-width: min(300px, 72vw);
  object-fit: contain;
}

.treasure-promo-card__label {
  background: var(--treasure-accent);
  border-radius: 999px;
  color: #111827;
  display: inline-block;
  font-size: 15px;
  font-weight: 900;
  margin: 18px auto 12px;
  padding: 8px 16px;
}

.treasure-promo-card__offer {
  font-size: clamp(34px, 10vw, 58px);
  font-weight: 950;
  line-height: 1.02;
  margin: 10px 0 22px;
  overflow-wrap: anywhere;
}

.treasure-promo-card__secondary-offer {
  color: #374151;
  font-size: clamp(18px, 4.5vw, 26px);
  font-weight: 750;
  line-height: 1.2;
  margin: -8px 0 22px;
  overflow-wrap: anywhere;
}

.treasure-promo-card__code-wrap {
  background: transparent;
  border-top: 1px solid #e5e7eb;
  color: #374151;
  margin: 18px auto 0;
  padding: 12px 8px 0;
}

.treasure-promo-card__code {
  display: block;
  font-size: clamp(14px, 4vw, 20px);
  letter-spacing: .08em;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.treasure-promo-card__expires,
.treasure-promo-card__instruction {
  font-size: 18px;
  font-weight: 850;
  margin-top: 12px;
}

.treasure-promo-card__expires {
  color: var(--treasure-primary);
}

.treasure-promo-card__fine-print {
  color: #4b5563;
  font-size: 13px;
  margin-top: 16px;
}

.treasure-promo__actions {
  margin: 18px 0;
}

.treasure-promo__download,
.treasure-promo__email-form button {
  background: #111827;
  border: 0;
  border-radius: 8px;
  color: #ffffff;
  cursor: pointer;
  font-weight: 850;
  min-height: 44px;
  padding: 10px 16px;
}

.treasure-promo__email-form {
  margin: 20px auto 0;
  max-width: 480px;
  text-align: left;
}

.treasure-promo__email-form label {
  display: block;
  font-weight: 800;
  margin-bottom: 8px;
}

.treasure-promo__email-row {
  display: flex;
  gap: 8px;
}

.treasure-promo__email-row input {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  flex: 1;
  min-height: 44px;
  padding: 8px 10px;
}

.treasure-promo__consent,
.treasure-promo__email-status {
  color: #4b5563;
  font-size: 13px;
}

.treasure-promo__optin {
  align-items: flex-start;
  display: flex !important;
  gap: 8px;
  font-size: 14px;
  font-weight: 500 !important;
  line-height: 1.35;
}

.treasure-promo--inactive {
  background: #fff7ed;
  border: 2px solid #fed7aa;
  border-radius: 12px;
}

.treasure-promo__diagnostics {
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  color: #111827;
  font-size: 13px;
  margin: 18px auto 0;
  max-width: 680px;
  padding: 12px;
  text-align: left;
}

.treasure-promo__diagnostics ul {
  margin: 8px 0 0 18px;
}

@keyframes treasure-promo-reveal {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes treasure-promo-chest-jump {
  0% {
    transform: translateY(0) rotate(0deg) scale(1);
  }

  28% {
    transform: translateY(-12px) rotate(-2deg) scale(1.04);
  }

  56% {
    transform: translateY(2px) rotate(2deg) scale(.99);
  }

  100% {
    transform: translateY(0) rotate(0deg) scale(1);
  }
}

@media (max-width: 520px) {
  .treasure-promo__email-row {
    flex-direction: column;
  }

  .treasure-promo-card {
    padding: 16px;
  }
}
