@font-face {
  font-family: 'Lastica';
  src: url('../fonts/FontsFree-Net-Lastica.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

.preloader .animation-preloader .txt-loading {
  font-family: 'Lastica', sans-serif !important;
}

.preloader .animation-preloader .txt-loading .letters-loading::before {
  font-family: 'Lastica', sans-serif !important;
}

.phone-theme-btn.phone-bt-support-now {
	background: #2e3192 !important;
	background: -moz-linear-gradient(45deg, var(--agex-primary) 8%, var(--agex-secondary) 100%) !important;
	background: -webkit-linear-gradient(45deg, var(--agex-primary) 8%, var(--agex-secondary) 100%) !important;
	background: linear-gradient(45deg, var(--agex-primary) 8%, var(--agex-secondary) 100%) !important;
	bottom: 90px !important;
}

.phone-theme-btn {
	background-color: #fff;
	border-radius: 40px;
	position: fixed;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 50px;
	height: 50px;
	min-width: 50px;
	z-index: 99999;
	color: #fff;
	text-align: center;
	overflow: hidden;
	transition: width 0.3s ease;
	cursor: pointer;
	padding: 0 20px;
}

.phone-theme-btn svg {
	fill: #fff;
	width: 26px;
	height: 26px;
	flex-shrink: 0;
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translate(0, -50%);
	transition: transform 0.3s ease;
}

.phone-theme-btn span {
	white-space: nowrap;
	font-size: 16px;
	opacity: 0;
	margin-left: 10px;
	transform: translateX(-10px);
	transition: opacity 0.3s ease, transform 0.3s ease;
	text-transform: uppercase;
	pointer-events: none;
	color: #fff;
}

.phone-theme-btn:hover {
	width: 180px; // largeur agrandie pour afficher le texte
padding: 0 10px;
}


.phone-theme-btn:hover span {
	opacity: 1;
	transform: translateX(0);
}

/* ============================= */
/* WRAPPER GÉNÉRAL */
/* ============================= */

.header-top {
	width: 100%;
	position: relative;
	z-index: 900;
	padding: 10px 0px;
	background: rgba(26, 6, 22, 0.94);
	border-bottom: 1px solid rgba(250, 37, 203, 0.36);
	box-shadow:
		0 0 14px rgba(250, 37, 203, 0.28),
		0 8px 28px rgba(93, 23, 235, 0.16);
}

.header-top::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(250, 37, 203, 0.85) 50%, transparent 100%);
	box-shadow: 0 0 12px rgba(250, 37, 203, 0.7);
	pointer-events: none;
}

.header-top .container-fluid {
	padding-left: 15px;
	padding-right: 15px;
}

.header-top .d-flex {
	display: flex;
	align-items: center;
	gap: 15px;
}

.header-top .container-actualite-defilante {
	flex: 1 1 auto;
	min-width: 0;
	margin-right: 0;
}

.header-top .menu {
	flex: 0 1 auto;
	white-space: nowrap;
}

.header-top .container-actualite-defilante p {
	margin-bottom: 0;
	color: white;
}

.header-top .menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ============================= */
/* MENU PRINCIPAL */
/* ============================= */

.header-top .menu > ul {
	display: flex;
	gap: 20px;
}

.header-top .menu > ul > li {
	position: relative;
}

.header-top .menu > ul > li > a {
	display: flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	white-space: nowrap;
	color: white;
}

/* ============================= */
/* SOUS-MENU */
/* ============================= */

