/* Checkout pages (/yapstar/, /squit/, /xtab/ checkout): one horizontal card, product summary on the left,
   the payment steps on the right. Accent colour comes from --acc on .co-shell. Stacks below 860px. */
.co-wrap { padding: clamp(104px, 11vw, 136px) clamp(16px, 3vw, 32px) clamp(56px, 8vw, 96px); }
.co-shell { --acc: #6e5bff; max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); overflow: hidden; border-radius: 28px; color: var(--cl-ink); background: var(--cl-bg); box-shadow: 0 0 0 1px var(--cl-line), 0 40px 80px -40px rgba(20, 30, 80, .35); }

.co-aside { display: flex; flex-direction: column; gap: 32px; padding: clamp(28px, 4vw, 44px); background: color-mix(in srgb, var(--acc) 8%, var(--cl-bg)); box-shadow: -1px 0 0 var(--cl-line) inset; }
:root[data-theme="dark"] .co-aside { background: color-mix(in srgb, var(--acc) 12%, var(--cl-bg)); }
.co-prod { display: flex; align-items: center; gap: 16px; }
.co-prod img { flex: none; width: 64px; height: 64px; border-radius: 22%; }
.co-prod h1 { margin: 0; font-family: var(--cl-serif); font-weight: 500; font-size: clamp(30px, 3.4vw, 38px); line-height: 1.05; letter-spacing: -.02em; white-space: nowrap; color: var(--cl-ink); }
.co-sum { display: grid; gap: 6px; }
.co-sum-plan { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cl-muted); }
.co-sum-price { margin: 0; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; font-size: clamp(44px, 5.2vw, 60px); font-weight: 650; line-height: 1; letter-spacing: -.035em; color: var(--acc); }
:root[data-theme="dark"] .co-sum-price { color: color-mix(in srgb, var(--acc) 55%, #fff); }
.co-sum-price small { font-size: 16px; font-weight: 500; letter-spacing: 0; color: var(--cl-muted); }
.co-sum-note { margin: 0; font-size: 15px; color: var(--cl-ink-2); }
.co-aside .co-perks { margin: auto 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.co-aside .co-perks li { display: flex; align-items: center; gap: 10px; font-size: 15.5px; color: var(--cl-ink); }
.co-aside .co-perks svg { width: 18px; height: 18px; flex: none; color: var(--acc); }
.co-aside .co-perks li[hidden] { display: none; }

.co-pane { display: grid; align-content: center; gap: 18px; padding: clamp(28px, 4vw, 44px); min-width: 0; }
.co-pane .co-steps { margin: 0; }
.co-shell .co-card { padding: 0; border-radius: 0; background: none; box-shadow: none; }
.co-shell .co-summary { display: none; } /* the left column already shows plan, price and renewal */
.co-shell .co-plans { margin: 0 0 4px; gap: 10px; }
.co-shell .co-plans legend { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cl-muted); }
.co-shell .co-plan-body { gap: 2px; padding: 14px 16px; border-radius: 16px; }
.co-shell .co-plan-body > small { display: none; }
.co-shell .co-price { font-size: 22px; }
.co-shell .co-price small { font-size: 13px; }
.co-shell .co-plan input:checked + .co-plan-body { background: color-mix(in srgb, var(--acc) 9%, var(--cl-bg)); box-shadow: 0 0 0 2px var(--acc) inset !important; }
.co-shell .co-go { background: var(--acc) !important; color: #fff !important; box-shadow: none !important; }
:root[data-theme="dark"] .co-shell .co-go { color: #0b0c10 !important; background: color-mix(in srgb, var(--acc) 72%, #fff) !important; }
.co-shell .co-input:focus { outline-color: var(--acc) !important; }
.co-shell .co-check input { accent-color: var(--acc) !important; }
.co-shell .co-trust { justify-content: flex-start; }
.co-shell .co-small { font-size: 12.5px; line-height: 1.5; color: var(--cl-muted); }
.co-shell .co-verify { text-align: left; }
.co-shell .co-verify-head h2 { font-size: 28px; }
.co-shell .co-mail-icon { margin: 0; }

@media (max-width: 859px) {
  .co-shell { grid-template-columns: minmax(0, 1fr); border-radius: 24px; }
  .co-aside { gap: 20px; box-shadow: 0 -1px 0 var(--cl-line) inset; }
  .co-aside .co-perks { margin-top: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .co-wrap { padding-top: 92px; }
  .co-shell .co-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .co-aside .co-perks { grid-template-columns: minmax(0, 1fr); }
}

/* The banner behind the nav is shorter here, so the card overlaps it cleanly. */
.skin-checkout main.co-wrap::before { height: 250px; }
.co-aside .co-perks { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 859px) { .co-aside .co-perks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .co-aside .co-perks { grid-template-columns: minmax(0, 1fr); } }

/* Review checkout uses a near-black accent: in dark mode switch it to near-white, so the selected plan,
   the ticks, the price and the pay button stay readable. */
:root[data-theme="dark"] .co-shell[style*="#0c0c14"] { --acc: #ececf4 !important; }
:root[data-theme="dark"] .co-shell[style*="#0c0c14"] .co-sum-price { color: var(--cl-ink); }

/* review checkout: agreement line instead of a checkbox */
.co-agree { margin: 10px 0 0; text-align: center; font-size: 13px; color: var(--cl-muted); }
.co-agree a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
/* founding-client option: hidden unless the private link shows it; full width when shown */
.co-shell .co-plan[hidden] { display: none; }
.co-shell .co-plans .co-plan[data-founding] { grid-column: 1 / -1; }

.co-aside .co-perks li.co-no { color: var(--cl-ink-2, #52525b); }
.co-aside .co-perks li.co-no svg { color: #d92d20; }
:root[data-theme="dark"] .co-aside .co-perks li.co-no svg { color: #ff7b72; }
.co-aside .co-perks li[data-co-normal][hidden] { display: none; }
