/* 
Theme Name: Hello Eliophot Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team & Eliophot
Author: Eliophot
Author URI: https://www.eliophot.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready, Eliophot
*/

/* Add your custom styles here */

/* ----------- GLOBAL ----------- */
/* CTA WIDGET */
.elementor-widget-call-to-action .elementor-cta__bg-wrapper {
  border-radius: 22px;
}
	/* marquee */
@keyframes marquee {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

@keyframes marquee-bis {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-200%);
  }
}

.marquee .elementor-icon-list-items,
.marquee .elementor-widget-container{
  white-space: nowrap;
  flex-wrap: nowrap !important;
  width: fit-content !important;
}

.marquee {
    flex-shrink: 0 !important;
    max-width: fit-content !important;
}

.marquee-1 {
  animation: marquee 60s -30s linear infinite;
}

.marquee-2 {
  animation: marquee-bis 60s linear infinite;
}

	/* chiffre texte aligné à gauche */
.chiffre-txt-left .elementor-counter-title {
  text-align: left;
}

	/* bouton avec logo coeur */
.logo-heart path {
  fill: transparent !important;
}

	/* bouton avec logo coeur hover blanc */
.logo-heart_hover-white a:hover path {
    stroke: var(--e-global-color-accent)
}

.logo-heart_hover-white a path {
    transition: stroke 0.25s;
}

	/* titre bicolore */
.text-accent em {
  font-style: normal;
}

.accent-yellow em {
  color: var(--e-global-color-secondary);
}

.accent-green em {
  color: var(--e-global-color-primary);
}

	/* bouton avec flèche */
.btn-fleche a svg {
  transition: transform 0.25s;
}

.btn-fleche a:hover svg {
  transform: translateX(4px);
}

.fleche-hover-blanc a svg path {
  transition: fill 0.25s;
}

.fleche-hover-blanc a:hover svg path {
  fill: #fff;
}

/* maillage */
.maillage-item .maillage-btn .elementor-icon-box-icon {
    transition: transform 0.25s;
}

.maillage-item:hover .maillage-btn .elementor-icon-box-icon {
    transform: translateX(4px);
}

/* HERO */
#hero .anim-1 {
  overflow: hidden;
}

/* ----------- MENU BURGER ----------- */
.burger-menu {
    z-index: 998 !important;
}

.burger-menu .menu-nav li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.burger-menu .menu-nav li a {
    position: relative;
}

.burger-menu .menu-nav li a:before {
    content: attr(title);
    position: absolute;
    left: 0;

    display: block !important;
    opacity: 1 !important;
    background: transparent !important;
    color: var(--e-global-color-secondary) !important;
    font-size: 11px;
}

.menu-nav li a:after {
  content: "";
  background-image: url("/wp-content/uploads/2026/06/gl-arrow_right-yellow.svg");
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  background-size: contain;
  height: 8px;
  background-repeat: no-repeat;
  opacity: 0;
  background-color: transparent !important;
}

.menu-nav li a:hover:after {
  opacity: 1;
  transform: translateY(-50%);
}

/* menu langues mobile */
.burger-menu .menu_langues-mob a {
border: 1px solid rgba(255, 255, 255, 0.20);
border-radius: 999px;
}

.burger-menu .menu_langues-mob a:hover {
    background-color: var(--e-global-color-secondary);
    border-color: var(--e-global-color-secondary);
}

/* ----------- HEADER ----------- */
#header {
  transition: background 0.5s;
}
#header:not(.header-sticky-active) {
  background: transparent;
}

#header.header-sticky-active {
  background: var(--e-global-color-primary);
}

/* toggle menu btn */
.toggle-menu-burger .elementor-icon-wrapper {
	line-height: 0;
}

@media screen and (min-width: 1025px) {
  .toggle-menu-burger:not(.active) #open_menu rect {
    transform-box: fill-box;
    transform-origin: left center;
    transition: transform 0.35s ease;
    transform-origin: center;
  }

  .toggle-menu-burger:not(.active) #open_menu:hover .line-top,
  .toggle-menu-burger:not(.active) #open_menu:hover .line-bottom {
    transform: scaleX(1.5);
  }

  .toggle-menu-burger:not(.active) #open_menu:hover .line-middle {
    transform: scaleX(0.65);
  }
}

  /* état actif */
.toggle-menu-burger.active #open_menu .line {
    transform-box: fill-box;
    transform-origin: center;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.toggle-menu-burger.active #open_menu .line-top {
    transform: translateY(4.5px) rotate(45deg);
}

.toggle-menu-burger.active #open_menu .line-middle {
    opacity: 0;
}

.toggle-menu-burger.active #open_menu .line-bottom {
    transform: translateY(-4.5px) rotate(-45deg);
}

	/*mobile*/
@media screen and (max-width: 1024px) {
    .toggle-menu-burger #open_menu .line {
        transform-box: fill-box;
        transform-origin: center;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
}

/* ----------- HOMEPAGE ----------- */
/* CHIFFRES */
.elementor-counter-title {
  text-align: center;
}

/* MOSAIQUE GALERIE */
.mosaique-galerie .mosaique-galerie-item .elementor-cta,
.mosaique-galerie .mosaique-galerie-item .elementor-cta__content {
  height: 100%;
}

