
:root {
  --dw-pricing-bg: transparent;
  --dw-pricing-accent: #6f42fd;
  --dw-pricing-accent-dark: #24105c;
  --dw-pricing-card: #ffffff;
  --dw-pricing-muted: #77747f;
}
.dw-pricing-plans,
.dw-pricing-plans * { box-sizing: border-box; }
.dw-pricing-plans {
  background: var(--dw-pricing-bg, transparent);
  padding: 54px 0 86px;
  font-family:var(--dw-font-family, "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}
.dw-pricing-plans__inner {
  width: min(calc(100% - 44px), 1242px);
  margin: 0 auto;
}
.dw-pricing-plans__head { text-align: center; margin-bottom: 70px; }
.dw-pricing-plans__title h1,
.dw-pricing-plans__title h2,
.dw-pricing-plans__title h3,
.dw-pricing-plans__title p { margin: 0; }
.dw-pricing-plans__title h1,
.dw-pricing-plans__title h2,
.dw-pricing-plans__title h3 {
  overflow: visible;
  font-size: 56px;
  line-height: 1.12;
  letter-spacing: -.056em;
  font-weight: 790;
  color: #101015;
}

.dw-pricing-plans__title span,
.elementor-widget-demooweb-pricing-plans .dw-pricing-plans__title h1 span,
.elementor-widget-demooweb-pricing-plans .dw-pricing-plans__title h2 span,
.elementor-widget-demooweb-pricing-plans .dw-pricing-plans__title h3 span {
  color: var(--dw-pricing-accent) !important;
}

.dw-pricing-plans__desc {
  max-width: 660px;
  margin: 18px auto 0;
  font-size: 16px;
  line-height: 1.52;
  letter-spacing: -.01em;
  color: var(--dw-pricing-muted);
}
.dw-pricing-switch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 31px;
  padding: 4px;
  gap: 4px;
  border-radius: 999px;
  background: #efeff2;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.03);
}
.dw-pricing-switch__button {
  width: 132px;
  min-height: 40px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #6e6b76;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}
.dw-pricing-switch__button.is-active,
.dw-pricing-switch__button[aria-selected="true"] {
  color: #fff;
  background: #6f42fd;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.62), 0 4px 10px rgba(103,61,230,.21);
}
.dw-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}
.dw-pricing-card { min-width: 0; display: flex; flex-direction: column; }
.dw-pricing-card.is-featured { transform: translateY(-42px); margin-bottom: -42px; }
.dw-pricing-card__ribbon {
  position: relative;
  z-index: 3;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 11px 18px 9px;
  border-radius: 31px 31px 0 0;
  background: linear-gradient(90deg, #25105f 0%, #9c85ff 100%);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 740;
  letter-spacing: -.01em;
  margin-bottom: -1px;
}
.dw-pricing-card__ribbon-icon {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  transform: translateY(-.5px);
}
.dw-pricing-card__ribbon-icon svg { width: 16px; height: 16px; display: block; }
.dw-pricing-card__ribbon-icon .dw-ribbon-badge { fill: #fff; }
.dw-pricing-card__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(18,16,24,.028);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(24,18,42,.04);
}
.dw-pricing-card.is-featured .dw-pricing-card__panel {
  border: none;
  border-radius: 0 0 26px 26px;
  background: linear-gradient(90deg, #25105f 0%, #9c85ff 100%);
  box-shadow: 0 10px 26px rgba(36,22,72,.05);
  padding: 0 4px 4px;
  margin-top: -1px;
}
.dw-pricing-card.is-featured .dw-pricing-card__panel::before,
.dw-pricing-card.is-featured .dw-pricing-card__panel::after { display:none; content:none; }
.dw-pricing-card__content {
  position: relative;
  z-index: 1;
  padding: 24px 18px 18px;
  min-height: 0;
  background: #fff;
}
.dw-pricing-card:not(.is-featured) .dw-pricing-card__content {
  padding-top: 24px;
  padding-left: 16px;
  padding-right: 16px;
  box-shadow: 0 11px 18px rgba(28,22,44,.02);
}
.dw-pricing-card.is-featured .dw-pricing-card__content {
  margin: 0;
  padding: 24px 18px 18px;
  border-radius: 28px 28px 0 0;
  background: #fff;
  box-shadow: none;
}
.dw-pricing-card__top { position: relative; display: block; padding-right: 102px; }
.dw-pricing-card__name {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -.028em;
  color: #111015;
  font-weight: 760;
}
.dw-pricing-card__badge {
  position: absolute;
  top: -2px;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 29px;
  padding: 0 15px;
  border-radius: 999px;
  background: #eeeaff;
  color: #211d32;
  font-size: 12px;
  font-weight: 760;
  white-space: nowrap;
}
.dw-pricing-card__pricewrap { position: relative; min-height: 48px; margin-top: 10px; }
.dw-pricing-card__price {
  position: absolute; inset: 0; display: flex; align-items: flex-end; gap: 8px;
  opacity: 0; transform: translateY(3px); pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.dw-pricing-card__price.is-visible { opacity: 1; transform: translateY(0); }
.dw-pricing-card__price-main {
  font-size: 56px; line-height: .9; letter-spacing: -.062em; font-weight: 800; color: #09090d;
}
.dw-pricing-card__suffix { margin-bottom: 8px; color: #6e6b76; font-size: 14px; }
.dw-pricing-card__desc {
  margin: 10px 0 0; min-height: 40px; font-size: 15px; line-height: 1.45; letter-spacing: -.008em; color: #1b1821;
}
.dw-pricing-card__button {
  margin-top: 8px; min-height: 39px; padding: 0 18px; display: grid; place-items: center;
  border-radius: 8px; background: #ebe7ff; color: #211d30; text-decoration: none;
  font-size: 13px; font-weight: 760; transition: transform .15s ease, filter .15s ease;
}
.dw-pricing-card.is-featured .dw-pricing-card__button { color: #fff; background: #6f42fd; }
.dw-pricing-card__button:hover { filter: brightness(.985); transform: translateY(-1px); }
.dw-pricing-card__features {
  flex: 1; padding: 34px 18px 30px; border-top: 1px solid #f3f0f7; background: #fff;
}
.dw-pricing-card:not(.is-featured) .dw-pricing-card__features { padding-left: 16px; padding-right: 16px; }
.dw-pricing-card.is-featured .dw-pricing-card__features {
  position: relative; z-index: 1; margin: 0; padding: 30px 18px 26px;
  border-top: 1px solid #edeaf3; background: #fff; border-radius: 0 0 22px 22px;
}
.dw-pricing-card__features h4 {
  margin: 0 0 19px; font-size: 15px; line-height: 1.42; color: #17151c; font-weight: 760;
}
.dw-pricing-card__features ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.dw-pricing-card__features li {
  display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.45; letter-spacing: -.008em; color: #221f29;
}
.dw-pricing-card__tick {
  flex: 0 0 15px; width: 15px; height: 15px; margin-top: 3px; border-radius: 50%;
  display: inline-grid; place-items: center; background: var(--dw-pricing-accent); color: #fff; font-size: 9px; line-height: 1;
}
@media (min-width: 1200px) {
  .dw-pricing-plans__inner { position: relative; left: -6px; }
}
@media (max-width: 1023px) {
  .dw-pricing-plans { padding: 72px 18px 68px; }
  .dw-pricing-plans__inner { width: min(100%, 690px); }
  .dw-pricing-plans__head { margin-bottom: 42px; }
  .dw-pricing-plans__title h1,
  .dw-pricing-plans__title h2,
  .dw-pricing-plans__title h3 { font-size: 42px; }
  .dw-pricing-grid { grid-template-columns: 1fr; gap: 22px; }
  .dw-pricing-card.is-featured { transform: none; margin-bottom: 0; }
  .dw-pricing-card__ribbon { margin-bottom: -1px; }
  .dw-pricing-card.is-featured .dw-pricing-card__panel { border-radius: 0 0 22px 22px; padding: 0 4px 4px; }
}
@media (max-width: 767px) {
  .dw-pricing-plans { padding: 58px 14px 48px; }
  .dw-pricing-plans__head { margin-bottom: 32px; }
  .dw-pricing-plans__title h1,
  .dw-pricing-plans__title h2,
  .dw-pricing-plans__title h3 { font-size: 34px; }
  .dw-pricing-plans__desc { max-width: 320px; font-size: 15px; }
  .dw-pricing-switch { width: 100%; max-width: 300px; margin-top: 26px; }
  .dw-pricing-switch__button { width: auto; min-width: 0; flex: 1; }
  .dw-pricing-card__panel,
  .dw-pricing-card.is-featured .dw-pricing-card__panel { border-radius: 18px; }
  .dw-pricing-card.is-featured .dw-pricing-card__panel { border-radius: 0 0 20px 20px; padding: 0 3px 3px; }
  .dw-pricing-card__content { padding: 20px 16px 16px; }
  .dw-pricing-card.is-featured .dw-pricing-card__content { margin: 0; padding: 22px 13px 16px; border-radius: 22px 22px 0 0; }
  .dw-pricing-card__features { padding: 26px 16px 24px; }
  .dw-pricing-card.is-featured .dw-pricing-card__features { margin: 0; padding: 22px 13px 20px; border-radius: 0 0 17px 17px; }
  .dw-pricing-card__features h4 { margin-bottom: 18px; }
  .dw-pricing-card__features ul { gap: 15px; }
  .dw-pricing-card__top { padding-right: 90px; }
  .dw-pricing-card__pricewrap { min-height: 42px; }
  .dw-pricing-card__price-main { font-size: 44px; }
  .dw-pricing-card__desc { font-size: 14px; min-height: 0; }
  .dw-pricing-card__features li { font-size: 13.5px; }
}

/* v1.0.32.50 - partial-color heading survives Elementor title edits */
.dw-pricing-plans{--dw-pricing-highlight:#6F48F5}
.dw-pricing-plans__title .dw-pricing-title-accent{
  display:inline-block;
  line-height:1.12;
  padding-bottom:.12em;
  margin-bottom:-.12em;
  vertical-align:baseline;
  background:linear-gradient(90deg,var(--dw-pricing-highlight,#673DE6) 0%,#B89BFF 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
}

/* v1.0.32.65 - separate 1-year and 3-year feature repeaters */
.dw-pricing-card__features[data-billing-features]{display:none}
.dw-pricing-card__features[data-billing-features].is-visible{display:block}
.dw-pricing-card__feature.is-excluded{color:#8b8792}
.dw-pricing-card__feature.is-excluded > span:last-child{text-decoration:line-through;text-decoration-thickness:1px}
.dw-pricing-card__tick svg,.dw-pricing-card__tick i{display:block;width:9px;height:9px;font-size:8px;line-height:1;color:currentColor;fill:currentColor}
.dw-pricing-card__tick.is-excluded{background:#e2dfe8;color:#7c7784}
