/*
 * Namour : jetons de design (PROVISOIRES, D-33)
 * Source unique des couleurs, de la typographie et des mesures.
 * Utilisé par apps/client, apps/partner, apps/admin (via packages/ui)
 * et copié tel quel dans site/assets/tokens.css.
 * Ne jamais écrire une couleur en dur ailleurs : toujours une variable.
 */

/* Montserrat auto-hébergée (pas d'appel à Google Fonts), sous-ensemble latin (français compris).
   Licence : fonts/OFL.txt */
@font-face { font-family: "Montserrat"; src: url("./fonts/Montserrat-Regular.woff2") format("woff2");  font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("./fonts/Montserrat-Medium.woff2") format("woff2");   font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("./fonts/Montserrat-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("./fonts/Montserrat-Bold.woff2") format("woff2");     font-weight: 700; font-style: normal; font-display: swap; }

:root {
  /* ── Palette de base ───────────────────────────── */
  --namour-prune:       #5A1838; /* couleur de la marque, immédiatement associée à Namour */
  --namour-ivoire:      #FAF7F2; /* respiration, fonds */
  --namour-rose-poudre: #E8C8D3; /* touches humaines, avec parcimonie */
  --namour-or:          #C9A35E; /* la valeur : points, récompenses, paliers, éléments importants */
  --namour-brun:        #211C1E; /* texte principal */

  /* Dérivé pour l'accessibilité : l'or sur ivoire n'est pas lisible (contraste 2,2:1).
     Pour un TEXTE doré sur fond clair, utiliser cette teinte (4,55:1). */
  --namour-or-texte:    #8D6C2F;

  /* Dérivés d'interface (contrastes vérifiés sur ivoire et sur blanc, WCAG AA) */
  --namour-prune-fonce: #43102A; /* survol du bouton principal */
  --namour-gris-chaud:  #5E5357; /* texte secondaire : 6,8:1 sur ivoire */
  --namour-trait:       #E4DCD3; /* bordures et séparateurs (décoratifs) */
  --namour-trait-fort:  #8C7F84; /* bordure des champs : 3,6:1, visible sans être lourde */
  --namour-rouge:       #A3242B; /* erreurs : 6,9:1 sur ivoire */
  --namour-vert:        #2F6B4E; /* confirmations : 5,8:1 sur ivoire */

  /* ── Rôles (à utiliser dans les composants) ────── */
  --color-bg:              var(--namour-ivoire);
  --color-surface:         #FFFFFF;
  --color-text:            var(--namour-brun);
  --color-text-muted:      var(--namour-gris-chaud);
  --color-heading:         var(--namour-prune);
  --color-primary:         var(--namour-prune);   /* boutons principaux, liens */
  --color-primary-hover:   var(--namour-prune-fonce);
  --color-on-primary:      var(--namour-ivoire);
  --color-accent-soft:     var(--namour-rose-poudre);
  --color-on-accent-soft:  var(--namour-brun);
  --color-value:           var(--namour-or);      /* pastilles de points, icônes de récompense, bordures de palier */
  --color-on-value:        var(--namour-brun);    /* texte posé sur un fond or */
  --color-value-text:      var(--namour-or-texte);/* chiffre de points sur fond clair */
  --color-border:          var(--namour-trait);
  --color-field-border:    var(--namour-trait-fort);
  --color-danger:          var(--namour-rouge);
  --color-success:         var(--namour-vert);
  --color-focus:           var(--namour-prune);

  /* ── Typographie ───────────────────────────────── */
  --font-family:   "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-regular:  400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;
  --font-size-sm:   0.875rem;
  --font-size-base: 1rem;
  --font-size-lg:   1.25rem;
  --font-size-xl:   1.75rem;
  --font-size-2xl:  2.5rem;   /* solde de points */
  --line-height:    1.5;

  /* ── Mesures ───────────────────────────────────── */
  --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;
  --radius-sm: 6px;
  --radius:    12px;
  --radius-pill: 999px;
  --tap-size:  44px;          /* cible tactile minimale (WCAG 2.5.5) */
  --shadow-card: 0 1px 2px rgb(33 28 30 / 0.06), 0 4px 16px rgb(90 24 56 / 0.06);
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-family);
  font-weight: var(--font-regular);
  line-height: var(--line-height);
}

/* Les soldes et montants ne doivent pas « danser » quand ils changent */
.namour-number { font-variant-numeric: tabular-nums; }
