.ctd-gen,
.ctd-gen *{
  box-sizing:border-box;
}

.ctd-gen{
  width:min(100%,var(--ctd-gen-max,980px));
  margin:30px auto 8px;
  padding:18px;
  background:var(--ctd-gen-bg,#f7f2ff);
  border:2px solid var(--ctd-gen-border,#dcc8f7);
  border-radius:24px;
  color:var(--ctd-gen-text,#5d5270);
  clear:both;
  font-family:inherit;
}

.ctd-gen--center{
  text-align:center;
}

.ctd-gen__tip{
  position:relative;
  padding:20px 22px 20px 25px;
  background:var(--ctd-gen-tip-bg,#fff);
  border:1px solid var(--ctd-gen-border,#dcc8f7);
  border-left:6px solid var(--ctd-gen-accent,#4b168f);
  border-radius:18px;
}

.ctd-gen__tip-title,
.ctd-gen__cta-title{
  margin:0 !important;
  color:var(--ctd-gen-heading,#351061) !important;
  font-size:clamp(20px,2.2vw,28px) !important;
  line-height:1.18 !important;
  letter-spacing:-.3px;
  font-weight:700 !important;
}

.ctd-gen__tip-text,
.ctd-gen__cta-text{
  margin:10px 0 0 !important;
  color:var(--ctd-gen-text,#5d5270) !important;
  font-size:14px !important;
  line-height:1.7 !important;
  font-weight:600 !important;
}

.ctd-gen__tagline{
  display:inline-flex;
  margin:13px 0 0 !important;
  padding:8px 12px;
  border-radius:999px;
  background:var(--ctd-gen-bg,#f7f2ff);
  color:var(--ctd-gen-accent,#4b168f) !important;
  border:1px solid var(--ctd-gen-border,#dcc8f7);
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}

.ctd-gen--center .ctd-gen__tagline{
  justify-content:center;
}

.ctd-gen__cta{
  margin-top:14px;
  padding:22px;
  border-radius:18px;
  background:var(--ctd-gen-accent,#4b168f);
  border:2px solid var(--ctd-gen-accent,#4b168f);
}

.ctd-gen__cta-title{
  color:#fff !important;
}

.ctd-gen__cta-text{
  color:rgba(255,255,255,.88) !important;
  max-width:760px;
}

.ctd-gen--center .ctd-gen__cta-text{
  margin-left:auto !important;
  margin-right:auto !important;
}

.ctd-gen__buttons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:17px;
}

.ctd-gen__button{
  width:100%;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 15px;
  border-radius:999px;
  background:var(--ctd-gen-btn-bg,#4b168f) !important;
  color:var(--ctd-gen-btn-text,#fff) !important;
  border:2px solid var(--ctd-gen-btn-text,#fff) !important;
  text-decoration:none !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  text-align:center;
  box-shadow:none !important;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease !important;
}

.ctd-gen__button:hover,
.ctd-gen__button:focus{
  background:var(--ctd-gen-btn-hover-bg,#fff) !important;
  color:var(--ctd-gen-btn-hover-text,#4b168f) !important;
  border-color:var(--ctd-gen-btn-hover-bg,#fff) !important;
  text-decoration:none !important;
  transform:translateY(-1px);
}

.ctd-gen__button:focus-visible{
  outline:3px solid rgba(255,255,255,.42);
  outline-offset:2px;
}

@media(max-width:680px){
  .ctd-gen{
    margin-top:22px;
    padding:13px;
    border-radius:20px;
  }

  .ctd-gen__tip,
  .ctd-gen__cta{
    padding:17px 15px;
    border-radius:16px;
  }

  .ctd-gen__tip-title,
  .ctd-gen__cta-title{
    font-size:20px !important;
  }

  .ctd-gen__tip-text,
  .ctd-gen__cta-text{
    font-size:12.5px !important;
    line-height:1.62 !important;
  }

  .ctd-gen__buttons{
    grid-template-columns:1fr;
  }

  .ctd-gen__button{
    min-height:44px;
    font-size:12.5px !important;
  }
}
