* {
    box-sizing: border-box; /* Inclut les marges */
}
body {
    width: 100%; /* Largeur complète */
    height: 100vh; /* Hauteur écran */
    margin: 0; /* Supprime marges */

}

header {
    font-family: Arial, sans-serif; /* Police simple */
}

.navbar1 {
    padding: 20px; /* Espacement interne */
    display: flex; /* Disposition flexible */
    justify-content: space-between; /* Espace entre les blocs */
    align-items: center; /* Centre verticalement */
    gap: 50px; /* Espacement entre les blocs */
    background-color: #3e2b2b; /* Couleur marron foncé */
    position: fixed; /* Fixe la navbar */
    top: 0;
    left: 0;
    width: 100%; /* Fait prendre toute la largeur */
    z-index: 1000; /* Reste toujours au-dessus */
    flex-wrap: nowrap; /* Ne coupe plus la navbar */
}

ul {
    display: flex; /* Aligne les liens en ligne */
    justify-content: center; /* Centre les liens */
    gap: 50px; /* Espacement entre les liens */
    padding: 0;
    margin: 0; /* Retire les marges par défaut */
    list-style: none; /* Supprime les puces */
}

a {
    text-decoration: none;
    color: #D2B48C; /* Couleur marron clair */
    font-size: 18px;
    font-weight: bold;
    transition: color 0.3s; /* Animation hover */
}

a:hover {
    color: #2c1a0d; /* Couleur hover */
    text-decoration: underline;
}

main {
    background: white;
    padding-top: 130px; /* Ajuste selon la hauteur de ta navbar */
}

h1 {
    color: #d2b48c;
    font-family: Playfair Display;
    font-size: 30px;
}
/*menu burger*/

/* Masque la checkbox */
.menu-toggle {
    display: none;
}

/* Icône burger */
.burger {
    display: none;
    font-size: 30px;
    color: #d2b48c;
    cursor: pointer;
}

/* Menu par défaut */
.menu {
    display: flex;
    gap: 50px;
}

/* Responsive : version mobile */
/* Par défaut */
.menu-toggle {
    display: none;
}

.burger {
    display: none;
    font-size: 30px;
    color: #d2b48c;
    cursor: pointer;
}

.menu {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
}

.desktop-only {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
}

.desktop-menu {
    display: flex;
    gap: 30px;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* ---------- VERSION MOBILE ---------- */
@media (max-width: 768px) {
    .desktop-only {
        display: none;
    }

    .burger {
        display: block;
    }

    .navbar1 {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 20px;
        background-color: #3e2b2b;
        position: relative;
    }

    .menu {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 60px;
        right: 20px;
        background-color: #3e2b2b;
        width: 200px;
        padding: 10px;
        border-radius: 8px;
        z-index: 1000;
    }

    .menu li {
        margin: 10px 0;
        text-align: right;
    }

    .menu-toggle:checked + .burger + .menu {
        display: flex;
    }
}





/* ----------- CAROUSEL ----------- */

.carousel {
    box-sizing: border-box;
    width: 100%; /* Largeur complète */
    height: 600px; /* Hauteur fixe */
    overflow: hidden; /* Cache le contenu débordant */
    position: relative; /* Positionnement relatif */
    margin: auto; /* Centre horizontalement */
    padding-bottom: 10px; /* Espacement en bas */
}

/* Cache le carrousel sur les petits écrans */
@media (max-width: 768px) {
    .carousel {
        display: none;
    }
}

.carousel-track {
    display: flex; /* Affichage en ligne */
    transition: transform 4s ease; /* Animation fluide */
}

.carousel-item {
    height: 600px; /* Hauteur fixe */
    flex-shrink: 0; /* Empêche le rétrécissement */
    width: 100%; /* Largeur complète */
    object-fit: cover; /* Garde les proportions et remplit l'espace */
}

/* ----------- SECTION ACTUALITÉS ----------- */

#actualites {
    padding: 20px; /* Espacement interne */
    background-color: #fff; /* Fond blanc */
    border-radius: 5px; /* Coins légèrement arrondis */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Ombre légère */
}

#actualites h2 {
    text-align: center; /* Centre le texte */
    margin-bottom: 20px; /* Espacement en bas */
}

