/* ============================================================
   Au Cœur de la Grâce — refonte 2026 « Amour • Foi • Espérance »
   Charte chaude : brun nuit, or, crème / papier ancien.
   Titres manuscrits (Great Vibes), capitales espacées (Montserrat),
   citations (Cormorant Garamond).

   Les classes ci-dessous (acg-…) sont posées sur les conteneurs et
   widgets Elementor via « Avancé › Classes CSS ». Elles donnent le
   style par défaut ; tout réglage fait dans Elementor reste prioritaire.
   ============================================================ */

:root{
  --acg-ink:#140d08;
  --acg-night:#1f150e;
  --acg-brown:#2d1f15;
  --acg-brown-2:#433022;
  --acg-gold:#d4a24c;
  --acg-gold-2:#ebc57a;
  --acg-gold-d:#a8782c;
  --acg-cream:#f6efe3;
  --acg-paper:#efe5d3;
  --acg-paper-2:#e5d6bd;
  --acg-text:#2b2118;
  --acg-muted:#6e5d4c;
  --acg-red:#b3261e;
  --acg-script:"Great Vibes", cursive;
  --acg-sans:"Montserrat", system-ui, sans-serif;
  --acg-serif:"Cormorant Garamond", Georgia, serif;
  --acg-noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .3  0 0 0 0 .18  0 0 0 .10 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --acg-torn:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 28' preserveAspectRatio='none'><path fill='%23efe5d3' d='M0 28V14l12-4 9 5 14-7 11 6 16-8 10 7 13-3 12 5 15-9 9 6 17-4 8 7 14-6 12 3 10-7 16 8 11-5 13 4 9-6 15 5 12-8 10 6 17-3 9 5 14-8 12 7 11-4 15 6 10-7 13 4 16-5 9 7 12-6 14 5 10-4 15 7 11-8 13 6 9-3 16 5 12-7 10 4 14-5 11 6 15-6 9 5 13-4 12 6 10-5 16 4 8-3V28Z'/></svg>");
}

/* ───────── Base ───────── */
body{
  background:var(--acg-paper);
  color:var(--acg-text);
  font-family:var(--acg-sans);
  font-size:16px;
  line-height:1.7;
}
h1,h2,h3,h4,h5,h6{ font-family:var(--acg-sans); color:var(--acg-text); }
a{ color:var(--acg-gold-d); }
::selection{ background:var(--acg-gold); color:var(--acg-ink); }
.acg-progress{ background:linear-gradient(90deg,var(--acg-gold-d),var(--acg-gold-2)) !important; }

