/* ==========================================================================
   BuyVCC policy pages — styled via Elementor widget output classes
   The page tree is built with native Elementor containers + heading +
   text-editor + icon + icon-list + button widgets. CSS targets the wrapper
   classes (`.bvc-elementor-*`) Elementor adds via the css_classes setting.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .elementor [class*="bvc-elementor-"] {
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
  }
}

body.page-template-elementor_header_footer:has(.bvc-elementor-hero),
body:has(.bvc-elementor-hero) {
  background: #0d0f1f !important;
  color: #ffffff !important;
}

/* All text inside our managed Elementor sections is pure white */
.bvc-elementor-hero,
.bvc-elementor-card,
.bvc-elementor-process,
.bvc-elementor-grid-2,
.bvc-elementor-cta,
.bvc-elementor-hero *,
.bvc-elementor-card *,
.bvc-elementor-process *,
.bvc-elementor-grid-2 *,
.bvc-elementor-cta * {
  color: #ffffff;
}

.bvc-elementor-hero a:not(.elementor-button),
.bvc-elementor-card a:not(.elementor-button),
.bvc-elementor-process a:not(.elementor-button),
.bvc-elementor-grid-2 a:not(.elementor-button),
.bvc-elementor-cta a:not(.elementor-button) {
  color: #c4b5fd;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(168, 85, 247, 0.45);
  transition: color 0.22s ease, text-decoration-color 0.22s ease;
}
.bvc-elementor-hero a:not(.elementor-button):hover,
.bvc-elementor-card a:not(.elementor-button):hover,
.bvc-elementor-process a:not(.elementor-button):hover,
.bvc-elementor-grid-2 a:not(.elementor-button):hover,
.bvc-elementor-cta a:not(.elementor-button):hover {
  color: #a855f7;
  text-decoration-color: #a855f7;
}

/* ── Section-level styling via :has() — Elementor only adds custom classes
 * to widgets in some versions, not to sections. We target the parent <section>
 * that contains a marker widget (eyebrow, num badge, etc.). */

/* Hero — section contains the eyebrow widget */
.elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .bvc-elementor-eyebrow),
.elementor-section:has(.bvc-elementor-eyebrow):not(:has(:has(.bvc-elementor-eyebrow))) {
  position: relative;
  padding: 96px 24px 72px !important;
  background: linear-gradient(180deg, #12152b 0%, #0d0f1f 100%) !important;
  border-bottom: 1px solid #2a2f52 !important;
  overflow: hidden !important;
  text-align: center;
}
.elementor-section:has(.bvc-elementor-eyebrow):not(:has(:has(.bvc-elementor-eyebrow)))::before {
  content: '';
  position: absolute;
  top: -10%;
  left: 50%;
  width: 800px;
  height: 600px;
  transform: translateX(-50%);
  background:
    radial-gradient(40% 50% at 50% 50%, rgba(124, 58, 237, 0.30) 0%, transparent 70%),
    radial-gradient(60% 60% at 30% 30%, rgba(168, 85, 247, 0.18) 0%, transparent 70%);
  pointer-events: none;
  filter: blur(20px);
  z-index: 0;
}
.elementor-section:has(.bvc-elementor-eyebrow) > * { position: relative; z-index: 1; }

/* Cards: any section containing a num badge (01, 02) — via :has() */
.elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .bvc-elementor-num):not(:has(:has(.bvc-elementor-num))),
.elementor-section:has(.bvc-elementor-num) > .elementor-container > .elementor-column {
  /* Apply card styling on the column (which is reliable) */
}

