/* ============================================================
   BOT FEST NANTES — DESIGN TOKENS  (V1.5)
   Identité « Festival robotique » : violet profond + rose vif.
   Architecture inspirée du Baule Robotic Summit.

   SOURCE UNIQUE DE VÉRITÉ. Aucune couleur / taille / espacement
   en dur dans les composants : tout passe par une variable d'ici.
   Pour réajuster l'identité, on ne modifie QUE ce fichier.
   ============================================================ */
:root{
  /* ---- Couleurs de marque ---- */
  --bf-primary:#4B0D4A;         /* violet — texte blanc dessus ~14:1 */
  --bf-primary-700:#350935;     /* survol / pressed */
  --bf-primary-300:#D9B8D8;     /* texte clair sur fond violet */
  --bf-accent:#E4005A;          /* rose vif — CTA, badges (texte blanc) */
  --bf-accent-700:#B80049;      /* survol du rose */
  --bf-accent-ink:#FFFFFF;      /* texte posé SUR le rose */
  --bf-gold:#FF7AA8;            /* rose clair — filets, soulignés, mise en avant */
  --bf-secondary:#E4005A;       /* rose — surtitres / icônes / focus */

  /* ---- Neutres ---- */
  --bf-ink:#241023;             /* texte principal / pied de page */
  --bf-muted:#6B5A69;           /* texte secondaire */
  --bf-sand-50:#FAF7FA;         /* fond de page */
  --bf-sand-100:#F3ECF2;        /* surfaces / sections alternées */
  --bf-line:#E5DCE4;            /* filets, séparateurs */
  --bf-white:#FFFFFF;

  /* ---- États ---- */
  --bf-success:#1E8A5B; --bf-error:#C8362D;
  --bf-success-bg:#E7F3EC; --bf-error-bg:#FBE9E8;

  /* ---- Rôles sémantiques ---- */
  --color-bg:var(--bf-sand-50);
  --color-surface:var(--bf-white);
  --color-surface-alt:var(--bf-sand-100);
  --color-text:var(--bf-ink);
  --color-text-muted:var(--bf-muted);
  --color-border:var(--bf-line);
  --color-cta:var(--bf-primary); --color-cta-hover:var(--bf-primary-700); --color-cta-text:var(--bf-white);
  --color-link:var(--bf-accent); --color-focus:var(--bf-secondary);
  --color-badge:var(--bf-accent); --color-badge-text:var(--bf-accent-ink); --color-highlight:var(--bf-gold);
  --color-dark-bg:var(--bf-primary); --color-dark-text:var(--bf-white); --color-dark-muted:var(--bf-primary-300);

  /* ---- Typographie ---- */
  --font-display:'Montserrat',system-ui,-apple-system,Segoe UI,sans-serif;
  --font-body:'Montserrat',system-ui,-apple-system,Segoe UI,sans-serif;
  --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700; --weight-black:800;

  --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-lg:1.125rem; --text-xl:1.375rem;
  --text-2xl:clamp(1.5rem,1.2rem + 1.4vw,1.875rem);
  --text-3xl:clamp(1.875rem,1.4rem + 2.2vw,2.5rem);
  --text-4xl:clamp(2.25rem,1.5rem + 3.4vw,3.25rem);
  --text-hero:clamp(2.5rem,1.4rem + 5vw,4.25rem);
  --leading-tight:1.1; --leading-snug:1.25; --leading-normal:1.6; --leading-relaxed:1.75; --tracking-caps:.14em;

  /* ---- Espacement (base 8px) ---- */
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.5rem;
  --space-6:2rem; --space-7:3rem; --space-8:4rem; --space-9:6rem;

  /* ---- Rayons / ombres ---- */
  --radius-sm:8px; --radius-md:14px; --radius-lg:24px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(75,13,74,.06); --shadow-card:0 8px 24px rgba(75,13,74,.12);
  --shadow-lg:0 16px 40px rgba(75,13,74,.16); --focus-ring:0 0 0 3px rgba(228,0,90,.40);

  /* ---- Layout ---- */
  --container:1120px; --container-narrow:720px; --container-pad:var(--space-4);
}
