/* ============================================================
   CHARTE GRAPHIQUE AAC — feuille de style commune
   Association des Agriculteurs de Chartreuse
   & Réseau des Fermes de Chartreuse

   Version 1.2 — juillet 2026
   Source des couleurs : logo AAC (pixels mesurés) + logo Réseau
   des Fermes (SVG vectoriel) + Presentation_AAC.html existante.

   Usage : <link rel="stylesheet" href="aac.css">
   Puis poser une classe de marque sur <body> :
     class="marque-aac"     → identité Association (violet + citron)
     class="marque-fermes"  → identité Réseau des Fermes (violet + vert)
   ============================================================ */

/* ─── 1. JETONS DE MARQUE ─────────────────────────────────── */
:root{
/* >>> jetons engendrés depuis charte/palette.json — ne pas modifier à la main */
  /* Les quatre valeurs de la charte d'identité visuelle de décembre 2013.
     Données en quadri dans le document, ce qui fait foi à l'impression ;
     le RVB ci-dessous en est le rendu, par le même moteur que le logo. */
  --violet:        #54166E;   /* C70 M100 J0 N30 */
  --vert:          #B2D234;   /* C35 M0 J100 N0 — « Vert 1 » */
  --vert-2:        #C6D92C;   /* C27 M0 J100 N0 — « Vert 2 » */
  --encre:         #231F20;   /* noir quadri */

  /* Dérivés : même teinte, clarté calculée pour atteindre un contraste
     visé. Aucun n'est choisi à l'œil. Voir outils/palette.py. */
  --violet-fonce:  #44005C;   /* 15,0:1 sur blanc */
  --violet-moyen:  #864AA3;   /*  6,0:1 — liens */
  --violet-clair:  #EEDEF7;   /* fond d'encadré */
  --vert-fonce:    #5F7900;   /*  5,0:1 — SEUL vert écrivable sur blanc */
  --vert-clair:    #E9F1D8;   /* fond d'encadré */
  --vert-pale:     #EEF5E1;   /* fond de page */

  /* Hors charte, assumés : neutres chauds et accent d'alerte. */
  --creme:         #F7F5F0;
  --creme-fonce:   #EAE5D8;
  --gris:          #7A7268;   /*  4,7:1 — texte secondaire */
  --gris-clair:    #C9C1B3;
  --blanc:         #FFFFFF;
  --ambre:         #FEF3DC;
  --ambre-fonce:   #9A5F0F;   /*  5,2:1 */

  /* Rôles — ne jamais écrire une couleur en dur dans un gabarit. */
  --c-primaire:    var(--violet);
  --c-primaire-dk: var(--violet-fonce);
  --c-accent:      var(--vert);
  --c-accent-dk:   var(--vert-fonce);
  --c-accent-lt:   var(--vert-clair);
  --c-fond:        var(--blanc);
  --c-fond-doux:   var(--creme);
  --c-texte:       var(--encre);
  --c-texte-doux:  var(--gris);
  --c-filet:       rgba(35,31,32,.14);
/* <<< fin des jetons engendrés */

  /* Typographie — substituts arrêtés le 04-09-2026.
     Les polices de la charte, Aldo et Sari, ne peuvent pas sortir
     de l'association : Aldo est donationware et interdit la
     redistribution, Sari est commerciale. Elles restent sur les
     postes ; tout ce qui est diffusé emploie ces deux-ci.

       Rajdhani      remplace Aldo — squelette carré, contreformes
                     rectangulaires, semi-condensée.
       Alegreya Sans remplace Sari — humaniste, fûts légèrement
                     évasés, chaleureuse à petit corps.

     Les deux sont sous licence SIL OFL : installables partout,
     redistribuables, gratuites définitivement.

     NE PAS renommer ces variables en --serif / --sans : aucune
     des deux polices n'est une serif, et l'ancien nom envoyait
     droit dans le mur celui qui cherchait à comprendre.
     La chaîne se termine par DejaVu, seule famille présente sur
     le VPS : un document reste juste même là où rien n'est
     installé. */
  --titre: 'Rajdhani', 'DejaVu Sans Condensed', system-ui, Arial, sans-serif;
  --texte: 'Alegreya Sans', Carlito, 'DejaVu Sans', system-ui, Arial, sans-serif;
  --mono:  'JetBrains Mono', 'DejaVu Sans Mono', ui-monospace, monospace;

  /* Rythme — toutes les marges du kit sont des multiples de --u. */
  --u: 4px;
  --rayon: 4px;
}

