/* 
Theme Name: Hello Elementor 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
Author: Elementor Team
Author URI: https://elementor.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
*/

/* Add your custom styles here */
/* HEADER */
/* Sticky header */
.header-2 {
 transform: translatey(-80px);
 -moz-transition: all .3s ease!important;
 -webkit-transition: all .3s ease!important;
 transition: all .3s ease!important;
}
.elementor-sticky--effects.header-2  {
 height: auto!important;
 transform: translatey(0px);
}
.elementor-sticky--effects.header-1 {
 display: none!important;
}
.header-2 {box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);}

.btnheader .elementor-button {width:150px}
.btnheadermobile .elementor-button {width: 40vw;}

/* background half coloré */
.bgbleu50 {/*background: linear-gradient(120deg, var(--e-global-color-accent) 55%, white 45%);*/ background:linear-gradient(120deg, var(--e-global-color-accent) 0%, var(--e-global-color-secondary) 55%, white 45%, white 100%);}
.bgorange50 {background: linear-gradient(120deg, var(--e-global-color-secondary) 50%, white 50%);}
.bgviolet50 {background: linear-gradient(120deg, var(--e-global-color-primary) 55%, white 45%);}
.bgvioletfonce50 {background: linear-gradient(120deg, #503F6D 50%, white 50%);}
.bgvioletfonce60 {background: linear-gradient(120deg, #503F6D 60%, white 40%);}
.bgbleucustom50 {background: linear-gradient(120deg, var(--e-global-color-accent) 50%, white 50%);}
/* Megamenu contact */
.boiteiconehover:hover h3 a{color:var(--e-global-color-primary)}
.boiteiconehover:hover svg{   
	fill: var(--e-global-color-primary);
    color: var(--e-global-color-primary);
}

/* PAGE D'ACCUEIL */
/* SURLIGNEMENT PROGRESSIF */
/* Configuration du texte */
.stronghighlight p strong {
    position: relative;
    display: inline-block;
    padding: 2px 4px;
    margin: 0px 3px;
    z-index: 1;
}
.stronghighlight.colorblack p strong {
	color: black !important;
} 
.stronghighlight.colorwhite p strong {
	color: white !important;
}
.stronghighlight.size22 p strong {
	font-size:22px;
}
.citytitle.stronghighlight p strong::first-letter {
	font-size:40px;
}
.stronghighlight.largerpadding p strong {
	padding: 5px 20px;
}
/* Fond invisible au départ */
.stronghighlight p strong::before {
    content: "";
    position: absolute;
    left: 0; /* Aligner à gauche */
    top: 50%;
    width: 0%; /* Démarrer avec aucune largeur */
    height: calc(100% - 5px); /* Ajustement de la hauteur */
    z-index: -1;
    transform: translateY(-50%) skew(-4deg, -2deg); /* Inclinaison */
    transition: width 0.8s ease-in-out;
}
.stronghighlight.bgblueflashy p strong::before {
	    background: #A5FFDA; /* Couleur demandée */
}
.stronghighlight.bgviolet p strong::before {
background:var(--e-global-color-primary);
}
.stronghighlight.bgorange p strong::before {
background:var(--e-global-color-secondary);
}
.stronghighlight.bgbleu p strong::before {
background:var(--e-global-color-accent);
}
.stronghighlight.bgblanc p strong::before {
background:#ffffff;
}
.stronghighlight.bgbleuclair p strong::before {
background:#A5D7DB;
}
.stronghighlight.bgvioletfonce p strong::before {
background:#503F6D;
}

/* Quand l'élément devient visible, le fond se remplit de gauche à droite */
.stronghighlight p strong.visible::before {
    width: 100%;
}
/* Réinitialisation du fond quand l'élément sort de l'écran */
.stronghighlight p strong.not-visible::before {
    width: 0%;
}

/* pastille DAC */
.pastilledac:hover .elementor-widget-text-editor,.pastillerc:hover .elementor-widget-text-editor {color:white}
.pastillerc:hover .customarrow .elementor-icon svg,.pastilledac:hover .customarrow .elementor-icon svg {color:white;fill:white;}
.pastilledac:hover .customarrow .elementor-icon, .pastillerc:hover .customarrow .elementor-icon {border-color: var(--e-global-color-5632392)!important}
.pastilleeged:hover .elementor-widget-text-editor {color:#404040}
.pastilleeged:hover .customarrow .elementor-icon {border-color: #404040!important}
.pastilleeged:hover .customarrow .elementor-icon svg {color:#404040;fill:#404040;}

/* ne pas dépasser le sitewidth */
.width60sitewidth {max-width:684px}
.width40sitewidth {max-width:400px}
.width50sitewidth {max-width:570px}
.width30sitewidth {max-width:380px}
.width70sitewidth {max-width:760px}
/* Encadrement texte dégradé */
.textencadre {
    position: relative;
    background: white; /* Assurer un fond blanc propre */
    border-radius: 25px; /* Facultatif : coins arrondis */
    z-index: 2;
}

/* Bordure en dégradé */
.textencadre::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    padding: 4px; /* Épaisseur de la bordure */
    background: linear-gradient(45deg, #7B65A5, #EDA735, #A5D7DB);
    -webkit-mask: linear-gradient(white 0 0) content-box, 
                  linear-gradient(white 0 0);
    mask-composite: exclude;
    -webkit-mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* Animation progressive */
@keyframes borderFill {
    0% {
        clip-path: inset(100% 100% 0 0);
    }
    25% {
        clip-path: inset(75% 75% 0 0);
    }
    50% {
        clip-path: inset(50% 50% 0 0);
    }
    75% {
        clip-path: inset(25% 25% 0 0);
    }
    100% {
        clip-path: inset(0 0 0 0);
    }
}

/* Déclenchement de l'animation */
.textencadre.visible::before {
    opacity: 1;
    animation: borderFill 1s ease-in-out forwards;
}
/* Actus et Agenda */
/* Cacher l'overlay par défaut */
.custom-overlay {
    opacity: 0;
    transition: opacity 1s ease-in-out; /* Animation fluide uniquement sur l'opacité */
    position: absolute;
    top: 0;
    height: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

/* Afficher l'overlay au survol de l'élément parent */
.e-loop-item:hover .custom-overlay {
    opacity: 1; /* Apparition en fade-in */
}

/* Assurer que l'élément parent gère bien le positionnement */
.customloop .e-loop-item {
    position: relative;
    overflow: hidden;
}

/* Effet sur l'image */
.customloop .e-loop-item img {filter: 
brightness( 100% ) contrast( 100% ) saturate( 0% ) blur( 0px ) hue-rotate( 0deg ) }
.customloop .e-loop-item:hover img {filter: brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg )!important;}

/* Classes */
.margbottoff p {margin-bottom:0px}
.heightmax img {height:80px;width:auto;}
.heightmax2 img {max-height:80px;width:auto;}
.lienblanc a {color:white!important}
.lienblanc a:hover {text-decoration:underline}
.customhalfbg {background-size: 50vw auto!important;}
.bgbleu70droit {background: linear-gradient(90deg, var(--e-global-color-accent) 70%, white 30%);}

/* SHORTCODE OFFRE D'EMPLOI */
.boutons-acf {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
  justify-content: flex-start;
  counter-reset: boutonacf;
}

.bouton-acf {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 2px solid #503F6D;
  background-color: #503F6D;
  color: #A5FFDA;
  text-decoration: none;
  border-radius: 6px;
  font-size: 18px;
  font-weight: 600;
  transition: all 0.3s ease;
  white-space: normal;

  opacity: 0;
  transform: translateY(10px);
  animation: fadeInUp 0.6s ease forwards;
  
  /* Cascade dynamique */
  animation-delay: calc(0.1s * var(--i));
}

.bouton-acf small {
  display: block;
  font-size: 14px;
  font-weight: normal;
  margin-top: 8px;
  opacity: 0.9;
}

.bouton-acf .texte-bouton {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}

.icone-pdf {
  width: 32px;
  height: auto;
  transition: transform 0.3s ease;
  flex-shrink: 0;
  fill: currentColor;
}

.bouton-acf:hover {
  background-color: #EDA735;
  border-color: #EDA735;
  color: white;
}

.bouton-acf:hover .icone-pdf {
  transform: scale(1.1);
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}