/* Apply card styling at the COLUMN level — every column whose first widget is a num gets the card chrome */
.elementor-column:has(> .elementor-widget-wrap > .bvc-elementor-num) {
  background: rgba(18, 21, 43, 0.50) !important;
  border: 1px solid rgba(124, 58, 237, 0.20) !important;
  border-radius: 20px !important;
  padding: 36px 36px 32px !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 1px 0 rgba(255, 255, 255, 0.06) inset;
  margin: 28px auto !important;
  max-width: 920px !important;
  transition: border-color 0.32s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.elementor-column:has(> .elementor-widget-wrap > .bvc-elementor-num):hover {
  border-color: rgba(124, 58, 237, 0.40) !important;
  transform: translateY(-2px);
}

/* Step cards — column whose first widget is bvc-elementor-step-num */
.elementor-column:has(> .elementor-widget-wrap > .bvc-elementor-step-num) {
  background: rgba(18, 21, 43, 0.50) !important;
  border: 1px solid rgba(124, 58, 237, 0.20) !important;
  border-radius: 18px !important;
  padding: 28px 24px 24px !important;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  text-align: left !important;
  transition: border-color 0.28s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
.elementor-column:has(> .elementor-widget-wrap > .bvc-elementor-step-num):hover {
  border-color: rgba(124, 58, 237, 0.50) !important;
  transform: translateY(-3px);
}

/* Equal-height step columns — force the parent section to align children consistently */
.elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .bvc-elementor-step-num),
.elementor-section:has(.bvc-elementor-step-num) {
  margin: 0 !important;
}
.elementor-section:has(.bvc-elementor-step-num) > .elementor-container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 20px !important;
}
.elementor-section:has(.bvc-elementor-step-num) > .elementor-container > .elementor-column {
  flex: 1 1 0 !important;
  min-width: 220px !important;
  width: auto !important;
  max-width: 100% !important;
}
.elementor-column:has(> .elementor-widget-wrap > .bvc-elementor-step-num) > .elementor-widget-wrap {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Info card pair — icon stacked on top of title + description, fixed equal height */
.bvc-elementor-info-card,
.elementor-section.bvc-elementor-info-card,
.elementor-element.bvc-elementor-info-card {
  background: rgba(18, 21, 43, 0.50) !important;
  border: 1px solid rgba(124, 58, 237, 0.20) !important;
  border-radius: 20px !important;
  padding: 32px 32px 30px !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
  margin: 0 !important;
  transition: border-color 0.32s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.bvc-elementor-info-card:hover {
  border-color: rgba(124, 58, 237, 0.40) !important;
  transform: translateY(-2px);
}
/* Apply same styling to the column that contains the info card content */
.elementor-column:has(> .elementor-widget-wrap > .bvc-elementor-info-icon) {
  background: rgba(18, 21, 43, 0.50) !important;
  border: 1px solid rgba(124, 58, 237, 0.20) !important;
  border-radius: 20px !important;
  padding: 32px 32px 30px !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
  margin: 0 !important;
  transition: border-color 0.32s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  display: flex !important;
  flex-direction: column !important;
}
.elementor-column:has(> .elementor-widget-wrap > .bvc-elementor-info-icon):hover {
  border-color: rgba(124, 58, 237, 0.40) !important;
  transform: translateY(-2px);
}

/* Equal heights for the 2-col info pair section */
.elementor-section:has(.bvc-elementor-info-icon) > .elementor-container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 20px !important;
}
.elementor-section:has(.bvc-elementor-info-icon) > .elementor-container > .elementor-column {
  flex: 1 1 0 !important;
  min-width: 280px !important;
  width: auto !important;
  max-width: 100% !important;
}

/* Info card icon — top-left, gradient pill */
.elementor-widget-icon.bvc-elementor-info-icon {
  flex-shrink: 0;
  margin-bottom: 18px !important;
}
.elementor-widget-icon.bvc-elementor-info-icon .elementor-icon-wrapper {
  text-align: left !important;
}
.elementor-widget-icon.bvc-elementor-info-icon .elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.20) 0%, rgba(168, 85, 247, 0.30) 100%) !important;
  border: 1px solid rgba(124, 58, 237, 0.40) !important;
  color: #a855f7 !important;
  padding: 0 !important;
}
.elementor-widget-icon.bvc-elementor-info-icon .elementor-icon i,
.elementor-widget-icon.bvc-elementor-info-icon .elementor-icon svg {
  width: 22px !important;
  height: 22px !important;
  font-size: 22px !important;
  color: #a855f7 !important;
}

