/*------------------------------ FONTS ------------------------------*/

/* Define Sk-Modernist-Bold */
@font-face {
	font-family: 'Sk Modernist Bold';
	src: url('../fonts/Sk-Modernist-Bold.otf') format('opentype');
	font-weight: bold;
	font-style: normal;
}

/* Define Sk-Modernist-Mono */
@font-face {
	font-family: 'Sk Modernist Mono';
	src: url('../fonts/Sk-Modernist-Mono.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

/* Define Sk-Modernist-Regular */
@font-face {
	font-family: 'Sk Modernist Regular';
	src: url('../fonts/Sk-Modernist-Regular.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

/* Use Sk Modernist Bold */
.bold-text {
	font-family: 'Sk Modernist Bold', sans-serif !important;
}

/* Use Sk Modernist Mono */
.mono-text {
	font-family: 'Sk Modernist Mono', monospace;
}

/* Use Sk Modernist Regular */
.regular-text {
	font-family: 'Sk Modernist Regular', sans-serif;
}

/* Apply Sk Modernist Regular as the default font */
body {
	font-family: 'Sk Modernist Regular', sans-serif imo !important;
}


/*------------------------------ BODY ------------------------------*/
body {
	transition: background-color 0.5s ease;
	/* Transition douce pour le fond */
	overflow-x: hidden;
	background-color: #000 !important;
	color: white !important;

	position: relative;
}


@keyframes bg-move {
	0% {
	  background-position: center;
	}
	25% {
	  background-position: 30% 30%;
	}
	50% {
	  background-position: 75% 75%;
	}
	75% {
	  background-position: 30% 75%;
	}
	100% {
	  background-position: center;
	}
  }
  
  .bg-full {
	  background-image: url('../images/gradieeent.png');
	  background-size: 140%;
	  background-repeat: no-repeat;
	  background-position: center;
	  animation: bg-move 10s infinite alternate ease-in-out;
  }
  
  
  @keyframes gradient-animation {
	0% {
	  background-position: 0% 50%;
	}
	50% {
	  background-position: 100% 50%;
	}
	100% {
	  background-position: 0% 50%;
	}
  }
.blob {
	position: absolute;
	background: #6F21FD;
	border-radius: 50%;
	filter: blur(100px);
	opacity: 0.5;
	animation: move 10s ease-in-out infinite;
}

.blob:nth-child(1) {
	width: 300px;
	height: 300px;
	top: 10%;
	left: 20%;
	animation-duration: 12s;
}

.blob:nth-child(2) {
	width: 200px;
	height: 200px;
	top: 50%;
	left: 70%;
	animation-duration: 15s;
}

.blob:nth-child(3) {
	width: 400px;
	height: 400px;
	top: 80%;
	left: 30%;
	animation-duration: 18s;
}

.blob:nth-child(4) {
	width: 250px;
	height: 250px;
	top: 30%;
	left: 50%;
	animation-duration: 20s;
}


.dark-mode {
	background-color: black !important;
	color: white;
	transition: 1s;
}

.light-text,
.light-text a,
.light-text h2,
.light-text p {
	color: white !important;
	transition: color 0.5s;
}

/* Ajout d'une classe globale pour la transition sur le corps entier */
body.transitioning {
	transition: background-color 0.5s ease, color 0.5s ease;
}

/* Utilisez la classe `dark-mode` pour appliquer les changements de couleur spécifiques */
body.dark-mode {
	background-color: black;
	color: white;
}

/* Assurez-vous que tous les éléments héritent correctement les couleurs du texte */
body.dark-mode,
body.dark-mode a,
body.dark-mode h2,
body.dark-mode p {
	color: inherit;
}


body.dark-mode {
	background-color: black;
	/* Couleur de fond pour le mode sombre */
}

body.dark-mode .title-base {
	color: white;
	/* Couleur de texte pour le mode sombre */
}

/*------------------------------ PADDING MARGINS ------------------------------*/


.padding-30 {
	padding: 30px;
}

/*------------------------------ Colors ------------------------------*/

.primary-green {
	color: #6F21FD !important;
}

.green {
	color: #21FD93;
}

.white {
	color: #fff !important;
}

.white-70 {
	color: rgba(255, 255, 255, 0.7) !important;
}

.white-gradient {
	background: -webkit-linear-gradient(#ffffff, #999999);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.black {
	color: black;
}


/*------------------------------ COntainers ------------------------------*/


.container-one {
	width: 80%;
	margin: 0 auto;
}


.container-nav {
	width: 80%;
	margin: 0 auto;

}


@media only screen and (max-width: 480px) {
	.bg-full{
	background-image: url('../images/gradient_mobile.png');
	background-size: 200%;
	}
	.container-one {
		width: 90%;
		margin: 0 auto;
	}


	.container-nav {
		width: 96%;

	}

}

/* Très grands écrans, typiquement moniteurs Full HD et au-delà */
@media only screen and (min-width: 1920px) {
	.container-one {
		width: 60%;
		/* Réduire davantage la largeur pour une meilleure lisibilité et disposition */
	}

	.container-nav {
		width: 70%;

	}
}

/*------------------------------ Buttons ------------------------------*/


.navbarz-mobile {
	background-color: rgba(255, 255, 255, 0.05) !important;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
	transition: 0.8s;
}


.navbarz {
	padding: 15px;
	background-color: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(20px);
	border-radius: 10px;
	transition: 0.8s;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.simple-link {
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	color: white;
	transition: 0.5s;
}

.simple-link:hover {
	color: #6F21FD;
	transition: 0.5s;
}




.simple-links {
	font-size: 20px;
	text-decoration: none;
	font-weight: 300;
	;
	color: white;


}

.simple-links:hover {
	color: #6F21FD;
	transition: 0.5s;
}

.primary-btn {
	padding: 15px 30px;

	justify-content: center;
	align-items: center;
	border-radius: 10px;
	background: #6F21FD;
	text-decoration: none;
	color: white;
	font-weight: 500;
	border: 1px solid #6F21FD;
	transition: 0.4s;
	font-family: 'Sk Modernist regular';
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	/* Initial shadow */
}

.primary-btn:hover {
	box-shadow: 0 4px 100px rgba(111, 33, 253, 1);
	/* Glow effect */
	color: white;
	transform: translateY(-5px);
	/* Lift the button slightly */
}

.secondary-btn {
	padding: 15px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.05);
	text-decoration: none;
	color: white;
	font-weight: 500;

	transition: 0.4s;
	font-family: 'Sk Modernist Bold';
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	/* Initial shadow */
}

.secondary-btn:hover {
	background: rgba(255, 255, 255, 0.2);
	color: white;
}


.primary-btn-small {
	font-size: 14px;
	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	background: #6F21FD;
	text-decoration: none;
	color: white;
	font-weight: 500;
	font-family: 'Sk Modernist Bold';
}

.primary-btn-small:hover {
	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 40px;
	background: #fff;
	text-decoration: none;
	color: #6F21FD;
	font-weight: 500;
}


.primary-btn-xsmall {
	font-size: 13px;
	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	background: #6F21FD;
	text-decoration: none;
	color: white;
	font-weight: 500;
	font-family: 'Sk Modernist Bold';

}

.primary-btn-xsmall:hover {
	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	background: #8949ff;
	text-decoration: none;
	color: #fff;
	font-weight: 500;
}


.primary-btn-white-xsmall {
	font-size: 13px;
	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.15);
	text-decoration: none;
	color: white;
	font-weight: 500;
	font-family: 'Sk Modernist Bold';

}

.primary-btn-white-xsmall:hover {

	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.3);
	text-decoration: none;
	color: #fff;
	font-weight: 500;
}

.white-btn-small {
	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 40px;
	background: rgba(255, 255, 255, 0.1);
	text-decoration: none;
	color: #fff;
	font-weight: 500;
	font-family: 'Sk Modernist Bold';

}

.white-btn-small:hover {

	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 40px;
	background: rgba(255, 255, 255, 0.3);
	text-decoration: none;
	color: #fff;
	font-weight: 500;
	transition: 0.5s ease;

}


.primary-btn-small-white {
	font-size: 14px;
	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 40px;
	background: rgba(255, 255, 255, 0.3);
	border: 1px solid #000;
	text-decoration: none;
	color: white;
	font-weight: 500;
	transition: 0.5s;
	font-family: 'Sk Modernist Bold';

}

.primary-btn-small-white:hover {

	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 40px;
	background: transparent;
	text-decoration: none;
	color: #000;
	font-weight: 500;
	transition: 0.5s;

}


/*------------------------------ TITLES & TEXT ------------------------------*/


.title-1 {
	font-size: 55px;
	font-family: 'Sk Modernist Regular';
	margin-bottom: 20px;
	letter-spacing: -2px;
}

.title-2 {
	font-size: 55px;


	letter-spacing: -2px;
	font-family: 'Sk Modernist Regular';
}

.title-2-bis {
	font-size: 40px;


	letter-spacing: -1px;
	font-family: 'Sk Modernist Bold';
}

.title-3 {
	font-size: 28px;

	letter-spacing: -1px;
	font-family: 'Sk Modernist Regular';
}

.title-4 {
	font-size: 24px;
	letter-spacing: -1px;
	font-family: 'Sk Modernist Bold';
}

.title-5 {
	font-size: 18px;
	font-family: 'Sk Modernist Regular';
}

.title-base {
	font-size: 60px;
	color: #6F21FD;
	letter-spacing: -2px;

	transition: font-size 0.3s ease;
	/* Transition douce pour le changement de taille */
	font-family: 'Sk Modernist Bold';

}

.title-base span {
	opacity: 0;
	transition: opacity 0.3s ease;
}

.title-base span.visible {
	opacity: 1;
}


.text-1 {
	font-size: 25px;
	font-family: 'Sk Modernist Regular';

}

.text-2 {
	font-size: 16px;
	font-family: 'Sk Modernist Regular';

}

.text-2-bold {
	font-size: 16px;
	font-weight: 600;
	font-family: 'Sk Modernist Regular';

}

.text-3 {
	font-size: 14px;
	font-family: 'Sk Modernist Regular';

}


.title-base {
	transition: color 0.5s ease;
	/* Transition douce pour la couleur du texte */
}


/* Mobiles (jusqu'à 576px) */
@media only screen and (max-width: 576px) {
	.title-1 {
		font-size: 42px;
	}

	.title-2 {
		font-size: 40px;
	}

	.title-3 {
		font-size: 28px;
	}

	.title-base {
		font-size: 45px;
	}

	.text-2 {
		font-size: 16px;
	}
}

/* Tablettes (577px à 991px) */
@media only screen and (min-width: 577px) and (max-width: 991px) {
	.title-1 {
		font-size: 42px;
	}

	.title-2 {
		font-size: 40px;
	}

	.title-3 {
		font-size: 28px;
	}

	.title-base {
		font-size: 45px;
	}
}

/* Desktops (992px à 1919px) */
@media only screen and (min-width: 992px) and (max-width: 1919px) {}

/* Grands Desktops (1920px et plus) */
@media only screen and (min-width: 1920px) {}


/*------------------------------ SECTIONS ------------------------------*/


.section-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	align-items: flex-start;
	/* Align items to the start (top) */
	padding-top: 100px;

}

.section-hero video {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}

.section-hero .video-filter {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: -1;
}


.section-one {
	padding: 120px 0 120px 0;
	overflow-x: hidden;
	/* Empêche le débordement horizontal dans ces sections */

}

.section-two {
	padding: 150px 0;
	overflow-x: hidden;
	/* Empêche le débordement horizontal dans ces sections */

}

.section-three {
	padding: 50px 0 50px 0;
}

.section-four {
	padding: 150px 0 50px 0;
}



/* Mobiles (jusqu'à 576px) */
@media only screen and (max-width: 576px) {
	.section-one {
		padding: 60px 0 60px 0;
		overflow-x: hidden;
		/* Empêche le débordement horizontal dans ces sections */

	}
}

/*----------------------------- CARDS ------------------------------*/


.card-1 {
	background: var(--gradient, linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.06) 100%));
	padding: 0 0 0 20px;
	border-radius: 20px;
	overflow: hidden;
	/* This is crucial for applying the border-radius */
	position: relative;
	/* Needed to position the pseudo-element */
	border: none;
	/* Remove any default border */
	backdrop-filter: blur(30px);
}

