
@media (max-width: 880px) {
	/*
	.elementor-38 .elementor-element.elementor-element-851c2c8.e-con {
 
    margin-top: 140px;
}
	
	.elementor-38 .elementor-element.elementor-element-1fa1472.e-con {
    margin-top: 100px;
}
	
	.elementor-38 .elementor-element.elementor-element-22f914b.e-con {
    margin-top: 100px;
}
	
	.elementor-38 .elementor-element.elementor-element-0120800.e-con {
    margin-top: 100px;
}
	
	.elementor-38 .elementor-element.elementor-element-95df585.e-con {
     margin-top: 100px;
}*/
  /* Passe en flex-wrap pour éviter les positionnements absolus */
	
.elementor-38 .elementor-element.elementor-element-851c2c8.e-con {

    margin-top: 50px;
}
	
	.elementor-element-52f7363 .e-con-inner {
    display: flex;
    flex-direction: column !important;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    gap: 80px !important;
margin-bottom: 80px !important;
}
	.elementor-element-cfed211 .e-con-inner {
    display: flex;
    flex-direction: column !important;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    gap: 80px !important;

}
	
	
	
	.elementor-38 .elementor-element.elementor-element-52f7363 {

    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}
  .qodef-qi-image-gallery .qodef-grid-inner {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  .qodef-qi-image-gallery .qodef-grid-item {
    /* 3 colonnes à 33%, ou change en 100% si tu veux 1 colonne */
    flex: 0 0 31.3% !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
  }
}










/*HERO*/
.auto-width {
  width: auto;
}
img.lazyload {
  background-color: #acbfb9;
}


@media (max-width: 1024px) {
  .read-mobile .qodef-m-text {
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: opacity 0.5s ease, height 0.5s ease;
    pointer-events: none; /* pour bloquer interaction sauf si visible */
  }

  .read-mobile .qodef-m-text.visible {
    opacity: 1;
    height: auto;
    pointer-events: auto;
  }

.toggle-button::after {
    content: "Lire plus...";
    color: var(--general-color) !important;
    cursor: pointer;
    display: inline-block;
    font-size: 15px;
    padding: 8px 68px;
    border: 1px solid #032e1f38;
    border-radius: 50px;
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
}

 .toggle-button.active::after {
    content: "Réduire";
		    color: var(--general-color) !important;
	margin-top: 5px;
  }
	
.toggle-button {
    margin-bottom: 20px;
}
	
}
























.qodef-fullscreen-menu-opener svg.qodef--initial {
    overflow: visible;
}
 .qodef-qi-button.qodef-layout--filled{
border-radius: 70px !important;
}

@media (max-width: 345px) {
    .elementor-8 .elementor-element.elementor-element-0dabf17 .qodef-qi-button {
        font-size: 14px !important;
        letter-spacing: 0.9px !important;
  
    }
}

.qodef-qi-contact-form-7 button[type=submit], .qodef-qi-contact-form-7 input[type=submit] {
	border-radius: 70px !important;
}


.qodef-m-text p{
    font-size: 14px !important;
}

 .swiper-button-prev {

    border-radius: 25px;
   
}



 .swiper-button-next {

    border-radius: 25px;
   
}








.hero-button-home {
  display: flex;               

}

.hero-button-home .qodef-qi-button.qodef-layout--filled {

	border: 1px solid #022e2042 !important;
}
.hero-button-home .qodef-qi-button.qodef-layout--filled::after {
	background-color: #022e20 !important;
}
.hero-button-home .qodef-qi-button.qodef-layout--filled:hover {
	color: #fff !important;
	border: 1px solid #022e20 !important;
}

.hero-button-home .qodef-qi-button.qodef-layout--filled:hover  .qodef-m-icon svg {

      stroke: #fff !important;
    stroke: #fff !important;

}

 .qodef-m-icon {
    font-size: 15px;
    position: relative;
    z-index: 2;
	bottom: 1px;
    margin: 0px 0px 0px 5px;
}


.page-id-2410.qodef-header--standard #qodef-page-header {
    background-color: transparent
 !important;
}


.hero-button .qodef-qi-button.qodef-layout--filled {

    background-color: transparent !important;

}



.hero-button .qodef-qi-button.qodef-layout--filled:hover {

    background-color: transparent !important;
   
}

@media only screen and (max-width: 411px) and (min-width: 0) {
.hero-button .qodef-qi-button.qodef-layout--filled {

    padding: 0.6em 1.5em;
  
}
}
/*REF*/

