/* ------------------- GLOBAL ------------------- */
:root {
  --stone: #50565E;
  --carbonlight: #26262B;
  --red: #fb330a;
  --pink: #ff599b;
}

.clickable-item {
  cursor: pointer;
}


/* Global buttons */
.elementor-widget-button:not(.btn-arrow) .elementor-button {
  display: block;
  overflow: hidden !important;
  position: relative;
  min-height: 56px;
  width: 100%;
}
.elementor-widget-button:not(.btn-arrow) .elementor-button .elementor-button-content-wrapper {
  display: block;
}
.elementor-widget-button:not(.btn-arrow) .elementor-button .elementor-button-content-wrapper:first-of-type {
  transition: 300ms;
  transform: translateY(0);
}
.elementor-widget-button:not(.btn-arrow) .elementor-button:hover .elementor-button-content-wrapper:first-of-type {
  transform: translateY(-60px);
}

.elementor-widget-button:not(.btn-arrow) .elementor-button .elementor-button-content-wrapper:not(:first-of-type) {
  position:absolute;
  transition: 300ms;
  transform: translateY(60px);
}
.elementor-widget-button:not(.btn-arrow) .elementor-button:hover .elementor-button-content-wrapper:not(:first-of-type) {
  transform: translateY(-25px);
}

/* Global swiper pagination */
.elementor-swiper-button {
  overflow: hidden;
}
/* Animation next */
.elementor-swiper-button-next svg:not(:first-of-type) {
  transition: 300ms;
  transform: translate(0);
}
.elementor-swiper-button-next:hover svg:not(:first-of-type) {
  transform: translate(30px);
}
.elementor-swiper-button-next svg:first-of-type {
  position: absolute;
  transition: 300ms;
  transform: translateX(-30px);
}
.elementor-swiper-button-next:hover svg:first-of-type{
  transform: translateX(0);
}

/* Animation prev */
.elementor-swiper-button-prev svg:first-of-type {
  position: absolute;
  transition: 300ms;
  transform: translateX(0);
}
.elementor-swiper-button-prev:hover svg:first-of-type{
  transform: translateX(-30px);
}

.elementor-swiper-button-prev svg:not(:first-of-type) {
  transition: 300ms;
  transform: translate(30px);
}
.elementor-swiper-button-prev:hover svg:not(:first-of-type) {
  transform: translate(0);
}

