/* ASHE — pricing page and test-mode checkout (pricing.html, checkout.html). Uses the colors in styles.css. */
.test-banner {
  background: var(--accent-soft);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  padding: 0.7rem 1rem;
  margin: 0 0 1.5rem;
  font-size: 0.95rem;
}
.plan-grid-3 { grid-template-columns: repeat(3, 1fr); align-items: stretch; margin-bottom: 2.5rem; }
.plan { display: flex; flex-direction: column; }
.plan ul { padding-left: 1.1rem; margin: 0.5rem 0 1.2rem; flex: 1; }
.plan li { margin-bottom: 0.4rem; }
.plan h3 { margin: 0 0 0.3rem; }
.plan .plan-price { font-size: 2rem; font-weight: 800; margin: 0.2rem 0; }
.plan .per { display: block; font-size: 0.95rem; font-weight: 600; color: var(--ink-soft); }
.plan-sub { color: var(--ink-soft); font-size: 0.92rem; margin: 0 0 0.4rem; }
.plan-featured { border: 2px solid var(--accent); }
.plan p:last-child { margin-bottom: 0; }
.plain-list { padding-left: 1.1rem; max-width: 70ch; }
.plain-list li { margin-bottom: 0.6rem; }

.checkout .order { max-width: 560px; }
.order-table td:last-child, .order-table th:last-child { text-align: right; }
.order-table .total td { font-weight: 800; font-size: 1.1rem; border-bottom: none; }
.order-terms { font-size: 0.95rem; margin: 1rem 0; }
.order-terms li { margin-bottom: 0.4rem; }
.agree { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 600; margin: 1rem 0 1.2rem; }
.agree input { margin-top: 0.3rem; width: 1.1rem; height: 1.1rem; flex: none; }
.checkout .btn[disabled] { opacity: 0.55; cursor: not-allowed; }
.order-ref { font-family: ui-monospace, Menlo, monospace; font-size: 0.9rem; }

@media (max-width: 760px) {
  .plan-grid-3 { grid-template-columns: 1fr; }
  .plan .plan-price { font-size: 1.7rem; }
}