.fslightbox-container .fslightbox-nav .fslightbox-slide-number-container {
  
    display: none;
}
/* Container flex pour icône + texte */
.insta-ref-widget {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
}

/* Icône Instagram */
.insta-ref-widget__icon {
  display: block;
  width: 38px;
  height: auto;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Lien autour de l’icône */
.insta-ref-widget__icon-link {
  display: inline-block;
  line-height: 0;
}
.insta-ref-widget__icon-link:hover .insta-ref-widget__icon {
  transform: scale(1.07);
  opacity: 0.7;
}

/* Lien texte */
.insta-ref-widget__text-link {
  color: var(--general-color);
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.insta-ref-widget__text-link:hover {
  opacity: 0.6;
}












































/*mobile header*/

#qodef-page-mobile-header {

    background-color:  var(--general-color);
}
.page-id-8 #qodef-page-mobile-header {
    position: relative;
margin-bottom: -20px;
    height: 70px;
  z-index: 9990;
    background-color: transparent;
}

.qodef-mobile-header-opener:focus {
    outline: 0;
}
.page-id-8 #qodef-page-mobile-header .qodef-header-logo-link, .page-id-8 #qodef-page-mobile-header .qodef-mobile-header-logo-link {
opacity: 0;
}

#qodef-page-mobile-header .qodef-header-logo-link, #qodef-page-mobile-header .qodef-mobile-header-logo-link {

    height: 35px;
  
}


#qodef-page-mobile-header-inner {
    padding: 0 28px;
	
}

.qodef-mobile-header-navigation>ul {
    margin: 0 auto;
    padding: 82px 50px;
}
.qodef-mobile-header-opener svg {
    display: block;
    width: 35px;
    height: auto;
    margin: 3px;
 
}

.qodef-fullscreen-menu-opener {
    position: relative;
    width: 35px;
}


.qodef-mobile-header-navigation {
    max-height: calc(100vh - 100px);
    background-color: var(--general-color);
   
    overflow-y: hidden;
    z-index: 99999;
}



.qodef-mobile-header-navigation>ul>li>a:hover {
    text-decoration: none;
}

.qodef-mobile-header-navigation>ul>li>a {
    font-size: 30px;
	margin-bottom: 25px;
   font-family: 'Montserrat';
	text-transform: uppercase;
	text-align: center;
    font-weight: 600;
    color: var(--white-color) !important;
}

.qodef-mobile-header-navigation>ul>li.current-menu-ancestor>a, .qodef-mobile-header-navigation>ul>li.current-menu-item>a {
    text-decoration: none;
}

.qodef-mobile-header-navigation ul li {
 
    justify-content: center !important;
    align-items: center;
   
  
}
.qodef-fullscreen-menu-opener svg.qodef--initial {
    fill: none;
    stroke: var(--white-color) !important;
}

.qodef-fullscreen-menu-opener svg.qodef--initial .cls-1{
    fill: var(--white-color) !important;
  
}

.qodef-mobile-header-navigation ul li {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin: 25px 0;
    padding: 0;
}
#qodef-fullscreen-area .qodef-fullscreen-menu-close svg {
    display: block;
    width: 100%;
    height: auto;
    fill: var(--white-color) !important;
}
.qodef-fullscreen-menu ul li a {
	text-decoration: none;
    font-size: 30px;
	margin-bottom: 55px;
   font-family: 'Montserrat';
	text-transform: uppercase;
	text-align: center;
    font-weight: 600;
    color: var(--white-color) !important;
}


.qodef-fullscreen-menu ul li.current-menu-ancestor>a, .qodef-fullscreen-menu ul li.current-menu-item>a {
     color: var(--white-color) !important;
}



#qodef-fullscreen-area {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: left;
    overflow-x: hidden!important;
    visibility: hidden;
    opacity: 0;
    z-index: 99;
	  background-clip: padding-box;
  -webkit-backdrop-filter: blur(5px);
  -moz-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}










/*HEADER*/



#qodef-page-header  .qodef-header-sticky .qodef-header-logo-link {
    height: 42px !important;
}
#qodef-page-header .qodef-header-logo-link:focus {
    outline: 0px solid !important;
}
.qodef-header-navigation .menu li a {
  padding: 0em 1.5em;
}
.qodef-header-navigation .qodef-menu-item-text {
  position: relative;
  display: inline-block;
}