/* L'en-tête flotte au-dessus du premier bloc (hero) */
#masthead{ position:fixed !important; top:0; left:0; right:0; z-index:999 !important; }
body.admin-bar #masthead{ top:32px; }
@media (max-width:782px){ body.admin-bar #masthead{ top:46px; } }
/* Pages sans hero (recherche, archives, live seul…) : on laisse la place du menu */
.site-main{ padding-top:130px; }
/* Mode édition Elementor : pas d'animation cachée */
.elementor-editor-active .acg-r{ opacity:1 !important; transform:none !important; filter:none !important; }

/* ============================================================
   EN-TÊTE
   ============================================================ */
.acg-header{
  position:relative;
  background:linear-gradient(180deg,rgba(12,8,5,.72) 0%,rgba(12,8,5,.35) 60%,rgba(12,8,5,0) 100%);
  box-shadow:none; border-bottom:0;
  transition:background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
}
.acg-header.shrink, .acg-header.menu-open{
  background:rgba(20,13,8,.94);
  box-shadow:0 6px 30px rgba(0,0,0,.35);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.acg-header-inner{ max-width:1240px; padding:18px 24px; gap:24px; }
.acg-header.shrink .acg-header-inner{ padding-top:8px; padding-bottom:8px; }

.acg-brand{ display:flex; align-items:center; gap:14px; text-decoration:none; }
.acg-brand-logo{ width:64px; height:64px; border-radius:50%; object-fit:contain; flex-shrink:0; filter:drop-shadow(0 3px 10px rgba(0,0,0,.45)); transition:width .3s ease, height .3s ease; }
.acg-header.shrink .acg-brand-logo{ width:46px; height:46px; }
.acg-brand-text{ display:flex; flex-direction:column; line-height:1.2; }
.acg-brand-title{ font-family:var(--acg-sans); font-weight:600; font-size:clamp(.78rem,1.6vw,.98rem); letter-spacing:.16em; text-transform:uppercase; color:var(--acg-cream); }
.acg-brand-sub{ font-family:var(--acg-sans); font-weight:500; font-size:.6rem; letter-spacing:.32em; text-transform:uppercase; color:var(--acg-gold-2); margin-top:4px; }

.acg-nav-desktop{ gap:26px; }
.acg-nav-desktop ul{ gap:26px; }
.acg-nav-link{
  font-family:var(--acg-sans); font-size:.8rem; font-weight:500;
  text-transform:none; letter-spacing:.04em;
  color:rgba(246,239,227,.88); border-bottom:1.5px solid transparent; padding:4px 0;
}
.acg-nav-link:hover{ color:var(--acg-gold-2); }
.acg-nav-link.is-active{ color:var(--acg-gold-2); border-bottom-color:var(--acg-gold); }
.acg-cta-don{
  font-family:var(--acg-sans); font-size:.72rem; font-weight:600; letter-spacing:.08em;
  padding:9px 18px; border-radius:999px; color:var(--acg-ink);
  background:linear-gradient(180deg,var(--acg-gold-2),var(--acg-gold));
  box-shadow:0 4px 14px rgba(212,162,76,.3);
}
.acg-cta-don:hover{ background:var(--acg-gold-2); color:var(--acg-ink); }
.acg-search-btn{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--acg-cream); cursor:pointer; }
.acg-search-btn:hover{ color:var(--acg-gold-2); background:rgba(255,255,255,.08); }
.acg-header-mobile-actions{ display:flex; align-items:center; gap:6px; }
.acg-burger span{ background:var(--acg-cream); }
.acg-nav-mobile{ background:rgba(20,13,8,.97); border-top:1px solid rgba(212,162,76,.2); }
.acg-nav-mobile .acg-nav-link{ font-size:1rem; }
@media (min-width:1000px){ .acg-header-mobile-actions{ display:none; } }
@media (max-width:999px){
  .acg-nav-desktop{ display:none !important; }
  .acg-header-mobile-actions{ display:flex; }
  .acg-burger{ display:flex !important; }
  .acg-nav-mobile.open{ display:block !important; }
}
@media (max-width:480px){
  .acg-brand-logo{ width:48px; height:48px; }
  .acg-brand-sub{ letter-spacing:.2em; font-size:.55rem; }
  .acg-header-inner{ padding:12px 16px; }
}

.acg-header .acg-search-btn, .acg-header .acg-burger, .acg-header .acg-search-close{ background:transparent; border:0; box-shadow:none; color:var(--acg-cream); }
.acg-header .acg-search-btn:hover{ background:rgba(255,255,255,.08); color:var(--acg-gold-2); }
.acg-header .acg-search-submit{ background:var(--acg-gold); color:var(--acg-ink); border:0; }

/* Recherche plein écran */
.acg-search-overlay{ position:fixed; inset:0; z-index:1000; background:rgba(12,8,5,.92); display:flex; align-items:flex-start; justify-content:center; padding:18vh 16px 0; }
.acg-search-overlay[hidden]{ display:none; }
.acg-search-overlay form{ display:flex; gap:10px; width:100%; max-width:680px; position:relative; flex-wrap:wrap; }
.acg-search-overlay input[type=search]{ flex:1 1 260px; font:500 1.1rem var(--acg-sans); padding:16px 22px; border-radius:999px; border:1px solid rgba(212,162,76,.5); background:rgba(255,255,255,.06); color:var(--acg-cream); }
.acg-search-overlay input[type=search]::placeholder{ color:rgba(246,239,227,.5); }
.acg-search-submit{ font:600 .85rem var(--acg-sans); padding:0 26px; min-height:54px; border:0; border-radius:999px; background:var(--acg-gold); color:var(--acg-ink); cursor:pointer; }
.acg-search-close{ position:absolute; top:-64px; right:0; width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:var(--acg-cream); font-size:2rem; cursor:pointer; }

/* ============================================================
   PIED DE PAGE
   ============================================================ */
.acg-footer{
  background:
    radial-gradient(ellipse at 15% 0%,rgba(212,162,76,.10),transparent 55%),
    var(--acg-noise),
    linear-gradient(180deg,var(--acg-brown) 0%,var(--acg-ink) 100%);
  color:var(--acg-cream);
}
.acg-footer-inner{ max-width:1240px; padding:72px 24px 28px; }
.acg-footer-grid{ display:grid; grid-template-columns:1fr; gap:40px; margin-bottom:44px; }
@media (min-width:700px){ .acg-footer-grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1000px){ .acg-footer-grid{ grid-template-columns:1.3fr 1fr 1fr 1fr; } }
.acg-footer-ident{ text-align:center; }
.acg-footer-logo{ width:140px; height:140px; object-fit:contain; margin:0 auto 14px; display:block; filter:drop-shadow(0 6px 18px rgba(0,0,0,.5)); }
.acg-footer-name{ font:600 .95rem var(--acg-sans); letter-spacing:.2em; text-transform:uppercase; color:var(--acg-cream); margin:0; }
.acg-footer-motto{ font:500 .62rem var(--acg-sans); letter-spacing:.34em; text-transform:uppercase; color:var(--acg-gold-2); margin:6px 0 0; }
.acg-footer h4{ font:600 1rem var(--acg-sans); letter-spacing:.02em; text-transform:none; color:var(--acg-cream); margin:0 0 16px; }
.acg-footer-text{ font:400 .85rem/1.7 var(--acg-sans); color:rgba(246,239,227,.7); margin:0 0 18px; }
.acg-footer-nav{ gap:10px; }
.acg-footer-nav a{ font:400 .88rem var(--acg-sans); color:rgba(246,239,227,.75); }
.acg-footer-nav a:hover, .acg-footer-legal a:hover{ color:var(--acg-gold-2); }
.acg-footer-socials{ display:flex; gap:12px; }
.acg-footer-socials a{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:var(--acg-cream); color:var(--acg-ink); transition:transform .2s ease, background .2s ease; }
.acg-footer-socials a:hover{ background:var(--acg-gold-2); transform:translateY(-2px); }
.acg-footer-socials svg{ fill:currentColor; width:20px; height:20px; }
.acg-footer-bottom{ display:flex; flex-direction:column; gap:16px; align-items:center; border-top:1px solid rgba(212,162,76,.18); padding-top:22px; }
.acg-footer-legal{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 18px; }
.acg-footer-legal p, .acg-footer-legal a{ font:400 .75rem var(--acg-sans); color:rgba(246,239,227,.55); margin:0; }
.acg-footer-bottom .acg-footer-sign{ font-family:var(--acg-script); font-size:1.9rem; line-height:1; color:var(--acg-gold-2); margin:0; }
.acg-footer-cross{ font-family:var(--acg-sans); font-size:1.3rem; margin-left:10px; }
@media (min-width:900px){
  .acg-footer-bottom{ flex-direction:row; justify-content:space-between; }
  .acg-footer-legal{ justify-content:flex-start; }
}

/* ============================================================
   BOUTONS (thème + widgets Bouton d'Elementor)
   ============================================================ */
.acg-btn, .elementor .acg-b-gold .elementor-button{
  display:inline-flex; align-items:center; gap:.6rem;
  font:600 .82rem var(--acg-sans); letter-spacing:.04em; text-transform:none;
  padding:14px 28px; border-radius:999px; border:0;
  color:var(--acg-ink); background-color:var(--acg-gold);
  box-shadow:0 6px 18px rgba(212,162,76,.28);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.acg-btn:hover, .elementor .acg-b-gold .elementor-button:hover{ color:var(--acg-ink); background-color:var(--acg-gold-2); transform:translateY(-2px); box-shadow:0 10px 24px rgba(212,162,76,.38); }
.acg-btn-outline, .elementor .acg-b-outline .elementor-button{
  display:inline-flex; align-items:center; gap:.6rem;
  font:600 .82rem var(--acg-sans); letter-spacing:.04em; text-transform:none;
  padding:13px 26px; border-radius:999px;
  color:var(--acg-cream); background:transparent; border:1.5px solid rgba(246,239,227,.8);
  transition:all .2s ease;
}
.acg-btn-outline:hover, .elementor .acg-b-outline .elementor-button:hover{ background:var(--acg-cream); color:var(--acg-ink); border-color:var(--acg-cream); }
.elementor .acg-b-dark .elementor-button{
  font:600 .82rem var(--acg-sans); letter-spacing:.04em; padding:13px 26px; border-radius:999px;
  color:var(--acg-text); background:transparent; border:1.5px solid var(--acg-text);
}
.elementor .acg-b-dark .elementor-button:hover{ background:var(--acg-text); color:var(--acg-cream); }
.acg-btn-sm{ padding:10px 20px !important; font-size:.78rem !important; }
.elementor .acg-b-gold .elementor-button-icon svg,
.elementor .acg-b-outline .elementor-button-icon svg,
.elementor .acg-b-dark .elementor-button-icon svg{ width:14px; height:14px; fill:currentColor; }

/* ============================================================
   SECTIONS ELEMENTOR
   ============================================================ */
/* Hero plein écran : l'image de fond se règle dans Elementor (Style › Arrière-plan) */
.e-con.acg-hero{
  position:relative; min-height:min(88vh,860px); justify-content:flex-end;
  padding:150px 24px 90px !important;
  background-color:var(--acg-ink);
  background-size:cover; background-position:center;
}
.e-con.acg-hero.acg-hero-page{ min-height:min(74vh,720px); }
.e-con.acg-hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(90deg,rgba(14,9,5,.86) 0%,rgba(14,9,5,.62) 42%,rgba(14,9,5,.12) 100%),
    linear-gradient(0deg,rgba(14,9,5,.75) 0%,rgba(14,9,5,0) 40%);
}
.e-con.acg-hero > .e-con-inner, .e-con.acg-hero > .elementor-element{ position:relative; z-index:1; }
.e-con.acg-hero > .e-con-inner{ max-width:1192px; }
.acg-hero-content{ max-width:640px; text-align:left; align-items:flex-start !important; }
.acg-hero-content > .elementor-element{ width:100%; }
.acg-hero-content .e-con.acg-btn-row{ justify-content:flex-start; width:auto; }

.elementor .acg-script .elementor-heading-title{
  font-family:var(--acg-script); font-weight:400; text-transform:none; letter-spacing:0;
  font-size:clamp(3.2rem,8vw,6.4rem); line-height:1.05; color:var(--acg-cream);
  text-shadow:0 4px 24px rgba(0,0,0,.45);
}
.elementor .acg-script.acg-script-sm .elementor-heading-title{ font-size:clamp(2.6rem,5vw,4rem); }
.elementor .acg-script-dark .elementor-heading-title{
  font-family:var(--acg-script); font-weight:400; font-size:clamp(2.6rem,5vw,4rem); line-height:1.1; color:var(--acg-text);
}
.elementor .acg-caps .elementor-heading-title{
  font-family:var(--acg-sans); font-weight:500; text-transform:uppercase;
  font-size:clamp(.9rem,1.7vw,1.25rem); letter-spacing:.42em; color:var(--acg-cream);
}
.elementor .acg-subtitle .elementor-heading-title{
  font-family:var(--acg-sans); font-weight:500; font-size:clamp(1.15rem,2.2vw,1.55rem); letter-spacing:.04em; color:var(--acg-cream);
}
.elementor .acg-lead{ color:rgba(246,239,227,.9); font-family:var(--acg-sans); font-size:1.02rem; line-height:1.75; max-width:600px; }
.elementor .acg-lead p{ margin:0 0 .4em; }
.elementor .acg-kicker .elementor-heading-title{
  font-family:var(--acg-sans); font-weight:600; font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--acg-gold-d);
}
.elementor .acg-h2 .elementor-heading-title{
  font-family:var(--acg-sans); font-weight:600; font-size:clamp(1.3rem,2.4vw,1.75rem); line-height:1.3; color:var(--acg-text);
}
.elementor .acg-h2-light .elementor-heading-title{ font-family:var(--acg-sans); font-weight:600; font-size:clamp(1.2rem,2.2vw,1.5rem); color:var(--acg-cream); }
.elementor .acg-text{ color:var(--acg-muted); font-size:.98rem; line-height:1.8; }
.elementor .acg-text-light{ color:rgba(246,239,227,.78); font-size:.95rem; line-height:1.7; }
.elementor .acg-link a, .elementor .acg-link .elementor-heading-title a{ font:600 .78rem var(--acg-sans); color:var(--acg-text); }