.card-single {
	background: var(--gradient, linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.06) 100%));
	border-radius: 20px;
	overflow: hidden;
	/* This is crucial for applying the border-radius */
	position: relative;
	/* Needed to position the pseudo-element */
	border: none;
	/* Remove any default border */
}

.card-single-container {
	padding: 30px;
}

.check-icon {
	width: 50px;
	height: auto;
}


.card-howto {
	background-color: rgba(255, 255, 255, 0.05);
	border-radius: 10px;
	overflow: hidden;
}


/* Mobiles (jusqu'à 576px) */
@media only screen and (max-width: 576px) {
	.card-single-container {
		padding: 15px;
	}

	.card-1 {
		padding: 0;
	}

	.card-single {
		margin-bottom: 20px;
	}

	.title-2-bis {
		font-size: 35px;
	}
}


.pill-step {
	background: rgba(111, 33, 253, 1);

	font-size: 16px;
	padding: 10px 20px;
	border-radius: 50px;
	font-weight: 600;
	letter-spacing: -0.5;
	font-family: "Sk Modernist Regular";
}


/*------------------------------ IMAGES & icons ------------------------------*/

.image-stack {

	width: 100%;
	/* ou une largeur spécifique si nécessaire */
}

.img-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	/* Assure que les images superposées couvrent le conteneur */
	height: 100%;
	/* Optionnel, en fonction du besoin de couverture */
	object-fit: cover;
	/* Assure que l'image couvre bien le conteneur sans déformation */
	display: block;
	z-index: 10;
	/* Assure que les images sont au-dessus de l'image de fond */
}