/* Meta pills row — center the row across the page width */
.elementor-section:has(.bvc-elementor-meta-item) {
  text-align: center !important;
}
.elementor-section:has(.bvc-elementor-meta-item) > .elementor-container {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
}
.elementor-section:has(.bvc-elementor-meta-item) > .elementor-container > .elementor-column {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
/* The meta-item widget itself centers its inline content */
.elementor-widget-text-editor.bvc-elementor-meta-item {
  text-align: center !important;
}
.elementor-widget-text-editor.bvc-elementor-meta-item .elementor-widget-container {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  font-size: 13px !important;
}
.elementor-widget-text-editor.bvc-elementor-meta-item p {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #cbd5e1 !important;
}

/* CTA buttons row — center the two buttons as a group with breathing room.
 * The section that contains the primary button gets its columns shrunk to
 * button-width and centered. */
.elementor-section:has(.bvc-elementor-btn--primary) > .elementor-container {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
}
.elementor-section:has(.bvc-elementor-btn--primary) > .elementor-container > .elementor-column {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.elementor-widget-button.bvc-elementor-btn .elementor-widget-container,
.elementor-widget-button.bvc-elementor-btn .elementor-button-wrapper {
  text-align: center !important;
}
.elementor-widget-button.bvc-elementor-btn {
  width: auto !important;
  display: inline-block !important;
}

/* CTA section — contains bvc-elementor-cta-title */
.elementor-section:has(.bvc-elementor-cta-title):not(:has(:has(.bvc-elementor-cta-title))) {
  max-width: 920px !important;
  margin: 64px auto 96px !important;
  padding: 56px 48px !important;
  text-align: center;
  border-radius: 24px !important;
  overflow: hidden !important;
  position: relative;
  background:
    linear-gradient(135deg, rgba(124, 58, 237, 0.14) 0%, rgba(168, 85, 247, 0.10) 100%),
    rgba(18, 21, 43, 0.55) !important;
  border: 1px solid rgba(124, 58, 237, 0.32) !important;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.elementor-section:has(.bvc-elementor-cta-title):not(:has(:has(.bvc-elementor-cta-title)))::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 80% at 50% 0%, rgba(168, 85, 247, 0.22) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.elementor-section:has(.bvc-elementor-cta-title) > * { position: relative; z-index: 1; }

/* ── Hero (legacy class targeting — kept for editor) ───────────────────── */
.elementor-element.bvc-elementor-hero {
  position: relative;
  padding: 96px 24px 72px !important;
  background: linear-gradient(180deg, #12152b 0%, #0d0f1f 100%) !important;
  border-bottom: 1px solid #2a2f52 !important;
  overflow: hidden !important;
  text-align: center;
}
.elementor-element.bvc-elementor-hero::before {
  content: '';
  position: absolute;
  top: -10%;
  left: 50%;
  width: 800px;
  height: 600px;
  transform: translateX(-50%);
  background:
    radial-gradient(40% 50% at 50% 50%, rgba(124, 58, 237, 0.30) 0%, transparent 70%),
    radial-gradient(60% 60% at 30% 30%, rgba(168, 85, 247, 0.18) 0%, transparent 70%);
  pointer-events: none;
  filter: blur(20px);
  z-index: 0;
}
.elementor-element.bvc-elementor-hero > * { position: relative; z-index: 1; }

/* Eyebrow pill (text-editor widget with custom class) */
.elementor-widget-text-editor.bvc-elementor-eyebrow .elementor-widget-container {
  display: inline-block !important;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(124, 58, 237, 0.14);
  border: 1px solid rgba(124, 58, 237, 0.32);
  color: #c4b5fd !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin: 0 auto 22px;
  line-height: 1.4;
}
.elementor-widget-text-editor.bvc-elementor-eyebrow {
  text-align: center !important;
}
.elementor-widget-text-editor.bvc-elementor-eyebrow p { margin: 0; color: #c4b5fd !important; }

/* Title (heading widget) */
.elementor-widget-heading.bvc-elementor-title .elementor-heading-title {
  font-size: 64px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  color: #ffffff !important;
  margin: 0 0 22px !important;
}
.elementor-widget-heading.bvc-elementor-title .elementor-heading-title em {
  font-style: normal !important;
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Lede */
.elementor-widget-text-editor.bvc-elementor-lede .elementor-widget-container {
  font-size: 18px;
  line-height: 1.65;
  color: #cbd5e1 !important;
  max-width: 640px;
  margin: 0 auto 32px;
}
.elementor-widget-text-editor.bvc-elementor-lede p { margin: 0; color: #cbd5e1 !important; }

/* Meta row */
.elementor-element.bvc-elementor-meta {
  --container-widget-width: auto;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px 12px !important;
}
.elementor-widget-text-editor.bvc-elementor-meta-item .elementor-widget-container {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 13px;
  color: #cbd5e1 !important;
}
.elementor-widget-text-editor.bvc-elementor-meta-item p {
  margin: 0;
  color: #cbd5e1 !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.elementor-widget-text-editor.bvc-elementor-meta-item i {
  color: #a855f7;
}

/* ── Cards (sections 01 + 02 + info pair) ──────────────────────────────── */
.elementor-element.bvc-elementor-card {
  background: rgba(18, 21, 43, 0.50) !important;
  border: 1px solid rgba(124, 58, 237, 0.20) !important;
  border-radius: 20px !important;
  padding: 36px 36px 32px !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 1px 0 rgba(255, 255, 255, 0.06) inset;
  margin: 28px auto !important;
  max-width: 920px !important;
  width: calc(100% - 48px) !important;
  transition: border-color 0.32s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.elementor-element.bvc-elementor-card:hover {
  border-color: rgba(124, 58, 237, 0.40) !important;
  transform: translateY(-2px);
}
.elementor-element.bvc-elementor-card--muted {
  background: rgba(18, 21, 43, 0.35) !important;
}

/* Card head row */
.elementor-element.bvc-elementor-card-head {
  margin-bottom: 20px;
}

/* Number badge (heading widget treated as inline tag) */
.elementor-widget-heading.bvc-elementor-num .elementor-heading-title,
.elementor-widget-heading.bvc-elementor-num .elementor-widget-container > div {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  height: 52px;
  padding: 0 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.20) 0%, rgba(168, 85, 247, 0.30) 100%);
  border: 1px solid rgba(124, 58, 237, 0.40);
  color: #a855f7 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  font-variant-numeric: tabular-nums;
  margin: 0 !important;
}
.elementor-widget-heading.bvc-elementor-num--red .elementor-heading-title,
.elementor-widget-heading.bvc-elementor-num--red .elementor-widget-container > div {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.20) 0%, rgba(239, 68, 68, 0.30) 100%);
  border-color: rgba(239, 68, 68, 0.40);
  color: #f87171 !important;
}

/* Card title + sub */
.elementor-widget-heading.bvc-elementor-card-title .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: #ffffff !important;
  margin: 0 0 6px !important;
}
.elementor-widget-heading.bvc-elementor-card-title--small .elementor-heading-title {
  font-size: 18px !important;
  letter-spacing: -0.005em !important;
}
.elementor-widget-text-editor.bvc-elementor-card-sub .elementor-widget-container,
.elementor-widget-text-editor.bvc-elementor-card-sub p {
  font-size: 14px !important;
  color: #94a3b8 !important;
  margin: 0 !important;
  line-height: 1.55;
}

/* Icon list — green check / red cross via icon class */
.elementor-widget-icon-list.bvc-elementor-list .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.elementor-widget-icon-list.bvc-elementor-list .elementor-icon-list-item {
  padding: 14px 16px 14px 16px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 12px !important;
  margin: 0 !important;
}
.elementor-widget-icon-list.bvc-elementor-list .elementor-icon-list-item a {
  display: flex !important;
  align-items: center;
  gap: 14px;
  padding: 0 !important;
  text-decoration: none !important;
  color: #e2e8f0 !important;
}
.elementor-widget-icon-list.bvc-elementor-list .elementor-icon-list-icon {
  flex-shrink: 0 !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}
/* The actual icon glyph: zero-out font metrics so it sits dead-center in the circle */
.elementor-widget-icon-list.bvc-elementor-list .elementor-icon-list-icon i,
.elementor-widget-icon-list.bvc-elementor-list .elementor-icon-list-icon svg {
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  vertical-align: middle !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
}
.elementor-widget-icon-list.bvc-elementor-list--check .elementor-icon-list-icon {
  background-color: rgba(16, 185, 129, 0.16);
  border: 1px solid rgba(16, 185, 129, 0.40);
}
.elementor-widget-icon-list.bvc-elementor-list--check .elementor-icon-list-icon i {
  color: #34d399 !important;
}
.elementor-widget-icon-list.bvc-elementor-list--cross .elementor-icon-list-icon {
  background-color: rgba(239, 68, 68, 0.16);
  border: 1px solid rgba(239, 68, 68, 0.40);
}
.elementor-widget-icon-list.bvc-elementor-list--cross .elementor-icon-list-icon i {
  color: #f87171 !important;
}
.elementor-widget-icon-list.bvc-elementor-list .elementor-icon-list-text {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #e2e8f0 !important;
}
.elementor-widget-icon-list.bvc-elementor-list .elementor-icon-list-text strong {
  color: #ffffff;
  font-weight: 700;
}

/* ── Process steps ─────────────────────────────────────────────────────── */
.elementor-element.bvc-elementor-process {
  max-width: 920px !important;
  margin: 56px auto 28px !important;
  padding: 0 24px !important;
  text-align: center;
  width: 100% !important;
}
.elementor-widget-heading.bvc-elementor-section-title .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  margin: 0 0 8px !important;
  text-align: center !important;
}
.elementor-widget-text-editor.bvc-elementor-section-lede .elementor-widget-container,
.elementor-widget-text-editor.bvc-elementor-section-lede p {
  text-align: center !important;
  font-size: 16px !important;
  color: #94a3b8 !important;
  margin: 0 auto 32px !important;
  max-width: 560px !important;
}
.elementor-element.bvc-elementor-steps {
  flex-wrap: wrap !important;
}

/* Each step (container) */
.elementor-element.bvc-elementor-step {
  flex: 1 1 0 !important;
  min-width: 220px !important;
  padding: 28px 24px 24px !important;
  background: rgba(18, 21, 43, 0.50);
  border: 1px solid rgba(124, 58, 237, 0.20);
  border-radius: 18px;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  text-align: left !important;
  transition: border-color 0.28s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}
.elementor-element.bvc-elementor-step:hover {
  border-color: rgba(124, 58, 237, 0.50);
  transform: translateY(-3px);
}

.elementor-widget-heading.bvc-elementor-step-num .elementor-heading-title,
.elementor-widget-heading.bvc-elementor-step-num .elementor-widget-container > div {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  margin: 0 0 16px !important;
  box-shadow: 0 6px 18px rgba(124, 58, 237, 0.40);
}

.elementor-widget-heading.bvc-elementor-step-title .elementor-heading-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
  color: #ffffff !important;
  letter-spacing: -0.005em !important;
}

.elementor-widget-text-editor.bvc-elementor-step-desc .elementor-widget-container,
.elementor-widget-text-editor.bvc-elementor-step-desc p {
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: #cbd5e1 !important;
  margin: 0 !important;
}

/* ── 2-column info pair ────────────────────────────────────────────────── */
.elementor-element.bvc-elementor-grid-2 {
  max-width: 920px !important;
  margin: 28px auto !important;
  padding: 0 24px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}
.elementor-element.bvc-elementor-grid-2 > .elementor-element {
  flex: 1 1 0 !important;
  min-width: 280px !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
}

/* Info card icon */
.elementor-widget-icon.bvc-elementor-info-icon {
  flex-shrink: 0;
}
.elementor-widget-icon.bvc-elementor-info-icon .elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.20) 0%, rgba(168, 85, 247, 0.30) 100%);
  border: 1px solid rgba(124, 58, 237, 0.40);
  color: #a855f7;
}
.elementor-widget-icon.bvc-elementor-info-icon .elementor-icon svg,
.elementor-widget-icon.bvc-elementor-info-icon .elementor-icon i {
  width: 22px;
  height: 22px;
  font-size: 22px;
  color: #a855f7;
}

