/*
Theme Name:   LeadByData
Description:  Child theme of Kadence for leadbydata.ai — the public site for the
              LeadByData platform. Design system: Geist Sans (words) + Geist Mono
              (numbers/evidence), blue-600 single action accent, emerald reserved
              exclusively for verified/measured outcomes.
Template:     kadence
Version:      1.0.0
Author:       Perceptive Consulting Solutions
Text Domain:  leadbydata
*/

/* ─── Design tokens ──────────────────────────────────────────────── */
:root {
  /* Type */
  --lbd-font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --lbd-font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Ink */
  --lbd-ink:        #0f172a;  /* slate-900 — headings, wordmark, dark bands   */
  --lbd-body:       #334155;  /* slate-700 — body text                        */
  --lbd-muted:      #64748b;  /* slate-500 — captions, meta                   */

  /* Canvas */
  --lbd-bg:         #ffffff;
  --lbd-bg-alt:     #f8fafc;  /* slate-50 — alternating sections              */
  --lbd-hairline:   #e2e8f0;  /* slate-200 — borders                          */

  /* Action — the ONE interactive accent (matches the app) */
  --lbd-action:      #2563eb; /* blue-600  */
  --lbd-action-hover:#1d4ed8; /* blue-700  */
  --lbd-action-soft: #eff6ff; /* blue-50 — soft chips/backgrounds             */

  /* Verified — RESERVED for measured outcomes only. Never decorative. */
  --lbd-verified:      #059669; /* emerald-600 */
  --lbd-verified-soft: #ecfdf5; /* emerald-50  */

  /* Watching/pending — tiny doses only */
  --lbd-watch:      #d97706;  /* amber-600 */

  --lbd-radius: 0.75rem;      /* rounded-xl — matches the app's cards         */
}

/* ─── Fonts (self-hosted, GDPR-clean) ───────────────────────────── */
@font-face {
  font-family: "Geist";
  src: url("fonts/Geist-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono";
  src: url("fonts/GeistMono-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* ─── Base typography ───────────────────────────────────────────── */
body {
  font-family: var(--lbd-font-sans);
  color: var(--lbd-body);
  background: var(--lbd-bg);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--lbd-font-sans);
  color: var(--lbd-ink);
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.25rem); }
h3 { font-size: 1.25rem; }

a { color: var(--lbd-action); }
a:hover { color: var(--lbd-action-hover); }

/* ─── The evidence rule: numbers are data ───────────────────────── */
/* Apply .lbd-metric to any stat, price figure, or evidence value.   */
.lbd-metric,
.lbd-evidence,
.lbd-ledger-row {
  font-family: var(--lbd-font-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.lbd-metric { color: var(--lbd-ink); font-weight: 600; }

/* Verified badge — GREEN MEANS MEASURED. Use only on outcome rows.  */
.lbd-verified {
  font-family: var(--lbd-font-mono);
  color: var(--lbd-verified);
  background: var(--lbd-verified-soft);
  border: 1px solid #a7f3d0; /* emerald-200 */
  border-radius: 999px;
  padding: 0.15rem 0.65rem;
  font-size: 0.8rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}
.lbd-verified::before { content: "✓"; }

/* ─── Buttons ───────────────────────────────────────────────────── */
.wp-block-button__link,
.lbd-btn {
  background: var(--lbd-action);
  color: #fff;
  border-radius: var(--lbd-radius);
  font-weight: 600;
  padding: 0.8rem 1.6rem;
  transition: background 0.15s ease;
}
.wp-block-button__link:hover, .lbd-btn:hover { background: var(--lbd-action-hover); color:#fff; }
.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--lbd-action);
  border: 1.5px solid var(--lbd-action);
}
.lbd-microtrust {
  font-size: 0.85rem;
  color: var(--lbd-muted);
  margin-top: 0.6rem;
}

/* ─── Cards (rounded-xl, app-continuous) ────────────────────────── */
.lbd-card {
  background: var(--lbd-bg);
  border: 1px solid var(--lbd-hairline);
  border-radius: var(--lbd-radius);
  padding: 1.5rem;
}
.lbd-section-alt { background: var(--lbd-bg-alt); }

/* Dark band — footer CTA / all-time impact strips */
.lbd-band-dark {
  background: var(--lbd-ink);
  color: #cbd5e1; /* slate-300 */
}
.lbd-band-dark h2, .lbd-band-dark h3 { color: #fff; }
.lbd-band-dark .lbd-metric { color: #fff; }

/* ─── Wordmark: lead[by]data — "by" carries the accent ──────────── */
.lbd-wordmark {
  font-family: var(--lbd-font-sans);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--lbd-ink);
  font-size: 1.35rem;
}
.lbd-wordmark .by { color: var(--lbd-action); }

/* ─── Module band on Home (the paid Lead Generation module) ────── */
.lbd-module-band {
  border: 1.5px solid var(--lbd-action);
  border-radius: var(--lbd-radius);
  background: var(--lbd-action-soft);
}
.lbd-module-band .lbd-card { background: #fff; }

/* ─── Harvest vs Compound two-lane diagram ──────────────────────── */
.lbd-lane {
  border-left: 3px solid var(--lbd-action);
  padding-left: 1rem;
}
.lbd-lane--compound { border-left-color: var(--lbd-muted); }

/* ─── Our header/footer (Kadence's own are hidden) ──────────────── */
#masthead, .site-header, #colophon, .site-footer { display: none !important; }

.lbd-header {
  background: var(--lbd-bg);
  border-bottom: 1px solid var(--lbd-hairline);
  position: sticky;
  top: 0;
  z-index: 100;
}
.lbd-header-inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0.85rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.lbd-wordmark-link { text-decoration: none; }
.lbd-nav {
  display: flex;
  gap: 1.25rem;
  flex: 1;
  flex-wrap: wrap;
}
.lbd-nav a {
  color: var(--lbd-body);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
}
.lbd-nav a:hover { color: var(--lbd-action); }
.lbd-btn--sm { padding: 0.5rem 1.1rem; font-size: 0.9rem; }
.lbd-btn--outline {
  background: transparent;
  color: var(--lbd-action);
  border: 1.5px solid var(--lbd-action);
}
.lbd-btn--outline:hover { background: var(--lbd-action-soft); color: var(--lbd-action-hover); }
@media (max-width: 782px) {
  .lbd-nav { order: 3; width: 100%; gap: 1rem; }
}

.lbd-footer { padding: 3rem 1.25rem; margin-top: 4rem; }
.lbd-footer-inner { max-width: 72rem; margin: 0 auto; }
.lbd-footer .lbd-wordmark { color: #fff; }
.lbd-footer-brand p { max-width: 34rem; margin-top: 0.5rem; }
.lbd-footer-nav {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin: 1.5rem 0;
}
.lbd-footer-nav a { color: #cbd5e1; text-decoration: none; font-size: 0.9rem; }
.lbd-footer-nav a:hover { color: #fff; }
.lbd-footer-legal {
  font-family: var(--lbd-font-mono);
  font-size: 0.8rem;
  color: #64748b;
  border-top: 1px solid #1e293b;
  padding-top: 1.25rem;
}

/* Content sections get breathing room */
.lbd-hero { padding: 4.5rem 0 3rem; }
.wp-block-group.lbd-section-alt,
.wp-block-group.lbd-band-dark { padding: 3rem 1.25rem; border-radius: 0; }
.lbd-module-band { padding: 1.5rem; margin-top: 1.5rem; }
