/* ============================================================
   Au Cœur de la Grâce — styles page d'accueil (sections)
   ============================================================ */

/* Utilitaires */
.acg-section{ padding:64px 20px; }
@media(min-width:768px){ .acg-section{ padding:96px 20px; } }
.acg-section-title{ font-family:"Montserrat",sans-serif; font-weight:600; text-align:center; font-size:clamp(1.8rem,5vw,2.8rem); color:#1A1A1A; margin:0 0 12px; }
.acg-section-sub{ font-family:"Roboto",sans-serif; text-align:center; max-width:36rem; margin:0 auto 40px; font-size:.97rem; color:#475467; line-height:1.7; }
.acg-tag-center{ text-align:center; }
.acg-divider.center{ margin-left:auto; margin-right:auto; }
.acg-grid-2{ display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
@media(min-width:768px){ .acg-grid-2{ grid-template-columns:1fr 1fr; gap:48px; } }
.acg-grid-3{ display:grid; grid-template-columns:1fr; gap:24px; }
@media(min-width:640px){ .acg-grid-3{ grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .acg-grid-3{ grid-template-columns:1fr 1fr 1fr; } }
.acg-icon-circle{ display:flex; align-items:center; justify-content:center; border-radius:50%; width:44px; height:44px; background:#F8F9FA; color:#025574; font-size:1.2rem; flex-shrink:0; }
.acg-card-body{ padding:24px; }
.img-zoom{ overflow:hidden; }
.img-zoom img{ transition:transform .6s cubic-bezier(.22,1,.36,1); display:block; width:100%; height:100%; object-fit:cover; }
.img-zoom:hover img{ transform:scale(1.06); }

/* ───────── HERO SLIDER ───────── */
.acg-hero{ position:relative; width:100%; height:clamp(420px,70vh,700px); overflow:hidden; }
.acg-hero-slide{ position:absolute; inset:0; opacity:0; transition:opacity .6s ease; }
.acg-hero-slide.active{ opacity:1; }
.acg-hero-slide img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.acg-hero-overlay{ position:absolute; inset:0; background:linear-gradient(to bottom,rgba(0,0,0,.62) 0%,rgba(0,0,0,.45) 60%,rgba(0,0,0,.72) 100%); }
.acg-hero-content{ position:relative; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:0 24px; }
.acg-hero-badge{ display:inline-block; font-family:"Roboto",sans-serif; text-transform:uppercase; letter-spacing:.15em; font-size:.72rem; margin-bottom:16px; padding:4px 12px; background:rgba(2,85,116,.85); color:#fff; border-radius:10px; }
.acg-hero h1{ font-family:"Montserrat",sans-serif; font-weight:300; color:#fff; margin:0 0 8px; font-size:clamp(2rem,6vw,4rem); line-height:1.15; text-shadow:0 2px 16px rgba(0,0,0,.5); }
.acg-hero-sub{ font-family:"Montserrat",sans-serif; font-weight:300; font-style:italic; color:#E5B80B; margin:0 0 32px; font-size:clamp(1.3rem,3.5vw,2.2rem); }
.acg-hero-cta{ font-family:"Roboto",sans-serif; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; padding:12px 28px; background:#025574; color:#fff; border-radius:10px; box-shadow:0 4px 20px rgba(2,85,116,.5); }
.acg-hero-cta:hover{ color:#fff; background:#013a52; }
.acg-hero-dots{ position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; gap:8px; }
.acg-hero-dots button{ height:8px; width:8px; border-radius:4px; background:rgba(255,255,255,.4); border:0; cursor:pointer; transition:all .3s ease; padding:0; }
.acg-hero-dots button.active{ width:24px; background:#E5B80B; }
.acg-hero-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.acg-hero-arrow.prev{ left:16px; } .acg-hero-arrow.next{ right:16px; }

/* ───────── STATS ───────── */
.acg-stats{ background:#025574; border-bottom:1px solid rgba(229,184,11,.15); }
.acg-stats-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.acg-stat-card{ text-align:center; padding:40px 24px; border-right:1px solid rgba(255,255,255,.07); }
.acg-stat-card:last-child{ border-right:none; }
.acg-stat-num{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:clamp(2.2rem,5vw,3.5rem); color:#E5B80B; line-height:1; margin:0 0 4px; }
.acg-stat-label{ font-family:"Roboto",sans-serif; text-transform:uppercase; letter-spacing:.15em; font-size:.75rem; color:rgba(255,255,255,.6); margin:0; }

/* ───────── BLOC TEXTE+IMAGE ───────── */
.acg-bloc-tag{ display:block; font-family:"Roboto",sans-serif; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#025574; margin-bottom:12px; }
.acg-bloc h2{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:clamp(1.8rem,4vw,3rem); margin:0 0 16px; }
.acg-bloc-soustitre{ font-family:"Roboto",sans-serif; font-size:1rem; line-height:2; color:#64748b; margin:0 0 16px; }
.acg-bloc-contenu{ font-family:"Roboto",sans-serif; font-size:1rem; line-height:2; color:#334155; margin:0 0 24px; }
.acg-bloc-contenu p{ margin:0 0 16px; }
.acg-bloc-contenu ul{ margin:0 0 16px; padding-left:1.2em; }
.acg-bloc-contenu li{ margin-bottom:8px; }
.acg-bloc-img{ position:relative; border-radius:6px; overflow:hidden; max-width:400px; width:100%; aspect-ratio:3/4; }
.acg-bloc-img img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.acg-btn-row{ display:flex; flex-wrap:wrap; gap:12px; }

/* ───────── NEWSLETTER ───────── */
.acg-news{ background:#025574; border-top:1px solid rgba(229,184,11,.15); border-bottom:1px solid rgba(229,184,11,.15); }
.acg-news-inner{ display:grid; grid-template-columns:1fr; gap:48px; align-items:center; padding:64px 0; }
@media(min-width:768px){ .acg-news-inner{ grid-template-columns:1fr 1fr; } }
.acg-news-tag{ font-family:"Roboto",sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.18em; color:#E5B80B; display:block; margin-bottom:12px; }
.acg-news h2{ font-family:"Montserrat",sans-serif; font-weight:300; color:#fff; font-size:clamp(1.6rem,4vw,2.5rem); line-height:1.2; margin:0 0 12px; }
.acg-news h2 em{ color:#E5B80B; font-style:italic; }
.acg-news-sub{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.7; color:rgba(255,255,255,.6); max-width:360px; margin:0; }
.acg-news-form{ display:flex; flex-direction:column; gap:12px; }
.acg-news-form input{ width:100%; padding:14px 16px; border-radius:8px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.08); color:#fff; font-family:"Roboto",sans-serif; font-size:.9rem; }
.acg-news-form input::placeholder{ color:rgba(255,255,255,.5); }
.acg-news-form button{ align-self:flex-start; }
.acg-news-msg{ color:#E5B80B; font-family:"Roboto",sans-serif; font-size:.85rem; }

/* ───────── COMMUNAUTÉ / LIVE ───────── */
.acg-comm{ background:#025574; position:relative; overflow:hidden; }
.acg-comm-bar{ display:none; position:absolute; right:0; top:0; bottom:0; width:48px; background:#E5B80B; writing-mode:vertical-rl; letter-spacing:.25em; align-items:center; justify-content:center; }
.acg-comm-bar span{ font-family:"Roboto",sans-serif; font-size:.72rem; font-weight:700; text-transform:uppercase; color:#fff; }
@media(min-width:1024px){ .acg-comm-bar{ display:flex; } }
.acg-comm-grid{ display:block; }
@media(min-width:768px){ .acg-comm-grid{ display:grid; grid-template-columns:1fr 1fr; min-height:480px; } }
.acg-comm-left{ position:relative; min-height:340px; display:flex; flex-direction:column; justify-content:flex-end; }
.acg-comm-bg{ position:absolute; inset:0; overflow:hidden; }
.acg-comm-bg img{ width:100%; height:100%; object-fit:cover; object-position:center top; opacity:.3; }
.acg-comm-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(to right,rgba(2,85,116,.9) 0%,rgba(2,85,116,.6) 60%,transparent 100%),linear-gradient(to top,rgba(1,58,82,.95) 0%,transparent 60%); }
.acg-comm-content{ position:relative; z-index:10; padding:32px; }
@media(min-width:768px){ .acg-comm-content{ padding:48px; } }
.acg-comm-eyebrow{ font-family:"Roboto",sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.18em; color:#E5B80B; margin-bottom:12px; display:block; }
.acg-comm h2{ font-family:"Montserrat",sans-serif; font-weight:600; color:#fff; text-transform:uppercase; font-size:clamp(1.5rem,3.5vw,2.5rem); line-height:1.1; margin:0 0 16px; }
.acg-comm h2 .acc{ color:#E5B80B; }
.acg-comm-desc{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.7; color:rgba(255,255,255,.65); max-width:340px; margin:0 0 24px; }
.acg-comm-socials{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.acg-comm-socials a{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); color:#fff; transition:transform .2s; }
.acg-comm-socials a:hover{ transform:scale(1.1); }
.acg-comm-right{ display:flex; flex-direction:column; justify-content:center; padding:32px; border-left:1px solid rgba(255,255,255,.1); }
@media(min-width:1024px){ .acg-comm-right{ padding:40px 80px 40px 40px; } }
.acg-comm-player{ border-radius:12px; overflow:hidden; margin-bottom:24px; aspect-ratio:16/9; background:#013a52; border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; }
.acg-comm-player iframe{ width:100%; height:100%; border:0; display:block; }
.acg-comm-player .empty{ display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; color:#fff; }
.acg-comm-player .empty .ico{ width:52px; height:52px; border-radius:50%; background:rgba(255,68,68,.12); display:flex; align-items:center; justify-content:center; color:#FF4444; }

/* ───────── GALERIE ───────── */
.acg-galerie-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.acg-galerie-grid .cell{ position:relative; border-radius:6px; overflow:hidden; aspect-ratio:1/1; }

/* ───────── VERSET ───────── */
.acg-verset{ background:#013a52; }
.acg-verset-inner{ max-width:42rem; margin:0 auto; text-align:center; }
.acg-verset-badge{ display:inline-block; font-family:"Roboto",sans-serif; font-size:.72rem; text-transform:uppercase; letter-spacing:.18em; color:#E5B80B; border:1px solid rgba(229,184,11,.4); border-radius:10px; padding:4px 16px; margin-bottom:20px; }
.acg-verset-text{ font-family:"Montserrat",sans-serif; font-weight:300; font-style:italic; line-height:1.6; color:#E5B80B; font-size:clamp(1.25rem,3.5vw,2rem); margin:0 0 20px; }
.acg-verset-ref{ font-family:"Roboto",sans-serif; font-size:.85rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:rgba(229,184,11,.7); margin:16px 0 0; }

/* ───────── CTA ───────── */
.acg-cta{ position:relative; overflow:hidden; }
.acg-cta-bg{ position:absolute; inset:0; background:linear-gradient(135deg,#025574,#013a52); }
.acg-cta-inner{ position:relative; z-index:10; text-align:center; }
.acg-cta-inner h2{ font-family:"Montserrat",sans-serif; color:#fff; font-size:clamp(1.7rem,4vw,2.8rem); margin:0 0 16px; }
.acg-cta-text{ font-family:"Roboto",sans-serif; font-size:1rem; line-height:1.7; color:rgba(255,255,255,.75); max-width:560px; margin:16px auto 32px; }
.acg-cta-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }

/* Cartes article/mission */
.acg-pcard{ background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.08); transition:all .3s ease; height:100%; display:flex; flex-direction:column; }
.acg-pcard:hover{ box-shadow:0 12px 32px rgba(0,0,0,.14); transform:translateY(-4px); }
.acg-pcard-img{ height:176px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#F8F9FA 0%,#e2e8f0 100%); background-size:cover; background-position:center; }
.acg-pcard-img .star{ font-family:"Montserrat",sans-serif; font-size:2.25rem; opacity:.25; color:#025574; }
.acg-pcard-body{ padding:24px; display:flex; flex-direction:column; gap:8px; flex:1; }
.acg-pcard-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-family:"Roboto",sans-serif; font-size:.75rem; }
.acg-pcard-cat{ color:#025574; }
.acg-pcard-date{ color:#9CA3AF; }
.acg-pcard h3{ font-family:"Montserrat",sans-serif; font-weight:600; font-size:1.125rem; line-height:1.35; margin:0; }
.acg-pcard p{ font-family:"Roboto",sans-serif; font-size:.875rem; line-height:1.6; color:#475467; margin:0; }
.acg-pcard-link{ font-family:"Roboto",sans-serif; font-size:.75rem; color:#025574; margin-top:auto; padding-top:8px; }
.acg-badge{ font-family:"Roboto",sans-serif; font-size:.75rem; padding:4px 12px; border-radius:9999px; display:inline-block; }
