.headerMainAsco .logo-site img {
  transition: all 0.3s ease-in-out;
}

.headerMainAsco.elementor-sticky--effects {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.headerMainAsco.elementor-sticky--effects .logo-site img {
  width: 145px !important;
}

/* Desactive la cesure automatique sur tout le site */
body,
body * {
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  hyphens: none !important;
}

.sliderHeroHome .swiper-pagination-bullets {
  position: relative;
  bottom: 20vh !important;
  z-index: 99;
  justify-content: start;
  max-width: 1400px;
  margin: 0 auto;
}
.sliderHeroHome .swiper-pagination-bullets .swiper-pagination-bullet {
  border-radius: 0;
  border: 1px solid #fff;
}

.sliderServices .swiper-pagination-bullets {
  position: relative;
  z-index: 99;
  justify-content: end;
  max-width: 1400px;
  margin: 6em auto 0 auto;
}
.sliderServices .swiper-pagination-bullets .swiper-pagination-bullet {
  border-radius: 0;
  border: 1px solid #fff;
}

/* Stack services (JetEngine / Elementor) */
.jet-listing-grid__item .item-service,
.item-service {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: 760px;
  transform: translateZ(0);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
}

.jet-listing-grid__item .item-service::before,
.item-service::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: var(--e-global-color-primary);
  transform: scale(0);
  transform-origin: left bottom;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 1;
  pointer-events: none;
}

.jet-listing-grid__item .item-service:hover::before,
.jet-listing-grid__item .item-service:focus-within::before,
.item-service:hover::before,
.item-service:focus-within::before {
  transform: scale(1);
}

/* Rendu "carte agrandie" au survol */
.jet-listing-grid__item .item-service:hover,
.jet-listing-grid__item .item-service:focus-within,
.item-service:hover,
.item-service:focus-within {
  transform: translate3d(0, -20px, 0) scale(1.12);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.32);
}

/* Champs dynamiques JetEngine / widgets Elementor */
.jet-listing-grid__item .item-service .elementor-widget-heading,
.jet-listing-grid__item .item-service .elementor-widget-icon,
.jet-listing-grid__item .item-service .elementor-widget-image,
.jet-listing-grid__item .item-service .elementor-widget-button,
.item-service .elementor-widget-heading,
.item-service .elementor-widget-icon,
.item-service .elementor-widget-image,
.item-service .elementor-widget-button {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

.jet-listing-grid__item .item-service .elementor-widget-image,
.item-service .elementor-widget-image,
.jet-listing-grid__item .item-service .elementor-widget-button,
.item-service .elementor-widget-button {
  transform: translateY(44px);
  opacity: 0;
}

.jet-listing-grid__item .item-service .elementor-widget-heading,
.jet-listing-grid__item .item-service .elementor-widget-icon,
.jet-listing-grid__item .item-service .elementor-widget-image,
.jet-listing-grid__item .item-service .elementor-widget-button,
.jet-listing-grid__item .item-service .jet-listing-dynamic-field,
.jet-listing-grid__item .item-service .jet-listing-dynamic-link,
.item-service .elementor-widget-heading,
.item-service .elementor-widget-icon,
.item-service .elementor-widget-image,
.item-service .elementor-widget-button,
.item-service .jet-listing-dynamic-field,
.item-service .jet-listing-dynamic-link {
  position: relative;
  z-index: 2;
}

.jet-listing-grid__item .item-service:hover .elementor-widget-heading,
.jet-listing-grid__item .item-service:focus-within .elementor-widget-heading,
.item-service:hover .elementor-widget-heading,
.item-service:focus-within .elementor-widget-heading {
  transform: translateY(-24px);
}

.jet-listing-grid__item .item-service:hover .elementor-widget-image,
.jet-listing-grid__item .item-service:focus-within .elementor-widget-image,
.item-service:hover .elementor-widget-image,
.item-service:focus-within .elementor-widget-image,
.jet-listing-grid__item .item-service:hover .elementor-widget-button,
.jet-listing-grid__item .item-service:focus-within .elementor-widget-button,
.item-service:hover .elementor-widget-button,
.item-service:focus-within .elementor-widget-button {
  transform: translateY(0);
  opacity: 1;
}

.jet-listing-grid__item .item-service .elementor-widget-image img,
.item-service .elementor-widget-image img {
  transition: filter 0.35s ease;
}

.jet-listing-grid__item .item-service:hover .elementor-widget-image img,
.jet-listing-grid__item .item-service:focus-within .elementor-widget-image img,
.item-service:hover .elementor-widget-image img,
.item-service:focus-within .elementor-widget-image img {
  filter: brightness(0) saturate(100%) invert(100%);
}

@media (hover: none) {
  .jet-listing-grid__item .item-service .elementor-widget-image,
.item-service .elementor-widget-image,
.jet-listing-grid__item .item-service .elementor-widget-button,
.item-service .elementor-widget-button {
    transform: none;
    opacity: 1;
  }
}
@media (max-width: 1366px) {
  .jet-listing-grid__item .item-service,
.item-service {
    min-height: 700px;
  }
}
@media (max-width: 1024px) {
  .jet-listing-grid__item .item-service,
.item-service {
    min-height: 620px;
  }
}
@media (max-width: 767px) {
  .jet-listing-grid__item .item-service,
.item-service {
    min-height: 500px;
  }
}
/* Services slider (listing 226): carte quasi carree + hover tres evident */
.jet-listing-grid__slider.swiper-lib.swiper:has(.jet-listing-grid--226) {
  overflow: visible !important;
}

.jet-listing-grid__items.jet-listing-grid--226 {
  overflow: visible !important;
  align-items: flex-end !important;
}

.jet-listing-grid__items.jet-listing-grid--226 .jet-listing-grid__item {
  display: flex;
  align-items: flex-end;
  overflow: visible !important;
  height: 620px;
}

.jet-listing-grid__items.jet-listing-grid--226 .item-service {
  width: 90%;
  min-height: 520px;
  height: 520px;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform-origin: left bottom !important;
  transition: width 0.45s ease, height 0.45s ease, min-height 0.45s ease, box-shadow 0.45s ease;
  z-index: 2;
}

.jet-listing-grid__items.jet-listing-grid--226 .item-service:hover,
.jet-listing-grid__items.jet-listing-grid--226 .item-service:focus-within {
  width: 94%;
  min-height: 600px;
  height: 600px;
  transform: none !important;
  box-shadow: 0 20px 38px rgba(0, 0, 0, 0.28);
  z-index: 40;
}

.jet-listing-grid__items.jet-listing-grid--226 .item-service::before {
  opacity: 0 !important;
  background: transparent !important;
  transform: none !important;
  clip-path: none !important;
  transition: none !important;
}

.jet-listing-grid__items.jet-listing-grid--226 .item-service::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 0;
  background: var(--e-global-color-primary);
  z-index: 1;
  pointer-events: none;
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), height 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.jet-listing-grid__items.jet-listing-grid--226 .item-service:hover::after,
.jet-listing-grid__items.jet-listing-grid--226 .item-service:focus-within::after {
  width: 100%;
  height: 100%;
}

