/**************** GENERAL ********************/
.grecaptcha-badge{
	display:none !important;
}
body{
	background-color:#30522E;
}
.et_menu_container{
   /* padding: 0px 30px;
    margin-top: 10px;*/
}
h1 strong, h2 strong{
	color : #FF7354 !important;
	font-weight:inherit!important;
}
/*.et-fixed-header .et_menu_container {
    margin-top: 0px !important;*/
}

.text_inline {
    display: inline-block;
    margin: 0 10px;
	vertical-align:top; 
}
.image_inline  {
    display: inline-block;
    margin: 0 10px;
	vertical-align:bottom; 
}
#main-header .container{
	width:var(--gvid-lq65kpm3od) !important;
}
#page-container {
   overflow-x: hidden;
}
#page-container #main-header.et-fixed-header {
    box-shadow: none !important;
    box-shadow: 0 0 7px rgba(0, 0, 0, .2) !important;
}
.tag-dot .et_pb_text_inner{
  display:flex !important;
  align-items:center !important;
  gap:10px;
}
.tag-dot .et_pb_text_inner::before{
  content:"";
  display:inline-block;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#FF7354;
  flex-shrink:0;
}
.tag-dot .et_pb_text_inner p{
  margin:0;
}

/* ===== Texte avec icône devant un mot ===== */
/* ===== Texte avec icône devant un mot ===== */
:root{
  --icon-bolt-cycle:    4.2s;   /* durée totale d'un cycle (sursaut + pause) */
  --icon-compass-cycle: 5.5s;
}

.icon-word{
  color:#FF7354;      /* couleur du mot mis en avant */
  font-weight:700;
}
.icon-word::before{
  content:"";
  display:inline-block;
  width:0.85em;
  height:0.85em;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  margin-right:6px;
  vertical-align:-0.15em;   /* <-- règle l'alignement avec le texte */
  transform-origin:center;
}

.icon-bolt::before{
  background-image:url("icons/eclair.svg");
  animation: bolt-bounce var(--icon-bolt-cycle) ease-in-out infinite;
}
@keyframes bolt-bounce{
  0%, 100%  { transform: translateY(0); }
  3%        { transform: translateY(-3px); }
  6%        { transform: translateY(1px); }
  9%        { transform: translateY(-2px); }
  12%       { transform: translateY(1px); }
  15%, 100% { transform: translateY(0); }
}
.icon-compass::before{
  background-image:url("icons/boussole.svg");
  animation: compass-wobble var(--icon-compass-cycle) ease-in-out infinite;
  animation-delay: 1.1s;
}
@keyframes compass-wobble{
  0%, 100%  { transform: rotate(0deg); }
  4%        { transform: rotate(14deg); }
  9%        { transform: rotate(-11deg); }
  13%       { transform: rotate(8deg); }
  17%       { transform: rotate(-5deg); }
  20%       { transform: rotate(2deg); }
  23%, 100% { transform: rotate(0deg); }
}

/* ===== Liste à coche (modules Texte Divi) ===== */
.check-item .et_pb_text_inner{
  display:flex !important;
  align-items:center !important;
  gap:10px;
}
.check-item .et_pb_text_inner p{
  margin:0;
}
.check-item .et_pb_text_inner::before{
  content:"";
  display:inline-block;
  width:1.1em;
  height:1.1em;
  background-image:url("icons/check.svg");
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  flex-shrink:0;
}


/*********** FIN GENERAL ****************/

/*********** BARRES ****************/

.stair-bars{
  position:absolute;
  right:0;      /* <-- distance depuis la droite du conteneur parent */
  bottom:0;     /* <-- distance depuis le bas du conteneur parent */
  display:flex;
  align-items:flex-end;
  pointer-events:none; /* n'intercepte pas les clics — enlève cette ligne si besoin */
}
.stair-bars .bar{
  transform:scaleY(0);
  transform-origin:bottom;
}
/*********** FIN BARRES ****************/


