@charset "UTF-8";
:root {
  --couleur-body: #fff;
  --couleur-texte: #1D1D1B;
  --couleur-texte-cta:#1D1D1B;
  --couleur-principale: #cedc00;
  --couleur-bg-cta: var(--couleur-principale);
  --couleur-secondaire-1: var(--couleur-principale);
  --couleur-secondaire-2:#6F6F6E;
  --couleur-secondaire-3:#343532;
  --couleur-secondaire-4:#D5D5D5;
  --couleur-secondaire-5:#F4F4F4;
  --font-weight-headings:700;
}

body {
  font-family: "Epilogue", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  background-color: var(--couleur-body);
  color: var(--couleur-texte);
  letter-spacing: -0.16px;
  counter-reset: section;
  overflow-x: hidden;
}

.calltoaction-blanc, .calltoaction {
  display: inline-block;
  margin: 5px 0;
  padding: 20px 15px !important;
  text-decoration: none !important;
  outline: none;
  border-radius: 12px;
  font-size: 15px !important;
  line-height: 25px !important;
  font-weight: 400;
  position: relative;
  z-index: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-transform: uppercase;
  vertical-align: middle;
}
.calltoaction-blanc:hover, .calltoaction:hover {
  background-color: var(--couleur-texte);
  color: #fff !important;
}

.calltoaction {
  color: var(--couleur-texte-cta) !important;
  border: 1px solid var(--couleur-secondaire-1);
  background-color: var(--couleur-secondaire-1);
}

.calltoaction-blanc {
  color: var(--couleur-texte-cta) !important;
  border: 1px solid var(--couleur-texte-cta);
  background-color: #fff;
}

img {
  max-width: 100%;
  height: auto;
}

.lienlibel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.owl-carousel .owl-stage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.owl-carousel .owl-item img {
  width: auto;
}
.owl-carousel .owl-dots {
  padding: 10px 0;
  text-align: center;
}
.owl-carousel .owl-dots .owl-dot {
  outline: none;
}
.owl-carousel .owl-dots .owl-dot span {
  display: block;
  width: 15px;
  height: 15px;
  margin: 0 5px;
  background-color: #fff;
  border: 1px solid var(--couleur-secondaire-1);
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.owl-carousel .owl-dots .owl-dot.active span, .owl-carousel .owl-dots .owl-dot:hover span {
  background-color: var(--couleur-secondaire-1);
}
.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  padding: 10px 20px !important;
  background-color: var(--couleur-secondaire-1) !important;
  border: 1px solid var(--couleur-secondaire-1) !important;
  color: #fff !important;
  outline: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.owl-carousel .owl-nav button.owl-prev:hover, .owl-carousel .owl-nav button.owl-next:hover {
  background-color: #fff !important;
  color: var(--couleur-secondaire-1) !important;
}
.owl-carousel .owl-nav button.owl-prev.owl-prev, .owl-carousel .owl-nav button.owl-next.owl-prev {
  left: -48px;
}
.owl-carousel .owl-nav button.owl-prev.owl-next, .owl-carousel .owl-nav button.owl-next.owl-next {
  right: -48px;
}

.tobi-zoom__icon {
  display: none;
}

/* HEADINGS */
h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  margin-bottom: 40px;
}

h1 {
  font-size: 62px;
  line-height: 65px;
  letter-spacing: -1.55px;
}

h2 {
  font-size: 37px;
  line-height: 50px;
  letter-spacing: -1px;
}

h3 {
  font-size: 22px;
  line-height: 28px;
}

#accroche-page {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
#accroche-page .bloc-para {
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
}

#accroche-home {
  padding-top: 190px;
  padding-bottom: 100px;
  background-color: var(--couleur-secondaire-3);
  mix-blend-mode: multiply;
}
#accroche-home .img-bg-accroche-home {
  position: absolute;
  top: 0;
  right: 0;
}
#accroche-home .bloc-texte {
  color: #fff;
}
#accroche-home .liste-marque {
  margin-top: 100px;
  max-width: 819px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid var(--couleur-secondaire-4);
  border-radius: 18px;
  width: 100%;
  padding: 15px 0 0 20px;
}
#accroche-home .titre-liste-marque {
  color: var(--couleur-secondaire-4);
  font-size: 22px;
  line-height: 22px;
  font-family: "Space Mono", sans-serif;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#accroche-home .titre-liste-marque svg * {
  fill: var(--couleur-secondaire-4);
}
#accroche-home .bloc-marque {
  background-color: var(--couleur-secondaire-4);
  border-radius: 12px;
  height: 97px;
  text-align: center;
  margin: 0 10px;
  max-width: 196px;
  width: 100%;
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#accroche-home .bloc-marque img {
  padding: 10px;
  max-width: 100%;
}
#accroche-home .titre-colonne-droite {
  margin-bottom: 60px;
}
#accroche-home .titre-colonne-droite h1, #accroche-home .titre-colonne-droite h2, #accroche-home .titre-colonne-droite h3, #accroche-home .titre-colonne-droite h4, #accroche-home .titre-colonne-droite h5, #accroche-home .titre-colonne-droite h6 {
  font-weight: 400;
  text-transform: uppercase;
  color: var(--couleur-secondaire-1);
}
#accroche-home .titre-colonne-droite h1, #accroche-home .titre-colonne-droite h2 {
  font-size: 20px;
  line-height: 26px;
}
#accroche-home .liste-machines {
  border-radius: 18px;
  position: relative;
}
#accroche-home .liste-machines:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  background-color: rgba(213, 213, 213, 0.3);
  border-radius: 18px;
}
#accroche-home .liste-machines h3 {
  font-family: "Space Mono", sans-serif;
  font-weight: 400;
  color: #fff;
  font-size: 22px;
  line-height: 22px;
  text-transform: uppercase;
  letter-spacing: 0;
  margin-bottom: 0;
  position: relative;
}
#accroche-home .liste-machines li {
  border: 1px solid var(--couleur-secondaire-4);
  border-radius: 12px;
  min-height: 88px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: var(--couleur-secondaire-4);
  text-decoration: none;
}
#accroche-home .liste-machines li .texte-1 {
  display: block;
  font-size: 20px;
  line-height: 22px;
  font-weight: bold;
}
#accroche-home .liste-machines li .texte-2 {
  display: block;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;
}
#accroche-home .liste-machines li:hover {
  border: 1px solid var(--couleur-secondaire-1);
}
#accroche-home .liste-machines li:hover .texte-1, #accroche-home .liste-machines li:hover .texte-2 {
  color: var(--couleur-secondaire-1);
}

.zone-mea-home {
  padding-top: 234px;
}
.zone-mea-home .sous-titre {
  color: var(--couleur-secondaire-1);
  font-size: 15px;
  line-height: 25px;
  font-weight: 400;
  font-family: "Space Mono", sans-serif;
}
.zone-mea-home .sous-titre span {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid var(--couleur-secondaire-1);
  border-radius: 12px;
  margin-bottom: 25px;
  text-transform: uppercase;
}
.zone-mea-home .content-mea {
  padding: 5px;
}
.zone-mea-home .bloc-mea {
  background-color: var(--couleur-secondaire-2);
  border-radius: 18px;
  width: 100%;
  min-height: 320px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.zone-mea-home .bloc-mea .bloc-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 18px;
  overflow: hidden;
}
.zone-mea-home .bloc-mea .bloc-image:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--couleur-secondaire-1);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  mix-blend-mode: screen;
  border-radius: 18px;
}
.zone-mea-home .bloc-mea img.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.zone-mea-home .bloc-mea .bloc-para {
  position: relative;
  z-index: 2;
  max-width: 330px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.zone-mea-home .bloc-mea h3 {
  color: #fff;
  font-size: 30px;
  line-height: 36px;
  font-weight: 500;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.zone-mea-home .bloc-mea .more {
  color: var(--couleur-secondaire-1);
  text-transform: uppercase;
  font-size: 15px;
  line-height: 25px;
  letter-spacing: -0.15px;
  display: inline-block;
  padding: 20px;
  margin-top: 18px;
  border: 1px solid var(--couleur-secondaire-1);
  border-radius: 12px;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.zone-mea-home .bloc-mea .lienlibel {
  z-index: 3;
}
.zone-mea-home .bloc-mea:hover .bloc-image {
  opacity: 1;
}
.zone-mea-home .bloc-mea:hover h3 {
  color: var(--couleur-texte);
}
.zone-mea-home .bloc-mea:hover .more {
  border: 1px solid var(--couleur-texte);
  color: var(--couleur-texte);
}

#zone-3-home {
  background-color: var(--couleur-secondaire-1);
  padding: 80px 0;
}
#zone-3-home .img-bg {
  position: absolute;
}
#zone-3-home .content-col-right {
  background-color: #fff;
  border-top-right-radius: 18px;
  border-bottom-right-radius: 18px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#zone-3-home .content-col-left {
  min-height: 420px;
  height: 100%;
  position: relative;
  background-color: transparent;
  border: 17px solid #fff;
  border-top-left-radius: 18px;
  border-bottom-left-radius: 18px;
}
#zone-3-home .content-col-left .element {
  display: block;
  position: absolute;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  top: -5px;
  left: -5px;
  background-color: transparent;
  border: 6px solid #fff;
  border-radius: 18px;
}
#zone-3-home .bloc-texte {
  max-width: 480px;
}
#zone-3-home .bloc-texte h1, #zone-3-home .bloc-texte h2 {
  font-size: 30px;
  line-height: 36px;
}
#zone-3-home .bloc-texte h1, #zone-3-home .bloc-texte h2, #zone-3-home .bloc-texte h3, #zone-3-home .bloc-texte h4, #zone-3-home .bloc-texte h5, #zone-3-home .bloc-texte h6 {
  margin-bottom: 16px;
  font-weight: 500;
}
#zone-3-home .img-1, #zone-3-home .img-2, #zone-3-home .img-3 {
  max-width: 38%;
}
#zone-3-home .img-1 {
  position: absolute;
  left: -2%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
}
#zone-3-home .img-2 {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#zone-3-home .img-3 {
  position: absolute;
  left: 100%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
}

#zone-4-home {
  padding-top: 105px;
  padding-bottom: 105px;
}
#zone-4-home .sous-titre {
  color: var(--couleur-texte);
  font-size: 15px;
  line-height: 25px;
  font-weight: 400;
  font-family: "Space Mono", sans-serif;
}
#zone-4-home .sous-titre span {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid var(--couleur-texte);
  border-radius: 12px;
  margin-bottom: 25px;
  text-transform: uppercase;
}
#zone-4-home .galerie {
  border: 1px solid var(--couleur-secondaire-4);
  border-radius: 18px;
  max-width: 990px;
  margin: auto;
}
#zone-4-home .bloc-content {
  padding: 10px;
}
#zone-4-home .content {
  width: 180px;
  margin: auto;
  background-color: var(--couleur-secondaire-5);
  height: 164px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 18px;
}
#zone-4-home .content img {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
#zone-4-home .owl-dots {
  position: absolute;
  top: 100%;
}

#zone-5-home {
  padding-top: 20px;
  padding-bottom: 80px;
}
#zone-5-home .titre {
  margin-bottom: 54px;
}
#zone-5-home .more {
  display: inline-block;
  color: var(--couleur-texte);
  font-size: 15px;
  line-height: 25px;
  font-weight: 400;
  font-family: "Space Mono", sans-serif;
  padding: 8px 12px;
  border: 1px solid var(--couleur-texte);
  border-radius: 12px;
  margin-bottom: 25px;
  text-transform: uppercase;
}
#zone-5-home .content-mea .grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
#zone-5-home .content-mea .grid > div:nth-child(1) {
  grid-area: 1/1/3/3;
}
#zone-5-home .content-mea .grid .bloc-mea {
  position: relative;
  padding: 12px;
}
#zone-5-home .content-mea .grid .bloc-mea .bloc-image {
  width: 100%;
  position: relative;
  border-radius: 18px;
  overflow: hidden;
}
#zone-5-home .content-mea .grid .bloc-mea .bloc-image:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 65%;
  border-radius: 18px;
}
#zone-5-home .content-mea .grid .bloc-mea .bloc-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#zone-5-home .content-mea .grid .bloc-mea h3 {
  font-weight: 400;
}
#zone-5-home .content-mea .grid .bloc-mea:first-child {
  border-radius: 23px;
  background-color: var(--couleur-secondaire-5);
}
#zone-5-home .content-mea .grid .bloc-mea:first-child h3 {
  font-size: 30px;
  line-height: 36px;
  font-weight: 400;
}
#zone-5-home .content-mea .grid .bloc-mea .bloc-para {
  padding: 15px 0;
}
#zone-5-home .content-mea .grid .bloc-mea .categorie ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
#zone-5-home .content-mea .grid .bloc-mea .categorie a {
  display: inline-block;
  color: var(--couleur-texte);
  font-size: 15px;
  line-height: 25px;
  font-weight: 400;
  font-family: "Space Mono", sans-serif;
  padding: 4px 12px;
  border: 1px solid var(--couleur-texte);
  border-radius: 12px;
  margin-bottom: 25px;
  text-transform: uppercase;
}

