.elementor-8110 .elementor-element.elementor-element-3ffd365{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:100px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-8110 .elementor-element.elementor-element-f57f836{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-8110 .elementor-element.elementor-element-93ae9ab > .elementor-widget-container{margin:0px 0px 50px 0px;}.elementor-8110 .elementor-element.elementor-element-93ae9ab .elementor-heading-title{font-family:"TheW_NYC", Sans-serif;font-size:50px;font-weight:normal;line-height:40px;color:var( --e-global-color-primary );}.elementor-8110 .elementor-element.elementor-element-19a03ac{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-8110 .elementor-element.elementor-element-3914759 .elementor-button{background-color:#CCCCCC;font-family:"futura-pt-bold", Sans-serif;font-size:15px;font-weight:500;line-height:20px;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-8110 .elementor-element.elementor-element-3914759 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-8110 .elementor-element.elementor-element-afd5335{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8110 .elementor-element.elementor-element-e11018c{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:3000;}.elementor-8110 .elementor-element.elementor-element-e11018c:not(.elementor-motion-effects-element-type-background), .elementor-8110 .elementor-element.elementor-element-e11018c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-8110 .elementor-element.elementor-element-0bed754{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-8110 .elementor-element.elementor-element-795f627{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-8110 .elementor-element.elementor-element-795f627 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-8110 .elementor-element.elementor-element-795f627 .elementor-divider-separator{width:100%;}.elementor-8110 .elementor-element.elementor-element-795f627 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-8110 .elementor-element.elementor-element-51a4a7f{--display:flex;--position:fixed;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:12px;--padding-bottom:12px;--padding-left:30px;--padding-right:30px;bottom:0px;}body:not(.rtl) .elementor-8110 .elementor-element.elementor-element-51a4a7f{left:0px;}body.rtl .elementor-8110 .elementor-element.elementor-element-51a4a7f{right:0px;}.elementor-8110 .elementor-element.elementor-element-421af06{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8110 .elementor-element.elementor-element-60cc8ef .elementor-heading-title{font-family:"futura-pt", Sans-serif;font-size:16px;font-weight:500;text-transform:uppercase;line-height:23px;}body:not(.rtl) .elementor-8110 .elementor-element.elementor-element-a274e49{right:0px;}body.rtl .elementor-8110 .elementor-element.elementor-element-a274e49{left:0px;}.elementor-8110 .elementor-element.elementor-element-a274e49{top:0px;}.elementor-8110 .elementor-element.elementor-element-fa2ff10{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8110 .elementor-element.elementor-element-cd7e88c .elementor-heading-title{font-family:"futura-pt", Sans-serif;font-size:18px;font-weight:500;line-height:23px;}.elementor-8110 .elementor-element.elementor-element-c1a8973{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8110 .elementor-element.elementor-element-1a088f4 .elementor-heading-title{font-family:"futura-pt", Sans-serif;font-size:18px;font-weight:500;line-height:23px;}.elementor-8110 .elementor-element.elementor-element-520461f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8110 .elementor-element.elementor-element-e7f51ea .elementor-heading-title{font-family:"futura-pt", Sans-serif;font-size:18px;font-weight:500;line-height:23px;}body:not(.rtl) .elementor-8110 .elementor-element.elementor-element-6cba54c{right:0px;}body.rtl .elementor-8110 .elementor-element.elementor-element-6cba54c{left:0px;}.elementor-8110 .elementor-element.elementor-element-6cba54c{bottom:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-8110 .elementor-element.elementor-element-e11018c{--width:21.6%;}.elementor-8110 .elementor-element.elementor-element-0bed754{--width:78.4%;}.elementor-8110 .elementor-element.elementor-element-421af06{--width:80%;}}@media(max-width:1024px){.elementor-8110 .elementor-element.elementor-element-3ffd365{--padding-top:50px;--padding-bottom:15px;--padding-left:30px;--padding-right:30px;}.elementor-8110 .elementor-element.elementor-element-93ae9ab > .elementor-widget-container{margin:0px 0px 25px 0px;}.elementor-8110 .elementor-element.elementor-element-93ae9ab .elementor-heading-title{font-size:46px;line-height:36px;}.elementor-8110 .elementor-element.elementor-element-afd5335{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}}@media(max-width:767px){.elementor-8110 .elementor-element.elementor-element-3ffd365{--padding-top:50px;--padding-bottom:15px;--padding-left:30px;--padding-right:30px;}.elementor-8110 .elementor-element.elementor-element-93ae9ab > .elementor-widget-container{margin:0px 0px 15px 0px;}.elementor-8110 .elementor-element.elementor-element-93ae9ab .elementor-heading-title{font-size:44px;line-height:46px;}.elementor-8110 .elementor-element.elementor-element-afd5335{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}}@media(max-width:1024px) and (min-width:768px){.elementor-8110 .elementor-element.elementor-element-f57f836{--width:100%;}.elementor-8110 .elementor-element.elementor-element-e11018c{--width:100%;}.elementor-8110 .elementor-element.elementor-element-0bed754{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-ef304db *//* === OVERLAY (voile blanc) === */
.pdf-overlay{
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.96);   /* voile blanc visible */
  z-index: 2147483646;                 /* au-dessus d’Elementor, headers, etc. */
  backdrop-filter: saturate(140%) blur(2px);
  isolation: isolate;                  /* nouveau contexte d’empilement (anti “fantômes”) */
}
.pdf-overlay.hidden{ display:none; }

.pdf-overlay .box{
  position: relative;
  min-width: 280px; max-width: 420px;
  background: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  padding: 18px 20px;
}
.pdf-overlay .spinner{ width:28px;height:28px;border-radius:50%;border:3px solid #ddd;border-top-color:#111;animation:pdfspin .9s linear infinite;margin:0 auto 12px }
@keyframes pdfspin{ to{ transform:rotate(360deg) } }
.pdf-overlay .msg{ font:500 14px/1.4 system-ui,Segoe UI,Roboto,Arial; color:#222; text-align:center; margin-bottom:10px }
.pdf-overlay .bar{ height:6px; background:#f1f1f1; border-radius:999px; overflow:hidden }
.pdf-overlay .bar .fill{ height:100%; width:0%; background:#111; transition:width .2s ease }

/* === CROIX en haut-droite de la FENÊTRE (style .btn-collapse) === */
.pdf-close{
  position: fixed;                     /* par rapport à la fenêtre */
  top: max(12px, env(safe-area-inset-top));
  right: calc(12px + env(safe-area-inset-right));
  width: 40px; height: 40px;           /* grande zone cliquable */
  background: transparent;
  border: 0; padding: 0;
  cursor: pointer;
  z-index: 2147483647;                 /* au-dessus du voile */
  -webkit-tap-highlight-color: transparent;
}
.pdf-close::before,
.pdf-close::after{
  content:"";
  position:absolute; top:50%; left:50%;
  width:18px; height:1px;              /* même épaisseur/longueur que ta .btn-collapse */
  background: #000;
  transform-origin:center;
}
.pdf-close::before{ transform: translate(-50%,-50%) rotate(45deg); }
.pdf-close::after { transform: translate(-50%,-50%) rotate(-45deg); }
.pdf-close:hover{ opacity:.7; }
.pdf-overlay.hidden .pdf-close{ display:none; }  /* masque la croix quand overlay fermé */

/* Bouton occupé (inchangé) */
.js-dl-pdf.is-busy{ position:relative; opacity:.7; cursor:not-allowed }
.js-dl-pdf.is-busy::after{
  content:""; position:absolute; right:12px; top:50%;
  width:16px; height:16px; margin-top:-8px; border-radius:50%;
  border:2px solid #999; border-top-color:#111; animation:pdfspin .9s linear infinite;
}
.pdf-close,
.pdf-close:hover,
.pdf-close:active,
.pdf-close:focus {
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
  color: #000;                 /* garde la croix noire */
  -webkit-appearance: none;
  appearance: none;
}

/* On conserve l’accessibilité sans fond coloré */
.pdf-close:focus-visible{
  outline: 2px solid #000;
  outline-offset: 2px;
}

/* Sécurité contre variables Elementor (accents/rose) */
.pdf-overlay .pdf-close{
  --e-global-color-primary: #000;
  --e-global-color-accent: transparent;
}
/* Clique sur le voile = annulation ; pas sur la box */
.pdf-overlay{ cursor: pointer; }
.pdf-overlay .box{ cursor: default; }/* End custom CSS */
/* Start custom CSS for dce-rawphp, class: .elementor-element-4df5fc0 *//* ===========================
   SOMMAIRE — dates visibles, titres cachés (opacity), actif + hover OK
   =========================== */

/* Item */
#chronologie .sommaire-item{
  cursor: pointer;
  position: relative;
}

/* Date : visible en gris par défaut */
#chronologie .sommaire-item #date_periode{
  display: block;
  color: #a0a0a0;
  font-family: "futura-pt-bold", Sans-serif;
  font-size: 27px;
  font-weight: 400;
  transition: color .25s ease;
}

/* Titre : présent dans le flux mais invisible (PAS de visibility) */
#chronologie .sommaire-item #nom_periode{
  display: block;
  margin-bottom: 10px;
  color: #a0a0a0;
  font-family: "futura-pt-bold", Sans-serif;
  font-size: 18px;
  font-weight: 400;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, color .25s ease;
}

/* Hover global du sommaire : montrer tous les titres (gris) */
#chronologie:hover .sommaire-item #nom_periode{
  opacity: 1;
  pointer-events: auto;
}

/* Actif */
#chronologie .sommaire-item.active #date_periode{
  color: var(--e-global-color-primary);
}
#chronologie .sommaire-item.active #nom_periode{
  opacity: 1;
  pointer-events: auto;
  color: var(--e-global-color-primary);
}

/* Hover individuel */
#chronologie .sommaire-item:hover #date_periode{
  color: var(--e-global-color-primary);
}

