/*
Theme Name: Tau Balance
Theme URI: https://taubalance.com
Author: Tau Balance Team
Description: Marketing theme matching the Tau Balance public landing and FAQ. Works with the Tau Balance Marketing plugin (waitlist, contact, FAQ). No product app connection required.
Version: 0.2.24
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: tau-balance
*/

/*
  Tokens: WCAG AA text ≥ 4.5:1 on surfaces; customer type ≥ 0.8125rem (13px).
  Muted uses #5a6779 (not slate-500 #64748b) so body/caption text stays AA on white.
  Links use --tb-link (#0369a1 light / sky-300 dark) for ≥ 4.5:1 on canvas.
*/
:root {
  color-scheme: light dark;
  --tb-canvas: #f8fafc;
  --tb-elevated: #ffffff;
  --tb-subtle: #f1f5f9;
  --tb-text: #0f172a;
  --tb-text-secondary: #334155;
  --tb-text-muted: #5a6779;
  --tb-border: #e2e8f0;
  --tb-brand: #0284c7;
  --tb-brand-strong: #0369a1;
  --tb-link: #0369a1;
  --tb-font: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
  --tb-display: "Source Serif 4", Georgia, "Times New Roman", serif;
  /* One content column for FAQ, policies, and landing below-fold (between old 45rem / 72rem).
     Wide enough for the two edu charts side-by-side from ~1024px; they stack below that. */
  --tb-content-max: 60rem;
  --tb-wide-max: 60rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --tb-canvas: #0b1220;
    --tb-elevated: #111827;
    --tb-subtle: #1e293b;
    --tb-text: #f1f5f9;
    --tb-text-secondary: #cbd5e1;
    --tb-text-muted: #94a3b8;
    --tb-border: #334155;
    --tb-brand: #38bdf8;
    --tb-brand-strong: #7dd3fc;
    --tb-link: #7dd3fc;
  }
}

/* Aliases used by landing.css */
body.tb-theme {
  --tb-bg: var(--tb-canvas);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body.tb-theme {
  margin: 0;
  font-family: var(--tb-font);
  font-size: 16px;
  line-height: 1.5;
  color: var(--tb-text);
  background: var(--tb-canvas);
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--tb-link);
}

.tb-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.tb-main {
  flex: 1;
}

/* Default + FAQ/policies: same measure */
.tb-container,
.tb-container--content,
.tb-container--faq,
.tb-container--wide {
  width: min(100% - 2rem, var(--tb-content-max));
  margin-inline: auto;
}