/* Rangée de boutons */
.e-con.acg-btn-row{ gap:14px !important; margin-top:18px; }
.elementor .acg-b-gold .elementor-button, .elementor .acg-b-outline .elementor-button, .elementor .acg-b-dark .elementor-button{ text-transform:none !important; }

/* Collage de photos (2 côte à côte) */
.e-con.acg-collage{ flex-wrap:nowrap !important; }
.e-con.acg-collage > .elementor-widget{ flex:1 1 0; min-width:0; }
.e-con.acg-collage > .elementor-widget + .elementor-widget{ margin-top:48px; }
@media (max-width:600px){ .e-con.acg-collage > .elementor-widget + .elementor-widget{ margin-top:24px; } }

/* Section papier ancien */
.e-con.acg-paper{
  position:relative;
  background:var(--acg-noise), radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.55),transparent 60%), var(--acg-paper) !important;
  padding-top:80px; padding-bottom:80px;
}
.e-con.acg-paper-2{ background:var(--acg-noise), var(--acg-paper-2) !important; }
/* Bord déchiré en haut de la section */
.e-con.acg-torn::after{
  content:""; position:absolute; left:0; right:0; top:-26px; height:28px; z-index:2; pointer-events:none;
  background:var(--acg-torn) repeat-x; background-size:600px 28px;
}
.e-con.acg-paper-2.acg-torn::after{ filter:brightness(.955) sepia(.12); }

