/* ─────────────────────────────────────────────────────────────────
   Block: pricing — tiered pricing cards w/ tabs + comparison table
   Featured tier rides on --ds-cta. Others on neutral card surface.
   Tokens-only, scoped under .block-pricing.
   ───────────────────────────────────────────────────────────── */

.block-pricing {
  font-family: var(--ds-font-body);
  color: var(--scheme-fg);
}

/* ── Tab selector ──────────────────────────────────────────── */
.block-pricing .pricing-tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
  background: var(--scheme-card-bg);
  border: 1px solid var(--scheme-rule);
  border-radius: var(--ds-radius);
  padding: var(--ds-space-2);
  box-shadow: var(--ds-shadow-sm);
}

.block-pricing .pricing-tab {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body);
  font-weight: 600;
  border-radius: var(--ds-radius-sm) !important;
  padding: var(--ds-space-2) var(--ds-space-4) !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--scheme-fg-soft) !important;
  letter-spacing: 0.01em;
  transition: background var(--ds-duration-fast) var(--ds-ease-out),
              color var(--ds-duration-fast) var(--ds-ease-out),
              border-color var(--ds-duration-fast) var(--ds-ease-out);
}

.block-pricing .pricing-tab:hover {
  color: var(--scheme-fg) !important;
  background: var(--scheme-bg) !important;
}

.block-pricing .pricing-tab.active,
.block-pricing .pricing-tab.btn-dark {
  background: var(--ds-ink) !important;
  color: #fff !important;
  border-color: var(--ds-ink) !important;
}

.block-pricing .pricing-tab-badge {
  display: inline-block;
  margin-left: var(--ds-space-2);
  background: var(--ds-trust);
  color: #fff;
  font-family: var(--ds-font-mono);
  font-size: var(--ds-fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px var(--ds-space-2);
  border-radius: var(--ds-radius-sm);
}

/* ── Pricing card ──────────────────────────────────────────── */
.block-pricing .pricing-card {
  background: var(--scheme-card-bg);
  color: var(--scheme-card-fg);
  border: 1px solid var(--scheme-rule) !important;
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-sm);
  overflow: hidden;
  transition: transform var(--ds-duration) var(--ds-ease-out),
              box-shadow var(--ds-duration) var(--ds-ease-out);
}

.block-pricing .pricing-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--ds-shadow-md);
}

.block-pricing .pricing-card .card-body {
  padding: var(--ds-space-5);
}

/* Featured tier — rides on CTA color */
.block-pricing .pricing-card.is-featured {
  background: var(--ds-cta);
  color: #fff;
  border-color: var(--ds-cta) !important;
  box-shadow: var(--ds-shadow-cta);
  transform: translateY(-4px);
  position: relative;
}

.block-pricing .pricing-card.is-featured::before {
  content: 'Most Popular';
  position: absolute;
  top: 0;
  right: var(--ds-space-4);
  transform: translateY(-50%);
  background: var(--ds-ink);
  color: #fff;
  font-family: var(--ds-font-mono);
  font-size: var(--ds-fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: var(--ds-space-1) var(--ds-space-3);
  border-radius: var(--ds-radius-sm);
}

.block-pricing .pricing-card-title {
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-display-md);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: 0.005em;
  margin-bottom: var(--ds-space-2) !important;
  color: inherit;
}

.block-pricing .pricing-card-subtitle {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body);
  color: inherit;
  opacity: .82;
  line-height: 1.3;
  margin-bottom: var(--ds-space-3) !important;
}

.block-pricing .pricing-card-text {
  font-family: var(--ds-font-mono);
  font-size: var(--ds-fs-eyebrow);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: inherit;
  opacity: .7;
  margin-bottom: var(--ds-space-3);
}

.block-pricing .pricing-card-price {
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-display-md);
  font-weight: 400;
  line-height: 1;
  margin: var(--ds-space-3) 0 var(--ds-space-4);
  color: inherit;
}

.block-pricing .pricing-card-price > span {
  display: block;
}

.block-pricing .pricing-card.is-featured .pricing-card-price {
  color: #fff;
}

/* ── Mobile feature list inside the card ──────────────────── */
.block-pricing .pricing-card-features {
  margin-top: var(--ds-space-4);
  border-top: 1px solid var(--scheme-rule);
  padding-top: var(--ds-space-3);
}

.block-pricing .pricing-card.is-featured .pricing-card-features {
  border-top-color: rgba(255,255,255,.25);
}

