/**
 * Tibo Design System — tokens only.
 * Spec: docs/TIBO_MASTER_BUILD_SPEC.md §6
 * Do not reuse Waggo --pte-* greens as brand. Plugin --pte-* stay for data;
 * this theme maps status colors onto --tibo-fit / --tibo-verify / --tibo-nofit.
 */

:root {
  --tibo-fur: #e8e6e3;
  --tibo-surface: #fafaf8;
  --tibo-ink: #1a1a1a;
  --tibo-ink-muted: #5c5c5c;
  --tibo-accent: #3d6b4f;
  --tibo-accent-hover: #2f5540;
  --tibo-accent-ink: #ffffff;
  --tibo-warm: #e5ded1;
  --tibo-nose: #c47a6a;

  --tibo-fit: #0a5c4e;
  --tibo-fit-bg: #e6f3ef;
  --tibo-fit-line: #b3d4cb;
  --tibo-verify: #b45309;
  --tibo-verify-bg: #fef6ec;
  --tibo-verify-line: #f0d2a8;
  --tibo-nofit: #b91c1c;
  --tibo-nofit-bg: #fdecec;
  --tibo-nofit-line: #f0b4b4;

  --tibo-line: var(--tibo-fur);
  --tibo-line-strong: #d4d0ca;
  --tibo-card: #ffffff;

  /* Fraunces on Google Fonts = Latin only (no U+0400). RU glyphs → Golos Text. Spec §24.1 #8. */
  --tibo-font-display: "Fraunces", "Golos Text", Georgia, "Times New Roman", serif;
  --tibo-font-ui: "Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;

  --tibo-fs-body: 1.0625rem; /* 17px */
  --tibo-lh-body: 1.55;
  --tibo-fs-xs: 0.75rem;
  --tibo-fs-sm: 0.875rem;
  --tibo-fs-md: 1rem;
  --tibo-fs-lg: 1.125rem;
  --tibo-fs-xl: 1.375rem;
  --tibo-fs-2xl: clamp(1.5rem, 3vw, 2rem);
  --tibo-fs-hero: clamp(1.75rem, 4.5vw, 2.75rem);
  --tibo-fs-wordmark: clamp(1.25rem, 2.4vw, 1.65rem);

  --s1: 4px;
  --s2: 8px;
  --s3: 12px;
  --s4: 16px;
  --s5: 24px;
  --s6: 32px;
  --s7: 48px;
  --s8: 64px;
  --s9: 80px;
  --s10: 96px;

  --tibo-radius: 16px;
  --tibo-radius-sm: 12px;
  --tibo-radius-pill: 999px;
  --tibo-control-h: 44px;
  --tibo-max: 1120px;
  --tibo-gutter: var(--s4);

  --tibo-shadow-card: 0 4px 16px rgba(26, 26, 26, 0.05);
  --tibo-shadow-bar: 0 8px 28px rgba(26, 26, 26, 0.08);

  --tibo-section-y: var(--s7);

  /* Islands (legacy .pte-* CSS) map onto Tibo DS. CTA ≠ FIT. */
  --pte-accent: var(--tibo-accent);
  --pte-accent-hover: var(--tibo-accent-hover);
  --pte-accent-soft: #e7efe9;
  --pte-accent-ink: var(--tibo-accent-ink);
  --pte-bg: var(--tibo-surface);
  --pte-surface: var(--tibo-card);
  --pte-ink: var(--tibo-ink);
  --pte-muted: var(--tibo-ink-muted);
  --pte-line: var(--tibo-fur);
  --pte-line-strong: var(--tibo-line-strong);
  --pte-fit: var(--tibo-fit);
  --pte-fit-bg: var(--tibo-fit-bg);
  --pte-fit-line: var(--tibo-fit-line);
  --pte-verify: var(--tibo-verify);
  --pte-verify-bg: var(--tibo-verify-bg);
  --pte-verify-line: var(--tibo-verify-line);
  --pte-nofit: var(--tibo-nofit);
  --pte-nofit-bg: var(--tibo-nofit-bg);
  --pte-nofit-line: var(--tibo-nofit-line);
  --pte-radius: var(--tibo-radius);
  --pte-radius-sm: var(--tibo-radius-sm);
  --pte-max: var(--tibo-max);
  --pte-gutter: var(--tibo-gutter);
  --pte-font: var(--tibo-font-ui);
  --pte-control-h: var(--tibo-control-h);
  --pte-control-pad-x: 12px;
  --pte-label-tracking: 0.04em;
  --pte-shadow-shell: var(--tibo-shadow-bar);
  --pte-shadow-card: var(--tibo-shadow-card);
  --fs-xs: var(--tibo-fs-xs);
  --fs-sm: var(--tibo-fs-sm);
  --fs-md: var(--tibo-fs-md);
  --fs-lg: var(--tibo-fs-lg);
  --fs-xl: var(--tibo-fs-xl);
  --fs-2xl: var(--tibo-fs-2xl);
}

@media (min-width: 900px) {
  :root {
    --tibo-gutter: var(--s5);
    --tibo-section-y: var(--s9);
  }
}

/* Plugin status classes → Tibo tokens (do not paint CTA with --tibo-fit). */
.tibo-status--fit,
[data-status="FIT"] {
  color: var(--tibo-fit);
  background: var(--tibo-fit-bg);
  border-color: var(--tibo-fit-line);
}

.tibo-status--verify,
[data-status="VERIFY"] {
  color: var(--tibo-verify);
  background: var(--tibo-verify-bg);
  border-color: var(--tibo-verify-line);
}

.tibo-status--nofit,
[data-status="NO_FIT"] {
  color: var(--tibo-nofit);
  background: var(--tibo-nofit-bg);
  border-color: var(--tibo-nofit-line);
}