/* ─── BASCULE DE PORTE ─────────────────────────────────────
   Ce n'est pas la palette qui distingue les deux portes, c'est
   le DOSAGE. Mêmes couleurs, proportions inversées :
     porte Association     75 % violet / 25 % citron
     porte Réseau des Fermes  25 % violet / 75 % citron
   Le ratio porte sur la SURFACE COLORÉE, jamais sur la page :
   le blanc et le crème sont un fond neutre, ils ne comptent pas.

   Contrainte technique qui découle du citron (#B2D234, très lumineux) :
     encre sur aplat citron ....... 8,8:1  excellent
     violet sur aplat citron ...... 6,8:1  excellent
     citron en TEXTE sur blanc .... 1,8:1  INTERDIT
     #5F7900 en texte sur blanc ... 2,8:1  insuffisant
     #5F7900 en texte sur blanc ... 5,8:1  seule option famille citron
   → Le citron ne s'écrit pas, il se pose. */

.marque-aac{
  --c-dominante:      var(--violet);
  --c-dominante-lt:   var(--violet-clair);
  --c-dominante-pale: #faf7fc;
  --c-ponctuation:    var(--vert);
  --c-ponctuation-lt: var(--vert-clair);
  --c-texte-accent:   var(--violet);
}
.marque-fermes{
  --c-dominante:      var(--vert);
  --c-dominante-lt:   var(--vert-clair);
  --c-dominante-pale: var(--vert-pale);
  --c-ponctuation:    var(--violet);
  --c-ponctuation-lt: var(--violet-clair);
  --c-texte-accent:   var(--vert-fonce);   /* jamais le citron en texte */
  --c-accent:         var(--vert);
  --c-accent-dk:      var(--vert-fonce);
  --c-accent-lt:      var(--vert-clair);
}
/* Sur la porte Réseau, les grands aplats sont citron et le texte
   qui s'y pose est sombre — jamais blanc. */
.marque-fermes .hero,
.marque-fermes .page-pied{background:var(--vert)}
.marque-fermes .hero h1,
.marque-fermes .hero h2{color:var(--violet-fonce)}
.marque-fermes .hero .surtitre{color:var(--violet)}
.marque-fermes .hero .accroche{color:rgba(58,23,72,.72)}
.marque-fermes .page-pied .g{color:rgba(58,23,72,.68)}
.marque-fermes .page-pied .m,
.marque-fermes .page-pied .d{color:var(--violet)}
.marque-fermes .page-corps{background:var(--vert-pale)}

/* ─── 2. BASE ─────────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body{font-family:var(--texte);color:var(--c-texte);background:var(--c-fond);line-height:1.5}

h1,h2,h3,.serif{font-family:var(--titre);font-weight:700;line-height:1.15;color:var(--c-primaire)}
h1{font-size:24pt} h2{font-size:17pt} h3{font-size:12pt}
p{margin-bottom:calc(var(--u)*2)}
a{color:var(--violet-moyen)}
strong,b{color:var(--c-texte)}

/* ─── 3. IDENTITÉ ─────────────────────────────────────────── */
/* Surtitre : toujours en capitales espacées, jamais en gras seul. */
.surtitre{
  font-size:8pt;letter-spacing:.22em;text-transform:uppercase;
  color:var(--c-accent-dk);font-weight:700;margin-bottom:calc(var(--u)*2);
}
.bandeau{height:6px;background:linear-gradient(90deg,var(--violet),var(--c-accent))}
.filet-or{height:3px;width:9em;background:linear-gradient(90deg,var(--violet),var(--c-accent));margin:calc(var(--u)*3) 0}

.logo-aac{height:14mm;width:auto}
.logo-fermes{height:18mm;width:auto}

