/* ==========================================================
   V80 — RÉPARATION CRITIQUE DU DÉBORDEMENT / "HORS SITE"
   Ce fichier est chargé en dernier : il neutralise les anciens
   styles cumulés qui pouvaient réduire la zone publique sur mobile.
   ========================================================== */
html, body{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
}
body{position:relative !important;}
/* Le vieux calque de texture pouvait créer un contexte de rendu instable. */
body::before{display:none !important;content:none !important;}
/* Les grandes zones publiques doivent toujours occuper toute la largeur utile. */
body > header,
body > section,
body > footer,
body > .public-info-bar{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
/* Aucun enfant public ne doit imposer une largeur hors écran. */
.site-header-v36,
.public-hero-v19,
.public-missions-v36,
.public-gallery-v19,
.public-news-v19,
.emss-stats-premium,
.public-testimonials,
.public-module-newsletter,
.public-support-v19,
.public-footer-v19{
  min-width:0 !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
.container,
.public-hero-v19 .container,
.news-showcase-inner{
  width:calc(100% - 32px) !important;
  min-width:0 !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
/* Header réellement responsive : aucun minimum de 280px qui pousse la page. */
@media(max-width:820px){
  .header-v36{
    width:calc(100% - 32px) !important;
    min-width:0 !important;
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  .brand-v36{min-width:0 !important;overflow:hidden !important;}
  .nav-v36{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
}
@media(max-width:480px){
  .header-v36{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;}
  .nav-v36{grid-column:1 / -1 !important;}
  .hero-grid,.support-grid,.newsletter-public-card,.featured{min-width:0 !important;}
}
/* Bouton flottant : indépendant du flux, donc impossible de déplacer le site. */
#member-floating-access.member-floating-access{
  position:fixed !important;
  right:14px !important;
  bottom:14px !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  max-width:calc(100vw - 28px) !important;
  min-width:0 !important;
  margin:0 !important;
  z-index:2147483647 !important;
}
