/* Billing module: checkout return pages (success / cancel / unavailable / dev stub). Builds on mindreset.css tokens. */
.checkout { padding-top: clamp(32px, 6vw, 72px); }
.checkout__card { padding: clamp(1.75rem, 4vw, 3rem); }
.checkout__card h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); margin-bottom: .75rem; }
.checkout__icon {
  width: 84px; height: 84px; margin: 0 auto 1.25rem; display: grid; place-items: center;
  border-radius: 999px; font-size: 2.4rem; font-weight: 800; color: var(--bg);
  background: linear-gradient(135deg, var(--primary-2), var(--gold));
  box-shadow: 0 0 0 10px color-mix(in srgb, var(--primary-2) 18%, transparent), var(--shadow-glow, 0 20px 60px rgba(124, 77, 255, .35));
}
.checkout__ring { margin: 0 auto 1.25rem; }
.checkout__summary {
  display: grid; gap: .75rem; margin: 1.75rem auto 0; max-width: 460px; text-align: left;
  padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: calc(var(--radius) - 4px);
  background: color-mix(in srgb, var(--surface) 70%, transparent);
}
.checkout__summary div { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.checkout__summary dt { color: var(--muted); font-size: .9rem; }
.checkout__summary dd { margin: 0; font-weight: 600; text-align: right; }
.checkout__summary code { font-size: .95em; letter-spacing: .04em; }
.checkout__actions { gap: .75rem; }
.checkout__actions form { display: contents; }
@media (max-width: 520px) {
  .checkout__summary div { flex-direction: column; gap: .15rem; }
  .checkout__summary dd { text-align: left; }
  .checkout__actions .btn { width: 100%; }
}

/* ----- Account › Billing: "What your plan includes" summary ----- */
.plan-summary__status { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .25rem 0 .5rem; font-size: 1.05rem; }
.plan-summary__facts { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .35rem; color: var(--muted); }
.plan-summary__programs { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .5rem; }
.plan-summary__alert { padding: .75rem 1rem; border: 1px solid var(--warn); border-radius: var(--radius-sm); background: var(--warn-soft); }
.plan-summary__programs li { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .5rem .75rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }

/* ----- Checkout review page (P0-7) ----- */
.checkout-review h1 { text-align: center; }
.checkout-review > .eyebrow { text-align: center; }
.checkout-review__summary { margin-top: 1.25rem; }
.checkout-review__charge { margin: 1.25rem auto .5rem; max-width: 520px; padding: .85rem 1rem; border-left: 3px solid var(--gold); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: color-mix(in srgb, var(--surface) 70%, transparent); font-weight: 500; }
.checkout-review__form { display: grid; gap: .75rem; margin-top: 1.25rem; }
.checkout-review__form .check a, .sales-paused__form .check a { text-decoration: underline; }

/* ----- Sales paused in this country (EU/EEA, UK, BR) ----- */
.sales-paused__form { display: grid; gap: .75rem; max-width: 460px; margin: 1.5rem auto 0; text-align: left; }

/* ----- Cancel subscription (P0-8) ----- */
.cancel-sub__steps { margin: 1rem auto 0; max-width: 520px; text-align: left; display: grid; gap: .5rem; padding-left: 1.25rem; }
.cancel-sub__status { margin: 1.25rem auto 0; max-width: 460px; }
.cancel-sub__form { margin: 1.25rem auto 0; max-width: 420px; text-align: left; }
.cancel-sub__withdraw { margin-left: auto; margin-right: auto; max-width: 520px; padding-top: 1rem; border-top: 1px solid var(--line); }
