/* Styles pour la section avec l'arrière-plan d'image */
section {
    background: url(Image/Entete\ du\ site.jpg) no-repeat; /* Image de fond sans répétition */
    background-position: 50% 55%;
    background-size: cover; /* Ajuste la taille de l'image de fond pour couvrir la section */
    height: calc(60vh - 150px); /* Hauteur de la section calculée */
}

h2 {
    font-size: 2.5rem;
    text-align: center;
    margin: 20px 0;
    color:rgb(20, 19, 87);
}

h2::after {
    content: ""; /* Ajoute un pseudo-élément vide après le titre h1 */
    height: 4px; /* Hauteur de la ligne décorative */
    width: 230px; /* Largeur de la ligne décorative */
    background-color: #016901; /* Couleur verte de la ligne */
    display: block; /* Affiche le pseudo-élément comme un bloc */
    margin: auto; /* Centre la ligne horizontalement */
}

h3{
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size:large;
    text-align: center;
    color: #000000;
}

.ref-container{
    display: flex; /* Utilise Flexbox pour aligner les enfants en ligne */
    flex-wrap: wrap; /* Permet aux colonnes de se déplacer à la ligne suivante si l'espace est insuffisant */
    justify-content: space-between; /* Espacement équitable entre les colonnes */
    padding: 20px; /* Marge intérieure pour respirer */
    max-width: 1200px; /* Largeur maximale du conteneur */
    margin: 0 auto; /* Centrer le conteneur */
    box-sizing: border-box; /* Assurez-vous que le padding et les bordures sont inclus dans la largeur totale */
}

.ref-container .col {
    flex: 1 0 21%; /* Assurez-vous que chaque colonne prend environ 21% pour s'ajuster aux marges */
    padding: 10px; /* Marge intérieure des colonnes */
    box-sizing: border-box; /* Inclut padding dans la taille totale */
    background-color: #ffffff; /* Fond blanc pour les colonnes */
    border-radius: 5px; /* Coins arrondis pour les colonnes */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Ombre douce pour les colonnes */
    margin-bottom: 20px; /* Espace entre les lignes */
}

.ref-container ul {
    padding: 0; /* Supprime le padding par défaut des listes */
}

.ref-container li {
    margin-bottom: 10px; /* Espacement entre les éléments de la liste */
}

.picture {
    display: flex; /* Utilise Flexbox pour aligner les images en ligne */
    width: 100%; /* Assure que le conteneur prend toute la largeur de la page */
    margin: 0 auto; /* Centre le conteneur sur la page */
    overflow: hidden; /* Empêche le débordement visuel */
}
.picture figure {
    position: relative; /* Position relative pour permettre le positionnement absolu de la légende */
    flex: 1; /* Assure que chaque image prend une partie égale de l'espace disponible */
    margin: 5px;
    padding: 0;
}
.picture img {
    width: 100%; /* Chaque image prend la largeur totale de son conteneur */
    height: 300px; /* Hauteur fixe pour uniformiser la taille des images */
    object-fit: cover; /* Couvrir l'espace sans déformation */
    display: block; /* Supprime l'espace blanc sous les images */
}
.picture figcaption {
    position: absolute; /* Positionne la légende absolument dans le conteneur */
    bottom: 0; /* Positionne la légende en bas de l'image */
    left: 0;
    width: 100%; /* Fait en sorte que la légende prenne toute la largeur de l'image */
    background-color: rgba(0, 0, 0, 0.5); /* Fond semi-transparent */
    color: white; /* Couleur du texte de la légende */
    text-align: center; /* Centre le texte de la légende */
    padding: 10px; /* Ajoute du padding autour du texte */
    box-sizing: border-box; /* Inclut le padding dans la largeur totale */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1rem; /* Ajuste la taille du texte */
    transition: opacity 0.3s ease-in-out; /* Ajoute une transition pour l'opacité */
    opacity: 1; /* Masque initialement la légende */
}

.picture figure:hover figcaption {
    opacity: 1; /* Affiche la légende au survol */
}

.picture.offset{
    padding-left: -16.665%;
}


