/* Styles MathJax Responsive - Coupure automatique sur mobile */

/* Styles de base pour MathJax - TRÈS AGRESSIFS */
.MathJax_Display,
.MathJax,
.mjx-chtml,
.mjx-chtml *,
[class*="MathJax"],
[class*="mjx"] {
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  word-wrap: break-word !important;
  word-break: break-all !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
}

/* Cibler spécifiquement les conteneurs MathJax */
.MathJax_Display {
  margin: 1em 0 !important;
  padding: 0.5em 0 !important;
}

/* Pour les expressions inline */
.MathJax {
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Pour les conteneurs de MathJax modernes */
.mjx-chtml {
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Styles spécifiques pour mobile - GARDE LA TAILLE NORMALE */
@media (max-width: 768px) {
  .MathJax_Display,
  .MathJax,
  .mjx-chtml,
  .mjx-chtml *,
  [class*="MathJax"],
  [class*="mjx"] {
    /* Garde la taille de police normale */
    font-size: inherit !important;
    line-height: inherit !important;
    max-width: 100% !important;
    /* Scroll uniquement si nécessaire */
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .MathJax_Display {
    padding: 0.5em !important;
    margin: 0.5em 0 !important;
  }
}

@media (max-width: 480px) {
  .MathJax_Display,
  .MathJax,
  .mjx-chtml,
  .mjx-chtml *,
  [class*="MathJax"],
  [class*="mjx"] {
    /* Garde la taille de police normale même sur très petits écrans */
    font-size: inherit !important;
    line-height: inherit !important;
    max-width: 100% !important;
    /* Scroll uniquement si nécessaire */
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .MathJax_Display {
    padding: 0.3em !important;
    margin: 0.3em 0 !important;
  }
}

/* Styles pour les conteneurs de contenu avec MathJax */
#reponseContainer .MathJax_Display,
#reponseContainer .MathJax,
#reponseContainer .mjx-chtml,
#reponseContainer [class*="MathJax"],
#reponseContainer [class*="mjx"] {
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/* Styles pour les onglets avec MathJax */
[id$="-content"] .MathJax_Display,
[id$="-content"] .MathJax,
[id$="-content"] .mjx-chtml,
[id$="-content"] [class*="MathJax"],
[id$="-content"] [class*="mjx"] {
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/* Styles pour les conteneurs de texte avec MathJax */
.textToPrint .MathJax_Display,
.textToPrint .MathJax,
.textToPrint .mjx-chtml,
.textToPrint [class*="MathJax"],
.textToPrint [class*="mjx"] {
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/* Styles pour tous les conteneurs possibles */
div .MathJax_Display,
div .MathJax,
div .mjx-chtml,
div [class*="MathJax"],
div [class*="mjx"],
p .MathJax_Display,
p .MathJax,
p .mjx-chtml,
p [class*="MathJax"],
p [class*="mjx"] {
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/* Masquer complètement la scrollbar par défaut */
.MathJax_Display::-webkit-scrollbar,
.mjx-chtml::-webkit-scrollbar,
[class*="MathJax"]::-webkit-scrollbar,
[class*="mjx"]::-webkit-scrollbar {
  height: 0 !important;
  width: 0 !important;
  background: transparent !important;
}

/* Afficher la scrollbar seulement quand il y a du contenu à scroller */
.MathJax_Display:has(.MathJax),
.mjx-chtml:has(.mjx-chtml),
[class*="MathJax"]:has([class*="MathJax"]),
[class*="mjx"]:has([class*="mjx"]) {
  /* La scrollbar apparaîtra automatiquement si le contenu dépasse */
}

/* Alternative : scrollbar discrète qui apparaît au survol */
.MathJax_Display:hover::-webkit-scrollbar,
.mjx-chtml:hover::-webkit-scrollbar,
[class*="MathJax"]:hover::-webkit-scrollbar,
[class*="mjx"]:hover::-webkit-scrollbar {
  height: 4px !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.MathJax_Display::-webkit-scrollbar-track,
.mjx-chtml::-webkit-scrollbar-track,
[class*="MathJax"]::-webkit-scrollbar-track,
[class*="mjx"]::-webkit-scrollbar-track {
  background: transparent !important;
}

.MathJax_Display::-webkit-scrollbar-thumb,
.mjx-chtml::-webkit-scrollbar-thumb,
[class*="MathJax"]::-webkit-scrollbar-thumb,
[class*="mjx"]::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3) !important;
  border-radius: 2px !important;
}

.MathJax_Display::-webkit-scrollbar-thumb:hover,
.mjx-chtml::-webkit-scrollbar-thumb:hover,
[class*="MathJax"]::-webkit-scrollbar-thumb:hover,
[class*="mjx"]::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5) !important;
}

/* Force la coupure sur tous les éléments MathJax */
*[class*="MathJax"],
*[class*="mjx"] {
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  word-wrap: break-word !important;
  word-break: break-all !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
} 