#liste-resultat-recherche a {
  color: var(--couleur-texte);
}
#liste-resultat-recherche a:hover {
  color: var(--couleur-secondaire-1);
}

/* FLEXIBLE */
.bloc-cta-1 {
  background-color: var(--couleur-secondaire-1);
}
.bloc-cta-1 .calltoaction {
  background-color: #fff !important;
  border: 1px solid #fff !important;
  color: var(--couleur-texte) !important;
}
.bloc-cta-1 .calltoaction:hover {
  background-color: var(--couleur-texte) !important;
  border: 1px solid var(--couleur-texte) !important;
  color: #fff !important;
}

.bloc-cta-3 {
  color: #fff;
}

.bloc-card .liste-blocs {
  margin: auto;
  max-width: 1310px;
}
.bloc-card .content-bloc {
  background-color: var(--couleur-texte);
  font-size: 22px;
  line-height: 28px;
}
.bloc-card .content-bloc .content-bloc-texte {
  padding: 30px 20px 10px;
}
.bloc-card .content-bloc .bloc-texte {
  padding: 0 15px;
  letter-spacing: -0.44px;
  color: #fff;
}
.bloc-card .more {
  padding-top: 5px;
}
.bloc-card .more a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}
.bloc-card .more a .picto {
  padding: 0px 25px 15px;
}
.bloc-card .more a .picto svg {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.bloc-card .more:hover .titre {
  display: block;
  position: relative;
}
.bloc-card .more:hover .titre:before {
  content: "";
  display: block;
  width: calc(100% - 1.5rem);
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: calc(100% + 5px);
  left: 1.5rem;
}
.bloc-card .more:hover .picto svg {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.bloc-mea h3 {
  color: var(--couleur-texte);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.bloc-mea h3:hover {
  color: var(--couleur-secondaire-1);
}

.bloc-mea-2 .bloc-image {
  position: relative;
  width: 150px;
  height: 150px;
}
.bloc-mea-2 .bloc-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.bloc-mea-2 .calltoaction {
  color: var(--couleur-texte);
  font-size: 18px !important;
  line-height: 23px !important;
  font-weight: bold;
  text-decoration: none !important;
  text-transform: none !important;
}

.the-bloc-mea-1 {
  max-width: 400px;
}
.the-bloc-mea-1 .bloc-image {
  overflow: hidden;
  max-width: 100%;
  position: relative;
  background-color: var(--couleur-secondaire-1);
}
.the-bloc-mea-1 .bloc-image:before {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  padding-top: 75%;
}
.the-bloc-mea-1 .bloc-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 2s;
  transition: all 2s;
}
.the-bloc-mea-1 .bloc-image:hover img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.the-bloc-mea-1 .more {
  position: relative;
  z-index: 1;
  color: var(--couleur-texte);
  font-size: 18px;
  line-height: 23px;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 15px 0;
  border-top: 2px solid var(--couleur-secondaire-1);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-decoration: none !important;
}
.the-bloc-mea-1 .more:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -10px;
  width: 0;
  height: 100%;
  background-color: var(--couleur-secondaire-1);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: -1;
}
.the-bloc-mea-1 .more svg {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.the-bloc-mea-1 .more:hover {
  color: #fff;
  border-top: 2px solid transparent;
}
.the-bloc-mea-1 .more:hover:after {
  width: calc(100% + 20px);
}
.the-bloc-mea-1 .more:hover svg {
  fill: #fff;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.the-bloc-mea-3 svg {
  fill: var(--couleur-texte);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.the-bloc-mea-3 a:hover h3 {
  color: var(--couleur-secondaire-1);
}
.the-bloc-mea-3 a:hover svg {
  fill: var(--couleur-secondaire-1);
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.the-bloc-mea-3 h3 {
  padding-right: 50px;
}

.bloc-mea-4 .bloc-mea-blog {
  border-top: 2px solid var(--couleur-secondaire-1);
  padding-top: 1.5rem;
}
.bloc-mea-4 .bloc-mea-blog .more a {
  color: var(--couleur-secondaire-1);
  text-transform: uppercase;
}
.bloc-mea-4 .bloc-mea-blog .bloc-texte {
  max-width: 520px;
}
.bloc-mea-4 .bloc-mea-blog .extrait {
  display: none;
}
.bloc-mea-4 .bloc-mea-blog h3 a {
  color: var(--couleur-texte);
}
.bloc-mea-4 .info-blog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 12px;
  font-weight: 600;
}
.bloc-mea-4 .info-blog .info-blog-categorie {
  margin-right: 10px;
}
.bloc-mea-4 .info-blog .info-blog-categorie ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.bloc-mea-4 .info-blog .info-blog-categorie ul li a {
  color: var(--couleur-secondaire-1);
  display: block;
  padding: 5px 15px;
  border: 1px solid var(--couleur-secondaire-1);
  border-radius: 23px;
  text-transform: uppercase;
}
.bloc-mea-4 .info-blog .info-blog-date {
  color: var(--couleur-secondaire-1);
}
.bloc-mea-4 .content-bloc-mea-left {
  padding: 30px 0 0 30px;
  background-color: var(--couleur-secondaire-1);
  color: #fff;
}
.bloc-mea-4 .content-bloc-mea-left .extrait {
  display: block;
}
.bloc-mea-4 .content-bloc-mea-left h3 a {
  color: #fff;
}
.bloc-mea-4 .content-bloc-mea-left .more a {
  color: #fff;
}
.bloc-mea-4 .content-bloc-mea-left .info-blog-categorie ul li a {
  color: #fff;
  border: 1px solid #fff;
}

.bloc-galerie .image-galerie {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.bloc-galerie .image-galerie:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 75%;
}
.bloc-galerie .image-galerie a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.bloc-galerie .image-galerie a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
  background-image: url("data:image/svg+xml,%3Csvg clip-rule='evenodd' fill='rgb(110,110,100)' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m15.97 17.031c-1.479 1.238-3.384 1.985-5.461 1.985-4.697 0-8.509-3.812-8.509-8.508s3.812-8.508 8.509-8.508c4.695 0 8.508 3.812 8.508 8.508 0 2.078-.747 3.984-1.985 5.461l4.749 4.75c.146.146.219.338.219.531 0 .587-.537.75-.75.75-.192 0-.384-.073-.531-.22zm-5.461-13.53c-3.868 0-7.007 3.14-7.007 7.007s3.139 7.007 7.007 7.007c3.866 0 7.007-3.14 7.007-7.007s-3.141-7.007-7.007-7.007z' fill-rule='nonzero'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.bloc-galerie .image-galerie a img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bloc-galerie .image-galerie a:hover:before {
  top: 0;
}

.bloc-carousel .owl-item > div {
  width: 100%;
  max-width: 510px;
  margin: auto;
  position: relative;
  overflow: hidden;
}
.bloc-carousel .owl-item > div img {
  margin: auto;
}

.bloc-faq .bloc-accordion {
  margin-bottom: 20px;
}
.bloc-faq .entete-card {
  background-color: #fff;
  padding: 13px 35px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.bloc-faq .entete-card h3 {
  position: relative;
  padding-right: 40px;
  color: var(--couleur-texte);
}
.bloc-faq .entete-card h3 button {
  text-decoration: none !important;
}
.bloc-faq .entete-card button {
  font-size: 18px;
  font-weight: bold;
  line-height: 22px;
  color: var(--couleur-texte);
  margin-bottom: 0;
  width: 100%;
  text-align: left;
}
.bloc-faq .entete-card button .picto {
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--couleur-secondaire-1);
  border-bottom: 2px solid var(--couleur-secondaire-1);
  position: absolute;
  right: 20px;
  top: 10px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
.bloc-faq .entete-card:hover, .bloc-faq .entete-card.active {
  background-color: var(--couleur-secondaire-1);
}
.bloc-faq .entete-card:hover button, .bloc-faq .entete-card.active button {
  color: #fff;
}
.bloc-faq .entete-card:hover button .picto, .bloc-faq .entete-card.active button .picto {
  -webkit-transform: rotate(225deg);
      -ms-transform: rotate(225deg);
          transform: rotate(225deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
.bloc-faq .content-card {
  overflow: hidden;
  border-left: 1px solid var(--couleur-secondaire-1);
  border-top: 1px solid var(--couleur-secondaire-1);
  border-right: 1px solid var(--couleur-secondaire-1);
}
.bloc-faq .content-card:first-child {
  border-top-left-radius: 23px;
  border-top-right-radius: 23px;
}
.bloc-faq .content-card:last-child {
  border-bottom: 1px solid var(--couleur-secondaire-1);
  border-bottom-left-radius: 23px;
  border-bottom-right-radius: 23px;
}
.bloc-faq .card-body {
  font-size: 15px;
  line-height: 22px;
  font-weight: 600;
  padding-left: 35px;
  padding-right: 35px;
}

.texte-modele-4 .liste-blocs {
  margin: auto;
  max-width: 1320px;
}
.texte-modele-4 .content-bloc {
  color: #fff;
  position: relative;
  background-color: var(--couleur-secondaire-1);
}
.texte-modele-4 .bloc-texte {
  padding: 70px 65px 30px;
  width: 100%;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.4px;
}
.texte-modele-4 .bloc-texte h1, .texte-modele-4 .bloc-texte h2, .texte-modele-4 .bloc-texte h3, .texte-modele-4 .bloc-texte h4, .texte-modele-4 .bloc-texte h5, .texte-modele-4 .bloc-texte h6 {
  letter-spacing: -0.5px;
  line-height: 1.1em;
  font-weight: 600;
}
.texte-modele-4 .bloc-texte-bottom {
  padding: 0 30px 10px;
}
.texte-modele-4 .picto {
  width: 60px;
  height: 60px;
  position: absolute;
}
.texte-modele-4 .picto span {
  position: absolute;
  display: block;
}
.texte-modele-4 .picto span:nth-child(1) {
  background-color: #fff;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
}
.texte-modele-4 .picto span:nth-child(2) {
  background-color: #fff;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
}
.texte-modele-4 .picto span:nth-child(3) {
  background-color: #fff;
  top: 0;
  left: 0;
  width: 5px;
  height: 5px;
}
.texte-modele-4 .picto.picto-haut {
  top: 30px;
  left: 30px;
}
.texte-modele-4 .picto.picto-bas {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  bottom: 30px;
  right: 30px;
}

.bloc-videos .content-bloc-video iframe {
  width: 100%;
  height: 450px;
}

.bloc-chiffres .bloc-content-texte {
  padding-top: 40px;
  border-top: 2px solid var(--couleur-secondaire-1);
}
.bloc-chiffres .bloc-chiffre {
  font-size: 45px;
  line-height: 52px;
  letter-spacing: -1.9px;
  -webkit-text-stroke-color: var(--couleur-secondaire-1);
  margin-bottom: 20px;
}

.bloc-texte-lire-la-suite .btn-more {
  position: relative;
  clear: both;
  cursor: pointer;
}
.bloc-texte-lire-la-suite .btn-more:before {
  content: "";
  display: block;
  width: 100%;
  border-top: 1px solid var(--couleur-bg-cta);
  background-color: var(--couleur-bg-cta);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.bloc-texte-lire-la-suite .btn-more-up span {
  position: relative;
  z-index: 1;
  background-color: #fff !important;
  color: var(--couleur-bg-cta) !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.bloc-texte-lire-la-suite .btn-more-up span:hover {
  background-color: var(--couleur-bg-cta) !important;
  color: #fff !important;
}
.bloc-texte-lire-la-suite .btn-more-down span {
  position: relative;
  z-index: 1;
  background-color: #fff !important;
  color: var(--couleur-bg-cta) !important;
  padding-left: 10px;
}
.bloc-texte-lire-la-suite .bloc-texte-2 {
  display: none;
}
.bloc-texte-lire-la-suite .bloc-para.open .btn-more-up {
  display: none;
}
.bloc-texte-lire-la-suite .bloc-para.open .bloc-texte-2 {
  display: block;
}

.bloc-liste .bloc-paragraphe-intro {
  background-color: var(--couleur-secondaire-3);
  margin: auto;
  text-align: center;
  max-width: 80%;
  padding: 70px 0;
}
.bloc-liste .bloc-paragraphe-intro:after {
  content: "";
  display: block;
  clear: both;
}
.bloc-liste .bloc-content-list {
  padding: 60px;
}
.bloc-liste .tab-content {
  padding: 0 60px 60px;
}
.bloc-liste .tab-pane {
  padding-bottom: 60px;
}
.bloc-liste .tab-pane p {
  margin-bottom: 15px;
}
.bloc-liste .tab-pane ul li {
  position: relative;
  margin-bottom: 10px;
}
.bloc-liste .list-group {
  background-color: #f1f1f1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 23px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 10px 0;
}
.bloc-liste .list-group a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-size: 15px;
  font-weight: bold;
  color: var(--couleur-secondaire-3);
  border: 1px solid var(--couleur-secondaire-3);
  z-index: 1;
  padding: 15px 20px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 18px;
  text-align: center;
  margin: 0 10px;
  text-decoration: none !important;
}
.bloc-liste .list-group a:hover, .bloc-liste .list-group a.active {
  background-color: var(--couleur-secondaire-3);
  color: #fff;
}

.bloc-temoignage .bloc-carousel {
  background-color: #fff;
  padding: 70px 0;
  border-radius: 23px;
}

/* CATEGORIES */
.liste-categories:before {
  content: "";
  display: block;
  clear: both;
}
.liste-categories ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.liste-categories a {
  display: inline-block;
  margin: 10px !important;
  padding: 15px 25px !important;
  text-align: center;
  border: 1px solid var(--couleur-secondaire-1) !important;
  color: var(--couleur-texte) !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-decoration: none;
}
.liste-categories a:hover, .liste-categories a.current {
  background-color: var(--couleur-secondaire-1) !important;
  color: #fff !important;
}
.liste-categories .liste {
  display: none;
}
.liste-categories select {
  border: 1px solid var(--couleur-secondaire-1);
  border-radius: 23px;
  padding: 15px 25px;
}
.liste-categories select option {
  background-color: var(--couleur-secondaire-1);
}
.liste-categories select::-webkit-scrollbar {
  width: 12px; /* width of the entire scrollbar */
}
.liste-categories select::-webkit-scrollbar-track {
  background: var(--couleur-secondaire-3); /* color of the tracking area */
}
.liste-categories select::-webkit-scrollbar-thumb {
  background-color: var(--couleur-secondaire-1); /* color of the scroll thumb */
  border-radius: 20px; /* roundness of the scroll thumb */
  border: 3px solid var(--couleur-secondaire-3); /* creates padding around scroll thumb */
}
.liste-categories input[type=submit] {
  border: 1px solid var(--couleur-texte);
  background-color: var(--couleur-texte);
  color: #fff;
  padding: 15px 20px;
  border-radius: 23px;
}

.liste-categorie-enfant .categorie-produit {
  list-style: none;
}
.liste-categorie-enfant .categorie-produit ul, .liste-categorie-enfant .categorie-produit li {
  list-style: none;
}
.liste-categorie-enfant .categorie-produit ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.liste-categorie-enfant .categorie-produit ul li {
  text-align: center;
  max-width: calc(25% - 20px);
  width: 100%;
  margin: 0 10px 10px;
}
.liste-categorie-enfant .categorie-produit ul li a {
  border-radius: 23px;
  display: block;
  width: 100%;
  background-color: var(--couleur-secondaire-1);
  color: var(--couleur-texte);
  font-size: 16px;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  padding: 1rem;
}
.liste-categorie-enfant .categorie-produit ul li a:hover {
  background-color: var(--couleur-texte);
  color: #fff;
}

.bloc-categorie-enfant {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.bloc-categorie-enfant a {
  border-radius: 23px;
  display: block;
  height: 100%;
  width: 100%;
  background-color: var(--couleur-secondaire-1);
  color: var(--couleur-texte);
  font-size: 16px;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.bloc-categorie-enfant a:hover {
  background-color: var(--couleur-texte);
  color: #fff;
}

/* PAGINATION */
.liste-pagination {
  width: 100%;
}

.pagination {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagination .page-item .page-link {
  color: var(--couleur-secondaire-1);
}
.pagination .page-item.active .page-link {
  background-color: var(--couleur-secondaire-1);
  border-color: var(--couleur-secondaire-1);
  color: #fff;
}

/* FIL ARIANE */
#breadcrumbs {
  padding: 20px 0;
}
#breadcrumbs a {
  color: var(--couleur-texte);
}

/* STYLE FORM KOBAN **/
.kbnzone #ncform input:not([type=checkbox]), .kbnzone #ncform textarea, .kbnzone #ncform select {
  width: 100%;
  padding: 6px 12px;
  border: 1px solid var(--couleur-secondaire-1);
  border-radius: 22px;
}
.kbnzone #ncform .ncFieldct {
  margin-bottom: 10px;
}
.kbnzone .ncFinality {
  font-size: 12px;
  line-height: 18px;
}
.kbnzone .ncSendZone a {
  display: inline-block !important;
  color: var(--couleur-texte) !important;
  text-decoration: none !important;
}
.kbnzone .ncSendZone a:hover {
  background-color: var(--couleur-texte) !important;
  color: #fff !important;
}

#btnAscenseur {
  visibility: hidden;
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  bottom: 50px;
  right: 50px;
  width: 60px;
  height: 60px;
  z-index: 9999;
  background: var(--couleur-secondaire-1);
  cursor: pointer;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#btnAscenseur.apparition {
  opacity: 1;
  visibility: visible;
}

/* FLUENTFORM */
.ff-el-group.titre-zone h2 {
  position: relative;
  font-size: 22px;
  line-height: 1.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.ff-el-group.titre-zone h2:before {
  counter-increment: section;
  content: counter(section);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #dae02e;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  font-size: 1.3rem;
  font-weight: bold;
  margin-right: 10px;
}

.bloc-categorie-archive a {
  text-decoration: none !important;
}
.bloc-categorie-archive .bloc-image {
  width: 100%;
  max-width: 400px;
  padding-top: 75%;
  position: relative;
  overflow: hidden;
}
.bloc-categorie-archive .bloc-image img {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  -webkit-transition: all 1s;
  transition: all 1s;
}
.bloc-categorie-archive h3 {
  color: var(--couleur-texte);
  padding: 15px 0;
}
.bloc-categorie-archive a:hover img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}

/* SEARCH and FILTER */
.searchandfilter select#ofcategorie-produit option.level-0 {
  font-weight: bold;
}
.searchandfilter select#ofcategorie-produit {
  /*option[value="0"] {
     display: none !important;
  }*/
}

.step-nav button, .btn-config span, .ff-btn-submit {
  background-color: var(--couleur-secondaire-1);
}

/* CPT PRODUITS */
body.post-type-archive-centre-usinage,
body.tax-categorie-centre-usinage,
body.post-type-archive-portique-cinq-axes,
body.tax-categorie-portique-5-axes,
body.post-type-archive-tour,
body.tax-categorie-tour {
  background-color: #EAEAEA;
}
body.post-type-archive-centre-usinage #breadcrumbs *,
body.tax-categorie-centre-usinage #breadcrumbs *,
body.post-type-archive-portique-cinq-axes #breadcrumbs *,
body.tax-categorie-portique-5-axes #breadcrumbs *,
body.post-type-archive-tour #breadcrumbs *,
body.tax-categorie-tour #breadcrumbs * {
  color: #fff;
}

.accroche-cpt-produit {
  max-width: 95%;
  margin: auto;
  border-radius: 18px;
  padding: 40px 60px;
  background: url("../assets/img/BACKGROUND_HEADER.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
}
.accroche-cpt-produit .bloc-texte h1, .accroche-cpt-produit .bloc-texte h2, .accroche-cpt-produit .bloc-texte h3, .accroche-cpt-produit .bloc-texte h4, .accroche-cpt-produit .bloc-texte h5, .accroche-cpt-produit .bloc-texte h6 {
  color: var(--couleur-secondaire-1);
  font-size: 62px;
  line-height: 65px;
  font-weight: 400;
  letter-spacing: -1.55px;
}

#filter-form h3, #filter-form-tour h3 {
  font-size: 18px;
  line-height: 22px;
  font-weight: 100;
  font-family: "Space Mono";
  text-transform: uppercase;
}
#filter-form select, #filter-form-tour select {
  width: 100%;
  padding: 10px 15px;
  border-radius: 12px;
  text-transform: uppercase;
  font-size: 15px;
}
#filter-form .bloc-range, #filter-form-tour .bloc-range {
  background-color: #fff;
  border-radius: 12px;
  color: var(--couleur-texte);
}
#filter-form .bloc-range .titre-bloc-range, #filter-form-tour .bloc-range .titre-bloc-range {
  width: 85px;
  height: 75px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-right: 1px solid #D5D5D5;
}
#filter-form .bloc-range .titre-bloc-range span, #filter-form-tour .bloc-range .titre-bloc-range span {
  font-size: 15px;
  font-weight: bold;
}
#filter-form .noUi-horizontal, #filter-form-tour .noUi-horizontal {
  height: 4px;
}
#filter-form .noUi-horizontal .noUi-handle, #filter-form-tour .noUi-horizontal .noUi-handle {
  width: 26px;
  height: 26px;
  right: -17px;
  top: -12px;
  border-radius: 50%;
  background: #000;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#filter-form .noUi-horizontal .noUi-handle:before, #filter-form-tour .noUi-horizontal .noUi-handle:before {
  display: none;
}
#filter-form .noUi-horizontal .noUi-handle:after, #filter-form-tour .noUi-horizontal .noUi-handle:after {
  display: none;
}
#filter-form .noUi-target, #filter-form-tour .noUi-target {
  background-color: #d3d3d3;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#filter-form .noUi-connect, #filter-form-tour .noUi-connect {
  background-color: var(--couleur-texte);
}
#filter-form .slider-values, #filter-form-tour .slider-values {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 14px;
  font-family: "Epilogue";
}
#filter-form .titre-value, #filter-form-tour .titre-value {
  display: inline-block;
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid #D5D5D5;
  color: #6F6F6E;
}
#filter-form button, #filter-form-tour button {
  background-color: var(--couleur-secondaire-1);
  padding: 10px 40px 10px 25px;
  border-radius: 12px;
  text-transform: uppercase;
  border: 1px solid var(--couleur-secondaire-1);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
