/*
Theme Name: ISL by LLC (2026)
Template: hello-elementor
Text Domain: isl
*/
html { scroll-behavior: smooth; scroll-padding-top: 180px; }
.bicolor span {color: var( --e-global-color-accent ); }
.elementor-element  .elementor-widget-nav-menu .elementor-nav-menu--main .current-page-ancestor .elementor-item { 	color: var(--e-global-color-accent);
fill: var(--e-global-color-accent);}
.homepage .elementor-widget-counter .elementor-counter-number-wrapper,
.homepage .elementor-widget-counter .elementor-counter-title,
.homepage .elementor-counter-number-wrapper {
  color: #fff;
 }
 .jcr-post a, .jcr-overflow-y-auto > * {
   color: var( --e-global-color-primary );
 }
 .jcr-post a:hover {
    color: var( --e-global-color-accent ) !important;
  }
@media(max-width:767px) {
	.nobr-mobile br { display: none;}
}
.ul-sticky ul {list-style-type: none; padding-left: 0; margin-bottom: 10px;}
.ul-sticky ul li {margin-bottom: 10px;}
.anchor_cta .elementor-button, .anchor_cta .elementor-button:hover, .anchor_cta .elementor-button:visited, .anchor_cta .elementor-button:active {border-color:transparent;}
.anchor_cta .elementor-button-text {
  text-align: left;
}
.anchor_cta.active, .anchor_cta.active .elementor-button > span {font-weight:900;}

.join-card .elementor-widget-image a {display: block;}
.join-card .elementor-button .elementor-button-icon {opacity: 0; margin-left: -5px; transition: all ease 350ms;}
	.join-card-two .elementor-button .elementor-button-icon {transform: translateX(-100%);}
.join-card:hover  .elementor-button .elementor-button-icon {opacity: 1; margin-left: 0px; }
	.join-card-two:hover  .elementor-button .elementor-button-icon {transform: translateX(0%);}
.join-card:hover .elementor-widget-button:not(.off) .elementor-button {border-color: var( --e-global-color-primary ) !important;}


/* On cible l’icône */
.altcta .elementor-button .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  opacity: 0;
  transform: translateX(-6px); /* hors champ à gauche */
  transition: opacity 0.25s ease, transform 0.25s ease;
  /* Important : ne prend AUCUNE place au repos */
  width: 0;
  overflow: hidden;
}

/* Le bouton au repos */
.altcta .elementor-button {
  transition: padding 0.25s ease;
  padding-right: 10px; /* Ajuste selon ton design */
  padding-left: 20px;
}
	.altcta.small .elementor-button {
	  padding-right: 0px; /* Ajuste selon ton design */
	  padding-left: 10px;
	  padding-top: 8px;
	  padding-bottom: 8px;
	}

/* Au hover : on "déploie" l'espace pour l'icône */
.altcta .elementor-button:hover {
  padding-right: 24px; /* augmente légèrement pour faire de la place */
}
	.altcta.small .elementor-button:hover {
	  padding-right: 8px; /* augmente légèrement pour faire de la place */
	}

/* Au hover : l’icône apparaît et glisse */
.altcta .elementor-button:hover .elementor-button-icon {
  width: 30px; /* largeur réelle de l’icône (15px + marge) */
  opacity: 1;
  transform: translateX(0);
}

.elementor-button-content-wrapper {
	align-items: center; height:24px;
}
.elementor-button-icon {
	font-size: 24px;
}
.anchor_cta .elementor-button-content-wrapper {
	align-items: center; height:auto;
}


.size2 .elementor-button-icon {
	font-size: 34px;
}
.size2 .elementor-button-content-wrapper {
	 height:34px;
}
/*.elementor-heading-title {
  hyphens:auto;
  -webkit-hyphens:auto;
  overflow-wrap:break-word;
}*/
.is .elementor-heading-title { hyphens: none;  -webkit-hyphens:none;  overflow-wrap:normal;}

.btn-arrow-anim .elementor-button-icon {
  display: inline-flex;
  will-change: transform, opacity;
}

.btn-arrow-anim:hover .elementor-button-icon {
  animation: arrowSlideLoop 0.9s ease-in-out infinite;
}

@keyframes arrowSlideLoop {
  0% {
    transform: translateX(-4px);
    opacity: 0;
  }
  20% {
    transform: translateX(0);
    opacity: 1;
  }
  60% {
    transform: translateX(6px);
    opacity: 1;
  }
  100% {
    transform: translateX(10px);
    opacity: 0;
  }
}


.btn-arrow-anim .elementor-button-icon {
  display: inline-flex;
  will-change: transform, opacity;
}

.btn-arrow-anim:hover .elementor-button-icon {
  animation: arrowSlideLoop 1.2s linear infinite;
}

@keyframes arrowSlideLoop {
  0% {
    transform: translateX(-4px);
    opacity: 0;
  }
  25% {
    transform: translateX(0);
    opacity: 1;
  }
  70% {
    transform: translateX(8px);
    opacity: 1;
  }
  100% {
    transform: translateX(12px);
    opacity: 0;
  }
}