.qodef-header-navigation .qodef-menu-item-text::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;

}

.qodef-header-navigation li a:hover .qodef-menu-item-text::after {
  transform: scaleX(1);
}



.qodef-header-sticky {
    height: 70px;

}

.page-id-8 #qodef-page-header .qodef-header-logo-link img, #qodef-page-header .qodef-header-logo-link span {
  display: none;
}

.page-id-8.qodef-header--standard #qodef-page-header-inner {
  
    border-bottom-width: 0px;
}


.page-id-8 #qodef-page-header
 .qodef-header-sticky  .qodef-header-logo-link img, #qodef-page-header .qodef-header-logo-link span {
  display: flex;
	 height: 40px !important;
}


.no-touch{
	pointer-events: none;
}



/*HOME*/
@keyframes upDown {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

.up-down-anim {
 
  display: inline-block;
  
  animation: upDown 2.5s ease-in-out infinite;
}








.first-box .qodef-qi-info-cards{
	   background:  var(--light-color) !important;
}

.second-box .qodef-qi-info-cards{
	   background:  var(--medium-color) !important;
}

.third-box .qodef-qi-info-cards{
	   background:  var(--dark-color) !important;
}

/* 1) Base commune */
.qodef-qi-info-cards {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    filter 0.3s ease;
}


.qodef-qi-info-cards::before {
  content: "";
  position: absolute;
  top: 0; left: -75%;
  width: 50%;
  height: 100%;
  background: #fbf9f114;
  transform: skewX(25deg);
  transition: left 0.6s ease;
  z-index: 2;
}

/* 3) Bordure colorée */
.qodef-qi-info-cards::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  transition: border-color 0.4s ease;
  z-index: 1;
}


.first-box .qodef-qi-info-cards:hover,
.second-box .qodef-qi-info-cards:hover,
.third-box .qodef-qi-info-cards:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.15);
  filter: brightness(1.05);
}


.first-box .qodef-qi-info-cards:hover::before,
.second-box .qodef-qi-info-cards:hover::before,
.third-box .qodef-qi-info-cards:hover::before {
  left: 125%;
}


.first-box .qodef-qi-info-cards::after {
  border-color: var(--light-color);
}
.second-box .qodef-qi-info-cards::after {
  border-color: var(--medium-color);
}
.third-box .qodef-qi-info-cards::after {
  border-color: var(--dark-color);
}


.wpcf7-form-control.wpcf7-submit {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  display: inline-block;
  padding: 0.6em 4.5em;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .09em;
  border: 1px solid  #022e2030;
  border-radius: 0;
  cursor: pointer;
  overflow: hidden;
  z-index: 1;

  background-color: var(--btn-bg);
  color: var(--btn-color);


  background-image: linear-gradient(
    to left,
    var(--btn-hover-bg) 0%,
    var(--btn-hover-bg) 100%
  );
  background-repeat: no-repeat;
  background-position: left center;  
  background-size: 0% 100%;       
  transition:
    background-size 0.6s ease-in-out,
    color 0.3s ease,
    transform 0.3s ease;
}

.wpcf7-form-control.wpcf7-submit:hover {
  background-size: 100% 100%;     
  color: var(--btn-hover-color) !important;
  transform: scale(1.02);
  border-color:  #022e2030;
	
}









.logo-circle-wrapper {
  position: relative;
  width: 200px;
  height: 200px;  
  margin: 0 auto; 
	pointer-events: none;
}


.circle-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: rotate-circle 10s linear infinite;
}


.logo-svg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40%;
  height: auto;
  transform: translate(-50%, -50%);
}

/* Keyframes de rotation */
@keyframes rotate-circle {
  from   { transform: rotate(0deg); }
  to     { transform: rotate(360deg); }
}



.no-touch{
	pointer-events: none;
}




.elementor-40 .elementor-element.elementor-element-705a835 .elementor-wrapper {
     width: 100.1%;
}

.elementor-8 .elementor-element.elementor-element-0a0be3f .elementor-wrapper {
    
    width: 100.1%;
}
/* 1) Fond animé en dégradé (inchangé) */
.color-back {
  position: relative;
  overflow: hidden;

  background-size: 150% 150%;
  animation: gradientBG 14s ease infinite;
}


/* Fond animé en dégradé */
.color-back {
	background: linear-gradient(-120deg,
		var(--gradient-start),
		#687973,
		#1b5542,
		var(--gradient-start),
		var(--gradient-start)
	);
}

