/* Masquer le menu à l'impression */
@media print {
  #sideMenuDroit {
    display: none !important;
  }
}

/* Label vertical */
.vertical-label-droit {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); /* fait remonter */
    writing-mode: vertical-rl;   /* texte vertical */
    text-orientation: mixed;
    padding: 0px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.vertical-label-droit i {
    transform: rotate(90deg); /* remet l’icône dans le bon sens */
}

/* Menu latéral droit */
#sideMenuDroit {
    position: fixed;
    top: 140px;
    right: -76px;
    width: 100px;
    border: 2px solid  rgba(34,140,34,0.5);
    border-right: none;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    color: black;
    padding: 0 24px 0px 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start !important;
    align-items: flex-start;
    transition: right 0.9s ease;
    z-index: 998;
    box-sizing: border-box;       /* inclut padding dans la largeur */
    overflow-x: hidden;           /* cache tout débordement horizontal */
    overflow-wrap: break-word;    /* coupe les mots trop longs */
    word-wrap: break-word;        /* compatibilité */
    white-space: normal;          /* permet retour à la ligne */
}

/* Survol : fond moins transparent */
#sideMenuDroit:hover {
    background-color: rgba(255, 255, 255, 0.9); /* presque opaque */
    z-index: 998;
}

/* État ouvert */
#sideMenuDroit.open {
    right: 0;
}

/* Contenu du menu */
.menu-content {
    flex: 1;
    padding-top: 0;      /* pas d'espace au-dessus */
    margin-top: 0;       /* en cas de marge héritée */
    max-width: 100%;
    box-sizing: border-box;
    word-break: break-word;       /* coupe les mots trop longs */
}

/* Paragraphes dans le menu */
#sideMenuDroit p {
    /*margin-top: 0;*/
    max-width: 100%;
    box-sizing: border-box;
    word-break: break-word;
    margin: 0;        /* supprime marges par défaut */
    padding: 0;       /* supprime padding par sécurité */
}

/* Liens du menu */
#sideMenuDroit a {
    max-width: 100%;
    box-sizing: border-box;
    word-break: break-word;
    margin: 0;        /* supprime marges par défaut */
    padding: 0;       /* supprime padding par sécurité */
}

#sideMenuDroit a:hover {
    background-color: #999999;
}