/* =========================================================
   TOKENS | LP B · Split Contemporâneo · Bezerra Lins Advocacia do Trabalho
   Única fonte de verdade. main.css usa somente estas variáveis.
   ========================================================= */

:root {
  /* ---------- Cor: primitivas ---------- */
  /* Neutros oliva */
  --olive-0:   #FFFFFF;
  --olive-50:  #FBFAF6;
  --olive-100: #F7F5F0; /* Off-white */
  --olive-200: #ECE9E0;
  --olive-300: #DAD6C9;
  --olive-400: #B9B5A5;
  --olive-500: #8E8B7C;
  --olive-600: #646255;
  --olive-700: #4A4A3F;
  --olive-800: #33352D;
  --olive-900: #1D211E; /* Texto */
  --olive-950: #121512;

  /* Marca: Musgo */
  --moss-50:  #EEF3EF;
  --moss-100: #D8E3DB;
  --moss-200: #B2C7B8;
  --moss-300: #86A68F;
  --moss-400: #5E8569;
  --moss-500: #44694F;
  --moss-600: #375743;
  --moss-700: #2F4A3A; /* Musgo (marca) */
  --moss-800: #263C2F;
  --moss-900: #1C2D23;
  --moss-950: #121D17;

  /* Acento: Terracota */
  --terra-50:  #FBEFEA;
  --terra-100: #F5DACF;
  --terra-200: #EBB7A2;
  --terra-300: #DD9071;
  --terra-400: #C9704C;
  --terra-500: #B65E39;
  --terra-600: #A8522F; /* Terracota (acento + CTA) */
  --terra-700: #8A4225;
  --terra-800: #6A331D;

  /* Funcionais */
  --green-500: #25D366; /* verde oficial WhatsApp */
  --green-700: #2E6B45;
  --red-600:   #B54134;

  /* ---------- Cor: semânticas ---------- */
  --color-bg:              var(--olive-100);
  --color-surface:         var(--olive-0);
  --color-surface-alt:     var(--olive-200);
  /* Fundo do arco do hero quando a foto é recorte (PNG/WebP transparente): luz suave atrás da cabeça */
  --hero-arch-bg: radial-gradient(circle at 50% 32%, var(--moss-400) 0%, var(--moss-600) 48%, var(--moss-800) 100%);
  --color-surface-brand:   var(--moss-700);
  --color-surface-accent-soft: var(--terra-50);
  --color-text:            var(--olive-900);
  --color-text-muted:      var(--olive-600);
  --color-text-inverse:    var(--olive-100);
  --color-text-inverse-muted: var(--moss-200);
  --color-border:          var(--olive-300);   /* divisórias decorativas */
  --color-border-ui:       var(--olive-500);   /* bordas de controles (3:1) */
  --color-border-inverse:  rgb(247 245 240 / 0.18);
  --color-brand:           var(--moss-700);
  --color-brand-hover:     var(--moss-600);
  --color-accent:          var(--terra-600);
  --color-accent-hover:    var(--terra-700);
  --color-accent-soft:     var(--terra-100);
  --color-on-brand:        var(--olive-100);
  --color-on-accent:       var(--olive-0);
  --color-success:         var(--green-700);
  --color-success-soft:    var(--moss-50);
  --color-error:           var(--red-600);
  --color-whatsapp:        var(--green-500);
  --color-whatsapp-ink:    var(--green-700);
  --color-focus:           var(--terra-600);
  --color-focus-inverse:   var(--terra-200);
  --color-star:            var(--terra-600);
  --pattern-line:          rgb(47 74 58 / 0.08);

  /* ---------- Tipografia ---------- */
  --font-display: 'Newsreader', 'Iowan Old Style', Georgia, serif;
  --font-text:    'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --fw-display: 400;
  --fw-display-medium: 500;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;

  /* Escala Equilibrada (H1 36 → 54px) */
  --fs-h1:      clamp(2.25rem, 1.5rem + 2.6vw, 3.375rem);
  --fs-h2:      clamp(1.75rem, 1.35rem + 1.4vw, 2.375rem);  /* 28 → 38 */
  --fs-h3:      clamp(1.1875rem, 1.1rem + 0.35vw, 1.375rem); /* 19 → 22 */
  --fs-h3-sm:   1.125rem;                                    /* 18: títulos de card */
  --fs-stat:    clamp(2.25rem, 1.8rem + 1.6vw, 3rem);        /* 36 → 48 */
  --fs-lead:    clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);    /* 17 → 20 */
  --fs-body:    1.0625rem;  /* 17 */
  --fs-small:   0.9375rem;  /* 15 */
  --fs-caption: 0.8125rem;  /* 13 */
  --fs-eyebrow: 0.8125rem;  /* 13 */
  --fs-logo:    1.25rem;
  --fs-nav-mobile: 1.75rem;

  --lh-h1: 1.08;
  --lh-h2: 1.12;
  --lh-h3: 1.3;
  --lh-tight: 1.2;
  --lh-body: 1.6;
  --lh-lead: 1.5;

  --ls-h1: -0.02em;
  --ls-h2: -0.015em;
  --ls-h3: -0.005em;
  --ls-eyebrow: 0.04em;
  --ls-ui: 0;

  --measure: 65ch;
  --measure-h1: 17ch;
  --measure-h2: 22ch;
  --measure-lead: 34em;

  /* ---------- Espaçamento (base 4px) ---------- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;
  --space-11: 10rem;
  --section-y: clamp(3.5rem, 2.25rem + 5vw, 7rem);

  /* ---------- Layout ---------- */
  --container: 77.5rem;        /* 1240 */
  --container-narrow: 47.5rem; /* 760 */
  --gutter: clamp(1.25rem, 0.5rem + 3vw, 2.5rem);
  --grid-gap: clamp(1rem, 0.5rem + 1.5vw, 1.5rem);
  --header-h: 4.25rem;
  --bottom-bar-h: 4.5rem;
  --tap-min: 2.75rem;
  --btn-h: 3.125rem;           /* 50 */
  --input-h: 3.25rem;          /* 52 */
  --check-size: 1.375rem;      /* 22 */
  --sit-icon-box: 3rem;        /* 48, caixa do ícone dos cards de situação */
  --icon-sm: 1.125rem;
  --icon-md: 1.25rem;
  --icon-lg: 1.75rem;
  --dot: 0.5rem;
  --portrait-max: 30rem;
  --review-w: 22rem;
  --textarea-h: 6.5rem;

  /* ---------- Bordas e raio ---------- */
  --bw-1: 1px;
  --bw-2: 2px;
  --radius-sm: 3px;    /* checkbox */
  --radius: 6px;       /* botões, cards, inputs */
  --radius-pill: 999px; /* arco do retrato, pontos, selos */
  --radius-arch: var(--radius-pill) var(--radius-pill) var(--radius) var(--radius);

  /* ---------- Sombra (2 níveis; cards NÃO usam sombra) ---------- */
  --shadow-1: 0 1px 2px rgb(29 33 30 / 0.06);
  --shadow-2: 0 12px 28px -12px rgb(47 74 58 / 0.35); /* selo flutuante do Google */

  /* ---------- Motion ---------- */
  --dur-1: 150ms;
  --dur-2: 250ms;
  --dur-3: 400ms;
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  /* ---------- Assinatura AdvPages ---------- */
  --made-by-size: 1.75rem;
  --made-by-scale: 1.12;

  /* ---------- Z-index ---------- */
  --z-base: 1;
  --z-overlay: 2;
  --z-bottom-bar: 40;
  --z-header: 50;
  --z-modal: 100;
}