#filter-form button svg, #filter-form-tour button svg {
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-left: 15px;
}
#filter-form button svg.svg-vert, #filter-form-tour button svg.svg-vert {
  opacity: 0;
}
#filter-form button:hover, #filter-form-tour button:hover {
  background-color: transparent;
  color: var(--couleur-secondaire-1);
}
#filter-form button:hover svg.svg-vert, #filter-form-tour button:hover svg.svg-vert {
  opacity: 1;
}
#filter-form button:hover svg.svg-noir, #filter-form-tour button:hover svg.svg-noir {
  opacity: 0;
}

.titre-categorie-cpt {
  font-size: 30px;
  font-weight: 400;
}

.count-post {
  display: inline-block;
  border: 1px solid #6F6F6E;
  color: #6F6F6E;
  padding: 2px 10px;
  border-radius: 8px;
  font-size: 15px;
  vertical-align: middle;
  margin-left: 10px;
}

.bloc-mea-cpt {
  border-radius: 18px;
  background-color: #fff;
  color: var(--couleur-texte);
  padding: 15px 20px;
}
.bloc-mea-cpt .logo-produit {
  max-width: 150px;
}
.bloc-mea-cpt button {
  background-color: #F0F0F0;
  padding: 15px 20px 15px 25px;
  border-radius: 12px;
  text-transform: uppercase;
  border: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  margin-left: auto;
  margin-bottom: 10px;
  display: block;
  overflow: hidden;
  width: 0;
}
.bloc-mea-cpt button .titre-btn {
  opacity: 0;
}
.bloc-mea-cpt button svg {
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.bloc-mea-cpt .bloc-image {
  width: 100%;
  padding-top: 75%;
  position: relative;
}
.bloc-mea-cpt .bloc-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  height: 80%;
  width: auto !important;
}
.bloc-mea-cpt h3 {
  font-size: 22px;
  line-height: 28px;
  color: var(--couleur-texte);
  font-weight: 600;
}
.bloc-mea-cpt a {
  text-decoration: none !important;
  color: var(--couleur-secondaire-2);
}
.bloc-mea-cpt a:hover button {
  width: auto;
  padding: 15px 40px 15px 25px;
  background-color: var(--couleur-secondaire-1);
}
.bloc-mea-cpt a:hover button .titre-btn {
  opacity: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/* WordPress Core*/
/*-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/***********
RESPONSIVE 
************/
@media only screen and (max-width: 1024px) {
  h1 {
    font-size: 42px;
    line-height: 45px;
  }
  h2 {
    font-size: 40px;
    line-height: 45px;
  }
  #accroche-home {
    padding-top: 50px;
  }
  .zone-mea-home .bloc-mea h3 {
    font-size: 20px;
    line-height: 26px;
  }
}
@media only screen and (max-width: 992px) {
  .titre-colonne-droite {
    margin-top: 20px;
  }
  .zone-mea-home {
    padding-top: 0;
  }
  #zone-4-home {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  #btnAscenseur {
    display: none !important;
  }
}
@media only screen and (max-width: 576px) {
  h1 {
    font-size: 32px;
    line-height: 35px;
  }
  #accroche-home .liste-marque {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #accroche-home .liste-marque .titre-liste-marque {
    text-align: center;
    margin-bottom: 20px;
  }
  #accroche-home .liste-marque svg {
    display: none;
  }
  #accroche-home .liste-marque {
  }
  #accroche-home .liste-machines h3 {
    text-align: center;
  }
  #zone-3-home .bloc-texte {
    padding: 10px;
  }
  #zone-3-home .img-1, #zone-3-home .img-3 {
    display: none;
  }
  #zone-3-home .img-2 {
    max-width: 80%;
  }
  #zone-3-home {
  }
  #zone-3-home .content-col-left {
    border-top-right-radius: 18px;
    border-bottom-left-radius: 0;
  }
  #zone-3-home .content-col-right {
    border-top-right-radius: 0;
    border-bottom-left-radius: 18px;
    border-bottom-right-radius: 18px;
  }
  #zone-5-home .content-mea .grid {
    grid-template-columns: repeat(1, 1fr);
  }
  #zone-5-home .content-mea .grid > div:nth-child(1) {
    grid-area: auto;
  }
  #zone-5-home .content-mea .grid {
  }
}
@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1640px;
  }
}
.container.acc-container {
  max-width: 1246px;
}