/* Animation du dégradé */
@keyframes gradientBG {
  0%   { background-position:   0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position:   0% 50%; }
}

/* 2) Bulles « pep’s » */
.color-back::before,
.color-back::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

/* Bulle 1 (plus grosse, plus rapide) */
.color-back::before {
  width: 150px;
  height: 150px;
  background: rgba(15, 68, 48, 0.5); /* #ce732e */
  bottom: -25%;
  left: 5%;
  animation: bubble1 25s ease-in-out infinite;
}

/* Bulle 2 (plus grande aussi, +opaqu e) */
.color-back::after {
  width: 120px;
  height: 120px;
  background: rgba(15, 68, 48, 0.3);
  bottom: -15%;
  left: 75%;
  animation: bubble2 52s ease-in-out infinite;
}

/* 3) Keyframes revisités pour + de mouvement */
@keyframes bubble1 {
  0%   { transform: translate(0, 0) scale(1); opacity: 0.6; }
  50%  { transform: translate(50px, -300px) scale(2); opacity: 0.2; }
  100% { transform: translate(0, 0) scale(1); opacity: 0.6; }
}

@keyframes bubble2 {
  0%   { transform: translate(0, 0) scale(1); opacity: 0.5; }
  50%  { transform: translate(-50px, -250px) scale(1.8); opacity: 0.15; }
  100% { transform: translate(0, 0) scale(1); opacity: 0.5; }
}








/* Conteneur masqué */
.marquee {
  overflow: hidden;
  width: 100%;
}

/* Inner track */
.marquee__inner {
	
  display: inline-block;
  white-space: nowrap;
  /* Typography */
  font-family: 'Montserrat', sans-serif;
  font-size: 55px;
	font-weight: 800;
	opacity: 0.05;
	padding-top: 12px;
	letter-spacing: 9px;
  color: var(--btn-hover-color);
  /* Animation */
  animation: marqueeAnim var(--marquee-speed) linear infinite;
}

/* Keyframes : on translate X de 0 → -50% pour passer de la 1ère moitié à la seconde */
@keyframes marqueeAnim {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}























/*COLORS GREEN*/


#qodef-page-footer-top-area-inner {
    padding: 88px 0 108px;

}

#qodef-page-footer-top-area {
  
    border-top: 1px solid var(--second-color);
}

#qodef-page-footer-bottom-area {
    background-color: var(--thrid-color);
}
#qodef-page-footer-bottom-area {
    background-color: var(--thrid-color);
}
#qodef-page-footer-bottom-area *{
    color: var(--general-color);
}

#qodef-page-footer-top-area {
   background-color: var(--general-color);
}

#qodef-page-footer-top-area *{
  
	 color: var(--white-color) !important;
}


.qodef-header-sticky {
  background-color: rgba(15, 68, 48, 0.53);
  background-clip: padding-box;
  -webkit-backdrop-filter: blur(5px);
  -moz-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);


  transition:
   all 0.5s ease;
}

.qodef-header-sticky:hover {

  background-color: rgba(15, 68, 48, 0.85);
  -webkit-backdrop-filter: blur(15px);
  -moz-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
}

.qodef-header--standard #qodef-page-header {
    background-color: var(--general-color);
}


.page-id-8.qodef-header--standard #qodef-page-header {
    background-color: transparent;
}

.qodef-h1, h1, h1.wp-block {
    color: var(--general-color);
}
.qodef-h2, h2, h2.wp-block {
    color: var(--general-color);
}
.qodef-h3, h3, h3.wp-block {
    color: var(--general-color);
}
.qodef-h4, h4, h4.wp-block {
    color: var(--general-color);
}
.qodef-h5, h5, h5.wp-block {
    color: var(--general-color);
}
.qodef-h6, h6, h6.wp-block {
    color:var(--general-color);
}
.qodef-qi-section-title .qodef-e-colored{
    color: var(--second-color) !important;
}
::selection {
    color: #fff;
    background:  var(--general-color) !important;
}

p {
    color: var(--body-color);
}



.hero-text p {
	color: #fff !important;
}



/* 2) Style générique des champs CF7 */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-textarea {
  display: block;
  width: 100%;
  margin-bottom: 2em;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: var(--body-color);
  border: 1px solid #022e2030;
  border-radius: 1px;
	transition: all 0.4s ease;
}

.wpcf7-form-control-wrap{

  margin-bottom: 1em;
 
 
}