.header-top .menu .menu-subs {
	position: absolute;
	top: 100%;
	transform: translateY(20%);
	left: 0;
	background-color: #fff;
	flex-direction: column;
	min-width: 200px;
	padding: 10px 0;
	z-index: -1;
	pointer-events: none;
	opacity: 0;
	transition: all 0.3s ease;
	display: flex;
	border-radius: 10px;
	border-top: 4px solid var(--agex-primary);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.header-top .menu .menu-subs li {
	width: 100%;
}

.header-top .menu .menu-subs a {
	display: block;
	padding: 8px 16px;
	text-decoration: none;
	white-space: nowrap;
	color: #000;
	transition: all 0.3s ease;
}

.header-top .menu .menu-subs a:hover {
	transform: translateX(5px);
	color: var(--agex-primary);
}

/* ============================= */
/* AFFICHAGE AU HOVER */
/* ============================= */

.header-top .menu .menu-item-has-children:hover > .menu-subs {
	opacity: 1;
	transform: translateY(0);
	z-index: 1000;
	pointer-events: auto;
}

.owl-carousel.partner {
	margin-top: 0px;
	margin-bottom: 60px;
}

.opacity0 {
	opacity: 0;
}

/* Neon glow — contact blocks */
.contact-details-block {
	box-shadow:
		0 0 6px  rgba(250, 37, 203, 0.35),
		0 0 20px rgba(250, 37, 203, 0.15),
		0 0 45px rgba(250, 37, 203, 0.07) !important;
	transition: box-shadow 0.4s ease, background-color 500ms ease !important;
}

.contact-details-block:hover {
	box-shadow:
		0 0 8px  rgba(250, 37, 203, 0.7),
		0 0 28px rgba(250, 37, 203, 0.4),
		0 0 60px rgba(250, 37, 203, 0.18) !important;
}

.contact-details-block:hover .title,
.contact-details-block:hover .text {
	color: #ffffff !important;
}

/* Overlay sur les case-block-one pour lisibilité du texte */
.case-section {
	overflow: visible;
}

.case-section .case-title-column {
	position: -webkit-sticky;
	position: sticky;
	top: 120px;
	align-self: flex-start;
	height: fit-content;
	z-index: 2;
}

.case-section .case-title-box.sticky-style {
	position: static;
	width: 100%;
}

@media (max-width: 991.98px) {
	.case-section .case-title-column {
		position: static;
	}
}

.case-block-one .inner-box {
	position: relative;
	overflow: hidden;
}

.case-block-one .inner-box::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 30px;
	background:
		radial-gradient(circle at 18% 18%, rgba(93, 23, 235, 0.16) 0%, rgba(93, 23, 235, 0.05) 28%, transparent 54%),
		linear-gradient(180deg, rgba(15, 10, 34, 0.12) 0%, rgba(15, 10, 34, 0.46) 62%, rgba(9, 5, 15, 0.68) 100%),
		linear-gradient(135deg, rgba(93, 23, 235, 0.2) 0%, rgba(30, 22, 64, 0.1) 46%, rgba(15, 10, 34, 0.24) 100%);
	z-index: 0;
	pointer-events: none;
}

.case-block-one .inner-box .case-title {
	color: #ffffff !important;
}

.case-block-one .inner-box .case-title,
.case-block-one .inner-box .content {
	position: relative;
	z-index: 1;
}

.logo {
	width: 220px;
	margin: 20px 0;
}

.mobile-nav-toggler .icon {
	color: var(--agex-primary);
}

/* =====================================================================
   Dark mode permanent — violet-nuit
   Variables directement dans :root, aucun mécanisme de bascule
   ===================================================================== */

:root {
	--body-color:              #0f0a22;
	--text-color:              #ffffff;
	--headings-color:          #ffffff;
	--link-color:              #d4cce8;
	--link-hover-color:        #fa25cb;
	--theme-color-white:       #170f2e;
	--theme-color-light:       #1e1640;
	--theme-color-gray:        #0b0619;
	--sec-title-color:         #ffffff;
	--sec-title-subtitle-color:#fa25cb;
}

/* Body */
html,
body {
	overflow-x: clip;
}

body {
	background-color: #0f0a22;
	color: #ffffff;
}

/* ---- Header ---- */
.header-style-one.header-5 {
	background-color: rgba(9, 5, 15, 0.88) !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom-color: rgba(93, 23, 235, 0.22) !important;
}

.sticky-header {
	background-color: rgba(9, 5, 15, 0.97) !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(93, 23, 235, 0.2);
}

.header-style-one.header-5 .main-menu .navigation li a {
	color: #e0d8f0 !important;
}

.header-style-one.header-5 .main-menu .navigation li a:hover,
.header-style-one.header-5 .main-menu .navigation li.current > a {
	color: #fa25cb !important;
}

.mobile-menu .menu-box {
	background-color: #170f2e;
}