/* Réduction d’animations */
@media (prefers-reduced-motion: reduce){
  #chronologie .sommaire-item #nom_periode,
  #chronologie .sommaire-item #date_periode{
    transition: none;
  }
}

/* ===== VERSION MOBILE ===== */
@media (max-width:768px){
  #chronologie.chronologie-sommaire{
    display: flex;
    overflow-x: auto;         /* scroll horizontal */
    overflow-y: visible;      /* garde le scroll vertical du site */
    gap: 22px;
    padding: 10px 16px;
    background: #fff;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    position: sticky;
    top: var(--anchor-offset, 72px);
    z-index: 10;

    /* Masque totalement les barres de défilement */
    scrollbar-width: none;          /* Firefox */
    -ms-overflow-style: none;       /* IE/Edge */
  }

  /* WebKit (Chrome, Safari, iOS) */
  #chronologie.chronologie-sommaire::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  #chronologie .sommaire-item{
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
    color: #888;
    transition: color .3s ease, opacity .3s ease;
    cursor: pointer;
  }

  #chronologie .sommaire-item:hover{
    color: #000;
    opacity: 0.9;
  }

  #chronologie .sommaire-item.active{
    color: var(--e-global-color-primary, #000);
    font-weight: 700;
    opacity: 1;
  }

  #chronologie .sommaire-item:focus{
    outline: none;
    text-decoration: none;
  }
}/* End custom CSS */
/* Start custom CSS for dce-rawphp, class: .elementor-element-793d901 *//* Masquer le tout premier trait avant le premier titre */
.elementor-8110 .elementor-element.elementor-element-793d901 .chronologie-section:first-of-type .elementor-divider {
  display: none;
}
.elementor-8110 .elementor-element.elementor-element-793d901 .date-chronologie.date-dupliquee {

}

