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

.container-bloc-accordeon { display: flex; flex-direction: column;}
.container-bloc-accordeon h2{margin-top: 0;}
.accordeon-toggle {cursor: pointer; padding: 1rem 0; position: relative; font-weight: bold;font-size: 1.8rem; margin-left: 2rem;  border-top: 1px solid var(--couleur-secondaire-light);margin-top: 0;margin-bottom: 0;}
.accordeon-toggle:before {content: '•'; position: absolute;left: -2rem;color: var(--couleur-principale); font-size: 1.2rem;font-weight: bold;top: 30%;}
.accordeon-toggle:after {content: ' +';top:20%;   color: var(--couleur-principale);  font-size: 2rem;font-weight: 300;right: 1rem;position: absolute;}
.accordeon-toggle.open:after {content: ' -';}
.accordeon-content {display: none; overflow: hidden; padding:0 2rem; }
.accordeon-content.collapsed { height: 0;padding: 0;border: none;}
.accordeon-content .btn-cta{margin-bottom: 1rem;}

@media (min-width: 768px) {
    .bloc-accordeon-intro {max-width: 80rem; }
}

/* --- bloc-bandeau-entete.css --- */
.container-bloc-bandeau-entete{display: flex; justify-content: center; align-items: center; padding: 2rem;}
.container-bloc-bandeau-entete .presentation-page { position: relative; width: 100%; border-radius: var(--border-radius); aspect-ratio: auto; display: flex;flex-direction: column; justify-content: center; align-items: center;text-align: center;overflow: hidden;background-size: cover;background-position: center;background-repeat: no-repeat;}
.container-bloc-bandeau-entete .presentation-page::before { content: ""; position: absolute;top: 0;left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); z-index: 1;}
.container-bloc-bandeau-entete .presentation-page *{color: white;}
.container-bloc-bandeau-entete .presentation-page *{position: relative; z-index: 2;}
.container-bloc-bandeau-entete .presentation-page p{font-size: 1.6rem; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);}

.container-bloc-bandeau-entete .presentation-page .titre-bandeau{margin: auto;max-width: 80%;}

@media (min-width: 1000px) {
	.container-bloc-bandeau-entete .presentation-page  { aspect-ratio: 16 / 9;}
}

/* --- bloc-bloc-titre.css --- */
.container-bloc-titre { text-align: center; flex-wrap: wrap; display: flex;flex-direction: row; justify-content: center; gap: 4rem;margin:8rem 0; }




.container-bloc-titre .img{ height: auto; aspect-ratio:3/2; border-radius: var(--border-radius); overflow: hidden;   position: relative; display: flex; justify-content: center; align-items: center; }
.container-bloc-titre .img img{object-fit: cover; height:100%; width: 100%; transition: transform .5s ease; }
.container-bloc-titre .un-bloc-titre:hover img { transform: scale(1.1); }

.container-bloc-titre h2{ border-radius: var(--border-radius); color: white; padding: 1.5rem 2rem; text-align: left; width: 70%; background: var(--couleur-secondaire); margin-left: 10%; margin-top: -3rem; z-index: 10; position: relative; }
.container-bloc-titre a { color: white; text-decoration: none; }
.container-bloc-titre p { padding: 0 2rem 1rem 2rem; text-align: left; }
.container-bloc-titre .btn.btn-secondary{ color: white;padding: 1rem 2rem; border: 1px solid white; position: absolute; opacity: 0.8; transition: 0.3s; font-size: 2.5rem; }

.container-bloc-titre .un-bloc-titre:hover .btn.btn-secondary{ opacity:1; background: var(--couleur-principale-dark); border-color: var(--couleur-principale-dark); }


@media (min-width: 768px) {
	.container-bloc-titre .un-bloc-titre { width:calc(50% - 2rem);   }
}

/* --- bloc-carrousel.css --- */

.section-carrousel-picto {position: relative; margin-top: 3.5rem; margin-bottom: 4rem;}
.bloc-carrousel-picto {max-width: 100%;}


.section-carrousel-picto .slick-prev, .section-carrousel-picto .slick-next {display: none; height: auto; width: auto;}
.section-carrousel-picto .slick-prev::before, .section-carrousel-picto .slick-next::before {display: none;}
.section-carrousel-picto .slick-arrow img {width: 30px;}
.section-carrousel-picto .slick-slide img {height: 60px; max-width: 60px; object-fit: contain; margin: 20px auto 10px;}
.slick-carousel-picto .slick-track {min-height: 200px;}

.vignette-bg .realisation-thumbnail {height: 17rem;}

.bloc-post-sans-carrousel {display: flex; column-gap: 5rem; margin-left: auto; margin-right: auto; flex-direction: column; row-gap: 2rem;}
.bloc-post-sans-carrousel .carrousel-vignette {display: flex; flex-direction: column;}
.slick-carousel-post .slick-slide a {display: block; margin: auto;}