/* Animations */
@keyframes slideInLeft {
    from {
        transform: translateX(-100%); /* Commence à gauche */
        opacity: 0; /* Invisible au début */
    }
    to {
        transform: translateX(0); /* Fin à sa position normale */
        opacity: 1; /* Complètement visible */
    }
}

@keyframes slideInRight {
    from {
        transform: translateX(100%); /* Commence à droite */
        opacity: 0; /* Invisible au début */
    }
    to {
        transform: translateX(0); /* Fin à sa position normale */
        opacity: 1; /* Complètement visible */
    }
}

.slide-left.in-view {
    animation: slideInLeft 3s ease-out forwards; /* Applique l'animation gauche */
    opacity: 1; /* Rendre visible */
}

.slide-right.in-view {
    animation: slideInRight 3s ease-out forwards; /* Applique l'animation droite */
    opacity: 1; /* Rendre visible */
}

/*Carousel*/
.client {
    background-color: white; /* Couleur de fond de la section partner */
    text-align: center; /* Centre le texte horizontalement */
    padding-top: 6px; /* Marge intérieure en haut de la section */
    padding-bottom: 5px; /* Marge intérieure en bas de la section */
    font-size: 30px; /* Taille de police */
    margin-bottom: 0px; /* Marge extérieure inférieure de la section */
}

/* Styles pour la galerie d'images */
.gallery {
    display: flex; /* Utilise une disposition en ligne pour la galerie */
    transition: transform 0.5s ease-in-out;
}

.gallery-wrap{
    position:relative;
    overflow: hidden;
    max-width: 1200px;
    margin: auto;
    padding: 35px;
}

.gallery div {
    width: 100%; /* Largeur de 100% pour chaque conteneur d'images */
    display: grid; /* Utilise une disposition en grille pour les images */
    grid-template-columns: auto auto auto auto; /* Quatre colonnes d'images côte à côte */
    grid-gap: 20px; /* Espacement entre les images */
    padding: 10px; /* Marge intérieure des conteneurs d'images */
    flex: none; /* Ne pas étirer les conteneurs d'images */
}

.gallery div img {
    width: 100%; /* Largeur de 100% pour les images */
    transition: transform 0.5s; /* Animation de transformation au survol des images */
}

/* Désactiver la barre de défilement Webkit */
.gallery::-webkit-scrollbar {
    display: none;
}

.gallery div img:hover{
    transform: scale(1.1);
}



/*carousel*/
.carousel-item {
    flex: 0 0 33.33%; /* Chaque item occupe 33.33% pour montrer trois colonnes */
    min-width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.carousel-item span {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px;
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.8);
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 10;
}

#prevBtn {
    left: 50px; /* Positionner le bouton précédent en dehors de la vue du carousel */
}

#nextBtn {
    right: 50px; /* Positionner le bouton suivant en dehors de la vue du carousel */
}

.carousel-btn i {
    font-size: 24px;
}

.armoire {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    padding: 20px;
}
.separatorArmoire {
    height: 0px;
    background-color: #e7e7e7;
    margin: 20px auto;
}
.separator-text {
    font-size: 24px;
    color: white; /* Couleur du texte "Nos Services" */
}

.armoire-wrap {
    overflow: hidden;
    width: 100%;
}

.armoire-carousel {
    display: flex;
    transition: transform 0.3s ease-in-out;
}

.armoire-item {
    flex: 0 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.armoire-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}


.armoire-content .product-image{
    width: 800px; /* Définir une largeur fixe pour les images*/
    height: 450px; /* Définir une hauteur fixe pour les images*/
    object-fit: cover; /* Assurer que l'image s'adapte sans distorsion */
    margin: 0 auto; /* Centrer horizontalement l'image */
    display: block; /* Assurer que l'image est un bloc pour centrer correctement */ 
}

.armoire-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.8);
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 10;
}

#prevBtn2 {
    left: 50px; /* Positionner le bouton précédent en dehors de la vue du carousel */
}

#nextBtn2 {
    right: 50px; /* Positionner le bouton suivant en dehors de la vue du carousel */
}

.armoire-btn i {
    font-size: 24px;
}

