/* 
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 */

/* ----- GUTENBERG ----- */

/* Gutenberg sizes variables */
body {
    --wp--preset--font-size--small: 0.9rem!important;
    --wp--preset--font-size--medium: 1.2rem!important;
    --wp--preset--font-size--large: 1.7rem!important;
    --wp--preset--font-size--x-large: 2.2rem!important;	
	--wp--preset--font-size--normal: 17px!important;
    --wp--preset--font-size--huge: 3rem!important;
	}
/* Gutenberg colors > cf theme.json */

/* Gutenberg blocks */
pre.wp-block-code {
	padding: 20px;
	background-color: var(--e-global-color-e26c972);
	border-radius: 10px;
	font-size: 0.9em;
}
figure.wp-block-pullquote {
	position:relative;
	padding:2em 0;
}
blockquote.wp-block-quote {
	position:relative;
	margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
	padding-top:0.5em;
	padding-left:25px;
	font-style:italic;
}
figure.wp-block-pullquote blockquote > *:not(cite) {
	font-weight:bold;
}
figure.wp-block-pullquote blockquote cite, blockquote.wp-block-quote cite {
	font-size:1rem;
	margin-block-start:1em;
}
figure.wp-block-pullquote blockquote cite{
	text-align:right
}
.wp-block-quote cite{
	font-style:none;
	font-weight:bold
}
figure.wp-block-pullquote blockquote p, blockquote.wp-block-quote p {
	margin-block-end: 0px;
}
figure.wp-block-pullquote::before, figure.wp-block-pullquote::after {
	content:"";
	height:40px;
	width:40px;
	display:block;
	position:absolute;
	background-color:var(--e-global-color-827236d);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center ;
    mask-size: center ;
}
figure.wp-block-pullquote::before {
	-webkit-mask-image:url("/wp-content/uploads/2025/12/icon-quote-left.svg");
    mask-image:url("/wp-content/uploads/2025/12/icon-quote-left.svg");
	top:0px;
	left:-10px
}
figure.wp-block-pullquote::after {
	-webkit-mask-image:url("/wp-content/uploads/2025/12/icon-quote-left.svg");
    mask-image:url("/wp-content/uploads/2025/12/icon-quote-right.svg");
	bottom:0px;
	right:-10px
}
blockquote.wp-block-quote::before {
	content:"";
	height:20px;
	width:20px;
	display:block;
	position:absolute;
	background-color:var(--e-global-color-827236d);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center left;
    mask-position: center left;
	-webkit-mask-image:url("/wp-content/uploads/2025/12/icon-quote-left.svg");
    mask-image:url("/wp-content/uploads/2025/12/icon-quote-left.svg");
	left:-9px;
	top:0px;
	z-index:2
}
blockquote.wp-block-quote::after {
	content:"";
	display:block;
	height:100%;
	width:4px;
	background-image: linear-gradient(to bottom, #fff, #fff 25px, var(--e-global-color-dd38c2a) 25px, var(--e-global-color-dd38c2a) 100%);
	position:absolute;
	top:0;
	left:0;
	z-index:1
}
.cs-gut-cta p {
	margin-block-end: 0.5em;
	line-height:1.3em;
}
.cs-gut-cta img {
	object-fit:contain;
	object-position:center;
	max-height: 300px!important;
    width: auto!important;
}
.cs-block-info p{
	margin-block-end:0px!important;
}
.cs-block-info .icon {
	width:25px;
	height:25px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center left;
    mask-position: center left;
}
.cs-block-info.info .icon {
	-webkit-mask-image:url("/wp-content/uploads/2025/12/icon-info.svg");
    mask-image:url("/wp-content/uploads/2025/12/icon-info.svg");
}
.cs-block-info.warning .icon {
	-webkit-mask-image:url("/wp-content/uploads/2025/12/icon-warning.svg");
    mask-image:url("/wp-content/uploads/2025/12/icon-warning.svg");
}
.cs-block-info.tip .icon {
	-webkit-mask-image:url("/wp-content/uploads/2025/11/icone-fusee.svg");
    mask-image:url("/wp-content/uploads/2025/11/icone-fusee.svg");
}
.cs-block-info.tip .note {
	-webkit-mask-image:url("/wp-content/uploads/2025/12/icon-graduation-cap.svg");
    mask-image:url("/wp-content/uploads/2025/12/icon-graduation-cap.svg");
}

/*---------------------*/

/* ---- KEYFRAMES ---- */

/* buttons */
@keyframes btnPrimarySlideRight {
	0% {
		opacity: 0;
		transform: translateX(-50px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
@keyframes btnSecondarySlideRight {
	0% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(7px);
	}
	100%{
		transform: translateX(0);
	}
}
/* others */
@keyframes cs-anim-slide-up {
	0% {
		opacity: 0;
		transform: translateY(50px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}


/* ---- ANIMATIONS ---- */

/* Elementor widget/element */
.cs-anim-slide-up {
	animation: cs-anim-slide-up 800ms ease 0s 1 normal forwards;
}
.cs-anim-delay-100 {
	animation-delay:200ms
}
.cs-anim-delay-200 {
	animation-delay:400ms
}
.cs-fadeInUp {
	opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s ease-out;
}
.cs-fadeInUp.animated {
    opacity: 1;
    transform: translateY(0);
}

/* ---- BUTTONS ---- */
/* Animation */
.cs-btn-primary a.elementor-button:hover span, .cs-btn-primary a.elementor-button:focus span, .wp-block-button:not(.is-style-outline) a:hover, .wp-block-button:not(.is-style-outline) a:focus {
	animation: btnPrimarySlideRight 0.5s ease 0s 1 normal forwards;
}
.cs-btn-secondary a.elementor-button:hover .elementor-button-icon, .cs-btn-secondary a.elementor-button:focus .elementor-button-icon, .global-link-secondary:hover .cs-btn-secondary a.elementor-button .elementor-button-icon,.global-link-secondary:focus .cs-btn-secondary a.elementor-button .elementor-button-icon, .wp-block-button.is-style-outline a:hover::after, .wp-block-button.is-style-outline a:focus::after {
	animation: btnSecondarySlideRight 0.5s ease 0s 1 normal forwards;
}
/* Elementor */
.global-link-secondary, .global-link-secondary svg {
	transition:0.2s;
}
.global-link-secondary:hover .cs-btn-secondary a.elementor-button {
	color:var(--e-global-color-secondary);
}
.global-link-secondary:hover .cs-btn-secondary a.elementor-button svg{
	fill:var(--e-global-color-secondary);
}
/* Gutenberg */
.wp-block-buttons {
    margin-block-start: 1.3em;
    margin-block-end: 1.3em;
}
.wp-block-button:not(.is-style-outline) a{
	padding:12px 24px;
	background-color: var(--e-global-color-accent);
    border-radius: 10px;
    text-decoration: none;
    color: var(--e-global-color-primary);
}
.wp-block-button.is-style-outline a{
	background-color: transparent!important;
    color: var(--e-global-color-accent);
	border:none;
    padding: 0px;
	display:flex;
	align-items:center;
	text-decoration:none
}
.wp-block-button.is-style-outline a::after {
	content:"";
	display:inline-block;
	width:15px;
	height:15px;
	background-color:var(--e-global-color-accent);
    mask:url("/wp-content/uploads/2025/11/fleche-btn.svg") no-repeat;
    mask-position:center;
    mask-size:contain;
	margin-left:10px
}

/* ---- LISTS ---- */
li::marker{
	color:var(--e-global-color-827236d);
}/* - */

/* MENU */
#desktop-menu .e-n-menu-item .e-n-menu-title-container {
  text-decoration: none !important;
  background-image: linear-gradient(var(--e-global-color-accent), var(--e-global-color-accent));
  background-size: 50px 2px;
  background-repeat: no-repeat;
  background-position: -50px bottom;
  transition: background-position 0.3s ease;
}

#desktop-menu .e-n-menu-item:hover .e-n-menu-title-container,
#desktop-menu .e-n-menu-item.current-menu-item .e-n-menu-title-container,
#desktop-menu .e-n-menu-item.current-menu-ancestor .e-n-menu-title-container {
  background-position: left bottom;
}
#desktop-menu .e-n-menu-item:hover > a::after,
#desktop-menu .e-n-menu-item.current-menu-item > a::after,
#desktop-menu .e-n-menu-item.current-menu-ancestor > a::after {
  transform: scaleX(1);
}
#desktop-menu .e-n-menu-item:hover::after,
#desktop-menu .e-n-menu-item.current-menu-item::after,
#desktop-menu .e-n-menu-item.current-menu-ancestor::after {
  transform: scaleX(1);
}
#desktop-menu .iconbox-menu-links .elementor-position-inline-start {
  transition: background-color 0.25s ease;
  border-radius: 4px;
}
#desktop-menu .iconbox-menu-links .elementor-position-inline-start:hover {
  background-color: #D9F7F7;
}
#desktop-menu .iconbox-menu-links .elementor-position-inline-start .elementor-icon-box-content {
  position: relative;
  padding-left: 0;
  transition: padding-left 0.25s ease;
}
#desktop-menu .iconbox-menu-links .elementor-position-inline-start .elementor-icon-box-content::before {
  content: '›';
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  color: var(--e-global-color-primary);
  font-size: 1.2em;
  line-height: 1;
  transition: opacity 0.25s ease; 
}
#desktop-menu .iconbox-menu-links .elementor-position-inline-start:hover .elementor-icon-box-content {
  padding-left: 14px;
}
#desktop-menu .iconbox-menu-links .elementor-position-inline-start:hover .elementor-icon-box-content::before {
  opacity: 1;
}
.mobile-menu a {
	font-size:16px!important;
    text-decoration:none;
}
.mobile-menu
/* - */


