/* ============================================================
   PROMO SAGAZ — Design Tokens
   Editorial Premium · Wirecutter / Substack / Magazine
   ============================================================ */

:root {
  /* ---------- Color · Neutrals ---------- */
  --ps-paper:        #FAF7F2;   /* off-white principal (papel jornal premium) */
  --ps-paper-deep:   #F2EDE3;   /* fundo alternativo, seções */
  --ps-paper-edge:   #E8E1D2;   /* divisores quentes */
  --ps-ink:          #1A1814;   /* preto carvão (texto principal) */
  --ps-ink-soft:     #3A352D;   /* texto secundário */
  --ps-ink-muted:    #6B645A;   /* metadata, captions */
  --ps-ink-faint:    #A39B8E;   /* placeholder, disabled */
  --ps-rule:         #1A1814;   /* régua editorial (preto) */
  --ps-rule-soft:    #C9C2B4;   /* régua secundária */

  /* ---------- Color · Brand Gold ---------- */
  --ps-gold:         #C9A961;   /* champagne — acento principal */
  --ps-gold-deep:    #A8893F;   /* hover / contraste em fundo claro */
  --ps-gold-soft:    #E5D4A1;   /* tints, fundos sutis */
  --ps-gold-wash:    #F5EDD8;   /* highlight de bloco editorial */

  /* ---------- Color · Semantic ---------- */
  --ps-success:      #4A7C4E;   /* verde sóbrio, jornalístico */
  --ps-success-soft: #DCE8DD;
  --ps-danger:       #B33A3A;   /* selo "expirou" */
  --ps-danger-soft:  #F2DCDC;
  --ps-info:         #3D5A80;   /* azul tinta */
  --ps-info-soft:    #DDE4EE;

  /* ---------- Typography ---------- */
  --ps-serif: "Fraunces", "Times New Roman", Georgia, serif;
  --ps-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --ps-mono:  "JetBrains Mono", "SF Mono", Menlo, monospace;

  /* Type scale — editorial, generoso */
  --ps-text-xs:   12px;
  --ps-text-sm:   14px;
  --ps-text-base: 16px;
  --ps-text-md:   18px;
  --ps-text-lg:   22px;
  --ps-text-xl:   28px;
  --ps-text-2xl:  36px;
  --ps-text-3xl:  48px;
  --ps-text-4xl:  64px;
  --ps-text-5xl:  84px;

  /* Line heights */
  --ps-lh-tight:  1.05;
  --ps-lh-snug:   1.2;
  --ps-lh-normal: 1.5;
  --ps-lh-loose:  1.7;

  /* Letter spacing */
  --ps-tracking-tight:  -0.02em;
  --ps-tracking-normal: 0;
  --ps-tracking-wide:   0.08em;
  --ps-tracking-eyebrow: 0.18em;  /* eyebrows / kickers caixa-alta */

  /* ---------- Spacing (4px base, modular) ---------- */
  --ps-space-1:  4px;
  --ps-space-2:  8px;
  --ps-space-3:  12px;
  --ps-space-4:  16px;
  --ps-space-5:  24px;
  --ps-space-6:  32px;
  --ps-space-7:  48px;
  --ps-space-8:  64px;
  --ps-space-9:  96px;
  --ps-space-10: 128px;

  /* ---------- Radii (sóbrio, magazine) ---------- */
  --ps-radius-none: 0;
  --ps-radius-xs:   2px;
  --ps-radius-sm:   4px;
  --ps-radius-md:   6px;
  --ps-radius-lg:   12px;
  --ps-radius-pill: 999px;

  /* ---------- Shadows (suaves, papel) ---------- */
  --ps-shadow-xs: 0 1px 2px rgba(26,24,20,0.06);
  --ps-shadow-sm: 0 2px 6px rgba(26,24,20,0.08);
  --ps-shadow-md: 0 8px 20px rgba(26,24,20,0.10);
  --ps-shadow-lg: 0 20px 48px rgba(26,24,20,0.14);
  --ps-shadow-gold: 0 6px 18px rgba(168,137,63,0.22);

  /* ---------- Layout ---------- */
  --ps-container: 1200px;
  --ps-content-width: 680px; /* coluna de leitura */
  --ps-rule-thick: 3px;

  /* ---------- Motion ---------- */
  --ps-ease: cubic-bezier(0.2, 0.6, 0.2, 1);
  --ps-dur-fast: 140ms;
  --ps-dur: 220ms;
  --ps-dur-slow: 380ms;
}

/* ============================================================
   Base resets / typography defaults
   ============================================================ */

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

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--ps-paper);
  color: var(--ps-ink);
  font-family: var(--ps-sans);
  font-size: var(--ps-text-base);
  line-height: var(--ps-lh-normal);
  font-feature-settings: "ss01", "kern";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection { background: var(--ps-gold-soft); color: var(--ps-ink); }
