/* ============================================================
   Sérénité Notariale — Design Tokens
   Brand: « L'Étude » — éditorial notarial
   Version: 1.0.0
   ============================================================ */

:root {
  /* ----- Couleurs de marque ----- */
  --sn-ink:           #0E1116;
  --sn-ink-soft:      #2A2D34;
  --sn-parchment:     #F5EFE2;
  --sn-paper:         #FBF7EE;
  --sn-paper-deep:    #EDE5D2;
  --sn-etude:         #1F4B3F;
  --sn-etude-deep:    #163328;
  --sn-etude-light:   #2D6B5A;
  --sn-seal:          #7A1F2A;
  --sn-seal-deep:     #5A1620;
  --sn-gold:          #B89968;
  --sn-gold-light:    #D4BC91;
  --sn-gold-deep:     #8E7349;
  --sn-smoke:         #5C5C66;
  --sn-smoke-soft:    #7A7A82;
  --sn-line:          #D9CFB8;
  --sn-line-soft:     #E5DDC9;

  /* ----- Sémantique ----- */
  --bg:               var(--sn-parchment);
  --bg-alt:           var(--sn-paper);
  --bg-deep:          var(--sn-paper-deep);
  --bg-inverse:       var(--sn-ink);
  --text:             var(--sn-ink-soft);
  --text-strong:      var(--sn-ink);
  --text-muted:       var(--sn-smoke);
  --text-on-dark:     var(--sn-paper);
  --accent:           var(--sn-etude);
  --accent-deep:      var(--sn-etude-deep);
  --decor:            var(--sn-gold);
  --decor-soft:       var(--sn-line);

  /* ----- Typographie ----- */
  --font-display: 'Fraunces', 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  /* Échelle modulaire */
  --fs-display-xl:  clamp(3rem, 5vw + 1.5rem, 5.5rem);    /* 56 → 88px */
  --fs-display-l:   clamp(2.25rem, 3vw + 1.25rem, 4rem);  /* 36 → 64px */
  --fs-display-m:   clamp(1.75rem, 2vw + 1rem, 2.75rem);  /* 28 → 44px */
  --fs-display-s:   clamp(1.375rem, 1vw + 1rem, 1.75rem); /* 22 → 28px */
  --fs-lead:        clamp(1.0625rem, 0.5vw + 0.875rem, 1.3125rem); /* 17 → 21px */
  --fs-body:        1.0625rem;       /* 17px */
  --fs-body-small:  0.9375rem;       /* 15px */
  --fs-eyebrow:     0.75rem;         /* 12px */
  --fs-caption:     0.6875rem;       /* 11px */
  --fs-mono:        0.8125rem;       /* 13px */

  /* Tracking & leading */
  --ls-display:     -0.025em;
  --ls-display-l:   -0.035em;
  --ls-display-xl:  -0.04em;
  --ls-eyebrow:     0.18em;
  --ls-body:        0;
  --ls-mono:        0.04em;
  --lh-tight:       0.95;
  --lh-display:     1.05;
  --lh-snug:        1.25;
  --lh-body:        1.65;
  --lh-loose:       1.8;

  /* Poids */
  --fw-light:    300;
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;

  /* ----- Espacements (8pt grid) ----- */
  --space-1:  0.25rem;    /*  4px */
  --space-2:  0.5rem;     /*  8px */
  --space-3:  0.75rem;    /* 12px */
  --space-4:  1rem;       /* 16px */
  --space-5:  1.5rem;     /* 24px */
  --space-6:  2rem;       /* 32px */
  --space-7:  3rem;       /* 48px */
  --space-8:  4rem;       /* 64px */
  --space-9:  6rem;       /* 96px */
  --space-10: 8rem;       /* 128px */
  --space-11: 10rem;      /* 160px */
  --space-12: 12rem;      /* 192px */

  /* ----- Containers ----- */
  --container-narrow:  640px;
  --container-prose:   720px;
  --container-medium:  960px;
  --container-wide:    1140px;
  --container-xl:      1280px;
  --container-px:      max(1.25rem, calc((100vw - var(--container-wide)) / 2));

  /* ----- Bordures & rayons ----- */
  --hairline:       0.5px solid var(--sn-line);
  --hairline-gold:  0.5px solid var(--sn-gold);
  --line:           1px solid var(--sn-line);
  --line-strong:    1px solid var(--sn-ink);
  --radius-xs:      2px;
  --radius-sm:      4px;
  --radius-md:      6px;
  --radius-lg:      10px;
  --radius-card:    3px; /* éditorial : très peu de rayon */

  /* ----- Ombres (très subtiles, jamais flashy) ----- */
  --shadow-card:    0 1px 0 rgba(14, 17, 22, 0.04), 0 12px 32px -16px rgba(14, 17, 22, 0.08);
  --shadow-lift:    0 1px 0 rgba(14, 17, 22, 0.06), 0 24px 48px -20px rgba(14, 17, 22, 0.14);
  --shadow-press:   inset 0 1px 0 rgba(14, 17, 22, 0.05);

  /* ----- Transitions ----- */
  --ease-out:       cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:    cubic-bezier(0.65, 0, 0.35, 1);
  --t-fast:         140ms;
  --t-base:         220ms;
  --t-slow:         420ms;

  /* ----- Z-index layers ----- */
  --z-sticky:    50;
  --z-header:    100;
  --z-overlay:   500;
  --z-modal:     1000;
  --z-tooltip:   1500;
}

/* ----- Sélection texte ----- */
::selection {
  background: var(--sn-etude);
  color: var(--sn-paper);
}
