/* =========================
   Dots (style "dash")
   ========================= */

  .et-db #page-container #et-boc .et-l .et_pb_row.demi{
  margin: auto;
  }

.et-db #page-container #et-boc .et-l .et_pb_row.demi.carousel{
  --dots-w: 21px;        /* largeur dot inactif */
  --dot-active-w: 84px;  /* largeur dot actif */
  --dots-h: 7px;         /* hauteur */
  --dots-gap: 12px;      /* espacement */
  --dot-color: #222;  /* couleur */
  --dot-o-inactive: .3;  /* opacité inactif */
  --dot-o-active: 1;     /* opacité actif */
}

.et-db #page-container #et-boc .et-l .et_pb_row.demi.carousel .fd-dots{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10%;
  display: flex;
  gap: var(--dots-gap);
  align-items: center;
  z-index: 3;
  pointer-events: auto;
}

.et-db #page-container #et-boc .et-l .et_pb_row.demi.carousel .fd-dot{
  width: var(--dots-w);
  height: var(--dots-h);
  border-radius: 999px;
  background: var(--dot-color);
  opacity: var(--dot-o-inactive);
  border: 0;
  padding: 0;
  cursor: pointer;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  transition: width .3s ease, opacity .3s ease;
}

.et-db #page-container #et-boc .et-l .et_pb_row.demi.carousel .fd-dot.is-active{
  width: var(--dot-active-w);
  opacity: var(--dot-o-active);
}


/* Séparateur vertical – garder AFTER (Divi le surchargera pas si on met !important) */
.et-db #page-container #et-boc .et-l .et_pb_row.demi.carousel.logo::after{
  content: "" !important;   /* override du clearfix Divi */
  position: absolute;
  left: 50%; top: 0; bottom: 0;
  transform: translateX(-50%);
  width: var(--divider);
  z-index: 3;
  visibility: visible;
  height: 100%;
  background: rgba(255,255,255,0.3); /* noir avec opacité 30% */
  backdrop-filter: blur(8px);   /* flou du contenu derrière */
  -webkit-backdrop-filter: blur(8px); /* compatibilité Safari */
}

/* Logo halpaq centré */
.et-db #page-container #et-boc .et-l .et_pb_row.demi.carousel.logo::before{
  content: "\e906" !important;          /* évite l’override du clearfix */
  /*font-family: "halpaq" !important;       même nom que dans @font-face */
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  font-size: 2em;
  line-height: 1;
  color: #fff;
  z-index: 4;
  padding: 18px;
  background-color: #222;
}

.et-db #page-container #et-boc .et-l .et_pb_row.demi.carousel .carousel-dots{
  left: 50%;
  transform: translateX(-50%);
}


@media(max-width:980px){
  .et-db #page-container #et-boc .et-l .et_pb_row.demi.carousel.logo::after,
  .et-db #page-container #et-boc .et-l .et_pb_row.demi.carousel.logo::before{ 
    display:none; 
  }
}


.et-db #et-boc .et-l .carousel.demi .carousel-dots{
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  top: -4rem;
  left: 70%;
  gap: 0.5rem;
}

.et-db #et-boc .et-l .carousel.demi .carousel-dots .carousel-dot{
  width: 31px;
  height: 7px;
  border-radius: 50px;
  background-color: #f2f2f2;
  border: inherit;
  cursor: pointer;
}

.et-db #et-boc .et-l .carousel.demi .carousel-dots .carousel-dot.is-active{
  width: 84px;
  background-color: #222;
}


.et-db #et-boc .et-l .carousel.demi .carousel-dots {
  top: inherit;
  bottom: 2rem;
  left: 25%;
  z-index: 2;
}


/* dot version sans demi */
.et-db #et-boc .et-l .carousel .carousel-dots{
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  top: -4rem;
  left: 70%;
  gap: 0.5rem;
}

.et-db #et-boc .et-l .carousel .carousel-dots .carousel-dot{
  width: 31px;
  height: 7px;
  border-radius: 50px;
  background-color: #f2f2f2;
  border: inherit;
  cursor: pointer;
}