.elementor-8110 .elementor-element.elementor-element-793d901 .chronologie-section .elementor-divider-separator{
  display:block;
  width: 100%;
  height: 1px;                      /* épaisseur du trait */
  background: var(--e-global-color-primary, #000);
  opacity: .85;
  border-radius: 2px;                /* léger arrondi */
    margin-top: 80px;
    margin-bottom: 25px;
}
.elementor-8110 .elementor-element.elementor-element-793d901 .titre-chronologie p:last-of-type {
  margin-bottom: 0;
}
.elementor-8110 .elementor-element.elementor-element-793d901 .date-chronologie {
  font-family: "futura-pt-bold", Sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  color: var(--e-global-color-primary);
  margin-bottom: 0px;
  display: block;
}
.elementor-8110 .elementor-element.elementor-element-793d901 .chronologie-titre{
    margin-bottom: 30px;
}
.ligne-chronologie {
  display: flex;
  align-items: stretch; /* <-- important : aligne les enfants sur la même hauteur */
  gap: 20px;
  margin: 28px 0 40px;
}

.barre-couleur {
  width: 13px;
  min-width: 13px;
  background: #000; /* couleur par défaut */
  flex-shrink: 0; /* empêche de se réduire */
}

.cat-production .barre-couleur {
  background-color: #f5b800; /* jaune */
}

.cat-techniques .barre-couleur {
  background-color: #000; /* noir */
}

.cat-institutions .barre-couleur {
  background-color: #c6c6c6; /* gris clair */
}

.texte-chronologie {
  font-family: "futura-pt", sans-serif;
  font-size: 20px;
  color: var(--e-global-color-primary);
}

#date-chronologie {
  font-family: "futura-pt-bold", sans-serif;
  font-size: 24px;
  font-weight: bold;
  color: #000;
  margin-bottom: 5px;
}