/* ─── 4. BLOCS DE CONTENU ─────────────────────────────────── */
.encadre{
  padding:calc(var(--u)*2) calc(var(--u)*3);
  border-left:3px solid var(--c-primaire);
  background:var(--creme);
  border-radius:0 var(--rayon) var(--rayon) 0;
  font-family:var(--titre);font-size:10pt;line-height:1.5;
  margin:calc(var(--u)*2) 0 calc(var(--u)*3);
}
.encadre.accent{border-left-color:var(--c-accent-dk);background:var(--c-accent-lt)}
.encadre.alerte{border-left-color:var(--ambre-fonce);background:var(--ambre);color:#5a3a08}
.encadre.info  {border-left-color:var(--violet-moyen);background:var(--violet-clair);color:var(--violet-fonce)}

/* Étiquette d'état — un seul jeu, réutilisé partout. */
.etat{
  display:inline-block;font-size:7pt;font-weight:700;padding:1px 6px;
  border-radius:8px;text-transform:uppercase;letter-spacing:.06em;color:#fff;font-family:var(--texte);
}
.etat.fait     {background:var(--vert-fonce)}
.etat.encours  {background:var(--ambre-fonce)}
.etat.nonlance {background:var(--gris)}
.etat.bloquant {background:#8a3a2a}
.etat.avoter   {background:var(--violet)}

/* Listes */
ul.fleches{list-style:none}
ul.fleches li{font-size:9.5pt;line-height:1.5;padding-left:14px;position:relative;margin-bottom:3px}
ul.fleches li::before{content:'→';position:absolute;left:0;color:var(--c-accent-dk);font-size:8pt;top:1px}

/* Tableaux */
table{width:100%;border-collapse:collapse;margin-bottom:calc(var(--u)*2)}
th{
  background:var(--c-primaire);color:#fff;font-size:7.3pt;text-transform:uppercase;
  letter-spacing:.08em;padding:4px 6px;text-align:left;font-weight:700;
}
td{font-size:8.2pt;padding:4px 6px;border-bottom:1px solid var(--c-filet);vertical-align:top;line-height:1.4}
tr:nth-child(even) td{background:rgba(42,35,32,.025)}
td.date{white-space:nowrap;font-weight:700;color:var(--c-primaire)}

/* Chiffres clés */
.chiffres{display:flex;gap:calc(var(--u)*2);margin:calc(var(--u)*2) 0}
.chiffre{flex:1;border:1px solid var(--c-filet);border-top:3px solid var(--c-accent);padding:7px 9px;border-radius:0 0 var(--rayon) var(--rayon)}
.chiffre .n{font-family:var(--titre);font-size:17pt;font-weight:700;color:var(--c-primaire);line-height:1}
.chiffre .l{font-size:7.5pt;color:var(--c-texte-doux);margin-top:3px;line-height:1.3}

/* ─── 5. PAGE A4 ──────────────────────────────────────────── */
@page{size:A4;margin:0}
.page{
  width:210mm;height:297mm;position:relative;overflow:hidden;
  page-break-after:always;display:flex;flex-direction:column;background:#fff;
}
.page:last-child{page-break-after:avoid}

.page-entete{
  padding:10px 16mm 8px;border-bottom:1px solid var(--c-filet);
  display:flex;justify-content:space-between;align-items:center;flex-shrink:0;
}
.page-entete .org{font-size:8pt;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.page-entete .rep{font-size:7.5pt;color:var(--gris-clair);font-style:italic}

.page-corps{flex:1;padding:5mm 15mm 4mm;display:flex;flex-direction:column;overflow:hidden}

.page-pied{
  background:var(--c-primaire);padding:7px 16mm;display:flex;
  align-items:center;justify-content:space-between;flex-shrink:0;
}
.page-pied .g{font-size:7.5pt;color:rgba(255,255,255,.55);letter-spacing:.1em;text-transform:uppercase}
.page-pied .m{font-family:var(--titre);font-size:11pt;font-weight:700;color:var(--c-accent);letter-spacing:.18em}
.page-pied .d{font-size:7.5pt;color:rgba(255,255,255,.45);font-style:italic}

/* Bandeau de titre de section */
.hero{padding:11mm 16mm 8mm;flex-shrink:0;position:relative;overflow:hidden;background:var(--c-primaire)}
.hero::after{
  content:'';position:absolute;top:0;right:0;bottom:0;width:170px;
  background:rgba(255,255,255,.05);clip-path:polygon(40% 0,100% 0,100% 100%,0 100%);
}
.hero .surtitre{color:rgba(255,255,255,.6)}
.hero h1,.hero h2{color:#fff}
.hero .accroche{font-family:var(--titre);font-style:italic;font-size:10pt;color:rgba(255,255,255,.68);margin-top:5px}
.hero .barre{height:2px;background:rgba(255,255,255,.22);margin-top:9px}

/* ─── 6. IMPRESSION ───────────────────────────────────────── */
@media print{
  body{background:#fff}
  .page{box-shadow:none;margin:0}
  .sans-impression{display:none!important}
}