@media screen and (min-width: 1025px) {
  .mosaique-galerie .mosaique-galerie-item .elementor-cta__bg-overlay {
    transition: opacity 0.35s;
    opacity: 0;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50%,
      rgba(26, 26, 26, 0.8) 100%
    );
  }
  .mosaique-galerie .mosaique-galerie-item:hover .elementor-cta__bg-overlay {
    opacity: 1;
  }

  .mosaique-galerie .mosaique-galerie-item .elementor-cta__content-item {
    transform: translateY(500%);
  }

  .mosaique-galerie .mosaique-galerie-item:hover .elementor-cta__content-item {
    transform: translateY(0);
  }
}

@media screen and (max-width: 1024px) {
  .mosaique-galerie .mosaique-galerie-item .elementor-cta__content-item {
    opacity: 0;
  }
}

.mosaique-galerie {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 12px;
  grid-row-gap: 12px;
}

.mosaique-galerie .mosaique-galerie-item:nth-child(1) {
  grid-area: 1 / 1 / 3 / 3;
}

.mosaique-galerie .mosaique-galerie-item:nth-child(2) {
  grid-area: 1 / 3 / 2 / 4;
}

.mosaique-galerie .mosaique-galerie-item:nth-child(3) {
  grid-area: 1 / 4 / 2 / 5;
}

.mosaique-galerie .mosaique-galerie-item:nth-child(4) {
  grid-area: 2 / 3 / 4 / 4;
}

.mosaique-galerie .mosaique-galerie-item:nth-child(5) {
  grid-area: 2 / 4 / 3 / 5;
}

.mosaique-galerie .mosaique-galerie-item:nth-child(6) {
  grid-area: 3 / 1 / 4 / 3;
}

.mosaique-galerie .mosaique-galerie-item:nth-child(7) {
  grid-area: 3 / 4 / 4 / 5;
}

@media screen and (max-width: 767px) {
  .mosaique-galerie {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(6, 1fr);
  }

  .mosaique-galerie .mosaique-galerie-item:nth-child(1) {
    grid-area: 1 / 1 / 3 / 3;
  }

  .mosaique-galerie .mosaique-galerie-item:nth-child(2) {
    grid-area: 3 / 1 / 4 / 2;
  }

  .mosaique-galerie .mosaique-galerie-item:nth-child(3) {
    grid-area: 3 / 2 / 4 / 3;
  }

  .mosaique-galerie .mosaique-galerie-item:nth-child(4) {
    grid-area: 4 / 1 / 6 / 2;
  }

  .mosaique-galerie .mosaique-galerie-item:nth-child(5) {
    grid-area: 4 / 2 / 5 / 3;
  }

  .mosaique-galerie .mosaique-galerie-item:nth-child(7) {
    grid-area: 5 / 2 / 6 / 3;
  }

  .mosaique-galerie .mosaique-galerie-item:nth-child(6) {
    grid-area: 6 / 1 / 7 / 3;
  }
}
/* AVIS CLIENTS */
.slider-avis .elementor-testimonial {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}

.slider-avis {
  text-align: center;
}

.slider-avis .elementor-testimonial__content {
  position: relative;
  padding-bottom: 41px !important;
}

.slider-avis .elementor-testimonial__content:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 1px;
  width: 48px;
  background: var(--e-global-color-primary);
}

.slider-avis .elementor-testimonial__header {
  padding-top: 24px !important;
}

.slider-avis .elementor-testimonial__name {
  margin-bottom: 12px;
}

.slider-avis .elementor-swiper-button {
  top: unset !important;
  bottom: 0;
  padding: 10px;
  border: 1px solid rgba(26, 26, 26, 0.15);
  border-radius: 999px;
  transition: all 0.25s;
}

.slider-avis .elementor-swiper-button:hover {
  border-color: var(--e-global-color-primary);
}

.slider-avis .elementor-swiper-button i::before {
  transition: all 0.25s;
}

.slider-avis .elementor-swiper-button:hover i::before {
  color: var(--e-global-color-primary);
}

/* FAQ */
.faq .e-n-accordion-item-title-icon {
  padding: 6px;
  border: 1px solid rgba(26, 26, 26, 0.15);
  border-radius: 50%;
}

.faq .e-n-accordion-item {
  border-radius: 22px;
  background: #fff;
}

.faq .e-n-accordion-item-title-icon,
.faq .e-n-accordion-item-title-icon path {
  transition: all 0.25s;
}

.faq .e-n-accordion-item:hover .e-n-accordion-item-title-icon,
.faq .e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-icon {
  background: var(--e-global-color-primary);
}

.faq .e-n-accordion-item:hover .e-n-accordion-item-title-icon path,
.faq .e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-icon path {
  stroke: #fff;
}

.faq .e-n-accordion-item-title .e-n-accordion-item-title-icon .e-opened {
  transform: rotate(45deg);
}

/* ----------- FONDS DE DOTATION ----------- */
/* btn faire un don jaune */
.heart-white-hover a:hover .logo-heart path {
  stroke: #fff !important
}

.heart-white-hover a .logo-heart path {
  transition: stroke 0.25s;
}