/* Section sombre */
.e-con.acg-dark{
  position:relative;
  background:var(--acg-noise), radial-gradient(ellipse at 80% 0%,rgba(212,162,76,.12),transparent 55%), linear-gradient(180deg,var(--acg-brown),var(--acg-ink)) !important;
  color:var(--acg-cream);
}

/* Bandeau des axes (sous le hero d'accueil) */
.e-con.acg-axes{ padding:34px 24px !important; }
.e-con.acg-axes > .e-con-inner{ max-width:1192px; }
.elementor .acg-axe{ flex:1 1 180px; padding:10px 18px; }
.elementor .acg-axe + .acg-axe{ border-left:1px solid rgba(212,162,76,.25); }
.elementor .acg-axe .elementor-icon{ color:var(--acg-gold-2); font-size:34px; }
.elementor .acg-axe .elementor-icon svg{ fill:var(--acg-gold-2); width:34px; height:34px; }
.elementor .acg-axe .elementor-icon-box-title{ font:600 .95rem var(--acg-sans); color:var(--acg-cream); margin:12px 0 4px; }
.elementor .acg-axe .elementor-icon-box-description{ font:400 .75rem var(--acg-sans); color:rgba(246,239,227,.65); margin:0; }
@media (max-width:767px){
  .elementor .acg-axe{ flex:1 1 45%; }
  .elementor .acg-axe + .acg-axe{ border-left:0; }
}