.acc-cadre {
  position: relative;
  margin-left: 18px;
  margin-right: 18px;
  border-radius: 10px;
}

.acc-surtitre {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 15px;
  font-weight: 700;
  letter-spacing: 3.6px;
  text-transform: uppercase;
}

.acc-titre {
  margin: 0 0 27px;
  font-size: 48px;
  line-height: 49px;
  font-weight: 400;
  letter-spacing: -3.36px;
  color: var(--couleur-secondaire-2);
}

.acc-intro {
  margin: 0;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: -1.12px;
}

.acc-fleche {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 14px;
  height: 14px;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
}

.acc-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 18px;
  min-height: 62px;
  padding: 10px 24px 10px 30px;
  border: 1px solid transparent;
  border-radius: 31px;
  background-color: rgba(206, 220, 0, 0.53);
  color: var(--couleur-texte) !important;
  font-size: 18px;
  line-height: 22px;
  font-weight: 600;
  letter-spacing: -1.26px;
  text-decoration: none !important;
  white-space: nowrap;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.acc-btn:hover {
  background-color: var(--couleur-texte);
  border-color: var(--couleur-texte);
  color: #fff !important;
}
.acc-btn:hover .acc-fleche {
  -webkit-filter: invert(1);
          filter: invert(1);
}

.acc-btn-fort {
  background-color: rgba(206, 220, 0, 0.66);
}

.acc-btn-contour {
  background-color: transparent;
  border-color: #cedc00;
}

.acc-btn-blanc {
  background-color: rgba(255, 255, 255, 0.47);
}

.acc-boutons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 9px;
}

/* HERO */
#acc-hero {
  position: relative;
  min-height: 736px;
  padding: 177px 0 83px;
  overflow: hidden;
  color: #fff;
}
#acc-hero .acc-hero-fond {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}
#acc-hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(248.39deg, rgba(0, 0, 0, 0.5) 65.579%, rgba(0, 0, 0, 0.155) 99.653%);
}
#acc-hero .acc-container {
  position: relative;
  z-index: 1;
}
#acc-hero .acc-hero-cadre {
  width: 598px;
  max-width: 100%;
  margin-left: auto;
  margin-right: -7px;
  padding: 36px 17px 13px;
  border: 1px solid rgba(255, 255, 255, 0.47);
  border-radius: 6px;
}
#acc-hero h1 {
  margin: 0 9px 43px;
  font-size: 48px;
  line-height: 49px;
  font-weight: 400;
  letter-spacing: -3.36px;
  color: #fff;
}
#acc-hero .acc-hero-bas {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
}
#acc-hero .acc-hero-texte {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 137px;
  margin: 0;
  padding: 33px 45px 20px 40px;
  border-radius: 6px;
  background-color: rgba(0, 0, 0, 0.42);
  font-size: 16px;
  line-height: 18px;
  font-weight: 400;
}
#acc-hero .acc-hero-badge {
  position: relative;
  z-index: 0;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 116px;
  min-height: 137px;
  padding: 18px 4px 12px;
  overflow: hidden;
  border: 1px solid #cedc00;
  border-radius: 6px;
  background-color: rgba(206, 220, 0, 0.67);
  color: var(--couleur-texte);
  text-align: center;
  /* Forme du logo PCI en fond : SVG utilisé comme masque, coloré par $couleur-principale */
}
#acc-hero .acc-hero-badge::before {
  content: "";
  position: absolute;
  top: 0;
  left: -124px;
  z-index: -1;
  width: 234.567px;
  height: 182px;
  background-color: rgba(206, 220, 0, 0.67);
  -webkit-mask: url("../assets/img/accueil/badge-forme.svg") no-repeat 0 0/100% 100%;
  mask: url("../assets/img/accueil/badge-forme.svg") no-repeat 0 0/100% 100%;
}
#acc-hero .acc-hero-badge-petit {
  display: block;
  font-size: 12px;
  line-height: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: uppercase;
}
#acc-hero .acc-hero-badge-chiffre {
  display: block;
  margin: 8px 0 9px;
  font-size: 34px;
  line-height: 23px;
  font-weight: 900;
  letter-spacing: 0;
  padding-top: 3px;
}

/* NOS SOLUTIONS */
#acc-solutions {
  margin-top: 15px;
  padding: 88px 0 55px;
  border: 1px solid #d9d9d9;
  background: url("../assets/img/accueil/trame-solutions.webp") no-repeat right top/796px 667px;
}
#acc-solutions .acc-titre-solutions {
  max-width: 867px;
}
#acc-solutions .acc-intro-solutions {
  max-width: 478px;
}
#acc-solutions .acc-solutions-contenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 101px;
}
#acc-solutions .acc-solutions-liste {
  margin: 6px 0 0 83px;
  padding: 0;
  list-style: none;
}
#acc-solutions .acc-solutions-liste li {
  margin-bottom: 7px;
}
#acc-solutions .acc-solutions-liste a, #acc-solutions .acc-solutions-liste .obflink {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 23px;
  padding: 10px 17px 9px;
  border: 1px solid transparent;
  border-radius: 4px;
  color: var(--couleur-secondaire-2);
  font-size: 26px;
  line-height: 30px;
  font-weight: 600;
  letter-spacing: -1.3px;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#acc-solutions .acc-solutions-liste a:hover, #acc-solutions .acc-solutions-liste .obflink:hover {
  color: var(--couleur-texte);
}
#acc-solutions .acc-solutions-liste .acc-fleche {
  display: none;
}
#acc-solutions .acc-solutions-liste {
  /* Solution active : la première par défaut, puis celle survolée (JS, classe « choisi ») */
}
#acc-solutions .acc-solutions-liste:not(.choisi) li:first-child a, #acc-solutions .acc-solutions-liste:not(.choisi) li:first-child .obflink,
#acc-solutions .acc-solutions-liste li.active a,
#acc-solutions .acc-solutions-liste li.active .obflink {
  min-width: 282px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-color: #cedc00;
  background-color: rgba(206, 220, 0, 0.39);
  color: var(--couleur-texte);
}
#acc-solutions .acc-solutions-liste:not(.choisi) li:first-child .acc-fleche,
#acc-solutions .acc-solutions-liste li.active .acc-fleche {
  display: block;
}
#acc-solutions {
  /* Un panneau (image + texte) par solution, seul l'actif est affiché */
}
#acc-solutions .acc-solutions-panneau {
  display: none;
}
#acc-solutions .acc-solutions-panneau.active {
  display: block;
}
#acc-solutions .acc-solutions-carte:not(.choisi) .acc-solutions-panneau:first-child {
  display: block;
}
#acc-solutions .acc-solutions-carte {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 512px;
  margin-right: -7px;
  padding: 9px 6px 13px 9px;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  background-color: rgba(217, 217, 217, 0.41);
}
#acc-solutions .acc-solutions-carte img {
  display: block;
  width: 495px;
  height: auto;
  aspect-ratio: 495/357;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 6px;
}
#acc-solutions .acc-solutions-carte p {
  max-width: 383px;
  margin: 14px 0 0;
  /* Gris foncé : le gris #6F6F6E n'atteignait que 4,37:1 sur la carte grise (RGAA 3.2, minimum 4,5:1) */
  color: var(--couleur-secondaire-3);
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: -1.12px;
}

/* NOTRE INTERVENTION */
#acc-intervention {
  margin-top: 16px;
  aspect-ratio: 1404/735;
  overflow: hidden;
  color: #fff;
  text-align: center;
  /* Image + points : même cadre, les points sont placés en % de l'image */
}
#acc-intervention .acc-intervention-visuel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#acc-intervention .acc-intervention-fond {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}
#acc-intervention::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.63)), color-stop(32.39%, rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.63), rgba(0, 0, 0, 0) 32.39%);
  pointer-events: none;
}
#acc-intervention .acc-intervention-entete {
  position: relative;
  z-index: 2;
  padding: 56px 15px 0;
}
#acc-intervention .acc-intervention-entete .acc-surtitre {
  margin-bottom: 8px;
}
#acc-intervention .acc-intervention-entete .acc-titre {
  max-width: 598px;
  margin: 0 auto;
  color: #fff;
}
#acc-intervention .acc-intervention-points {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}
#acc-intervention {
  /* Points : position (left/top en %) saisie dans ACF, texte affiché au survol, au focus ou au clic */
}
#acc-intervention .acc-point {
  position: absolute;
  z-index: 2;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: rgba(206, 220, 0, 0.3);
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  cursor: pointer;
  /* Pastille centrale pleine (1/3 du diamètre, comme la maquette) */
}
#acc-intervention .acc-point::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 33.333%;
  height: 33.333%;
  border-radius: 50%;
  background-color: #cedc00;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#acc-intervention .acc-point:focus {
  outline: none;
}
#acc-intervention .acc-point:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
#acc-intervention .acc-point.active {
  z-index: 3;
}
#acc-intervention .acc-point-libelle {
  position: absolute;
  bottom: calc(100% + 25px);
  left: 50%;
  width: 291px;
  padding: 20px 10px;
  border-radius: 6px;
  background-color: rgba(255, 255, 255, 0.7);
  color: var(--couleur-texte);
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  text-align: center;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  /* Masqué visuellement seulement : le texte reste le nom du bouton pour les lecteurs d'écran (RGAA 11.9) */
  opacity: 0;
  pointer-events: none;
}
#acc-intervention {
  /* Points proches des bords : texte aligné vers l'intérieur de l'image */
}
#acc-intervention .acc-point[data-cote=droite] .acc-point-libelle {
  left: auto;
  right: -14px;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