/* Styles pour le devis */
.separator {
    flex-direction: column;
    display: flex; /* Utilise une disposition en ligne pour le séparateur */
    align-items: center; /* Centre les éléments verticalement */
    justify-content: center; /* Centre horizontalement */
    height: auto; /* Hauteur du séparateur pour centrer verticalement */
    background-color:rgb(20, 19, 87); /* Couleur de fond du séparateur */
    text-align: center;
    margin: 20px 0;
}

.separator-text {
    font-size: 30px; /* Taille de police du texte "Nos Services" */
    color: white; /* Couleur du texte */
    margin-bottom: 10px;
}

.separator p {
    margin-bottom: 20px;
    font-size: 16px;
    color: aliceblue;
}

.devisBtn {
    background-color: rgb(31, 29, 127); /* Couleur de fond bleue */
    color: white; /* Couleur du texte */
    border: none; /* Supprimer les bordures par défaut */
    padding: 10px 20px; /* Espacement interne du bouton */
    font-size: 16px; /* Taille du texte du bouton */
    cursor: pointer; /* Changer le curseur au survol */
    border-radius: 5px; /* Coins arrondis */
    transition: background-color 0.3s ease; /* Animation de la couleur de fond au survol */
}
.devisBtn:hover {
    background-color: rgb(42, 40, 171); /* Couleur bleue plus foncée au survol */
}


/* Media Query pour les tablettes et petits écrans */
@media (max-width: 1024px) {
    section {
        height: calc(40vh - 150px); /* Hauteur réduite pour mobile */
        background-position: center;
    }
    h2{
        font-size: 1.1rem; /* Taille de police réduite pour les titres */
    }
    h2::after{
        height: 2px; /* Hauteur de la ligne décorative */
        width: 130px; /* Largeur de la ligne décorative */
    }

    .ref-container {
        flex-direction: column; /* Colonne pour les tablettes */
        padding: 10px; /* Réduit le padding */
    }

    .ref-container .col {
        flex: 1 0 100%; /* Chaque colonne prend toute la largeur */
        margin-bottom: 15px; /* Réduit l'espace entre les colonnes */
    }

    .picture figcaption{
        opacity: 1;
    }
    
    #prevBtn2 {
        left: 5px; /* Ajustez pour les petits écrans */
    }
    #nextBtn2 {
        right: 5px; /* Ajustez pour les petits écrans */
    }
    .armoire-btn {
        font-size: 1.5em; /* Réduit la taille des boutons de carrousel */
        padding: 0 5px; /* Réduit le padding des boutons */
    }
    .armoire-content {
        flex-direction: column; /* Empile les éléments en colonne */
    }
}

/* Media Query pour les téléphones */
@media (max-width: 768px) {
    section {
        height: calc(40vh - 150px); /* Hauteur réduite pour mobile */
        background-position: center;
    }
    h2{
        font-size: 1.1rem; /* Taille de police réduite pour les titres */
    }
    h2::after{
        height: 2px; /* Hauteur de la ligne décorative */
        width: 130px; /* Largeur de la ligne décorative */
    }

    .ref-container {
        padding: 10px; /* Réduit le padding */
    }

    .ref-container .col {
        flex: 1 0 100%; /* Chaque colonne prend toute la largeur */
        margin-bottom: 10px; /* Réduit l'espace entre les colonnes */
        padding: 5px; /* Réduit le padding interne des colonnes */
    }

    .picture figcaption{
        opacity: 1;
    }
    #prevBtn {
        left: 5px; /* Ajustez pour les petits écrans */
    }
    #nextBtn {
        right: 5px; /* Ajustez pour les petits écrans */
    }

    #prevBtn2 {
        left: 5px; /* Ajustez pour les petits écrans */
    }
    #nextBtn2 {
        right: 5px; /* Ajustez pour les petits écrans */
    }
    .armoire-btn {
        font-size: 1.5em; /* Réduit la taille des boutons de carrousel */
        padding: 0 5px; /* Réduit le padding des boutons */
    }
    .armoire-content {
        flex-direction: column; /* Empile les éléments en colonne */
    }
}

/* Pour les appareils de taille bureau (large) */
@media only screen and (min-width: 1024px) {
    section {
        height: calc(40vh - 150px); /* Hauteur réduite pour mobile */
        background-position: center;
    }
}