/* ==========================================================================
   MISSION RIVERS 2.0 — Pages intérieures
   Même grille et mêmes jetons que l'accueil (proposition 4) :
   conteneur 1472 px, gouttière 32 px, cartes à coins arrondis 10 px,
   bandes séparées par des filets nets, titres en capitales Montserrat.
   ========================================================================== */
.page{--maxw:1472px;--gutter:clamp(16px,2.1vw,32px);--r:10px;--gap:16px;background:#040b20}
.page main{background:#061230}
.page .site-header{background:#040b20;border-bottom:1px solid rgba(169,200,255,.14)}
.page .site-header .wrap{height:72px}
.site-header .brand img{height:44px;width:auto;margin-right:8px;filter:none}
.page .site-footer{background:#040b20;border-top:1px solid rgba(232,184,74,.3)}
.page .footer-main{padding:20px 0}

/* ---------- En-tête de page */
.entete-page{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid rgba(232,184,74,.35);background:#050f2a}
.entete-page__fond{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.entete-page::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,6,16,.85) 0%,rgba(2,6,16,.6) 40%,rgba(2,6,16,.15) 75%)}
.entete-page .wrap{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(36px,4.5vw,64px)}
.fil{display:flex;gap:8px;font-size:.72rem;letter-spacing:.08em;color:#aab6d3;margin:0 0 16px;list-style:none;padding:0}
.fil a{color:#d6deef}.fil a:hover{color:var(--gold-300)}
.fil li+li::before{content:"›";margin-right:8px;color:var(--gold-500)}
.entete-page h1{font-family:var(--f-display);font-weight:700;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.06;margin:10px 0 12px;color:#fff;max-width:20ch}
.entete-page h1 .script{font-weight:400;font-size:1.12em}
.entete-page__intro{font-size:1.02rem;line-height:1.6;color:#e4eaf7;max-width:60ch;margin:0}

/* ---------- Navigation interne (ancres) */
.sous-nav{position:sticky;top:72px;z-index:20;background:rgba(4,11,32,.95);backdrop-filter:blur(8px);border-bottom:1px solid rgba(169,200,255,.14)}
.sous-nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:10px 0;overflow-x:auto;scrollbar-width:none}
.sous-nav ul::-webkit-scrollbar{display:none}
.sous-nav a{display:block;white-space:nowrap;padding:8px 14px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#d6deef;border:1px solid transparent}
.sous-nav a:hover{border-color:var(--line);color:#fff}
.sous-nav a.actif{background:rgba(232,184,74,.14);border-color:var(--gold-500);color:var(--gold-300)}

/* ---------- Sections */
.section{border-bottom:1px solid rgba(169,200,255,.14);scroll-margin-top:130px}
.section > .wrap{padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(36px,4vw,56px)}
.section--sombre{background:#050f2a}
.tete-section{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.tete-section .filet-or{display:block;width:40px;height:2px;background:var(--gold-500);margin-bottom:16px}
.t-section{font-family:var(--f-ui);font-weight:500;text-transform:uppercase;letter-spacing:.05em;line-height:1.3;margin:0;color:#fff;font-size:clamp(1.25rem,1.8vw,1.75rem)}
.t-section em{font-style:normal;color:var(--gold-400)}
.chapo{color:#d3dbee;max-width:62ch;margin:10px 0 0;line-height:1.6}
.texte{color:#d9e0f0;line-height:1.7;max-width:68ch}
.texte p{margin:0 0 14px}
.carte{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid rgba(169,200,255,.24);background:#0a1a44}
.grille-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.grille-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.grille-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.duo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}

/* ---------- Chiffres / faits */
.faits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:24px}
.fait{padding:18px 20px}
.fait b{display:block;font-family:var(--f-caps);font-size:1.35rem;color:var(--gold-300);font-weight:400}
.fait span{font-size:.8rem;color:#c9d3ea}
.citation-or{border-left:2px solid var(--gold-500);padding:6px 0 6px 18px;margin:20px 0 0;font-family:var(--f-display);font-style:italic;font-size:1.1rem;color:#f3f6fd}
.citation-or cite{display:block;font-family:var(--f-ui);font-style:normal;font-size:.76rem;color:var(--gold-300);margin-top:6px}

/* ---------- Pasteurs */
.pasteur{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px;align-items:center}
.pasteur img{width:150px;height:150px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(3,10,28,1),0 0 0 3px rgba(242,204,107,.6)}
.pasteur h3{font-family:var(--f-caps);font-weight:400;font-size:1.25rem;margin:0 0 4px;color:#fff;line-height:1.2}
.pasteur .role{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-300);font-weight:600;margin:0 0 10px}
.pasteur .role span{display:block;letter-spacing:.02em;text-transform:none;color:#c9d3ea;font-weight:400;font-size:.82rem;margin-top:2px}
.a-venir{display:inline-block;font-size:.72rem;color:#ffe2ad;border:1px dashed #ffbe5a;border-radius:999px;padding:4px 10px}

/* ---------- Actions numérotées (vraie séquence statutaire) */
.action{padding:20px}
.action__num{font-family:var(--f-caps);font-size:1.6rem;color:var(--gold-400);line-height:1}
.action h3{margin:10px 0 6px;font-size:.92rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.action p{margin:0;font-size:.85rem;line-height:1.55;color:#c9d3ea}

/* ---------- Confession de foi (accordéon) */
.articles{display:grid;gap:10px}
.article{border-radius:var(--r);border:1px solid rgba(169,200,255,.22);background:#0a1a44}
.article summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:12px;align-items:center;padding:14px 18px}
.article summary::-webkit-details-marker{display:none}
.article__n{font-family:var(--f-caps);font-size:1.15rem;color:var(--gold-400);text-align:center}
.article__t{font-weight:600;color:#fff;font-size:.95rem}
.article__plus{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--gold-300);transition:transform .25s}
.article[open] .article__plus{transform:rotate(45deg)}
.article[open]{border-color:rgba(232,184,74,.45)}
.article__corps{padding:0 18px 16px 74px;color:#d3dbee;line-height:1.65;font-size:.92rem}
.article__corps p{margin:0 0 8px}
.article__ref{font-size:.78rem;color:var(--gold-300)}
.telechargements{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

/* ---------- Présence (Paris / Abidjan) */
.lieu{padding:22px}
.lieu h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-family:var(--f-caps);font-weight:400;font-size:1.3rem;color:#fff}
.lieu .drapeau{font-size:1.2rem}
.lieu dl{margin:12px 0 0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.88rem}
.lieu dt{color:var(--gold-300);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;align-self:center}
.lieu dd{margin:0;color:#e3e9f6}
.lieu a:hover{color:var(--gold-300)}

/* ---------- Bandeau d'appel */
.appel{background:linear-gradient(90deg,#071637,#0b2257);border-top:1px solid rgba(232,184,74,.35)}
.appel .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;padding-bottom:28px}
.appel h2{font-family:var(--f-caps);font-weight:400;font-size:clamp(1.3rem,2vw,1.8rem);margin:0;letter-spacing:.05em}
.appel p{margin:4px 0 0;color:#d3dbee}
.appel .btns{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Responsive */
@media (max-width:1080px){
  .grille-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grille-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .duo{grid-template-columns:1fr}
}
@media (max-width:700px){
  .page .site-header .wrap{height:66px}
  .sous-nav{top:66px}
  .grille-2,.grille-3,.grille-4,.faits{grid-template-columns:1fr}
  .pasteur{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:16px}
  .pasteur img{width:96px;height:96px}
  .article summary{grid-template-columns:32px minmax(0,1fr) 22px;padding:12px 14px}
  .article__corps{padding:0 14px 14px 14px}
  .entete-page::before{background:linear-gradient(180deg,rgba(2,6,16,.55),rgba(2,6,16,.85))}
}

/* ---------- Biographies */
a.pasteur{transition:border-color .2s,transform .2s}
a.pasteur:hover{border-color:var(--gold-500);transform:translateY(-2px)}
.lien-or{font-size:.78rem;font-weight:600;letter-spacing:.06em;color:var(--gold-300)}
.bio{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,4vw,56px);padding:clamp(22px,3.2vw,44px);margin-top:var(--gap);scroll-margin-top:130px}
.bio__portrait{position:sticky;top:140px;align-self:start;text-align:center}
.bio__portrait img{width:100%;max-width:220px;margin:0 auto;border-radius:50%;box-shadow:0 0 0 2px #0a1a44,0 0 0 3px rgba(242,204,107,.6)}
.bio__lieu{margin:14px 0 0;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#c9d3ea}
.bio__titre{font-family:var(--f-caps);font-weight:400;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.15;margin:10px 0 8px;color:#fff}
.bio__fonctions{margin:0 0 24px;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.8;color:var(--gold-300)}
.bio .texte{max-width:72ch}
.bio .texte p{font-size:1rem;line-height:1.75}
.bio__verset{max-width:72ch;margin:8px 0 22px;padding:24px 28px;border-radius:var(--r);border:1px solid rgba(232,184,74,.4);background:linear-gradient(135deg,rgba(232,184,74,.10),rgba(232,184,74,.02));text-align:center;font-family:var(--f-display);font-style:italic;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.5;color:#fff}
.bio__verset cite{display:block;margin-top:10px;font-family:var(--f-ui);font-style:normal;font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-300)}
.bio__vision{max-width:72ch;margin:22px 0 14px;padding:18px 0;border-top:1px solid rgba(232,184,74,.4);border-bottom:1px solid rgba(232,184,74,.4);text-align:center;font-family:var(--f-caps);font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.6;letter-spacing:.04em;color:var(--gold-300)}
@media (max-width:860px){
  .bio{grid-template-columns:1fr}
  .bio__portrait{position:static}
  .bio__portrait img{max-width:170px}
}

/* ---------- Rencontres : programme, événements, galeries */
.creneaux{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.creneau{display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 16px;padding:12px 0;border-top:1px solid rgba(169,200,255,.16)}
.creneau b{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-300);align-self:center}
.creneau .heure{font-size:1.4rem;font-weight:600;color:#fff}
.creneau small{grid-column:2;font-size:.82rem;color:#c9d3ea}
.lieu .btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.evenement{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);margin-top:var(--gap)}
.evenement__affiche{background:#050b1f;display:flex;align-items:flex-start}
.evenement__affiche img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block}
.evenement__corps{padding:clamp(18px,2.6vw,32px)}
.date{display:inline-flex;gap:8px;align-items:center;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-300);margin:0}
.evenement h3{font-family:var(--f-caps);font-weight:400;font-size:clamp(1.25rem,1.8vw,1.6rem);color:#fff;margin:8px 0 6px;line-height:1.2}
.evenement .lieu-ev{font-size:.85rem;color:#c9d3ea;margin:0 0 14px}
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:16px}
.galerie a{display:block;aspect-ratio:3/4;border-radius:8px;overflow:hidden;border:1px solid rgba(169,200,255,.2)}
.galerie img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.galerie a:hover img{transform:scale(1.05)}
.partenaire{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center;padding:22px}
.partenaire img{width:120px;height:120px;border-radius:50%;background:#fff}
.partenaire h3{margin:0 0 6px;font-family:var(--f-caps);font-weight:400;font-size:1.25rem;color:#fff}
.partenaire p{margin:0;color:#c9d3ea;line-height:1.6}

/* ---------- Enseignements */
.une{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.une__affiche{position:relative;display:block}
.une__affiche img{width:100%;height:100%;object-fit:cover;display:block}
.une__affiche .lecture{position:absolute;right:18px;bottom:18px;width:64px;height:64px;background:rgba(3,8,20,.7)}
.une__corps{padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:10px}
.une__titre{font-family:var(--f-ui);font-weight:700;text-transform:uppercase;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.1;margin:4px 0;color:#fff}
.une__titre em{font-style:normal;color:var(--gold-400)}
.refs{list-style:none;margin:6px 0;padding:0;display:grid;gap:8px;font-size:.88rem;color:#d9e0f0}
.refs b{color:var(--gold-300);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;display:block}
.prog{display:flex;flex-direction:column}
.prog img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.prog__corps{padding:18px 20px 20px}
.prog__ville{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-300);margin:0}
.prog h3{margin:6px 0 8px;font-family:var(--f-caps);font-weight:400;font-size:1.2rem;color:#fff;line-height:1.25}
.prog p{margin:0;color:#c9d3ea;font-size:.88rem;line-height:1.6}
.ressource{display:flex;flex-direction:column;gap:8px;padding:22px}
.ressource .ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--grad-gold-btn);color:#1a1405}
.ressource .ico .icon{width:24px;height:24px}
.ressource h3{margin:6px 0 0;font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.ressource p{margin:0;color:#c9d3ea;font-size:.88rem;line-height:1.55;flex:1}
.ressource .btn{align-self:flex-start;margin-top:8px}

/* ---------- Témoignages */
.temoignage-long{padding:clamp(20px,2.8vw,32px);display:flex;flex-direction:column;gap:12px}
.temoignage-long .initiale{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--gold-500);font-family:var(--f-caps);font-size:1.4rem;color:var(--gold-300);background:#0d2257}
.temoignage-long h3{margin:0;font-family:var(--f-caps);font-weight:400;font-size:1.2rem;color:#fff;line-height:1.3}
.temoignage-long blockquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:1.05rem;line-height:1.65;color:#eef2fb;flex:1}
.temoignage-long cite{font-style:normal;font-weight:700;color:var(--gold-400)}
.temoignage-long small{font-size:.72rem;line-height:1.5;color:#93a1c2;border-top:1px solid rgba(169,200,255,.14);padding-top:10px}

/* ---------- Réseaux */
.reseau{padding:22px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .2s,transform .2s}
.reseau:hover{border-color:var(--gold-500);transform:translateY(-2px)}
.reseau__qr{width:150px;height:150px;background:#fff;border-radius:8px;padding:6px;object-fit:contain}
.reseau__ico{width:150px;height:150px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(160deg,#14306b,#0a1a44);border:1px solid rgba(232,184,74,.35);color:var(--gold-300)}
.reseau__ico .icon{width:54px;height:54px}
.reseau h3{margin:8px 0 0;font-family:var(--f-caps);font-weight:400;font-size:1.1rem;color:#fff}
.reseau p{margin:0;font-size:.8rem;color:#c9d3ea}

/* ---------- Formulaires */
.formulaire{padding:clamp(20px,3vw,36px)}
.choix-pays{display:inline-flex;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--line);margin-bottom:20px}
.choix-pays label{cursor:pointer}
.choix-pays input{position:absolute;opacity:0;pointer-events:none}
.choix-pays span{display:block;padding:8px 16px;border-radius:999px;font-size:.78rem;font-weight:600;color:#d6deef}
.choix-pays input:checked+span{background:var(--grad-gold-btn);color:#1a1405}
.choix-pays input:focus-visible+span{outline:2px solid var(--gold-400);outline-offset:2px}
.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.champ{display:flex;flex-direction:column;gap:6px}
.champ--large{grid-column:1/-1}
.champ label,.champ legend{font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#d6deef}
.champ input,.champ textarea,.champ select{font:inherit;color:#fff;background:#071637;border:1px solid rgba(169,200,255,.3);border-radius:8px;padding:11px 12px;width:100%}
.champ textarea{min-height:90px;resize:vertical}
.champ input:focus,.champ textarea:focus{outline:2px solid var(--gold-400);outline-offset:1px;border-color:transparent}
fieldset.champ{border:0;padding:0;margin:0}
.radios{display:flex;gap:16px;flex-wrap:wrap;color:#e3e9f6;font-size:.92rem}
.radios label{display:flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-weight:400;font-size:.92rem}
.radios input{width:auto;accent-color:var(--gold-500)}
.form-pied{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.form-note{font-size:.76rem;color:#93a1c2;margin:12px 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.message-form{margin-top:12px;font-size:.88rem;color:var(--gold-300);min-height:1.2em}

/* ---------- Dons */
.don{padding:clamp(20px,2.8vw,30px);display:flex;flex-direction:column;gap:10px;scroll-margin-top:130px}
.don h3{margin:0;font-family:var(--f-caps);font-weight:400;font-size:1.35rem;color:#fff}
.don p{margin:0;color:#d3dbee;line-height:1.6}
.don .qr{width:150px;background:#fff;border-radius:8px;padding:6px}
.numero{font-size:1.6rem;font-weight:600;color:#fff;letter-spacing:.02em}
.info-fiscale{padding:16px 20px;border-radius:var(--r);border:1px dashed rgba(232,184,74,.5);color:#e4eaf7;font-size:.9rem;line-height:1.6;margin-top:var(--gap)}
.verset-don{font-family:var(--f-display);font-style:italic;font-size:1.15rem;color:#fff;margin:14px 0 0;max-width:64ch}
.verset-don cite{display:block;font-family:var(--f-ui);font-style:normal;font-size:.76rem;color:var(--gold-300);margin-top:6px}

@media (max-width:860px){
  .evenement,.une{grid-template-columns:1fr}
  .champs{grid-template-columns:1fr}
  .partenaire{grid-template-columns:80px minmax(0,1fr)}
  .partenaire img{width:80px;height:80px}
}

/* Ajouts audit 13/10/2026 */
.intervention{margin:6px 0 14px;padding:14px;border-radius:var(--radius);background:rgba(255,255,255,.04);border:1px solid var(--line-soft)}
.intervention img{width:100%;max-width:520px;border-radius:8px;display:block}
.intervention figcaption{margin:0;font-size:.9rem;color:var(--text)}
.compte-live{font-family:var(--f-display);font-style:italic;color:var(--gold-400);margin:6px 0 16px}
.mm-ico{width:20px;height:20px;border-radius:4px;object-fit:contain}
button[data-copy].copie-ok{border-color:var(--gold-400);color:var(--gold-400)}
.lightbox{position:fixed;inset:0;z-index:3000;background:rgba(3,10,28,.92);display:grid;place-items:center;padding:24px}
.lightbox img{max-width:min(1200px,100%);max-height:86vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lightbox button{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--navy-900);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.lightbox button:focus-visible{outline:2px solid var(--gold-400);outline-offset:2px}
.sous-titre-or{font-family:var(--f-caps);font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;color:var(--gold-400);margin:28px 0 4px}

/* Lieu de culte provisoire (Abidjan) */
.avis-lieu{margin:14px 0 10px;padding:10px 14px;border-left:2px solid var(--gold-500);background:rgba(232,184,74,.07);font-size:.9rem;color:var(--text);border-radius:0 8px 8px 0}
.badge-provisoire{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--gold-300);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;vertical-align:1px}
.don-libre-bloc{max-width:72ch}
.don-libre-bloc .chapo{margin-top:12px}