#acc-intervention .acc-point[data-cote=gauche] .acc-point-libelle {
  left: -14px;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
#acc-intervention {
  /* Texte visible : le premier point par défaut, puis celui survolé (JS, classe « choisi ») */
}
#acc-intervention .acc-intervention-points:not(.choisi) .acc-point:first-child .acc-point-libelle,
#acc-intervention .acc-point.active .acc-point-libelle {
  opacity: 1;
}
#acc-intervention .acc-intervention-cta {
  position: absolute;
  left: 15px;
  right: 15px;
  bottom: 41px;
  z-index: 2;
}

/* NOS MACHINES */
#acc-machines {
  padding-top: 81px;
}
#acc-machines .acc-machines-entete {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#acc-machines .acc-machines-entete .acc-surtitre {
  margin-bottom: 18px;
}
#acc-machines .acc-machines-entete .acc-titre {
  max-width: 613px;
  margin-bottom: 18px;
}
#acc-machines .acc-machines-entete .acc-intro {
  max-width: 521px;
}
#acc-machines .acc-marques {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  margin: 10px -4px 0 0;
  padding: 15px 12px 15px 13px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  list-style: none;
}
#acc-machines .acc-marques li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 112px;
  height: 98px;
  border-radius: 4px;
  background-color: rgba(217, 217, 217, 0.6);
}
#acc-machines .acc-marques a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#acc-machines .acc-marques a:hover {
  opacity: 0.7;
}
#acc-machines .acc-marques {
  /* Logos choisis dans l'admin : contenus dans la case, quelle que soit leur taille */
}
#acc-machines .acc-marques img {
  width: auto;
  height: auto;
  max-width: 76px;
  max-height: 40px;
}
#acc-machines .acc-machines-cartes {
  margin: 51px -10px 0;
}
#acc-machines .acc-machines-cartes > div {
  padding-left: 10px;
  padding-right: 10px;
}
#acc-machines .acc-machine {
  position: relative;
  margin: -8px -9px 0;
  padding: 7px 8px 20px;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#acc-machines .acc-machine img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 392/395;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 6px;
}
#acc-machines .acc-machine h3 {
  margin: 21px 0 0;
  font-size: 26px;
  line-height: 30px;
  font-weight: 400;
  letter-spacing: -1.3px;
}
#acc-machines .acc-machine:hover {
  border-color: #d9d9d9;
  background-color: rgba(217, 217, 217, 0.6);
}
#acc-machines .acc-boutons {
  margin-top: 91px;
}
#acc-machines .acc-bandeau {
  position: relative;
  min-height: 234px;
  margin-top: 78px;
  padding: 59px 20px 50px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  background-color: #cedc00;
  text-align: center;
  overflow: hidden;
}
#acc-machines .acc-bandeau::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 4px;
  width: 681px;
  height: 221px;
  max-width: 100%;
  background: url("../assets/img/accueil/trame-bandeau.webp") no-repeat 0 0/100% 100%;
  opacity: 0.3;
  pointer-events: none;
}
#acc-machines .acc-bandeau p {
  position: relative;
  margin: 0 0 16px;
  font-size: 26px;
  line-height: 30px;
  font-weight: 700;
  letter-spacing: -1.3px;
}
#acc-machines .acc-bandeau .acc-btn {
  position: relative;
}

/* VOS ENJEUX */
#acc-enjeux {
  margin-top: 81px;
  padding: 84px 0 68px;
  border: 1px solid #d9d9d9;
  background-color: rgba(217, 217, 217, 0.24);
}
#acc-enjeux::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 686px;
  max-width: 100%;
  border-radius: 10px;
  background: url("../assets/img/accueil/trame-enjeux.webp") no-repeat 0 0/100% 100%;
  opacity: 0.3;
  pointer-events: none;
}
#acc-enjeux .acc-container {
  position: relative;
}
#acc-enjeux .acc-enjeux-gauche {
  padding-top: 32px;
}
#acc-enjeux .acc-enjeux-gauche .acc-titre {
  max-width: 475px;
  margin-bottom: 32px;
}
#acc-enjeux .acc-enjeux-gauche .acc-intro {
  max-width: 403px;
  margin-bottom: 59px;
}
#acc-enjeux .acc-enjeu {
  position: relative;
  min-height: 140px;
  margin-bottom: 19px;
  padding: 32px 34px 26px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  -webkit-transition: border-color 0.3s, background-color 0.3s;
  transition: border-color 0.3s, background-color 0.3s;
}
#acc-enjeux .acc-enjeu:last-child {
  margin-bottom: 0;
}
#acc-enjeux .acc-enjeu {
  /* Carte avec lien (champ ACF facultatif) : toute la carte est cliquable */
}
#acc-enjeux .acc-enjeu:has(.lienlibel):hover {
  border-color: #cedc00;
  background-color: rgba(206, 220, 0, 0.15);
}
#acc-enjeux .acc-enjeu h3 {
  margin: 0 0 3px;
  font-size: 26px;
  line-height: 30px;
  font-weight: 700;
  letter-spacing: -1.3px;
}
#acc-enjeux .acc-enjeu p {
  max-width: 428px;
  margin: 0;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: -1.12px;
}

/* NOS SERVICES & SAV */
#acc-services {
  margin-top: 21px;
  padding: 90px 0 66px;
  background-color: var(--couleur-texte);
  color: #d9d9d9;
}
#acc-services .acc-services-entete {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#acc-services .acc-services-entete .acc-surtitre {
  margin-bottom: 15px;
  color: #fff;
}
#acc-services .acc-services-entete .acc-titre {
  max-width: 673px;
  margin-bottom: 22px;
  color: #d9d9d9;
}
#acc-services .acc-services-entete .acc-intro {
  max-width: 552px;
}
#acc-services .acc-services-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 186px;
  height: 94px;
  margin-top: 27px;
  border: 1px solid var(--couleur-secondaire-2);
  border-radius: 4px;
}
#acc-services .acc-services-logo img {
  width: auto;
  height: auto;
  max-width: 150px;
  max-height: 60px;
}
#acc-services .acc-services-cartes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 41px;
}
#acc-services .acc-service {
  position: relative;
  min-height: 341px;
  padding: 19px 16px 20px;
  border: 1px solid var(--couleur-secondaire-2);
  border-radius: 4px;
  background-color: rgba(217, 217, 217, 0.1);
  -webkit-transition: border-color 0.3s, background-color 0.3s;
  transition: border-color 0.3s, background-color 0.3s;
  /* Carte avec lien (champ ACF facultatif) : toute la carte est cliquable */
}
#acc-services .acc-service:has(.lienlibel):hover {
  border-color: #cedc00;
  background-color: rgba(217, 217, 217, 0.18);
}
#acc-services .acc-service h3 {
  margin: 63px 0 4px;
  font-size: 22px;
  line-height: 26px;
  font-weight: 500;
  text-transform: uppercase;
}
#acc-services .acc-service p {
  margin: 0;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: -1.12px;
}
#acc-services .acc-service-picto {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  height: 96px;
  /* Pictos choisis dans l'admin : alignés en bas, contenus dans la zone */
}
#acc-services .acc-service-picto img {
  width: auto;
  height: auto;
  max-width: 120px;
  max-height: 96px;
}
#acc-services .acc-boutons {
  margin-top: 60px;
}

/* CONTACT */
#acc-contact {
  padding: 81px 0 128px;
}
#acc-contact .acc-surtitre {
  margin-bottom: 15px;
}
#acc-contact .acc-titre {
  max-width: 561px;
  margin: 0;
}
#acc-contact .acc-contact-droite {
  padding-top: 33px;
}
#acc-contact .acc-contact-droite .acc-intro {
  max-width: 412px;
  margin-bottom: 19px;
}
#acc-contact .acc-contact-droite .acc-btn {
  min-width: 392px;
}

