/*
Theme Name: 	MFM Digital
Theme URI: 		http://themes.muffingroup.com/betheme
Author: 		MFM Digital
Author URI: 	http://mfmdigital.com.com
Description:	MFM Digital Child Theme
Template:		betheme
Version: 		1.0.0
*/

/* Theme customization starts here
-------------------------------------------------------------- */
html{scroll-behavior: smooth;}
.brochures-destination-card,
.job-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.job-pills{
  max-width: 400px;
}
.brochures-destination-card p,
.job-pills p{
  display: flex;
  flex-wrap: wrap;
  border-radius: 36px;
  background: #FFF;
  box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.10);
  padding: .2rem 1rem;
}
.img-desk-hide{
  width: 100%;
}
@media(min-width: 768px){
  .img-desk-hide{
    display: none;
  }
}
@media only screen and (max-width: 767px){
    h1{
        font-size:34px;
        line-height:1.2em;
    }
    .mfn-builder-content>.section:has(.sejour-select-container){
        min-height:calc(100vh - 100px);
        padding-top: 150px;
        padding-bottom: 0;
    }

    .mfn-builder-content>.section:has(.sejour-select-container) .mcb-wrap-inner{
        padding-top:0px!important
    }
}
.anchor-pills .button{
  transition: .3s ease-in-out;
}
.anchor-pills .button.active{
  background-color: #fff !important;
}
.header-submenu{
  display: flex;
  gap: 48px;
}
.header-submenu > a{
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-submenu > a:hover{
  text-decoration: none;
}
.header-submenu > a p{
  margin: 0;
  color: #000;
}
.select-sejour .select-sejour-content{
  display: flex;
  align-items: center;
  gap: 1rem;
  border-radius: 46px;
  border: 3px solid #F3F3F3;
  padding: 8px 25px;
  cursor: pointer;
  white-space: nowrap;
}
.select-sejour .select-sejour-content p{
  margin: 0;
}
.contact-form-section .forminator-ui .forminator-row input{
  border-radius: 10px !important;
  background: #F8F8F8 !important;
  border: 1px solid transparent !important;
}
.contact-form-section .forminator-ui  .forminator-row .form-contact-message textarea{
  border-radius: 10px !important;
  background: #F8F8F8 !important;
  border: 1px solid transparent !important;
  margin-top: 16px;
  resize: none;
}
.contact-form-section .forminator-ui .forminator-row .form-contact-message label{
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #000 !important;
  margin-bottom: 32px;
}
.contact-form-section .forminator-ui .forminator-row .form-contact-message .forminator-description{
  display: none;
}
.contact-form-section .forminator-ui .forminator-row .select2-selection{
  border-radius: 20px !important;
  border: 1px solid #E7E7E7 !important;
  background-color: #fff !important;
}
.contact-form-section .forminator-ui .forminator-row .select2-selection .select2-selection__rendered{
  padding: 8px 0px 8px 24px !important;
}
.contact-form-section .forminator-ui .forminator-row label .forminator-required{
  display: none;
}
.contact-form-section .forminator-ui .forminator-row  .form-contact-project-type label{
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #000 !important;
  margin-bottom: 32px;
}

.contact-form-section .forminator-ui .forminator-row .form-contact-travel-date .forminator-row{
  display: flex;
  gap: 16px;
}
.contact-form-section .forminator-ui .forminator-row .form-contact-travel-date{
  padding-top: 12px;
}
.contact-form-section .forminator-ui .forminator-row .form-contact-travel-date label,
.contact-form-section .forminator-ui .forminator-row .form-contact-birthday-date label,
.contact-form-section .forminator-ui .forminator-row label{
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 120% !important;
  color: #000 !important;
  margin-bottom: 16px;
}
.contact-form-section .forminator-ui .forminator-row:nth-child(4),
.contact-form-section .forminator-ui .forminator-row:nth-child(5){
  display: flex;
  gap: 40px;
}
.contact-form-section .forminator-ui .forminator-row .form-contact-birthday-date .forminator-row{
  display: flex;
  gap: 16px;
}
.contact-form-section .forminator-ui .forminator-row.forminator-row-last button.forminator-button{
  border-radius: 40px !important;
  background: #FEDC00 !important;
  padding: 20px 48px 19px 48px !important;
  color: #000 !important;
  font-weight: 600 !important;
}
.contact-form-section .forminator-ui .forminator-row.forminator-row-last button.forminator-button:hover{
  box-shadow: none !important;
}
.contact-form-section .forminator-ui .forminator-row.forminator-row-last{
  margin-top: 44px;
}
.contact-form-section .forminator-ui .forminator-row.forminator-row-last .forminator-field{
  text-align: center;
}
.contact-form-section .forminator-ui .forminator-row .forminator-checkbox .forminator-checkbox-box{
  border-radius: 4px !important;
  border: 2px solid #000 !important;
  background-color: #fff !important;
}
.form-contact-left-row .mcb-wrap-inner{
  display: flex;
  flex-direction: column;
}
.form-contact-left-row .mcb-wrap-inner .column:last-child{
  flex-grow: 1;
}
.form-contact-left-row .mcb-wrap-inner .column:last-child .mcb-column-inner,
.form-contact-left-row .mcb-wrap-inner .column:last-child .mcb-column-inner img{
  height: 100%;
  max-width: initial;
}
.select2-container.forminator-select-dropdown-container--open{
  margin-top: 12px !important;
}
.select2-container .forminator-select-dropdown{
  border: 1px solid #E7E7E7 !important;
  background-color: #fff !important;
  border-radius: 16px !important;
  overflow: hidden;
  padding: 0 !important;
}
.select2-container .forminator-select-dropdown .select2-results__options .select2-results__option{
  padding: 10px 24px !important;
}
.select2-container .forminator-select-dropdown .select2-results__options .select2-results__option.select2-results__option--selected{
  background-color: #FEDC00 !important;
  color: #000 !important;
}

.person-container{
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr ;

}
@media (min-width: 1240px) {
  .person-container {
    grid-template-columns: 1fr 1fr ;
  }
}

.iptemp-field{display:none}
/* Shortcode prix_programmes */
.programmeTitle{
  font-size: 20px;
  font-weight: 600;
  margin-left: var(--mfn-column-gap-left);
  margin-top: 25px;
}
.wh-price-cities-container{
    width:100%;
    overflow:auto;
    border-radius:16px;
    .wh_price_cities{
        table-layout: fixed; /* INDISPENSABLE */
        width: 100%;         /* Le tableau doit avoir une largeur définie */
        border-collapse: collapse;
        border:none;
        margin-bottom: 0!important;
        tr:first-child{
            background-color: #FEDC00;
            th{
                background-color:transparent;
                color:#000;
            }
        }
        th{
            width:120px;
            &:first-child{
                width:140px;
            }
        }
    }
}
.programeScolaire,
.wh-price-cities-container>.wh_price_cities{
  background-color: #FFFFFF;
  border-radius: 8px;
  box-shadow: 0px 4px 20px 0px rgba(0,0,0,0.1);
  margin-bottom: 25px;

}

.programeScolaire td del+span{
    font-weight:600;
    color:#168316;
}
i.ip-tooltip{
    color:#000
}

.programeScolaire.wh:not(.show) tbody>*:nth-child(n+2){display:none}
.programeScolaire.wh:not(.show) tbody>tr:nth-child(1) th:first-of-type{
    border-bottom-left-radius: 8px;
}
.programeScolaire.wh:not(.show) tbody>tr:nth-child(1) th:last-of-type{
    border-bottom-right-radius: 8px;
}
.programeScolaire.wh tbody>tr:nth-child(1) th:last-child{
    position:relative;

}
.programeScolaire.wh tbody>tr:nth-child(1) th:last-child::after{
    content:'';
    position:absolute;
    right:10px;
    top:10px;
    width: 20px;
    height: 42px;
    background-image:url('dist/img/arrow-down.png');
    background-position:center;
    background-size:contain;
    background-repeat: no-repeat;
}

.programeScolaire.wh tbody>tr:nth-child(1) th:nth-child(2){
    padding-right:38px
}

.programeScolaire.wh tbody>tr:nth-child(1){
    cursor:pointer
}


.programeScolaire.wh.show tbody>tr:nth-child(1) th:last-child::after{
    transform:rotate(180deg)
}


.programeScolaire, .programeScolaire td, .programeScolaire th {
  border: none;
  background-color: transparent!important;
}
.programeScolaire tr:nth-of-type(odd){
  background-color: #F8F8F8;
}
.programeScolaire tr:nth-of-type(even){
  background-color: white;
}
.programeScolaire tr:first-of-type,
.programeScolaire.wh6 tr:nth-of-type(2)
{
  background-color: #FEDC00;
}

.programeScolaire th,.programeScolaire td{
  text-align: left;
  color: black;
  padding: 18px 0 18px 32px;
}
@media screen and (max-width:500px){
  .programeScolaire th,.programeScolaire td{
    padding: 10px;
  }
}
.programeScolaire tr:nth-child(1) th:first-of-type{
  border-top-left-radius: 8px;
}
.programeScolaire tr:nth-child(1) th:last-of-type{
  border-top-right-radius: 8px;
}
.programeScolaire tr:last-of-type td:first-of-type{
  border-bottom-left-radius: 8px;
}
.programeScolaire tr:last-of-type td:last-of-type{
  border-bottom-right-radius: 8px;
}
.person-container .person-item{
  /* text-align: center; */
  position: relative;
  border-radius: 10px;
  background-color: white;
  display: flex;
  flex-direction: row;
  padding: 10px 20px;
  padding-bottom: 13px ;
}
.person-container .person-infos .buttonAbs{
  position: absolute;
  border: 1px solid transparent;
  border-radius: 100px;
  width: 45px;
  height: 45px;
  left: -22.5px;
}
.person-infos{
  padding: 10px 0;
}
.person-container h4{
  margin-bottom: 5px;
  line-height: 24px;
}
.person-container .person-infos .buttonAbs:hover{
  border: 1px solid black;
}
.person-container .person-infos .buttonAbs:first-of-type{
  top: 16px;
}
.person-container .person-infos .buttonAbs:nth-of-type(2){
  top: 55px;
}
.person-container .person-infos .buttonAbs:nth-of-type(3){
  top: 94px;
}
.person-container .person-item > img{
    width: 45%;
    height: fit-content;
    align-self: center;
    /* -webkit-mask-image: radial-gradient(closest-side, black 99%, rgba(0, 0, 0, 0) 100%); */
    /* mask-image: radial-gradient(closest-side, black 99%, rgba(0, 0, 0, 0) 100%); */
}
.person-container .person-item p{
  font-weight: 600;
  font-size: 1rem;
}

.button-personne-de-contact{
  color: #fff;
  background-color: #000;
  text-align: center;
  padding: 10px 20px;
  border-radius: 40px;
  display: inline-block
}
.button-personne-de-contact:hover{
  color: #fff;
}

/* Team Members */

.team_member_item {
  padding: 3.5rem 4rem 3.5rem 7vw;
  text-align: center;
  background: white;
  border-radius: 16px;
  box-shadow: 0 3px 15px 0 rgba(0,0,0,.1);
  margin-bottom: 2rem;
}
.team_member_item > div:first-child {
  text-align: center;
  min-width: 200px;
  margin-bottom: 2rem;

}
.team_member_item > div:first-child img {
  width: 200px;
  /* -webkit-mask-image: radial-gradient(closest-side, black 99%, rgba(0, 0, 0, 0) 100%); */
  /* mask-image: radial-gradient(closest-side, black 99%, rgba(0, 0, 0, 0) 100%); */
}
.team_member_name {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.team_member_poste {
  margin-bottom: 1.5rem;
}
.team_member_contact_icons {
  display: flex;
  margin-top: 1.5rem;
  justify-content: right;
}
.team_member_contact_icons img {
  margin-right: 1.5rem;
}
@media(min-width: 768px) {
  .team_member_item {
    padding: 4rem 6rem 4rem 6rem;
  }
}
@media(min-width: 960px){
 .team_member_item {
    display: flex;
    text-align: left;
  }
 .team_member_item > div:first-child {
    margin-right: 5rem;
    text-align: initial;
    margin-bottom: 0;
 }
}



.footer-slider .blog_slider_header{
  margin-bottom: 0px;
}
.footer-slider .clients_slider .slick-arrow{
  display: none !important;
}
.fixed-navigation-bar,
.fixed-navigation-bar-mobile{
  position: fixed;
  bottom: 0;
  width:100%;
  max-width: initial !important;
  padding: 8px 0px !important;
}
.fixed-navigation-bar a:hover,
.fixed-navigation-bar-mobile a:hover{
  text-decoration: none;
  color: #fff !important;
}
.select-sejour{
  position: relative;
}
.select-sejour-submenu{

  margin-top: 60px;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 999;
  opacity: 0;
  transition: .3s;
  visibility: hidden;
  transform: translate(0, -30px);
}
.mcb-column-inner:has(>div>.sejour-select-container){
    padding:0px!important;
    background-color:transparent!important;
    box-shadow:none!important
}
.sejour-select-container{
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.15);
    padding: 0 30px 30px;
}
.select-sejour-content.active+.select-sejour-submenu{
  visibility: visible;
  opacity: 1;
  transition: .3s;
  transform: translate(0, 0);
}
.select-sejour .select-sejour-content img{
  transform: rotate(0deg);
  transition: transform .3s ease-in-out;
}
.select-sejour.active .select-sejour-content img{
  transform: rotate(180deg);
}
.select-sejour-submenu select{
  width: 100%;
  border-radius: 50px;
  box-shadow: none;
  padding: 12px 24px;
  position: relative;
}
.select-sejour-submenu a{
  width: 100%;
  text-align: center;
}
.sejour-mb-trigger{
  display: flex;
  align-items: center;
  gap: 16px;
  border-radius:40px;
  padding:4px 10px;
  border:3px solid #F3F3F3
}
.sejour-mb-trigger p{
  margin: 0;
}

.button.has-arrow{
  position: relative;
}
.button.has-arrow img{
  position: absolute;
  right: 0;
  margin-right: 24px;
  width: 10px;
  margin-top: -1px;
}

.custom-search-sejour select{
  border-radius: 50px;
  box-shadow: none;
  padding: 12px 24px;
  position: relative;
}

.select-sejour-popup{
  position: relative;
  width: 100%;
  z-index: 999;
}

.select-sejour-popup select{
  width: 100%;
  border-radius: 50px;
  box-shadow: none;
  padding: 12px 24px;
  position: relative;
}
.select-sejour-popup a{
  width: 100%;
  text-align: center;
  color: #000 !important;
}
.hustle-main-wrapper .hustle-layout-header{
  padding-top: 24px !important;
}
.hustle-main-wrapper .hustle-layout-header .hustle-title{
  color: #000 !important;
}
.hustle-main-wrapper .hustle-layout .hustle-button-icon{
  margin-top: 50px;
  margin-right: 10px !important;
}
.hustle-main-wrapper .hustle-layout .hustle-button-icon .hustle-icon-close::before{
  color: #000;
}

.mfn-header-tmpl-menu-sidebar{
  position: absolute !important;
  height: initial;
  width: 250px;
  right: 0;
  margin-right: -10px;
  margin-top: 39px;
  background-color: #000;
  border-radius: 16px;
  box-shadow: 0px 4px 4px 0px #00000040;
  display: none;
  transition: .6s;
  opacity: 0;
}
.mfn-header-tmpl-menu-active .mfn-header-tmpl-menu-sidebar{
  display: block;
  opacity: 1;
}

.mfn-header-tmpl-menu-sidebar .mfn-header-tmpl-menu-sidebar-wrapper{
 padding-top: 32px;
 padding-bottom: 32px;
 padding-left: 0px;
 padding-right: 0px;
}
.mfn-header-tmpl-menu-sidebar .mfn-header-tmpl-menu-sidebar-wrapper .mfn-header-menu .mfn-menu-link{
 justify-content: flex-start;
 padding: 20px;
}
.mfn-header-tmpl-menu-sidebar .mfn-header-tmpl-menu-sidebar-wrapper .mfn-header-menu .menu-label{
 color: #fff;
 font-size: 16px;
}
.mfn-header-tmpl-menu-sidebar .mfn-header-menu {
  overflow: hidden;
}
.mfn-header-tmpl-menu-sidebar .mfn-header-menu > .mfn-menu-li {
  padding-left: 32px;
  padding-right: 32px;
  transition: 1s;
}
.mfn-header-tmpl-menu-sidebar .mfn-header-menu > .mfn-menu-li:hover {
  background: #434343;
  transition: background .2s;
}

@media(min-width: 768px){
  .mfn-header-tmpl-menu-sidebar{
    margin-top: 5rem;
    border-radius: 16px 16px 16px 16px;
    left: 0;
    margin-left: -184px;
    right: initial;
    margin-right: initial;
    width: 275px;
  }
  .mfn-header-tmpl-menu-sidebar .mfn-header-tmpl-menu-sidebar-wrapper .mfn-header-menu .menu-label{
    font-size: 18px;
  }

}
#menu-menu-programme-1 .current-menu-item, #menu-menu-programme-2 .current-menu-item{
  border-bottom: 4px solid #FEDC00;
}
@media(max-width:959px){
  #menu-menu-programme-2{
  flex-wrap: nowrap;
  justify-content: start;
  overflow: scroll;
  }
}
html.mfn-header-tmpl-burger-sidebar-opened {
  overflow: initial !important;
}
.logged-in-test{
    *,*::after,*::before{
        box-shadow:0 0 1px #000;
    }
}