.slick-carousel-post .slick-slide a:focus-visible {outline: none !important;}
.bloc-carrousel {padding: 2rem 0;}
.carrousel-vignette.vignette-bg {border-radius: var(--border-radius); overflow: hidden; margin: .5rem 1rem;}
.slick-carousel-post img, .bloc-post-sans-carrousel img {width: 100%; height: 100%; object-fit: cover; margin-left: auto; margin-right: auto;}

.section-carrousel-post .slick-prev, .section-carrousel-post .slick-next {top: 0; position: static;display: block;}
.bloc-carrousel-actus .slick-prev, .bloc-carrousel-actus .slick-next {top: auto;}
.section-carrousel-post .slick-next:before, .section-carrousel-post .slick-prev:before {display: none;}
.section-carrousel-post .slick-next, .section-carrousel-post .slick-prev {top: auto; left: auto;}

.slick-carousel-texte-image h3 {border-radius: 25px; border: 2px solid var(--couleur-secondaire-light); color: var(--couleur-principale); font-size: 13px; font-weight: 400;}
.slick-carousel-texte-image {margin-bottom: 0 !important;}



.bloc-carrousel .bloc-fleche {display: none;}


.section-carrousel-post {display: flex;width: 100%; justify-content: space-between; align-items: center;overflow: hidden; margin-top: 4rem; position: relative;}
.slick-carousel-post {  flex: 1 1 auto; width: 100%;}


.bloc-carrousel-actus {position: relative;}


.bloc-carrousel h2 {text-align: center; margin-left: 2rem; margin-right: 2rem;}



.carrousel-voir-plus {display: none;}
.bloc-carrousel-actus .carrousel-voir-plus {margin-left: auto; display: block; padding: 0 2rem; text-decoration: underline; font-weight: 300; font-size: 1.4rem;}
.bloc-carrousel-actus .carrousel-voir-plus:hover {color: var(--couleur-secondaire);}


@media (min-width: 768px) {
    .section-carrousel-picto {margin-top: 5rem; margin-bottom: 0;}
    .bloc-carrousel {padding: 0;}
    .section-carrousel-post {margin-top: 5rem;}

    .bloc-carrousel-actus .bloc-fleche {width: 40%; top: -7rem;}
    .section-carrousel-post .slick-next {right: 45px;}
    .section-carrousel-post .slick-prev {right: 120px;}
    .bloc-carrousel-actus .section-carrousel-post .slick-next {bottom: -6rem;}
    .bloc-carrousel-actus .section-carrousel-post .slick-prev {bottom: -6rem;}

    .vignette-bg .realisation-thumbnail {height: 22rem;}

}


@media (min-width: 900px) {
    .bloc-post-sans-carrousel {flex-direction: row;}
}


@media (min-width: 1000px) {
.bloc-carrousel h2 {margin-left: auto; margin-right: auto; max-width: 80rem;}
.bloc-carrousel .bloc-fleche {flex: 0 0 auto; display: flex; width: 30%; justify-content: end; padding-right: 4rem; padding-left: 2rem;}
}



@media (min-width: 1200px) {

    
}





/* --- bloc-carrousel-nouveautes.css --- */

.carrousel-nouveautes  .vignette-bg .realisation-thumbnail img{border-radius: var(--border-radius);}

.carrousel-nouveautes .bloc-fleche {  position: relative; display: flex;  justify-content: start; align-items: center;  gap: 1rem; max-width: 500px;}
.carrousel-nouveautes .bloc-fleche  button {width: 40px;height: 40px; margin: auto; background-color: var(--couleur-principale); color: white; border-radius: var(--border-radius);cursor: pointer; font-size: 1.8rem;  transition: background-color 0.3s, color 0.3s; border: 0; position: initial; opacity: 1;transform: none;}
.carrousel-nouveautes .bloc-fleche button::before {  content: "\f053"; font-family: "Font Awesome 6 Free"; font-weight: 900;display: block;}
.carrousel-nouveautes .bloc-fleche button:last-child::before { content: "\f054"; font-family: "Font Awesome 6 Free";font-weight: 900;display: block;}


.carrousel-nouveautes .carrousel-vignette {position: relative;   display: block; overflow: hidden;}
.carrousel-nouveautes .bloc-hover-carrousel { position: absolute;top: 0;  left: 0;  width: 100%;  height: 100%; background: var(--couleur-admin-text-light); color: white; display: flex;  align-items: center; justify-content: center;text-align: center; opacity: 0;transition: opacity 0.3s ease-in-out;}
.carrousel-nouveautes .carrousel-vignette:hover .bloc-hover-carrousel { opacity: 1; }

