/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
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: 1.0.1
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
*/

/* ---------------------------------------------------- General ---------------------------------------------------- */

html, body {
  overflow-x: hidden !important;
}

@media (max-width: 768px) {
  html, body {
    overflow-x: hidden;
  }
}


[data-wpr-lazyrender] {
    content-visibility: visible !important;
}
/* ---------------------------------------------------- Header --------------------------------------------------------  */

#header.elementor-sticky { width: 100% !important }

#header {
    transition: .3s;
}

#header.elementor-sticky--effects {
    box-shadow: 0 0 24px 0 rgba(6, 11, 13, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Gradient dans un pseudo-élément */
#header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(6, 11, 13, 1) 0%,
        rgba(6, 11, 13, 0.2) 100%
    );
    opacity: 0; /* caché au repos */
    transition: opacity .3s ease;
    pointer-events: none; /* clics pas bloqués */
    z-index: -1; /* passe derrière ton contenu */
}

/* Quand l'état sticky s'active */
#header.elementor-sticky--effects::before {
    opacity: 1;
}

#header .menu-header{
    transition: .4s
}

#header.elementor-sticky--effects .menu-header {
    background-color:rgba(6, 11, 13, 0.80);
}

.menu-header .has-submenu .sub-arrow {
    padding-left: 8px;
}

.menu-header .has-submenu .sub-arrow i{
    font-size: 12px !important;
    transition: .4s
}

.menu-header .has-submenu:hover .sub-arrow i{
    transform: rotate(180deg)
}

/* ---------------------------------------------------- Breadcrumbs ---------------------------------------------------- */

.breadcrumbs-custom #breadcrumbs span {
	gap: 12px !important;
    display: flex !important;
}


/* ---------------------------------------------------- Logo Swiper ---------------------------------------------------- */

.logo-swiper {
    width: 1200px !important;
    max-width: 1200px !important;
}

.logo-swiper .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}

.logo-swiper .elementor-image-carousel-wrapper {
    overflow: visible !important;
}


/* ---------------------------------------------------- Blured Circle ---------------------------------------------------- */

.blured-circle{
    filter: blur(200px);
}

/* ---------------------------------------------------- Eyebrow ---------------------------------------------------- */

.eyebrow{
    padding-left: 27px !important;
    position: relative;
}

.eyebrow:before{
    content: "";
    position: absolute;
    left: 0px;
    top:calc(50% + 0.5px);
    transform: translateY(-50%);
    background-image: url('https://lpdlb.pulsion-studio.com/wp-content/uploads/2025/11/icon-star-eyebrow.svg');
    background-repeat: no-repeat;
    width: 15px;
    height: 15px;
}

/* ---------------------------------------------------- Newsletter ----------------------------------------------------*/

.form-newsletter-accueil .elementor-form-fields-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
}

.form-newsletter-accueil .elementor-field-textual:focus{
    box-shadow: none;
}


.form-newsletter-accueil .elementor-message-success {
	display:none !important;
}

@media (max-width:767px) {
    .form-newsletter-accueil .elementor-form-fields-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    transition:0s;
}

.form-newsletter-accueil.elementor-element {
    background-color:transparent !important;
    transition:0s;
}

.form-newsletter-accueil .elementor-field {
    padding:20px 20px;
    border: 1px solid #3BD6FF !important;
    transition:0s;
}
}

/* ---------------------------------------------------- Card Blur Background ----------------------------------------------------*/

.background-blur {
    backdrop-filter : blur(40px);
    -webkit-backdrop-filter : blur(40px);
}

/* ---------------------------------------------------- Border Gradient ----------------------------------------------------*/

.border-gradient:before {
    content: '';
    position: absolute;
    z-index: -1;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    border-radius: 29px;
    background-image: linear-gradient(to left, #060B0D 30%,#3BD6FF 50%, #060B0D 70%);
}

/* ---------------------------------------------------- Slider Card Page Programme  ----------------------------------------------------*/

.outer-carousel {
  clip-path: inset( -100vw -100vw -100vw 0 );
  mask-image: linear-gradient(-90deg, black 90%, transparent) ;
  mask-mode: alpha;
  mask-clip: no-clip;
}

.carousel-card-slider .e-n-carousel {
    overflow: visible ;
}

@media (max-width:767px) {
    .outer-carousel {
       mask-image: none; 
    }
}

/* ---------------------------------------------------- Card Teams  ----------------------------------------------------*/

.team-card-overlay{
    transition: all 0.5s ease;
    position: relative;
}

.team-card-overlay:before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(59, 214, 255, 0.20) 100%), #060B0D;
    border-radius: 35px;
    opacity: 0;
    transition: opacity .3s 
ease;
    pointer-events: none;
    z-index: -1;}

.team-card-description{
    transition: all 0.5s ease !important;
    opacity: 0;
}

.team-card:hover .team-card-overlay{
    --e-con-transform-translateY: 0px !important;
    
}

.team-card:hover .team-card-description{
    opacity: 1;
}

.team-card:hover .team-card-overlay:before{
    opacity: 1;
}

/* ---------------------------------------------------- Price Card  ----------------------------------------------------*/

.surcard {
    left: 50%;
    transform: translateX(-50%);
}

.central-card {
    background: linear-gradient(154deg, rgba(0, 0, 0, 0.20) 1.37%, rgba(59, 214, 255, 0.20) 43.81%, rgba(0, 0, 0, 0.20) 100%);
}


/* ---------------------------------------------------- Avis Caroussel  ----------------------------------------------------*/

@media (min-width: 768px) {
  .avis-carroussel .swiper-pagination-bullet {
    width: 50px;
    border-radius: 50px;
    transition: 0.5s;
  }
}
/* ---------------------------------------------------- Contact  ----------------------------------------------------*/

.form-contact input, .form-contact textarea, .form-contact select{
    padding: 18px 25px !important;
}

/* ---------------------------------------------------- FAQ  ----------------------------------------------------*/


.faq .e-n-accordion-item {
    background-color: #091519;
    border-radius: 25px
}

/* ----------------------------------------------------- TABLE DES MATIERES ----------------------------------------------- */

.table-of-contents li{
    padding: 15px 0px;
    border-bottom: solid 1px;
    border-color : #3BD6FF1A;
	margin-bottom : 0px;
}

.table-of-contents li:last-child{
border: 0px !important;
}

.table-of-contents .elementor-toc__list-item-text-wrapper:before {
    height: 30px;
    min-width: 30px;
    content: counters(item, "") ""!important;
    border-radius: 10px;
    background-color: var(--e-global-color-accent);
    display: flex;
    color: white;
    align-content: center;
    justify-content: center;
    align-items: center;
    
    
}

.table-of-contents .elementor-toc__list-item-text-wrapper:has(> a.elementor-item-active)::before {
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-4beb2b5) !important;
    transition: .3s;
}


.table-of-contents .elementor-toc__list-item-text-wrapper a{
    transition: .3s;
}

/* ----------------------------------------------------- content articles ----------------------------------------------- */

.article-content {
    p{
        margin-bottom: 25px;
        line-height: 1.4em;
    }
    
    img {
        width: 100%;
        border-radius: 10px;
        margin-bottom: 30px;
    }
    
    H2{
        font-size: 30px;
        margin-bottom: 15px;
        
    }
    
    H3{
        font-size: 24px;
        margin-bottom: 15px;

    }
    
    ul{
       padding-inline-start: 30px;
       line-height: 1.2em;
    }
    
    li{
        margin-bottom: 10px;
    }
}