input[type=date]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=url]:focus, textarea:focus {
    color:  var(--medium-color);
    background-color: transparent;
  border-color: #0f44305e;
}



.wpcf7-form-control:focus {
  outline: none;
  border-color: #0f44305e;
}

.wpcf7-form-control:hover {
  filter: brightness(1.09);
	transition: all 0.4s ease;
}










.qodef-qi-button.qodef-layout--filled {
  font-weight: 400;
	border-radius: 0px;
	font-family: 'Montserrat';
	text-transform: uppercase;
	letter-spacing: .02em;
}




.qodef-qi-button.qodef-layout--filled {
  
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding: 0.6em 4.5em;
  font-weight: 400;
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  letter-spacing: .09em;
  border-radius: 0;
	font-size: 14px;
  background-color: var(--btn-bg);
  color: var(--btn-color);
  border: 1px solid #022e2030 !important;
  border-color: transparent;
  transition:
    color 0.3s ease,
    border-color 0.6s ease-out,
    transform 0.3s ease;
}
.qodef-qi-button.qodef-layout--filled:hover {
  background-color: var(--btn-bg);
}

.qodef-qi-button.qodef-layout--filled .qodef-m-text {
  position: relative;
  z-index: 2;
  display: inline-block;
  transition: transform 0.3s ease;
}


.qodef-qi-button.qodef-layout--filled::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--btn-hover-bg);
  transform: translateX(-125%) skewX(35deg);
  transition: transform 0.6s ease-out; 
  z-index: 1;
}

.qodef-qi-button.qodef-layout--filled:hover {
  color: var(--btn-hover-color);
  border-color: #022e20;
  transition:
    color 0.3s ease,
    border-color 0.4s ease-in;
}

.qodef-qi-button.qodef-layout--filled:hover::after {
  transform: translateX(0) skewX(35deg) scalex(1.5);           
  transition: transform 0.4s ease-in; 
}

.qodef-qi-button.qodef-layout--filled:hover .qodef-m-text {
  transform: scale(1.02);
}



#qodef-back-to-top .qodef-back-to-top-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: var(--general-color);  
  border-radius: 50%;                 
  overflow: hidden;
  transition:
    background-color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}


#qodef-back-to-top .qodef-back-to-top-icon svg polygon {
  fill: var(--btn-bg);                      /* #fbf8f1 */
  transition:
    fill 0.3s ease,
    transform 0.6s ease;
  transform-origin: center center;
}

/* 3) Hover : pop, couleur et rotation */
#qodef-back-to-top:hover .qodef-back-to-top-icon {
  background-color: var(--btn-hover-bg);
  transform: translateY(-4px);
  box-shadow: 0 8px 11px rgba(0,0,0,0.15);
}

#qodef-back-to-top:hover .qodef-back-to-top-icon svg {
	transition: transform 0.7s ease;
  transform: rotate(270deg);
}
#qodef-back-to-top .qodef-back-to-top-icon svg {
	transition: transform 1.2s ease;
}

#qodef-back-to-top:hover .qodef-back-to-top-icon svg polygon {
  fill: var(--btn-hover-color);             
}


/*FOOTER*/

#qodef-page-footer-top-area {
    margin-top: 100px;
}

#qodef-page-footer-bottom-area-inner {
    padding: 0px 0;
    border-top: 1px solid rgba(255,255,255,1);
}

#qodef-page-footer-bottom-area *{
 font-size: 13px;
	font-family: 'Montserrat';
font-weight: 500;
}


#qodef-page-footer-bottom-area a {
  position: relative;
  display: inline-block;
  text-decoration: none; 
}


#qodef-page-footer-bottom-area a::after {
  content: "";
  position: absolute;
  bottom: 2px;               
  left: 0;
  width: 100%;
  height: 1px;                
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}

#qodef-page-footer-bottom-area a:hover::after {
  transform: scaleX(1);
}




#qodef-page-footer-top-area .menu-item a {
  position: relative;
  display: inline-block;
  text-decoration: none; 
}


#qodef-page-footer-top-area .menu-item a::after {
  content: "";
  position: absolute;
  bottom: -3px;               
  left: 0;
  width: 100%;
  height: 1px;                
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}

#qodef-page-footer-top-area .menu-item a:hover::after {
  transform: scaleX(1);
}










.footer-logo-marquee {
  position: relative;
  overflow: hidden;
  background: var(--footer-bg);
  padding: 0;
}

