
h1{
  font-size:      150%;
  font-style:     italic;
  color:          blue;
  font-weight:    bold;}
p{
  margin-left:    auto;
  margin-right:   auto;
  font-size:      100%;
  text-align:     justify;
  color:          #000000; }
.error{
  font-size:      130%;
  color:          red;
  text-align:     left; }
.small-right{
  text-align:     right;
  font-size:      75%;  }
.small-left{
  font-size:      75%; }
pre{
  font-family:    Courier, monospace;}
.input-label{
  color:          darkred;
  font-size:      100%;
  font-weight:    bold;}
.inputcode{
  color:          darkgreen;
  font-size:      100%;
  font-weight:    bold;}
.output{
  background-color: lightgray;
  color:          blue;
  font-weight:    bold;
  font-size:      100%;}
.print{
  font-size:      75%;
  font-style:     italic;}
td{
  text-align:     left;
  vertical-align: top;}
textarea{
  width:          100%;}
.maxima-output{
    display:		flex;
    justify-content:	center;
    align-items:	center;
    margin:		auto;}
.mathml{
    font-size: large;
    color:     black;}
.output-label::before, .input-label::before{
    content:"[";}
.output-label::after, .input-label::after{
    content:"] ";}
tr.retrieve{
    background-color: lightpink;
    color:            black;}
span.retrieve{
    white-space:	pre;
    font-family:	monospace;
    display:		block;
    margin:		25px;
    font-weight:	bold;
    font-style:		oblique;}

/* CORRECTION : Séparer les règles */
.menu-row {
    display:	flex;
    gap:	10px;
    margin:	10px 0;
    flex-wrap:	wrap;
}

.cmd-menu {
    padding:		8px 12px;
    font-size:		14px;
    border:		1px solid #ccc;
    border-radius:	4px;
    background:	        white;
    min-width:		180px;
}

.cmd-menu:focus {
    outline:		2px solid #007cba;
    border-color:	#007cba;
}

/* Titres de menu en bleu clair/gras */
.cmd-menu option:first-child {
    background-color:	#f0f8ff;  /* Bleu très clair */
    color:		#1e40af;  /* Bleu moyen */
    font-weight:	600;
    font-style:		italic;
}

/* Effet survol pour tous les titres */
.cmd-menu option:first-child:hover {
    background-color:	#dbeafe;
    color:		#1d4ed8;
}

/* Séparateur visuel pour les autres options */
.cmd-menu option:not(:first-child) {
    font-weight:	normal;
}

.small-right {
    float:	right !important;
    font-size:	75% !important;
    margin-top: -40px !important;
}

//* Conteneur des options PDF - SANS CADRE NI FOND */
.pdf-options {
    margin: 15px 0 10px 0;
    padding: 0;                         /* ✅ Supprimé le padding */
    border: none;                       /* ✅ Supprimé le cadre */
    border-radius: 0;                   /* ✅ Supprimé les coins arrondis */
    background-color: transparent;      /* ✅ Supprimé le fond gris */
    display: flex !important;
    flex-direction: row !important;
    gap: 30px;
    align-items: center;
    flex-wrap: nowrap !important;
}

/* Chaque groupe label + select */
.pdf-options > div {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Labels des options - SANS GRAS, TAILLE RÉDUITE */
.pdf-options label {
    color: darkred;
    font-size: 80%;                     /* ✅ Réduit de 100% à 85% */
    font-weight: normal;   
    font-family:	'Arial', sans-serif;             /* ✅ Supprimé le gras */
    display: inline-block !important;
}

/* Menus déroulants pour taille et échelle - TAILLE RÉDUITE */
.pdf-options select {
    padding: 4px 8px;                   /* ✅ Réduit le padding */
    font-size: 75%;                     /* ✅ Réduit de 14px à 85% */
    border: 1px solid #ccc;
    border-radius: 4px;
    background: white;
    width: auto !important;
    min-width: 60px;
    max-width: 80px;
    display: inline-block !important;
}

.pdf-options select:focus {
    outline: 2px solid #007cba;
    border-color: #007cba;
}

/* Styles pour l'impression PDF */
@media print {
    /* Cache les boutons et éléments inutiles */
    #btn-pdf, .no-print, button {
        display: none !important;
    }
    
    /* Évite de couper les graphiques et images */
    img, canvas, svg, .graphique, .maxima-output {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        display: block;
        max-width: 100% !important;
        height: auto !important;
        margin: 10px 0;
    }
    
    /* Évite de couper les blocs de résultats */
    .result-block, .plot-container, pre, code {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
    
    /* Marges de page */
    @page {
        margin: 2cm;
        size: A4 portrait;
    }
    
    /* Garde les titres avec leur contenu */
    h1, h2, h3, h4 {
        page-break-after: avoid !important;
        break-after: avoid !important;
        page-break-inside: avoid !important;
    }
    
    /* Force le fond blanc pour l'impression */
    body {
        background: white !important;
        color: black !important;
    }
}
