/*
 * Design tokens — source unique. Valeurs issues de DA/tokens.md.
 * Direction retenue : C « Billet » + Fraunces (titres) + hero dégradé.
 */

/* --- Polices locales (CSP: aucun host externe autorisé) --- */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin_latin-ext-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/poppins-v24-latin_latin-ext-700.woff2') format('woff2');
}
/* Fraunces : deux fichiers statiques (400, 600). Pas de fonte variable —
   au-delà de 600 on n'a pas de fichier, d'où la contrainte « poids ≤ 700 ». */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/fraunces-v38-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/fraunces-v38-latin_latin-ext-600.woff2') format('woff2');
}

:root {
  /* Violet — primaire */
  --tlb-violet-50:  #F3EEFE;
  --tlb-violet-100: #E7DCFC;
  --tlb-violet-200: #CDB6F9;
  --tlb-violet-300: #B08DF4;
  --tlb-violet-400: #9563EE;
  --tlb-violet-500: #7C3AED;
  --tlb-violet-600: #6A28C7;
  --tlb-violet-700: #571FA3;
  --tlb-violet-900: #2E1259;

  /* Jaune — accent / CTA principal */
  --tlb-jaune-100: #FEF3D4;
  --tlb-jaune-300: #FCD34D;
  --tlb-jaune-400: #FBBF24;
  --tlb-jaune-500: #F59E0B;
  --tlb-jaune-600: #B45309;

  /* Teal — secondaire */
  --tlb-teal-50:  #E7FAFC;
  --tlb-teal-100: #C5F2F7;
  --tlb-teal-400: #22B8CF;
  --tlb-teal-500: #12A2B9;
  --tlb-teal-600: #0C7B8F;
  --tlb-teal-700: #0A5F70;

  /* Neutres */
  --tlb-encre:    #1B2430;
  --tlb-attenue:  #647085;
  --tlb-filet:    #E4E7EC;

  /* Bordure des composants INTERACTIFS (boutons, liens bordés, contrôles).
     --tlb-filet (1,24:1 sur blanc) convient aux séparateurs décoratifs, que
     WCAG 1.4.11 exempte, mais PAS à la bordure d'un composant, qui exige 3:1.
     #8A92A1 = 3,13:1 : la valeur la plus claire de la famille qui passe. */
  --tlb-filet-fort: #8A92A1;
  --tlb-fond:     #F1F3F7;
  --tlb-surface:  #FFFFFF;

  /* Rôles sémantiques */
  --tlb-texte:        var(--tlb-encre);
  --tlb-lien:         var(--tlb-violet-500);
  --tlb-lien-survol:  var(--tlb-violet-600);
  --tlb-focus:        var(--tlb-violet-500);
  --tlb-cta-fond:     var(--tlb-jaune-400);
  --tlb-cta-texte:    var(--tlb-encre);      /* JAMAIS blanc sur jaune */
  --tlb-cta-survol:   var(--tlb-jaune-300);
  --tlb-succes:       #0A7B55;
  --tlb-erreur:       #B42318;

  /* Hero — dégradé repris de la direction B */
  /* La fin du dégradé porte du texte blanc : teal-600 et non teal-500, qui ne
     donnait que 3,05:1 — insuffisant pour du texte courant (seuil 4,5:1). */
  --tlb-hero-degrade: linear-gradient(135deg, var(--tlb-violet-600) 0%, var(--tlb-violet-500) 45%, var(--tlb-teal-600) 100%);
  /* Fond neutre : dégradé violet-100 → teal-100. Sert de fond d'attente
     derrière une image qui charge, et de fond à la carte Leaflet. */
  --tlb-placeholder:  linear-gradient(135deg, var(--tlb-violet-100) 0%, var(--tlb-teal-100) 100%);
  /* Visuel de remplacement, quand le spectacle n'a AUCUNE image. Le dégradé
     reste déclaré dessous : si le PNG venait à manquer, on retombe sur lui
     plutôt que sur un carré vide. */
  --tlb-placeholder-visuel: url('../img/tlb.png') center / cover no-repeat,
                            linear-gradient(135deg, var(--tlb-violet-100) 0%, var(--tlb-teal-100) 100%);

  /* Typographie */
  --tlb-police-ui:        'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --tlb-police-editorial: 'Fraunces', Georgia, 'Times New Roman', serif;

  /* Formes */
  --tlb-rayon-carte:  14px;
  --tlb-rayon-bouton: 12px;
  --tlb-ombre-carte:  0 1px 2px rgba(27, 36, 48, .05), 0 10px 24px -14px rgba(27, 36, 48, .28);
  --tlb-gouttiere:    1.25rem;
  --tlb-largeur:      1200px;
}