#titre-chonologie {
  font-family: "futura-pt", sans-serif;
  line-height: 1.6;
}

.accordion {
  color: black;
      margin-bottom: 50px;

}.accordion .container {
  position: relative;
  
}
.elementor-8110 .elementor-element.elementor-element-793d901  a.lien-detaillee {

        color: var( --e-global-color-primary );
    font-family: "futura-pt-bold", Sans-serif;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 20px;
    display: block;
}
.elementor-8110 .elementor-element.elementor-element-793d901 a.lien-detaillee:after{
    content: "+";
    position: absolute;
    font-family: "futura-pt-bold", Sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    margin-left: 30px;
    fill: var( --e-global-color-primary );
    color: var( --e-global-color-primary );
}
.elementor-8110 .elementor-element.elementor-element-793d901 a.lien-detaillee:hover:after,.elementor-8110 .elementor-element.elementor-element-793d901 a.lien-detaillee:hover{
    color: var( --e-global-color-secondary );
}
/* Positions the labels relative to the .container. Adds padding to the top and bottom and increases font size. Also makes its cursor a pointer */

#accordion {
      background-image: url(https://iconos-photo.fr/wp-content/uploads/2022/03/ligne.svg);
    background-position: 5px 0px;
    background-repeat: repeat-y;
    background-size: 1px auto;
}
#accordion .label:hover{
    color: var( --e-global-color-secondary );
}
#accordion.label::before {
    content: '+';
    color: black;
    margin-right: 20px;
}

/* Hides the content (height: 0), decreases font size, justifies text and adds transition */

#accordion .content {
    position: relative;
    font-size: 20px;
    text-align: left;
    width: 100%;
    overflow: hidden;
    transition: 0.5s;
    color: var( --e-global-color-primary );
    font-family: "futura-pt", Sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
    padding-left: 30px;
    margin-bottom: 50px;
}

/* Adds a horizontal line between the contents */

#accordion hr {
  width: 100;
  margin-left: 0;
  border: 1px solid grey;
}/* Unhides the content part when active. Sets the height */

.accordion .container.active .content {
  height: auto;
}

/* Changes from plus sign to negative sign once active */

#accordion .container.active .label::before {
  content: '-';
  font-size: 30px;
}
#accordion h3 {
    color: var( --e-global-color- );
    font-family: "futura-pt-bold", Sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 28px;
    padding-left: 30px;
        cursor: pointer;
        background-image: url(https://iconos-photo.fr/wp-content/uploads/2022/03/rect.svg);
    background-position: 0px 0px;
    background-repeat: no-repeat;
}
}
#accordion h3:hover {
    color: var( --e-global-color-secondary );
}
#accordion h3:before {
    height: 15px;
    content: '';
    background: url(https://iconos-photo.fr/wp-content/uploads/2022/03/down.svg);
    position: absolute;
    right: 0px;
    width: 26px;
    background-repeat: no-repeat;
    margin-top: 30px;
}
#accordion h3.ui-state-active:before {
    height: 15px;
    content: '';
    background: url(https://iconos-photo.fr/wp-content/uploads/2022/03/up.svg);
    position: absolute;
    right: 0px;
    width: 26px;
    background-repeat: no-repeat;
    margin-top: 30px;
}



