/* Général*/
@font-face {
    font-family: 'Inter';
    src: url(../fonts/inter/static/Inter_18pt-Regular.ttf);
}
@font-face {
    font-family: 'Open';
    src: url(../fonts/open/static/OpenSans-Regular.ttf);
}
body{
    background-color: #F7F4EC;
    font-family:'Open';
    margin: 0;
    padding-top: 110px;
}

h1, h2, h3, h4 {
    font-family: 'Inter';
      white-space: nowrap;

}

h1{
    font-size: 56px;
    font-weight:900;
}

h2{
    font-size: 42px;
}

h3 {
    font-size: 26px;

}
p{
    font-size: 18px;
}
header{
    position: fixed; /* ou sticky */
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background-color: #F7F4EC;
    display: flex;
    align-items: center;
    height: 50px;
    box-shadow: 0 4px 6px -5px rgba(0, 0, 0, 0.2);
    font-weight: 100;
    padding: 30px 10%;
} 

header nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
header nav >a img{
    width: 90px;
    margin-top: 10px;

    /* margin-left: 40px; */
}

header nav ul{
    display: flex;
    gap: 30px;
    margin-right: 50px;
    list-style: none;
}


header a {
  position: relative;
  text-decoration: none;
  padding: 7px 0px 10px 0;
  color: inherit;

}

header a:hover{
  font-weight: 600;
}

header nav ul a::after {
  content: '';
  position: absolute;
  top: 30px;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 0%;
  background-color: currentColor;
  transition: width 0.4s ease;
}

header nav a:hover::after {
  width: 100%;
}

.a-down::after{
  top: 35px;
  left: 15px;
}

.a-down:hover::after {
  width: 58%;
}
.long:hover::after {
  width: 85%;
}
/* Menu déroulant */

/* Conteneur du menu déroulant */
.dropdown {
    position: relative;
}

/* Sous-menu caché par défaut */
.dropdown-content {
    opacity: 0;
    transform: translateY(10px); /* Décalage vertical initial */
    transition: opacity 0.3s ease, transform 0.3s ease;
    display: block; /* Toujours block, mais caché visuellement */
    position: absolute;
    background-color: #2C4B1E;
    min-width: 180px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
    z-index: 10;
    top: 30px;
    padding: 0;
    margin: 0;
    pointer-events: none; /* Empêche le clic quand invisible */
}
/* Style des liens dans le sous-menu */
.dropdown-content li a {
    display: block;
    padding: 12px 16px;
    color: #F7F4EC;
    text-decoration: none;
    white-space: nowrap;
}

/* Hover sur le parent : affiche le sous-menu */
.dropdown:hover .dropdown-content {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Hover sur un lien : effet visuel */
.dropdown-content li a:hover {
    background-color: #2C4B1E;
}





/* Trait de séparation */
.dropdown-separator {
    border: none;
    height: 1px;
    background-color: #F7F4EC;
    opacity: 0.5;
    width: 100%;
    margin: 0;
}


/* Flèche à côté du texte */
.arrow {
    margin-left: 6px;
    width: 15px;
    vertical-align: middle;
    transition: all 0.4s;
}

/* Effet de rotation au hover (optionnel et stylé) */
.dropdown:hover .arrow {
    transform: rotate(90deg);
}

/* bouton */

a {
    text-decoration: none;
    color: inherit;
    padding: inherit;
}
.ctaBanniere {
    padding: 10px;
    color: #ffffff;
    text-transform:uppercase;
    background-color: transparent;
    border: 2.5px solid #F7F4EC;
    margin: 20px;
    font-family:'Inter';
    transition: all 0.4s;
    font-size: 15px;
}
.ctaBanniere:hover {
    color: #F7F4EC;
    background-color: #ffffff;
    border: 2px solid #ffffff;
    color: #2C4B1E;
    cursor: pointer;
}


.cta{
    padding: 10px;
    border: 2px solid #2C4B1E;
    background-color: transparent;
    color: #2C4B1E;
    transition: all 0.4s;
    font-family:'Inter';
    margin-top: 20px;
}

.cta:hover{
    border: 2px solid #2C4B1E;
    background-color: #2C4B1E;
    color: #F7F4EC;
    cursor: pointer;
}
footer{
    margin-top: 0px;
    padding: 5px 0 10px 0;
    box-shadow: 0 -5px 6px -5px rgba(0, 0, 0, 0.2);
}
.logo-footer img{
    width: 150px;
}
.container-footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: auto;
    padding: 0 4vw ;
}