/* fades gauche/droite */
.footer-logo-marquee::before,
.footer-logo-marquee::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 12%;
  pointer-events: none;
  z-index: 2;
}
.footer-logo-marquee::before {
  left: 0;
  background: linear-gradient(to right, var(--footer-bg), transparent);
}
.footer-logo-marquee::after {
  right: 0;
  background: linear-gradient(to left, var(--footer-bg), transparent);
}

/* piste de logos, sans animation CSS */
.footer-logo-marquee .logo-track {
  display: flex;
  flex-wrap: nowrap;
  will-change: transform;
  backface-visibility: hidden;
}

/* logos */
.footer-logo-marquee .footer-logo {
  flex: 0 0 auto;
  height: 100px;
  margin: 0 5rem;
  filter: drop-shadow(0 4px 4px var(--logo-shadow));
  transition: transform 0.3s ease;
}
















.footer-extra {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4rem 0 6rem;
  gap: 1.5rem;
	
}


.footer-extra .social-icons {
	z-index: 2;
  display: flex;
  gap: 1.5rem;
}
.footer-extra .social-icons a {
  display: inline-block;
  transition: transform 0.3s ease;
}
.footer-extra .social-icons a:hover {
  transform: scale(1.1);
}
.footer-extra .social-icons img {
  height: 32px;
  width: auto;
  display: block;
}


.footer-extra .footer-separator {
  width: 70%;
  height: 1px;
  background-color: currentColor;
  opacity: 0.2;
}


.footer-extra .footer-nav ul {
  display: flex;
  gap: 7rem;
  list-style: none;
  margin: 0;
  padding: 0;
	
}
.footer-extra .footer-nav a {
  text-decoration: none;
  position: relative;
  padding-bottom: 2px;
  transition: color 0.3s ease;
	font-family: 'Montserrat';
	text-transform: uppercase;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 2px;
	
}


.footer-extra .footer-nav a::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 100%; height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}
.footer-extra .footer-nav a:hover {
  color: inherit;
}
.footer-extra .footer-nav a:hover::after {
  transform: scaleX(1);
}


@media (max-width: 768px) {
  .footer-extra {
    gap: 1rem;
  }
  .footer-extra .social-icons {
    gap: 1rem;
  }
  .footer-extra .footer-nav ul {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  .footer-extra .footer-separator {
    width: 90%;
  }
}



#qodef-page-footer-top-area-inner {
   display: none;
}


@media only screen and (max-width: 769px) and (min-width: 0) {
	
	.footer-logo-marquee .footer-logo {

  margin: 0 3rem;

}

	
    .qodef-grid.qodef-responsive--custom.qodef-col-num--480--1.qodef-layout--columns>.qodef-grid-inner {
     gap: 0px;
        display: flex
;
        flex-direction: column;
        align-content: center;
        align-items: center;
    }
	
	#qodef-page-footer-bottom-area p {
	margin-top: 10px;
			margin-bottom: 10px;
		text-align: center;
}
	
	#qodef-page-footer-bottom-area-inner .qodef-grid-item:nth-child(2) {
    margin-top: 0px;
}
	
		#qodef-page-footer-bottom-area-inner .qodef-grid-item:nth-child(1) p{
    margin-bottom: 0px;
			
}
	
}




#qodef-page-footer-top-area .logo-circle-wrapper {
    position: absolute;
    width: 230px;
    height: 230px;
    margin: 0 auto;
    pointer-events: none;
left: -9%;
	bottom: 120px;
	z-index: 1;
}



@media only screen and (max-width: 400px) and (min-width: 0) {
	
.wpcf7-form-control.wpcf7-submit {
 
    padding: 0.6em 1em;
 
	}

}


@media only screen and (max-width: 500px) and (min-width: 0) {
	

#qodef-page-footer-top-area .logo-circle-wrapper {
    position: absolute;
    width: 200px;
    height: 200px;
    margin: 0 auto;
    pointer-events: none;
left: -35%;
	bottom: 120px;
	z-index: 1;
}
}


