/* =========================================================
   JEA — Composants des pages internes
   Prolonge la direction artistique « L'Éveil »
   ========================================================= */

/* ---------- Bannière de page ---------- */
.page-heros{
  position:relative;overflow:hidden;color:#F3E9DB;text-align:center;
  background:
    radial-gradient(760px 340px at 72% 4%,rgba(232,179,37,.17),transparent 62%),
    linear-gradient(158deg,var(--brun-f) 0%,var(--brun) 60%,#4E331F 100%);
  padding:82px 0 76px;
}
.page-heros::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(135deg,rgba(232,179,37,.022) 25%,transparent 25%),
    linear-gradient(225deg,rgba(232,179,37,.022) 25%,transparent 25%);
  background-size:78px 78px;
}
.page-heros .contenu{position:relative;z-index:2}
.page-heros h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.4rem)}
.page-heros p{color:#DFCFB9;max-width:640px;margin:16px auto 0}
.fil{margin-top:20px;font-size:.85rem;color:#B8A48C}
.fil a{color:var(--or)}

/* ---------- Prose (pages de contenu) ---------- */
.prose{max-width:820px;margin:0 auto}
.prose p{margin-bottom:18px}
.prose h3{margin:34px 0 14px}
.prose ul{margin:0 0 20px 22px}
.prose li{margin-bottom:9px}
.encadre{
  background:var(--papier);border-left:4px solid var(--or);
  padding:24px 28px;margin:28px 0;box-shadow:var(--ombre-s);
}
.encadre strong{display:block;font-family:var(--serif);font-size:1.08rem;color:var(--brun);margin-bottom:8px}

/* ---------- Frise (partagée) ---------- */
.frise{max-width:860px;margin:0 auto;position:relative;padding-left:44px}
.frise::before{content:"";position:absolute;left:11px;top:10px;bottom:10px;width:2px;background:var(--ligne)}
.jalon{position:relative;padding-bottom:40px}
.jalon::before{
  content:"";position:absolute;left:-44px;top:4px;width:22px;height:22px;border-radius:50%;
  background:var(--or);border:4px solid var(--creme);box-shadow:0 0 0 2px var(--or);
}
.jalon.fort::before{background:var(--vert);box-shadow:0 0 0 2px var(--vert)}
.jalon .an{font-family:var(--serif);font-weight:800;color:var(--vert-f);font-size:1.3rem;line-height:1}
.jalon h3{font-family:var(--sans);font-size:1.05rem;font-weight:700;margin:6px 0}
.jalon p{color:var(--doux);font-size:.96rem;margin:0}

/* ---------- Section programme (page Nos programmes) ---------- */
.sect-prog{margin-bottom:70px}
.sect-tete{display:grid;grid-template-columns:88px 1fr;gap:26px;align-items:start;margin-bottom:30px}
.sect-num{
  width:88px;height:88px;display:grid;place-items:center;
  font-family:var(--serif);font-size:2.1rem;font-weight:800;color:#fff;
}
.sect-tete h2{margin-bottom:10px;font-size:clamp(1.5rem,2.6vw,2.1rem)}
.sect-tete p{color:var(--doux);margin:0}

.impact{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}
.imp{background:var(--papier);border:1px solid var(--ligne);padding:24px;text-align:center}
.imp .v{font-family:var(--serif);font-size:2rem;font-weight:800;line-height:1;color:var(--vert-f)}
.imp .d{font-size:.86rem;color:var(--doux);margin-top:8px}
.imp.a-completer .v{color:var(--doux);font-size:1.5rem}

.realisations{display:grid;gap:14px;margin-top:24px}
.real{
  display:grid;grid-template-columns:110px 1fr;gap:22px;
  background:var(--papier);border:1px solid var(--ligne);padding:22px 26px;
}
.real .date{font-family:var(--serif);font-weight:700;color:var(--or-f);font-size:1rem}
.real strong{display:block;color:var(--brun);margin-bottom:5px;font-size:1.02rem}
.real p{color:var(--doux);font-size:.94rem;margin:0}

/* zone photo à fournir */
.photo-a-venir{
  border:2px dashed var(--ligne);background:linear-gradient(160deg,#F7F1E5,#EFE7D8);
  display:grid;place-items:center;text-align:center;color:var(--doux);
  font-size:.88rem;padding:34px;min-height:190px;
}
.photo-a-venir strong{display:block;font-family:var(--serif);color:var(--brun);font-size:1.02rem;margin-bottom:6px}

/* ---------- Organigramme ---------- */
.orga{display:flex;flex-direction:column;align-items:center;gap:0}
.orga-case{
  background:var(--papier);border:1px solid var(--ligne);
  padding:16px 30px;text-align:center;min-width:260px;box-shadow:var(--ombre-s);
}
.orga-case strong{display:block;font-family:var(--serif);color:var(--brun);font-size:1.05rem}
.orga-case span{font-size:.82rem;color:var(--doux)}
.orga-case.maitre{background:var(--brun);border-color:var(--brun)}
.orga-case.maitre strong{color:#fff}
.orga-case.maitre span{color:var(--or)}
.orga-case.controle{border-color:var(--vert);background:#F1F8F2}
.orga-trait{width:2px;height:26px;background:var(--ligne)}
.orga-rang{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* ---------- Personnes ---------- */
.personnes{display:grid;gap:22px}
.pers{background:var(--papier);border:1px solid var(--ligne);padding:30px 24px;text-align:center;transition:.25s}
.pers:hover{transform:translateY(-4px);box-shadow:var(--ombre-m);border-color:var(--or)}
.pers .medaillon{
  width:92px;height:92px;border-radius:50%;margin:0 auto 16px;
  background:linear-gradient(140deg,var(--or),var(--or-f));
  display:grid;place-items:center;font-family:var(--serif);
  font-size:1.7rem;font-weight:800;color:var(--brun-f);box-shadow:var(--ombre-s);
}
.pers .medaillon img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.pers strong{display:block;font-family:var(--serif);color:var(--brun);font-size:1.08rem;margin-bottom:4px}
.pers span{font-size:.88rem;color:var(--or-f);font-weight:600}

/* ---------- Tableaux ---------- */
.tableau{overflow-x:auto;margin:24px 0}
table{width:100%;border-collapse:collapse;background:var(--papier);box-shadow:var(--ombre-s)}
th,td{padding:15px 20px;text-align:left;border-bottom:1px solid var(--ligne);font-size:.96rem}
th{background:var(--brun);color:#fff;font-family:var(--sans);font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
tr:last-child td{border-bottom:none}
tr:nth-child(even) td{background:rgba(232,179,37,.045)}

/* ---------- Actualités ---------- */
.une{
  display:block;background:linear-gradient(140deg,var(--vert-f),var(--vert));
  color:#fff;padding:52px;position:relative;overflow:hidden;margin-bottom:44px;transition:.3s;
}
.une::after{
  content:"";position:absolute;inset:0;opacity:.035;
  background-image:linear-gradient(135deg,#fff 25%,transparent 25%),linear-gradient(225deg,#fff 25%,transparent 25%);
  background-size:92px 92px;
}
.une:hover{transform:translateY(-4px);box-shadow:var(--ombre-l)}
.une > *{position:relative;z-index:2}
.une .etiq{
  display:inline-block;background:var(--or);color:var(--brun-f);
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 15px;margin-bottom:18px;
}
.une h2{color:#fff;margin-bottom:12px}
.une p{color:#DCEEDF;max-width:640px;margin-bottom:22px}
.une .aller{display:inline-block;font-weight:600;color:var(--or)}

.actu{background:var(--papier);border:1px solid var(--ligne);padding:32px;transition:.3s;height:100%}
.actu:hover{transform:translateY(-5px);box-shadow:var(--ombre-m);border-color:transparent}
.actu .cat{
  display:block;font-size:.68rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--or-f);margin-bottom:10px;
}
.actu h3{margin-bottom:10px;font-size:1.15rem}
.actu p{color:var(--doux);font-size:.95rem;margin-bottom:14px}
.actu .aller{font-weight:600;font-size:.9rem;color:var(--rouge)}

/* ---------- Engagement (S'impliquer) ---------- */
.voie{background:var(--papier);border:1px solid var(--ligne);padding:38px 34px;transition:.3s;height:100%}
.voie:hover{transform:translateY(-5px);box-shadow:var(--ombre-m);border-color:var(--or)}
.voie .pic{
  width:56px;height:56px;display:grid;place-items:center;
  font-size:1.5rem;margin-bottom:18px;color:#fff;
}
.voie h3{margin-bottom:12px}
.voie p{color:var(--doux);font-size:.97rem;margin-bottom:18px}

/* ---------- Formulaire ---------- */
.form-carte{
  background:var(--papier);border:1px solid var(--ligne);
  padding:42px;box-shadow:var(--ombre-s);
}
.champ{margin-bottom:22px}
.champ label{display:block;font-weight:600;font-size:.9rem;margin-bottom:8px;color:var(--brun)}
.champ input,.champ textarea,.champ select{
  width:100%;padding:14px 17px;border:1.5px solid var(--ligne);
  font-family:inherit;font-size:1rem;background:#fff;color:var(--encre);transition:.2s;
}
.champ input:focus,.champ textarea:focus,.champ select:focus{
  outline:none;border-color:var(--or);box-shadow:0 0 0 3px rgba(232,179,37,.16);
}
.champ textarea{resize:vertical;min-height:140px}
.piege{position:absolute;left:-9999px}
#form-message{display:none;padding:17px 21px;margin-bottom:24px;font-size:.96rem}

/* ---------- Coordonnées ---------- */
.coord{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}
.coord .ic{
  width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;
  background:rgba(232,179,37,.16);color:var(--or-f);font-size:1.1rem;
}
.coord strong{display:block;color:var(--brun);margin-bottom:3px}
.coord span{color:var(--doux);font-size:.96rem}

/* ---------- Don ---------- */
.don-usage{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:34px 0}
.usage{text-align:center;padding:30px 22px;background:var(--papier);border:1px solid var(--ligne)}
.usage .pic{font-size:1.8rem;margin-bottom:12px;color:var(--or-f)}
.usage strong{display:block;font-family:var(--serif);color:var(--brun);font-size:1.06rem;margin-bottom:8px}
.usage p{color:var(--doux);font-size:.93rem;margin:0}

/* ---------- 404 ---------- */
.erreur{text-align:center;padding:120px 0}
.erreur .code{font-family:var(--serif);font-size:7rem;font-weight:800;color:var(--or);line-height:1}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .impact,.don-usage{grid-template-columns:1fr 1fr}
  .sect-tete{grid-template-columns:64px 1fr;gap:18px}
  .sect-num{width:64px;height:64px;font-size:1.6rem}
}
@media(max-width:780px){
  .impact,.don-usage{grid-template-columns:1fr}
  .real{grid-template-columns:1fr;gap:6px}
  .form-carte{padding:26px 22px}
  .une{padding:34px 26px}
  .erreur{padding:70px 0}
  .erreur .code{font-size:4.6rem}
}

/* ---------- Mise en page en deux colonnes ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media(max-width:1000px){.split{grid-template-columns:1fr;gap:40px}}

/* ---------- Sous-titres de rubrique ---------- */
.sous-titre{
  font-family:var(--sans);font-size:.76rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--or-f);margin:26px 0 14px;
}

/* ---------- Liste « projets en cours » ---------- */
.liste-fleche{list-style:none;display:grid;gap:12px}
.liste-fleche li{position:relative;padding-left:34px;color:var(--encre);font-size:1rem}
.liste-fleche li::before{
  content:"→";position:absolute;left:0;top:0;color:var(--or-f);font-weight:700;font-size:1.05rem;
}

/* ---------- Galerie photo ---------- */
.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.cliche{margin:0;overflow:hidden;border:1px solid var(--ligne);line-height:0}
.cliche img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s}
.cliche:hover img{transform:scale(1.05)}
@media(max-width:900px){.galerie{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.galerie{grid-template-columns:1fr}}

/* ---------- Liste « activités réalisées » (coches) ---------- */
.liste-check{list-style:none;display:grid;gap:12px;margin:0 0 4px}
.liste-check li{position:relative;padding-left:38px;color:var(--encre);font-size:1rem}
.liste-check li::before{
  content:"✓";position:absolute;left:0;top:1px;width:24px;height:24px;
  background:var(--vert);color:#fff;display:grid;place-items:center;
  font-size:.76rem;font-weight:800;border-radius:50%;
}
.deux-col{columns:2;column-gap:46px}
.deux-col li{break-inside:avoid;margin-bottom:12px}
@media(max-width:900px){.deux-col{columns:1}}
