/* ===== Explainer Banner ===== */
.explainer-banner {
  display: flex;
  align-items: center;
  background: #e8edf5;
  border-radius: 21px;
  overflow: hidden;
  margin: 27px 0 24px;
  min-height: 285px;
}

/* Card zone */
.explainer-card-zone {
  flex-shrink: 0;
  width: 270px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 33px 24px 33px 36px;
}
.explainer-card-wrap {
  position: relative;
  width: 180px;
}
.explainer-shadow-wrap {
  filter: drop-shadow(0px 9px 36px rgba(0,0,0,0.18)) drop-shadow(0px 0px 12px rgba(0,0,0,0.35));
  transition: filter 350ms ease;
}
.explainer-shadow-wrap.no-shadow {
  filter: drop-shadow(0px 9px 36px rgba(0,0,0,0.04)) drop-shadow(0px 0px 12px rgba(0,0,0,0.07));
}
.explainer-base {
  width: 100%;
  border-radius: 8.5px;
  display: block;
}
.explainer-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  border-radius: 8.5px;
  clip-path: inset(0 100% 0 0);
  transition: none;
}
.explainer-tx-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 300ms ease, transform 300ms ease;
  /* .badge-tx base styles come from style.css */
}
.explainer-tx-badge.visible {
  opacity: 1;
  transform: scale(1);
}

/* Divider */
.explainer-divider {
  width: 1px;
  align-self: stretch;
  background: #d1d8e4;
  margin: 27px 0;
  flex-shrink: 0;
}

/* Steps */
.explainer-steps {
  flex: 1;
  padding: 33px 36px 33px 33px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}
.explainer-heading {
  margin-bottom: 3px;
}
.explainer-title {
  font-size: 25px;
  font-weight: 500;
  color: #111;
  font-family: var(--font-display);
  line-height: 1.2;
}
.explainer-subtitle {
  font-size: 18px;
  color: var(--text-muted);
  margin-top: 3px;
}
.explainer-step {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}
.explainer-num {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  margin-top: 1px;
}
.explainer-step-title {
  font-size: 18px;
  font-weight: 700;
  color: #111;
}
.explainer-step-body {
  font-size: 16px;
  color: var(--text-muted);
  margin-top: 1px;
  line-height: 1.4;
}

@media (max-width: 600px) {
  .explainer-banner {
    flex-direction: column;
    align-items: center;
  }
  .explainer-divider {
    width: 100%;
    height: 1px;
    margin: 0;
    align-self: auto;
  }
  .explainer-card-zone {
    width: 100%;
    padding: 27px 27px 18px;
    justify-content: center;
  }
}