.mobile-programme-menu-section .mfn-header-menu{
  flex-wrap: nowrap !important;
  overflow: scroll;
  justify-content: flex-start !important;
  padding: 8px 0px;
}
.mfn-builder-content { box-shadow: 0 4px 24px 0 rgba(0,0,0,.07); }
#Wrapper #Content .mfn-builder-content section.section:first-child{
  margin-top: 40px;
}
@media(min-width: 768px){
  #Wrapper #Content .mfn-builder-content section.section:first-child{
    margin-top: initial;
  }
}

@media only screen and (max-width: 767px){
    .content_wrapper .section.programmes-vignette .section_wrapper{
        padding-left:10px;
        padding-right:10px;
    }
}


.block-empty-anchor{
  display: none;
}
@media(min-width: 1240px){
  .block-empty-anchor{
    display: initial;
  }
}
.post-type-container .posts>a{
  display: grid; /* Le seul intéret de cette ligne est de faire fonctioner le "justify-self: stretch;" sur le post-type-item */
}
.post-type-container .more-button-container{
    text-align:center;
    margin-top:20px;
}
.post-type-container .post-type-item{
  box-shadow: 1px 4px 15px 0px rgba(0, 0, 0, 0.10);
  border-radius: 16px;
  background: #fff;
  justify-self: stretch;
  display: flex;
  flex-direction: column;
  transition: 1s;
}
.post-type-container .post-type-item .post-type-cover, a .ip-block-unique-item .ip-block-cover, .ip-block-container a .ip-block-item .ip-block-cover, .destination-learn-container a .destination-learn-item .destination-learn-cover{
  height: 180px;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  transition: 1s;
}

.ip-block-unique-item .ip-block-content >img{
    width: 14px;
}

