/**
 * Polices Charte Graphique Construire en Chanvre
 * Leixo pour les gros titres, Candara pour le texte courant
 *
 * @author EcoWeb CenC
 * @version 1.0
 * @date 2025-09-25
 */

/* ============================================================================
   LEIXO - Police principale pour les gros titres
   ============================================================================ */

@font-face {
  font-family: 'Leixo';
  src: url('../fonts/LEIXO-Regular.woff2') format('woff2'),
       url('../fonts/LEIXO-Regular.woff') format('woff'),
       url('../fonts/leixo-regular-webfont.woff2') format('woff2'),
       url('../fonts/leixo-regular-webfont.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ============================================================================
   CANDARA - Police pour le texte courant
   ============================================================================ */

/* Candara Regular */
@font-face {
  font-family: 'Candara';
  src: url('../fonts/Candara.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Candara Bold */
@font-face {
  font-family: 'Candara';
  src: url('../fonts/Candara-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Candara Italic */
@font-face {
  font-family: 'Candara';
  src: url('../fonts/Candara-Italic.woff') format('woff'),
       url('../fonts/Candara-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Candara Bold Italic */
@font-face {
  font-family: 'Candara';
  src: url('../fonts/Candara-BoldItalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* ============================================================================
   VARIABLES CSS - POLICES CHARTE GRAPHIQUE
   ============================================================================ */

:root {
  /* Polices principales selon la charte graphique */
  --font-title: 'Leixo', Georgia, 'Times New Roman', serif;
  --font-body: 'Candara', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

  /* Hiérarchie typographique */
  --font-heading-primary: var(--font-title);    /* H1, H2 - Gros titres */
  --font-heading-secondary: var(--font-body);   /* H3, H4, H5, H6 - Sous-titres */
  --font-text: var(--font-body);                /* Paragraphes, texte courant */
  --font-ui: var(--font-body);                  /* Interface, formulaires */

  /* Tailles de police selon la charte */
  --font-size-title-xl: 2.5rem;     /* 40px - Titres principaux */
  --font-size-title-lg: 2rem;       /* 32px - Sous-titres majeurs */
  --font-size-title-md: 1.5rem;     /* 24px - Titres de section */
  --font-size-title-sm: 1.25rem;    /* 20px - Sous-titres */
  --font-size-body-lg: 1.125rem;    /* 18px - Texte important */
  --font-size-body: 1rem;           /* 16px - Texte normal */
  --font-size-body-sm: 0.875rem;    /* 14px - Texte secondaire */

  /* Poids de police */
  --font-weight-normal: 400;
  --font-weight-bold: 700;

  /* Hauteur de ligne optimisée */
  --line-height-tight: 1.2;         /* Titres */
  --line-height-normal: 1.6;        /* Texte courant */
  --line-height-loose: 1.8;         /* Texte aéré */
}

/* ============================================================================
   CLASSES UTILITAIRES TYPOGRAPHIQUES
   ============================================================================ */

/* Classes pour forcer l'utilisation des polices de la charte */
.font-title {
  font-family: var(--font-title) !important;
}

.font-body {
  font-family: var(--font-body) !important;
}

/* Classes pour la hiérarchie des titres */
.title-primary {
  font-family: var(--font-heading-primary);
  font-size: var(--font-size-title-xl);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-tight);
}

.title-secondary {
  font-family: var(--font-heading-primary);
  font-size: var(--font-size-title-lg);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-tight);
}

.title-section {
  font-family: var(--font-heading-secondary);
  font-size: var(--font-size-title-md);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
}

.title-subsection {
  font-family: var(--font-heading-secondary);
  font-size: var(--font-size-title-sm);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-normal);
}

/* Texte courant selon la charte */
.text-body {
  font-family: var(--font-text);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
}

.text-important {
  font-family: var(--font-text);
  font-size: var(--font-size-body-lg);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
}

.text-small {
  font-family: var(--font-text);
  font-size: var(--font-size-body-sm);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
}