.btn-arrow-premium .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.btn-arrow-premium .elementor-button-icon svg {
  display: block;
  will-change: transform, opacity;
  transform: translateX(0);
  opacity: 1;
}

.btn-arrow-premium:hover .elementor-button-icon svg {
  animation: arrowPremiumLoop 1.1s cubic-bezier(.22,.61,.36,1) infinite;
}

@keyframes arrowPremiumLoop {
  0% {
    transform: translateX(-6px);
    opacity: 0;
  }
  18% {
    transform: translateX(0);
    opacity: 1;
  }
  62% {
    transform: translateX(8px);
    opacity: 1;
  }
  100% {
    transform: translateX(14px);
    opacity: 0;
  }
}
.verbatim .elementor-heading-title {
  /* typo */
  font-size: clamp(28px, calc(19.55px + 2.25vw), 52px) !important;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 3.64px;
  text-transform: uppercase;
  /* effet “contour” */
  color: transparent;                     /* pas de remplissage */
  -webkit-text-stroke: 2px #F3EED9;       /* contour ivoire */
}

.verbatim .elementor-heading-title span {
  /* SUR LIGNEUR */
  background: #3E4FA8;                    /* ton bleu */
  padding: 0.02em 0.16em;  
  display: inline-flex;
  margin:3px 0px;/* “marge” du surligneur */
  box-decoration-break: clone;            /* multi-ligne OK */
  -webkit-box-decoration-break: clone;
  /* optionnel selon rendu */
  border-radius: 0;                  /* très léger (ou 0 si angles nets) */
}

.verbatim.home .elementor-heading-title span {
	background: #fff;                  
}
.verbatim.home .elementor-heading-title {
  /* typo */
  -webkit-text-stroke: 2px #CAD632;      
}
.verbatim.mot .elementor-heading-title span {
	background: #044E64;                  
}
.verbatim.mot .elementor-heading-title {
  /* typo */
  -webkit-text-stroke: 2px #F3EED9;      
}
.verbatim.campus .elementor-heading-title span {
  background: #044E64;                  
}
.verbatim.campus .elementor-heading-title {
  /* typo */
  -webkit-text-stroke: 2px #CAD632;      
}
.verbatim.experience .elementor-heading-title span {
  background: #CAD632;                  
}
.verbatim.experience .elementor-heading-title {
  /* typo */
  -webkit-text-stroke: 2px #044E64;      
}
@media (max-width: 767px) {
	.verbatim .elementor-heading-title {
		-webkit-text-stroke: 1px #F3EED9;
	}
	.verbatim.home .elementor-heading-title {
		-webkit-text-stroke: 1px #CAD632;
	}
	.verbatim.mot .elementor-heading-title {
		-webkit-text-stroke: 1px #F3EED9;
	}
}


/* <wbr> = “Word Break Opportunity” (point de cassure possible).
Professionnalisa<wbr class="br-767">
tion<wbr class="br-1024"> des
<wbr class="br-1200">équipes
<wbr class="br-1366"> commerciales
 */
/* par défaut : aucun break actif */
.br-767,
.br-1024,
.br-1200,
.br-1366,
.br-2400{
  display:none;
}

/* <= 767px (mobile) */
@media (max-width:767px){
  .br-767{display:inline;}
}

/* 768 → 1024 (tablette) */
@media (min-width:768px) and (max-width:1024px){
  .br-1024{display:inline;}
}

/* 1025 → 1200 (petit laptop) */
@media (min-width:1025px) and (max-width:1200px){
  .br-1200{display:inline;}
}

/* 1201 → 1366 */
@media (min-width:1201px) and (max-width:1366px){
  .br-1366{display:inline;}
}

/* >1366 (grand desktop) */
@media (min-width:1367px){
  .br-2400{display:inline;}
}

/** STRUCTURES ele container 

	.mymain
		{Spacer-Top-Heading}
		Heading
		{Spacer-Bottom-Heading}
		.cream-box
		{-EOP-}
		
***/

/*** - cream-box **/
@media(max-width:1366px) {
	#content .elementor-element.cream-box {
		--padding-top:60px;
		--padding-bottom:60px;
		--padding-left:60px;
		--padding-right:60px;
	  }
}
@media(max-width:1200px) {
  #content .elementor-element.cream-box {
	--padding-top:40px;
	--padding-bottom:40px;
	--padding-left:40px;
	--padding-right:40px;
  }
}
@media(max-width:1024px) {
  #content .elementor-element.cream-box {
	  --padding-top:40px;
	  --padding-bottom:40px;
	  --padding-left:40px;
	  --padding-right:40px;
	}
  }
@media(max-width:767px) {
#content .elementor-element.cream-box {
	--padding-top:20px;
	--padding-bottom:20px;
	--padding-left:20px;
	--padding-right:20px;
  }
}