.actualites-container {
    display: flex; /* Affichage en ligne */
    flex-wrap: wrap; /* Permet le retour à la ligne si nécessaire */
    gap: 20px; /* Espacement entre les cartes */
    justify-content: center; /* Centre les cartes */
}

.actualite-card {
    width: 30%; /* Largeur des cartes */
    border: 1px solid #ddd; /* Bordure grise */
    border-radius: 5px; /* Coins arrondis */
    overflow: hidden; /* Cache le contenu débordant */
    background-color: #fff; /* Fond blanc */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Ombre légère */
    transition: transform 0.3s ease; /* Animation douce au survol */
}

/* Ajustement des cartes sur mobile */
@media (max-width: 768px) {
    .actualite-card {
        flex: 1 1 100%; /* Les cartes prennent toute la largeur */
    }
}

.actualite-card:hover {
    transform: scale(1.05); /* Agrandissement léger au survol */
}

.actualite-card img {
    width: 100%; /* Largeur complète */
    height: 150px; /* Hauteur fixe */
    object-fit: cover; /* Garde les proportions */
}

.actualite-card h3 {
    margin: 10px; /* Espacement autour du titre */
    font-size: 18px; /* Taille du texte */
    color: #333; /* Couleur gris foncé */
}

.actualite-card p {
    margin: 10px; /* Espacement autour du texte */
    color: #666; /* Couleur gris clair */
    font-size: 14px; /* Taille du texte */
}

/*CSS CONDITION G2N2RALE DE VENTE */

.cgv {
    background-color: white; /* Fond blanc */
    border-radius: 8px; /* Coins arrondis */
    padding: 20px; /* Ajoute de l’espace intérieur */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Ajoute une ombre légère */
    max-width: 800px; /* Limite la largeur pour une meilleure lisibilité */
    margin: auto; /* Centre la section */
}

/* Titres des sections dans la CGV */
.cgv h2 {
    font-size: 1.5rem; /* Taille du titre */
    color: #4E3B31; /* Couleur marron foncé */
    margin-top: 20px; /* Espace au-dessus */
    margin-bottom: 10px; /* Espace en dessous */
}

/* Texte des paragraphes dans la CGV */
.cgv p {
    font-size: 1rem; /* Taille du texte */
    margin-bottom: 15px; /* Ajoute de l’espace entre les paragraphes */
}

/*PAGE CSS CONTACT*/

/* Section du formulaire de contact */
.contact-form {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    max-width: 600px;
    margin: 30px auto ;
}

/* Style des groupes de champs */
.form-group {
    margin-bottom: 15px;
}

/* Style des labels */
label {
    display: block;
    font-size: 1rem;
    margin-bottom: 5px;
}

/* Style des champs de texte et textarea */
input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    padding: 10px;
    font-size: 1rem;
    border: 1px solid #ddd;
    border-radius: 4px;
}

