/* /voor-clubs (src/web/pages/voor-clubs.ts): an example page, the plans, the rest quiet. */
.vc-wrap { display: grid; gap: var(--s-7); padding-top: var(--s-7); padding-bottom: var(--s-7); }
.vc-wrap .vc-sec { padding-top: 0; scroll-margin-top: 88px; }
.vc-wrap .vc-sec > h2 { margin: 0 0 var(--s-5); }

/* the example */
.vcx-demo { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: var(--s-6); align-items: start; }
.vcx-frame { margin: 0; border: 1px solid var(--hair); border-radius: 14px; overflow: hidden; background: var(--surface); box-shadow: 0 12px 32px rgba(14, 26, 20, .10); }
.vcx-bar { display: flex; align-items: center; gap: var(--s-1); padding: var(--s-2) var(--s-3); background: var(--fill); }
.vcx-bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--fill-strong); }
.vcx-bar span { margin-left: var(--s-2); padding: 2px var(--s-3); border-radius: 999px; background: var(--surface); color: var(--text-2); font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vcx-page { padding: var(--s-5); }
.vcx-top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--s-5); padding-bottom: var(--s-5); border-bottom: 1px solid var(--hair); }
.vcx-crumbs { margin: 0 0 var(--s-2); color: var(--text-2); font-size: .78rem; }
.vcx-name { margin: 0; font: 800 clamp(1.6rem, 3vw, 2.4rem)/1.05 var(--display, var(--font)); text-transform: uppercase; }
.vcx-kind { margin: var(--s-2) 0; color: var(--text-2); font-size: .9rem; }
.vcx-managed { display: inline-flex; align-items: center; gap: var(--s-1); margin-left: var(--s-1); padding: 1px var(--s-2); border-radius: 999px; background: var(--open-bg); color: var(--open-ink); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.vcx-about { margin: 0 0 var(--s-3); font-size: .95rem; }
.vcx-tools { display: flex; flex-wrap: wrap; gap: var(--s-1); margin: 0; }
.vcx-tools span { padding: var(--s-1) var(--s-3); border: 1px solid var(--hair); border-radius: 999px; font-size: .8rem; font-weight: 600; }
.vcx-photo { position: relative; min-height: 180px; border-radius: var(--r-l); overflow: hidden; background: var(--fill); }
.vcx-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.vcx-cols { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--s-5); padding-top: var(--s-5); }
.vcx-facts { list-style: none; margin: 0 0 var(--s-4); padding: 0; display: grid; gap: var(--s-3); }
.vcx-facts li { display: flex; gap: var(--s-2); font-size: .9rem; }
.vcx-facts svg { flex: none; color: var(--accent-ink); }
.vcx-facts div > span { display: block; color: var(--text-2); font-size: .85rem; }
.vcx-h { margin: 0 0 var(--s-1); font: 800 1.15rem/1.2 var(--display, var(--font)); }
.vcx-lessons { list-style: none; margin: 0; padding: 0; }
.vcx-lessons li { display: flex; gap: var(--s-3); padding: var(--s-2) 0; border-top: 1px solid var(--hair); font-size: .88rem; }
.vcx-lessons b { flex: none; width: 72px; font-variant-numeric: tabular-nums; }
.vcx-lessons em { display: block; color: var(--text-2); font-style: normal; font-size: .82rem; }
.vcx-action { align-self: start; padding: var(--s-4); border: 1px solid var(--hair); border-radius: var(--r-l); box-shadow: 0 4px 12px rgba(14, 26, 20, .06); }
.vcx-k { margin: 0; color: var(--text-2); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.vcx-t { margin: 2px 0 var(--s-2); font: 800 1.25rem/1.2 var(--display, var(--font)); }
.vcx-next { margin: 0 0 var(--s-3); padding: var(--s-2) var(--s-3); border-radius: var(--r-m); background: var(--fill); font-size: .82rem; }
.vcx-next span { display: block; color: var(--text-2); }
.vcx-btn { display: block; padding: var(--s-2); border-radius: var(--r-m); background: var(--btn); color: var(--btn-text); font-size: .88rem; font-weight: 700; text-align: center; }
.vcx-links { display: flex; justify-content: center; gap: var(--s-3); margin: var(--s-3) 0 0; color: var(--accent-ink); font-size: .8rem; font-weight: 600; text-decoration: underline; }
.vcx-frame figcaption { padding: var(--s-2) var(--s-3); background: var(--fill); color: var(--text-2); font-size: .78rem; }
.vcx-dot { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ball); color: var(--ball-ink); font-size: .72rem; font-weight: 800; vertical-align: 1px; text-transform: none; }
.vcx-notes { margin: 0; padding: 0; list-style: none; counter-reset: n; display: grid; gap: var(--s-4); }
.vcx-notes li { counter-increment: n; position: relative; padding-left: 32px; color: var(--text-2); font-size: .95rem; }
.vcx-notes li::before { content: counter(n); position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--ball); color: var(--ball-ink); font-size: .75rem; font-weight: 800; }
.vcx-notes strong { display: block; color: var(--text); }