.mobile-menu .menu-backdrop {
	background-color: rgba(9, 5, 15, 0.85);
}

.mobile-menu .navigation > li > a {
	color: #e0d8f0;
	border-bottom-color: rgba(93, 23, 235, 0.15);
}

/* Dropdown nav */
.main-menu .navigation > li > ul,
.main-menu .navigation > li > .megamenu {
	background-color: #1e1640 !important;
	border-top: 2px solid #5d17eb;
	box-shadow: 0 8px 24px rgba(9, 5, 15, 0.7);
}

.main-menu .navigation > li > ul li > a {
	color: #d4cce8 !important;
}

.main-menu .navigation > li > ul li > a:hover {
	color: #fa25cb !important;
}

/* Header top */
.header-top {
	background: linear-gradient(90deg, #12081f 0%, #1a0616 48%, #12081f 100%) !important;
	border-bottom: 1px solid rgba(250, 37, 203, 0.75) !important;
	box-shadow:
		0 0 18px rgba(250, 37, 203, 0.52),
		0 10px 34px rgba(93, 23, 235, 0.24) !important;
	position: relative;
	z-index: 1001;
}

.header-top::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: linear-gradient(90deg, transparent 0%, #fa25cb 45%, #5d17eb 55%, transparent 100%);
	box-shadow:
		0 0 10px rgba(250, 37, 203, 0.95),
		0 0 22px rgba(250, 37, 203, 0.55);
	pointer-events: none;
}

.header-top .menu .menu-subs {
	background-color: #1e1640 !important;
	border-top-color: #5d17eb !important;
	box-shadow: 0 8px 24px rgba(9, 5, 15, 0.7);
}

.header-top .menu .menu-subs a {
	color: #d4cce8 !important;
}

/* ---- Sections ---- */
.about-section,
.testimonial-section,
.partners-section,
.news-section,
.cta-section,
.contact-section {
	background-color: #0f0a22;
}

.section-bg {
	background-color: #170f2e !important;
}

/* Service section — dégradé violet */
.service-section::before {
	background: linear-gradient(280deg, #1a0d40 15.04%, #0f0a22 50.27%) !important;
}

/* ---- Cards & boîtes ---- */
.service-box-items {
	background-color: rgba(28, 20, 56, 0.7) !important;
	border-color: rgba(93, 23, 235, 0.18) !important;
}

.service-card-items {
	border-color: rgba(250, 37, 203, 0.35) !important;
	box-shadow: 0 0 24px rgba(250, 37, 203, 0.28);
}

.why-choose-list {
	background-color: rgba(28, 20, 56, 0.5);
}

.why-choose-us-content-1 .nav {
	background: #1e1640 !important;
	border: 1px solid rgba(93, 23, 235, 0.22);
	box-shadow: 0 0 18px rgba(250, 37, 203, 0.34);
}

.testimonial-box-items {
	background-color: rgba(19, 14, 38, 0.9);
}

.feature-block-one .inner-box {
	background-color: #1e1640;
}

/* ---- Texte & titres ---- */
p {
	color: #ffffff;
}

h1, h2, h3, h4, h5, h6 {
	color: #ffffff;
}

/* ---- Formulaires ---- */
.form-control,
input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=file]),
textarea,
select {
	background-color: #1e1640 !important;
	border-color: rgba(93, 23, 235, 0.35) !important;
	color: #e0d8f0 !important;
}

input::placeholder,
textarea::placeholder {
	color: #6a5e88 !important;
}

.form-control:focus,
input:focus,
textarea:focus {
	border-color: #5d17eb !important;
	box-shadow: 0 0 0 3px rgba(93, 23, 235, 0.15) !important;
	outline: none;
}

/* ---- Divers ---- */
hr {
	border-color: rgba(93, 23, 235, 0.2);
}

.btn-style-two {
	background: linear-gradient(90deg, var(--agex-primary) 0%, var(--agex-secondary) 100%) !important;
	color: #ffffff;
}

.btn-style-two::before {
	background: linear-gradient(90deg, var(--agex-secondary) 0%, var(--agex-primary) 100%) !important;
}

.btn-style-two .icon svg path {
	fill: #ffffff !important;
}

