/*-- Créé par Joachim Espin / le 20.02.2025 */

/* Réinitialisation des marges, paddings, des styles de liste et des liens */
* {
    margin: 0;
    padding: 0;
    text-decoration: none;
    list-style: none;
}

/* Définition des styles de base pour le corps du document et l'image de fond */
html,
body {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    background-attachment: fixed;
}

/* Corps du site : utilisation d'une image de fond, avec une mise en page flexible */
body {
    font-family: Arial, Helvetica, sans-serif;
    background: url(../ASSETS/img/culture_et_evenement.jpg) center/cover no-repeat;
    background-attachment: fixed;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Style de la barre de navigation : disposition en flex pour aligner les éléments */
.navbar {
    padding: 50px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

/* Mise en évidence du lien de la page actuelle avec une couleur différente */
#actuelle {
    color: #ffd900;
    font-weight: 600;
}

/* Style du logo dans la barre de navigation */
.navbar a .logo {
    color: white;
    font-size: 2em;
    font-weight: bold;
    margin-left: 50px;
}

/* Logo sous forme d'image, avec une position absolue et taille définie */
.navbar a .img-logo {
    position: absolute;
    left: 60px;
    width: 150px;
    height: 100px;
    margin-top: 40px;
}

/* Style de base des liens dans la barre de navigation, avec une animation sur la couleur */
.navbar a {
    color: white;
    font-size: 15px;
    transition: color 0.6s ease;
}

/* Liste de liens dans la barre de navigation, avec une disposition flexible */
.navbar .nav-links {
    display: flex;
    justify-content: center;
}

/* Liste de liens, sans marges supplémentaires */
.navbar .nav-links ul {
    display: flex;
    margin: 0;
}

/* Espacement entre les éléments de la barre de navigation */
.navbar .nav-links ul li {
    margin: 0 25px;
}

/* Effet au survol des liens dans la barre de navigation */
.navbar .nav-links ul li a:hover {
    color: #ffd900;
    font-weight: 600;
}

/* Menu hamburger (icône de menu pour petits écrans) */
.navbar .menu-hamburger {
    display: none;
    position: absolute;
    right: 30px;
    top: 40px;
    width: 35px;
    z-index: 3;
}

/* Style de base des sections : fond sombre, alignement et espacement */
section {
    background-color: #534b4b;
    color: white;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 15px;
    margin: 20px;
    border-radius: 10px;
    position: relative;
    margin-bottom: 50px;
    top: 100px;
}

/* Spécificités pour la section "intro" */
.intro {
    margin-right: 200px;
    margin-left: 50px;
}

/* Spécificités pour la section "evenement" */
.evenement {
    margin-left: 200px;
    margin-right: 50px;
}

/* Marges des éléments textuels dans les sections */
section p {
    margin: 15px;
}

/* Style de base pour les titres de section */
section h1 {
    font-size: 2em;
    margin-bottom: 15px;
}

/* Disposition flexible des articles : espacement entre les éléments */
article {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 100px;
    position: relative;
    top: 60px;
    color: white;
    margin-bottom: 50px;
}

/* Style de la section nom dans les articles */
.nom {
    background-color: #534b4b;
    border-radius: 10px;
    padding: 15px;
    color: white;
    position: relative;
    top: 75px;
    margin: 50px;
    text-align: center;
}

/* Style de base des éléments dans les articles */
article div {
    background-color: #534b4b;
    border-radius: 10px;
    padding: 15px;
}

/* Disposition flexible des images d'événements */
.photo_evenement {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

/* Style des blocs contenant les images des événements */
.photo_evenement div {
    width: 30%;
    background-color: #534b4b;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 15px;
    text-align: center;
    min-height: 350px;
    color: white;
    font-size: 0.9em;
}

/* Mise en forme des images dans les blocs */
.photo_evenement div img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 10px;
    max-height: 250px;
    display: block;
    margin: auto;
    margin-bottom: 15px;
}

/* Style du texte sous les images des événements */
.photo_evenement div p {
    font-size: 1.2em;
    text-align: center;
}

/* Style des images d'événements dans la section */
.photo_evenement img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    max-height: 250px;
    display: block;
    margin: auto;
}

/* Liens dans les photos d'événements avec une couleur de survol spécifique */
.photo_evenement a {
    color: #ffd900;
}

/* Style du footer avec fond sombre et texte centré */
footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 10px;
    margin-top: 50px;
}

/* Styles pour les écrans plus petits (moins de 900px de large) */
@media screen and (max-width: 900px) {
    /* Réduction du padding dans la navbar */
    .navbar {
        padding: 0;
    }

    /* Affichage du menu hamburger */
    .navbar .menu-hamburger {
        display: block;
    }

    /* Menu mobile : disposition en colonne, avec fond semi-transparent */
    .nav-links {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        background: rgba(255, 255, 255, 0.256);
        backdrop-filter: blur(7px);
        width: 100%;
        height: 100vh;
        flex-direction: column;
        align-items: center;
        margin-left: -100%;
        transition: margin 0.5s ease;
    }

    .nav-links ul {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .nav-links.mobile-menu {
        margin-left: 0;
        position: fixed;
    }

    .navbar .nav-links ul li {
        margin: 25px 0;
    }

    .navbar a {
        font-size: 1.2em;
    }

    .navbar a .logo {
        position: absolute;
        top: 40px;
        left: -10px;
    }

    .navbar a .img-logo {
        margin-top: 15px;
        ;
        width: 225px;
        height: 200px;
        padding-left: 45px;
    }

    .intro {
        margin-bottom: 25px;
        margin-left: 100px;
        margin-right: 100px;
        margin-top: 100px;
    }

    .evenement {
        margin-bottom: 25px;
        margin-left: 100px;
        margin-right: 100px;
        margin-top: 100px;
    }

    /* Changement de la disposition des photos d'événements en colonne */
    .photo_evenement {
        flex-direction: column;
    }

    .photo_evenement div {
        width: 70%;
        background-color: #534b4b;
        border-radius: 10px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        padding: 15px;
        text-align: center;
        min-height: 350px;
        color: white;
        font-size: 0.9em;
    }
}

@media screen and (max-width: 1323px) {
    .navbar a .logo {
        color: white;
        font-size: 2em;
        font-weight: bold;
        margin-left: 50px;
    }

    .navbar a .img-logo {
        position: absolute;
        left: 35px;
        width: 150px;
        height: 100px;
        margin-top: 80px;
    }
}

@media screen and (max-width: 600px) {
    .intro {
        margin-left: 50px;
        margin-right: 50px;
    }

    .evenement {
        margin-left: 50px;
        margin-right: 50px;
    }
}