/* free, steps, promises */
.vcx-free { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); }
.vcx-free.vcx-rules { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vcx-free li { display: grid; gap: var(--s-1); align-content: start; padding: var(--s-4); border-radius: var(--r-l); background: var(--fill); }
.vcx-free span { color: var(--text-2); font-size: .95rem; }
.vcx-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); }
.vcx-steps li { display: grid; gap: var(--s-1); align-content: start; }
.vcx-steps span:not(.vcx-num) { color: var(--text-2); font-size: .95rem; }
.vcx-num { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: var(--s-1); border-radius: 50%; background: var(--pitch); color: var(--on-pitch); font-weight: 800; }
.vcx-steps-go { margin: var(--s-5) 0 0; }

/* plans */
.vcx-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); align-items: stretch; }
.vcx-plan { display: flex; flex-direction: column; padding: var(--s-5); border: 1px solid var(--hair); border-radius: 14px; background: var(--surface); }
.vcx-plan.is-mid { border: 2px solid var(--pitch); padding: calc(var(--s-5) - 1px); }
.vc-wrap .vcx-plan h3 { margin: 0; font: 700 1.25rem/1.25 var(--font); letter-spacing: 0; text-transform: none; }
.vcx-who { min-height: 2.8em; margin: var(--s-1) 0 var(--s-3); color: var(--text-2); font-size: .95rem; }
.vcx-price { margin: 0 0 var(--s-4); font: 800 2.5rem/1 var(--display, var(--font)); }
.vcx-price span { font: 400 1rem/1 var(--font); color: var(--text-2); }
.vcx-price:has(+ .vcx-price-note) { margin-bottom: var(--s-1); }
.vcx-price-note { margin: 0 0 var(--s-4); font-size: .875rem; color: var(--text-2); }
.vcx-plan .btn { align-self: stretch; }
.vcx-incl { margin: var(--s-4) 0 0; padding-top: var(--s-4); border-top: 1px solid var(--hair); font-size: .9rem; font-weight: 600; }
.vcx-plan ul { list-style: none; margin: var(--s-3) 0 0; padding: 0; display: grid; gap: var(--s-2); }
.vcx-plan > .btn + ul { margin-top: var(--s-4); padding-top: var(--s-4); border-top: 1px solid var(--hair); }
.vcx-plan li { display: flex; gap: var(--s-2); font-size: .95rem; }
.vcx-plan li svg { flex: none; margin-top: 3px; color: var(--accent-ink); }
.vcx-q { margin: var(--s-3) 0 0; color: var(--text-2); font-size: .95rem; }

.vcx-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); }
.vcx-two p { margin: var(--s-1) 0 var(--s-2); color: var(--text-2); }
.vcx-two a { font-weight: 700; }

@media (max-width: 1000px) {
  .vcx-demo { grid-template-columns: minmax(0, 1fr); }
  .vcx-notes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vcx-free { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vcx-free.vcx-rules, .vcx-plans { grid-template-columns: minmax(0, 1fr); }
  .vcx-who { min-height: 0; }
}
@media (max-width: 640px) {
  .vcx-top, .vcx-cols, .vcx-steps, .vcx-two, .vcx-free, .vcx-notes { grid-template-columns: minmax(0, 1fr); }
  .vcx-page { padding: var(--s-4); }
}