.ip-block-unique-item,.ip-block-item{
     .ip-block-content>p{
    font-weight:800;
    font-size: 24px;
    color:#161922
}
}
.post-type-container .post-type-item .post-type-cover img, .ip-block-unique-item .ip-block-cover img, .ip-block-container .ip-block-item .ip-block-cover img, .destination-learn-container .destination-learn-item .destination-learn-cover img{
  border-radius: 16px 16px 0px 0px;
  height: 100%;
  width: 100%;
  transition: 1s;
}
.post-type-container a .post-type-item .post-type-content{
  border-radius: 0px 0px 16px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  flex-grow: 1;
}
.post-type-container a .post-type-item .post-type-content img, a .ip-block-unique-item .ip-block-content img, .ip-block-container a .ip-block-item .ip-block-content img, .destination-learn-container a .destination-learn-item .destination-learn-content img{
  transition: .2s ease-in-out;
  transform: translate(0,0);
}
.post-type-container .post-type-item .post-type-content h4{
  margin: 0;
}
.post-type-container .post-type-item .post-type-content a{
  display: flex;
}
.post-type-container>.posts{
  display: grid;
  gap: 16px;
}
@media(min-width: 768px){
  .post-type-container>.posts{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(min-width: 960px){
  .post-type-container>.posts{
    grid-template-columns: repeat(3, 1fr);
  }
}

a:hover {
  text-decoration: none !important;
}
a:hover .post-type-item .post-type-cover img, a:hover .ip-block-unique-item .ip-block-cover img, a:hover .destination-learn-item .destination-learn-cover img {
  transition: .2s ease-in-out;
  transform: scale(1.05);
}
a:hover .post-type-item .post-type-content img, a:hover .ip-block-unique-item .ip-block-content img, .ip-block-container a:hover .ip-block-item .ip-block-content img, a:hover .destination-learn-item .destination-learn-content img {
  transition: .2s ease-in-out;
  transform: translate(10px,0);
  animation-name: hover_arrow;
  animation-duration: .3s;
  animation-iteration-count: 1;
  animation-timing-function: ease-in-out;
  /* filter: invert(42%) sepia(93%) saturate(1452%) hue-rotate(32deg) brightness(129%) contrast(119%); */
}
@keyframes hover_arrow {
  0% {transform: translate(-10px, 0);}
  100% {transform: translate(10px, 0);}
}

.destination-learn-container .destination-learn-item{
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  box-shadow: 1px 4px 15px 0px rgba(0, 0, 0, 0.10);
  margin-bottom: 10px;
}
.destination-learn-container .destination-learn-item a{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.destination-learn-container .destination-learn-item .destination-learn-cover{
  height: 180px;
}
.destination-learn-container .destination-learn-item .destination-learn-cover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px 16px 0px 0px;
}
.destination-learn-container .destination-learn-item .destination-learn-content{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
}
.destination-learn-container .destination-learn-item .destination-learn-content h4{
  margin: 0;
}
.destination-learn-container .destination-learn-item .destination-learn-content>img{
    width:14px;
}
@media(min-width: 768px){
  .destination-learn-container{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media(min-width: 960px){
  .destination-learn-container{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media(min-width: 1240px){
  .destination-learn-container{
    grid-template-columns: repeat(4, 1fr);
  }
}
.section-anchors .section_wrapper{
    background-color: #f8f8f8;
}
#Content:has(#responsiveAncre){
    max-width:100vw;
    overflow:hidden;
}

#responsiveAncre{
    padding:10 5px;
        padding-top:10px;
}
.section:has(#responsiveAncre){
    height:0px;
}
@media (max-width:767px){
    .section:has(#responsiveAncre){
        height:60px;
        width:100vw;
        max-width:100vw;
        padding-left:0px;
        padding-right:0px;
        background-color:#f8f8f8;


    }
    .section_wrapper #responsiveAncre{
        /* margin-left:-33px!important;
        margin-right:-33px!important; */
        background-color:#f8f8f8;
        padding-bottom:10px;
        margin-left:-33px;
        min-width:100vw;

    }
    .section_wrapper #responsiveAncre{
        /* margin-top:-28px */
    }
}

.wrap:has(#responsiveAncre) {
  z-index: 99;
  position: absolute;
  transition: .3s ease-in-out padding;
}
.pin-spacer:has(#responsiveAncre){
    /* margin-left: -33px!important; */

}
#responsiveAncre{
  margin: 0;
  display: flex;
  gap: 15px;
  flex-wrap: nowrap;
  overflow: scroll;
  margin-bottom: 20px;
  scrollbar-color: transparent transparent;
  @media (min-width:768px){
    flex-direction: column;
  }
}
#responsiveAncre a {
  font-weight: 600;
  white-space: nowrap;
  font-size: 15px;
  padding: 0.4em 1em;
  border-radius: 20px;
  background-color: #EDEDED;
  color: #000;
  line-height: 1.3em;

}
@media (min-width:768px){
    #responsiveAncre{
        padding-right:10px;
    }
    #responsiveAncre a{
        /* width: max-content; */
        white-space: initial;
    }

  }