/* Style du bouton */
button {
    background-color: #4E3B31;
    color: white;
    font-size: 1rem;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

button:hover {
    background-color: #3e2b2b;
}

.map {
    width: 100%;
    max-width: 800px;
    height: 400px;
    margin: 0 auto; /* Centre la map */
    border-radius: 8px;
    overflow: hidden; /* Coupe les bords arrondis */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/*PAGE CSS GALERIES PHOTO*/

.gallery {
    margin-top: 40px;
}

/* Titre de chaque section */
h3 {
    text-align: center;
    font-size: 1.8rem;
    color: #4E3B31;
    margin-bottom: 20px;
    font-family: 'Playfair Display', serif;
}

.photo-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 40px;
}

/* Style des éléments de la galerie */
.photo-item {
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    width: 30%; /* Chaque photo occupe environ 30% de la largeur */
    height: 350px; /* Hauteur fixée pour la zone contenant l'image */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.photo-item:hover {
    transform: scale(1.05); /* Agrandit au survol */
}
/* Image à l'intérieur de chaque élément */
.photo-item img {
    width: 100%;
    height: 60%; /* Hauteur de l'image fixée à 60% de la hauteur du conteneur */
    object-fit: cover; /* L'image couvre la zone sans déformation */
}

/* Texte sous chaque image */
.photo-item p {
    padding: 10px;
    font-size: 1.1rem;
    color: #4e3b31;
}


/*PAGE CSS MENTION L2GALES*/

/* Section des mentions légales */
.legal-notice {
    background-color: white;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Titres des sections */
.legal-notice h2 {
    font-size: 1.5rem;
    color: #4E3B31;
    margin-top: 20px;
    margin-bottom: 10px;
}

/* Liste des informations légales */
.legal-notice ul {
    margin-left: 20px;
}

.legal-notice ul li {
    margin-bottom: 10px;
}

/*PAGE CSS MENTION L2GALES*/


.intro {
    text-align: center; /* Centre le texte dans la section */
    margin-bottom: 30px; /* Ajoute un espacement en bas de la section */
}

.intro h1 {
    color: #4a2c2a; /* Définit la couleur du titre dans la section intro */
}

.demarches {
    display: flex; /* Utilise Flexbox pour organiser les articles */
    flex-wrap: wrap; /* Permet aux articles de passer à la ligne */
    gap: 20px; /* Ajoute un espacement de 20px entre les articles */
}


.demarches article {
    flex: 1 1 calc(50% - 20px); /* Chaque article occupe 50% de la largeur moins l'espacement */
    box-sizing: border-box; /* Inclut les bordures et le padding dans la largeur */
    background-color: #ddd; /* Définit la couleur de fond des articles */
    border: 1px solid #ddd; /* Définit une bordure grise autour des articles */
    border-radius: 8px; /* Arrondit les coins des articles */
    padding: 20px; /* Ajoute un espacement interne aux articles */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Ajoute une ombre légère pour un effet de profondeur */
}

.demarches article:hover {
    transform: scale(1.05); /* Agrandit au survol */
}

/* Section pour les labels */
.labels {
    text-align: center; /* Centre le texte dans la section */
    padding: 40px 20px; /* Ajoute un espacement interne autour de la section */
    background:white; /* Définit la couleur de fond des labels */
}

.labels h2 {
    color: black; /* Définit la couleur du titre des labels */
    margin-bottom: 20px; /* Ajoute un espacement sous le titre */
}

.label-list {
    display: flex; /* Utilise Flexbox pour organiser les articles des labels */
    flex-wrap: wrap; /* Permet aux articles de passer à la ligne si nécessaire */
    justify-content: center; /* Centre les articles horizontalement */
    gap: 20px; /* Ajoute un espacement de 20px entre les articles */
}

.label-list article {
    flex: 1 1 calc(33.333% - 20px); /* Chaque article occupe environ 1/3 de la largeur */
    max-width: 450px; /* Limite la largeur maximale des articles */
    background-color: #ddd; /* Définit un fond gris clair pour les articles */
    border: 1px solid #ddd; /* Ajoute une bordure grise autour des articles */
    border-radius: 8px; /* Arrondit les coins des articles */
    padding: 20px; /* Ajoute un espacement interne aux articles */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Ajoute une ombre légère pour un effet de profondeur */
    text-align: center; /* Centre le contenu dans chaque article */
}

.label-list article img {
    max-width: 80px; /* Limite la largeur des images à 80px */
    margin-bottom: 10px; /* Ajoute un espacement sous l'image */
}

.label-list article h3 {
    color: #4a2c2a; /* Définit la couleur des titres dans les articles */
    margin-bottom: 10px; /* Ajoute un espacement sous le titre */
}

.label-list article p {
    font-size: 0.9rem; /* Réduit légèrement la taille de la police du texte */
    color: #555; /* Définit une couleur grise pour le texte */
}

.label-list article:hover {
    transform: scale(1.05); /* Agrandit au survol */
}

/*PAGE CSS NOTRE HISTOIRE*/

.texte{
    width: 40%;

}
.bloc-histoire{
    display: flex;
    flex-direction: row;
    width: 80%;
    margin: auto;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media (max-width: 768px){
    .image-facade{
        display:none;
    }
    .bloc-histoire .texte{
        width: 100%;

    }

}


/* Conteneur de la frise */
.timeline {
    position: relative;
    max-width: 800px;
    margin: auto;
    padding: 100px;
}

/* Style des événements */
.event {
    display: flex;
    flex-direction: row;
    margin-bottom: 30px;
    position: relative;
}

/* Positionnement des dates */
.date {
    background-color: #333;
    color: white;
    padding: 10px;
    border-radius: 50%; /* Forme ovale */
    font-size: 20px;
    width: 50px;
    height: 50px;
    text-align: center; /* Centre horizontalement le texte */
    line-height: 50px; /* Centre verticalement le texte */
    margin-right: 20px;
    position: relative;
    z-index: 1;
    display: flex; /* Utilisation de flexbox pour un meilleur centrage */
    justify-content: center; /* Centre le texte horizontalement */
    align-items: center; /* Centre le texte verticalement */
}

/* Style des descriptions des événements */
.description {
    background-color: #fff;
    padding: 15px;
    border: 2px solid #ddd;
    border-radius: 5px;
    width: 100%;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Lignes reliant les événements */
.timeline::before {
    content: '';
    position: absolute;
    width: 2px;
    background-color: #333;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
}

/* Ajout de l'animation */
.event:nth-child(even) .description {
    margin-left: 70px;
}

.event:nth-child(odd) .description {
    margin-right: 70px;
}

/* Pour les petits écrans, centrer la frise */
@media (max-width: 768px) {
    .timeline {
        padding: 10px;
    }

    .event {
        flex-direction: column;
        align-items: center;
    }

    .date {
        margin-bottom: 10px;
    }

    .timeline::before {
        left: 50%;
        transform: translateX(-50%);
    }
    /* Ajout de l'animation */
    .event:nth-child(even) .description {
        margin-left: 0px;
    }

    .event:nth-child(odd) .description {
        margin-right: 0px;
    }
}

/*PAGE CSS PLAN DU SITE*/

.site-map {
    background-color: #3e2b2b; /* fond marron foncé */
    border-radius: 12px;
    padding: 40px 20px;
    max-width: 800px;
    margin: 40px auto;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    text-align: center;
}

.site-map ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.site-map li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.site-map li:last-child {
    border-bottom: none;
}

.site-map a {
    font-size: 1.3rem;
    font-weight: bold;
    color: #d2b48c; /* beige clair */
    text-decoration: none;
    transition: color 0.3s ease;
}

.site-map a:hover {
    color: #ffffff;
    text-decoration: underline;
}





/*Navbar dans le pied de page générale*/
footer {
    font-family: Arial, sans-serif; /* Police simple */
    background-color: #3e2b2b; /* Couleur marron foncé */
}

.navbar2 {
    padding: 30px;
    align-items: center; /* Espacement interne */
    display: flex; /* Disposition flexible */
    justify-content: space-between; /* Espacement égal */
    gap: 10px; /* Espace entre éléments */
    flex-wrap: wrap; /* Retourne ligne si nécessaire */
}

@media (max-width: 768px) {
    .gallery .photo-row {
        flex-direction: column; /* Passe en disposition verticale */
        gap: 30px; /* espacement entre les éléments */
    }

    .photo-item {
        width: 100%; /* Les éléments occupent toute la largeur */
    }
}

.navbar2 a {
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: bold;
}
.navbar2 a:hover {
    color: #2c1a0d;
    text-decoration: underline;

}
/* Par défaut : version mobile masquée */
.menu-toggle {
    display: none;
}

.burger {
    display: none;
    font-size: 30px;
    color: #d2b48c;
    cursor: pointer;
}

/* Masque menu mobile par défaut */
.menu {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Desktop layout */
.footer-desktop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.footer-desktop img {
    margin-right: auto; /* pousse les liens à droite */
}

.footer-desktop ul {
    display: flex;
    gap: 30px;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: flex-end;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .footer-desktop {
        display: none;
    }

    .burger {
        display: block;
    }

    .navbar2 {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: #3e2b2b;
        padding: 15px 20px;
        position: relative;
    }

    .menu {
        display: none;
        flex-direction: column;
        background-color: #3e2b2b;
        position: absolute;
        top: 60px;
        right: 20px;
        width: 200px;
        border-radius: 8px;
        padding: 10px;
        z-index: 1000;
    }

    .menu li {
        margin: 10px 0;
        text-align: right;
    }

    .menu-toggle:checked + .burger + .menu {
        display: flex;
    }
}