/* Carte partenaire (fond crème, bordure) */
.elementor .acg-partner{
  flex:1 1 140px; background:rgba(255,255,255,.45); border:1px solid rgba(110,93,76,.2);
  border-radius:12px; padding:22px 12px; box-shadow:0 2px 10px rgba(43,33,24,.06);
}
.elementor .acg-partner .elementor-icon{ color:var(--acg-text); font-size:30px; }
.elementor .acg-partner .elementor-icon svg{ fill:var(--acg-text); width:30px; height:30px; }
.elementor .acg-partner .elementor-icon-box-title{ font:600 .82rem/1.35 var(--acg-sans); color:var(--acg-text); margin:12px 0 4px; }
.elementor .acg-partner .elementor-icon-box-description{ font:400 .72rem var(--acg-sans); color:var(--acg-muted); margin:0; }

/* Icône ronde + libellé (axes d'action, impact) */
.elementor .acg-round{ flex:1 1 130px; }
.elementor .acg-round .elementor-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:74px; height:74px; border-radius:50%; font-size:28px;
  background:rgba(255,255,255,.55); border:1px solid rgba(110,93,76,.22); color:var(--acg-text);
  box-shadow:0 3px 12px rgba(43,33,24,.08); transition:transform .25s ease, background .25s ease;
}
.elementor .acg-round .elementor-icon svg{ fill:var(--acg-text); width:28px; height:28px; }
.elementor .acg-round:hover .elementor-icon{ transform:translateY(-3px); background:var(--acg-cream); }
.elementor .acg-round .elementor-icon-box-title{ font:600 .9rem var(--acg-sans); color:var(--acg-text); margin:14px 0 4px; }
.elementor .acg-round .elementor-icon-box-description{ font:400 .8rem/1.6 var(--acg-sans); color:var(--acg-muted); margin:0; }

/* Carte citation sur photo (l'image se règle dans Elementor) */
.e-con.acg-quote-card{
  position:relative; overflow:hidden; border-radius:14px; min-height:320px; justify-content:flex-end;
  padding:34px 30px !important; background-size:cover; background-position:center; background-color:var(--acg-brown);
  box-shadow:0 18px 40px rgba(43,33,24,.28); transform:rotate(-.6deg);
}
.e-con.acg-quote-card::before{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(14,9,5,.88) 10%,rgba(14,9,5,.25) 75%); z-index:0; }
.e-con.acg-quote-card > .elementor-element{ position:relative; z-index:1; }
.elementor .acg-quote, .elementor .acg-quote p{
  font-family:var(--acg-serif); font-style:italic; font-weight:500; font-size:clamp(1.25rem,2vw,1.6rem); line-height:1.45; color:var(--acg-cream); margin:0;
}
.elementor .acg-quote-dark, .elementor .acg-quote-dark p{
  font-family:var(--acg-serif); font-style:italic; font-weight:500; font-size:clamp(1.3rem,2.2vw,1.75rem); line-height:1.5; color:var(--acg-text); margin:0;
}
.elementor .acg-ref .elementor-heading-title{ font:600 .72rem var(--acg-sans); letter-spacing:.2em; text-transform:uppercase; color:var(--acg-gold-2); }
.elementor .acg-ref-dark .elementor-heading-title{ font:600 .72rem var(--acg-sans); letter-spacing:.2em; text-transform:uppercase; color:var(--acg-gold-d); }

