/*
 * SheetVan for Calendly waitlist page (src/pages/calendly.ts). Builds on site.css (hero, panels, pricing, FAQ) and
 * home-visuals.css (panel previews); only what is new on this page lives here.
 */

.cal-eyebrow { margin: 0 0 1rem; color: var(--accent-text); font-weight: 700; font-size: 0.95rem; letter-spacing: 0.01em; }

/* Waitlist form in the hero */
.waitlist-form { max-width: 32rem; margin: 0 auto; text-align: left; }
.waitlist-row { display: flex; gap: 0.6rem; }
.waitlist-input {
  flex: 1; min-width: 0;
  padding: 0.85rem 1rem;
  font: 500 1rem/1.2 var(--font); color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line); border-radius: var(--radius-control);
  box-shadow: 0 1px 2px rgb(18 20 23 / 0.04);
}
.waitlist-input::placeholder { color: var(--faint); }
.waitlist-input:focus-visible { border-color: var(--ink); box-shadow: 0 0 0 3px var(--accent-tint); }
.waitlist-input[aria-invalid="true"] { border-color: var(--error); }
.waitlist-row .button { flex: none; font-family: var(--font); border: 0; cursor: pointer; }
.waitlist-note, .waitlist-error { margin: 0.6rem 0 0; font-size: 0.9rem; text-align: center; }
.waitlist-note { color: var(--muted); }
.waitlist-error { color: var(--error); font-weight: 600; }
/* Honeypot: off-screen for people, still in the form for bots. */
.waitlist-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.waitlist-done {
  max-width: 32rem; margin: 0 auto; padding: 1rem 1.25rem;
  border-radius: var(--radius-control);
  background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent-line);
}
.waitlist-done p { margin: 0; }

/* Panel previews */
.cv-status { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 999px; font-weight: 600; font-size: 0.76rem; }
.cv-status--ok { color: #15803d; background: #e8f5ec; }
.cv-status--bad { color: #b42318; background: #fdecea; }
.cv-status--warn { color: #8a4b08; background: #fdf3e2; }
.cv-status--quiet { color: var(--muted); background: var(--surface-2); }
.cv-rate { display: flex; flex-direction: column; gap: 0.15rem; }
.cv-rate-label { color: var(--muted); }
.cv-rate-value { font-size: 2.6rem; font-weight: 700; letter-spacing: -0.04em; line-height: 1.1; color: #b42318; font-variant-numeric: tabular-nums; }
.uv .cv-rate-note { margin: 0.2rem 0 0; padding-top: 0.45rem; border-top: 1px solid var(--line); color: var(--muted); }
.uv-pivot .uv-table td:nth-child(2) { text-align: right; }

/* Pricing */
.cal-price { margin: 0 0 0.75rem; color: var(--muted); font-size: 1.05rem; }
.cal-price strong { font: 700 clamp(2rem, 6vw, 2.75rem)/1 var(--font); color: var(--text); margin-right: 0.35rem; letter-spacing: -0.04em; }

@media (max-width: 520px) {
  .waitlist-row { flex-direction: column; }
  .waitlist-row .button { width: 100%; }
  .cv-hide-sm { display: none; }
}