/*********** ACCORDEON ****************/
/* ===================================================================
   COULEURS — modifie ici pour changer toute la palette
=================================================================== */
:root{
  /* -------- couleurs -------- */
  --bg:            #F5F3F0;  /* fond de la page */
  --item-bg:       #ebe1dd;  /* fond d'un item réduit */
  --active-bg:     #497746;  /* fond de l'item actif */
  --active-text:   #ffffff;  /* couleur du texte de l'item actif */
  /* -------- dimensions -------- */
  --radius:        3px;      /* arrondi des coins */
  --gap:           8px;     /* espace entre chaque item */
  /* les hauteurs (ouvert / fermé proche / fermé loin) sont pilotées en JS, voir CONFIG */
}
/* ===================================================================
   CONTENEUR
=================================================================== */
.accordion{
  width:100%;
  max-width:510px;     /* largeur max du composant */
  /*margin:40px auto;*/
  display:flex;
  flex-direction:column;
  gap:var(--gap);
  font-family: 'aptos-bold-2', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700;
}
/* ===================================================================
   ITEMS
=================================================================== */
.acc-item{
  position:relative;
  border-radius:var(--radius);
  background:var(--item-bg);
  overflow:hidden;
  flex:0 0 auto;         /* la hauteur de base (fermé) est fixée en JS, par item */
  cursor:pointer;
  transition:
    flex-basis .6s cubic-bezier(.65,0,.35,1),
    background-color .6s ease;
}
.acc-item.active{
  flex:1 1 var(--open-height);
  background:var(--active-bg);
}
.acc-item__content{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;             /* centre icône + texte horizontalement */
  gap:14px;
  padding:0 26px;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .35s ease, transform .35s ease;
  transition-delay:0s;
}
.acc-item.active .acc-item__content{
  opacity:1;
  transform:translateY(0);
  transition-delay:.25s; /* apparaît une fois l'item bien agrandi */
}
.acc-item__icon{
  flex:0 0 auto;
  width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
}
.acc-item__icon img{ width:100%; height:100%; display:block; }
.acc-item__label{
  margin:0;                            /* annule la marge par défaut d'un h3 */
  color:var(--active-text);
  font-weight:700;
  font-size:clamp(18px,4vw,24px);
  letter-spacing:.2px;
  text-align:center;
	padding:0;
	font-family: 'aptos-semi-2', Helvetica, Arial, Lucida, sans-serif;
}
/*********** FIN ACCORDEON ****************/

/*********** BANDEAU DEFILANT ****************/
.boxes {
  display: flex;
  justify-content: flex-start;   /* <-- empêche Divi de centrer le contenu */
  white-space: nowrap;
}
.box {
  display: inline-block;
  height: 65px;
  line-height: 65px;
  font-size: clamp(19px, calc(0.0089 * (100vw - 360px) + 22px), 28px);
  color: white;
  padding: 0px;
  white-space: nowrap;
  font-family: 'aptos-regular-2', Helvetica, Arial, Lucida, sans-serif;
}
.box::before {
  content: "";
  display: inline-block;
  width: 0.55em;
  height: 0.55em;
  background-image: url("icons/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin: 0 25px;
 
}
/*********** FIN BANDEAU DEFILANT ****************/

/*********** BOUTON CTA ****************/
.cta-button{
  /* -------- réglages : espacement (détermine la taille du bouton) -------- */
  --padding-y:                  16px;
  --padding-x:                  36px;
  --radius:                     3px;
  --icon-size:                  26px;

  /* -------- réglages : couleurs -------- */
  --button-color:                #FF7354;
  --button-color-hover:          #E85F3F;
  --text-color:                  #ffffff;

  /* -------- réglages : timing -------- */
  --transition-fast:              0.3s;
  --transition-slow:              0.45s;

  display:inline-block;
  position:relative;
  overflow:hidden;
  border-radius: var(--radius);
  background: var(--button-color);
  transition: background var(--transition-fast);
  cursor:pointer;
}
.cta-button .button-wrapper{
  position:relative;
  padding: var(--padding-y) var(--padding-x);
  display:flex;
  align-items:center;
  justify-content:center;
}
.cta-button .cta-text{
  display:block;
  color:var(--text-color);
  font-weight:700;
	  font-family: 'aptos-semi-2', Helvetica, Arial, Lucida, sans-serif;  
font-size:18px;
  white-space:nowrap;
  transition: transform var(--transition-slow) ease, opacity var(--transition-slow) ease;
}
.cta-button .cta-icon{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--text-color);
  transform:translateY(150%);
  transition: transform var(--transition-slow) ease;
}
.cta-button .cta-icon img{
  width: var(--icon-size);
  height: var(--icon-size);
  display:block;
}
.cta-button:hover{ background: var(--button-color-hover); }
.cta-button:hover .cta-text{
  transform:translateY(-150%);
  opacity:0;
}
.cta-button:hover .cta-icon{
  transform:translateY(0);
}
/*********** FIN BOUTON CTA ****************/


/*********** MOBILE ****************/
@media all and (max-width: 980px) {
	
.dsm_button .et_pb_button_two {
    margin-left: 0px !important;
}
.dsm_button .et_pb_button_two, .dsm_button .et_pb_button_one  {
	width:100%;
}
	#main-header .container {
    width: 95% !important;
}
	html,
	body {
		overflow-x: hidden;
	}
	body {
		position: relative
	}
	    #dtb-m-menu .menu-wrapper {
        overflow-x: hidden !important;
    }
	

}