/* Variables globales */
:root {
	--btn-bg: #fbf8f1;
	--btn-color: #022e20;
	--btn-hover-bg: #022e20;
	--btn-hover-color: #fbf8f1;
	--white-color: #fbf8f1;
	--general-color: #022e20;
	--light-color: #1b6347;
	--medium-color: #0f4430;
	--dark-color: #022e20;
	--body-color: #022e20;
	--second-color: #ecd0b8; 
	--thrid-color: #fbf9f1;
	
	--marquee-speed: 145s;
	--footer-bg: #022e20;
	--marquee-logo-speed: 55s;
	--fullscreen-color: #022e20d1;
	--gradient-start: #022E20;
	--header-inner-border-page2410: rgb(251 249 241 / 6%);
	--header-inner-border-page8: rgba(251,249,241,0);
	--hero-button-border: #ffffff4a;
	--mobile-header-2410-bg: #022e2000;
	--mobile-opener-icon: #fbfaf1;
	--header-menu-underline: #fbf9f1;
	--form-submit-border: #022e2030;
	--form-field-focus: #0f44305e;
	--bubble1-color: rgba(206,115,46,0.2);
	--bubble2-color: rgba(206,115,46,0.4);
	--header-sticky-bg: rgba(15,68,48,0.53);
	--header-sticky-bg-hover: rgba(15,68,48,0.85);
	--footer-border-top: rgba(255,255,255,1);
}

/* Règles de couleurs */
.page-id-2410 #qodef-page-mobile-header {
	background-color: var(--mobile-header-2410-bg);
}
.page-id-2410.qodef-header--standard #qodef-page-header-inner {
	border-bottom-color: var(--header-inner-border-page2410) !important;
}
.hero-button .qodef-qi-button.qodef-layout--filled {
	color: var(--white-color) !important;
	border: 1px solid var(--hero-button-border) !important;
}
.hero-button .qodef-qi-button.qodef-layout--filled::after {
	background-color: var(--white-color) !important;
}
.hero-button .qodef-qi-button.qodef-layout--filled:hover {
	color: var(--general-color) !important;
	border: 1px solid var(--white-color) !important;
}
.insta-ref-widget__text-link {
	color: var(--general-color);
}
#qodef-page-mobile-header {
	background-color: var(--general-color);
}
.qodef-mobile-header-opener .cls-1 {
	fill: var(--mobile-opener-icon) !important;
	stroke: var(--mobile-opener-icon) !important;
}
.qodef-mobile-header-navigation>ul>li>a {
	color: var(--white-color) !important;
}
#qodef-fullscreen-area {
	background-color: var(--fullscreen-color);
}
.qodef-header-navigation .qodef-menu-item-text::after {
	background-color: var(--header-menu-underline);
}
.qodef-header-sticky {
	background-color: var(--header-sticky-bg);
}
.qodef-header-sticky:hover {
	background-color: var(--header-sticky-bg-hover);
}
.page-id-8.qodef-header--standard #qodef-page-header-inner {
	border-bottom-color: var(--header-inner-border-page8);
}
.marquee__inner {
	color: var(--btn-hover-color);
}
#qodef-page-footer-top-area {
	border-top-color: var(--second-color);
	background-color: var(--general-color);
}
#qodef-page-footer-top-area * {
	color: var(--white-color) !important;
}
#qodef-page-footer-bottom-area {
	background-color: var(--thrid-color);
}
#qodef-page-footer-bottom-area * {
	color: var(--general-color);
}
#qodef-page-footer-bottom-area-inner {
	border-top-color: var(--footer-border-top);
}

.qodef-qi-image-gallery.qodef-image--hover-zoom .qodef-e-inner img {

    display: block !important;
  
}

/* Cible les images dans le contexte Elementor */
.qodef-e-inner-holder img.attachment-full {
  aspect-ratio: 2 / 3; /* Portrait : largeur/hauteur */
  display: block;
  width: 100%; /* ou fixe si tu veux un contrôle précis */
  height: auto;
  object-fit: cover; /* évite les étirements visuels */
}