.block-pricing .pricing-card-feature {
  font-size: var(--ds-fs-body-sm);
  line-height: 1.4;
  color: inherit;
  display: flex;
  align-items: flex-start;
  gap: var(--ds-space-2);
}

.block-pricing .pricing-card-feature-icon {
  font-size: 1.1rem;
  color: var(--ds-trust);
  flex-shrink: 0;
}

.block-pricing .pricing-card.is-featured .pricing-card-feature-icon {
  color: #fff;
}

/* ── CTA inside card ──────────────────────────────────────── */
.block-pricing .pricing-card-cta {
  margin-top: var(--ds-space-5);
}

.block-pricing .pricing-card-btn {
  display: block !important;
  width: 100%;
  font-family: var(--ds-font-body);
  font-weight: 700;
  font-size: var(--ds-fs-body);
  padding: var(--ds-space-3) var(--ds-space-4) !important;
  border-radius: var(--ds-radius-sm) !important;
  background: var(--ds-ink) !important;
  border-color: var(--ds-ink) !important;
  color: #fff !important;
  letter-spacing: 0.005em;
  transition: background var(--ds-duration-fast) var(--ds-ease-out),
              transform var(--ds-duration-fast) var(--ds-ease-out);
}

.block-pricing .pricing-card-btn:hover {
  background: var(--ds-steel) !important;
  transform: translateY(-1px);
}

.block-pricing .pricing-card.is-featured .pricing-card-btn {
  background: #fff !important;
  color: var(--ds-cta) !important;
  border-color: #fff !important;
}

.block-pricing .pricing-card.is-featured .pricing-card-btn:hover {
  background: var(--ds-cream) !important;
}

.block-pricing .pricing-card-fineprint {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  color: inherit;
  opacity: .75;
  margin-top: var(--ds-space-2);
  line-height: 1.4;
}

.block-pricing .pricing-card-fineprint p { margin: 0; }

/* ── Comparison table section ─────────────────────────────── */
.block-pricing .pricing-table-section-heading {
  margin-top: var(--ds-space-7) !important;
  margin-bottom: var(--ds-space-4);
}

.block-pricing .pricing-table-section-heading h3 {
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-display-sm);
  color: var(--scheme-fg);
  letter-spacing: 0.005em;
  text-align: center;
}

.block-pricing .pricing-table-wrap {
  margin-top: var(--ds-space-4);
}

.block-pricing .pricing-table-row {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  color: var(--scheme-fg-soft);
  padding: var(--ds-space-2) 0;
}

.block-pricing .pricing-table-row.border-bottom {
  border-bottom-color: var(--scheme-rule) !important;
}

.block-pricing .pricing-table-row strong {
  color: var(--scheme-fg);
  font-weight: 600;
}

.block-pricing .pricing-table-hint {
  margin-left: var(--ds-space-1);
  color: var(--scheme-fg-mute) !important;
  cursor: help;
}

.block-pricing .pricing-table-cell {
  text-align: center;
}

.block-pricing .pricing-table-check {
  color: var(--ds-trust);
  font-size: 1.2rem;
}

.block-pricing .pricing-table-cross {
  color: var(--scheme-fg-mute);
  font-size: 1.2rem;
}

/* ── Bottom CTAs ──────────────────────────────────────────── */
.block-pricing .pricing-bottom-ctas {
  margin-top: var(--ds-space-6) !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--ds-space-3);
}

.block-pricing .pricing-bottom-btn {
  font-family: var(--ds-font-body);
  font-weight: 700;
  font-size: var(--ds-fs-body);
  padding: var(--ds-space-3) var(--ds-space-5) !important;
  border-radius: var(--ds-radius-sm) !important;
  background: var(--ds-ink) !important;
  border-color: var(--ds-ink) !important;
  color: #fff !important;
}

.block-pricing .pricing-bottom-btn:hover {
  background: var(--ds-steel) !important;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 992px) {
  .block-pricing .pricing-card.is-featured {
    transform: none;
  }
  .block-pricing .pricing-card .card-body {
    padding: var(--ds-space-4);
  }
}

@media (max-width: 600px) {
  .block-pricing .pricing-tabs {
    width: 100%;
    justify-content: center;
  }
  .block-pricing .pricing-tab {
    padding: var(--ds-space-2) var(--ds-space-3) !important;
    font-size: var(--ds-fs-body-sm);
  }
  .block-pricing .pricing-card-title {
    font-size: var(--ds-fs-display-sm);
  }
  .block-pricing .pricing-card-price {
    font-size: var(--ds-fs-display-sm);
  }
}