/* RESPONSIVE */
@media only screen and (max-width: 1199px) {
  .acc-titre,
  #acc-hero h1 {
    font-size: 40px;
    line-height: 42px;
    letter-spacing: -2.5px;
  }
  /* Retours à la ligne saisis dans le titre du hero : grand écran seulement */
  #acc-hero h1 br {
    display: none;
  }
  #acc-solutions .acc-solutions-liste {
    margin-left: 0;
  }
  #acc-machines .acc-marques li {
    width: 90px;
  }
}
@media only screen and (max-width: 991px) {
  #acc-hero {
    min-height: 0;
    padding: 100px 0 60px;
  }
  #acc-hero .acc-hero-cadre {
    margin-right: 0;
  }
  #acc-hero {
  }
  #acc-solutions {
    padding-top: 60px;
    background-size: 60% auto;
  }
  #acc-solutions .acc-solutions-contenu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 40px;
  }
  #acc-solutions .acc-solutions-carte {
    width: 100%;
    max-width: 512px;
    margin: 30px 0 0;
  }
  #acc-solutions .acc-solutions-carte img {
    width: 100%;
  }
  #acc-solutions .acc-solutions-carte {
  }
  #acc-solutions {
  }
  /* Mobile / tablette : titre au-dessus, image entière dessous (les points restent calés), bouton en bas */
  #acc-intervention {
    aspect-ratio: auto;
    background-color: var(--couleur-texte);
  }
  #acc-intervention::before {
    display: none;
  }
  #acc-intervention .acc-intervention-entete {
    padding: 40px 15px 24px;
  }
  #acc-intervention .acc-intervention-visuel {
    position: relative;
    aspect-ratio: 1404/735;
  }
  #acc-intervention .acc-point {
    width: 32px;
    height: 32px;
  }
  #acc-intervention .acc-point-libelle {
    bottom: calc(100% + 8px);
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 180px;
    padding: 8px 10px;
    background-color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    line-height: 17px;
  }
  #acc-intervention .acc-point[data-cote=droite] .acc-point-libelle {
    right: -6px;
  }
  #acc-intervention .acc-point[data-cote=gauche] .acc-point-libelle {
    left: -6px;
  }
  #acc-intervention .acc-intervention-cta {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    padding: 24px 15px 30px;
  }
  #acc-intervention {
  }
  #acc-machines {
    padding-top: 60px;
  }
  #acc-machines .acc-machines-entete {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #acc-machines .acc-marques {
    margin: 30px 0 0;
  }
  #acc-machines .acc-machines-cartes > div {
    margin-bottom: 30px;
  }
  #acc-machines .acc-boutons {
    margin-top: 30px;
  }
  #acc-machines .acc-bandeau {
    margin-top: 50px;
  }
  #acc-machines {
  }
  #acc-enjeux {
    margin-top: 50px;
    padding: 50px 0;
  }
  #acc-enjeux .acc-enjeux-gauche {
    padding-top: 0;
    margin-bottom: 40px;
  }
  #acc-enjeux {
  }
  #acc-services {
    padding: 60px 0;
  }
  #acc-services .acc-services-entete {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #acc-services .acc-services-logo {
    margin-top: 30px;
  }
  #acc-services .acc-services-cartes {
    grid-template-columns: repeat(2, 1fr);
  }
  #acc-services {
  }
  #acc-contact {
    padding: 60px 0;
  }
  #acc-contact .acc-contact-droite {
    padding-top: 30px;
  }
  #acc-contact {
  }
}
@media only screen and (max-width: 767px) {
  .acc-cadre {
    margin-left: 8px;
    margin-right: 8px;
  }
  .acc-titre,
  #acc-hero h1 {
    font-size: 32px;
    line-height: 35px;
    letter-spacing: -1.5px;
  }
  .acc-btn {
    white-space: normal;
    text-align: left;
    background-color: #cedc00;
  }
  #acc-hero h1 {
    margin: 0 0 30px;
  }
  #acc-hero .acc-hero-bas {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #acc-hero .acc-hero-texte {
    min-height: 0;
    padding: 20px;
  }
  #acc-hero .acc-hero-badge {
    width: 100%;
  }
  #acc-hero {
  }
  #acc-solutions .acc-solutions-liste a {
    font-size: 22px;
    line-height: 26px;
  }
  #acc-machines .acc-marques {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
  }
  #acc-machines .acc-marques li {
    width: calc(50% - 4px);
    height: 70px;
  }
  #acc-machines .acc-marques {
  }
  #acc-services .acc-services-cartes {
    grid-template-columns: 1fr;
  }
  #acc-services .acc-service {
    min-height: 0;
  }
  #acc-contact .acc-contact-droite .acc-btn {
    min-width: 0;
  }
}
/***********
ANIMATIONS
html.acc-anim est posé dans le <head> par inc/custom.php (accueil uniquement, jamais si le visiteur
demande à réduire les animations). custom.js ajoute .acc-visible à chaque élément quand il apparaît.
La liste $acc-anim-cibles doit rester identique à celle de custom.js (accAnimCibles).
************/
html.acc-anim {
  /* Apparition au défilement : fondu + montée, décalée entre éléments voisins (--acc-delai posé par le JS) */
}
html.acc-anim #acc-solutions .acc-surtitre, html.acc-anim #acc-solutions .acc-titre, html.acc-anim #acc-solutions .acc-intro, html.acc-anim #acc-solutions .acc-solutions-liste li, html.acc-anim #acc-solutions .acc-solutions-carte, html.acc-anim #acc-intervention .acc-intervention-entete > *, html.acc-anim #acc-intervention .acc-intervention-cta, html.acc-anim #acc-machines .acc-machines-textes > *, html.acc-anim #acc-machines .acc-marques li, html.acc-anim #acc-machines .acc-machines-cartes > div, html.acc-anim #acc-machines .acc-boutons, html.acc-anim #acc-machines .acc-bandeau, html.acc-anim #acc-enjeux .acc-enjeux-gauche > *, html.acc-anim #acc-enjeux .acc-enjeu, html.acc-anim #acc-services .acc-services-entete > div > *, html.acc-anim #acc-services .acc-services-logo, html.acc-anim #acc-services .acc-service, html.acc-anim #acc-services .acc-boutons, html.acc-anim #acc-contact .col-lg-6 > *, html.acc-anim #acc-contact .acc-contact-droite > * {
  opacity: 0;
  -webkit-transform: translateY(28px);
      -ms-transform: translateY(28px);
          transform: translateY(28px);
  -webkit-transition: opacity 0.7s ease, border-color 0.3s, background-color 0.3s, -webkit-transform 0.7s cubic-bezier(0.2, 0.7, 0.3, 1);
  transition: opacity 0.7s ease, border-color 0.3s, background-color 0.3s, -webkit-transform 0.7s cubic-bezier(0.2, 0.7, 0.3, 1);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.7, 0.3, 1), border-color 0.3s, background-color 0.3s;
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.7, 0.3, 1), border-color 0.3s, background-color 0.3s, -webkit-transform 0.7s cubic-bezier(0.2, 0.7, 0.3, 1);
  -webkit-transition-delay: var(--acc-delai, 0s);
          transition-delay: var(--acc-delai, 0s);
}
html.acc-anim #acc-solutions .acc-surtitre.acc-visible, html.acc-anim #acc-solutions .acc-titre.acc-visible, html.acc-anim #acc-solutions .acc-intro.acc-visible, html.acc-anim #acc-solutions .acc-solutions-liste li.acc-visible, html.acc-anim #acc-solutions .acc-solutions-carte.acc-visible, html.acc-anim #acc-intervention .acc-intervention-entete > *.acc-visible, html.acc-anim #acc-intervention .acc-intervention-cta.acc-visible, html.acc-anim #acc-machines .acc-machines-textes > *.acc-visible, html.acc-anim #acc-machines .acc-marques li.acc-visible, html.acc-anim #acc-machines .acc-machines-cartes > div.acc-visible, html.acc-anim #acc-machines .acc-boutons.acc-visible, html.acc-anim #acc-machines .acc-bandeau.acc-visible, html.acc-anim #acc-enjeux .acc-enjeux-gauche > *.acc-visible, html.acc-anim #acc-enjeux .acc-enjeu.acc-visible, html.acc-anim #acc-services .acc-services-entete > div > *.acc-visible, html.acc-anim #acc-services .acc-services-logo.acc-visible, html.acc-anim #acc-services .acc-service.acc-visible, html.acc-anim #acc-services .acc-boutons.acc-visible, html.acc-anim #acc-contact .col-lg-6 > *.acc-visible, html.acc-anim #acc-contact .acc-contact-droite > *.acc-visible {
  opacity: 1;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
html.acc-anim {
  /* Points de l'intervention : ils apparaissent en grossissant (leur transform sert déjà au centrage), puis pulsent */
}
html.acc-anim #acc-intervention .acc-point {
  opacity: 0;
  scale: 0.3;
  -webkit-transition: opacity 0.5s ease, scale 0.6s cubic-bezier(0.3, 1.6, 0.5, 1);
  transition: opacity 0.5s ease, scale 0.6s cubic-bezier(0.3, 1.6, 0.5, 1);
  -webkit-transition-delay: var(--acc-delai, 0s);
          transition-delay: var(--acc-delai, 0s);
}
html.acc-anim #acc-intervention .acc-point.acc-visible {
  opacity: 1;
  scale: 1;
  /* 2 cycles de 2,4 s = 4,8 s : un mouvement automatique doit durer moins de 5 s (RGAA 13.8) */
  -webkit-animation: acc-pulse 2.4s ease-out 1s 2;
          animation: acc-pulse 2.4s ease-out 1s 2;
}
html.acc-anim #acc-intervention .acc-point:nth-child(2n).acc-visible {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
html.acc-anim #acc-intervention .acc-point:nth-child(3n).acc-visible {
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
}
html.acc-anim {
  /* Hero : animé dès l'arrivée sur la page, sans attendre le JS */
}
html.acc-anim #acc-hero .acc-hero-fond {
  -webkit-animation: acc-zoom 2.4s ease-out both;
          animation: acc-zoom 2.4s ease-out both;
}
html.acc-anim #acc-hero .acc-hero-cadre {
  -webkit-animation: acc-monte 0.9s 0.1s cubic-bezier(0.2, 0.7, 0.3, 1) both;
          animation: acc-monte 0.9s 0.1s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}
html.acc-anim #acc-hero h1 {
  -webkit-animation: acc-monte 0.9s 0.3s cubic-bezier(0.2, 0.7, 0.3, 1) both;
          animation: acc-monte 0.9s 0.3s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}
html.acc-anim #acc-hero .acc-hero-bas > * {
  -webkit-animation: acc-monte 0.9s 0.5s cubic-bezier(0.2, 0.7, 0.3, 1) both;
          animation: acc-monte 0.9s 0.5s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}
html.acc-anim #acc-hero .acc-hero-badge {
  -webkit-animation-delay: 0.65s;
          animation-delay: 0.65s;
}

@-webkit-keyframes acc-monte {
  from {
    opacity: 0;
    -webkit-transform: translateY(28px);
            transform: translateY(28px);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@keyframes acc-monte {
  from {
    opacity: 0;
    -webkit-transform: translateY(28px);
            transform: translateY(28px);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@-webkit-keyframes acc-zoom {
  from {
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  to {
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes acc-zoom {
  from {
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  to {
    -webkit-transform: none;
            transform: none;
  }
}
@-webkit-keyframes acc-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(206, 220, 0, 0.55);
            box-shadow: 0 0 0 0 rgba(206, 220, 0, 0.55);
  }
  70%, 100% {
    -webkit-box-shadow: 0 0 0 18px rgba(206, 220, 0, 0);
            box-shadow: 0 0 0 18px rgba(206, 220, 0, 0);
  }
}
@keyframes acc-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(206, 220, 0, 0.55);
            box-shadow: 0 0 0 0 rgba(206, 220, 0, 0.55);
  }
  70%, 100% {
    -webkit-box-shadow: 0 0 0 18px rgba(206, 220, 0, 0);
            box-shadow: 0 0 0 18px rgba(206, 220, 0, 0);
  }
}
/* Boutons : la flèche glisse au survol */
@media (prefers-reduced-motion: no-preference) {
  .acc-btn .acc-fleche {
    -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s;
    transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s;
    transition: transform 0.3s ease, filter 0.3s;
    transition: transform 0.3s ease, filter 0.3s, -webkit-transform 0.3s ease, -webkit-filter 0.3s;
  }
  .acc-btn:hover .acc-fleche {
    -webkit-transform: translateX(4px) rotate(45deg);
        -ms-transform: translateX(4px) rotate(45deg);
            transform: translateX(4px) rotate(45deg);
  }
}
/* Lien d'évitement (RGAA 12.7) : premier élément de la page, visible seulement au focus clavier */
.lien-evitement {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 100000;
  padding: 12px 18px;
  border-radius: 6px;
  background-color: #cedc00;
  color: var(--couleur-texte) !important;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  -webkit-transform: translateY(-150%);
      -ms-transform: translateY(-150%);
          transform: translateY(-150%);
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.lien-evitement:focus {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  outline: 2px solid var(--couleur-texte);
  outline-offset: 2px;
}

#contenu:focus {
  outline: none;
}

#entete {
  position: sticky;
  top: 0;
  z-index: 1030;
  background-color: var(--couleur-texte);
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
#entete .navbar {
  padding: 0;
}
#entete .entete-contenu {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 21px 27px 12px 30px;
}
#entete .entete-logo {
  display: block;
  margin-top: 3px;
}
#entete .entete-logo img {
  display: block;
  width: 251px;
  height: auto;
}
#entete .entete-burger {
  display: none;
}
#entete .entete-menus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-left: auto;
}
#entete {
  /* Liens obfusqués : <span class="obflink"> à la place du <a>, même style partout */
}
#entete .obflink {
  cursor: pointer;
}
#entete ul {
  list-style: none;
}
#entete {
  /* Ligne du haut */
}
#entete .entete-secondaire {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 85px 10px 0;
  padding: 0;
}
#entete .entete-secondaire li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#entete .entete-secondaire li + li::before {
  content: "·";
  margin: 0 10px;
  color: #fff;
  font-size: 12px;
  line-height: 12px;
  font-weight: 700;
}
#entete .entete-secondaire a, #entete .entete-secondaire .obflink {
  color: #fff;
  font-size: 12px;
  line-height: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
#entete .entete-secondaire a:hover, #entete .entete-secondaire .obflink:hover {
  color: #cedc00;
}
#entete {
  /* Menu principal : la pastille blanche, Contact (classe « bouton ») est sortie à droite */
}
#entete .entete-principal {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 45px;
  margin: 0 85px 0 0;
  padding: 0 4px 0 7px;
  border-radius: 6px;
  /* Fond plus blanc pour que la barre ressorte sur la photo, avec un léger flou de l'arrière-plan */
  background-color: rgba(255, 255, 255, 0.75);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
#entete .entete-principal > li {
  position: relative;
}
#entete .entete-principal > li > a, #entete .entete-principal > li > .obflink {
  position: relative;
  z-index: 0;
  display: block;
  padding: 0 17px;
  color: var(--couleur-texte);
  font-size: 12px;
  line-height: 45px;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
  text-decoration: none;
}
#entete .entete-principal {
  /* Survol des entrées de 1er niveau : pastille dans la couleur principale derrière le texte.
     Le texte reste foncé : en vert sur fond blanc, il serait illisible (contraste ~1,4:1, RGAA 3.2).
     La pastille reste affichée pendant la navigation dans le sous-menu et au clavier. */
}
#entete .entete-principal > li:not(.bouton) > a::before, #entete .entete-principal > li:not(.bouton) > .obflink::before {
  content: "";
  position: absolute;
  top: 7px;
  right: 4px;
  bottom: 7px;
  left: 4px;
  z-index: -1;
  border-radius: 4px;
  background-color: #cedc00;
  opacity: 0;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
