/* Sign-up sheet plan choice (trial-choice.js): /signup and the in-app sign-up modal. Theme tokens only
   (/brand/theme.css: --a-* terminal names, --cd-* brand names), so light and dark both work with no extra rules. */
.cd-tc { margin: 0 0 var(--a-sp-6); padding: 0; border: 0; min-width: 0; font-family: inherit; }
.cd-tc-legend { padding: 0; margin: 0 0 var(--a-sp-4); font-size: var(--a-fs-md); font-weight: var(--a-fw-semibold); color: var(--a-fg-1); display: flex; }
.cd-tc-switch { display: inline-flex; gap: var(--a-sp-1); padding: var(--a-sp-2); margin: 0 0 var(--a-sp-4); border-radius: var(--a-r-pill); border: 1px solid var(--a-line-2);
  background: var(--a-sunken, transparent); }
.cd-tc-iv { appearance: none; border: 0; background: transparent; color: var(--a-fg-2); font: var(--a-fw-semibold) var(--a-fs-sm)/1 inherit; font-family: inherit;
  padding: var(--a-sp-4) var(--a-sp-6); border-radius: var(--a-r-pill); cursor: pointer; }
.cd-tc-iv[aria-checked="true"] { color: var(--a-sel-fg); background: var(--a-sel-bg); border-color: transparent; box-shadow: var(--a-sel-ring); }
.cd-tc-iv { display: inline-flex; align-items: center; gap: var(--a-sp-4); }
.cd-tc-save { font-size: var(--a-fs-xs); font-weight: var(--a-fw-semibold); padding: var(--a-sp-1) var(--a-sp-4); border-radius: var(--a-r-pill);
  background: var(--a-holo); color: var(--cd-on-holo); white-space: nowrap; }
.cd-tc-iv:focus-visible { outline: var(--a-ring-w) solid var(--a-focus); outline-offset: var(--a-ring-off); }

.cd-tc-list { display: grid; gap: var(--a-sp-4); }
.cd-tc-opt { position: relative; display: flex; align-items: flex-start; gap: var(--a-sp-5); padding: var(--a-sp-5) var(--a-sp-5); border-radius: var(--a-r-md);
  border: 1px solid var(--a-line-2); background: var(--a-glass); cursor: pointer; transition: border-color .12s, background .12s; }
.cd-tc-opt:hover { border-color: var(--a-line-3); background: var(--a-hover); }
.cd-tc-opt.is-on { border-color: var(--a-accent); background: var(--a-accent-t1); }
.cd-tc-opt input { width: 16px; height: 16px; margin: var(--a-sp-1) 0 0; accent-color: var(--a-accent); flex: none; }
.cd-tc-opt:has(input:focus-visible) { outline: var(--a-ring-w) solid var(--a-focus); outline-offset: var(--a-ring-off); }
.cd-tc-txt { display: grid; gap: var(--a-sp-2); min-width: 0; }
.cd-tc-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--a-sp-2) var(--a-sp-4); }
.cd-tc-name { font-size: var(--a-fs-md); font-weight: var(--a-fw-semibold); color: var(--a-fg-1); }
.cd-tc-tag { font-size: var(--a-fs-xs); font-weight: var(--a-fw-semibold); letter-spacing: .02em; padding: var(--a-sp-2) var(--a-sp-4); border-radius: var(--a-r-pill);
  background: var(--a-holo); color: var(--cd-on-holo); white-space: nowrap; }
.cd-tc-what { flex-basis: 100%; font-size: var(--a-fs-sm); color: var(--a-fg-3); line-height: var(--a-lh-snug); }
.cd-tc-compare { display: inline-block; margin: var(--a-sp-4) 0 0; font-size: var(--a-fs-sm); font-weight: var(--a-fw-semibold); color: var(--cd-lilac, var(--a-accent)); }
.cd-tc-price { font-size: var(--a-fs-md); font-weight: var(--a-fw-regular); color: var(--a-fg-2); font-variant-numeric: tabular-nums; }

/* The tax note keeps the pricing page's style (small, muted). */
.cd-tc-tax { margin: var(--a-sp-4) 0 0; font-size: var(--a-fs-sm); color: var(--a-fg-3); }
.cd-tc-next { margin: var(--a-sp-2) 0 0; font-size: var(--a-fs-sm); color: var(--a-fg-2); }
.cd-tc-info { margin: var(--a-sp-4) 0 0; padding: var(--a-sp-4) var(--a-sp-5); border-radius: var(--a-r-md); font-size: var(--a-fs-sm); line-height: var(--a-lh-body); color: var(--a-fg-2);
  background: var(--a-glass); border: 1px solid var(--a-line-1); }
.cd-tc [hidden] { display: none !important; }

/* Compact (the /signup stepper, 2026-10-06): one-line cards, the selected one ringed, the terms folded behind one line. */
.cd-tc.is-compact { margin: 0; }
.cd-tc.is-compact .cd-tc-switch { margin-bottom: var(--a-sp-5); }
.cd-tc.is-compact .cd-tc-list { gap: var(--a-sp-4); }
.cd-tc.is-compact .cd-tc-opt { align-items: center; padding: var(--a-sp-5); min-height: 52px; }
.cd-tc.is-compact .cd-tc-opt input { margin: 0; }
.cd-tc.is-compact .cd-tc-txt { flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--a-sp-2) var(--a-sp-5); }
.cd-tc.is-compact .cd-tc-price { font-size: var(--a-fs-sm); text-align: end; }
.cd-tc.is-compact .cd-tc-opt.is-on { box-shadow: inset 0 0 0 1px var(--a-accent); }
.cd-tc.is-compact .cd-tc-opt.is-on .cd-tc-name { color: var(--a-fg-1); }
.cd-tc.is-compact .cd-tc-opt.is-on .cd-tc-price { color: var(--a-fg-1); }
.cd-tc.is-compact .cd-tc-tax { margin-top: var(--a-sp-4); }
.cd-tc-terms { margin: var(--a-sp-2) 0 0; font-size: var(--a-fs-sm); color: var(--a-fg-2); }
.cd-tc-sum { cursor: pointer; list-style: none; display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--a-sp-4); padding: var(--a-sp-1) 0; border-radius: var(--a-r-sm); }
.cd-tc-sum::-webkit-details-marker { display: none; }
.cd-tc-sum:focus-visible { outline: var(--a-ring-w) solid var(--a-focus); outline-offset: var(--a-ring-off); }
.cd-tc-sum-sep { display: none; }   /* the column gap parts the sentence and "Details" (picture review 0.9.57) */
.cd-tc-sum-more { color: var(--cd-lilac, var(--a-accent)); font-weight: var(--a-fw-semibold); display: inline-flex; align-items: center; gap: var(--a-sp-2); }
.cd-tc-sum-more::after { content: ''; width: 5px; height: 5px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-2px) rotate(45deg); }
.cd-tc-terms[open] .cd-tc-sum-more::after { transform: translateY(1px) rotate(225deg); }
.cd-tc-sum:hover .cd-tc-sum-more { text-decoration: underline; }
.cd-tc-terms .cd-tc-info { margin-top: var(--a-sp-4); }
.cd-tc-terms .cd-tc-next { margin-top: var(--a-sp-4); }
@media (prefers-reduced-motion: reduce) { .cd-tc-opt { transition: none; } }