/* Button with arrow */
.btn-arrow .elementor-button {
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn-arrow.btn-reverse .elementor-button {
  flex-direction: row-reverse;
}
.btn-arrow .elementor-button::after {
  content: "";
  background-image: url('../images/icons/icon-arrow_right.svg');
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 22px;
  width: 22px;
  transition: 0.3s;
}
.btn-arrow.btn-arrow_black .elementor-button::after {
  background-image: url('../images/icons/icon-arrow_right_black.svg');
  height: 12px;
  width: 16px;
}

.btn-arrow .elementor-button:hover::after {
  transform: translate3d(4px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
  transform-style: preserve-3d;
}




/* Animations */

.box-hover .icon-grow svg{
  transition: 0.5s;
  transform: translate3d(0px, 0px, 0px) scale3d(0, 0, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
  transform-style: preserve-3d;
}
.box-hover:hover .icon-grow svg{
  transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
}

.box-hover .img-slide_left {
  transition: 0.5s;
}
.box-hover:hover .img-slide_left {
  transform: translateX(-20px);
}


/* ------------------- END GLOBAL ------------------- */




/* ------------------- HOME ------------------- */
.hp-logo_gallery img {
  opacity: 0.7;
}

.text-gradient .elementor-heading-title {
  background: linear-gradient(123deg, var(--red) 5%, var(--pink) 82%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: flex;
  gap: 10px;
  align-items: center
}
.text-gradient .elementor-heading-title span {
  font-size: 3.125rem !important;
}

.video-overlay .elementor-custom-embed-image-overlay::before {
    content: "";
    background: black;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0.75;
}
.video-overlay .elementor-custom-embed-play svg {
  opacity: 1;
}
.video-overlay .elementor-custom-embed-play svg:hover {
  transform: scale(1.1);
}



/* 
process-steps
step-item 
step-content 
*/

.process-steps .step-item .step-content {
  display: none;
}
.process-steps .step-item.opened {
  background-color: var(--carbonlight);
}
.process-steps .step-item.opened .elementor-heading-title {
  color: #fff;
}
.process-steps .step-item.opened .step-content {
  display:block;
}
.process-visuals .visual-item:not(.active) {
  display: none;
}


/* Slider réalisations */
.realisations-slider .swiper {
  width: 100%;
  padding-bottom: 0;
  overflow: visible;
}
.realisations-slider .swiper-wrapper {
  width: 100%;
  display: flex;
}
.realisations-slider .swiper-slide {
  flex: none;
}


/* ------------------- END HOME ------------------- */


.single-besoin .elementor-widget-text-editor a,
.single-realisation .elementor-widget-text-editor a {
  text-decoration: underline;
}





/* faq */
.faq details {
  background-color: #D5DCE633;
  border-radius: 16px;
}
.faq details[open],
.faq details:hover {
  background-color: #EDF1F5;
}
.faq details[open] summary {
  border-radius: 16px 16px 0 0 !important;
}
.faq details summary .e-n-accordion-item-title-icon {
  transition: 0.5s;
}
.faq details[open] summary .e-n-accordion-item-title-icon {
  transform: rotate(180deg);
}



.loop-item img {
  transition: 0.5s;
}
.loop-item:hover img {
  transform: scale(1.1);
}
.loop-item .title-arrow, 
.loop-item .title-arrow_down {
  display: flex;
  justify-content: space-between;
}
.loop-item .title-arrow::after,
.loop-item .title-arrow_down::after {
  content: "";
  background-image: url('../images/icons/icon-arrow_right_black.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 15px;
  position: absolute;
  transition: .5s;
  right: 35px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%);
}
.loop-item:hover .title-arrow::after {
  right: 0;
  opacity: 1;
}


.loop-item .title-arrow_down::after {
  right: 0;
  transform: translateY(-100%) rotate(90deg);
}
.loop-item:hover .title-arrow_down::after {
  transform: translateY(-50%) rotate(90deg);
  opacity: 1;
}





/* BESOIN SINGLE */
.besoin-section h3 {
  margin: 20px 0 10px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5rem;
}
.client-logos {
  display: flex;
  justify-content: space-between;
}
@media(max-width: 1024px){
  .client-logos {
    align-items: center;
    flex-direction: column;
  }
}
.logo-item img {
  opacity: 0.5;
  object-fit: contain;
  height: 60px;
  max-width: 160px;
  width: 100%;
}


/* BLOG */
.tag-loop .elementor-loop-container {
  display: flex;
  gap: 20px;
}



/* ARTICLE */
.post-wrap .elementor-sticky--active {
  z-index: 1 !important;
}
.article h2 {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 2.5rem;
  margin: 30px 0 20px;
}
.article h3 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.7rem;
  margin: 24px 0 10px;
}
.article p {
  font-weight: 300 !important;
}
.article p strong {
  font-weight: 600 !important;
}
.article figure {
  margin: 0 0 30px;
}
.article a {
  color: #181811;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(#fb330a, #ff599b);
  -webkit-background-clip: text;
  background-clip: text;
  text-decoration: none;
}
.article a:hover {
  text-decoration: underline;
}
.article .elementor-menu-anchor {
  top: -95px;
  position: relative;
}

.sommaire .elementor-toc__list-item {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
}
.sommaire .elementor-toc__list-item::before {
  content: "";
  background-image: url('../images/icons/icon-dot.svg');
  background-repeat: no-repeat;
  background-size: contain;
  flex: 0 0 16px;
  position: relative;
  top: 4px;
  height: 16px;
  width: 16px;
}
.sommaire .elementor-toc__list-item svg {
  display: none;
}



/* Conseil */
.conseil-content h3 {
  margin: 20px 0 10px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5rem;
}
.conseil-content p {
  font-weight: 300;
}
.conseil-content p strong {
  font-weight: 700;
}