.elementor-8110 .elementor-element.elementor-element-793d901 .text {
    display: none;
}
.toggle {
    position: relative;
}
.toggle.contenu p{
        cursor: pointer;
        position: relative;
    font-size: 18px;
    text-align: left;
    width: 100%;
    color: var(--e-global-color-primary);
    font-family: "futura-pt", Sans-serif;

    font-weight: 400;
    line-height: 28px;
}
.toggle.contenu:before {

}
.toggle.contenu.changed:before {

}
.toggle:before {

}
#accordion h3.ui-corner-top{
    color: var( --e-global-color-secondary );
    margin-bottom: 40px;
}
#accordion h3.ui-corner-all{
    margin-bottom: 50px;
}
.toggle.contenu:hover:before {
    color: var( --e-global-color-secondary );
}
.elementor-8110 .elementor-element.elementor-element-793d901 #date_periode {
    color: var( --e-global-color-primary );
    margin-bottom: 0px;
    font-family: "futura-pt-bold", Sans-serif;
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 10px;
}
.elementor-8110 .elementor-element.elementor-element-793d901 #nom_periode {
    color: var( --e-global-color-primary );
    margin-bottom: 0px;
    font-family: "TheW_NYC", Sans-serif;
    font-size: 34px;
    line-height: 41px;
}
.elementor-8110 .elementor-element.elementor-element-793d901 h3 #nom_periode {
    margin-bottom: 30px;
}
.elementor-8110 .elementor-element.elementor-element-793d901 #date-chronologie{
    color: var( --e-global-color-primary );
    margin-bottom: 0px;
    font-family: "futura-pt-bold", Sans-serif;
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 0px;
}
@media (max-width: 1024px) and (min-width: 768px){
    
    #accordion .content {
    position: relative;
    background: transparent;
    font-size: 18px;
    text-align: justify;
    width: 100%;
    overflow: hidden;
    transition: 0.5s;
    color: var( --e-global-color-primary );
    font-family: "futura-pt", Sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    padding-left: 50px;
    margin-bottom: 15px;
}
   #accordion .container.active .label::before {
  content: '-';
  font-size: 30px;
}
#accordion h3 {
    color: var( --e-global-color-primary );
    font-family: "futura-pt-bold", Sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 28px;
    padding-left: 30px;
        cursor: pointer;
       
} 
#accordion h3:before {

}
.toggle.contenu:before {
    content: "+";
    font-size: 18px;
    position: absolute;
    left: -20px;
    font-family: 'futura-pt-bold';
}
.toggle.contenu.changed:before {
    content: "-";
}
.toggle:before {
    content: "-";
    font-size: 18px;
    position: absolute;
    left: -20px;
    font-family: 'futura-pt-bold';
}
.elementor-8110 .elementor-element.elementor-element-793d901 .content .toggle p{
   margin-bottom:5px;
       text-align: left;
}
.elementor-8110 .elementor-element.elementor-element-793d901 #accordion h3.ui-corner-top{
    color: var( --e-global-color-secondary );
    margin-bottom: 10px;
}
.elementor-8110 .elementor-element.elementor-element-793d901  a.lien-detaillee {
    font-size:18px;
}
}

@media (max-width: 767px){
   #accordion h3.ui-corner-top {
    color: var( --e-global-color-secondary );
    margin-bottom: 20px;
}
    .elementor-8110 .elementor-element.elementor-element-793d901  a.lien-detaillee {
    font-size:18px;
}
        #accordion .content {
    position: relative;
    background: transparent;
    text-align: justify;
    width: 100%;
    overflow: hidden;
    transition: 0.5s;
    color: var( --e-global-color-primary );
    font-family: "futura-pt", Sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    padding-left: 30px;
    margin-bottom: 0px;
}
   #accordion .container.active .label::before {
  content: '-';
  font-size: 28px;
}
#accordion h3 {
    color: var( --e-global-color-primary );
    font-family: "futura-pt-bold", Sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 28px;
    padding-left: 15px;
        cursor: pointer;
       
} 
#accordion h3:before {
    height: 15px;
    content: '';
    background: url(https://iconos-photo.fr/wp-content/uploads/2022/03/down.svg);
    position: absolute;
    right: 0px;
    width: 26px;
    background-repeat: no-repeat;
    margin-top: 30px;
}
.toggle.contenu:before {
    content: "+";
    font-size: 18px;
    position: absolute;
    left: -20px;
    font-family: 'futura-pt-bold';
}
.toggle.contenu.changed:before {
    content: "-";
}
.toggle:before {
    content: "-";
    font-size: 18px;
    position: absolute;
    left: -15px;
    font-family: 'futura-pt-bold';
}
.elementor-8110 .elementor-element.elementor-element-793d901 .content .toggle p{
   margin-bottom:0px;
   line-height:24px;
   margin-bottom:5px;
       text-align: left;
}

.elementor-8110 .elementor-element.elementor-element-793d901 #accordion h3.ui-corner-all{
    margin-bottom: 30px;
}
    
    
    
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-cd7e88c *//* ✅ Élément individuel */
.cat-item-production {
  display: flex;
  align-items: center;
  font-family: "futura-pt", sans-serif;
  font-size: 16px;
  color: #999;
  cursor: pointer;
  transition: color 0.3s ease;
  position: relative;
}