/* Photos façon « carnet » (bordure blanche, légère rotation) */
.elementor .acg-photo img{
  border:8px solid #fbf7ef; border-radius:4px; box-shadow:0 14px 34px rgba(43,33,24,.28);
  width:100%; aspect-ratio:4/3; object-fit:cover;
}
.elementor .acg-photo.acg-tilt-l img{ transform:rotate(-2.2deg); }
.elementor .acg-photo.acg-tilt-r img{ transform:rotate(1.8deg); }
.elementor .acg-photo.acg-portrait img{ aspect-ratio:4/5; }

/* Carte « engagements » (liste cochée) */
.e-con.acg-card-cream{
  background:rgba(255,255,255,.5) !important; border:1px solid rgba(110,93,76,.2); border-radius:14px;
  padding:34px 32px !important; box-shadow:0 8px 26px rgba(43,33,24,.08);
}
.elementor .acg-checks .elementor-icon-list-icon i{ color:var(--acg-text); font-size:18px; }
.elementor .acg-checks .elementor-icon-list-icon svg{ fill:var(--acg-text); width:18px; height:18px; }
.elementor .acg-checks .elementor-icon-list-text{ font:500 .92rem var(--acg-sans); color:var(--acg-text); padding-left:10px; }
.elementor .acg-checks .elementor-icon-list-item{ padding:9px 0 !important; border-bottom:1px solid rgba(110,93,76,.12); }
.elementor .acg-checks .elementor-icon-list-item:last-child{ border-bottom:0; }
.elementor .acg-heart .elementor-icon{ color:var(--acg-text); font-size:40px; }
.elementor .acg-heart .elementor-icon svg{ fill:var(--acg-text); width:40px; height:40px; }

/* Bandeau sombre « Ne manquez plus nos lives » */
.e-con.acg-band{
  border-radius:16px; padding:28px 32px !important; gap:22px !important;
  background:linear-gradient(135deg,var(--acg-brown),var(--acg-ink)) !important; box-shadow:0 16px 36px rgba(20,13,8,.25);
}
.elementor .acg-band-icon .elementor-icon{ color:var(--acg-cream); font-size:42px; }
.elementor .acg-band-icon .elementor-icon svg{ fill:var(--acg-cream); width:42px; height:42px; }