@media (min-width: 768px) {
  .carrousel-nouveautes  .vignette-bg .realisation-thumbnail { height: 600px; }
  .carrousel-nouveautes .bloc-hover-carrousel { position: absolute;top: 0;  left: 0;  width: 100%;  height: 100%; background: var(--couleur-admin-text-light); color: white; display: flex;  align-items: center; justify-content: center;text-align: center; opacity: 0;transition: opacity 0.3s ease-in-out;}

}

@media (min-width: 1000px) {
 .bloc-carrousel.carrousel-nouveautes  h2 {  text-align: left;   max-width: none; }
 .bloc-carrousel.carrousel-nouveautes .bloc-fleche {width: initial;padding: 0px;justify-content: start;}
}




  @media (min-width: 1200px) {
     .carrousel-nouveautes .section-carrousel-post .content-carrousel{padding: 10rem;text-align: left;} 
  }
@media (min-width: 1700px) {
   .carrousel-nouveautes .section-carrousel-post .bloc-fleche { width: initial;}
}

@media (max-width: 768px) {
  .bloc-carrousel.carrousel-nouveautes{padding: 0;}
}


@media (max-width: 1200px) {
.bloc-carrousel.carrousel-nouveautes .section-carrousel-post{display: block;padding: 0 4rem;margin-top: 0;}
 .bloc-carrousel.carrousel-nouveautes .bloc-fleche {margin: auto;width: 100%;}
  .bloc-carrousel.carrousel-nouveautes  h2 { text-align: center;}
 .bloc-carrousel.carrousel-nouveautes  .txt-carrousel{text-align: center;}
}

/* --- bloc-comparateur-decor.css --- */
/* Select2 */
.filtre-comparateur .select2-container .select2-selection--single {height: 50px;}
.filtre-comparateur .select2-container--default .select2-selection--single .select2-selection__rendered {line-height: 50px;}
.filtre-comparateur .select2-container--default .select2-selection--single .select2-selection__arrow {height: 50px;}
.filtre-comparateur .select2-results__option img {max-width: 50px;height: 50px;margin-right: 10px;}
.filtre-comparateur .select2-selection__rendered img {max-width: 50px;margin-right: 10px;vertical-align: middle; height: 50px;border-top-left-radius: var(--border-radius); border-bottom-left-radius: var(--border-radius);}
.filtre-comparateur .select2-container{max-width: 70px;}
.filtre-comparateur .select2-container--default .select2-selection--single{border-radius: var(--border-radius);border:0px;}
.filtre-comparateur .select2-container--default .select2-selection--single .select2-selection__rendered{padding: 0px;}
.filtre-comparateur .select2-results__option {display: flex; font-size: 0.8em;}
.filtre-comparateur .select2-results__option span {flex: 1;}
.filtre-comparateur .select2-dropdown { width: 200px !important; }

/* Filtres layout - desktop par defaut */
.filtre-comparateur{display: flex; flex-direction: row;justify-content: center;gap: 2rem;margin-top: 3rem;}
.filtre-comparateur .filtre{display: flex;align-items: center;border-right: 0.5rem solid var(--couleur-principale);gap:2rem;justify-content: center; padding-right: 2rem;}
.filtre-comparateur .filtre:last-child{border-right: 0px;}
.filtre-comparateur .filtre p{margin: 0;}
.filtre-comparateur .filtre-decors .filtre p { font-weight: bold; }
.filtre-comparateur .filtre-decors {display: flex; gap:2rem;}

/* Conteneur comparateur */
#containerComparateur {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
}
#containerComparateur .before-image,
#containerComparateur .after-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#containerComparateur img{width: 100%;}
#containerComparateur{ border-radius: var(--border-radius);margin-top: 3rem;}
#containerComparateurBtn {display: flex; justify-content:space-between; margin: 2rem 0; }

/* Select2 dropdown */
.select2-dropdown {width: 300px !important; margin-left: -150px !important; margin-top: 3rem !important;}
.select2-dropdown ul li {display: flex; align-items: center; gap: 1rem;}
.select2-dropdown ul li span.imgdecor {width: 30%;}
.select2-dropdown ul li span.titledecor {width: 70%;}

