/* Typographie – moderne, sobre, auto-hébergée.
   Fonctionne même sans les fichiers de police (fallback système propre). */

/* ===== Polices (Inter Variable si dispo en /public/fonts/) ===== */
/* Commenté car les fichiers de police ne sont pas présents
@font-face {
  font-family: "Inter";
  src:
    url("/fonts/Inter-roman.var.woff2") format("woff2 supports variations"),
    url("/fonts/Inter-roman.var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src:
    url("/fonts/Inter-italic.var.woff2") format("woff2 supports variations"),
    url("/fonts/Inter-italic.var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
*/

/* ===== Variables ===== */
:root{
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, 
               "Helvetica Neue", Arial, "Noto Sans", sans-serif,
               "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, 
               Consolas, "Liberation Mono", "Courier New", monospace;

  --fs-1: clamp(2rem, 2vw + 1rem, 3.5rem);        /* h1 */
  --fs-2: clamp(1.5rem, 1.5vw + 0.75rem, 2.25rem); /* h2 */
  --fs-3: clamp(1rem, 0.5vw + 0.875rem, 1.125rem); /* body */
  --fs-4: clamp(0.875rem, 0.25vw + 0.8125rem, 0.9375rem); /* small */

  --lh-tight: 1.2;
  --lh-normal: 1.5;
  --lh-relaxed: 1.7;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 900;

  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.05em;

  --radius-xl: 20px;
  --radius-lg: 16px;
  --radius-md: 12px;
  --radius-sm: 8px;
}

/* ===== Application minimale (sans bousculer votre CSS existante) ===== */
html { 
  -webkit-font-smoothing: antialiased; 
  -moz-osx-font-smoothing: grayscale; 
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
}
body {
  font-family: var(--font-sans);
  font-size: var(--fs-3);
  line-height: var(--lh-normal);
  font-weight: var(--fw-regular);
}
h1, h2, h3 { 
  line-height: var(--lh-tight); 
  margin: 0 0 0.5em; 
  font-weight: var(--fw-black);
  letter-spacing: var(--letter-spacing-tight);
}
h1 { font-size: var(--fs-1); }
h2 { font-size: var(--fs-2); font-weight: var(--fw-bold); }
h3 { font-size: 1.25rem; font-weight: var(--fw-semibold); }

p { margin: 0 0 1em; line-height: var(--lh-relaxed); }
small, .small { 
  font-size: var(--fs-4); 
  line-height: var(--lh-relaxed); 
  font-weight: var(--fw-medium);
}

code, pre, kbd, samp { 
  font-family: var(--font-mono); 
  font-size: 0.9em;
  background: rgba(255, 255, 255, 0.05);
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
}

strong, b { font-weight: var(--fw-bold); }
em, i { font-style: italic; }

/* Douces améliorations sans conflit */
.card { border-radius: var(--radius-lg); }
.podium .card { border-radius: var(--radius-xl); }
.kpi { border-radius: var(--radius-md); }