.navFooter ul{
    display: flex;
    list-style: none;
    gap: 30px;
    padding-left: 0px;
}

footer li a{
    display: inline-block;
    text-decoration:none;
    font-style: italic;
    color: inherit;
    font-size: 15px;
    transition: all 0.5s;
}

footer li a:hover{
    color: #2C4B1E;
    transform: scale(1.1);
}

.icon-reseaux{
    display: flex;
    gap: 1.5vw;
}

.infosFooter{
    margin: 50px 0 50px 20vw;
}

.infosFooter p{ 
    margin:0;
}

.infosFooter h4{ 
    margin-bottom:5px;
}


hr{
    width: 70vw;
    margin-bottom: 10px;
}

.mentionLegales{
    display: flex;
    text-decoration: underline;
    justify-content: space-between;
    width: 300px;
margin: auto;

}
.copyright, .mentionLegales p{
    font-style: italic;
    font-size: 12px;
    text-align: center;
}
/* ---------------------------------------------------------------
Accueil
--------------------------------------------------------------- */
.bannière{
    background-size:cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    color: #F7F4EC;
}
#accueilBan{
    background-image: url(../images/accueil/ferme.jpg);
}
.bannière p{
    color: #F7F4EC;
    font-weight: 300;
    /* text-shadow: 2px 4px 5px #F7F4EC; */
    text-align: center;
    margin: 0 50px 30px 50px;
}

#accueilBan{
        height: 91vh;
}

.banniere::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 1);
    z-index: 1;
}

.banniere > * {
    position: relative;
    z-index: 2;
    color: white;
}
.bannière h1 {
    color: #F7F4EC;
    /* text-shadow: 0px 0px 10px#F7F4EC; */
}

/* Histoire Section */
.contenuAccueil{
    display: flex;
    align-items: center;
    padding: 112px 15%;
    gap: 10vw;
}
.contenuAccueil article{
width: 70vw;
min-width: 300px;
gap: 24px;

}
.contenuAccueil span{
    width: 500px;
}

.contenuAccueil img{
    width: 30vw;
    max-width: 600px;
    min-width: 350px;
    box-shadow: 2px 2px 10px black ;
}

.contactSection{
    background-color: #2C4B1E;
    padding: 112px 200px;
    /* height: 140px; */
    display: flex;
    align-items: flex-start;
    gap: 80px;
    color: #F7F4EC;
}
.contactSection div{
width: 50vw;
min-width: 200px;
}
.contactSection h2, p{
margin:0px;
}

.contactSection .cta
{
    border: 2px solid #F7F4EC;
    color: #F7F4EC;
}

.contactSection .cta:hover  
{
    border: 2px solid #F7F4EC;
    color: #2C4B1E;
    background-color: #F7F4EC;
}
/*-------------------------------------------------------------------
Histoire
--------------------------------------------------------------- */
#bannièreHistoire{
    height: 40vh;
    background-image:url(../images/accueil/ferme.jpg);
    filter: saturate(0) contrast(1);

}

.timeline {
  position: relative;
  padding: 50px 0;
}

/* Ligne verticale centrale */
.timeline::before {
  content: '';
  position: absolute;
  top: 100px;
  bottom: 0;
  left: 50%;
  width: 4px;
  background-color: #000000;
  transform: translateX(-50%);
  z-index: 0;
border-radius: 50px;

}

/* Grand cercle = contour */
.timeline-item::after {
  content: '';
  position: absolute;
    margin-top: -132px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 22px;
  height: 22px;
  background-color: #F7F4EC;
  border-radius: 50%;
  z-index: 2;
}

/* Petit cercle noir au centre */
.timeline-item::before {
  content: '';
  position: absolute;
  margin-top: -132px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  background-color: #2C4B1E;    
  border-radius: 50%;
  z-index: 3; /* au-dessus du ::after */
}
.timeline-item {
  position: relative;
}