#Content .column:has(#swiperBlocks){
    overflow:hidden;
    margin-left:-30px;
    margin-right:-30px;
    width:100vw;
}
#swiperBlocks{
  overflow: visible;
  width:100%;

}
#swiperBlocks .swiper-wrapper{
  padding-bottom: 30px;
}
#swiperBlocks .swiper-slide{
  height: auto;
}
#swiperBlocks .swiper-slide>div{
  padding-top: 15px;
  margin: 5px;
  height: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  border-radius: 16px;
}
#swiperBlocks .swiper-slide h4 {
  margin: 10px 0;
  font-weight: 700;
  position: relative;
  font-size: 22px;
}
#swiperBlocks .swiper-slide h4::after {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 8px;
  background-color: #fedc00;
}
.swiper{
  order: initial !important;
}
.thumbSliderContainer{
  display: flex;
  justify-content: space-between;
}
.thumbSliderContainer .swiper-button-prev-unique,
.thumbSliderContainer .swiper-button-next-unique{
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.thumbSliderContainer .swiper-button-prev-unique img,
.thumbSliderContainer .swiper-button-next-unique img{
  background: #FEDC00;
  width: 25px;
  padding: 5px;
  height: 25px;
  border-radius: 50px;
  cursor: pointer;
}
.thumbSliderContainer .swiper-button-prev-unique img{
  transform: rotate(180deg);
}
.swiper.swiperGallery .swiper-wrapper .swiper-slide img{
  width: 100%;
  height: 350px;
  object-fit: cover;
}
.swiper.swiperGalleryThumb .swiper-wrapper .swiper-slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-height: 130px;
}
.campuses-list-container .campuses-item, .ip-block-unique-item, .ip-block-container .ip-block-item{
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
  border-radius: 16px;
  box-shadow: 1px 4px 15px 0px rgba(0, 0, 0, 0.10);
}
.campuses-list-container .campuses-item a, .ip-block-unique-item a, .ip-block-container .ip-block-item a{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-decoration: none;
}
.campuses-list-container .campuses-item .campuses-cover {
  height: 180px;
}
.campuses-list-container .campuses-item .campuses-cover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px 16px 0px 0px;
}
.campuses-list-container .campuses-item .campuses-content, .ip-block-unique-item .ip-block-content, .ip-block-container .ip-block-item .ip-block-content{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px 10px 24px;
}
.campuses-list-container .campuses-item .campuses-lieux{
  padding: 0 24px;
  font-size: 16px;

}
.campuses-list-container .campuses-item .campuses-content h4, .ip-block-unique-item .ip-block-content h4, .ip-block-container .ip-block-item .ip-block-content h4{
  margin: 0;
}
@media(min-width: 768px){
  .campuses-list-container, .ip-block-container{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media(min-width: 960px){
  .campuses-list-container, .ip-block-container{
    grid-template-columns: repeat(3, 1fr);
  }
  .ip-block-container-half {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.ip-block-container a {
  text-decoration: none;
}
.heure-pays-container{
  border: 1px solid #F2F2F2;
}
.heure-pays-container .heures-pays-header{
  background: #FEDC00;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.heure-pays-container .heures-pays-header h4{
  color: #000;
  margin: 0;
}
.heure-pays-container .heures-pays-header h4{
  color: #000;
  margin: 0;
}
.heure-pays-shortcode{
  padding: 10px;
  text-align: center;
  font-size: 48px;
  font-weight: 300;
}
.tabs-row{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.infosessions-container{
  box-shadow: 1px 4px 15px 0px rgba(0, 0, 0, 0.10);
  border-radius: 16px;
  background: #fff;
}

.infosessions-container .infosessions-header{
  padding: 10px;
  background:#FEDC00;
  padding: 15px;
  border-radius: 16px 16px 0px 0px;
}
.infosessions-container .infosessions-header h4{
  margin: 0
}
.infosessions-container .infosessions-content-text,
.infosessions-container .infosessions-footer{
  padding: 15px;
}
.infosessions-container .infosessions-content-list{
  display: flex;
  flex-direction: column;
}
.infosessions-container .infosessions-content-list .infosessions-item{
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 10px 15px;
  transition: .3s ease-in-out;
  border-bottom: 1px solid #ebebeb;
}
.infosessions-container .infosessions-content-list .infosessions-item:hover{
  background: #F2F2F2;
}

.infosessions-container .infosessions-content-list .infosessions-item:first-child{
  border-top: 1px solid #ebebeb;
}
.infosessions-container .infosessions-content-list .infosessions-item a{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.infosessions-container .infosessions-content-list .infosessions-item p{
  margin: 0;
}

.infosessions-container .infosessions-footer .button{
  width: 100%;
  text-align: center;
  margin: 0;
}
.infosessions-container .infosessions-footer .button:not(:last-child){
  margin-bottom: 4px;
}

.infosessions-filters-container{
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.infosessions-filters-container .infosessions-filter{
  border-radius: 36px;
  background: #FFF;
  box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.10);
  padding: 8px 16px;
  transition: .3s ease-in-out;
  cursor: pointer;
}
.infosessions-filters-container .infosessions-filter.active{
  background:#FEDC00;
}
.infosessions-filters-container .infosessions-filter p{
  margin: 0;
  color: #5B5B5B;
}
.infosessions-list-group .infosessions-list-item{
  margin-top: 32px;
}
.infosessions-list-group .infosessions-list-item{
  background: #fff;
  border-radius: 16px;
  box-shadow: 1px 4px 15px 0px rgba(0, 0, 0, 0.10);
  display: grid;
}
.infosessions-list-group .infosessions-list-item .infosessions-list-cover{
  height: 190px;
  display: none;
}
.infosessions-list-group .infosessions-list-item .infosessions-list-cover img{
  width: 100%;
  height: 100%;
}
.infosessions-list-group .infosessions-list-item p,
.infosessions-list-group .infosessions-list-item .button{
  margin: 0;
}
.infosessions-list-group .infosessions-list-item .infosession-list-item-content{
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 40px 25px;
}
.infosessions-list-group .infosessions-list-item .infosessions-list-item-header{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.infosessions-list-group .infosessions-list-item .infosessions-list-item-header .infosessions-place{
  margin-top: 1.4rem;
  display: flex;
  gap: .4rem;
  align-items: flex-start;
}
.infosessions-list-group .infosessions-list-item .infosessions-list-item-header .infosessions-place span{
  text-decoration: underline;
}
.infosessions-list-group .infosessions-list-item .infosessions-list-item-header p{
  box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.10);
  padding: 8px 16px;
  display: inline-block;
  border-radius: 50px;
  margin-top: 15px;
  color: #5B5B5B;
}
.infosessions-list-group .infosessions-list-item .infosessions-list-content p{
  max-width: 200px;
}
.infosessions-list-group .infosessions-list-item .button{
  text-align: center;
}
@media(min-width: 768px){
  .infosessions-list-group .infosessions-list-item {
    grid-template-columns: 185px 1fr;
  }
  .infosessions-list-group .infosessions-list-item .infosessions-list-cover{
    display: initial;
  }
}
@media(min-width: 1240px){
  .infosessions-list-group .infosessions-list-item{
    flex-direction: row;
  }
  .infosessions-list-group .infosessions-list-item .infosessions-list-content{
    flex-direction: row;
    align-items: center;
  }
}

.infosessions-list-group .infosessions-list-button .button{
  width: 100%;
}

body.single article header.section-post-header{
  display: none;
}
.button.button_full_width .button_label{
  margin: 0 !important;
}
.sejour-select-container .button{
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 10px;
  align-items: center;
}
.sejour-select-container .sejour-select-header{
  margin-bottom: 1.5rem;
  margin-left:-30px;
  margin-right:-30px;
  background-color:#fedc00;
  border-radius :16px 16px 0 0;
  padding-left:30px;
  padding-right:30px;
  padding-top:1em;
  padding-bottom: 1em;
  font-weight:600;
  color:#000

}
.sejour-select-container .sejour-select-header p{
    color:#000!important
}
.sejour-select-container .button img{
  width: 10px;
}
.sejour-select-container .button p{
    color: #000!important;
}
.sejour-select-container p{
  margin: 0;
}
.sejour-select-container .sejour-select-content select{
  border-radius: 50px;
}

@media(max-width: 767px){
    #Content .sejour-select-container{display:none}
}
.info-page-container .info-page-container-crumbs{
  display: flex;
  align-items: center;
  gap: 10px;
}
.info-page-container .info-page-container-crumbs a,
.info-page-container h1{
  color: #fff;
}
.swiper-gallery{
  padding-bottom: 30px !important;
}
.swiper-gallery .swiper-wrapper .swiper-slide img{
  width: 100%;
  height: 350px;
  border-radius: 16px;
}
.swiper-gallery .swiper-pagination-bullets .swiper-pagination-bullet-active{
  background-color: #FEDC00 !important;
}
.local-hour-container{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 36px;
}
.local-hour-container h3{
  margin: 0;
}

/* Boutons "Lire la suite" */
.lire-la-suite_collapsible {
  color: grey !important;
  background-color: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.lire-la-suite_content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
.lire-la-suite_collapsible:after {
  content: '\02795'; /* Unicode character for "plus" sign (+) */
  font-size: 11px;
  color: white;
  float: right;
  margin-left: 5px;
}
.lire-la-suite-active:after {
  content: "\2796"; /* Unicode character for "minus" sign (-) */
}

/* Testimonials */
#mfm-ip-testimonials-wrapper {
  overflow: hidden;
  position: relative;
  height: 23rem;
}
#mfm-ip-testimonials-container {
  display: flex;
  width: 2000px;
  position: absolute;
}
@media(min-width: 768px){
  #mfm-ip-testimonials-container{

  }
}
@media(min-width: 1160px){
  #mfm-ip-testimonials-container{
   margin: auto;
  }
}
.mfm-ip-testimonials-block {
  padding-left: 16px;
  padding-right: 16px;
}
@media only screen and (max-width: 767px) { .mfm-ip-testimonials-block{ width: 320px } }
@media only screen and (min-width: 768px) and (max-width: 959px) { .mfm-ip-testimonials-block{ width: 354px } }
@media only screen and (min-width: 960px) and (max-width: 1239px) { .mfm-ip-testimonials-block{ width: 400px } }
@media only screen and (min-width: 1240px) { .mfm-ip-testimonials-block{ width: 408px } }
.mfm-ip-testimonials-item {
  background: rgba(0,0,0,.6);
  border-radius: 26px;
  padding: 2.2rem;
}
.mfm-ip-testimonials-content, .mfm-ip-testimonials-name {
  font-style: italic;
  color: #fff;

}
.mfm-ip-testimonials-content {
  font-weight: 300;
  font-size: 24px;
  line-height: 33px;
  margin-top: 1rem;
}
.mfm-ip-testimonials-name {
  font-weight: 500;
  text-align: right;
  font-size: 16px;
}

.mfm-ip-testimonials-stars img {
  margin-right: .4rem;
}

.ip-testimonial-bullet {
  width: 14px;
  height: 14px;
  transition: .2s ease-in-out;
  display: inline-block;
  transform: scale(1.2);
  border-radius: var(--swiper-pagination-bullet-border-radius,50%);
  background: #F2EFF4;
  opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap,10px);
}
.ip-testimonial-bullet-active {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap,10px);
  background: #FEDC00;
  transform: scale(1.2);
  opacity: 1 !important;
  width: 14px;
  height: 14px;
  transition: .2s ease-in-out;
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius,50%);
}


/* REVIEW SOCIAL FEED */

#sb-reviews-container-2 .sb-item-provider-icon {
  display: none;
}
#sb-reviews-container-2 .sb-item-text {
  font-style: italic;
}
@media(max-width:659px){
    #tarteaucitronIcon{
        display:none!important
    }
}

/* DEVIS */

.select-rounded {
  border-radius: 5rem;
  padding-left: 1.5rem;
  padding-right: 3rem;
  width: -moz-available;
}
.fw-600 {
  font-weight: 600;
}

/* UTILITIES */

.objectfit-cover { object-fit: cover !important;object-position:center }
.objectfit-none { object-fit: none !important; }
.cursor-pointer { cursor: pointer; }
.overlay {
  width: 15rem;
}
.overlayvideo>div>div>div>a::after {
  background-image: url('/wp-content/uploads/2023/11/overlayvideo_arrow.png');
  position: absolute;
  width: 61px;
  height: 44px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  margin-bottom: auto;
  content: " ";
  background-color: transparent;
}

@media screen and (min-width: 1240px) {
  .mfp-iframe-holder .mfp-content {
    max-width: 75vw !important;
  }
}

.align-center-mobile-left-computer {
  text-align: center;
}
@media only screen and (min-width: 768px) { .align-center-mobile-left-computer{ text-align: left; } }




 /* Used to make our maps with rounded borders */
.mcb-column.map_border_radius .mcb-column-inner {
   overflow: hidden;
}


/* PRE-FOOTER */
/* Bandeau "Séance d'info / RDV Personnalisé / S'inscrire */
/* REMARQUE : Ce bandeau peut avoir 2 couleurs différentes. Toutes les options relatives aux couleurs (statiques, hover...) sont à indiquer dans le fichier fonctions.php */
#pre-footer-container {
  display: flex;
  justify-content: center;
  gap: 20px;
  align-items: center;
}
@media(max-width:767px){
    #pre-footer-container{
        padding:10px 0;
    }
}
#pre-footer-container .pre-footer-element {
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: center;
  font-size: small;
}
#pre-footer-container .pre-footer-element img {
  display: none;
  vertical-align: sub;
  transition: .2s;
}
#pre-footer-container .pre-footer-element:hover, #pre-footer-container .pre-footer-element:hover img {
  transition: .2s;
}
#pre-footer-container .fixed-navigation-bar-vertical-separation {display:none }
#pre-footer-container a{
    display:inline-block;
    padding:0.2em 0.4em;
    border:solid 1px #000;
    border-radius:40px;

}

@media(min-width:350px){
    #pre-footer-container a{
    padding:0.2em 0.8em;

    }
}

@media only screen and (min-width: 960px) {
  /* #pre-footer-container { gap: 80px; } */
  #pre-footer-container a{
    padding:0.2em 1em;
    background-color:#fedc00;


}
#pre-footer-container a:hover{
    background-color:#f0d315;
}
}
@media only screen and (min-width: 768px) {
  #pre-footer-container .pre-footer-element { font-size: initial;}
}

/* CAROUSEL PARTENAIRES */

#carouselPartners div div ul .slick-list .slick-track div div li p {
  display: none;
}
#carouselPartners div div ul .slick-list .slick-track div div li img {
  opacity: 1 !important;
}
#carouselPartners div div ul .slick-list .slick-track div div li:hover img {
  opacity: 1;
  top: 0 !important;
}
#carouselPartners div div ul .slick-list .slick-track {
  display: flex;
  align-items: center;
}
#carouselPartners div div ul .slick-list .slick-track[style] {
  transition-duration: 3s !important;
}

.tableauDescriptionTarif p {
  margin-bottom: 0px;
}
.togglePays{
  padding : 40px 27px 40px 27px;
}

.togglePays:first-of-type{
  padding-top: 32px;
}
.togglePays.toggleCity {
  padding-top: 15px ;
}

.togglePays.grey{
  background-color: rgba(216,216,216,0.19);
}