#entete .entete-principal > li:not(.bouton):hover > a::before, #entete .entete-principal > li:not(.bouton):hover > .obflink::before, #entete .entete-principal > li:not(.bouton):focus-within > a::before, #entete .entete-principal > li:not(.bouton):focus-within > .obflink::before {
  opacity: 1;
}
#entete .entete-principal > li.current-menu-item > a, #entete .entete-principal > li.current-menu-item > .obflink, #entete .entete-principal > li.current-menu-ancestor > a, #entete .entete-principal > li.current-menu-ancestor > .obflink {
  text-decoration: underline;
  -webkit-text-decoration-color: #cedc00;
          text-decoration-color: #cedc00;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
#entete .entete-principal > li.bouton {
  -webkit-box-ordinal-group: 100;
      -ms-flex-order: 99;
          order: 99;
  margin: 0 -89px 0 11px;
}
#entete .entete-principal > li.bouton > a, #entete .entete-principal > li.bouton > .obflink {
  width: 78px;
  padding: 0;
  border: 1px solid #cedc00;
  border-radius: 6px;
  background-color: rgba(206, 220, 0, 0.84);
  line-height: 43px;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#entete .entete-principal > li.bouton > a:hover, #entete .entete-principal > li.bouton > .obflink:hover {
  border-color: #fff;
  background-color: #fff;
  color: var(--couleur-texte);
}
#entete .entete-principal {
  /* Sous-menus */
}
#entete .entete-principal .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 2;
  min-width: 250px;
  margin: 8px 0 0;
  padding: 8px;
  border-radius: 6px;
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
          box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s, visibility 0.2s;
  transition: opacity 0.2s, visibility 0.2s;
}
#entete .entete-principal .sub-menu::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  height: 8px;
}
#entete .entete-principal .sub-menu a, #entete .entete-principal .sub-menu .obflink {
  display: block;
  padding: 9px 12px;
  border-radius: 4px;
  color: var(--couleur-texte);
  font-size: 13px;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: 0;
  text-decoration: none;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
#entete .entete-principal .sub-menu a:hover, #entete .entete-principal .sub-menu .obflink:hover {
  background-color: rgba(206, 220, 0, 0.39);
}
#entete .entete-principal .sub-menu .current-menu-item > a, #entete .entete-principal .sub-menu .current-menu-item > .obflink {
  background-color: rgba(206, 220, 0, 0.39);
}
#entete .entete-principal > li:hover > .sub-menu,
#entete .entete-principal > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
}
#entete {
  /* Recherche (ouverte par l'élément « Recherche » du menu secondaire) */
}
#entete .entete-recherche {
  display: none;
  padding: 0 27px 16px 30px;
}
#entete .entete-recherche.ouvert {
  display: block;
}
#entete .entete-recherche .search-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 7px;
  margin-right: 85px;
}
#entete .entete-recherche label {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 420px;
          flex: 0 1 420px;
  margin: 0;
}
#entete .entete-recherche .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
#entete .entete-recherche .search-field {
  width: 100%;
  height: 45px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.47);
  border-radius: 6px;
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 14px;
  outline: none;
}
#entete .entete-recherche .search-field::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.7);
}
#entete .entete-recherche .search-field::-moz-placeholder {
  color: rgba(255, 255, 255, 0.7);
}
#entete .entete-recherche .search-field:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.7);
}
#entete .entete-recherche .search-field::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.7);
}
#entete .entete-recherche .search-field::placeholder {
  color: rgba(255, 255, 255, 0.7);
}
#entete .entete-recherche .search-field {
  /* Focus visible (RGAA 10.7) */
}
#entete .entete-recherche .search-field:focus-visible {
  border-color: #cedc00;
  -webkit-box-shadow: 0 0 0 2px #cedc00;
          box-shadow: 0 0 0 2px #cedc00;
}
#entete .entete-recherche .search-submit {
  height: 45px;
  padding: 0 18px;
  border: 1px solid #cedc00;
  border-radius: 6px;
  background-color: rgba(206, 220, 0, 0.84);
  color: var(--couleur-texte);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.admin-bar #entete {
  top: 32px;
}

/* Accueil : entête posé sur la photo du hero */
body.home #entete {
  position: fixed;
  left: 0;
  right: 0;
  background-color: transparent;
}
body.home #entete.scroll {
  background-color: rgba(29, 29, 27, 0.92);
}

@media only screen and (max-width: 1299px) {
  #entete .entete-principal > li > a, #entete .entete-principal > li > .obflink {
    padding: 0 12px;
  }
}
/* Sous 1200px : menu burger (navbar-expand-xl) */
@media only screen and (max-width: 1199px) {
  #entete .entete-contenu {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 14px 16px;
  }
  #entete .entete-logo {
    margin: 0;
  }
  #entete .entete-logo img {
    width: 180px;
  }
  #entete .entete-logo {
  }
  #entete .entete-burger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 11px 9px;
    border: 1px solid rgba(255, 255, 255, 0.47);
    border-radius: 6px;
    outline: none;
    /* Focus visible (RGAA 10.7) */
  }
  #entete .entete-burger:focus-visible {
    outline: 2px solid #cedc00;
    outline-offset: 2px;
  }
  #entete .entete-burger span {
    display: block;
    width: 22px;
    height: 2px;
    background-color: #fff;
  }
  #entete .entete-burger {
  }
  #entete .entete-menus {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    padding: 16px 0 8px;
  }
  #entete .entete-secondaire {
    padding: 0 0 0 14px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 18px 0 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #entete .entete-secondaire li a {
    color: rgba(255, 255, 255, 0.7490196078);
    padding: 7px 0;
  }
  #entete .entete-secondaire {
  }
  #entete .entete-secondaire li + li::before {
    display: none;
  }
  #entete .entete-principal {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: auto;
    margin: 0;
    padding: 0;
    background-color: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    /* Menu burger : pas de pastille, le texte passe au vert au survol */
  }
  #entete .entete-principal > li > a::before, #entete .entete-principal > li > .obflink::before {
    display: none;
  }
  #entete .entete-principal > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
  #entete .entete-principal > li > a, #entete .entete-principal > li > .obflink {
    padding: 12px 0;
    color: #fff;
    font-size: 15px;
    line-height: 22px;
  }
  #entete .entete-principal > li > a:hover, #entete .entete-principal > li > .obflink:hover {
    color: #cedc00;
  }
  #entete .entete-principal > li > a, #entete .entete-principal > li > .obflink {
  }
  #entete .entete-principal > li {
  }
  #entete .entete-principal > li.bouton {
    margin: 16px 0 0;
    border-bottom: 0;
  }
  #entete .entete-principal > li.bouton > a, #entete .entete-principal > li.bouton > .obflink {
    width: auto;
    padding: 10px;
    line-height: 22px;
    color: var(--couleur-texte);
  }
  #entete .entete-principal > li.bouton {
  }
  #entete .entete-principal .sub-menu {
    position: static;
    min-width: 0;
    margin: 0 0 10px;
    padding: 0 0 0 14px;
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    opacity: 1;
    visibility: visible;
  }
  #entete .entete-principal .sub-menu::before {
    display: none;
  }
  #entete .entete-principal .sub-menu a, #entete .entete-principal .sub-menu .obflink {
    padding: 7px 0;
    color: rgba(255, 255, 255, 0.75);
  }
  #entete .entete-principal .sub-menu a:hover, #entete .entete-principal .sub-menu .obflink:hover {
    background-color: transparent;
    color: #cedc00;
  }
  #entete .entete-principal .sub-menu a, #entete .entete-principal .sub-menu .obflink {
  }
  #entete .entete-principal .sub-menu .current-menu-item > a, #entete .entete-principal .sub-menu .current-menu-item > .obflink {
    background-color: transparent;
    color: #cedc00;
  }
  #entete .entete-principal .sub-menu {
  }
  #entete .entete-principal {
  }
  #entete .entete-recherche {
    padding: 0 16px 16px;
  }
  #entete .entete-recherche .search-form {
    margin-right: 0;
  }
  #entete .entete-recherche label {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  #entete .entete-recherche {
  }
  #entete {
  }
  /* Menu ouvert sur l'accueil : fond sombre pour la lisibilité */
  body.home #entete:has(.navbar-collapse.show),
  body.home #entete:has(.navbar-collapse.collapsing) {
    background-color: var(--couleur-texte);
  }
  body.home #entete .entete-recherche.ouvert {
    background-color: var(--couleur-texte);
  }
  #entete .navbar-collapse {
    max-height: calc(100vh - 70px);
    overflow-y: auto;
  }
}
@media screen and (max-width: 782px) {
  .admin-bar #entete {
    top: 46px;
  }
}
@media screen and (max-width: 600px) {
  .admin-bar #entete {
    top: 0;
  }
}
#pied {
  padding: 10px;
}
#pied .pied-cadre {
  display: grid;
  grid-template-columns: 321px 1fr auto;
  min-height: 249px;
  padding: 46px 30px 33px 43px;
  border-radius: 16px;
  background-color: var(--couleur-texte);
  /* Texte blanc pour l'accessibilité : contraste ~17:1 sur le fond sombre (le gris #6F6F6E n'atteignait que ~3,2:1) */
  color: #fff;
  font-size: 14px;
  line-height: 17px;
  font-weight: 500;
  letter-spacing: 0;
}
#pied a, #pied .obflink {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: color 0.3s, border-color 0.3s;
  transition: color 0.3s, border-color 0.3s;
}
#pied a:hover, #pied a:focus-visible, #pied .obflink:hover, #pied .obflink:focus-visible {
  color: #cedc00;
}
#pied ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#pied .widget {
  margin: 0;
}
#pied .widgettitle {
  display: none;
}
#pied .pied-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#pied .pied-col-3 {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#pied {
  /* Adresse */
}
#pied .pied-adresse {
  margin-bottom: 33px;
}
#pied .pied-adresse p {
  margin: 0 0 7px;
}
#pied .pied-adresse p:last-child {
  margin-bottom: 0;
}
#pied .pied-adresse strong, #pied .pied-adresse b {
  font-weight: 700;
}
#pied {
  /* Liens légaux */
}
#pied .pied-liens {
  margin-bottom: 33px;
}
#pied .pied-liens li {
  margin-bottom: 7px;
}
#pied .pied-liens li:last-child {
  margin-bottom: 0;
}
#pied {
  /* Newsletter et réseaux : en bas de colonne */
}
#pied .pied-newsletter,
#pied .pied-social {
  margin-top: auto;
}
#pied .pied-newsletter {
  width: 305px;
  max-width: 100%;
}
#pied .pied-newsletter form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 44px;
  margin: 0;
  padding: 0 11px 0 18px;
  border-radius: 6px;
  background-color: #d9d9d9;
  /* Focus visible sur le champ ou le bouton (RGAA 10.7) */
}
#pied .pied-newsletter form:focus-within {
  -webkit-box-shadow: 0 0 0 2px #cedc00;
          box-shadow: 0 0 0 2px #cedc00;
}
#pied .pied-newsletter input[type=email],
#pied .pied-newsletter input[type=text] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #000;
  font-size: 14px;
  font-weight: 700;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#pied .pied-newsletter input[type=email]::-webkit-input-placeholder, #pied .pied-newsletter input[type=text]::-webkit-input-placeholder {
  color: #000;
  opacity: 1;
}
#pied .pied-newsletter input[type=email]::-moz-placeholder, #pied .pied-newsletter input[type=text]::-moz-placeholder {
  color: #000;
  opacity: 1;
}
#pied .pied-newsletter input[type=email]:-ms-input-placeholder, #pied .pied-newsletter input[type=text]:-ms-input-placeholder {
  color: #000;
  opacity: 1;
}
#pied .pied-newsletter input[type=email]::-ms-input-placeholder, #pied .pied-newsletter input[type=text]::-ms-input-placeholder {
  color: #000;
  opacity: 1;
}
#pied .pied-newsletter input[type=email]::placeholder,
#pied .pied-newsletter input[type=text]::placeholder {
  color: #000;
  opacity: 1;
}
#pied .pied-newsletter button,
#pied .pied-newsletter input[type=submit] {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: url("../assets/img/accueil/fleche.svg") no-repeat center/11px 11px;
  color: transparent;
  font-size: 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  cursor: pointer;
}
#pied .pied-newsletter {
  /* Fluent Forms : on neutralise les marges de ses groupes de champs */
}
#pied .pied-newsletter .ff-el-group,
#pied .pied-newsletter .ff_submit_btn_wrapper {
  margin: 0;
}
#pied .pied-newsletter .ff-el-group:first-child {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#pied .pied-social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 11px;
}
#pied .pied-social li > a,
#pied .pied-social li > .obflink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  min-width: 129px;
  height: 43px;
  padding: 0 15px;
  border: 1px solid var(--couleur-secondaire-2);
  border-radius: 6px;
  font-weight: 700;
  white-space: nowrap;
}
#pied .pied-social li > a:hover, #pied .pied-social li > a:focus-visible,
#pied .pied-social li > .obflink:hover,
#pied .pied-social li > .obflink:focus-visible {
  border-color: #cedc00;
}
#pied .pied-social {
  /* Icône choisie dans l'admin (champ ACF « icone » de l'entrée de menu) */
}
#pied .pied-social .pied-social-icone {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: auto;
  max-width: 24px;
  height: 16px;
  -o-object-fit: contain;
     object-fit: contain;
}
#pied .pied-social {
  /* Pictos par défaut du thème, si aucune icône n'est choisie : le SVG sert de masque,
     la couleur est celle du texte (blanc, vert au survol) */
}
#pied .pied-social li.linkedin:not(.a-icone) > a::before,
#pied .pied-social li.linkedin:not(.a-icone) > .obflink::before,
#pied .pied-social li.youtube:not(.a-icone) > a::before,
#pied .pied-social li.youtube:not(.a-icone) > .obflink::before {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 22px;
  height: 15px;
  background-color: currentColor;
  -webkit-mask: var(--pied-picto) no-repeat left center/contain;
  mask: var(--pied-picto) no-repeat left center/contain;
}
#pied .pied-social li.linkedin {
  --pied-picto: url("../assets/img/picto-linkedin.svg");
}
#pied .pied-social li.youtube {
  --pied-picto: url("../assets/img/picto-youtube.svg");
}
#pied {
  /* Logo */
}
#pied .pied-logo img {
  display: block;
  width: 100%;
  max-width: 310px;
  height: auto;
}

