/* ==========================================================================
   Zform design tokens
   Two token sets on purpose:
   - --zf-*    the tenant-brandable PUBLIC FORM theme (Tier 1 token editor,
               spec §7). Quiet defaults — this is what gets overwritten.
   - --a-*     the ADMIN tool's own fixed palette (spec §3.1: "neutral
               greys with a single accent"). Never brandable per-tenant.
   Both share the same stamp-terracotta accent so the product reads as one
   thing even though only one half of it is ever re-skinned.
   ========================================================================== */

:root {
  /* ---- Public form brand tokens (defaults; overwritten per tenant) ---- */
  --zf-color-bg: #fbf9f5;
  --zf-color-surface: #ffffff;
  --zf-color-text: #1c1917;
  --zf-color-muted: #6b6459;
  --zf-color-accent: #a8431f;
  --zf-color-accent-hover: #8f3818;
  --zf-color-accent-text: #ffffff;
  --zf-color-error: #b42318;
  --zf-color-success: #1f7a4d;
  --zf-radius: 10px;
  --zf-font-body: "Plus Jakarta Sans", system-ui, sans-serif;
  --zf-font-display: "Fraunces", Georgia, serif;
  --zf-font-size-base: 16px;
  --zf-space-unit: 8px;
  --zf-input-border: #ded7c9;
  --zf-max-width: 42rem;
  --zf-logo-height: 40px;
  --zf-logo-align: 0 auto;

  /* Layered, ink-tinted shadow ramp — never a flat shadow-md */
  --zf-shadow-elevated:
    0 1px 2px rgba(28, 25, 23, 0.04),
    0 4px 10px rgba(28, 25, 23, 0.05);
  --zf-shadow-floating:
    0 4px 8px rgba(28, 25, 23, 0.06),
    0 16px 32px rgba(28, 25, 23, 0.09);
  --zf-shadow-accent:
    0 2px 5px rgba(168, 67, 31, 0.18),
    0 10px 24px rgba(168, 67, 31, 0.16);

  --zf-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --zf-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ---- Admin tool palette (fixed, not tenant-brandable) ---- */
  --a-bg: #f5f5f3;
  --a-surface: #ffffff;
  --a-surface-sunken: #eeede9;
  --a-border: #e3e2dd;
  --a-border-strong: #cfcdc5;
  --a-ink: #17171a;
  --a-muted: #6e6e68;
  --a-faint: #a3a29b;
  --a-accent: #a8431f;
  --a-accent-hover: #8f3818;
  --a-accent-soft: #f6e9e2;
  --a-accent-text: #ffffff;
  --a-danger: #b42318;
  --a-danger-soft: #fbe9e7;
  --a-radius-sm: 6px;
  --a-radius: 10px;
  --a-radius-lg: 14px;

  --a-font-ui: "Plus Jakarta Sans", system-ui, sans-serif;
  --a-font-display: "Fraunces", Georgia, serif;
  --a-font-mono: "JetBrains Mono", ui-monospace, monospace;

  --a-shadow-elevated:
    0 1px 1px rgba(17, 17, 15, 0.03),
    0 2px 6px rgba(17, 17, 15, 0.05);
  --a-shadow-floating:
    0 6px 14px rgba(17, 17, 15, 0.08),
    0 20px 40px rgba(17, 17, 15, 0.10);
  --a-shadow-accent:
    0 2px 6px rgba(168, 67, 31, 0.20),
    0 8px 18px rgba(168, 67, 31, 0.16);

  --a-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --a-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}