.togglePays p {
  margin: 0;
}
.togglePays :nth-of-type(odd) {
  margin-top: 15px;
}
.togglePays h4 {
  font-weight: 400;
  margin-top: 0px !important;
  font-size: 24px;
}






/* BOOKLY FORM - INFOSESSION */
.bookly-columnizer-wrap{
    height:initial!important
}
.wrap .bookly-form .picker__frame{
    background-color: #fff!important;
}

.bookly-form .picker__day:hover{
    background-color: #0123ff !important;
    border-radius: 2em !important;
    filter: invert(1);
    font-weight: 400 !important;
}

.bookly-form .picker__frame *{
	color: #000 !important;
	font-size: 16px !important;
}
.picker--opened .picker__holder{
	border: none;
}
.picker__header .picker__month, .picker__header .picker__year{
	font-weight: 400 !important;
	line-height: 165% !important;
	font-style: normal !important;
}
.bookly-columnizer .bookly-day, .bookly-columnizer .bookly-hour{
	border: 1px solid #F3F3F3 !important;
	margin: 0 8px 16px 8px !important;
	padding: 0 !important;
	border-radius: 32px !important;
	display: block !important;
}
.bookly-columnizer .bookly-day, .bookly-columnizer .bookly-hour {
	width: 75px !important;
}
.bookly-columnizer .bookly-column{
	min-width: 0 !important;
	padding: 0 !important;
}
.bookly-form .bookly-columnizer .bookly-hour:hover{
	background-color: #FEDC00 !important;
	border: 1px solid #FEDC00 !important;
}
.bookly-hour-icon{
	display: none !important;
}
/*Jour calendrier*/
table th, table tr:first-child td{
	box-shadow:none !important;
}
.bookly-js-first-column .bookly-js-first-child{
	display:none !important;
}
.picker__table thead tr{
	margin: 16px 0 !important;
}
.bookly-form .picker__weekday{
	font-weight: 400 !important;
	line-height: 165% !important;
	padding-bottom: 16px !important;
}
.bookly-form .picker__day--outfocus, .bookly-form .picker__day--disabled{
	font-weight: 400 !important;
	color: #DDD !important;
	padding: 8px !important;
}
#Content .bookly-form .picker--opened .picker__day--selected{
	font-weight: 400 !important;
	font-style: normal !important;
	color: #000 !important;
	background-color: #FEDC00 !important;
	border-radius: 150px !important;
}
/*Affichage date au dessus*/
#Content .bookly-js-selected-date{
	display:block !important;
	margin: 0 0 20px 0 !important;
	border:none !important;
	background-color:transparent !important;
	color:#000 !important;
	font-size:24px !important;
	font-weight:600 !important;
}
/*Border du bloc calendrier*/
.bookly-form .picker__holder{
	border-radius:16px !important;
	width:420px !important;
	max-height: 440px !important;
}
/*Largeur bloc calendrier*/
@media(max-width:767px){
	.bookly-form .picker__holder {
	  width:300px !important;
	  max-height: 100% !important;
  }
}
/*largeur bloc heure*/
.bookly-time-step{
	display: inline-block !important;
	width: auto !important;
}
/*Suivant / Précédent*/
#Content .bookly-nav-steps{
	padding-top: 40px !important;
}
#Content .bookly-form .bookly-btn{
	background-color: #FFFFFF !important;
	border-radius: 32px !important;
  padding: 16px 40px !important;
}
#Content .bookly-next-step span::after{
	font-family: "Font Awesome 5 Free";
	content: '\f054';
  margin-left: 10px;
}
#Content .bookly-back-step span::before{
	font-family: "Font Awesome 5 Free";
	content: '\f053';
  margin-right: 10px;
}
#Content .bookly-form .bookly-js-next-step{
	background-color: #FEDC00 !important;
}
/*HOVER*/
#Content .bookly-form .bookly-btn:hover{
	background-color: #FEDC00 !important;
}
/**/
.bookly-btn, .bookly-btn > span {
	color: #000 !important;
	text-transform: lowercase !important;
	font-size: 16px !important;
  font-weight: 600 !important;
}
/**/
input[type="text"], textarea{
	box-shadow:none !important;
}
.bookly-form input[type="text"], .bookly-form textarea{
	border: none !important;
	background-color: #F8F8F8;
}
#Content .bookly-form-group label{
	color: #000 !important;
	font-size: 16px;
  font-weight: 600;
}
/*Page centrer*/
@media(max-width:767px){
	#Content .bookly-form{
		display: flex;
    flex-direction: column;
	}
}
.block-editor-block-list__block > div{
	display:flex;
}
.bookly-columnizer .bookly-time-screen{
	margin-left:60px !important;
}
@media(min-width:768px){
	.bookly-columnizer .bookly-time-screen{
    margin-top: 62px !important;
    margin-left:20px !important;
  }
}
/*Deuxième formu*/
.entry-content .bookly-form:has(.bookly-details-step){
	background-color: #fff !important;
	padding: 24px 32px;
	box-shadow: 0 6px 18px 1px rgba(0,0,0,.12);
	border-radius: 16px !important;
}
@media(min-width:768px){
	.entry-content .bookly-form:has(.bookly-details-step){
	  padding: 88px 106px;
	}
}
.bookly-details-step{
	margin-top:32px !important;
}
/*Taille padding bloc calendrier*/
@media(min-width:768px){
	.picker__box{
	  padding: 24px 32px;
  }
}

.bookly-modal .bookly-modal-dialog{
	top: 35% !important;
}
.bookly-modal-footer button.bookly-btn-submit{
	background-color: #FEDC00 !important;
	color: #000 !important;
	border-radius: 40px !important;
}
.bookly-modal-dialog .bookly-close{
	position: relative;
    top: -25px;
    color: #000;
    background-color: transparent;
	padding: 0 !important;
}