/* Filtre lieu - style switch / segmented control */
.filtre-lieu-label { margin-bottom: 0.8rem !important; font-weight: bold; }
.filtre-lieu-switch {
    display: flex;
    background: var(--couleur-secondaire-light, #eee);
    border-radius: var(--border-radius);
    padding: 4px;
    gap: 4px;
    border: 2px solid var(--couleur-secondaire-light, #ddd);
}
.filtre-lieu-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    border: none;
    border-radius: calc(var(--border-radius) - 2px);
    background: transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 1.4rem;
    color: var(--couleur-texte);
}
.filtre-lieu-option:hover {
    background: rgba(255,255,255,0.7);
}
.filtre-lieu-option.selected {
    background: var(--couleur-principale);
    color: white;
    font-weight: bold;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.filtre-lieu-option-icon img {
    width: 50px;
    height: 40px;
    object-fit: contain;
}
.filtre-lieu-option.selected .filtre-lieu-option-icon img {
    filter: brightness(0) invert(1);
}

/* Mobile */
@media (max-width: 767px) {
    .filtre-comparateur { flex-direction: column; align-items: center; gap: 1rem; margin-top: 2rem; }
    .filtre-comparateur .filtre { border-right: none; padding-right: 0; gap: 1rem; }
    .filtre-comparateur .filtre p { font-size: 0.85rem; }
    .filtre-comparateur .filtre-decors { flex-direction: column; gap: 1rem; width: 100%; align-items: center; }

    #containerComparateur { height: auto; aspect-ratio: 16/9; margin-top: 2rem; }

    #containerComparateurBtn { flex-direction: column; gap: 0.8rem; margin: 1.5rem 0; align-items: center; }
    #containerComparateurBtn .btn-cta { width: 100%; max-width: 300px; text-align: center; box-sizing: border-box; }

    .select2-dropdown { width: 260px !important; margin-left: -130px !important; }
    .select2-dropdown ul li span.titledecor { font-size: 0.85rem; }

    .filtre-lieu-label { font-size: 0.85rem; }
    .filtre-lieu-option { padding: 0.6rem 1rem; font-size: 1rem; gap: 0.3rem; }
    .filtre-lieu-option-icon img { width: 35px; height: 28px; }
    .filtre-lieu-switch { padding: 3px; gap: 3px; }
}


/* --- bloc-decors-nouveaute.css --- */

.container-bloc-decors-nouveaute .bloc-btn { position: relative; display: flex; justify-content: center;align-items: center; gap: 1rem;max-width: 300px;  margin: 0 auto; }
.container-bloc-decors-nouveaute .bloc-btn button { width: 40px; height: 40px; margin: auto; background-color: var(--couleur-principale); color: white; border-radius: var(--border-radius);cursor: pointer;  font-size: 1.8rem; transition: background-color 0.3s, color 0.3s; border: 0;position: initial;opacity: 1;transform: none;}
.container-bloc-decors-nouveaute .bloc-btn button::before {content: "\f053"; font-family: "Font Awesome 6 Free";font-weight: 900;}
.container-bloc-decors-nouveaute .bloc-btn button:last-child::before { content: "\f054"; font-family: "Font Awesome 6 Free"; font-weight: 900;}
.container-bloc-decors-nouveaute  .picto-decor img {  filter: grayscale(100%); }

/* --- bloc-equipes.css --- */
.section-equipe {width: auto; row-gap: 20px; justify-content: center; column-gap: 15px; padding: 1rem 0; box-sizing: border-box;}
.section-equipe h2 {text-align: center; width: 100%; margin-bottom: 2rem; font-size: 2.8rem;}
.section-equipe .equipe-item {width: 100%; max-width: 100%; text-align: center; display: flex; flex-direction: column; align-items: center; background: white; border-radius: var(--border-radius, 15px); padding: 1.5rem 1rem; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); box-sizing: border-box; transition: transform 0.3s ease;}
.section-equipe .equipe-item:hover {transform: scale(1.05);}
.section-equipe .equipe-item .equipe-photo-wrapper {width: 120px; height: 120px; border-radius: 50%; overflow: hidden; margin-bottom: 12px; flex-shrink: 0; border: 3px solid #f5f5f5; position: relative; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
.section-equipe .equipe-item .equipe-photo-wrapper img {width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;}
.section-equipe .equipe-item h3 {margin-bottom: 4px; margin-top: 0; font-size: 1.6rem; font-weight: 600; color: #333; line-height: 1.2;}
.section-equipe .equipe-item .equipe-fonction {margin-top: 4px; margin-bottom: 10px; font-size: 1.3rem; color: var(--couleur-secondaire, #666); font-style: italic; line-height: 1.3;}
.section-equipe .equipe-item .equipe-contact {display: flex; flex-direction: column; gap: 5px; margin-top: 10px; width: 100%; padding-top: 10px; border-top: 1px solid #f0f0f0;}
.section-equipe .equipe-item .equipe-contact .equipe-telephone,
.section-equipe .equipe-item .equipe-contact .equipe-email {text-decoration: none; color: #555; transition: all 0.3s ease; font-size: 1.2rem; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 4px 8px; border-radius: 6px; position: relative;}
.section-equipe .equipe-item .equipe-contact .equipe-telephone i,
.section-equipe .equipe-item .equipe-contact .equipe-email i {font-size: 1.1rem; opacity: 0.7; transition: all 0.3s ease;}
.section-equipe .equipe-item .equipe-contact .equipe-telephone:hover,
.section-equipe .equipe-item .equipe-contact .equipe-email:hover {color: var(--couleur-principale, #E0021A); background: rgba(224, 2, 26, 0.05); transform: translateX(3px);}
.section-equipe .equipe-item .equipe-contact .equipe-telephone:hover i,
.section-equipe .equipe-item .equipe-contact .equipe-email:hover i {opacity: 1;}
.classerouge .equipe-namebold { color: var(--couleur-principale) !important; }
.classerouge .border-red .equipe-photo-wrapper { border: 2px solid var(--couleur-principale); }

@media (min-width: 480px) {
    .section-equipe .equipe-item {width: calc(50% - 7.5px);}
    .section-equipe {column-gap: 15px;}
}

@media (min-width: 768px) { 
    .section-equipe .equipe-item {width: calc(33.333% - 17px); padding: 2rem 1.5rem; box-sizing: border-box;}
    .section-equipe {column-gap: 25px; row-gap: 25px;}
    .section-equipe .equipe-item .equipe-photo-wrapper {width: 150px; height: 150px; border-width: 4px; margin-bottom: 15px;}
    .section-equipe h2 {font-size: 3.2rem; margin-bottom: 2.5rem;}
}

@media (min-width: 1000px) {
    .section-equipe .equipe-item { width: calc(33.333% - 22.5px); padding: 2.5rem 2rem; box-sizing: border-box;}
    .section-equipe {column-gap: 30px; row-gap: 30px;}
    .section-equipe .equipe-item .equipe-photo-wrapper {width: 170px; height: 170px;}
    .section-equipe h2 {font-size: 3.6rem;}
}

/* --- bloc-grille-article.css --- */
.bloc-grille-article .liste-articles {column-gap: 3rem; row-gap: 2rem;}
.bloc-grille-article .element-item {overflow: hidden;text-decoration: none;background-color: transparent !important;}
.bloc-grille-article .element-item.border-radius {border-radius: var(--border-radius);}
.bloc-grille-article .element-item .post-thumbnail {overflow: hidden; height: 20rem; background-color: var(--couleur-secondaire-light);}
.bloc-grille-article .element-item img {width: 100%; height: 100%; object-fit: cover; transition: all 500ms ease-in-out; max-height: 20rem;}
.bloc-grille-article .element-item .post-content {padding: 2rem 2.5rem 2.5rem; flex-direction: column;}
.bloc-grille-article .element-item h2 {font-size: 1.8rem; line-height: normal; font-weight: 600; margin-top: 0; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2;   -webkit-box-orient: vertical;}
.bloc-grille-article .element-item .categories {margin-top: 8px;}
.bloc-grille-article .element-item .post-resume {overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical;}


.bloc-grille-article .element-item:hover .category {background-color: var(--couleur-secondaire);}
.bloc-grille-article .element-item:hover img {transform: scale(1.2);}

.grille-article-intro {margin: 0 2rem 4rem;}

@media (min-width: 768px) {
    .bloc-grille-article .element-item img {max-height: 35rem;}
    .bloc-grille-article .element-item { width: calc((100% - 60px) / 2) !important; }
    .grille-article-intro {margin: 0 2rem 5rem; max-width: 80rem; margin-left: auto; margin-right: auto;}
    }

@media (min-width: 1000px) {
    .bloc-grille-article .element-item { width: calc((100% - 60px) / 3) !important; }
    .bloc-grille-article .post-content {min-height: 20rem;}
    .bloc-grille-article .categories {margin-top: auto;}
    .bloc-grille-article .liste-articles {row-gap: 3rem;}

}



/* --- bloc-liste-decors.css --- */
.container-bloc-liste-decors a{
    cursor: pointer;
    flex: 1;
}

#filter { display: flex; flex-direction: column; gap: 3rem; }
#filter .filter-label { font-weight: bold; display: block; margin-bottom: 0.8rem; }

#filter .filter-search-row { width: 100%; }
#filter .search-decor-input {
    width: 100%;
    padding: 1.2rem 4rem 1.2rem 2rem;
    font-size: 1.8rem;
    border: 2px solid var(--couleur-secondaire-light, #ddd);
    border-radius: var(--border-radius);
    background: white;
}
#filter .filter-search-row { position: relative; }
#filter .filter-search-row::before {
    content: "\f002";
    font-family: "Font Awesome 6 Free";
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--couleur-texte);
    font-weight: 900;
    font-size: 2rem;
    pointer-events: none;
    z-index: 1;
}
#filter .search-decor-input:focus {
    outline: none;
    border-color: var(--couleur-principale);
}

#filter .filter-filters-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

#filter .filter-by-category { flex: 0 0 60%; min-width: 280px; }
#filter .radio { display: flex; flex-wrap: wrap; gap: 1rem; }
#filter .abloc svg { display: inline-block; width: 70px; height: 50px; }
#filter .abloc svg path { fill: var(--couleur-secondaire) !important; }
#filter .abloc {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    padding: 1rem;
    border-radius: var(--border-radius);
}
.containerradio input { position: absolute; opacity: 0; cursor: pointer; }
.containerradio:hover input ~ .abloc { background-color: var(--couleur-secondaire-dark); }
.containerradio:hover input ~ .abloc span { color: white; }
#filter .containerradio:hover input ~ .abloc svg path { fill: white !important; }
.containerradio input:checked ~ .abloc { background-color: var(--couleur-secondaire-dark); }
.containerradio input:checked ~ .abloc span { color: white; }
#filter .containerradio input:checked ~ .abloc svg path { fill: white !important; }
.abloc:after { content: ""; position: absolute; display: none; }
.containerradio input:checked ~ .abloc:after { display: block; }
.containerradio .abloc:after {
    top: 9px; left: 9px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: white;
}

#filter .filter-by-type-decor { flex: 0 0 40%; min-width: 200px; }
#filter .filter-categorie-decor-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}
#filter .filter-categorie-decor-btn {
    cursor: pointer;
    margin-top: 1rem;
    display: inline-block;
}
#filter .filter-categorie-decor-checkbox { position: absolute; opacity: 0; pointer-events: none; }
#filter .filter-categorie-decor-btn-text {
    display: inline-block;
    padding: 0.6rem 1.4rem;
    font-size: 1.6rem;
    border-radius: var(--border-radius);
    background-color: var(--couleur-secondaire-light, #eee);
    color: var(--couleur-texte);
    transition: background-color 0.2s, color 0.2s;
}
#filter .filter-categorie-decor-btn:hover .filter-categorie-decor-btn-text {
    background-color: var(--couleur-secondaire);
    color: white;
}
#filter .filter-categorie-decor-checkbox:checked + .filter-categorie-decor-btn-text {
    background-color: var(--couleur-principale);
    color: white;
}

@media (max-width: 900px) {
    #filter .filter-filters-row { flex-direction: column; }
    #filter .radio { flex-basis: 100%; }
}


/* --- bloc-picto-produits.css --- */
.container-bloc-picto-produits .produits-list *{text-align: center;color: white;}
.container-bloc-picto-produits .produits-list{text-align: center;  display: flex;flex-direction: row; justify-content: center; gap: 4rem;margin:8rem 0;}
.container-bloc-picto-produits .produit-item .produit-thumbnail{width: 150px;margin: auto;height: 100px;}
.container-bloc-picto-produits .produit-item .produit-thumbnail img{height: auto;}
.container-bloc-picto-produits .produit-item h3{    font-family: 'Lato';}

/* --- bloc-presentation-page.css --- */
.container-bloc-presentation-page {display: flex; justify-content: center; align-items: center; padding: 0rem;}
.container-bloc-presentation-page  .presentation-page { position: relative; width: 100%; border-radius: var(--border-radius);display: flex;flex-direction: column; justify-content: center; align-items: center;text-align: center;overflow: hidden;padding: 2rem;}
.container-bloc-presentation-page  .presentation-page::before { content: ""; position: absolute;top: 0;left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 1;}
.container-bloc-presentation-page  .presentation-page h2{color: white;max-width: 80%;margin-left: auto;margin-right: auto;}
.container-bloc-presentation-page  .presentation-page { background-size: cover;background-position: center;background-repeat: no-repeat;}
.container-bloc-presentation-page  .presentation-page h2,.container-bloc-presentation-page  .presentation-page .btn-cta {position: relative; z-index: 2;}
.container-bloc-presentation-page  .presentation-page .presentation-bloc{ z-index: 2; max-width: 100%; margin-bottom: 3rem;}
.container-bloc-presentation-page  .presentation-page .presentation-bloc ul {list-style: none;text-align: left;columns: 1; }
.container-bloc-presentation-page  .presentation-page .presentation-bloc ul li { border-left: 5px solid var(--couleur-principale);  margin-bottom: 2rem; font-size: 1.2rem; padding-left: 1rem;}
.container-bloc-presentation-page  .presentation-page .presentation-bloc ul li strong { display: block;text-transform: uppercase;}

@media (min-width: 1000px) {
	.container-bloc-presentation-page  .presentation-page { aspect-ratio: 1 / 1; padding: 0;}
	.container-bloc-presentation-page  .presentation-page .presentation-bloc ul{columns: 2;}
	.container-bloc-presentation-page  .presentation-page .presentation-bloc{ max-width: 60%;}
}

/* --- bloc-reassurance.css --- */

.container-bloc-reassurance .bloc-reassurance { display: flex; justify-content: center; flex-wrap: wrap;width: 100%;}
.container-bloc-reassurance .item-reassurance { display: flex;flex-direction: column; align-items: center; text-align: center;  gap: 1rem;   width: 50%; }
.container-bloc-reassurance .picto-wrapper {  background-color: white;   border-radius: 50%;padding: 2rem;  display: flex;  justify-content: center;align-items: center; width: 120px; height: 120px; }
.container-bloc-reassurance .picto-wrapper img {height: auto;}
.container-bloc-reassurance .texte-reassurance *{ font-weight: bold;}
.container-bloc-reassurance .item-reassurance .picto-wrapper,.container-bloc-reassurance .item-reassurance .texte-reassurance { opacity: 0;transform: translateY(20px);transition: all 0.6s ease-out;}
.container-bloc-reassurance  .item-reassurance .picto-wrapper.animate-picto {opacity: 1;transform: translateY(0);}
.container-bloc-reassurance  .item-reassurance .texte-reassurance.animate-texte { opacity: 1; transform: translateY(0); transition-delay: 0.2s; }

@media (min-width: 768px) {
	.container-bloc-reassurance .item-reassurance {width: 20%;}
}

/* --- 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-sliderSofema.css --- */

.slider-carrousel {width: 100%;margin: 4rem 0;}
.container-bloc-slider {padding: 0;}
.container-bloc-slider .slick-prev,.container-bloc-slider .slick-next{position: initial;display: inline-block;}
.container-bloc-slider .slick-prev:before,.container-bloc-slider .slick-next:before{display: none;}
.container-bloc-slider .slider-navigation {display: none; position: absolute; background-color: #fafafa; right: 2rem; top: 5rem;z-index: 1; color: var(--couleur-texte); border-radius: 5px;}
.container-bloc-slider .slider-navigation button {transform: none; font-size: 1.2rem; padding: 8px; width: auto; height: auto;}
.container-bloc-slider .slider-navigation span {font-size: 1.4rem; font-weight: 400; letter-spacing: 2px; padding: 5px 8px; border-left: 1px solid #e2e2e2; border-right: 1px solid #e2e2e2; display: inline-block; min-width: 50px; text-align: center;}
.container-bloc-slider {position: relative;}

.container-bloc-slider .slick-slide .slide-content { opacity: 0; transform: translateY(120%); will-change: transform, opacity; transition: opacity .9s, transform .9s cubic-bezier(.26,.54,.32,1) .3s; padding-left: 0; padding-right: 0; flex-direction: column; margin-top: 3rem;}

.container-bloc-slider .slick-active .slide-content {opacity: 1;transform: translateY(0);}



.container-bloc-slider.entete-center .slide-content {text-align: center;align-items: center; justify-content: center;}
.container-bloc-slider:not(.entete-center) .slide-content {justify-content: flex-end;}
.container-bloc-slider.entete-center .slide-content .btn-cta {margin-left: auto; margin-right: auto;}
.container-bloc-slider h1, .container-bloc-slider h2 {margin-top: 0;}
.container-bloc-slider .slick-active .image-slide  img{transform: scale(1);}

.container-bloc-slider .slick-slide .image-slide {position: relative;overflow: hidden; width: 100%; aspect-ratio: 16/9; height: 100%;}
.container-bloc-slider .slick-slide .image-slide:before {content: "";pointer-events: none; width: 100%; height: 100%; position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 1; background: radial-gradient(rgba(0, 0, 0, .36) 0%, transparent 100%);}

.container-bloc-slider.border-radius .slick-slide .image-slide {border-radius: var(--border-radius);}
.container-bloc-slider .image-slide img {display: block;position: absolute;left: 0;top: 0;height: 100%;object-fit: cover;width: 100%; transform: scale(1.2); will-change: transform; transition: transform 2s cubic-bezier(.21,.6,.35,1);}
.container-bloc-slider.border-radius .image-slide img {border-radius: var(--border-radius);}

/*
.image-slide iframe, .image-slide object, .image-slide embed {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    aspect-ratio: 16/9;
}*/

.image-slide .video-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 2px solid #000; /* Add a border */
    background-color: #f0f0f0; /* Add a background color */
}
.madeinfrance .image-slide {position: relative;}
.madeinfrance .image-slide::after {content: '';position: absolute;bottom: 5px;right: 5px;width: 60px;height: 60px;z-index: 99; background: url(https://sofema.iwegodev.fr/wp-content/uploads/2025/12/vector-made-in-france.png);background-size: contain;background-repeat: no-repeat;background-position: center;}

@media (min-width: 768px) {
    .container-bloc-slider .slide-content *{color: white;}
    .madeinfrance .image-slide::before {content: '';position: absolute;bottom: 50px;right: 50px;width: 100px;height: 100px;z-index: 99; background: url(https://sofema.iwegodev.fr/wp-content/uploads/2025/12/vector-made-in-france.png);background-size: contain;background-repeat: no-repeat;background-position: center;}
    .container-bloc-slider .slick-slide .slide-content {padding-left: 5rem; padding-right: 5rem; margin-top: 0; }
    .container-bloc-slider:not(.entete-center) .slide-content {padding-bottom: 6rem;}
    .container-bloc-slider .slide-content {position: absolute; top: 0; left: 0;right: 0; bottom: 0; display: flex; z-index: 2;}
    .container-bloc-slider.entete-center .slide-content {max-width: 80rem;}
    }
    
@media (min-width: 1000px) {
    .container-bloc-slider:not(.entete-center) h2, .container-bloc-slider:not(.entete-center) h1 {max-width: 60%;}
}

/* Styles pour la vidéo YouTube en arrière-plan */
.container-bloc-slider.has-youtube-bg {
    position: relative;
    overflow: hidden;
}

.youtube-background-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    overflow: hidden;
}

.youtube-bg-player {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}

/* Masquer la vidéo YouTube en arrière-plan sur mobile pour des performances optimales */
@media (max-width: 767px) {
    .youtube-background-container {
        display: none;
    }
}

/* Overlay pour améliorer la lisibilité du contenu par-dessus la vidéo */
.container-bloc-slider.has-youtube-bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 0;
    pointer-events: none;
}

/* S'assurer que le contenu du slider reste au-dessus de la vidéo */
.container-bloc-slider.has-youtube-bg .slider-carrousel,
.container-bloc-slider.has-youtube-bg .slider-navigation {
    z-index: 1;
}

/* Ajuster la hauteur minimale pour les sliders avec vidéo en arrière-plan */
.container-bloc-slider.has-youtube-bg {
    aspect-ratio: 16/9;
}

/* Masquer complètement tous les éléments d'interface YouTube */
.youtube-background-container iframe {
    pointer-events: none; /* Désactive toutes les interactions */
}

/* Masquer les éléments YouTube qui pourraient apparaître */
.youtube-background-container .ytp-chrome-top,
.youtube-background-container .ytp-chrome-bottom,
.youtube-background-container .ytp-watermark,
.youtube-background-container .ytp-gradient-top,
.youtube-background-container .ytp-gradient-bottom,
.youtube-background-container .ytp-show-cards-title,
.youtube-background-container .ytp-pause-overlay,
.youtube-background-container .ytp-upnext,
.youtube-background-container .ytp-endscreen-content,
.youtube-background-container .ytp-ce-element,
.youtube-background-container .ytp-cards-teaser,
.youtube-background-container .ytp-suggested-action,
.youtube-background-container .ytp-videowall-still,
.youtube-background-container .ytp-impression-link {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}



/* --- bloc-video.css --- */
.contenu-video-centrale{flex-direction: column;}

.contenu-video-centrale .thevideobloc{ width: 100%;}

.contenu-video-centrale .thevideobloc button.plyr__control--overlaid {left: 50%;}

.ytp-show-cards-title{display: none !important;}

/* --- bloc-video-background.css --- */

.container-bloc-video-background { position: relative; overflow: hidden; }
.video-bg { width: 100%; aspect-ratio: 16/9; object-fit: cover; position: relative; }
.video-bg .video-container { position: relative; width: 100%; height: 100%; overflow: hidden; }
.video-bg .video-container iframe { width: 100%; height: 100%; }

.video-bg::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); z-index: 1; }

.iconsound { position: absolute; width: 35px; bottom: 10px; right: 10px; z-index: 9; cursor: pointer; }

.container-bloc-video-background .container-titre-video { position: absolute; text-align: center; z-index: 10; height: 100%; width: 100%; display: flex; justify-content: center; align-items: center; aspect-ratio: 16/9; padding: 0 15px; box-sizing: border-box; }
.container-bloc-video-background .container-titre-video .btn-cta { margin: auto; }

.titre-video p { font-size: 1rem; }
.titre-video .titrevideo { font-size: 1.4rem; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.titre-video .titrevideo strong { border-right: none; border-bottom: 2px solid var(--couleur-principale); padding: 0.3rem 0; }
.titre-video .titrevideo strong:last-child { border-bottom: 0; }

/* Popup */
.container-bloc-video-background .popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); z-index: 1000; }
.container-bloc-video-background .popup-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #000; padding: 10px; border-radius: 8px; width: 92%; max-width: 500px; }
.container-bloc-video-background .popup-close { position: absolute; top: -30px; right: 0; font-size: 28px; color: white; cursor: pointer; z-index: 1; }
.container-bloc-video-background .popup-video { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.container-bloc-video-background .popup-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }

/* Tablet */
@media (min-width: 768px) {
    .iconsound { width: 50px; }
    .titre-video p { font-size: 1.4rem; }
    .titre-video .titrevideo { font-size: 2.2rem; flex-direction: row; gap: 0; }
    .titre-video .titrevideo strong { border-bottom: none; border-right: 2px solid var(--couleur-principale); padding: 0 1.5rem; }
    .titre-video .titrevideo strong:last-child { border-right: 0; }
    .container-bloc-video-background .popup-content { max-width: 800px; }
}

/* Desktop */
@media (min-width: 1024px) {
    .titre-video p { font-size: 1.8rem; }
    .titre-video .titrevideo { font-size: 3rem; }
    .titre-video .titrevideo strong { padding: 0 2rem; }
}