.timeline-item img, .content {
    min-width: 400px;
    width: 30vw;
    max-width: 800px;
}

.timeline-item img{
    margin-top: 20px;
}
.timeline-item {
    display: flex;
    justify-content: center;
    gap: 100px;
    margin: 150px 0;
}

.left {
    text-align: right;
}



/* ---------------------------------------------------------------
Produit
--------------------------------------------------------------- */
.titrage {
    text-align: center;
    padding: 20px 64px 40px 64px;
}

#carteProduit {
    display: flex;
    flex-direction: row;
    padding: 0px 112px;
    margin-bottom: 100px;
    gap: 80px;
    justify-content: center;
}

#carteProduit > a {
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 0;
}

#carteProduit > a > div {
    width: 450px;
    height: 600px;
    border: 2px solid black;
display: flex;
flex-direction: column;
overflow: hidden;
}

#carteProduit >a > div > div{
padding: 60px 48px;
flex-grow: 1;
}
#carteProduit >a > div > div p{
    font-size: 16px;
}

#carteProduit h3{
margin: 0;
}

#carteProduit span{
    height: 235px;
    width: inherit;
    overflow: hidden;
    flex-grow: 1;
}

#carteProduit h3{
width: inherit;
margin-bottom: 20px;
}
#carteProduit img{
width: inherit;
flex-grow: 1;
transition: all 0.5s;
}

.carteHover:hover img{
transform: scale(1.2);
}

.carteHover:hover {
cursor: pointer;
}
/* ---------------------------------------------------------------
Produit BRUTS
--------------------------------------------------------------- */
.produitBan {
    height: 30vh;
}

.contenuProduit{
    display: flex;
    padding: 87px 50px 50px 50px;
    margin: 50px 150px;
    gap: 10vw;
    justify-content: center;
    align-items: flex-start;
    /* flex-wrap: wrap; */

}

.contenuProduit article{
    display: flex;
    flex-direction: column;
    width: 60vw;
    min-width: 441px;
}

.contenuProduit h2{
    white-space: normal;
    margin-top: 0;
}

.produitBan h2{
    text-transform: uppercase;
}
.imageBrut{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 10px 64px 80px 64px;
    margin-bottom: 70px;

}






.imageContenu{
    min-width: 400px;
    width: 30vw;
    height: auto;
}

.imageGallery{
    width: 300px;
    padding: 0 10px;
    height: auto;
    margin-top: 40px;
}

.gallery-cerise{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0px 200px;
}
.gallery-cerise div img{
gap: - 200px;
}


#cerise-bannière{
    background-image: url(../images/produits/cerises/cerises.JPG);
}

#châtaignes-bannière{
    background-image: url(../images/produits/cerises/cerises.JPG);
}

#lait-bannière{
    background-image: url(../images/produits/cerises/cerises.JPG);
}



    .mobile-carousel-wrapper {
        display: none;
    }

/* ---------------------------------------------------------------
Produit TRANSFORMES
--------------------------------------------------------------- */
#yaourts-bannière{
    background-image: url(../images/produits/cerises/cerises.JPG);
}
#faisselles-bannière{
    background-image: url(../images/produits/cerises/cerises.JPG);
}
/* .contenuProduit{
    display: flex;
    padding: 10px 64px 80px 64px;
    margin: 70px 100px;
    height: 55vh;
    gap: 100px;
} */
.contenuProduit img{
    width: 500px;
}

#yaourts-fixed{
    background-image: url(../images/accueil/ferme.jpg);
    background-attachment: fixed;
    height: 50vh;
}
#faisselles-fixed{
    background-image: url(../images/accueil/ferme.jpg);
    background-attachment: fixed;
    height: 50vh;
}

#carroussel-arômes h2{
    text-align: center;
    margin: 150px 0 70px 0;
}

#carroussel-arômes div{
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    justify-content: center;
    margin-bottom: 80px;
}

#carroussel-arômes div div {
    width: 250px;
    height: 400px;
    border: 2px solid black;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
/* ---------------------------------------------------------------
 Contact
--------------------------------------------------------------- */
#bannièreContact{
    margin-top: 70px;
    height: 60vh;
    background-image:url(../images/accueil/ferme.jpg);
    background-size:cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment:fixed ;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    color: #F7F4EC;
}