@media print {
    #mfn-header-template,
    #mfn-footer-template,
    .ip-breacrumb,
    .ip-breacrumb-burger,
    #tarteaucitronAlertBig,
    #tarteaucitronRoot{
        display:none!important
    }

  }


  .ip-breacrumb {
    position:absolute;
    left:0;
    right:0;
    top:165px;
    z-index:2;
    display:none;
    justify-content: center;

  }
  @media (min-width:768px){
    .ip-breacrumb {

        top:initial;

      }
  }

  .ip-breacrumb> ul {
    display:inline-flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content: center;
    background-color:#ffffffa8;
    color:#000;
    margin-top:10px;
    padding:8px;
    border-radius:4px
  }

  .ip-breacrumb> ul li,
  .ip-breacrumb> ul li a{
    color:#000;
  }

  .ip-breacrumb-burger{
    position:absolute;
    left:20px;
    top:120px;
    z-index:2;

  }

  @media(min-width:768px){
    .ip-breacrumb-burger{
        top:160px;
    }
  }

  @media(min-width:960px){
    .ip-breacrumb-burger{
        display:none
    }
    .ip-breacrumb{
        display:flex;
    }
  }
  .ip-breacrumb-burger button{
    font-size:0px;
    text-indent:-999px;
    width: 40px;
    height: 40px;
    padding:0px;
    background-image:url('dist/img/breadcrumb-icon.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size:40%;
  }
  .ip-breacrumb-burger button+ul{
    margin-top: 10px;
    padding:10px;
    border-radius:4px;
    background-color:#fff;
    position:absolute;
    top:100%;
    max-width:clamp(250px,80vw,400px);
    min-width:min-content;
    opacity:0;
    left:-100%;
    transition:all ease-in-out .3s

  }
  .ip-breacrumb-burger button+ul>li{
    white-space:nowrap
  }

  .ip-breacrumb-burger.active button+ul{
    opacity:1;
    left:0%;
  }

  .tippy-box a{text-decoration:underline}

  #infosessions{
    display:grid;
    gap:20px;
    max-width:960px;
    margin:40px auto;
  }

  #infosessions>div{
    border-radius:25px;
    box-shadow: 1px 4px 15px 0px rgba(0,0,0,0.1);
    overflow:hidden;

  }

  #infosessions>div .image_wrapper img{
    /* aspect-ratio:1; */
    width:100%;
    object-fit:cover;
    object-position:center;
    display:block;
  }
  @media(max-width:1023px){
    #infosessions{
        display:flex;
        flex-wrap: wrap;
        justify-content: center;

    }
    #infosessions>div{
        max-width:350px;
    }
  }
  #infosessions>div .info-content{
    padding:20px;
  }
  #infosessions>div .info-content h3,
  #infosessions>div .info-content .title-infos
  {
    font-weight:600;
  }

  #infosessions>div .info-content .address{
    position:relative;
    padding-left:25px;
  }

  #infosessions>div .info-content .address>svg{
    position:absolute;
    top:0;
    left:0;
  }

  #infosessions>div .info-link{
    display:grid;
    align-items:center;
    padding:20px;
  }

  #infosessions>div .info-link a{
    display:inline-block;
    padding:0.5em 1em;
    background-color:#fedc00;
    color:#000;
    text-align:center;
    border-radius:50px;
    font-size:16px;
    font-weight:600

  }



  @media(min-width:1024px){
    #infosessions>div{
        display:grid;
        grid-template-columns:1fr 2fr 1fr;
        gap:20px;
        min-height:200px;
      }
      #infosessions>div:not(:has(img)){
        grid-template-columns:0fr 3fr 1fr;

      }
      #infosessions>div .image_wrapper img{
        /* aspect-ratio:initial; */
        height:100%;
      }
  }

  #infosessionscols{
    display:grid;
    gap:10px;
    max-width:960px;
    margin:auto;
  }
  #infosessionscols>div{
    flex-shrink: 0;
    flex-grow:0;
    border-radius:25px;
    overflow: hidden;
    box-shadow: 1px 4px 15px 0px rgba(0,0,0,0.1);
    /* max-width:320px; */
    width:100%;
    display:grid;
    grid-template-columns:100px 1fr;

  }
  @media(min-width:540px){
    #infosessionscols>div{
        grid-template-columns:100px 1fr 150px;

    }
  }
  @media(max-width:539px){
    #infosessionscols>div{
        grid-template-columns:100px 1fr ;
        grid-template-rows:1fr max-content;
    }
    #infosessionscols>div .image_wrapper{
        grid-row: 1 / -1;
    }
    #infosessionscols>div .info-link{
        margin-bottom:8px
    }

  }
  #infosessionscols>div img{
    display:block;
    width:100%;
    height:100%;
    min-height:90px;
    object-fit: cover;
    object-position:center top;
  }
  #infosessionscols>div>div:not(:first-child){
    padding:0 10px;
  }
  #infosessionscols>div h3,
  #infosessionscols>div p.city
  {
    font-size:18px;
    line-height:1.2em;
    margin-bottom: 0;
    margin-top: 8px;
    font-weight: 600;
  }
  #infosessionscols>div .info-link{
    display:flex;
    justify-content: flex-end;
    align-self:center
  }
  #infosessionscols>div .info-link a{
    display:inline-block;
    background-color:#fedc00;
    border-radius:40px;
    color:#000;
    font-size:16px;
    line-height:1em;
    padding:0.8em 1.5em;
    font-weight: 600;
  }
  @media(max-width:767px){
    #infosessionscols>div .place{display:none}
  }

  @media(min-width:768px){
    #infosessionscols>div .info-content{
        display:flex;
        flex-wrap:wrap;
    }
    #infosessionscols>div .info-content {
        display:grid;
        gap:40px;
        align-items:center;
        grid-template-columns:180px 1fr;
    }
    #infosessionscols>div .info-content :is(h3,p){
        margin: 0;
    }
    #infosessionscols>div .place{
        display:flex;
        gap:4px;
    }
  }

  #infosessionstable{
    border-radius: 8px;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
    max-width:640px;
    margin:auto;
    margin-bottom: 25px;
    overflow:hidden;
  }
  #infosessionstable>div{
    display:grid;
    grid-template-columns:1fr 140px;
    gap:4px;
    row-gap: 4px;
    padding:8px;
    align-items:center
  }
  #infosessionstable>div{
    grid-template-columns:1fr 55px 140px;

    }
  @media(min-width:768px){
    #infosessionstable>div{
        grid-template-columns:1fr 125px 140px;

        }
  }
  #infosessionstable .info-link{
    text-align:right
  }
  #infosessionstable>div:nth-child(odd){
    background-color:#fff
  }
  #infosessionstable>div:nth-child(even){
    background-color:#f8f8f8
  }
  #infosessionstable>div h3,
  #infosessionstable>div .info-title p
  {
    margin-bottom: 0;
    font-size:18px;
    line-height: 1.2em;
    font-weight:600;
  }
  #infosessionstable strong{
    font-weight: 600;
  }
  #infosessionstable>div a{
    display:inline-block;
    background-color:#fedc00;
    border-radius:40px;
    color:#000;
    font-size:16px;
    line-height:1em;
    padding:0.8em 1.5em;
    font-weight: 600;
  }

  .iptitle>div{
    display:flex;
    justify-content: center;
  }

  .iptitle>div:first-child p{
    font-size:24px;
    font-weight: 800;
    color:var(--iptitlecolor);
    background-color:#fff;
    text-transform: uppercase;
  }
  .iptitle>div>p{
    display:inline-block;
    border:solid 2px var(--iptitlecolor);
    padding:0.5em 2em;
    border-radius: 8px 0 8px 0;
    transform:skew(345deg,0deg);
  }
  .iptitle>div>p>span{
    transform:skew(15deg,0deg);
    display:inline-block;
  }

  .iptitle p{
    margin-bottom: 0;
  }
  .iptitle>div:nth-child(2){
    position:relative;
    top:-8px;
    z-index:-1
  }
  .iptitle>div:nth-child(2)>p{
    background-color:var(--iptitlecolor);
    color:#fff;
    padding:0.5em 1em;
    min-width:250px;
    text-align:center;
    font-size:20px;
    transform:skew(345deg,0deg) translateX(-0.6em);
    font-style:italic

  }


  #sc_testimonials{
    margin: 30px auto;
    display: grid;
    grid-template-columns: 1fr;
  }
  #sc_testimonials .content{
    padding: 50px;
    background-color: #fff;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
    border-radius: 0 0 30px 30px;
  }
  #sc_testimonials .tags{display:flex;gap:5px;flex-wrap:wrap}
  #sc_testimonials .tags>span {
    display:inline-block;
    padding: 5px 15px;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
    border-radius: 100px;
    text-wrap: nowrap;
  }
  #sc_testimonials h3 {
    font-weight: 600;
    margin-bottom: 20px;
  }

  #sc_testimonials p {
    margin-top: 30px;
  }

  #sc_testimonials img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 30px 30px 0 0;
  }

  #sc_testimonials video{
    width: 100%;
    height: 100%;
    border-radius: 30px 30px 0 0;
    background-color:#fff;
  }

  #sc_filters {
    display: flex;
    flex-direction: column;
  }

  #sc_filters select {
    width: 100%;
    border-radius: 50px;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
  }

  @media (min-width: 1240px){
    #sc_testimonials{
    max-width: calc(100% - 400px);
    max-width: 740px;
    }
  }
  @media (min-width: 768px){
  #sc_filters {
    flex-direction: row;
    gap: 30px;
  }
  #sc_testimonials .testi-content{
    max-height:300px;
    overflow:auto;
    padding-right:4px

  }
  #sc_testimonials .testi-content::-webkit-scrollbar{
    width:5px;
  }
   #sc_testimonials .testi-content::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgb(192, 192, 192);
  }

   #sc_testimonials .testi-content::-webkit-scrollbar-thumb {
    background-color: rgb(204, 204, 204);
  }
    #sc_testimonials{
      grid-template-columns: 1fr 2fr;
    }

    #sc_testimonials img {
      width: auto;
      height: 100%;
      border-radius: 30px 0 0 30px;
    }

  #sc_testimonials video{
    width: 100%;
    height: 100%;
    border-radius: 30px 0 0 30px;
  }

    #sc_testimonials .content{
      border-radius: 0 30px 30px 0;
    }

    #sc_filters select {
      width: auto;
    }
  }


  .team_member_presentation.clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 3;
}

.see-more-btn {
    background-color: #007BFF;
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    margin-top: 10px;
    display: block;
}

.team_member_presentation.expanded {
    display: block;
    -webkit-line-clamp: unset;
}

button.see-more-btn, button.see-more-btn:focus, button.see-more-btn:active, button.see-more-btn:hover {
  background-color: #fedc00;
  color: black;
  margin-top: 20px;

}
.button-custom button {
  padding: 15px 40px 15px 40px;
}
@media (max-width:768px) {
  button.see-more-btn {
    margin: auto;
    margin-top: 20px;
  }
}

#programDefault{
  display: none!important;
}

#programMenu{
  display: block;
}


.section:has(.swiper-countries){
    overflow:hidden;
}
.swiper-countries{position: relative;}
.swiper-countries .swiper-button-prev,
.swiper-countries .swiper-button-next{
    width:60px;
    height:60px;
    top:calc(50% - 30px);
    /* padding:5px;
    border-radius:60px;
    background-color:#fcfcfc */
    /* background-color:#fff; */
}
.swiper-countries .swiper{
    padding-bottom: 10px;
}

@media(max-width:1023px){
    .swiper-countries .swiper{
        overflow:visible;
    }
    .swiper-countries{
        margin-left: -30px;
        margin-right: -30px;
    }
    .swiper-countries .swiper-button-prev,
.swiper-countries .swiper-button-next{
    display: none;
}
}

@media(min-width:1024px){
    .swiper-countries .swiper{

    }
}
.swiper-countries .swiper-button-prev{
    left:-60px;
}
.swiper-countries .swiper-button-next{
    transform: rotate(180deg);
    right:-60px
}

.swiper-countries .swiper-button-prev::after,
.swiper-countries .swiper-button-next::after{
    content:'';
    display:block;
    width:40px;
    height:40px;
    background-size:contain;
    background-image:url(dist/img/arrow-right.png);
    background-repeat: no-repeat;
    background-position:center;
    visibility: visible;
}
.swiper-countries .swiper-slide{
    height:auto;
}
.swiper-countries .swiper-slide .swiper-pad{
    padding:5px;
    height:100%;
}
.swiper-countries .swiper-slide .swiper-pad>a{
    display:block;
    border-radius:16px;
    box-shadow:0 0 5px #cecece;
    height:100%;
}
.swiper-countries .swiper-slide .post-type-cover{
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}

.swiper-countries .swiper-slide .swiper-pad img {
    transition: .2s ease-in-out;
    transform: scale(1);
  display:block;
}

.swiper-countries .swiper-slide .swiper-pad>a .post-type-content{
    padding:16px;
    position:relative
}
.swiper-countries .swiper-slide .swiper-pad>a .post-type-content>img{
    position:absolute;
    top:30px;
    right:14px;
    width: 14px;
}
.swiper-countries .swiper-slide .swiper-pad>a .post-type-content>h4{
padding-right: 34px;
word-break: break-word;
}

.swiper-countries .swiper-slide .swiper-pad>a .post-type-cover img{
    aspect-ratio:3/2;
    object-fit:cover
}

#ip-sidebar-menu>ul{
    position: relative;
}
#ip-sidebar-menu>ul ul{
    display:none;
/* position:absolute;
top:0;
bottom:0;
left:0;
width: 100%; */
background-color:#fff;
}
#ip-sidebar-menu>ul ul.active{
    display:block;
}



.mfn-sidemenu-3550-active #Wrapper{
    pointer-events:initial!important
}
.mfn-sidemenu-tmpl{
    top:65px;
    height:initial;
}

