/* --- bloc-accordeon.css --- */

.container-bloc-accordeon { display: flex; flex-direction: column; }

.container-bloc-accordeon h2 { margin-top: 0; margin-bottom: 1.5rem; color: var(--couleur-principale); font-size: 1.5rem; font-weight: 700; }

.container-bloc-accordeon .accordeon-section { margin-bottom: 1rem; background-color: #fff; overflow: hidden; transition: all 0.3s ease; }

.container-bloc-accordeon .accordeon-section:last-child { margin-bottom: 0; }

.container-bloc-accordeon .accordeon-section:hover {transform: translateY(-0.125rem); }

.container-bloc-accordeon .accordeon-toggle { cursor: pointer; font-size: 1rem; padding: 1.5rem 2rem; position: relative; margin: 0; border: none; font-weight: 700; color: var(--couleur-principale); background: var(--couleur-fond);transition: all 0.3s ease; display: flex; align-items: center; justify-content: space-between; width: 100%; text-align: left; transition: all 230ms ease-in-out; }

.container-bloc-accordeon .accordeon-toggle:hover { background: linear-gradient(135deg, var(--couleur-principale) 0%, #d55a2b 100%); color: #fff; }

.container-bloc-accordeon .accordeon-toggle:after { content: '+'; color: var(--couleur-principale); font-size: 1.5rem; font-weight: 300; transition: all 0.3s ease; background: rgba(233, 101, 49, 0.1); width: 2rem; height: 2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.container-bloc-accordeon .accordeon-toggle:hover:after { background: rgba(255, 255, 255, 0.2); color: #fff; transform: rotate(90deg); }

.container-bloc-accordeon .accordeon-toggle.open:after { content: '−'; transform: rotate(0deg); }

.container-bloc-accordeon .accordeon-content { display: none; overflow: hidden; padding: 0 2rem 2rem; background-color: #fff; border-top: 0.0625rem solid #f0f0f0; }

.container-bloc-accordeon .accordeon-content.collapsed { height: 0; padding: 0; border: none; }

.container-bloc-accordeon .accordeon-content .btn-cta { margin-bottom: 1rem; margin-top: 1rem; }

@media (max-width: 768px) {
    .container-bloc-accordeon { padding: 1rem; margin: 1rem 0; }
    .container-bloc-accordeon .accordeon-toggle { padding: 1rem; font-size: 1.2rem; }
    .container-bloc-accordeon .accordeon-content { padding: 0 1rem 1rem; }
    .container-bloc-accordeon .accordeon-toggle:after { width: 2rem; height: 2rem; font-size: 1.25rem; }
}



@media (min-width: 1024px) {
    .container-bloc-accordeon .accordeon-toggle { font-size: 1.4rem; padding: 2rem 2.25rem; }
    .container-bloc-accordeon .accordeon-content { padding: 0 2.25rem 2.25rem; }
}




/* --- bloc-affichage-realisations.css --- */


/* --- bloc-avant-apres.css --- */


/* --- bloc-carrousel-actualites.css --- */
.section-carrousel-actualites {margin-bottom: 120px;}
.carrousel-actualites .slick-track {display: flex;}
.carrousel-actualites .slick-slide {margin: 10px; border: 1px solid #F0F0F0; transition: all 200ms ease-in-out; height: inherit; display: flex !important; flex-direction: column;}
.carrousel-actualites .slick-slide:hover {box-shadow: rgba(99,99,99,.2) 0 2px 8px 0;}
.carrousel-actualites .slick-slide .carrousel-actu-thumbnail {height: 200px; display: block; width: 100%;}
.carrousel-actualites .slick-slide .carrousel-actu-thumbnail img {object-fit: cover; height: 100%; width: 100%;}
.carrousel-actualites .slick-slide h3 {color: var(--couleur-principale); font-weight: 400; text-align: center; margin: 25px 20px 15px;}
.carrousel-actualites .slick-slide p {margin: 0 20px 10px; }
.carrousel-actualites .slick-slide p:not(.post-date) {overflow: hidden; -webkit-line-clamp: 3;  line-clamp: 3;  -webkit-box-orient: vertical; text-align: left; line-height: normal; margin-bottom: 15px;}
.carrousel-actualites .slick-slide p.post-resume {display: none;}
.carrousel-actualites .slick-slide .link-btn-orange {margin-top: auto; margin-bottom: 25px; font-size: 13px;}
.carrousel-actualites .slick-prev:before, .carrousel-actualites .slick-next:before {color: var(--couleur-principale); font-family: 'FontAwesome'; font-size: 26px;}
.carrousel-actualites .slick-prev:before {content: "\f053";}
.carrousel-actualites .slick-next:before {content: "\f054";}
.carrousel-actualites ul.slick-dots {display: none;}
.carrousel-actualites .slick-dots li {margin: 0 2px;}
.carrousel-actualites .slick-dots li button:before {font-size: 4px; transition: all 180ms ease-in-out;}
.carrousel-actualites .slick-dots li.slick-active button:before {color: var(--couleur-principale); font-size: 10px;}
.carrousel-actualites li.slick-active + li button:before {font-size: 7px;}




@media screen and (min-width: 768px) {
    .carrousel-actualites .slick-slide p:not(.post-date), .carrousel-actualites .slick-slide p.post-resume {display: -webkit-box; }


}

/* --- bloc-carrousel-realisations.css --- */
.slider-realisations h3 {line-height: 20px !important;margin-bottom: 0;}
.slider-realisations h3>a {line-height: normal; color: #606060; font-style: italic; font-size: 13px !important;font-weight: 400;}
.slider-realisations .slick-arrow {height: auto; width: auto; background-color: transparent;}
.slider-realisations .slick-arrow::before {color: var(--couleur-principale); transition: all 250ms ease-in-out;}
.slider-realisations .slick-next {right: -35px;}
.slider-realisations .slick-prev {left: -35px;}
.slider-realisations .slick-dots {bottom: -40px;}
.slider-realisations .slick-dots li {width: auto; margin: 0 10px;}
.slider-realisations .slick-dots li:not(.slick-active) {opacity: .6;}
.slider-realisations img {  width: 100%; height: auto; }
.slider-realisations .slick-slide { height: auto;}
.slider-realisations .slick-dots li.slick-active button:before{color: var(--couleur-principale);opacity: 1;}
.slider-realisations .slick-dots li button:before{color: var(--couleur-texte);opacity: 1;}

/* --- bloc-galerie-images.css --- */
@media screen and (max-width: 1024px){

.bloc-galerie .slick-slide {
   height:300px;
}

.bloc-galerie .slick-slide img {
   height:300px;
}

}
@media screen and (min-width: 1024px){
.bloc-galerie, .bloc-galerie .slick-list, .bloc-galerie .slick-track {
   height:100%;
}
.bloc-galerie .slick-slide img {
  object-fit: cover;
  height: 100%;
  width: 100%;
 }
 }

/* --- bloc-module-autres-prestations.css --- */
.autres_presta {display: none;  width: 85%; border-radius: 20px; padding: 5px 10px; border-left: 20px solid var(--couleur-principale); filter: drop-shadow(0px 3px 6px #00000045); background: var(--couleur-fond); justify-content: space-between; align-content: center; align-items: center; bottom: -200px; transition: ease; z-index: 101; position: fixed; bottom: 60px; left: 50%; transform: translateX(-50%);}

.autres_presta h4 { color: var(--orange); font-weight: 600; text-transform: uppercase; color: var(--couleur-principale); font-size: 12px; flex: 1;}
.autres_presta h3 {font-size: 12px; color: var(--couleur-noir); text-align: center; line-height: 16px; margin: 8px 0 0; font-weight: 500;}
.autres_presta a img { max-width: 45px; }
.autres_presta a:first-of-type {position: relative;}
.autres_presta a:first-of-type::after { width: 1px;  background: #cfcfcf;  content: " ";  height: 60%; position: absolute;  top: 20%; right: 0;}
.autres_presta a { flex-direction: column; justify-content: space-between; align-content: center; align-items: center; text-align: center; font-weight: 700; color: var(--dark); line-height: 1.6rem!important; flex: 1; padding: 5px;}



@media screen and (min-width: 950px) {
    .autres_presta {width: 450px;  border-left: 25px solid var(--couleur-principale); bottom: 50px;  }
    .autres_presta.active {display: flex; }
    .autres_presta a img { max-width: 65px; }
    .autres_presta a, .autres_presta h4 { padding: 15px; }
    .autres_presta h3 {font-size: 14px; line-height: 16px; margin: 8px 0 0; font-weight: 600;}
    .autres_presta h4 {font-size: 14px;}

}


/* --- bloc-picto-prestation.css --- */
.picto-prestation-left {width: 100%;}
.picto-prestation-left img {width: 100%; height: 120px; object-fit: contain; max-width: 300px; margin: auto; display: block;}


@media screen and (min-width: 900px) {
    .picto-prestation-left img {max-width: 100%; height: 100%;}
}

/* --- bloc-section-avis-eldo.css --- */
.section-avis-eldo h2 {text-align: center; font-weight: 500; }
.section-avis-eldo iframe {border: none;}

.container-eldo {column-gap: 60px; justify-content: center; max-height: 500px; overflow-y: scroll;}
.container-eldo .bloc-avis-left .bloc-avis-total {background-color: #0B5351; border-radius: 10px; color: #fff;  width: 250px;  height: 250px; flex: none; flex-direction: column; justify-content: center; align-items: center;}
.container-eldo .bloc-avis-left .bloc-avis-total .note-globale {font-size: 35px; font-weight: 600; color: var(--couleur-blanc);}
.container-eldo .bloc-avis-left .note-moyenne-etoiles span, .bloc-avis-top .note i {margin: 0 3px;}
.container-eldo .bloc-avis-left .note-moyenne-etoiles span::before, .bloc-avis-top .note i::before {color: #fb0; font-family: 'FontAwesome'; font-style: normal; font-size: 20px;}
.bloc-avis-top .note span { margin: 0 3px;}
.bloc-avis-top .note span::before {font-size: 20px;}

.container-eldo .bloc-avis-left .nombre-globale {color: var(--couleur-blanc);}
.container-eldo .bloc-avis-left .bloc-avis-total .logo-eldo {margin-top: 10px;}
.container-eldo .bloc-avis-right {flex: 1; max-width: 100%;}
h2 + .container-eldo {margin-top: 35px;}

.bloc-btn-eldo {justify-content: center; align-items: center; order: 2; width: 100%; margin: 20px;}
.bloc-btn-eldo h3 {font-size: 25px; font-weight: 500; display: none;}
.bloc-avis-right .bloc-avis {  background: #FFFFFF; border: 1px solid #D1D1D1; box-sizing: border-box;  border-radius: 10px; padding: 30px; margin: 20px 10px 0 10px;}

.btn-eldo {padding: 12px 20px; font-weight: bold; font-size: 14px; line-height: 20px; text-align: center; letter-spacing: 0.5px;  color: #4ECF89; border: 1px solid #4ECF89;  box-sizing: border-box; border-radius: 110px;  background-color: transparent;}
.btn-eldo:hover {color: var(--couleur-noir); border-color: var(--couleur-noir);}

.bloc-avis-top {justify-content: space-between; align-items: center; margin-bottom: 10px;}
.bloc-avis-top p.date  {font-style: italic; color: var(--couleur-texte);}

.bloc-avis p {color: var(--couleur-noir); margin: 3px 0;}
.bloc-avis p.pseudo {font-weight: 600;}

.container-eldo-title {margin-top: 70px;}

.container-eldo .bloc-avis-left .note-moyenne-etoiles i{color: #fb0;}


/************************************************/
/**                                            **/
/**                  Responsive                **/
/**                                            **/
/************************************************/


@media screen and (min-width: 768px) {
    .container-eldo-title {margin-top: 100px;}

}


@media screen and (min-width: 940px) {
    .bloc-avis-right .bloc-avis { min-width: 340px; flex: 1; }
    .container-eldo {overflow: hidden;}
    .bloc-btn-eldo {order: inherit; justify-content: space-between; margin: 0;}
    .bloc-btn-eldo h3 {display: inline-block;}
    .container-eldo .bloc-avis-right {max-width: 50%; height: 100%; padding-right: 30px; max-height: 500px; overflow-y: scroll;}
    h2 + .container-eldo {margin-top: 60px;}
}

@media screen and (min-width: 1200px) {
    .container-eldo .bloc-avis-left .bloc-avis-total {width: 336px;  height: 312px;}
    .container-eldo .bloc-avis-left .bloc-avis-total .note-globale {font-size: 40px;}
    .container-eldo .bloc-avis-left .bloc-avis-total .logo-eldo {margin-top: 15px;}

}

/* --- bloc-section-dernieres-realisations.css --- */
.section-dernieres-realisations {gap: 20px;}
.section-dernieres-realisations h2 {width: 100%; text-align: center;}
.section-dernieres-realisations .derniere-rea {border: 1px solid #F0F0F0; transition: all 200ms ease-in-out; width: 100%; display: flex; flex-direction: column; cursor: pointer; height: max-content;}
.section-dernieres-realisations .derniere-rea:hover, .rea_last2 .area:hover, .rea_last3 .area:hover {box-shadow: rgba(99,99,99,.2) 0 2px 8px 0;}
.section-dernieres-realisations .derniere-rea .derniere-rea-btn:hover, .rea_last2 .derniere-rea-btn:hover {background-color: var(--couleur-gris);}
.rea_last1 .derniere-rea-detail, .rea_last2 .derniere-rea-detail { padding: 10px 10px 15px;}

.section-dernieres-realisations .rea_last3 .derniere-rea-detail {padding: 10px 10px 15px;}

.derniere-rea-detail .table-rea .row {display: flex;}
.derniere-rea .cell,  .rea_last3 .area .cell, .rea_last2 .area .cell {font-size: 12px; color: var(--couleur-noir);}
.derniere-rea .row .cell:first-of-type, .rea_last3 .area .cell:first-of-type, .rea_last2 .area .cell:first-of-type {min-width: 130px; text-transform: uppercase; font-weight: 700;}
.derniere-rea-detail h3 {color: var(--couleur-principale); font-size: 14px; font-weight: 800;}
.derniere-rea .derniere-rea-btn, .derniere-rea-btn {display: block; max-width: max-content; background-color: var(--couleur-principale); padding: 5px 15px; border-radius: 25px; color: var(--couleur-blanc); font-size: 14px; text-decoration: none; margin: 20px auto; margin-top: auto !important; transition: all 250ms ease-in-out;}
.derniere-rea .derniere-rea-btn:hover, .derniere-rea-btn:hover {background-color: var(--couleur-noir); color: var(--couleur-blanc);}

.derniere-rea .img-rea {clip-path: polygon(0 0,100% 0%,100% 85%,50% 100%,0 85%)!important; height: 160px; width: 100%; background-size: cover; background-position: center;}
.rea_last2 .img-rea {clip-path: polygon(0 0,100% 0%,100% 85%,50% 100%,0 85%)!important; height: 200px; width: 100%; background-size: cover; background-position: center;}
.rea_last3 .derniere-rea-small .img-rea {height: 120px; width: 100%; background-size: cover; background-position: center;  clip-path: polygon(0 0,100% 0%,100% 85%,50% 100%,0 85%);  }



.btn-all-realisations a {background-color: transparent; color: var(--couleur-noir); font-size: 14px;}
.btn-all-realisations a:hover {color: var(--couleur-principale);}
.btn-all-realisations a::before {content: ''; width: 35px; height: 35px; background: url(/wp-content/uploads/icons/icon-fleche.svg) no-repeat; display: inline-block; vertical-align: middle; background-size: contain; margin-right: 10px;}
.btn-all-realisations a:hover::before {background: url(/wp-content/uploads/icons/icon-fleche-full.svg) no-repeat; background-size: contain;}

.rea_last3 .derniere-rea-btn {display: none;}
.categorie-realisation-hero .rea_last3 .derniere-rea-btn {display: none;}
.categorie-realisation-hero .rea_last3 .derniere-rea-detail {padding: 10px 10px;}

.categorie-realisation-hero .rea_last3 .derniere-rea-small .img-rea {height: 130px; width: 100%; background-size: cover; background-position: center;}


.rea_last8 {gap: 20px;}
.rea_last8 .area {border: 1px solid #F0F0F0; transition: all 200ms ease-in-out;width: 100%; flex-direction: column;cursor: pointer; container-type: inline-size; container-name: container-last3; }
.rea_last8 .area:hover {box-shadow: rgba(99,99,99,.2) 0 2px 8px 0;}
.rea_last8 .derniere-rea-btn {display: none;}
.rea_last8 .area .cell {flex-direction: column;}
.rea_last8 .area .cell {font-size: 12px; color: var(--couleur-noir);}
.rea_last8 .area .cell:first-of-type {min-width: 130px; text-transform: uppercase; font-weight: 700;}
.rea_last8 .derniere-rea-small {height: 100%;}
.rea_last8 .derniere-rea-small .img-rea {height: 120px; width: 100%; background-size: cover; clip-path: polygon(0 0, 100% 0%, 100% 85%, 50% 100%, 0 85%);}
.rea_last8 .derniere-rea-detail {padding: 12px 10px 15px; flex: 1; }
.rea_last8 .derniere-rea-detail h3 {margin-top: 0; text-transform: uppercase; font-size: 13px;}


.rea_last2 .area, .rea_last3 .area {border: 1px solid #F0F0F0; transition: all 200ms ease-in-out; width: 100%; display: flex; flex-direction: column; cursor: pointer; margin-bottom: 10px;}

.dernieres-realisations-left .derniere-rea-small { gap: 10px;}
.dernieres-realisations-left .derniere-rea-detail {flex: 1;}

.section-dernieres-realisations h2.dernieres-realisations-title {text-transform: uppercase; margin-bottom: 30px;}
.section-dernieres-realisations .rea_last3 h3 {margin-top: 0;}

.rea_last2 {display: flex; flex-wrap: wrap;}

.rea_last2 .area, .rea_last3 .area {
    container-type: inline-size;
    container-name: container-last3;
}

@container container-last3 (min-width: 460px) {
    .rea_last3 .derniere-rea-small .img-rea{height: auto; width: 160px; clip-path: none;}
    .rea_last8 .derniere-rea-small .img-rea {height: 100%; width: 160px; clip-path: none;}
    .categorie-realisation-hero .rea_last3 .derniere-rea-small {column-gap: 30px;}
    .rea_last8 .derniere-rea-small {column-gap: 25px;}
    .rea_last8 .area .cell {flex-direction: row;}
}

.section-dernieres-realisations .btn-orange {margin-top: 40px !important;}



/************************************************/
/**                                            **/
/**                  Responsive                **/
/**                                            **/
/************************************************/


@media screen and (min-width: 768px) {
    .section-dernieres-realisations .derniere-rea {width: calc(33% - 10px);}
    .section-dernieres-realisations .rea_last2 .area, .section-dernieres-realisations .rea_last3 .area {margin-bottom: 20px;}
    .rea_last2 {gap: 20px;}
    .rea_last2 .area {width: calc(50% - 10px);}
    .categorie-realisation-hero  .rea_last3 .derniere-rea-detail {padding: 10px 5% 20px;}
    .section-dernieres-realisations h2.dernieres-realisations-title {margin-bottom: 50px;}
    .categorie-realisation-hero .rea_last3 {gap: 20px;}
    .rea_last8 .area {width: calc(50% - 10px); }
    .categorie-realisation-hero .rea_last3 .derniere-rea-btn {display: block;}


}
@media screen and (min-width: 850px) {
    .categorie-realisation-hero .rea_last3 .area {width: calc(33% - 13px); flex: 1;}
    .categorie-realisation-hero .rea_last3 .area .row {flex-direction: column;}
    .rea_last2 .area, .rea_last3 .area {max-width: 550px; margin: 0 auto;}
    .categorie-realisation-hero .rea_last3 .derniere-rea-small .img-rea {height: 200px;}


}
@media screen and (min-width: 1060px) {
    .categorie-realisation-hero .rea_last3 .area .row {flex-direction: row;}
    .derniere-rea .img-rea {height: 300px;}
    .rea_last1 .derniere-rea-detail, .rea_last2 .derniere-rea-detail { padding: 25px 40px;}
    

}

/* --- bloc-section-lien-decennale.css --- */
.section-garantie {align-items: stretch; justify-content: center; padding: 15px;}
.section-garantie>div {justify-content: center;}
span.texte-uppercase, span.texte-orange {font-size: 20px; text-align: center;}
span.texte-uppercase {text-transform: uppercase; font-weight: 400; color: var(--couleur-noir); display: block;}
span.texte-orange {font-weight: 800; color: var(--couleur-principale); display: block; width: 320px;}

.col-garanties-applicateur .link-btn-orange {margin: 25px auto !important;}

.section-garantie-fond .section-garantie {padding: 30px 15px;}

.section-garantie a.col-vignette, .section-garantie .col-vignette.vignette-eldo {text-align: center; align-items: center; justify-content: center; width: 100%; margin: 20px;}


/************************************************/
/**                                            **/
/**                  Responsive                **/
/**                                            **/
/************************************************/


@media screen and (min-width: 768px) {
    .col-garanties-applicateur {max-width: 40%; flex: 2;}
    .section-garantie .col-vignette {flex: 1;}
    .section-garantie a.col-vignette, .section-garantie .col-vignette.vignette-eldo {width: auto;}
    .col-garanties-applicateur .link-btn-orange {margin: 25px 0 !important;}
    span.texte-uppercase, span.texte-orange {text-align: left;}
    .section-garantie {justify-content: left;}
    .section-garantie-fond .section-garantie {padding: 50px 0;}

}
@media screen and (min-width: 768px) {

    span.texte-uppercase, span.texte-orange {font-size: 25px;}
}

/* --- bloc-section-liste-applicateurs.css --- */
.section-liste-applicateur { background-color: var(--couleur-fond); padding: 40px 0;}
.section-liste-applicateur h2 { font-weight: 400; font-size: 20px; text-align: center; margin-bottom: 50px;}
.section-vignette-applicateur { width: 90%; max-width: 1220px; margin: 20px auto;}
.section-vignette-applicateur .vignette-applicateur { width: 100%; background-color: #fff; margin: 10px; padding: 20px; border-radius: 20px; flex-direction: column;}
.section-vignette-applicateur .vignette-applicateur .entete-vignette p { margin-top: 5px !important;  text-align: center; font-size: 13px;}
.section-vignette-applicateur .vignette-applicateur h3 { font-size: 18px; padding-bottom: 0; text-align: center; margin: 0;}
.section-vignette-applicateur .vignette-applicateur h3.info-departement { color: var(--couleur-noir); font-weight: 400; margin-bottom: 5px; }
.section-vignette-applicateur .vignette-applicateur h3.info-entreprise {text-transform: uppercase; color: var(--couleur-principale); font-weight: 700;}
.section-vignette-applicateur .vignette-applicateur .infos-applicateur { column-gap: 20px; justify-content: center; margin-bottom: 15px; margin-top: 8px;}
.section-vignette-applicateur .vignette-applicateur .infos-applicateur .photo-applicateur { width: 90px; height: 90px; border-radius: 50px; overflow: hidden; margin: 0;}
.section-vignette-applicateur .vignette-applicateur .infos-applicateur .photo-applicateur img { width: 100%; height: 100%; object-fit: cover;}
.section-vignette-applicateur .vignette-applicateur .infos-applicateur-details {flex: 1;}
.section-vignette-applicateur .vignette-applicateur .infos-applicateur-details h4 {font-size: 16px; margin: 0 0 5px; font-weight: 500;}
.section-vignette-applicateur .vignette-applicateur .infos-applicateur-details p { margin: 0; text-align: left; color: var(--couleur-noir); font-size: 13px; line-height: normal;}
.section-vignette-applicateur .vignette-applicateur .link-btn-orange { margin: auto auto 0; text-transform: none; padding: 5px 18px;}
.section-vignette-applicateur .vignette-applicateur .link-btn-orange:hover {background-color: var(--couleur-noir); color: #fff;}


@media screen and (min-width: 768px) {
.section-vignette-applicateur .vignette-applicateur { width: calc(50% - 20px); }
.section-liste-applicateur h2 { font-size: 25px;}
}

@media screen and (min-width: 1200px){
.section-vignette-applicateur .vignette-applicateur {width: calc(33% - 20px); }
.section-vignette-applicateur .vignette-applicateur .infos-applicateur { justify-content: flex-start;}
}

@media screen and (min-width: 1400px){
.section-vignette-applicateur .vignette-applicateur .link-btn-orange {
    font-size: 14px;
}
}

/* --- bloc-section-liste-avis-clients.css --- */
/*.section-video {gap: 40px; max-width: 1220px; margin: 50px auto;}
.video-post { flex-direction: column; width: 100%; border: 1px solid #F0F0F0; transition: all 200ms ease-in-out;}
.video-post:hover {box-shadow: rgba(99,99,99,.2) 0 2px 8px 0;}

.video-post iframe, .video-post img {max-width: 100%; height: 180px; clip-path: polygon(0 0,100% 0%,100% 85%,50% 100%,0 85%)!important;}
.video-post img { width: 100%; object-fit: cover;}

.video-post p {margin: 10px 0 25px;}
.video-post .link-btn-orange {margin: auto auto 20px;}

.pagination-list {width: 100%; text-align: center; font-size: 14px;}
.pagination-list a, .pagination-list span {margin: 0 5px;}

.pagination-list a {opacity: .6; color: var(--couleur-noir); background: rgba(0,0,0,.1); height: 30px;  width: 30px; border-radius: 3px; margin: 0 0 0 10px; color: rgba(0,0,0,.6);  display: inline-block; line-height: 30px;}
.pagination-list a:hover {opacity: 1;}

.pagination-list span:not(.dots) { background-color: var(--couleur-principale);  height: 30px; width: 30px; border-radius: 3px; margin: 0 0 0 10px;  display: inline-block; line-height: 30px; color: white!important;}


@media screen and (min-width: 768px) {
    .video-post { width: calc(25% - 30px); }

}*/

/* --- bloc-section-liste-dossiers-experts.css --- */
/*.section-video {row-gap: 40px; column-gap: 20px; max-width: 1220px; margin: 50px auto; padding: 0 20px;}
.video-post { flex-direction: column; width: 100%; border: 1px solid #F0F0F0; transition: all 200ms ease-in-out;}
.video-post:hover {box-shadow: rgba(99,99,99,.2) 0 2px 8px 0;}

.video-post iframe, .video-post img {max-width: 100%; height: 180px; clip-path: polygon(0 0,100% 0%,100% 85%,50% 100%,0 85%)!important;}
.video-post img { width: 100%; object-fit: cover;}
.video-post h2 {text-transform: uppercase; color: var(--couleur-principale); font-weight: 700; font-size: 13px; text-align: center; margin-top: 15px;}
.video-post h2, .video-post p {padding: 0 20px;}
.video-post p {margin: 10px 0 25px;}
.video-post .link-btn-orange {margin: auto auto 20px !important;}

.video-post>a:not(.link-btn-orange) {height: 180px; }
.video-post>a:not(.link-btn-orange) img {object-fit: cover; height: 100%; width: 100%;}

.pagination-list {width: 100%; text-align: center; font-size: 14px;}
.pagination-list a, .pagination-list span {margin: 0 5px;}

.pagination-list a {opacity: .6; color: var(--couleur-noir); background: rgba(0,0,0,.1); height: 30px;  width: 30px; border-radius: 3px; margin: 0 0 0 10px; color: rgba(0,0,0,.6);  display: inline-block; line-height: 30px;}
.pagination-list a:hover {opacity: 1;}

.pagination-list span:not(.dots) { background-color: var(--couleur-principale);  height: 30px; width: 30px; border-radius: 3px; margin: 0 0 0 10px;  display: inline-block; line-height: 30px; color: white!important;}

@media screen and (min-width: 768px) {
    .video-post { width: calc(50% - 10px); }
}


@media screen and (min-width: 850px) {
    .video-post { width: calc(33% - 13px); }
}

@media screen and (min-width: 1300px) {
    .section-video {padding: 0; column-gap: 40px;}
    .video-post { width: calc(25% - 30px); }
    

}*/

/* --- bloc-section-liste-realisations.css --- */


/* --- bloc-section-liste-videos.css --- */
.section-video {gap: 40px; margin: 50px auto;}
.video-post { flex-direction: column; width: 100%; border: 1px solid #F0F0F0; transition: all 200ms ease-in-out; }
.video-post:hover {box-shadow: rgba(99,99,99,.2) 0 2px 8px 0;}

.video-post iframe, .video-post img {max-width: 100%; width: 100%; height: 180px; clip-path: polygon(0 0,100% 0%,100% 85%,50% 100%,0 85%)!important;}
.video-post img { width: 100%; object-fit: cover;}
.video-post h2 {text-transform: uppercase; color: var(--couleur-principale); font-weight: 700; font-size: 13px; margin-top: 15px; margin-bottom: 6px;}
.video-post h2, .video-post p {padding: 0 20px;}
.video-post p.post-date {margin: 0 0 10px; text-align: left;}
.video-post .link-btn-orange {margin: auto auto 20px; text-transform: none;}
.video-post p:not(.post-date) { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 2;  -webkit-box-orient: vertical; text-align: left; margin: 0 0 25px;}


.pagination-list {width: 100%; text-align: center; font-size: 14px;}
.pagination-list a, .pagination-list span {margin: 0 5px;}

.pagination-list a {opacity: .6; color: var(--couleur-noir); background: rgba(0,0,0,.1); height: 30px;  width: 30px; border-radius: 3px; margin: 0 0 0 10px; color: rgba(0,0,0,.6);  display: inline-block; line-height: 30px;}
.pagination-list a:hover {opacity: 1;}

.pagination-list span:not(.dots) { background-color: var(--couleur-principale);  height: 30px; width: 30px; border-radius: 3px; margin: 0 0 0 10px;  display: inline-block; line-height: 30px; color: white!important;}

@media screen and (min-width: 768px) {
    .video-post { min-width: 250px; flex: 1; }

}


@media screen and (min-width: 850px) {
    .video-post { width: calc(33% - 13px); }
}

@media screen and (min-width: 1300px) {
    .section-video {padding: 0; column-gap: 40px;}
    .video-post { width: calc(25% - 30px); }
    

}

/* --- bloc-section-prestation-accueil.css --- */
.accueil-prestations {background: var(--couleur-fond); padding: 30px 0;}
.accueil-prestations>h2, .accueil-prestations>h2 strong {color: var(--couleur-principale); font-weight: 800; text-align: center; margin-bottom: 5px;}
.accueil-prestations>h3 {font-weight: 600; text-align: center; margin-top: 0; margin-bottom: 50px;}
.accueil-prestation-row {column-gap: 20px; row-gap: 40px; padding: 0 20px; justify-content: center;}
.accueil-prestation-row .bloc-prestation {flex-direction: column; justify-content: center; width: 100%; transition: all 150ms ease-in-out; position: relative;}
.accueil-prestation-row .bloc-prestation img {width: 60px; height: 60px;margin: 0 auto 15px;}
.accueil-prestation-row .bloc-prestation p {text-align: center; opacity: 1; transition: all 100ms ease-in-out;}
.accueil-prestation-row .bloc-prestation h3, .bloc-prestation a {text-align: center;}
.accueil-prestation-row .bloc-prestation .btn-prestation {display: block; color: var(--couleur-blanc); background-color: var(--couleur-principale); padding: 10px 20px; border-radius: 20px; width: max-content; max-width: max-content; margin: 15px auto; }


.accueil-prestation-row .bloc-prestation h3 {font-weight: 700; font-size: 18px; text-align: center; margin: 0;}

.accueil-prestation-row .bloc-prestation .prestation-title {position: relative;}

.bloc-engagement {text-align: center; margin-top: 60px;}
.bloc-engagement h2 {color: var(--couleur-principale); font-weight: 800; font-size: 25px; text-align: center; margin-bottom: 40px !important;}
.bloc-engagement h2 span {color: var(--couleur-noir); font-weight: 400;}
.bloc-engagement .bloc-engagement-img {margin: auto;}
.bloc-engagement .bloc-engagement-img img {margin: auto; object-fit: contain; width: 100%; height: 100%;}

.accueil-prestations-btn {color: var(--couleur-noir); font-size: 16px; padding: 10px 20px; border-radius: 20px; display: block; text-align: center; max-width: max-content; margin: 35px auto 0;}
.accueil-prestations-btn span {color: var(--couleur-principale); padding-right: 5px; transition: all 200ms ease-in-out;}
.accueil-prestations-btn:hover {background-color: var(--couleur-principale); color: var(--couleur-blanc); }
.accueil-prestations-btn:hover span {color: var(--couleur-blanc);}



.video-container {position: relative;margin: auto;}
.video-thumbnail {width: 100%;height: 100%; cursor: pointer;}
.play-button {position: absolute;top: 50%;left: 50%; transform: translate(-50%, -50%);cursor: pointer;}
.play-button img {width: 60px;height: 60px;}

/************************************************/
/**                                            **/
/**                  Responsive                **/
/**                                            **/
/************************************************/

@media screen and (min-width: 768px) {
    header {display: block;}
    .accueil-prestation-row .bloc-prestation img {margin: 0 auto 35px;}
    .accueil-prestation-row {column-gap: 40px; align-items: flex-start;}
    .accueil-prestation-row .bloc-prestation:hover p {visibility: hidden; opacity: 0;}
    .accueil-prestation-row .bloc-prestation {width: calc(33% - 27px);}
    .accueil-hero-left {max-width: 50%; flex: none;}
    .bloc-engagement .bloc-engagement-img {max-width: 790px;}

}

@media screen and (min-width: 1000px) {
    .accueil-prestations {background: url('/wp-content/uploads/icons/logo-k.svg') var(--couleur-fond) no-repeat -300px top; background-size: contain; padding: 60px 0 40px;}
    .accueil-prestation-row .bloc-prestation .btn-prestation {display: none; position: absolute;  top: 100%; left: 50%; transform: translateX(-50%); opacity: 0;}
    .accueil-prestation-row .bloc-prestation:hover .btn-prestation {display: block; opacity: 1; background-color: var(--couleur-noir);  }
    .accueil-prestation-row .bloc-prestation img {width: 90px; height: auto;}
}

@media screen and (min-width: 1500px) {
    .accueil-prestations {padding: 80px 0 50px;}
    .accueil-prestation-row .bloc-prestation img {width: 100px;}
    .accueil-prestation-row {width: 60%; justify-content: space-evenly;}
    .accueil-prestation-row .bloc-prestation {width: 26%;}

}

/* --- bloc-section-recherche-applicateur.css --- */
.home .section-recherche-applicateur {background-color: var(--couleur-principale);}
.recherche-applicateur-container {flex-direction: column;}
.home .recherche-applicateur-container {margin: 70px auto 70px; flex-direction: row;}
.section-recherche-applicateur>.flex-container {column-gap: 50px; row-gap: 15px; padding: 20px 20px;}
.section-recherche-applicateur p, .section-recherche-applicateur h2 {color: var(--couleur-blanc);}
.section-recherche-applicateur-txt h2, .section-recherche-applicateur-txt p {display: none;}
.home .section-recherche-applicateur-txt h2, .home .section-recherche-applicateur-txt p {display: block;}
.home .section-recherche-applicateur-txt {width: 100%; flex-direction: column; justify-content: center; display: flex;}
.section-recherche-applicateur-txt h2 {font-weight: 400;}



#searchForm {display: flex; justify-content: center;gap: 0; margin-left: 0; margin-right: 0; flex-wrap: nowrap;}
.home #searchForm {justify-content: left;}
#searchForm button[type="submit"], #searchForm input[type="text"] {border: none;}
#searchForm button[type="submit"] {background-color: var(--couleur-principale); color: var(--couleur-blanc); border-radius: 0 8px 8px 0;}
.home #searchForm button[type="submit"] {background-color: var(--couleur-noir);}
#searchForm button[type="submit"]:hover {background-color: var(--couleur-gris);}
#searchForm input[type="text"] {border-radius: 8px 0 0 8px; flex: 1; flex: 1;}



/*.vignette-applicateur-carte {gap: 20px; flex-direction: column;  justify-content: space-between; margin: 20px 0; align-items: center;}*/
.vignette-applicateur-carte {column-gap: 30px; align-items: center; max-width: 700px; margin: 30px auto; border-bottom: 1px solid #F5F5F5; padding-bottom: 30px; flex-direction: column;}
.home .vignette-applicateur-carte {background-color: var(--couleur-blanc); border-radius: 20px; padding: 18px 30px; margin: 20px auto;}
.photo-applicateur {width: 100px; height: 100px; border-radius: 50%; overflow: hidden;}
.photo-applicateur img {object-fit: cover; height: 100%; width: 100%;}

.home #applicateurInfo {margin-top: 30px !important;}
.vignette-applicateur-detail {text-align: center; flex: 1;}
.vignette-applicateur-detail h3 {color: var(--couleur-principale); font-size: 23px; font-weight: 800;}
.vignette-applicateur-detail h3, .vignette-applicateur-detail p {margin: 0;}
.vignette-applicateur-detail h4 {margin-bottom: 0; margin-top: 10px; color: var(--couleur-noir);}
.vignette-applicateur-detail .localisation-applicateur {color: var(--couleur-principale);}
.vignette-applicateur-detail p {color: var(--couleur-noir); display: block; text-align: center;} 

.section-recherche-applicateur #map {max-height: 300px; z-index: 1;}
.home .section-recherche-applicateur #map {aspect-ratio: 1/1; z-index: 0; height: inherit; min-height: auto; max-height: 400px;}

/* Styles pour le placeholder de chargement de la carte */
.map-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    background-color: #f5f5f5;
    border-radius: 8px;
}

.map-loading {
    text-align: center;
    color: var(--couleur-principale);
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #e0e0e0;
    border-top: 4px solid var(--couleur-principale);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 20px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.map-loading p {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
}

.map-error {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    background-color: #ffebee;
    border-radius: 8px;
    color: #d32f2f;
}

.map-error p {
    margin: 0;
    font-size: 16px;
}

.vignette-applicateur-btn {align-items: end; margin-top: 15px;}
.vignette-applicateur-btn a {display: block; background-color: var(--couleur-principale); text-decoration: none; color: var(--couleur-blanc); padding: 6px 20px; border-radius: 20px;}
.vignette-applicateur-btn a:hover {background-color: var(--couleur-noir); color: #fff;}

button.hideApplicateurInfo {background-color: var(--couleur-noir); border: none; border-radius: 50%; height: 25px; width: 25px; margin-left: calc(50% - 20px); margin-top: 40px; margin-bottom: 20px; transition: all 230ms ease-in-out;}
.home button.hideApplicateurInfo {margin-top: 10px;}
button.hideApplicateurInfo i::before {color: var(--couleur-blanc); font-size: 15px;}
button.hideApplicateurInfo:hover {transform: scale(1.05);}

.no-applicateur-message {background-color: var(--couleur-blanc); padding: 20px; margin-top: 30px; max-width: 700px; margin: auto; border-top: 1px solid #F5F5F5;}
.home .no-applicateur-message {border-radius: 20px;}
.no-applicateur-message p, .no-applicateur-message .nf-form-fields-required {color: var(--couleur-noir) !important; font-size: 14px; display: block;}
.no-applicateur-message nf-fields-wrap {display: flex; flex-wrap: wrap; column-gap: 40px; margin-top: 10px;}
.no-applicateur-message nf-field {width: 100%;}
.no-applicateur-message nf-field:nth-last-child(2) {width: 100%;}
.no-applicateur-message nf-field:last-of-type {margin: auto; text-align: center;}
.no-applicateur-message nf-field:last-of-type input {padding: 15px 25px;}
.no-applicateur-message nf-field:last-of-type input:hover {background-color: var(--couleur-gris); color: var(--couleur-blanc);}

.no-applicateur-message .contact-applicateur, .no-applicateur-message .contact-applicateur input, .no-applicateur-message .contact-applicateur select {width: 100%;}
.no-applicateur-message .contact-applicateur>p {margin-top: 10px; margin-bottom: 10px;}
.no-applicateur-message .contact-applicateur.section-select p {position: relative;}
/*.no-applicateur-message .contact-applicateur.section-select p::after {content: "\f078"; font-weight: 900; font-family: "FontAwesome"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--couleur-principale);}*/

.leaflet-popup-content .vignette-applicateur-carte {max-width: 100%; border: none; padding-bottom: 0; flex-wrap: wrap; margin: 20px 0;}
.home .leaflet-popup-content .vignette-applicateur-carte {padding: 0; flex-direction: column;}
.leaflet-popup-content .vignette-applicateur-carte .vignette-applicateur-btn {width: 100%; margin-top: 15px; width: 100% !important;}
.leaflet-popup-content .vignette-applicateur-detail p, .leaflet-popup-content .vignette-applicateur-detail h4 {text-align: left;}

#map .leaflet-popup-close-button {display: none;}
#map .leaflet-marker-icon:focus-visible {outline: none !important;}


.section-recherche-applicateur-txt #noApplicateur form {display: flex; flex-wrap: wrap; column-gap: 10px;} 
.section-recherche-applicateur-txt #noApplicateur form .cf-turnstile {width: 100%;}




/************************************************/
/**                                            **/
/**                  Responsive                **/
/**                                            **/
/************************************************/


@media screen and (min-width: 768px) {

    .home .section-recherche-applicateur-txt {width: 58%; padding: 25px 0;}
    .section-recherche-applicateur #map {min-height: 500px; max-height: 100%;}
    .home .section-recherche-applicateur #map {flex: 1; height: inherit; aspect-ratio: auto; max-height: 100%;}
    .vignette-applicateur-carte {flex-direction: row;}
    .vignette-applicateur-detail {text-align: left;}
    .vignette-applicateur-img {width: max-content; align-items: center;}
    .no-applicateur-message nf-field {width: calc(50% - 20px); display: inline-block;}
    .vignette-applicateur-detail p {text-align: left;}
    .vignette-applicateur-btn {margin-top: 0;}
    #map .leaflet-popup-content {min-width: 500px;}
    .home #map .leaflet-popup-content {min-width: auto;}
    .leaflet-popup-content .vignette-applicateur-carte .vignette-applicateur-btn {margin-left: 130px;}
    .home .leaflet-popup-content .vignette-applicateur-carte .vignette-applicateur-btn {margin-left: 0;}
    #searchForm input[type="text"] {max-width: 300px;}
    .section-recherche-applicateur.page-recherche-applicateur #searchForm {margin-left: auto; margin-right: auto;}
}


@media screen and (min-width: 1000px) {
.no-applicateur-message .contact-applicateur:not(.section-select) {width: calc(50% - 10px);}
}

@media screen and (min-width: 1200px) {
    .section-recherche-applicateur>.flex-container {padding: 0;}
    .section-recherche-applicateur-txt h2 strong {display: block;}
    .home .recherche-applicateur-container {width: 90%; max-width: 1180px; margin: 70px auto 70px;}
}

/* --- bloc-section-revetements-qualite.css --- */
.section-revetement-qualite {gap: 20px; background-color: var(--couleur-fond); padding: 40px 0;}
.section-revetement-qualite h2 {width: 100%; text-align: center; color: var(--couleur-principale); padding: 0 20px;}
.section-revetement-qualite h2 span {color: var(--couleur-noir); font-weight: 400; display: block;}
.section-revetement-qualite-col {width: 100%;}
.section-revetement-qualite-col video {width: 100%; height: 150px;}
.section-revetement-qualite-col h3 {text-align: center;  color: var(--couleur-noir);}
.section-revetement-qualite-col h3 span {display: block; color: inherit;}

.comparatif-video {flex-direction: column; justify-content: center; margin-top: 50px;}
.comparatif-video iframe {margin: auto; max-width: 90%; display: block;}

/* Styles pour le système de vidéo avec miniature */
.video-container { position: relative; width: 100%; max-width: 800px; margin: auto; cursor: pointer; }
.video-thumbnail { width: 100%; height: auto; display: block; }
.play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0.9; transition: all 0.3s ease; }
.play-button img { width: 80px; height: 80px; }
.video-container:hover .play-button { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
.video-container:hover .video-thumbnail { opacity: 0.9; }


/************************************************/
/**                                            **/
/**                  Responsive                **/
/**                                            **/
/************************************************/


@media screen and (min-width: 768px) {
    .section-revetement-qualite-col {width: calc(33% - 12px);}
    .comparatif-video iframe {max-width: 90%;}
    .section-revetement-qualite h2 {padding: 0;}
    .play-button img { width: 60px; height: 60px; }
}

@media screen and (max-width: 767px) {
    .play-button img { width: 50px; height: 50px; }
}

@media screen and (min-width: 1000px) {
    .section-revetement-qualite {padding: 50px 0 40px;}
    .comparatif-video {margin-top: 80px;}
    .section-revetement-qualite h2 {margin-bottom: 60px;}
}

@media screen and (min-width: 1500px) {
    .section-revetement-qualite {padding: 70px 0 50px;}
    .comparatif-video {margin-top: 100px;}
}

/* --- bloc-section-savoir-faire.css --- */
.section-savoir-faire {gap: 30px; justify-content: center;}
/*.vignette-savoir-faire {background-color: #fafafa; border-radius: 20px; border: 3px solid #fafafa; transition: all 120ms ease-in-out; flex-direction: column; padding: 15px;}*/

.vignette-savoir-faire img {height: 80px; width: 100%; object-fit: contain; margin: 0 auto;}
.vignette-savoir-faire h3 {text-align: center; margin: 20px auto 20px; letter-spacing: 0; color: var(--couleur-noir); }
.vignette-savoir-faire p:not(.savoir-faire-link) {margin: 0 0 10px; text-align: left;}
.section-savoir-faire .savoir-faire-link {margin-top: auto; color: var(--couleur-noir); font-weight: 500; font-size: 14px; position: relative; padding-left: 40px; text-align: left;}
.section-savoir-faire .vignette-savoir-faire:hover .savoir-faire-link {color: var(--couleur-noir);}
.section-savoir-faire .savoir-faire-link:hover {color: var(--couleur-principale);}
.section-savoir-faire .savoir-faire-link::before { content: ''; width: 25px; min-width: 25px; height: 25px; background: url(/wp-content/uploads/icons/icon-fleche.svg) no-repeat;  display: inline-block; position: absolute; left: 0; vertical-align: middle;  background-size: contain; padding-right: 8px; transition: all 200ms ease-out;}
.section-savoir-faire .savoir-faire-link:hover::before  { background: url(/wp-content/uploads/icons/icon-fleche-full.svg) no-repeat; background-size: contain;}


.bloc-savoir-faire {display:flex;background-color: #fafafa; border-radius: 20px; border: 3px solid #fafafa; transition: all 120ms ease-in-out; flex-direction: column; padding: 15px;}
.bloc-savoir-faire:hover {background-color: var(--couleur-blanc);}
.bloc-savoir-faire .vignette-savoir-faire {flex-direction: column;}
.bloc-savoir-faire .savoir-faire-localisations {margin-bottom: 30px; justify-content: center; column-gap: 20px; flex-direction: column;}
.bloc-savoir-faire .savoir-faire-localisations .liste-page-local {flex: 1;}
.bloc-savoir-faire .savoir-faire-localisations a {font-size: 14px;}
.bloc-savoir-faire.bloc-pleine-largeur {order: -1;}

.section-savoir-faire .bloc-savoir-faire .liste-page-local {margin-bottom: 20px; margin-top: 10px;}
.section-savoir-faire .liste-page-local a {font-size: 13px; font-style: italic;}

.listelocale .liste-page-local{width: 25%;}


@media screen and (min-width: 950px) {
    .bloc-savoir-faire .savoir-faire-localisations {flex-direction: row;}

}

@media screen and (min-width: 1100px) {
    .section-savoir-faire {gap: 20px;}
    .bloc-savoir-faire {padding: 25px;}
    .bloc-savoir-faire:not(.bloc-pleine-largeur) {flex: 1;}
    .bloc-savoir-faire.bloc-pleine-largeur {width: 100%;}
    .vignette-savoir-faire h3 {max-width: 75%;}
    .section-savoir-faire .bloc-savoir-faire .liste-page-local {margin-bottom: 30px;}
    
}

@media screen and (min-width: 1400px) {
    .section-savoir-faire {gap: 50px;}
    .bloc-savoir-faire {padding: 35px;}
    .vignette-savoir-faire h3 {font-size: 23px;}
    .vignette-savoir-faire img {height: 130px;}
    .vignette-savoir-faire p:not(.savoir-faire-link) {margin: 0 0 20px;}
}

/* --- bloc-section-texte-approche.css --- */
.section-texte-approche.main-container {margin-top: 60px !important;}
.section-texte-approche .approche-content {margin-bottom: 50px;}

.section-texte-approche .approche-title {border-right: 7px solid var(--couleur-principale); width: 100%; padding-right: 25px; margin-bottom: 25px;}
.section-texte-approche .approche-title h2 {color: var(--couleur-principale); font-size: 17px; font-weight: 800; text-align: right; margin-top: 0;}
.section-texte-approche .approche-detail {width: 100%; }
.section-texte-approche .approche-detail p {margin-top: 0;}

@media screen and (min-width: 768px) {
    .section-texte-approche.main-container {margin-top: 80px !important;}
    .section-texte-approche .approche-title {width: 25%; padding-right: 25px; margin-bottom: 0;}
    .section-texte-approche .approche-detail {width: 75%; padding-left: 30px;}
}

@media screen and (min-width: 1400px) {
    .section-texte-approche.main-container {margin-top: 120px !important;}
}

/* --- bloc-sitemap.css --- */
.section-sitemap h2{font-size: 22px;color:  var(--couleur-noir);margin: 10px 0;}
.section-sitemap ul li {margin: 5px 0;}


/************************************************/
/**                                            **/
/**                  Responsive                **/
/**                                            **/
/************************************************/


@media screen and (min-width: 768px) {
    .section-sitemap ul.ul-col-2 {columns: 2;}
}

/* --- bloc-slider-posts-category.css --- */


/* --- bloc-timeline.css --- */
.timeline {display: flex;flex-direction: column; align-items: center;justify-content: space-between; width: 100%; position: relative; margin-top: 0 !important; margin-bottom: 0;}
.ligne-timeline {display: flex;align-items: center;width: 100%; position: relative; padding: 10px 0; flex-direction: column; }
.ligne-timeline .texte {width: 100%;}
.ligne-timeline .texte ul {padding: 0 1em;}
.ligne-timeline .texte ul li {color: var(--couleur-texte); font-size: 14px; padding: 4px 0;}
.ligne-timeline .texte ul li::before { content: "\2022"; color: var(--couleur-principale); font-weight: bold; display: inline-block;  width: 1em;  margin-left: -1em; }

.ligne-timeline .image {width: 100%;}
.ligne-timeline .image img {object-fit: cover; width: 100%; height: 100%;}
.timeline-item {display: none;flex-direction: column; align-items: center; margin: 0 20px; width: 100%; position: relative; margin-bottom: 30px;}
.timeline-item::before {content: ''; width: 100%; height: 1px; background-color: var(--couleur-texte); position: absolute; left: 0; top: 50%;}
.ligne-timeline .numero { width: 40px;height: 40px;background-color: var(--couleur-principale); color: white; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-weight: bold; z-index: 2; font-size: 18px;}
.ligne-timeline .line {display: none; flex: 1;border-left: 1px solid var(--couleur-gris); height: 100%; position: absolute;top: 15px;z-index: 0;}

.last .line:after{ width: 30px;height: 30px; background-color: var(--couleur-principale); color: white; display: flex;align-items: center;justify-content: center; border-radius: 50%; font-weight: bold;z-index: 2;content: ''; position: absolute;bottom: 0;left: -15px;}

.ligne-timeline  p strong.texteorange {color: var(--couleur-principale);}
.ligne-timeline p strong:not(.texteorange) {font-weight: 600;}
.fin-chantier {text-align: center; margin-top: 20px;}
.fin-chantier p {color: var(--couleur-principale); font-weight: 400;}


.section-timeline {padding: 50px 20px;}
.section-timeline h2 {width: 90%; max-width: 1080px; margin: auto;}
.section-timeline-intro {width: 90%; max-width: 1080px; margin: 15px auto 50px;}




/************************************************/
/**                                            **/
/**                  Responsive                **/
/**                                            **/
/************************************************/


@media screen and (min-width: 900px) {
    .section-timeline {padding: 50px 120px;}
    .ligne-timeline {padding: 20px 0;}
    .ligne-timeline .texte {width: 52%;}
    .ligne-timeline .image {flex: 1; width: 43%;}
    .ligne-timeline {flex-direction: row;}
    .ligne-timeline .line {display: block;}
    .timeline-item {display: flex; width: auto; margin-bottom: 0; position: static;  margin: 0 40px; }
    .timeline-item::before {display: none;}
    .fin-chantier {position: absolute; right: calc(41% - 40px); bottom: -70px;}
    .timeline {margin-bottom: 50px;}
}

/* --- bloc-video-youtube.css --- */
.container-bloc-video-youtube { width: 100%; margin: 20px 0; }
.video-youtube-container { position: relative; width: 100%; height: 0; padding-bottom: 56.25%; background: #000; overflow: hidden; }
.video-youtube-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.video-youtube-placeholder { position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer; transition: transform 0.3s ease; }
.video-youtube-placeholder:hover { transform: scale(1.02); }
.video-youtube-placeholder img { width: 100%; height: 100%; object-fit: cover; transition: opacity 0.3s ease; }
.video-thumbnail { content-visibility: auto; contain-intrinsic-size: 640px 480px; }
.video-placeholder { background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%); }
.video-youtube-placeholder:hover img { opacity: 0.9; }
.video-youtube-play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0.9; transition: all 0.3s ease; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3)); }
.video-youtube-placeholder:hover .video-youtube-play-button { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
.video-youtube-loading { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.spinner { width: 40px; height: 40px; border: 4px solid rgba(255,255,255,0.3); border-top: 4px solid #fff; border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.video-error { padding: 20px; text-align: center; background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; color: #dc3545; }

/* Responsive */
@media (max-width: 768px) {
    .video-youtube-play-button svg { width: 50px; height: 36px; }
    .container-bloc-video-youtube { margin: 15px 0; }
}

/* Optimisations pour les performances */
.video-youtube-container { will-change: transform; }
.video-youtube-placeholder { contain: layout style paint; }
.video-loaded { opacity: 1; transition: opacity 0.3s ease; }
.video-placeholder { opacity: 0.7; transition: opacity 0.3s ease; }