#important{
    text-align: center;
    padding: 50px 0;
    background-color: #2C4B1E;
    color: #F7F4EC;
}

#coordonnees{
    padding: 50px 10vw 112px 10vw;
}

#contenuContact{
    display: flex;
    /* flex-wrap: wrap; */
    margin-top: 50px;
    justify-content: space-between;
    align-items: top;
    margin-top: 100px;
}



#contenuContact h4, p{
    margin: 10px 0;
}

#contenuContact div{
    margin-bottom: 50px;
}

#contenuContact article{
width: 500px;
flex-grow: 1;
} 

#contenuContact>div{
flex-grow: 1;
}

#contenuContact>div img{
    max-width :700px;
    width: 50vw;
    min-width: 450px;
}

/*-------------------------------------
RESPONSIVE 
-----------------------------------------*/
/* Caché en desktop */
.menu-toggle {
    display: none;
    border: none;
    background-color: inherit;
    cursor: pointer;
}


@media screen and (max-width: 1024px) {
    /*MENU BURGER*/
    header {
        height: 30px;
    }

    body {
        padding-top: 90px;
    }
    header nav ul {
        display: none;
    }
    header nav>a img{
        width: 80px;   
    }
    .menu-toggle {
        display: block;
    }
    header nav {
        justify-content: space-between;
        align-items: center;
    }

    .dropdown-content, .dropdown img{
        display: none;

    }
  
/* ACCUEIL */

    body p {
        font-size: 16px;
    }
    .contenuAccueil img {
        min-width: 300px;
    }
    .contenuAccueil{
        padding: 90px 15vw;
    }
    .contenuAccueil article{
        width: 40vw;
        min-width: 220px;
    }
    h1{
    font-size: 48px;
    }
    h2{
    font-size: 40px;
    }

    .contactSection {
        padding: 112px 90px;
    }
    .contactSection h2 {
        font-size: 2.3em;
    }
        /* PRODUIT */

    #carteProduit {
        gap: 20px;
    }

    #carteProduit > a > div {
        width: 350px;
    } 

    #carteProduit > a > div >div{
    padding: 50px 48px 40px 48px;
    height: 200px;
    } 

    #carteProduit span{
    height: 80px;
    width: inherit;
    overflow: hidden;
    }

    #coordonnees{
        text-align: center;
        padding: 20px 112px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }


    #contenuContact{
        flex-direction: column-reverse;
        align-items: center;
        width: 80vw;
        margin-top: 50px;
    }
    #contenuContact article{
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 600px;
    }
    #contenuContact>div img{
        width: 600px;
    }



    .contenuProduit{
        flex-wrap: wrap;
        text-align: center;
        padding: 25px 25px 0px 25px;
        gap: 25px;
    }

    
    .contenuProduit h2{
        font-size: 36px;
        white-space: nowrap;
        
    }

    #chataigneSection, #contenu-faissel{
        flex-wrap: wrap-reverse;
    }
.produitBan {
    height: 200px;
}




  /* --- TIMELINE TABLETTE --- */
  .timeline {
    margin-left: 120px;
    padding-left: 60px; /* marge à gauche */
  }

  /* Ligne verticale */
  .timeline::before {
    left: 60px;
    transform: none;
  }

  /* Items en colonne */
  .timeline-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
    margin: 60px 0;
    padding-left: 80px; /* espace entre la ligne et le contenu */
    position: relative;
    width: 80%;
    max-width: 500px;
  }

  /* Contenu avant image */
  .timeline-item .content {
    order: 1;
  }

  .timeline-item .image-placeholder {
    order: 2;
    width: 100%;
    display: flex;
    justify-content: center;
  }

  /* Cercles alignés avec la ligne */
  .timeline-item::after,
  .timeline-item::before {
    left: 60px; /* même valeur que la ligne */

  }

  .timeline-item::after {
    top: 0;
    transform: translateX(-310%) translateY(630%);
  }

  .timeline-item::before {
    top: 0;
    transform: translateX(-460%) translateY(1018%);
  }

  /* Images adaptées tablette */
  .timeline-item img {
    width: 450px;
    max-width: 100%;
    height: auto;
    margin-bottom: 60px;
    margin-left: -50px;

  }

  /* Texte aligné à gauche */
  .content {
    text-align: left;
    max-width: 350px;
  }
 .mobile-carousel-wrapper {
        display: block;
        overflow: hidden;
        width: 100%;
        margin: 20px 0;
    }

    .mobile-carousel {
        display: flex;
        gap: 10px;
        transition: transform 0.5s ease-in-out;
    }

    .mobile-carousel img {
        width: 100%; /* largeur d'une image visible */
        flex-shrink: 0;
        border-radius: 10px;
    }

    .gallery-cerise{
        display: none;
    }
}


