/* Galerie Elementor (photos du ministère) */
.elementor .acg-gallery .gallery-item img{ border:6px solid #fbf7ef; border-radius:4px; box-shadow:0 8px 22px rgba(43,33,24,.18); aspect-ratio:4/3; object-fit:cover; width:100%; height:auto; }

/* ============================================================
   CARTES DYNAMIQUES (articles, missions, lives, dons)
   ============================================================ */
.acg-grid2{ display:grid; gap:22px; grid-template-columns:1fr; }
@media (min-width:640px){ .acg-grid2-3{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .acg-grid2-3{ grid-template-columns:repeat(3,1fr); } }
.acg-card2{
  display:flex; flex-direction:column; height:100%; text-decoration:none; overflow:hidden;
  background:#fbf7ef; border-radius:10px; border:1px solid rgba(110,93,76,.14);
  box-shadow:0 4px 16px rgba(43,33,24,.08); transition:transform .3s ease, box-shadow .3s ease;
}
a.acg-card2:hover, .acg-card2:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(43,33,24,.16); }
.acg-card2-img{ position:relative; aspect-ratio:16/10; background:var(--acg-brown) center/cover no-repeat; }
.acg-card2-body{ display:flex; flex-direction:column; gap:8px; padding:16px 18px 18px; flex:1; }
.acg-card2-cat{ display:inline-flex; align-items:center; gap:6px; font:600 .7rem var(--acg-sans); color:var(--acg-gold-d); letter-spacing:.02em; }
.acg-card2-title{ font:600 1rem/1.4 var(--acg-sans) !important; color:var(--acg-text) !important; margin:0 !important; }
.acg-card2-text{ font:400 .85rem/1.65 var(--acg-sans); color:var(--acg-muted); margin:0; }
.acg-card2-date{ font:400 .74rem var(--acg-sans); color:var(--acg-muted); margin-top:auto; }
.acg-badge2{ position:absolute; top:12px; left:12px; font:700 .62rem var(--acg-sans); letter-spacing:.14em; text-transform:uppercase; padding:5px 10px; border-radius:4px; color:#fff; background:var(--acg-brown-2); }
.acg-card2-body .acg-badge2{ position:static; align-self:flex-start; }
.acg-badge2-live{ background:var(--acg-red); }
.acg-badge2-en_cours{ background:#3d7a3a; }
.acg-badge2-a_venir{ background:var(--acg-gold-d); }
.acg-badge2-terminee{ background:#6b6259; }
.acg-badge2-reco{ background:var(--acg-gold); color:var(--acg-ink); }
.acg-play{ position:absolute; inset:0; margin:auto; width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(20,13,8,.65); color:#fff; }
.acg-play .acg-ico{ width:22px; height:22px; fill:#fff; }
.acg-mini-btn{ align-self:flex-start; margin-top:6px; font:600 .72rem var(--acg-sans); padding:7px 16px; border-radius:999px; border:1px solid var(--acg-text); color:var(--acg-text); text-decoration:none; }
.acg-mini-btn:hover{ background:var(--acg-text); color:var(--acg-cream); }
.acg-mini-btn-gold{ border-color:transparent; background:var(--acg-gold); color:var(--acg-ink); }
.acg-mini-btn-gold:hover{ background:var(--acg-gold-2); color:var(--acg-ink); }
.acg-don-card .acg-card2-body{ padding:26px 24px; gap:12px; }
.acg-don-card .acg-card2-title{ font-size:1.2rem !important; }
.acg-empty{ font:400 .95rem var(--acg-sans); color:var(--acg-muted); text-align:center; padding:26px 0; margin:0; }

/* Filtres du blog (pastilles) */
.acg-pills{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
.acg-pill{
  font:500 .78rem var(--acg-sans); padding:8px 20px; border-radius:999px; cursor:pointer;
  border:1px solid rgba(110,93,76,.25); background:rgba(255,255,255,.45); color:var(--acg-text); transition:all .2s ease;
}
.acg-pill:hover{ border-color:var(--acg-text); }
.acg-pills .acg-pill{ background:rgba(255,255,255,.45); color:var(--acg-text); border:1px solid rgba(110,93,76,.25); }
.acg-pills .acg-pill:hover{ border-color:var(--acg-text); background:rgba(255,255,255,.7); color:var(--acg-text); }
.acg-pills .acg-pill.active,
.acg-pill.active{ background:var(--acg-ink); border-color:var(--acg-ink); color:var(--acg-cream); }

/* Lecteur live */
.acg-player{ position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; box-shadow:0 18px 40px rgba(20,13,8,.3); background:#000; }
.acg-player iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Crédits photos */
.acg-credits{ list-style:none; margin:0; padding:0; font:400 .82rem/1.7 var(--acg-sans); color:var(--acg-muted); }
.acg-credits li{ padding:6px 0; border-bottom:1px solid rgba(110,93,76,.12); }

/* ============================================================
   FORMULAIRES (Fluent Forms) aux couleurs du site
   ============================================================ */
.acg-ff .ff-el-input--label label,
.acg-ff .ff-el-input--label{ font-family:var(--acg-sans) !important; font-weight:600 !important; font-size:.74rem !important; letter-spacing:.08em; color:var(--acg-text) !important; }
.acg-ff input[type="text"], .acg-ff input[type="email"], .acg-ff input[type="tel"], .acg-ff input[type="number"], .acg-ff textarea, .acg-ff select{
  font-family:var(--acg-sans) !important; font-size:.92rem !important; padding:13px 18px !important;
  border:1px solid rgba(110,93,76,.3) !important; border-radius:10px !important; background:rgba(255,255,255,.7) !important; color:var(--acg-text) !important;
}
.acg-ff input:focus, .acg-ff textarea:focus, .acg-ff select:focus{ border-color:var(--acg-gold) !important; box-shadow:0 0 0 3px rgba(212,162,76,.22) !important; }
.acg-ff .ff-btn-submit, .acg-ff-dark .ff-btn-submit{
  font-family:var(--acg-sans) !important; font-weight:600 !important; font-size:.85rem !important; letter-spacing:.04em; text-transform:none;
  border-radius:999px !important; padding:13px 30px !important; border:0 !important;
  background:linear-gradient(180deg,var(--acg-gold-2),var(--acg-gold)) !important; color:var(--acg-ink) !important; box-shadow:0 6px 18px rgba(212,162,76,.28) !important;
}
.acg-ff .ff-btn-submit:hover{ background:var(--acg-gold-2) !important; }
.acg-ff .ff-message-success{ font-family:var(--acg-sans); color:var(--acg-text); background:rgba(255,255,255,.55); border:1px solid rgba(110,93,76,.2); border-radius:12px; }
.acg-ff-dark .ff-el-input--label label, .acg-ff-dark .ff-el-input--label{ color:rgba(246,239,227,.85) !important; }
.acg-ff-dark input[type="text"], .acg-ff-dark input[type="email"]{
  background:rgba(255,255,255,.07) !important; border:1px solid rgba(246,239,227,.3) !important; color:var(--acg-cream) !important;
}
.acg-ff-dark input::placeholder{ color:rgba(246,239,227,.5) !important; }
.acg-ff-dark .ff-message-success{ background:rgba(255,255,255,.08); color:var(--acg-cream); border-color:rgba(246,239,227,.2); }

/* ============================================================
   PAGES DÉTAIL (article, mission) et PAGES LÉGALES
   ============================================================ */
.acg-article-hero, .acg-detail-hero, .acg-legal-hero{
  padding:170px 24px 80px !important; min-height:min(52vh,520px) !important; display:flex; align-items:flex-end; justify-content:center;
}
.acg-legal-hero{ background:var(--acg-noise), linear-gradient(180deg,var(--acg-brown),var(--acg-ink)) !important; }
.acg-article-hero h1, .acg-detail-hero h1, .acg-legal-hero h1{
  font-family:var(--acg-sans) !important; font-weight:600 !important; color:var(--acg-cream) !important; line-height:1.25;
}
.acg-legal-hero h1{ font-family:var(--acg-script) !important; font-weight:400 !important; font-size:clamp(3rem,7vw,5rem) !important; }
.acg-legal-hero h1 em{ font-style:normal; color:var(--acg-gold-2); }
.acg-legal-hero .acg-tag, .acg-tag, .acg-bloc-tag{ color:var(--acg-gold-d) !important; letter-spacing:.3em; font-family:var(--acg-sans); }
.acg-legal-hero .acg-tag{ color:var(--acg-gold-2) !important; }
.acg-detail-back, .acg-article-meta .cat, .acg-article-meta .date{ color:var(--acg-gold-2) !important; }
.acg-divider{ background:var(--acg-gold) !important; }
.acg-section{ background:transparent !important; }
.acg-article-hero + .acg-section, .acg-detail-hero + .acg-section, .acg-legal-hero + .acg-section{
  background:var(--acg-noise), var(--acg-paper) !important;
}
.acg-detail-hero ~ .acg-section:nth-of-type(odd){ background:var(--acg-noise), var(--acg-paper-2) !important; }
.acg-detail-cta{ background:var(--acg-noise), linear-gradient(180deg,var(--acg-brown),var(--acg-ink)) !important; }
.acg-prose{ font-family:var(--acg-sans); color:var(--acg-text); font-size:1.02rem; line-height:1.85; }
.acg-prose h2, .acg-prose h3{ font-family:var(--acg-sans); color:var(--acg-text); }
.acg-prose blockquote{ border-left:3px solid var(--acg-gold); font-family:var(--acg-serif); font-style:italic; font-size:1.3rem; color:var(--acg-text); }
.acg-legal-block h2{ font-family:var(--acg-sans) !important; color:var(--acg-text) !important; }
.acg-article-foot .acg-article-back{ color:var(--acg-gold-d); }

/* Accessibilité : focus visible */
.acg-header a:focus-visible, .acg-footer a:focus-visible, .acg-pill:focus-visible, .acg-card2:focus-visible,
.elementor .elementor-button:focus-visible{ outline:2px solid var(--acg-gold-2); outline-offset:3px; }

@media (max-width:767px){
  .e-con.acg-hero{ min-height:min(86vh,760px); padding:130px 18px 60px !important; }
  .e-con.acg-hero::before{ background:linear-gradient(0deg,rgba(14,9,5,.9) 0%,rgba(14,9,5,.55) 60%,rgba(14,9,5,.35) 100%); }
  .e-con.acg-paper{ padding-top:60px; padding-bottom:60px; }
  .e-con.acg-quote-card{ transform:none; }
  .elementor .acg-photo.acg-tilt-l img, .elementor .acg-photo.acg-tilt-r img{ transform:none; }
  .elementor .acg-caps .elementor-heading-title{ letter-spacing:.26em; }
}

/* Retouches : pages légales, galerie mobile, en-tête mobile */
.acg-legal, .acg-legal p, .acg-legal li{ font-family:var(--acg-sans) !important; color:var(--acg-muted); }
.acg-legal a, .acg-prose a{ color:var(--acg-gold-d) !important; }
@media (max-width:767px){
  .elementor .acg-gallery .gallery-item{ max-width:50% !important; width:50% !important; }
  .acg-article-hero, .acg-detail-hero, .acg-legal-hero{ padding:140px 18px 56px !important; min-height:0 !important; }
}
@media (max-width:480px){
  .acg-brand-title{ letter-spacing:.08em; font-size:.74rem; }
  .acg-brand{ gap:10px; }
}