/* ✅ Rectangle couleur avant le texte */
.cat-item-production::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 18px;
  border-radius: 1px;
  margin-right: 0px;
}

/* Couleurs des catégories */
.cat-item-production::before { background-color: #f5b800; }   /* Jaune *//* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1a088f4 *//* ✅ Élément individuel */
.cat-item-techniques {
  display: flex;
  align-items: center;
  font-family: "futura-pt", sans-serif;
  font-size: 16px;
  color: #999;
  cursor: pointer;
  transition: color 0.3s ease;
  position: relative;
}

/* ✅ Rectangle couleur avant le texte */
.cat-item-techniques::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 18px;
  border-radius: 1px;
  margin-right: 0px;
}

/* Couleurs des catégories */
.cat-item-techniques::before { background-color: #000; }   /* Jaune *//* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-e7f51ea *//* ✅ Élément individuel */
.cat-item-institutions {
  display: flex;
  align-items: center;
  font-family: "futura-pt", sans-serif;
  font-size: 16px;
  color: #999;
  cursor: pointer;
  transition: color 0.3s ease;
  position: relative;
}

/* ✅ Rectangle couleur avant le texte */
.cat-item-institutions::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 18px;
  border-radius: 1px;
  margin-right: 0px;
}

/* Couleurs des catégories */
.cat-item-institutions::before { background-color: #CCCCCC; }   /* Jaune *//* End custom CSS */
/* Start custom CSS *//* ===== FOND GRIS CENTRÉ ET LARGEUR DU SITE ===== */
.bandeau-legende{
  --left-minus: 50px; /* marge à enlever (positive = on réduit) */

  /* on reprend ta config */
  --left-visible: clamp(160px, 25vw, 420px);
  --site-container: 100vw; /* ← ajuste ici la largeur de ton contenu total (pas juste la grille) */
  --band-width: var(--site-container);
  background: transparent !important;
  isolation: isolate;
  position: fixed !important;
  left: 0;
  bottom: 0;
  width: 100vw;
  z-index: 9999;
}

/* Fond gris centré, collé à la grille du site */
.bandeau-legende::before{
    content: "";
    position: absolute;
    left: 0px;
    bottom: 0;
    transform: translateX(0%);
    width: min(var(--band-width), 100vw);
    height: 100%;
    background: #f5f5f5;
    border: none;
    box-shadow: none;
    pointer-events: none;
    z-index: 0;
}

/* Contenu au-dessus du fond */
.bandeau-legende .legend-row{
  position:relative;
  z-index:1;
  width:100%;
  max-width:var(--site-container);
  margin:0 auto;
}

/* ÉTAT REPLIÉ : fond réduit visuellement */
.bandeau-legende.collapsed{
  --band-width: var(--left-visible);
}

/* Masquer les colonnes catégories quand replié */
.bandeau-legende.collapsed .col-production,
.bandeau-legende.collapsed .col-institutions,
.bandeau-legende.collapsed .col-techniques{
  visibility: hidden!important;
}

/* Garder un peu d’espace à droite pour le bouton */
.bandeau-legende .legend-row{ position: relative; }
.bandeau-legende.collapsed .legend-row{ padding-right: 48px; }

/* ==============================
   Bouton CROIX (fermer/réduire)
   ============================== */
.bandeau-legende .btn-collapse{
  position: absolute;
  right: 0;
  bottom: 0;
  width: 24px;
  height: 24px;
  cursor: pointer;
}
.bandeau-legende .btn-collapse::before,
.bandeau-legende .btn-collapse::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 1px;
  background: #000;
  transform-origin: center;
}
.bandeau-legende .btn-collapse::before{ transform: translate(-50%,-50%) rotate(45deg); }
.bandeau-legende .btn-collapse::after { transform: translate(-50%,-50%) rotate(-45deg); }

/* Cache la croix quand replié */
.bandeau-legende.collapsed .btn-collapse{ display: none; }

/* ==============================
   Bouton PLUS (ouvrir/réagrandir)
   ============================== */
.bandeau-legende .btn-expand {
position: absolute;
    right: 40px;
    top: 10px;
    transform: translateY(-50%);
    display: none;
    cursor: pointer;
    font-family: "Futura PT", sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    color: #000;
}