.btn-style-two .icon {
	background: linear-gradient(90deg, var(--agex-primary) 0%, var(--agex-secondary) 100%) !important;
}

.btn-style-two:hover .icon {
	background: linear-gradient(90deg, var(--agex-secondary) 0%, var(--agex-primary) 100%) !important;
}

.btn-style-two:hover .icon svg path {
	fill: #ffffff !important;
}

.header-style-one.header-5 .outer-box .btn-style-one,
.header-style-one.header-5 .outer-box .btn-style-one:hover,
.header-style-one.header-5 .outer-box .btn-style-one:focus {
	color: #ffffff !important;
}

.theme-btn,
.btn-style-one,
.btn-style-two,
.btn-style-three,
.ks-btn-black,
button[type="submit"],
input[type="submit"] {
	filter:
		drop-shadow(0 0 8px rgba(250, 37, 203, 0.52))
		drop-shadow(0 0 22px rgba(250, 37, 203, 0.26))
		drop-shadow(0 0 34px rgba(93, 23, 235, 0.18));
	transition:
		filter 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease,
		background 0.3s ease;
}

.theme-btn:hover,
.btn-style-one:hover,
.btn-style-two:hover,
.btn-style-three:hover,
.ks-btn-black:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	filter:
		drop-shadow(0 0 10px rgba(250, 37, 203, 0.72))
		drop-shadow(0 0 28px rgba(250, 37, 203, 0.42))
		drop-shadow(0 0 46px rgba(93, 23, 235, 0.28));
	box-shadow:
		0 0 0 1px rgba(250, 37, 203, 0.28),
		0 0 24px rgba(250, 37, 203, 0.34) !important;
}

.scroll-to-top {
	background-color: #5d17eb;
}

/* Baseline hero — annule text-transform: capitalize du template */
.hero-section.hero-6 .banner-content,
.hero-section.hero-6 .banner-content h1,
.hero-section.hero-6 .banner-content h2,
.hero-section.hero-6 .banner-content h3,
.hero-section.hero-6 .banner-content h4,
.hero-section.hero-6 .banner-content h5,
.hero-section.hero-6 .banner-content h6,
.hero-section.hero-6 .banner-content p,
.hero-section.hero-6 .banner-content span,
.hero-section.hero-6 .banner-content a,
.hero-section.hero-6 .banner-content li {
	color: #ffffff !important;
}

.hero-6 .banner-content .text-item p {
	text-transform: none;
	font-family: 'Montserrat', sans-serif;
}

/* Animation bouton téléphone */
@keyframes phone-pulse {
	0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--agex-primary) 55%, transparent); }
	60%  { box-shadow: 0 0 0 14px transparent; }
	100% { box-shadow: 0 0 0 0 transparent; }
}

@keyframes phone-ring {
	0%   { transform: translate(0, -50%) rotate(0deg); }
	10%  { transform: translate(0, -50%) rotate(-12deg); }
	20%  { transform: translate(0, -50%) rotate(12deg); }
	30%  { transform: translate(0, -50%) rotate(-10deg); }
	40%  { transform: translate(0, -50%) rotate(10deg); }
	50%  { transform: translate(0, -50%) rotate(0deg); }
	100% { transform: translate(0, -50%) rotate(0deg); }
}

.phone-theme-btn.phone-bt-support-now {
	animation: phone-pulse 2.4s ease-out infinite;
}

.phone-theme-btn.phone-bt-support-now svg {
	animation: phone-ring 2.4s ease-in-out infinite;
	transform-origin: top center;
}

/* ==============================
   Préloader futuriste — logo
   ============================== */
#preloader {
	background: #f5f1ff;
	background-image:
		linear-gradient(rgba(94, 23, 235, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(94, 23, 235, 0.08) 1px, transparent 1px);
	background-size: 48px 48px;
}

#preloader .loader .loader-section .bg {
	background-color: #f5f1ff;
}

#preloader.loaded {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.expertae-preloader-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.expertae-preloader-gif {
	display: block;
	width: min(320px, 72vw);
	height: auto;
	filter:
		drop-shadow(0 0 18px rgba(250, 37, 203, 0.34))
		drop-shadow(0 0 34px rgba(93, 23, 235, 0.22));
}

