.elementor-9 .elementor-element.elementor-element-7b2e438{--display:flex;}body.elementor-page-9:not(.elementor-motion-effects-element-type-background), body.elementor-page-9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1A1B29;}@media(max-width:767px){.elementor-9 .elementor-element.elementor-element-f3653bc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}body.elementor-page-9{margin:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-f3653bc *//* Photo de profil améliorée */
.profile-image {
    width: 130px;
    height: 130px;
    border-radius: 60%;
    border: 4px solid #765cfa;
    box-shadow: 0 10px 30px rgba(118, 92, 250, 0.5);
    object-fit: cover;
    transition: transform 0.3s ease;
}
.profile-image:hover {
    transform: scale(1.05);
}

/* Bouton principal Appeler */
.btn-cta-primary {
    background: linear-gradient(135deg, #765cfa 0%, #9f84ff 100%);
    color: #fff !important;
    text-align: center;
    justify-content: center;
    align-items: center;
}
.btn-cta-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(118, 92, 250, 0.6);
    color: #fff !important;
}

/* Bouton secondaire Email */
.btn-cta-secondary {
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(118, 92, 250, 0.3);
    color: #fff !important;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.btn-cta-secondary:hover {
    background: rgba(118, 92, 250, 0.15);
    border-color: #765cfa;
    color: #fff !important;
    transform: translateY(-3px);
}

.modal-warning {
    background: rgba(255, 71, 87, 0.08);
    border: 2px solid rgba(255, 71, 87, 0.3);
    border-radius: 14px;
    padding: 16px 18px;
    text-align: center;
    color: #ffbaba;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 30px;
    box-shadow: 0 0 25px rgba(255, 71, 87, 0.15);
    transition: all 0.4s ease;
}

.modal-warning:hover {
    transform: scale(1.02);
    box-shadow: 0 0 35px rgba(255, 71, 87, 0.3);
}



.calendly-inline-widget {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    border-radius: 16px;
    overflow: hidden;
}

/* Ajustement mobile */
@media (max-width: 768px) {
    .calendly-inline-widget.calendly-mobile {
        max-width: 100%;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
    }

    .calendly-inline-widget.calendly-mobile iframe {
        width: 100% !important;
        min-width: unset !important;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
    }
}

.elementor img {
    border-radius: 30px;
}

/* --- Correction du scroll sur mobile pour la modal --- */
#emailModal {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* pour un défilement fluide sur iPhone */
    align-items: flex-start; /* évite le centrage vertical qui bloque le scroll */
    padding: 40px 0; /* petit espace haut/bas pour respirer */
}

@media (max-width: 768px) {
    .modal-content {
        margin: 40px auto;
        max-height: none;
    }
}

  @media (max-width: 768px) {
    .modal-content {
      margin-top: max(40px, env(safe-area-inset-top));
    }
  }

/* --- Alignement en haut pour les écrans mobiles, tablettes et petits laptops --- */
@media (max-width: 1280px) {
  #emailModal {
    align-items: flex-start !important; /* place le contenu en haut */
  }
  
  /* Centrage parfait de la section Calendly sur tous les supports */
.calendly-section {
    display: flex;
    flex-direction: column;
    align-items: center; /* centre horizontalement */
    justify-content: center; /* centre verticalement si nécessaire */
    text-align: center;
    background: rgba(255, 255, 255, 0.02);
    border: 2px solid rgba(118, 92, 250, 0.2);
    border-radius: 20px;
    padding: 40px 20px;
    margin: 0 auto;
    max-width: 900px; /* pour ne pas dépasser le container parent */
}

/* Force le widget Calendly à s'adapter au centre */
.calendly-inline-widget {
    display: block;
    width: 100%;
    max-width: 700px; /* limite la largeur du widget */
    margin: 0 auto; /* centre horizontalement */
    border-radius: 16px;
    overflow: hidden;
}

/* L’iframe Calendly suit le même centrage */
.calendly-inline-widget iframe {
    display: block;
    width: 100% !important;
    max-width: 700px;
    margin: 0 auto;
    border-radius: 16px;
}

/* Ajustements responsive */
@media (max-width: 768px) {
    .calendly-section {
        padding: 30px 10px;
    }

    .calendly-inline-widget,
    .calendly-inline-widget iframe {
        max-width: 100%;
    }
}

.underline-gradient {
  position: relative;
  display: inline-block;
}

.underline-gradient::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #765cfa, #9f84ff);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.underline-gradient:hover::after {
  transform: scaleX(1);
}


.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    /* Style existant */
    width: 100%;
    padding: 16px 20px;
    background: linear-gradient(135deg, #765cfa 0%, #9f84ff 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;

    /* Fix du texte */
    white-space: normal;          /* Permet le retour à la ligne */
    word-break: break-word;       /* Coupe les mots longs si besoin */
    line-height: 1.4;             /* Donne de la hauteur au texte */
    text-wrap: balance;           /* Équilibre les lignes si le navigateur le supporte */
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(118, 92, 250, 0.4);
}

.btn-primary:active {
    transform: translateY(0);
}

.btn-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Ajustement spécifique mobile */
@media (max-width: 480px) {
    .btn-primary {
        font-size: 16px;
        padding: 14px 18px;
        line-height: 1.5;
    }
}

body {
  background: linear-gradient(135deg, #1a1b29, #2a2b3d, #1a1b29);
  background-size: 400% 400%;
  animation: gradientShift 15s ease infinite;
}
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 20% 20%, rgba(118,92,250,0.3), transparent 40%),
              radial-gradient(circle at 80% 80%, rgba(159,132,255,0.25), transparent 50%);
  animation: bgMove 15s infinite alternate ease-in-out;
  z-index: -1;
  filter: blur(80px);
}

@keyframes bgMove {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-10%, -10%) scale(1.2); }
  100% { transform: translate(10%, 10%) scale(1); }
}/* End custom CSS */