@media (max-width: 1366px) {
  .jet-listing-grid__items.jet-listing-grid--226 .jet-listing-grid__item {
    height: 560px;
  }

  .jet-listing-grid__items.jet-listing-grid--226 .item-service {
    min-height: 480px;
    height: 480px;
  }

  .jet-listing-grid__items.jet-listing-grid--226 .item-service:hover,
.jet-listing-grid__items.jet-listing-grid--226 .item-service:focus-within {
    min-height: 540px;
    height: 540px;
    transform: none !important;
  }
}
@media (max-width: 1024px) {
  .jet-listing-grid__items.jet-listing-grid--226 .jet-listing-grid__item {
    height: 470px;
  }

  .jet-listing-grid__items.jet-listing-grid--226 .item-service {
    width: 92%;
    min-height: 400px;
    height: 400px;
  }

  .jet-listing-grid__items.jet-listing-grid--226 .item-service:hover,
.jet-listing-grid__items.jet-listing-grid--226 .item-service:focus-within {
    width: 96%;
    min-height: 460px;
    height: 460px;
    transform: none !important;
  }
}
@media (max-width: 767px) {
  .jet-listing-grid__slider.swiper-lib.swiper:has(.jet-listing-grid--226) {
    overflow: hidden !important;
  }

  .jet-listing-grid__items.jet-listing-grid--226 .item-service,
.jet-listing-grid__items.jet-listing-grid--226 .item-service:hover,
.jet-listing-grid__items.jet-listing-grid--226 .item-service:focus-within {
    width: 100%;
    min-height: 340px;
    height: 340px;
    transform: none;
    box-shadow: none;
  }
}
/* Hero overlays glue (listing 281) */
.jet-listing-grid__items.jet-listing-grid--281 .shape-bleu {
  --shape-apex-x: 1;
  --shape-apex-y: 0.5;
}

.jet-listing-grid__items.jet-listing-grid--281 .shape-orange {
  --shape-anchor-x: 0.5;
  --shape-anchor-y: 0;
  --shape-offset-x: -225;
  --shape-offset-y: 350;
}

@media (max-width: 1366px) {
  .jet-listing-grid__items.jet-listing-grid--281 .shape-orange {
    --shape-offset-x: -170;
    --shape-offset-y: 300;
  }
}
@media (max-width: 1024px) {
  .jet-listing-grid__items.jet-listing-grid--281 .shape-orange {
    --shape-offset-x: -120;
    --shape-offset-y: 220;
  }
}
@media (max-width: 767px) {
  .jet-listing-grid__items.jet-listing-grid--281 .shape-orange {
    --shape-offset-x: -70;
    --shape-offset-y: 140;
  }
}