/*MACBOOK*/
@media screen and (min-width: 1024px) and (max-width: 1440px) and (min-height: 600px) and (max-height: 900px) {
	
	
	
	.elementor-38 .elementor-element.elementor-element-cfed211 {
    --content-width: 696px;
}
	
	.elementor-38 .elementor-element.elementor-element-1777357 {
--content-width: 696px;
}
	
	
	.elementor-38 .elementor-element.elementor-element-52f7363 {
 --content-width: 696px;
}
	
	
	.footer-extra .social-icons img {
    height: 25px !important;

}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
.hero-car .qodef-qi-swiper-container {
    height: 406px  !important;
}
	
.hero-car .qodef-qi-swiper-container .swiper-slide img {
    height: 406px !important;
    object-fit: cover;
}
	.wpcf7-form-control.wpcf7-text, .wpcf7-form-control.wpcf7-email, .wpcf7-form-control.wpcf7-tel, .wpcf7-form-control.wpcf7-textarea {

    max-height: 120px !important;
   
}
	input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], textarea {

    padding: 8px 20px !important;
 
}
	.elementor-8 .elementor-element.elementor-element-2f62d03 .qodef-qi-section-title > .qodef-m-text {
    margin-top: 0px !important;
}
	.wpcf7-form-control.wpcf7-text, .wpcf7-form-control.wpcf7-email, .wpcf7-form-control.wpcf7-tel, .wpcf7-form-control.wpcf7-textarea {
  font-size: 12px !important;
}
	
	.qodef-m-text p {
    font-size: 12px !important;
}
	.elementor-8 .elementor-element.elementor-element-c5daff5 .qodef-m-content .qodef-m-text {

    font-size: 12px  !important;
}
	
	.elementor-8 .elementor-element.elementor-element-b7699c9 .qodef-qi-info-cards .qodef-m-content .qodef-m-text {
    font-size: 12px  !important;
}
	.elementor-8 .elementor-element.elementor-element-886175f .qodef-qi-info-cards .qodef-m-content .qodef-m-text {
    font-size: 12px  !important;
}
	.elementor-8 .elementor-element.elementor-element-0a0be3f .elementor-wrapper {
    width: 100.1%;
    max-height: 600px;
}
	
	.elementor-40 .elementor-element.elementor-element-705a835 .elementor-wrapper {
    width: 100.1%;
		  max-height: 600px;
}
	h4{
	font-size: 16px !important;
}
	img.attachment-full.size-full.wp-image-1639 {
    max-width: 500px;
    margin-top: 40px;
}
	.qodef-header--standard #qodef-page-header {
    height: 65px;

}
	.qodef-header-sticky {
    height: 60px;
}
	#qodef-page-header .qodef-header-logo-link {
    height: 43px;
}
	.page-id-8 #qodef-page-header
 .qodef-header-sticky  .qodef-header-logo-link img, #qodef-page-header .qodef-header-logo-link span {

    height: 35px !important;
}
	#qodef-page-header  .qodef-header-sticky .qodef-header-logo-link {
 height: 35px !important;
}
	
	
	.footer-extra .footer-nav a {

    font-size: 13px !important;
  
}
	
	.qodef-header-navigation> ul > li > a, #qodef-page-header .widget_qode_essential_addons_icon_svg .qodef-m-text {
   font-size: 13px !important;
}
	.elementor-40 .elementor-element.elementor-element-7d239e3 .qodef-qi-section-title .qodef-m-title {
    font-size: 25px !important;
    
}
	.elementor-8 .elementor-element.elementor-element-2f62d03 .qodef-qi-section-title .qodef-m-title {
    font-size: 25px !important;
}
	
	.footer-logo-marquee .footer-logo {

    height: 65px;
    margin: 0 3rem;

}
	.footer-extra {

    padding: 3rem 0 4.5rem;

}
	#qodef-page-footer-bottom-area-inner {

    max-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#qodef-page-footer-bottom-area p, #qodef-page-footer-bottom-area a {
    font-size: 11px !important;

    margin: 5px auto !important;
}
	.elementor-8 .elementor-element.elementor-element-0a73fda:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-0a73fda > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #FBF9F1A8;
    max-height: 60px !important;
    display: flex;
    align-items: center;
}
	.elementor-8 .elementor-element.elementor-element-d35a0d9 {
    max-height: 60px;
    display: flex;
    justify-content: center;
}
	.elementor-8 .elementor-element.elementor-element-3de5e63 {
    max-height: 60px;
    display: flex;
    justify-content: center;
}
	
	.elementor-8 .elementor-element.elementor-element-d5d0e5e {
    max-height: 60px;
    display: flex;
    justify-content: center;
}
}


.wpcf7-form-control.wpcf7-text, .wpcf7-form-control.wpcf7-email, .wpcf7-form-control.wpcf7-tel, .wpcf7-form-control.wpcf7-textarea {

    max-height: 200px;
   
}
.qodef-qi-banner.qodef-image--hover-zoom img {

    max-height: 600px;
    object-fit: cover;
    object-position: top;
}




@media screen and (min-width: 1024px){
	.title-height .qodef-m-title {

    height: 55px;
    
}
.title-width .qodef-m-title {

    max-width: 200px;
    
}
	.qodef-qi-info-cards .qodef-m-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

}