.et-db #et-boc .et-l .carousel .carousel-dots .carousel-dot.is-active{
  width: 84px;
  background-color: #222;
}

.et-db #et-boc .et-l .et_pb_section:has(.carousel:not(.demi)) .carousel .carousel-dots{
    top: -2rem;
    left: inherit;
    right: 10px;
    gap: 15px;
}

@media(max-width: 1083px){
  .et-db #et-boc .et-l .et_pb_section:has(.carousel:not(.demi)) .carousel .carousel-dots{
      top: -1rem !important;
  }
}

@media(max-width: 520px){
  .et-db #et-boc .et-l .et_pb_section:has(.carousel:not(.demi)) .carousel .carousel-dots{
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%);
    right: inherit;
  }
}

/**********************************************************************************************************************************/
/*********** le style des dots en gauche droite (prev - next) a besoin de l'option two_dots="yes" positionner sur le shortcode ****/
/**********************************************************************************************************************************/

.et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dots{
    position: static;
}

.et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-prev{
    position: absolute;
    top: 50%;
    left: -5rem;
    transform: translateY(-50%);
    background-color: #fff;
    width: 3rem;
    height: 3rem;
    border: 1px solid #f2f2f2;
    display: flex;
    justify-content: center;
    align-items: center;
}

.et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-prev:after{
    font-family: "ETmodules" !important;
    content: "\23";
    font-size: 1.5em;
    font-weight: bold;
}

.et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-next{
    position: absolute;
    top: 50%;
    right: -5rem;
    transform: translateY(-50%);
    background-color: #fff;
    width: 3rem;
    height: 3rem;
    border: 1px solid #f2f2f2;
}

.et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-next:after{
    font-family: "ETmodules" !important;
    content: "\24";
    font-size: 1.5em;
    font-weight: bold;
}

.et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-next:hover,
.et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-prev:hover{
    background-color: #e40e20;
    border: 1px solid #e40e20;
}

@media(max-width: 1606px){
  .et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-prev{
    left: -4rem;
  }
 .et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-next{
    right: -4rem;
 }
}

@media(max-width: 1606px){
  .et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-prev{
    left: -3rem;
  }
 .et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-next{
    right: -3rem;
 }
}

@media(max-width: 980px){
  .et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-prev{
    position: relative;
    margin-top: 1rem;
  }
 .et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dot-next{
    position: relative;
    margin-top: 1rem;
 }
}

@media(max-width: 425px){
   .et-db #et-boc #et-main-area .et-l .et_pb_section:has(.carousel-secteur.carousel-two-dots) .carousel-dots{
      position: relative;
      width: 100%;
   }
}

/* Outillage : flèches simples (uniquement le carrousel outillage) */
.et-db #et-boc .et-l .et_pb_row.carousel.carousel-outillage .carousel-dots{
  position: absolute;
  top: -3.5rem;
  left: 50%;
  transform: translateX(-50%);
  gap: 1.5rem;
}

.et-db #et-boc .et-l .et_pb_row.carousel.carousel-outillage .carousel-dot{
  width: auto;
  height: auto;
  border: none;
  background: transparent;
  color: #222;
  font-size: 1.8rem;
  line-height: 1;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: none;
  transition: color .2s ease;
}

.et-db #et-boc .et-l .et_pb_row.carousel.carousel-outillage .carousel-dot::before{
  font-family: "ETmodules";
  font-weight: 800;
  font-size: inherit;
}

.et-db #et-boc .et-l .et_pb_row.carousel.carousel-outillage .carousel-dot-prev::before{
  content: "\23";       /* flèche gauche ETModules */
  transform: rotate(180deg);
}

.et-db #et-boc .et-l .et_pb_row.carousel.carousel-outillage .carousel-dot-next::before{
  content: "\24";       /* flèche droite ETModules */
}

.et-db #et-boc .et-l .et_pb_row.carousel.carousel-outillage .carousel-dot:hover,
.et-db #et-boc .et-l .et_pb_row.carousel.carousel-outillage .carousel-dot.is-active{
  background: transparent;
  color: #222;
}
