.icon-gauche{
    padding: 10px 20px;
}

.icon-gauche img{
    margin-right: 10px;
}

/* Projet Header Styles */
.header-projet{
    display: flex;
    flex-direction: column;
    padding: 100px 20% 0px;
    gap: 20px;
}

.header-projet-description, .header-projet-description-btn{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.header-projet-description h3{
    width: 80%;
    margin: 0;
}

.header-projet-image img{
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}

.header-projet-infos{
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.header-projet-infos div{
    flex: 1;
    padding: 20px;
    border-radius: 14px;
}

.header-projet-infos p{
    font-weight: 600;
}

/* main content */

section{
    padding: 50px 20% 0;
    display: flex;
}

/* section contexte */
.section-technologies{
    flex-direction: column;
}

.div-tech{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.div-tech img{
    width: 50px;
    height: 50px;
}

.tech-icons{
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    border-radius: 14px;
    flex: 1;
}

.tech-icon-name{
    font-weight: 700;
    font-size: 14px;
}

/* section fonctionnalités */

.section-fonctionnalite{
    gap: 20px;
}

.fonctionnalites{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fonctionnalite{
    padding: 20px;
}

/* section défi et solution */

.section-defis{
    flex-direction: column;
}

.defis-solutions{
    display: flex;
    gap: 20px;
    justify-content: space-between;
    flex-direction: column;
}

.defi-solution{
    flex: 1;
    display: flex;
    gap: 20px;
}

.defi{
    padding: 20px;
    border-radius: 14px;
    background: rgba(122, 5, 5, 0.15);
    flex: 1;
}

.defi-span{
    color: #be1010;
}

.solution-span, .defi-span{
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    font-size: 12px;
}

.solution{
    padding: 20px;
    border-radius: 14px;
    background: var(--surface);
    height: 100%;
    flex: 1;
}

.solution-span{
    color: var(--primary);
}

/* section résultats */

.section-resultats{
    flex-direction: column;
}

.resultats{
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.resultat{
    flex: 1;
    padding: 20px;
    border-radius: 14px;
    background: var(--surface);
    height: 100%;
}

/* section screenshots */

.section-projet-screenshots{
    flex-direction: column;
    gap: 20px;
}

.section-projet-screenshots img{
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    border-radius: 24px;
}

.screenshot-group{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.screenshot-group img{
    width: calc(50% - 10px);
    height: auto;
}

/* section projets-suivants */

.section-projets-suivants {
    padding: 100px 20% 0;
}

.section-projets-suivants a{
    width: 100%;
}

.section-projets-suivants div{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 20px;
    transition: all 0.3s ease;
}

.section-projets-suivants div:hover{
    background: var(--surface-hover);
    transform: translateY(-2px);
}

.dark .section-projets-suivants img{
    filter: invert(1);
}

@media (max-width: 768px) {

    /* header */
    .header-projet{
        padding: 100px 20px 0px;
    }

    .header-projet-description{
        flex-direction: column;
        align-items: flex-start;
    }

    .header-projet-description h3{
        width: 100%;
    }

    .header-projet-infos{
        display: none;
    }

    /* main */

    section{
        padding: 50px 20px 0;
    }

    .section-fonctionnalite{
        flex-direction: column;
    }

    .defi-solution{
        flex-direction: column;
    }

    .resultats{
        flex-direction: column;
    }

    .screenshot-group{
        flex-direction: column;
        gap: 5px;
    }

    .section-projet-screenshots img{
        width: 100%;
        border-radius: 14px;
    }

    .section-projets-suivants {
        padding: 100px 20px 0;
    }

}