@media screen and (max-width: 768px) {
    body p {
        font-size: 14px;
    }

    h1 {
        white-space: wrap;
        text-align: center;
        font-size: 36px;
        padding: 0 100px;
    }

    .bannière div{
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    .ctaBanniere{
        margin: 10px 20px;
    } 

    .bannière div a{
            white-space: nowrap;
    }

    .contenuAccueil {
        flex-wrap: wrap;
        margin: auto;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 30px;
    }
    .contenuAccueil article {
        width: 350px;
    }
    .contactSection {
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px;
        text-align: center;
        padding: 70px 50px;
   
    }

    #yaourtsAccueil{
        flex-wrap: wrap-reverse;
    }

    .container-footer{
        display: flex;
        flex-direction: column;
        gap: 5px;
        margin-top: 20px;
    }
    .navFooter ul{
        display: none;
        /* display: flex;
        flex-direction: column; 
        align-items: center;
        gap: 20px; */
    }
    .icon-reseaux{
        gap: 30px;
    }

    #carteProduit {
        flex-wrap: wrap;
        gap: 80px;
    }



/*Contenu BRUT*/
.contenuProduit{
    flex-wrap: wrap;
    padding: 25px 20px 0px 30px;
    margin: 30px 10px 30px 10px;
}
.contenuProduit img{
width: 70vw;
min-width: 300px;
}

.contenuProduit h2{
    font-size: 32px;
    white-space: wrap;
}

.produitBan {
    height: 150px;
}





    #contenuContact article{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        width: 400px;
        white-space: nowrap;
    }

    #contenuContact>div img{
        width: 400px;
    }








  .timeline{
 margin-left: 10px;

    padding-left: 10vw;
  }

/* Ligne à gauche */
  .timeline::before {
    left: 10vw;
    transform: none;
  }

  /* Items en colonne avec ordre constant */
  .timeline-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin: 50px 0;
    padding-left: 50px; /* espace par rapport à la ligne */
    position: relative;
  }

  /* Forcer ordre : contenu (date + titre + texte) puis image */
  .timeline-item .content {
    order: 1;
  }
  .timeline-item .image-placeholder {
    order: 2;
  }

  /* Cercles alignés avec la ligne */
  .timeline-item::after {
    left: 2px;
    top: 0;
    margin-top: 0;
    transform: translate(-130%, 20%);
  }
  .timeline-item::before {
    left: 20px;
    top: 0;
    margin-top: 0;
    transform: translate(-175%, 55%);
  }

  /* Taille fixe images sur mobile */
  .timeline-item img {
    min-width: 300px;
    width: 50vw;
    max-width: 400px;
    height: auto;
    margin-bottom: 40px;
    margin-left: -100px;
    
  }

  /* Texte à gauche */
  .content {
    text-align: left ;
    max-width: 300px;
  }
  .content p {
width: 350px;
  }

 .mobile-carousel-wrapper {
        display: block;
        overflow: hidden;
        width: 100%;
        margin: 20px 0;
    }

    .mobile-carousel {
        display: flex;
        gap: 10px;
        transition: transform 2.5s ease-in-out;
    }

    .mobile-carousel img {
        width: 100%; /* largeur d'une image visible */
        flex-shrink: 0;
        border-radius: 10px;
    }

}


/* Menu mobile ouvert */
header nav ul.active {
  display: flex;
  flex-direction: column;
  position: absolute;
  align-items: center;
  justify-content: center;
  top: 70px; /* ajuster selon ton header */
  right: -50px;
  background-color: #F7F4EC;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  gap: 50px;
  z-index: 999;
    width: 95vw;
    text-align: center;
    height: 300px;
}




