/* Palette de couleurs du site :
    Gris clair  : #879499
    Gris foncé  : #3e4749
    Jaune       : #faa000
    Orange      : #ff4b01
*/

/* Les icônes utilisent une classe dédiée .icon
plutôt que les classes générées par FontAwesome */
.icon {
    width: 20px;
}

.orcid-icon {
    width: 16px;
    height: 16px;
    margin-right: 0;
    margin-left: 4px;
    filter: invert(24%) sepia(2%) saturate(2829%) hue-rotate(152deg) brightness(94%) contrast(85%);
}

/* Masque pour toute la partie visible (body) */
body,
html {
    font-family: 'Lato', sans-serif;
    font-size: large;
    color: #3e4749;
    margin: 0;
    padding: 0;
}

.blockPadding {
    padding-left: 5%;
    padding-right: 5%;
}

.block {
    display: flex;
}

.item {
    width: 85%;
    margin: 5%;
    margin-top: 1%;
    margin-bottom: 1%;}

.itemLeft {
    width: 66%;
    margin: 2%;
}

.itemRight {
    width: 34%;
    margin: 2%;
}

.itemRightImage {
    width:34%;
    margin: 2%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

/* Classes dédiées au header desktop — trois colonnes symétriques */
.headerPhoto {
    width: 33%;
    margin: 2%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 1;
}

.headerTitle {
    width: 33%;
    margin: 2%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.headerContact {
    width: 33%;
    margin: 2%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.headerContact .textRight {
    width: 160px; /* Compense les protubérances des icônes autour de la photo (+10px de chaque côté) */
}

.photo-container {
    position: relative; /* Allows small circles to be positioned absolutely */
    display: inline-block; /* Keep elements grouped together */
    z-index: 1; /* Make sure it's also under the menu */
}

.imgExemple {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
}

.small-circle {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    object-fit: cover;
    position: absolute;
    z-index: 1; /* Keeps circles below menu */
}

.top-left {
    bottom: -10px;
    left: -10px;
}

.top-right {
    bottom: -10px;
    right: -10px;
}

.bio {
    width : 80%;
    margin: 15%;
    margin-top: 1%;
    margin-bottom: 1%;
}

/* .whiteZone : utilitaire disponible si besoin, le blanc étant la couleur de fond par défaut */
/* .whiteZone { background-color: white; } */

.greyZone {
    background-color: #8794991d;
}

.textRight {
    text-align: right;
}

.textCenter {
    text-align: center;
}

.textLeft {
    text-align: left;
}

.textJustify {
    text-align: justify;
    text-justify: auto;
}

.title {
    font-weight: 600;    
    top: 20px;
    left: 20px;
}

.subTitle {
    font-weight: 600;
    color: #ff4b01;
}

.credits {
    font-weight: 500;
    color: #879499;
}

.imgDesc {
    font-weight: 100;
    color: #879499;
    text-align: center;
}

.titleSeparator {
    width: 25%;
    border-bottom-style: solid;
    border-bottom-width: 1px ;
    border-bottom-color:#3e474980;
}

/* Variante centrée du séparateur */
.titleSeparatorCentered {
    margin: auto;
}

.imgRight {
    height: auto;
    width: 100%;
    border-radius: 3%;
}

/* modification du style par défaut des URL */
a[href^="http"],
a[href^="mailto:"],
a[href$=".pdf"] {
    color: #8002f6;
    text-decoration: none;
}

/* on retire le style par défaut des boutons */
button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    border: none;
    font: inherit;
    cursor: pointer;
    padding: 0;
    margin: 0;
}

/* Base commune à tous les boutons */
.btn1, .btn2, .btn3, a.btn3 {
    border-style: solid;
    border-radius: 3px;
    border-width: 2px;
    height: 20px;
    width: 60px;
    font-size: small;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Variante : contour orange (btn1) */
.btn1 {
    background-color: white;
    border-color: #ff4b01;
    color: #ff4b01;
}

.btn1:hover {
    background-color: #ff4b01;
    border-color: #ff4b01;
    color: white;
}

/* Variante : plein orange (btn2) */
.btn2 {
    background-color: #ff4b01;
    border-color: #ff4b01;
    color: white;
}

.btn2:hover {
    background-color: white;
    border-color: #ff4b01;
    color: #ff4b01;
}

/* Variante : plein gris foncé (btn3) */
.btn3 {
    background-color: #3e4749;
    border-color: #3e4749;
    color: white;
    display: inline-block;
    text-align: center;
}

.btn3:hover {
    background-color: #8794992a;
    border-color: #3e4749;
    color: #3e4749;
}

/* Rustine pour les <a class="btn3"> — hauteur différente du <button> */
a.btn3 {
    height: 16px;
    background-color: #3e4749;
    border-color: #3e4749;
    color: white;
    display: inline-block;
    text-align: center;
}

a.btn3:hover {
    background-color: #8794992a;
    border-color: #3e4749;
    color: #3e4749;
}

.header {
    display: block;
}

.responsiveHeader {
    display: none;
}

.footer {
    display: block;
}

/* Mise en page intérieure du footer desktop */
.footerDesktopContent {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.responsiveFooter {
    display: none;
}

nav#menu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    background-color: #333;
    padding-top: 20px;
    transition: width 0.4s ease, background-color 0.4s ease; /* Ajoute une transition fluide */
    z-index: 1000;
}

nav#menu ul {
    list-style-type: none;
    padding: 0;
}

nav#menu ul li {
    margin: 10px 0;
}

nav#menu ul li a {
    color: white;
    text-decoration: none;
    padding: 10px;
    padding-left: 20px;
    display: block;
    white-space: nowrap;
}

