.lani-affiliate-cta {
  box-sizing: border-box;
  clear: both;
  margin: 2rem auto;
  max-width: 760px;
}

.lani-affiliate-cta--purely {
  padding: 1rem;
  color: #342736;
  background: linear-gradient(145deg, #fff 0%, #fff5fa 100%);
  border: 1px solid #edc7dc;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(93, 43, 75, 0.09);
  text-align: center;
}

.lani-affiliate-cta--lucia {
  padding: 1rem;
  color: #302548;
  background: linear-gradient(145deg, #fff 0%, #f7f3ff 100%);
  border: 1px solid #d8caef;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(72, 48, 119, .11);
  text-align: center;
}

.lani-affiliate-cta__title {
  font-size: 1.15rem;
  line-height: 1.55;
  margin: 0 0 .85rem;
}

.lani-affiliate-cta__eyebrow,
.lani-affiliate-cta__offer {
  color: #a02f70;
  font-weight: 700;
}

.lani-affiliate-cta__eyebrow { margin: 0 0 .5rem; font-size: .8rem; letter-spacing: .08em; }
.lani-affiliate-cta__image { margin: 0 auto; max-width: 600px; }
.lani-affiliate-cta__image img { display: block; width: 100%; height: auto; }
.lani-affiliate-cta__image-link { display: block; }
.lani-affiliate-cta__offer { margin: .75rem 0; font-size: 1.2rem; }
.lani-affiliate-cta__image-link:focus-visible { outline: 3px solid #221735; outline-offset: 3px; }
.lani-affiliate-cta__note { margin: .75rem 0 0; color: #665c68; font-size: .78rem; }
.lani-affiliate-cta__actions { margin: 1rem auto; max-width: 34rem; }

.lani-affiliate-cta__button {
  --lani-cta-start: #a02f70;
  --lani-cta-end: #d6509a;
  align-items: center;
  background: linear-gradient(135deg, var(--lani-cta-start), var(--lani-cta-end));
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 999px;
  box-shadow: 0 7px 0 rgba(76, 28, 66, .2), 0 12px 24px rgba(76, 28, 66, .16);
  box-sizing: border-box;
  color: #fff;
  display: flex;
  gap: .28rem;
  justify-content: center;
  min-height: 3.75rem;
  padding: .85rem 2.6rem .85rem 1.4rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: box-shadow .18s ease, transform .18s ease;
  width: 100%;
}

.lani-affiliate-cta .lani-affiliate-cta__button,
.lani-affiliate-cta .lani-affiliate-cta__button:visited {
  color: #fff;
}

.lani-affiliate-cta__button::after {
  content: "›";
  font-size: 1.65rem;
  line-height: 1;
  position: absolute;
  right: 1.15rem;
  top: 50%;
  transform: translateY(-52%);
}

.lani-affiliate-cta .lani-affiliate-cta__button:hover {
  box-shadow: 0 4px 0 rgba(76, 28, 66, .2), 0 9px 18px rgba(76, 28, 66, .18);
  color: #fff;
  transform: translateY(3px);
}

.lani-affiliate-cta__button:focus-visible {
  outline: 3px solid #221735;
  outline-offset: 4px;
}

.lani-affiliate-cta__button-emphasis { font-size: 1.08rem; font-weight: 800; }
.lani-affiliate-cta__button-suffix { font-size: .95rem; font-weight: 700; }
.lani-affiliate-cta__button--excite {
  --lani-cta-start: #ee7818;
  --lani-cta-end: #f5aa35;
  box-shadow: 0 7px 0 rgba(154, 75, 8, .22), 0 12px 24px rgba(154, 75, 8, .16);
}

.lani-affiliate-cta__button--lucia {
  --lani-cta-start: #5d36a4;
  --lani-cta-end: #9a4db4;
  box-shadow: 0 7px 0 rgba(62, 36, 108, .22), 0 12px 24px rgba(62, 36, 108, .16);
}

.lani-affiliate-cta--phone-fortune {
  color: #342b2a;
  text-align: center;
}

.lani-affiliate-cta__service-card {
  background: linear-gradient(145deg, #fff 0%, #fff8ef 100%);
  border: 1px solid #f1d2ac;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(105, 66, 26, .09);
  padding: 1.25rem;
}

.lani-affiliate-cta__intro { font-weight: 700; line-height: 1.75; }
.lani-affiliate-cta__intro > :first-child { margin-top: 0; }
.lani-affiliate-cta__intro > :last-child { margin-bottom: 0; }
.lani-affiliate-cta__benefit { color: #a64e0b; font-size: 1.05rem; font-weight: 800; margin: .85rem 0 0; }
.lani-affiliate-cta__pr { color: #746965; font-size: .7rem; margin: .6rem 0 0; text-align: right; }
.lani-affiliate-cta--mandm .un_cta { margin-bottom: 0; }

@media (max-width: 480px) {
  .lani-affiliate-cta--purely,
  .lani-affiliate-cta--lucia,
  .lani-affiliate-cta__service-card { padding: .85rem; }
  .lani-affiliate-cta__button { min-height: 3.5rem; padding-left: .9rem; padding-right: 2.15rem; }
  .lani-affiliate-cta__button-emphasis { font-size: 1rem; }
  .lani-affiliate-cta__button-suffix { font-size: .88rem; }
  .lani-affiliate-cta__button--lucia { flex-direction: column; gap: 0; }
  .lani-affiliate-cta__button::after { right: .85rem; }
}

@media (prefers-reduced-motion: reduce) {
  .lani-affiliate-cta__button { transition: none; }
}