#ip-sidebar-menu{
    margin-top: 40px;
}
#ip-sidebar-menu>ul>li{
    padding-right:8px;
}
#ip-sidebar-menu>ul>li>a{
    color:#000;

}
#ip-sidebar-menu>ul>li>a:has(img){
    display:flex;
    gap:10px;
    align-items:center;
}
#ip-sidebar-menu>ul>li>a img{
    width: 25px;
    flex-shrink: 0;
}
#ip-sidebar-menu>ul>li{
    margin-bottom: 15px;
    font-weight: 600;
    font-size:18px;
    line-height: 1em;
}
#ip-sidebar-menu>ul>li li a{
    color:#000;
    padding:10px;
    display:inline-block;
}

.mfn-sidemenu-bodyscroll-disabled{overflow:initial;}
#ip-sidebar-menu>ul li.back{
    margin-bottom: 10px;
    border-bottom:solid 1px rgb(232 231 226);
    padding-bottom:20px;
}
#ip-sidebar-menu .navfooter{
    border-top:solid 1px rgb(232 231 226);
    padding-top:10px;
}
@media(min-width:960px){
    .mfn-sidemenu-tmpl{top:89px}
    #ip-sidebar-menu .navfooter{display:none}

    #ip-sidebar-menu>ul ul{
        position:absolute;
        top:0;
        bottom:initial;
        left:100%;
        width: 100%;
        border:solid 1px #e9e9e9;
        padding:10px;
        border-radius:8px;
        }
        #ip-sidebar-menu>ul li.back{display:none}
        #ip-sidebar-menu{
            min-height:300px;
        }
        #ip-sidebar-menu>ul{
            display:grid;
            padding-right: 10px;
        }
        #ip-sidebar-menu>ul>li{
            display:inline-block;
            padding:8px 12px;
            border-radius:8px;
        }
        #ip-sidebar-menu>ul>li.active{
            background-color:#f8f8f8
        }


}

.ip-menu-decription{
    display:none;

}
.ip-menu-decription.parent.active{
    padding:20px;
    display:grid;
    place-items:center;
    background-color:#1d2126;
    color:#fff;
}
.ip-menu-decription.child.active{
    padding:20px;
    display:grid;
    place-items:center;
    background-color:#2f3338;
    color:#fff;
}
.ip-menu-decription h3{
    color:#fff;
    font-size: 22px;
    line-height: 1.2em;
}
.mfn-sidemenu-tmpl .programme-image-menu img{
    aspect-ratio:3/2;
    object-fit:cover;
    object-position: center;
}
.mfn-sidemenu-tmpl .programme-image-menu+.column_heading h3 a{
    padding-right:24px;
    background-image:url(dist/img/arrow-right2.png);
    background-size:14px;
    background-position:center right;
    background-repeat:no-repeat;

}
#menu-menu-programme  .mfn-menu-li.current-menu-item > .mfn-menu-link{color:#000}
.ip-menu-decription>div{
    width:100%;
}
@media(max-width:959px){
    #ip-sidebar-menu>ul:has(ul.active)> li>a
{
    display:none;
}
    .ip-menu-decription{
        display:none!important
    }

    #ip-sidebar-menu{
        height:calc(100vh - 104px);
        height:calc(100dvh - 104px);
    }
}

.wrap-desc:has(.ip-menu-decription.active),
.wrap-desc:has(.ip-menu-decription.active)>div,
.wrap-desc:has(.ip-menu-decription.active)>div>div,
.wrap-desc:has(.ip-menu-decription.active)>div>div>div,
.wrap-desc:has(.ip-menu-decription.active)>div>div>div>div,
.wrap-desc:has(.ip-menu-decription.active)>div>div>div>div>div
{
    height:100%
}

/* ========================================
   SINGLE PROMOTION - IP
   ======================================== */

/* Container principal */
.ip-promo-container {
    display: flex;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0 0 20px;
}

/* Colonne principale (gauche) */
.ip-promo-main {
    flex: 1;
    min-width: 0; /* Évite les débordements */
}

/* Titre principal */
.ip-promo-title-main {
    font-size: 48px;
    font-weight: bold;
    color: #000;
    margin-bottom: 30px;
    line-height: 1.2;
}

/* Métadonnées (pays, programme) */
/* Métadonnées en 2 colonnes */
.ip-promo-meta {
    display: flex;
    gap: 40px;
    margin-bottom: 30px;
}

.ip-promo-meta-item {
    flex: 1;
    padding: 20px;
    background: #f8f8f8;
    border-radius: 10px;
    border: 1px solid #e0e0e0;
}

.ip-promo-meta-label {
    display: block;
    font-size: 14px;
    color: #666;
    margin-bottom: 8px;
}

.ip-promo-meta-value {
    display: block;
    font-size: 16px;
    color: #000;
    font-weight: 500;
}
.ip-promo-title-sub {
  padding-bottom: 10px;
  padding-top: 10px;
  font-size: 30px;
  line-height: 70px;
}
/* Responsive */
@media (max-width: 767px) {
    .ip-promo-meta {
        flex-direction: column;
        gap: 15px;
    }
}

/* Section Hurry Up */
/* Section Hurry Up avec icône */
.ip-promo-hurry {
    background: #fedc00;
    padding: 25px;
    border-radius: 15px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.ip-promo-hurry-content {
    flex: 1;
}

.ip-promo-hurry-icon {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
}

/* Responsive */
@media (max-width: 767px) {
    .ip-promo-hurry {
        flex-direction: column;
        align-items: flex-start;
    }

    .ip-promo-hurry-icon {
        width: 40px;
        height: 40px;
        align-self: center;
        margin-top: 15px;
    }
}

.ip-promo-hurry-title {
    font-size: 24px;
    font-weight: bold;
    color: #000;
    margin-bottom: 10px;
}

.ip-promo-hurry-text {
    font-size: 16px;
    color: #000;
    margin: 0;
}

/* Sections de contenu */
.ip-promo-section-title {
    font-size: 24px;
    font-weight: bold;
    color: #000;
    margin-bottom: 20px;
    margin-top: 40px;
}

.ip-promo-details {
    margin-bottom: 40px;
}

.ip-promo-content {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

.ip-promo-content p {
    margin-bottom: 15px;
}

.ip-promo-code-mention {
    margin-top: 25px;
    font-size: 16px;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 10px;
}

/* Section Conditions */
.ip-promo-conditions {
    margin-top: 40px;
    padding-top: 30px;
    padding-bottom: 80px;
    border-top: 2px solid #f0f0f0;
}

.ip-promo-conditions-content {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

.ip-promo-conditions-content ul,
.ip-promo-conditions-content ol {
    margin-left: 20px;
    margin-bottom: 15px;
}

.ip-promo-conditions-content li {
    margin-bottom: 8px;
}

/* ========================================
   SIDEBAR (colonne droite)
   ======================================== */

.ip-promo-sidebar {
    width: 350px;
    flex-shrink: 0;
}

.ip-promo-box {
    background: #f8f8f8;
    border-radius: 20px;
    padding: 30px;
    position: sticky;
    top: 100px; /* Ajuste selon la hauteur du header */
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.ip-promo-box-title {
    font-size: 18px;
    font-weight: bold;
    color: #000;
    margin-bottom: 5px;
}

.ip-promo-box-subtitle {
    font-size: 14px;
    color: #666;
    margin-bottom: 25px;
}

.ip-promo-code-display {
    background: white;
    padding: 20px;
    border-radius: 12px;
    margin-bottom: 20px;
    text-align: center;
    border: 2px dashed #e0e0e0;
}

#ip-promo-code-value {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 2px;
    color: #000;
    text-transform: uppercase;
}

.ip-promo-copy-btn {
    background: #fedc00;
    color: #000;
    border: none;
    padding: 18px 30px;
    border-radius: 12px;
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
}

.ip-promo-copy-btn:hover {
    background: #f5d000;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(254,220,0,0.4);
}
/* Cache le breadcrumb sur les pages promotions */
.single-ip_promotion .ip-breacrumb {
    display: none !important;
}
.ip-promo-icon-img {
    width: 40px;
    height: 40px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

.ip-promo-meta-label {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #666;
    margin-bottom: 8px;
}
/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 991px) {
    .ip-promo-container {
        flex-direction: column;
    }

    .ip-promo-sidebar {
        width: 100%;
        margin-top: 40px;
    }

    .ip-promo-box {
        position: relative;
        top: 0;
    }

}

@media (max-width: 767px) {
    .ip-promo-title-main {
        font-size: 32px;
    }

    .ip-promo-section-title {
        font-size: 24px;
    }

    #ip-promo-code-value {
        font-size: 24px;
    }

    .ip-promo-box {
        padding: 20px;
    }
     .ip-promo-meta {
        flex-direction: column;
        gap: 15px;
    }
    .ip-promo-container {
        padding: 15px;
    }

    .ip-promo-title-sub {
        font-size: 28px;
        line-height: 28px;
        padding-bottom: 15px;
        padding-top: 80px;
        padding-left: 60px;
    }

    .ip-promo-title-main {
        font-size: 28px;
    }
    .ip-promo-conditions {
      padding-top: 10px;
      padding-bottom: 0px;
    }

    /* Adaptation de la meta wrapper */
    .ip-promo-meta-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }

    .ip-promo-meta-bigicon {
        width: 60px;
        height: 60px;
        margin-bottom: 15px;
    }

    .ip-promo-meta {
        flex-direction: column;
        gap: 15px;
        width: 100%;
    }

    /* Ajustements des tailles de police */
    .ip-promo-section-title {
        font-size: 24px;
    }

    #ip-promo-code-value {
        font-size: 20px;
    }

    .ip-promo-box {
        padding: 20px;
    }
}


/* ========================================
   GRILLE D'ARCHIVE DES PROMOTIONS
   ======================================== */

.ip-promo-archive-title {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 25px;
    padding-top: 50px;
    color: #000;
}

/* Grille principale */
.ip-promo-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 40px 0 60px;
}

/* ========================================
   CARTE DE PROMOTION
   ======================================== */