nav#menu ul li a:hover {
    background-color: #575757;
}

/* Menu collapsed transparent */
nav#menu.collapsed {
    width: 60px;
    background-color: transparent;
}

nav#menu.collapsed ul {
    display: none; /* Cacher la liste du menu */
}

/* Ajouter un style pour l'icône visible dans le menu collapsed */
nav#menu.collapsed::before {
    content: "\f0c9";
    font-family: "FontAwesome";
    font-size: 30px;
    position: absolute;
    top: 20px;
    left: 20px;
    cursor: pointer;
}

nav#menu.collapsed:hover {
    width: 200px; /* Le menu s'ouvre au survol */
    background-color: #333; /* Couleur de fond visible quand le menu s'ouvre */
}

nav#menu.collapsed:hover ul {
    display: block; /* Afficher le contenu au survol */
}

/* .section : placeholder prévu si un margin-left est nécessaire pour le menu latéral */
/* .section { margin-left: 0; } */

.section ul li {
    margin-bottom: 10px; /* Ajoute un espace de 10px entre chaque élément de liste */
}

.abstract {
    background-color: #f9f9f9; /* Fond légèrement gris */
    border-left: 4px solid  #ff4b01; /* Bordure colorée sur le côté gauche */
    padding: 10px 15px; /* Espacement intérieur */
    margin-top: 10px; /* Espace au-dessus du paragraphe */
    font-style: italic; /* Texte en italique */
    color: #333; /* Couleur du texte */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Légère ombre pour effet de relief */
}

/* Pour les écrans étroits (comme les téléphones) */
@media screen and (max-width: 800px) {
    nav#menu{
        display: none;
    }

    .section {
        margin-left: 0;
    }

    .block {
        padding-top: 5%;
        padding-bottom: 5%;
        display: block;
    }

    .item {
        width: 100%;
        margin: 0%;
    }

    .itemLeft {
        width: 100%;
        margin: 0%;
    }

    .itemRight {
        width: 100%;
        margin: 0%;
    }

    .itemRightImage {
        width:100%;
        margin: 0%;
        padding-top: 5%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .imgRight {
        height: auto;
        width: 80%;
        border-radius: 3%;
    }

    .header {
        display: none;
    }

    .responsiveHeader {
        display: block;
        margin-top: 5%;
    }

    .footer {
        display: none;
    }

    .responsiveFooter {
        display: block;
        margin-top: 5%;
    }
}