/* ── CTA ───────────────────────────────────────────────────────────────── */
.elementor-element.bvc-elementor-cta {
  max-width: 920px !important;
  margin: 64px auto 96px !important;
  padding: 56px 48px !important;
  text-align: center;
  border-radius: 24px !important;
  overflow: hidden !important;
  position: relative;
  background:
    linear-gradient(135deg, rgba(124, 58, 237, 0.14) 0%, rgba(168, 85, 247, 0.10) 100%),
    rgba(18, 21, 43, 0.55) !important;
  border: 1px solid rgba(124, 58, 237, 0.32) !important;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  width: calc(100% - 48px) !important;
}
.elementor-element.bvc-elementor-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 80% at 50% 0%, rgba(168, 85, 247, 0.22) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.elementor-element.bvc-elementor-cta > * { position: relative; z-index: 1; }

.elementor-widget-heading.bvc-elementor-cta-title .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  margin: 0 0 12px !important;
  text-align: center !important;
}
.elementor-widget-text-editor.bvc-elementor-cta-lede .elementor-widget-container,
.elementor-widget-text-editor.bvc-elementor-cta-lede p {
  font-size: 16px !important;
  color: #cbd5e1 !important;
  max-width: 520px !important;
  margin: 0 auto 28px !important;
  line-height: 1.65 !important;
  text-align: center !important;
}