.round-icon {
	width: 34px;
	height: auto;
	margin-right: 10px;
}

.pill-section {
	background: rgba(111, 33, 253, 0.2);
	color: #6F21FD;
	padding: 10px 20px;
	border-radius: 50px;
	font-weight: 600;
	letter-spacing: -0.5;
	font-family: "Sk Modernist Regular";
}


.iconn-ai {
	width: 48px;
	height: auto;
	transition: opacity 0.5s ease-in-out;
}


/* Custom navbar styling */
.navbar {
	background-color: #fff;
	/* White background */
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.05);
	/* Subtle shadow for depth */
}

.navbar-brand {
	font-weight: 600;
	color: #000;
	/* Black for the brand */
}

.nav-link {
	color: #555;
	/* Dark grey for links */
	margin-right: 15px;
	/* Spacing between nav items */
	font-size: 1rem;
	/* Font size for links */
}

.nav-link:hover,
.nav-link:focus {
	color: #000;
	/* Black color on hover/focus for better interaction feedback */
}

.btn-primary {
	background-color: #6F21FD;
	/* Custom green background */
	border-color: #6F21FD;
	/* Border color to match */
	font-weight: 500;
}

.btn-primary:hover {
	background-color: #0aaa77;
	/* Slightly darker green on hover */
	border-color: #0aaa77;
}