/* ---- IA LINKS SUMMARY ---- */
.ia-links .ia-link:not(.last):after {
	content:"";
	display:inline-block;
	background-color:var(--e-global-color-primary);
	width:1px;
	height:20px;
	margin-left:15px;
}


/* ---- Animated Gradient Background ---- */

/* Main container */
.animated-gradient-bg,
.elementor-section.animated-gradient-section {
    position: relative;
    overflow: hidden;
}
/* Light background base */
.animated-gradient-bg::before,
.elementor-section.animated-gradient-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: var(--wp--preset--gradient--main-gradient);
}
/* Animated gradient blobs */
.animated-gradient-bg::after,
.elementor-section.animated-gradient-section::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    z-index: 1;
    background: 
        radial-gradient(ellipse 800px 600px at 20% 30%, rgba(175, 240, 240, 0.8) 0%, transparent 50%),
        radial-gradient(ellipse 700px 500px at 80% 20%, rgba(255, 229, 177, 0.7) 0%, transparent 50%),
        radial-gradient(ellipse 900px 700px at 50% 80%, rgba(255, 208, 213, 0.6) 0%, transparent 50%);
    animation: rotateGradient 20s linear infinite;
    will-change: transform;
    pointer-events: none;
}
/* Rotation animation */
@keyframes rotateGradient {
    0% {
        transform: translate(0, 0) rotate(0deg);
    }
    100% {
        transform: translate(0, 0) rotate(360deg);
    }
}
/* Content above gradient */
.animated-gradient-bg > *,
.elementor-section.animated-gradient-section > .elementor-container {
    position: relative;
    z-index: 2;
}
.animated-gradient-bg > .sticky-nav, .animated-gradient-bg > .sticky-nav > * {
	z-index:99!important;
}
/* Dark background variant */
.animated-gradient-bg.dark::before,
.elementor-section.animated-gradient-section.dark::before {
    background: linear-gradient(135deg, #001a2e 0%, #0d3b66 100%);
}
/* Fast variant */
.animated-gradient-bg.fast::after,
.elementor-section.animated-gradient-section.fast::after {
    animation: rotateGradient 10s linear infinite;
}
/* Slow variant */
.animated-gradient-bg.slow::after,
.elementor-section.animated-gradient-section.slow::after {
    animation: rotateGradient 30s linear infinite;
}
/* Mobile responsive */
@media (max-width: 768px) {
    .animated-gradient-bg::after,
    .elementor-section.animated-gradient-section::after {
        background: 
            radial-gradient(ellipse 500px 400px at 20% 30%, rgba(175, 240, 240, 0.8) 0%, transparent 50%),
            radial-gradient(ellipse 450px 350px at 80% 20%, rgba(255, 229, 177, 0.7) 0%, transparent 50%),
            radial-gradient(ellipse 600px 500px at 50% 80%, rgba(255, 208, 213, 0.6) 0%, transparent 50%);
        animation: rotateGradient 25s linear infinite;
    }
}
/* Accessibility - reduced motion */
@media (prefers-reduced-motion: reduce) {
    .animated-gradient-bg::after,
    .elementor-section.animated-gradient-section::after {
        animation: none !important;
    }
}
/* GPU optimization */
.animated-gradient-bg::after,
.elementor-section.animated-gradient-section::after {
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Blocs Hero full screen Light & Dark */
.fullscreen-hero.elementor-sticky--effects {
    background-color:#fff;
}
.fullscreen-hero.elementor-sticky--effects .elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon svg{
    fill:var(--e-global-color-secondary);
}
.fullscreen-hero.elementor-sticky--effects .cs-stickynav-button .elementor-button {
    background-color:var(--e-global-color-accent)!important;
	color:#fff!important
}
.fullscreen-hero.elementor-sticky--effects .cs-stickynav-button .elementor-button:hover, .fullscreen-hero.elementor-sticky--effects .cs-stickynav-button .elementor-button:focus {
    background-color: var(--e-global-color-0a2e512)!important;
    color: var(--e-global-color-primary)!important;
}
.fullscreen-hero-dark.elementor-sticky--effects .e-n-menu-title:not(:hover) .e-n-menu-title-container .e-n-menu-title-text{
	color: var(--e-global-color-primary);
}
.fullscreen-hero-dark.elementor-sticky--effects .e-n-menu-title:hover .e-n-menu-title-container .e-n-menu-title-text{
	color: var(--e-global-color-secondary);
}
.fullscreen-hero-dark .logo-defonce, .fullscreen-hero-dark .logo {
	transition:0.2s;
}
.fullscreen-hero-dark .logo {
	opacity:0
}
.fullscreen-hero-dark.elementor-sticky--effects .logo {
	opacity:1;
}
.fullscreen-hero-dark.elementor-sticky--effects .logo-defonce {
	opacity:0;
}
.logo-showcase-greylike img {
	filter: brightness(0) saturate(100%) invert(30%) sepia(92%) saturate(342%) hue-rotate(162deg) brightness(92%) contrast(91%);
}
.logo-showcase-whitelike img {
	filter: brightness(0) saturate(100%) invert(87%) sepia(0%) saturate(1174%) hue-rotate(104deg) brightness(116%) contrast(94%);
}

/* ---- DOWNLOAD APP BUTTONS ----*/
.cs-btn-app-download .elementor-button-text{
    text-align:left;
}
.cs-btn-app-download span.store-name {
    font-weight:bold;
}
.cs-btn-app-download .elementor-button-icon {
    font-size:2.3em;
}
/**/

/* ---- SLIDER TESTIMONIALS ---- */
.cs-slider-testimonials .jet-slider .sp-arrow {
	transition:0.3s;
	width:35px;
	height:28px;
	font-size:24px
}
.cs-slider-testimonials .jet-slider .sp-arrow svg {
    margin-left: 8px;
	width:17px;
	height:auto;
}
.cs-slider-testimonials .jet-slider .sp-arrow.sp-next-arrow svg {
	transform:none;
}
.cs-slider-testimonials .sp-arrow.sp-previous-arrow svg {
	transform: scale(-1, 1);
}

/* ---- RESOURCES ---- */
.cs-cat-tag .jet-listing-dynamic-terms {
	display:flex;
	flex-flow: row wrap;
    gap: 10px;
}
.cs-cat-tag .jet-listing-dynamic-terms__link {
	background-color:#F7F8FA;
	border-radius:10px;
	padding-left: 10px;
    padding-right: 10px;
}

/* ---- BLOCK STEPS ---- */

/* Slider version */
.container-align-left .swiper-slide {
	max-width:600px;
}
.container-align-left .swiper-slide::last-of-type {
	display:none;
}
@media screen and (min-width:1400px) {
	.container-align-left {
		margin-left:calc(50vw - 720px);
	}
	.container-align-left .swiper-slide::last-of-type {
		display:block;
		max-width:0px;
	}
}
/* Cards version */
.step1 {
	clip-path: polygon(0% 5%, 95% 5%, 95% 40%, 100% 50%, 95% 60%, 95% 95%, 0% 95%);
}

/* ---- BLOCK VIDEO ---- */
.elementor-custom-embed-play svg {
	opacity:1;
}

/* ---- BLOCK KEY FIGURES ---- */
.cs-key-figure {
    min-width:80px;
    width:fit-content;
}
.cs-key-number {
    position:relative;
}
.cs-key-number::after {
    display:block;
    content:"";
    width:100%;
    opacity:0.8;
    position: absolute;
    right: 0;
    bottom: -15px;
    width: 100%;
    height: 12px;
    -webkit-mask-image:url("/wp-content/uploads/2025/12/figure-underline.svg");
    mask-image:url("/wp-content/uploads/2025/12/figure-underline.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center ;
    mask-size: center ;
}
.cs-key-number.light-font::after{
    background-color: #fff;
}
.cs-key-number.dark-font::after{
    background-color: rgba(6, 55, 90, 0.8);
}
@media screen and (min-width:1001px) {
	.cs-key-card {
		max-width:544px;
	}
}

/* OTHERS */