/* Buttons */
.elementor-widget-button.bvc-elementor-btn .elementor-button {
  padding: 14px 28px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  border: 1px solid rgba(124, 58, 237, 0.40) !important;
  background: rgba(124, 58, 237, 0.10) !important;
  color: #ffffff !important;
  transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.elementor-widget-button.bvc-elementor-btn .elementor-button:hover {
  background: rgba(124, 58, 237, 0.20) !important;
  border-color: rgba(124, 58, 237, 0.65) !important;
  transform: translateY(-2px);
  color: #ffffff !important;
}
.elementor-widget-button.bvc-elementor-btn--primary .elementor-button {
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 32px rgba(124, 58, 237, 0.40);
}
.elementor-widget-button.bvc-elementor-btn--primary .elementor-button:hover {
  filter: brightness(1.06);
  box-shadow: 0 16px 40px rgba(124, 58, 237, 0.50);
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .elementor-element.bvc-elementor-hero { padding: 64px 20px 56px !important; }
  .elementor-widget-heading.bvc-elementor-title .elementor-heading-title { font-size: 44px !important; }
  .elementor-widget-text-editor.bvc-elementor-lede .elementor-widget-container { font-size: 16px; }

  .elementor-element.bvc-elementor-card { padding: 26px 22px 22px !important; border-radius: 16px !important; }
  .elementor-widget-heading.bvc-elementor-card-title .elementor-heading-title { font-size: 20px !important; }
  .elementor-element.bvc-elementor-card-head { gap: 14px !important; }
  .elementor-widget-heading.bvc-elementor-num .elementor-heading-title,
  .elementor-widget-heading.bvc-elementor-num .elementor-widget-container > div { min-width: 44px; height: 44px; font-size: 14px !important; border-radius: 12px; }

  .elementor-widget-heading.bvc-elementor-section-title .elementor-heading-title { font-size: 26px !important; }
  .elementor-element.bvc-elementor-steps { flex-direction: column !important; }
  .elementor-element.bvc-elementor-step { min-width: auto !important; }

  .elementor-element.bvc-elementor-grid-2 { flex-direction: column !important; }

  .elementor-element.bvc-elementor-cta { margin: 48px auto 64px !important; padding: 40px 24px !important; border-radius: 18px !important; }
  .elementor-widget-heading.bvc-elementor-cta-title .elementor-heading-title { font-size: 26px !important; }

  .elementor-widget-icon-list.bvc-elementor-list .elementor-icon-list-text { font-size: 14px !important; }
}

@media (max-width: 480px) {
  .elementor-element.bvc-elementor-hero { padding: 52px 18px 44px !important; }
  .elementor-widget-heading.bvc-elementor-title .elementor-heading-title { font-size: 36px !important; }
  .elementor-element.bvc-elementor-cta-actions { flex-direction: column !important; }
  .elementor-widget-button.bvc-elementor-btn .elementor-button { width: 100% !important; }
}