.ip-promo-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ip-promo-card:hover {

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* ========================================
   IMAGE ET BADGE
   ======================================== */

.ip-promo-card-image {
    position: relative;
    padding-top: 60%; /* Ratio 5:3 pour l'image */
    overflow: hidden;
    background: #f5f5f5;
}

.ip-promo-card-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
/* Badge personnalisé */
.ip-promo-card-badge {
    position: absolute;
    top: 45px;
    left: 10px;
    background: #fedc00;
    color: #000;
    padding: 0px 12px 0px 12px;
    border-radius: 10px;
    font-weight: 500;
    font-size: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    z-index: 10; /* Pour être sûr qu'il soit au-dessus de l'image */
}
.ip-promo-card:hover .ip-promo-card-image img {
    transform: scale(1.1);
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

/* ========================================
   CONTENU DE LA CARTE
   ======================================== */

.ip-promo-card-content {
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* Titre */
.ip-promo-card-title {
    margin: 0 0 15px;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
}

.ip-promo-card-title a {
    color: #000;
    text-decoration: none;
    transition: color 0.3s ease;
}

.ip-promo-card-title a:hover {
    color: #fedc00;
}

/* Meta infos (Pays et Programme) */
.ip-promo-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.ip-promo-card-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #666;
}

.ip-promo-card-meta img {
    width: 18px;
    height: 18px;
    opacity: 0.6;
}

.ip-promo-card-destination,
.ip-promo-card-programme {
    background: #f8f8f8;
    padding: 5px 10px;
    border-radius: 20px;
}

/* Extrait */
.ip-promo-card-excerpt {
    margin: 0 0 20px;
    color: #555;
    line-height: 1.6;
    font-size: 15px;
    flex-grow: 1;
}

/* ========================================
   BOUTON
   ======================================== */

.ip-promo-card-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fedc00;
    color: #000;
    padding: 12px 24px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    transition: all 0.3s ease;
    margin-top: auto;
    align-self: flex-start;
}

.ip-promo-card-button:hover {
    background: #3e3e3e;
    color: #fedc00;
    transform: translateX(5px);
}

.ip-promo-card-button-arrow {
    font-size: 20px;
    transition: transform 0.3s ease;
}

.ip-promo-card-button:hover .ip-promo-card-button-arrow {
    transform: translateX(5px);
}

/* ========================================
   PAGINATION
   ======================================== */

.pagination {
    text-align: center;
    margin: 40px 0;
}

.page-numbers {
    display: inline-block;
    padding: 10px 15px;
    margin: 0 5px;
    background: #f5f5f5;
    color: #000;
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.page-numbers:hover,
.page-numbers.current {
    background: #fedc00;
    color: #000;
}

/* ========================================
   RESPONSIVE
   ======================================== */

/* Tablette */
@media (max-width: 991px) {
    .ip-promo-archive-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .ip-promo-archive-title {
        font-size: 36px;
        padding-top: 80px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .ip-promo-archive-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .ip-promo-archive-title {
        font-size: 28px;
        margin-bottom: 30px;
        padding-top: 80px;
    }


    .ip-promo-header-row {
        flex-direction: column;
        gap: 20px;
    }

    .ip-promo-filter-box {
        width: 100%;
        margin: 0;
        flex-direction: column;
        padding: 15px;
    }

    .ip-promo-select {
        width: 100%;
        max-width: none;
    }

    /* Reste de ton CSS existant */
    .ip-promo-card-content {
        padding: 20px;
    }

    .ip-promo-card-title {
        font-size: 20px;
    }
}

/* Très petit mobile */
@media (max-width: 480px) {
    .ip-promo-card-meta {
        flex-direction: column;
        gap: 8px;
    }

    .ip-promo-card-button {
        width: 100%;
        justify-content: center;
    }
}
/* Header avec titre + filtres */

.ip-promo-header-row {
    text-align: center;
    margin-bottom: 30px;
}

/* Ajustement du titre */
.ip-promo-header-row .ip-promo-archive-title {
    margin: 0;
    text-align: left;
    line-height: 1; /* Pour un meilleur alignement vertical */
}

/* Box de filtres */
.ip-promo-filter-box {
    background: #fedc00;
    border-radius: 12px;
    margin-top: 50px;
    margin-bottom: 0px;
    padding: 12px 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

/* Selects - PLUS DE RADIUS */
.ip-promo-select {
    width: 200px;
    padding: 8px 35px 8px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
    margin-bottom: 12px;
}

.ip-promo-select:hover,
.ip-promo-select:focus {
    border-color: #000;
}

/* Mobile */
@media (max-width: 767px) {
    .ip-promo-header-row {
        flex-direction: column;
        gap: 20px;
    }

    .ip-promo-header-row .ip-promo-archive-title {
        text-align: center;
    }

    .ip-promo-filter-box {
        width: 100%;
        justify-content: center;
        flex-direction: column; /* ← Les selects passent l'un sous l'autre */
        padding: 15px; /* Ajuste si besoin */
    }

    .ip-promo-select {
        width: 100%; /* ← Prennent toute la largeur disponible */
        max-width: 300px; /* ← Optionnel : limite la largeur max */
    }
}
.ip-promo-no-results-js {
    text-align: center;
    padding: 60px 20px;
    font-size: 18px;
    color: #666;
    margin: 40px auto;
    width: 100%;
    display: none; /* Caché par défaut */
}

.ip-promo-no-results-js p {
    margin: 0;
}
/* Badge de validité - à côté du badge personnalisé */
.ip-promo-card-badge-validite {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #fff;
    color: #000;
    padding: 0px 12px 0px 12px;
    border-radius: 10px;
    border: 1px solid #fedc00;
    font-weight: 500;
    font-size: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

/* Responsive : empiler les badges sur mobile */
@media (max-width: 768px) {
    .ip-promo-card-badge-validite {
        top: 10px;
        left: 10px;
    }
}
/* Section d'introduction */
.ip-promo-intro {
    max-width: 900px;
    margin: 30px auto 40px;
    padding: 0 20px;
    text-align: center;
}

.ip-promo-intro p {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 15px;
}

.ip-promo-intro-note {
    font-size: 14px;
    font-style: italic;
    color: #666;
    margin-top: 10px;
}

/* Responsive */
@media (max-width: 768px) {
    .ip-promo-intro {
        margin: 20px auto 30px;
    }

    .ip-promo-intro p {
        font-size: 14px;
    }
}
/* Container des boutons de filtres */
.ip-promo-filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 0;
    padding-top: 30px;
}

/* Style des boutons */
.ip-promo-filter-btn {
    background: #fff;
    color: #000;
    border: 2px solid #fedc00;
    padding: 12px 24px;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.ip-promo-filter-btn:hover {
    background: #fedc00;
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(254, 220, 0, 0.3);
}

.ip-promo-filter-btn.active {
    background: #fedc00;
    color: #000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Responsive */
@media (max-width: 768px) {
    .ip-promo-filter-buttons {
        gap: 8px;
    }

    .ip-promo-filter-btn {
        padding: 10px 18px;
        font-size: 14px;
    }
}
/* Section des promos sur les single posts */
.ip-related-promos-wrapper {
    max-width: 1200px;
    margin: 50px auto;
    padding: 40px 20px;
    background: #f9f9f9;
    border-radius: 8px;
}

.ip-related-promos-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 40px;
    color: #000;
}

/* Responsive */
@media (max-width: 768px) {
    .ip-related-promos-wrapper {
        margin: 30px auto;
        padding: 30px 15px;
    }

    .ip-related-promos-title {
        font-size: 24px;
        margin-bottom: 30px;
    }
}
.ip-promo-single-image {
    margin-bottom: 30px;
    border-radius: 12px;
    overflow: hidden;
}

.ip-promo-single-image img {
    width: 100%;
    height: auto;
    display: block;
}
/* ========================================
   MODAL PROMOTIONS
   ======================================== */

/* Reset du dialog */
.ip-promo-modal {
    border: none;
    border-radius: 16px;
    padding: 0;
    max-width: 900px;
    width: 90%;
    max-height: 85vh;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

/* Backdrop (fond sombre) */
.ip-promo-modal::backdrop {
    background: rgba(0, 0, 0, 0.6);
}

/* Header de la modal */
.ip-promo-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    border-bottom: 1px solid #eee;
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 10;
}

.ip-promo-modal-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #000;
}

/* Bouton fermer */
.ip-promo-modal-close {
    background: #f5f5f5;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ip-promo-modal-close:hover {
    background: #fedc00;
}

/* Corps de la modal */
.ip-promo-modal-body {
    padding: 25px;
    overflow-y: auto;
    max-height: calc(85vh - 80px);
    background: #fff;
}

/* Loader */
.ip-promo-modal-loader {
    text-align: center;
    padding: 60px 20px;
    font-size: 18px;
    color: #666;
}

/* Ajustements du contenu importé */
.ip-promo-modal .ip-promo-container {
    display: block;
    padding: 0;
}

.ip-promo-modal .ip-promo-main {
    width: 100%;
}

/* Cacher la sidebar dans la modal */
.ip-promo-modal .ip-promo-sidebar {
    display: none;
}

/* Ajustements responsive */
@media (max-width: 767px) {
    .ip-promo-modal {
        width: 95%;
        max-height: 90vh;
    }

    .ip-promo-modal-header {
        padding: 15px 20px;
    }

    .ip-promo-modal-title {
        font-size: 20px;
    }

    .ip-promo-modal-body {
        padding: 20px;
        max-height: calc(90vh - 70px);
    }
}
/* ==============================
SHORTS YT Autoplay  
=================================*/
/* Grille responsive */
.custom-yt-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    width: 100%;
    margin: 20px 0;
    align-items: start;
}

/* Le conteneur vidéo */
.yt-video-item {
    position: relative;
    width: 100%;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    padding-bottom: 177.77%;
}

/* L'iframe prend toute la place du conteneur vertical */
.yt-video-item iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

@media (max-width: 768px) {
    .custom-yt-wrapper {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 15px;
        padding-bottom: 10px;
        -webkit-overflow-scrolling: touch;
    }

    .custom-yt-wrapper .yt-video-item {
        flex: 0 0 85%;
        scroll-snap-align: center;
        padding-bottom: 151%;
    }
}