/* ============================================================
   Au Cœur de la Grâce — durcissement responsive (mobile-first safety)
   ============================================================ */

/* ── Anti débordement global (jamais de scroll horizontal) ── */
/* PAS d.overflow sur html/body : casserait position:sticky. Plus de translateX -> plus de débordement. */
html, body{ max-width:100%; }

/* Menu fixé en haut au défilement (header HFE) */
#masthead{ position:sticky !important; top:0 !important; z-index:999 !important; }
*{ min-width:0; }
img, iframe, video, svg{ max-width:100%; }
.acg-wrap, .acg-header-inner, .acg-footer-inner{ box-sizing:border-box; }

/* ── Stats : bordures propres en 1 colonne sur mobile ── */
@media (max-width:639px){
  .acg-stat-card{ border-right:none; border-bottom:1px solid rgba(255,255,255,.08); }
  .acg-stat-card:last-child{ border-bottom:none; }
  .acg-stat-card{ padding:28px 16px; }
}

/* ── Bloc Communauté / Live : empilé proprement sur mobile ── */
@media (max-width:767px){
  .acg-comm-grid{ display:block; }
  .acg-comm-left{ min-height:300px; }
  .acg-comm-content{ padding:32px 20px; }
  .acg-comm-right{ border-left:none; border-top:1px solid rgba(255,255,255,.1); padding:32px 20px; }
  .acg-comm h2{ font-size:1.5rem; }
}

/* ── Bloc texte+image : image centrée et limitée sur mobile ── */
@media (max-width:767px){
  .acg-bloc-img{ margin:0 auto; }
  .acg-grid-2{ gap:32px; }
}

/* ── Newsletter : formulaire pleine largeur sur mobile ── */
@media (max-width:767px){
  .acg-news-inner{ gap:28px; padding:48px 0; }
  .acg-news-form input, .acg-news-form button{ width:100%; }
  .acg-news-form button{ align-self:stretch; }
}

/* ── Sections : padding réduit sur petits écrans ── */
@media (max-width:639px){
  .acg-section{ padding:48px 16px; }
  .acg-wrap{ padding:0 16px; }
  .acg-page-hero, .acg-legal-hero, .acg-detail-hero, .acg-article-hero{ padding:56px 20px; min-height:34vh; }
}

/* ── Boutons : pleine largeur et empilés sur mobile ── */
@media (max-width:520px){
  .acg-btn, .acg-btn-outline{ width:100%; }
  .acg-btn-row, .acg-cta-row{ flex-direction:column; align-items:stretch; gap:12px; }
  .acg-detail-meta{ gap:12px; }
}

/* ── Cartes en grille : confort tactile ── */
@media (max-width:639px){
  .acg-grid-3, .acg-grid-2{ gap:20px; }
  .acg-galerie-grid{ grid-template-columns:repeat(2, 1fr) !important; gap:8px; }
}

/* ── Formulaires Fluent : confort mobile ── */
@media (max-width:639px){
  .acg-ff .ff-t-container{ flex-direction:column; }
  .acg-ff .ff-t-cell{ width:100% !important; padding:0 !important; }
}

/* ── Pages légales / prière : grilles en 1 colonne sur mobile ── */
@media (max-width:767px){
  .acg-engage-grid{ gap:32px; }
}

/* ── Hero slider : hauteur et flèches adaptées ── */
@media (max-width:639px){
  .acg-hero{ height:clamp(380px, 75vh, 560px); }
  .acg-hero-arrow{ width:34px; height:34px; }
  .acg-hero-badge{ font-size:.65rem; }
}