/* Afficher le + seulement quand replié */
.bandeau-legende.collapsed .btn-expand{ display: block; }

/* Aucune animation */
.bandeau-legende,
.bandeau-legende *{
  transition: none !important;
  animation: none !important;
}

/* Le conteneur du widget croix ne doit plus impacter le layout */
.bandeau-legende .close-widget {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2;
}
.bandeau-legende .close-widget .btn-collapse {
  position: absolute;
  inset: 0;
}
.bandeau-legende.collapsed .close-widget {
  display: none !important;
}
.bandeau-legende .close-widget.elementor-widget {
  min-width: 0;
  min-height: 0;
}

/* ==============================
   Styles des catégories
   ============================== */
.bandeau-legende .cat-item-production,
.bandeau-legende .cat-item-techniques,
.bandeau-legende .cat-item-institutions{
  color:#9a9a9a; 
  cursor:pointer;
}
.bandeau-legende .cat-item-production.active,
.bandeau-legende .cat-item-techniques.active,
.bandeau-legende .cat-item-institutions.active,
.bandeau-legende .cat-item-production.active .elementor-heading-title,
.bandeau-legende .cat-item-techniques.active .elementor-heading-title,
.bandeau-legende .cat-item-institutions.active .elementor-heading-title{
  color:#000; 
  font-family:"futura-pt-bold",sans-serif;
}

/* ==============================
PDF
   ============================== */
/* ------- LÉGENDE : collapse vertical (mobile) ------- */
@media (max-width: 768px){
  .bandeau-legende{
    /* POSITION & DIMENSIONS */
    position: fixed;
    left: 0; right: 0; bottom: 0;
    max-height: 46vh;               /* hauteur ouverte max (scroll interne) */
    overflow: auto;
    -webkit-overflow-scrolling: touch;


    /* ANIM */
    --legend-handle: 44px;           /* hauteur du bandeau visible en état collapsed */
    transform: translateY(0);
    transition: transform .28s ease;
    z-index: 30;
  }

  /* ÉTAT COLLAPSÉ : on descend la légende en bas,
     on ne laisse visible que le "handle" du haut */
  .bandeau-legende.collapsed{
    transform: translateY(calc(100% - var(--legend-handle)));
  }

  /* Empêche un “crop à gauche” résiduel causé par overflow-x */
  .bandeau-legende { overflow-x: hidden; }

  /* Le bouton + (btn-expand) / − (btn-collapse) placé dans la barre du haut */
  
  .bandeau-legende .btn-collapse{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--legend-handle);
    height: var(--legend-handle);
    font: inherit;
    font-weight: 700;
    line-height: 1;
    user-select: none;
    cursor: pointer;
  }
  .bandeau-legende .btn-expand{
      display:none;
  }
.bandeau-legende .btn-expand {

    right: 0;
}
  /* Range bien les boutons en haut de la légende */
  .bandeau-legende .legend-head{
    position: sticky; top: 0;
    height: var(--legend-handle);
    display: flex;
    align-items: center;
    justify-content: flex-end;      /* le bouton à droite */
    gap: 8px;
    padding: 0 10px;
    background: #fff;
    border-bottom: 1px solid #eee;
    z-index: 1;
  }

  /* Si tu n'as pas d'élément .legend-head dans le markup,
     tu peux simplement styler le premier conteneur interne : */
  .bandeau-legende > *:first-child{
    position: sticky; top: 0;
    min-height: var(--legend-handle);
    z-index: 1;
  }
  .bandeau-legende::before{
      width: 100%;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'TheW_NYC';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://iconos-photo.fr/wp-content/uploads/2022/02/TheW_NYC-Regular.eot');
	src: url('https://iconos-photo.fr/wp-content/uploads/2022/02/TheW_NYC-Regular.eot?#iefix') format('embedded-opentype'),
		url('https://iconos-photo.fr/wp-content/uploads/2022/02/TheW_NYC-Regular.woff2') format('woff2'),
		url('https://iconos-photo.fr/wp-content/uploads/2022/02/TheW_NYC-Regular.woff') format('woff'),
		url('https://iconos-photo.fr/wp-content/uploads/2022/02/TheW_NYC-Regular.ttf') format('truetype'),
		url('https://iconos-photo.fr/wp-content/uploads/2022/02/TheW_NYC-Regular.svg#TheW_NYC') format('svg');
}
/* End Custom Fonts CSS */