/* Réinitialisation des styles de base pour tous les éléments */
* {
    padding: 0;
    margin: 0;
    text-decoration: none;
    font-family: "Roboto", sans-serif;
    list-style: none;
    user-select: none; /* Désactive la sélection de texte */
}

:root {
    --bg-color: #0c0c0c; /* Couleur de fond principale */
    --text-color: #fff; /* Couleur du texte principal */
    --main-color: #ffd000; /* Couleur principale pour les accents */

    --big-font: 6.6rem; /* Taille de police pour les grands titres */
    --p-font: 1rem; /* Taille de police pour les paragraphes */

    --c-voiture: #94c615; /* Couleur utilisée pour certains éléments visuels */
}

/* Styles de base pour le corps de la page */
body {
    background: var(--bg-color);
    color: var(--text-color);
}

/* Styles pour l'en-tête */
header {
    position: fixed;
    width: 100%;
    top: 0;
    right: 0;
    z-index: 1000; /* Place l'en-tête au-dessus des autres éléments */
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.50s ease; /* Transition fluide pour les changements de style */
}

/* Classe pour masquer un élément */
.invisible {
    display: none;
    width: 42px;
}

/* Styles pour le logo */
.logo img {
    width: 100px;
    height: auto;
}

/* Styles pour la liste de navigation */
.navlist {
    display: flex;
}

.navlist a {
    flex-direction: row;
    margin: 0 35px;
    color: var(--text-color);
    font-size: 1rem;
    transition: all 0.6s ease; /* Transition fluide sur les liens */
}

.navlist a:hover {
    color: var(--main-color); /* Changement de couleur au survol */
}

/* Contenu à droite de l'en-tête */
.right-content {
    display: flex;
    align-items: center;
}

/* Icône du menu pour les petits écrans */
#menu-icon {
    color: var(--text-color);
    font-size: 42px;
    z-index: 10001;
    cursor: pointer;
    display: none; /* Masqué par défaut */
}

/* Style général pour les sections */
section {
    padding-left: 14%;
}

/* Styles pour le héros (section principale) */
.hero {
    position: relative;
    height: 100vh;
    background-size: cover;
    background-position: center;
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Deux colonnes */
    align-items: center;
    gap: 2rem; /* Espacement entre les colonnes */
}

/* Image dans la section héros */
.hero-img img {
    z-index: 1000; /* Place l'image au-dessus des autres éléments */
    width: 100%;
    height: 100%;
}

/* Texte dans la section héros */
.hero-text h1 {
    font-size: var(--big-font);
    font-weight: 900;
    margin: 15px 0;
    color: var(--text-color);
}

.hero-text h5 {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 1px;
    color: var(--text-color);
}

.hero-text p {
    width: 100%;
    max-width: 620px;
    font-size: var(--p-font);
    font-weight: 400;
    line-height: 32px;
    color: var(--text-color);
    margin-bottom: 40px;
}

/* Bouton pour inciter au défilement */
.scroll {
    position: absolute;
    top: 92%;
    left: 7%;
    transform: translateY(-50px);
}

.scroll a {
    font-size: 16px;
    color: var(--text-color);
}

/* Deuxième section héros (similaire à la première) */
.hero2 {
    position: relative;
    height: 100vh;
    background-size: cover;
    background-position: center;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 2rem;
}

/* Images et textes spécifiques à la deuxième section héros */
.hero-img2 img {
    z-index: 1000;
    width: 100%;
    height: 100%;
}

.hero-text2 h1 {
    font-size: var(--big-font);
    font-weight: 900;
    margin: 15px 0;
    color: var(--text-color);
}

.hero-text2 h5 {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 1px;
    color: var(--text-color);
}

.hero-text2 p {
    width: 100%;
    max-width: 620px;
    font-size: var(--p-font);
    font-weight: 400;
    line-height: 32px;
    color: var(--text-color);
    margin-bottom: 40px;
}

/* Catalogue affiché en bas de la page */
.catalog {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    display: flex;
}

.catalog li {
    list-style: none;
    display: inline-block;
    margin: 0 2px;
    cursor: pointer;
    transform: 0.5s;
}

.catalog li:hover {
    transform: translateY(-20px); /* Animation au survol */
}

.catalog li img {
    max-width: 130px;
}

/* Cercle de décoration */
.circle {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--c-voiture);
    clip-path: circle(600px at right 500px); /* Forme de cercle */
}

/* Ajustements pour différentes tailles d'écran (responsive) */
@media(max-width: 1770px) {
    .scroll {
        left: 4%;
    }
}

@media(max-width: 1670px) {
    :root {
        --big-font: 5.5rem;
        --p-font: 15px;
    }
}

@media(max-width: 1370px) {
    section {
        padding: 4%;
        
    }

    .scroll {
        top: 98%;
    }

    .circle {
        width: 100vw;
        height: 100%;
        clip-path: circle(550px at right 500px);
    }
}

@media(max-width: 1150px) {
    :root {
        --big-font: 4.6rem;
    }

    .circle {
        clip-path: circle(500px at right 500px);
    }
}

@media(max-width: 950px) {
    #menu-icon {
        display: block;
    }

    .invisible{
        display: block;
    }

    .hero-img {
        width: 109%
    }

    .hero-img2 {
        width: 113%
    }

    .navlist {
        position: absolute;
        width: 100%;
        height: 100vh;
        padding: 100px 100px;
        top: 0;
        right: 0;
        bottom: 0;
        left: 100%;
        display: flex;
        flex-direction: column;
        backdrop-filter: blur(32px);
        transition: all .6s ease-in-out;
    }

    .navlist a {
        display: block;
        padding: 0;
        margin: 0px 0px 25px 0px;
        font-size: 1.7rem;
    }

    .navlist.open {
        left: 0;
    }

    .scroll {
        display: none;
    }


    .circle {

        clip-path: circle(450px at right 500px);
    }
}

@media(max-width: 920px) {

    .hero {
        grid-template-columns: 1fr; /* Une seule colonne */
        height: auto;
    }

    .hero-text {
        padding-top: 130px;
    }

    .hero-img {
        width: 100%;
    }

    .hero2 {
        grid-template-columns: 1fr;
        height: auto;
    }

    .hero-text2 {
        padding-top: 0px;
    }

    .hero-img2 {
        width: 100%;
    }

    .circle {
        clip-path: circle(700px at right 900px);
    }
}

@media(max-width: 570px) {

    section{
        margin-right: 0;
    }

    .hero p {
        margin-bottom: 0;
    }

    .hero2 {
        top: 15vh;
    }

    :root {
        --big-font: 4rem;
    }


    .catalog {
        top: 100%;
    }

    .catalog li img {
        max-width: 110px;
    }

    .circle {
        height: 250%;
        clip-path: circle(500px at right 700px);
    }


}

@media(max-width: 440px) {
    :root {
        --big-font: 3.4rem;
    }

    .hero-text h5 {
        font-size: 15px;
    }

    .hero-img {
        width: 100%;
    }

    .hero2 p {
        margin-bottom: 30px;
    }

    .hero-text2 h5 {
        font-size: 15px;
    }

    .hero-img2 {
        width: 100%;
    }

    .catalog li img {
        max-width: 70px;
    }

    .circle {
        height: 260%;
        clip-path: circle(400px at right 650px);
    }
}