/* =========================================================
   Pricing page only
   ========================================================= */

.price-hero {
  text-align: center;
  padding: 5rem 0 1rem;
}

.price-hero h1 {
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  margin: 0.6rem 0 0.8rem;
}

.price-hero p {
  color: var(--color-ink-soft);
  font-size: 1.12rem;
  max-width: 46ch;
  margin: 0 auto;
}

.price-banner {
  margin: 1.2rem auto 0;
  max-width: 30rem;
  padding: 0.7rem 1rem;
  border-radius: 10px;
  background: var(--color-amber-wash);
  color: var(--color-amber-deep);
  font-size: 0.9rem;
}

.trial-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  background: var(--color-surface);
  border: 1px solid var(--color-amber);
  border-radius: 14px;
  padding: 1.4rem 1.7rem;
  box-shadow: var(--shadow-amber);
  max-width: var(--width-medium);
  margin: 0 auto;
}

.trial-title {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 600;
}

.trial-copy p {
  color: var(--color-ink-soft);
  font-size: 0.93rem;
  margin: 0.3rem 0 0;
  max-width: 52ch;
}

/* When the strip carries no CTA (compare / use-case pages), let the
   copy use the full card width instead of hugging the left half. */
.trial-strip .trial-copy:only-child { flex: 1; }
.trial-strip .trial-copy:only-child p { max-width: none; }

.trial-strip .btn {
  flex-shrink: 0;
}

.billing-toggle {
  display: flex;
  justify-content: center;
  gap: 0;
  margin: 0 auto 2rem;
  width: fit-content;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-surface);
  padding: 0.25rem;
}

.billing-option {
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-ink-soft);
  padding: 0.45rem 1.2rem;
  border-radius: 999px;
  cursor: pointer;
}

.billing-option.active {
  background: linear-gradient(135deg, #d4a24a, var(--color-amber));
  color: #fff;
}

.billing-save {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  opacity: 0.85;
}

.plans {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
  align-items: stretch;
}

.plans-two {
  grid-template-columns: repeat(2, 1fr);
  max-width: var(--width-medium);
  margin: 0 auto;
}

.plan-equiv {
  color: var(--color-ink-muted);
  font-size: 0.82rem;
  margin: 0 0 0.2rem;
  min-height: 1.2em;
}

.plan {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 2rem 1.7rem;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-sm);
  position: relative;
}

.plan.featured {
  border-color: var(--color-amber);
  box-shadow: var(--shadow-amber);
  transform: translateY(-8px);
}

.plan-flag {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #d4a24a, var(--color-amber));
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.3rem 0.9rem;
  border-radius: 999px;
}

.plan-name {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  font-weight: 500;
}

.plan-best {
  color: var(--color-ink-muted);
  font-size: 0.86rem;
  min-height: 1.4em;
}

.plan-price {
  margin: 1rem 0 0.2rem;
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

.plan-price .amt {
  font-size: 2.6rem;
  font-family: var(--font-serif);
  font-weight: 600;
}

.plan-price .per {
  color: var(--color-ink-muted);
  font-size: 0.92rem;
}

.plan-feats {
  list-style: none;
  margin: 1.3rem 0;
  display: grid;
  gap: 0.7rem;
  flex: 1;
}

.plan-feats li {
  display: flex;
  gap: 0.6rem;
  font-size: 0.93rem;
  color: var(--color-ink-soft);
}

.plan-feats .ck {
  color: var(--color-success);
  flex-shrink: 0;
  font-weight: 700;
}

.plan-feats .muted {
  color: var(--color-ink-muted);
}

.plan .btn {
  width: 100%;
}

.plan-note {
  text-align: center;
  color: var(--color-ink-muted);
  font-size: 0.84rem;
  margin-top: 1.2rem;
  max-width: 44em;
  margin-left: auto;
  margin-right: auto;
}

.compare {
  max-width: var(--width-medium);
  margin: 0 auto;
  overflow-x: auto;
}

.compare table {
  width: 100%;
  border-collapse: collapse;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  overflow: hidden;
}

.compare th,
.compare td {
  padding: 0.85rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}

.compare thead th {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 600;
  background: var(--color-paper-2);
}

.compare th.col,
.compare td.col {
  text-align: center;
}

.compare td:first-child {
  color: var(--color-ink-soft);
}

.compare tr:last-child td {
  border-bottom: none;
}

.compare tr.featured td {
  background: var(--color-amber-wash);
}
.compare tr.featured td:first-child {
  color: var(--color-ink);
}

.compare .ck {
  color: var(--color-success);
  font-weight: 700;
}

.compare .no {
  color: var(--color-ink-muted);
}

@media (max-width: 900px) {
  .plans {
    grid-template-columns: 1fr;
  }

  .plan.featured {
    transform: none;
  }

  .trial-strip {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* /compare/ hub list */
.compare-list { max-width: var(--width-medium); margin: 0 auto; }
.compare-list article { padding: 1.25rem 0; border-bottom: 1px solid var(--color-border); }
.compare-list article:last-child { border-bottom: none; }
.compare-list h3 { font-family: var(--font-serif); font-size: 1.3rem; margin: 0 0 0.35rem; }
.compare-list h3 a, .compare-list h3 a:visited {
  color: var(--color-ink);
  text-decoration: underline;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: var(--link-underline-thickness);
  text-underline-offset: var(--link-underline-offset);
  text-decoration-color: color-mix(in srgb, currentColor 30%, transparent);
}
.compare-list h3 a:hover { color: var(--color-amber-deep, var(--color-amber)); text-decoration-color: currentColor; }
.compare-list p { color: var(--color-ink-soft); font-size: 0.95rem; margin: 0; max-width: 72ch; }

/* CJK pages: ch-based measures (tuned for Latin) under-fill wide cards —
   a 72ch cap is only ~36 汉字, leaving big right-side gaps. Let zh copy
   use the card, and give zh heroes an em-based (per-character) measure. */
html[lang="zh-CN"] .trial-strip .trial-copy:only-child p { max-width: none; }
html[lang="zh-CN"] .price-hero p { max-width: 32em; }
