/* /pricing and /billing pages. Loaded after site.css; same tokens. */

.pricing { display: flex; flex-direction: column; gap: 28px; }
.pricing-head { display: flex; flex-direction: column; gap: 4px; max-width: 64ch; }
.pricing-head h1, .app .pricing-head h1 { font-size: clamp(36px, 5vw, 56px); max-width: 18ch; }
.pricing-head .lede { font-size: 16px; }
.pricing-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; }
.pricing-status > p { flex: 1 1 320px; }
.pricing-status form { margin: 0; }

.plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.plan { display: flex; flex-direction: column; gap: 16px; min-width: 0; padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; }
.plan.current { border-color: var(--amber); }
.plan-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.plan h2 { margin: 0; font-family: var(--display); font-size: 26px; font-weight: 600; }
.plan .chip.accent { border-color: var(--amber); color: var(--amber); }
.price { display: flex; align-items: baseline; gap: 6px; }
.price b { font-family: var(--display); font-size: 46px; font-weight: 600; line-height: 1; }
.price span { font-size: 13px; color: var(--muted); }
.plan .blurb { margin: 0; font-size: 14px; line-height: 1.55; color: var(--muted); }
.plan .includes { margin: 0; padding-top: 14px; border-top: 1px solid var(--line); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.features { display: flex; flex-direction: column; gap: 9px; margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 1.45; }
.features li { position: relative; padding-left: 20px; }
.features li::before { content: ''; position: absolute; left: 1px; top: 0.42em; width: 8px; height: 8px; border-radius: 2px; background: var(--amber); }
.plan-action { display: flex; flex-direction: column; gap: 8px; margin-top: auto; padding-top: 6px; }
.plan-action form { display: flex; flex-direction: column; margin: 0; }
.plan-action .primary, .plan-action .ghost { width: 100%; }
.plan-action .primary { height: 48px; }
.plan-action .fine { text-align: center; }
button[disabled], button[disabled]:hover { cursor: not-allowed; opacity: 0.55; border-color: var(--line); }

.pricing-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }

@media (max-width: 1080px) {
  .plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

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