/* mobile-fixes-v1.css - corrige les debordements horizontaux mobiles (causes reelles, aucun masquage) */
@media (max-width:768px){
  /* Solutions: grilles INLINE multi-colonnes (#featured-programs, #projet-familial-svc, #certifications-pulse-svc) -> 1 colonne */
  section [style*="grid-template-columns"]{ grid-template-columns:1fr !important; }
  section [style*="grid-template-columns"] > *{ min-width:0; }

  /* Conferences/Speaking + Contact: grilles definies en CSS -> 1 colonne */
  .speaking-intro-inner,.topics-grid,.formats-grid,.contact-inner{ grid-template-columns:1fr !important; }
  .speaking-intro-inner > *,.topics-grid > *,.formats-grid > *,.contact-inner > *{ min-width:0; }

  /* rangee de stats (3 colonnes) : laisser les colonnes retrecir pour tenir */
  .speaking-stats > *{ min-width:0; }

  /* securite : mots/URLs non cassables */
  .speaking-intro-inner,.topics-grid,.contact-inner{ overflow-wrap:anywhere; }

  /* Calendly requiert une largeur mini de 320px : sur mobile, retirer le padding lateral
     de SA section pour que le widget tienne bord a bord dans le viewport
     (ne modifie NI le widget, NI l'iframe, NI le lien Calendly) */
  .pc-calendly{ padding-left:0 !important; padding-right:0 !important; }
  .pc-calendly .calendly-inline-widget,.pc-calendly iframe{ max-width:100%; }
  /* le wrapper ne doit PAS decaler le widget (sinon 320px + padding depasse le viewport) */
  .pc-calendly > *:not(.calendly-inline-widget):not(iframe){ padding-left:0; padding-right:0; }
  /* on marge uniquement le texte pour qu'il ne colle pas aux bords */
  .pc-calendly h1,.pc-calendly h2,.pc-calendly h3,.pc-calendly p{ padding-left:16px; padding-right:16px; }
}