@media only screen and (max-width: 1199px) {
  #pied .pied-cadre {
    grid-template-columns: 340px 1fr;
  }
  #pied .pied-col-3 {
    grid-column: 1/3;
    margin-top: 40px;
  }
  #pied .pied-logo img {
    width: 400px;
  }
  #pied {
  }
}
@media only screen and (max-width: 767px) {
  #pied .pied-cadre {
    grid-template-columns: 1fr;
    padding: 36px 24px 30px;
  }
  #pied .pied-col-2 {
    margin-top: 30px;
  }
  #pied .pied-col-3 {
    grid-column: 1;
  }
  #pied .pied-adresse,
  #pied .pied-liens {
    margin-bottom: 20px;
  }
  #pied .pied-newsletter {
    width: 100%;
  }
  #pied .pied-logo img {
    width: 100%;
  }
  #pied {
  }
}
.bloc-cta-image {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding: 80px 0;
  background-color: #cedc00;
}
.bloc-cta-image .bloc-cta-image-carte {
  display: grid;
  grid-template-columns: minmax(0, 48%) minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px;
  border-radius: 16px;
  background-color: #fff;
}
.bloc-cta-image {
  /* Panneau image (positionné sans z-index : repère des images, sans contexte d'empilement) */
}
.bloc-cta-image .bloc-cta-image-visuel {
  position: relative;
  aspect-ratio: 2/1;
  border-radius: 10px;
  background-color: #cedc00;
}
.bloc-cta-image {
  /* Cadre du panneau : coupe l'image centrale et les copies à ses bords */
}
.bloc-cta-image .bloc-cta-image-cadre {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  border-radius: 10px;
}
.bloc-cta-image {
  /* Les 3 images ont la même taille et la même ligne de base ; seule la position horizontale change */
}
.bloc-cta-image .bloc-cta-image-visuel img {
  position: absolute;
  bottom: 6%;
  width: auto;
  max-width: 50%;
  height: 82%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.bloc-cta-image .bloc-cta-image-principale {
  left: 50%;
}
.bloc-cta-image .bloc-cta-image-reflet {
  -webkit-filter: grayscale(1) brightness(0.95);
          filter: grayscale(1) brightness(0.95);
  mix-blend-mode: multiply;
  opacity: 0.55;
  pointer-events: none;
}
.bloc-cta-image .bloc-cta-image-reflet-gauche {
  left: -4%;
}
.bloc-cta-image .bloc-cta-image-reflet-droite {
  left: 104%;
}
.bloc-cta-image .bloc-cta-image-reflet-dessous {
  z-index: -1;
}
.bloc-cta-image {
  /* Texte */
}
.bloc-cta-image .bloc-cta-image-contenu {
  justify-self: center;
  width: 100%;
  max-width: 480px;
  padding: 30px 20px;
}
.bloc-cta-image .bloc-cta-image-texte h2 {
  margin: 0 0 22px;
  font-size: 32px;
  line-height: 36px;
  font-weight: 700;
  letter-spacing: -1px;
}
.bloc-cta-image .bloc-cta-image-texte .chapo {
  margin: 0 0 22px;
  font-size: 22px;
  line-height: 28px;
  font-weight: 400;
}
.bloc-cta-image .bloc-cta-image-texte p {
  margin: 0 0 14px;
}
.bloc-cta-image .bloc-cta-image-texte > :last-child {
  margin-bottom: 0;
}
.bloc-cta-image .bloc-cta-image-boutons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

@media only screen and (max-width: 991px) {
  .bloc-cta-image {
    padding: 40px 0;
  }
  .bloc-cta-image .bloc-cta-image-carte {
    grid-template-columns: 1fr;
  }
  .bloc-cta-image {
    /* En colonne : la copie sous la carte est masquée, les copies du panneau sont coupées par ses bords */
  }
  .bloc-cta-image .bloc-cta-image-reflet-dessous {
    display: none;
  }
  .bloc-cta-image .bloc-cta-image-contenu {
    max-width: none;
    padding: 26px 8px 8px;
  }
  .bloc-cta-image {
  }
}
@media only screen and (max-width: 576px) {
  .bloc-cta-image .bloc-cta-image-texte h2 {
    font-size: 26px;
    line-height: 30px;
  }
  .bloc-cta-image .bloc-cta-image-texte .chapo {
    font-size: 19px;
    line-height: 25px;
  }
  .bloc-cta-image .bloc-cta-image-texte {
  }
}
.bloc-timeline {
  --color-bg-timeline: #fff;
  background-color: var(--color-bg-timeline);
}
.bloc-timeline .content-timeline {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0;
  padding: 50px 0;
  list-style: none;
  /* Ligne centrale */
}
.bloc-timeline .content-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background-color: var(--couleur-secondaire-2);
}
.bloc-timeline .bloc-para-timeline {
  position: relative;
  width: 50%;
  padding: 0 140px 50px 0;
  /* Trait entre l'étiquette et la pastille */
}
.bloc-timeline .bloc-para-timeline::before {
  content: "";
  position: absolute;
  top: 22.5px;
  right: 0;
  width: 70px;
  height: 1px;
  background-color: var(--couleur-secondaire-2);
}
.bloc-timeline .bloc-para-timeline {
  /* Pastille sur la ligne centrale, au niveau de l'étiquette */
}
.bloc-timeline .bloc-para-timeline::after {
  content: "";
  position: absolute;
  top: 7.5px;
  right: -15px;
  z-index: 1;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #cedc00;
}
.bloc-timeline {
  /* Étiquette : son contour (couleur du fond) découpe le coin de l'image qui passe dessous */
}
.bloc-timeline .bloc-date {
  position: relative;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 -70px -25px auto;
  border-bottom: 10px solid var(--color-bg-timeline);
  border-left: 10px solid var(--color-bg-timeline);
  font-size: 1.5625rem;
  line-height: 25px;
  font-weight: 500;
  letter-spacing: 0;
}
.bloc-timeline .bloc-date span {
  display: block;
  padding: 10px 40px;
  border-radius: 14px 14px 14px 0;
  background-color: #cedc00;
  color: var(--couleur-texte);
}
.bloc-timeline .bloc-image img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  border-radius: 14px;
}
.bloc-timeline .bloc-texte {
  margin-top: 20px;
  text-align: right;
}
.bloc-timeline .bloc-texte > :last-child {
  margin-bottom: 0;
}
.bloc-timeline {
  /* Sans image : le texte démarre sous l'étiquette */
}
.bloc-timeline .bloc-date + .bloc-texte {
  margin-top: 45px;
}
.bloc-timeline {
  /* Étapes paires : à droite de la ligne, décalées vers le bas, en couleur foncée */
}
.bloc-timeline .bloc-para-timeline:nth-child(even) {
  margin-top: 80px;
  padding: 0 0 50px 140px;
}
.bloc-timeline .bloc-para-timeline:nth-child(even)::before {
  right: auto;
  left: 0;
}
.bloc-timeline .bloc-para-timeline:nth-child(even)::after {
  right: auto;
  left: -15px;
  background-color: var(--couleur-texte);
}
.bloc-timeline .bloc-para-timeline:nth-child(even) .bloc-date {
  margin: 0 auto -25px -70px;
  border-left: 0;
  border-right: 10px solid var(--color-bg-timeline);
}
.bloc-timeline .bloc-para-timeline:nth-child(even) .bloc-date span {
  border-radius: 14px 14px 0 14px;
  background-color: var(--couleur-texte);
  color: #fff;
}
.bloc-timeline .bloc-para-timeline:nth-child(even) .bloc-image img {
  margin-right: auto;
  margin-left: 0;
}
.bloc-timeline .bloc-para-timeline:nth-child(even) .bloc-texte {
  text-align: left;
}

/* Mobile : une seule colonne, la ligne passe à gauche */
@media only screen and (max-width: 767px) {
  .bloc-timeline .content-timeline::before {
    left: 15px;
  }
  .bloc-timeline .bloc-para-timeline,
  .bloc-timeline .bloc-para-timeline:nth-child(even) {
    width: 100%;
    margin-top: 0;
    padding: 0 0 40px 60px;
  }
  .bloc-timeline .bloc-para-timeline::before,
  .bloc-timeline .bloc-para-timeline:nth-child(even)::before {
    right: auto;
    left: 15px;
    width: 30px;
  }
  .bloc-timeline .bloc-para-timeline::after,
  .bloc-timeline .bloc-para-timeline:nth-child(even)::after {
    right: auto;
    left: 0px;
  }
  .bloc-timeline .bloc-para-timeline .bloc-date,
  .bloc-timeline .bloc-para-timeline:nth-child(even) .bloc-date {
    margin: 0 auto -25px -15px;
    border-left: 0;
    border-right: 10px solid var(--color-bg-timeline);
    font-size: 1.25rem;
  }
  .bloc-timeline .bloc-para-timeline .bloc-date span,
  .bloc-timeline .bloc-para-timeline:nth-child(even) .bloc-date span {
    padding: 10px 24px;
    border-radius: 14px 14px 0 14px;
  }
  .bloc-timeline .bloc-para-timeline .bloc-date,
  .bloc-timeline .bloc-para-timeline:nth-child(even) .bloc-date {
  }
  .bloc-timeline .bloc-para-timeline .bloc-image img,
  .bloc-timeline .bloc-para-timeline:nth-child(even) .bloc-image img {
    margin-right: auto;
    margin-left: 0;
  }
  .bloc-timeline .bloc-para-timeline .bloc-texte,
  .bloc-timeline .bloc-para-timeline:nth-child(even) .bloc-texte {
    text-align: left;
  }
  .bloc-timeline .bloc-para-timeline,
  .bloc-timeline .bloc-para-timeline:nth-child(even) {
  }
  .bloc-timeline {
  }
}