/* Responsive handling */
@media (max-width: 992px) {
	.navbar-nav {
		margin-top: 10px;
		/* Space out elements in collapsed menu */
	}
}

.container-nav.fixed-top {
	transition: top 0.3s;
	/* Douce transition pour la montée et la descente */
	z-index: 1030;
	/* Haute valeur pour rester au-dessus des autres éléments */
}

.navbar-hidden {
	top: -120px;
	/* Adaptez cette valeur pour assurer que le conteneur est complètement caché */
}


.container-nav {
	transition: background-color 0.3s ease;
}

.container-nav a,
.container-nav svg {
	transition: color 0.3s ease;
}


.card-advantage {
	position: relative;
	padding: 30px;
	margin-bottom: 20px;
	background-color: rgba(255, 255, 255, 0.05);
	border-radius: 10px;
	overflow: hidden;
	/* Ensure content stays within rounded corners */
	z-index: 1;
	min-height: 240px !important;
}

.card-advantage::before {
	content: '';
	position: absolute;
	top: -1px;
	left: -1px;
	right: -1px;
	bottom: -1px;
	border-radius: 10px;
	/* Match the border radius of the parent */
	padding: 1px;
	/* Adjust if necessary */
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.1));
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	z-index: -1;
}


.icon-social {

	fill: rgba(255, 255, 255, 0.3);
	;
}

.icon-social:hover {
	fill: rgba(255, 255, 255, 0.3);
}

#svgCarousel .carousel-item img {
	width: 64px;
	height: 64px;
	margin: auto;
}

.icon-payments {
	width: 120px !important;
	height: auto;
}



#extra-links {
	opacity: 0;
	transition: opacity 0.3s ease;
	font-size: 25px;
}

#extra-links.show {
	opacity: 1;
}