/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.1.1.1784908223
Updated: 2026-07-24 15:50:23
*/

.section-padding{
    padding: 100px;
}

/* Desktop large */
@media (min-width: 1600px){
    .section-padding{
        padding: 60px 40px;
    }
}

/* Tablette */
@media (max-width: 1024px){
    .section-padding{
         padding: 40px;
    }
}

/* Mobile */
@media (max-width: 767px){
    .section-padding{
          padding: 20px;
    }
}


/* =========================================
   FAQ WEPERFORM
   ========================================= */
 /* ==================================================
   FAQ WEPERFORM
================================================== */

@media (max-width: 1024px) {
    .weperform-faq__question {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
    }

    .weperform-faq__title {
        flex: 1;
        min-width: 0;

        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .weperform-faq__icon {
        flex-shrink: 0;
    }
}

.weperform-faq {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}


/* ==================================================
   CARTE
================================================== */

.weperform-faq__item {
    width: 100%;
    overflow: hidden;

    background: #FFFFFF;

    border: 1px solid #E1E7F5;
    border-radius: 18px;

    box-shadow: none;

    transition:
        border-color .3s ease,
        box-shadow .3s ease;
}


/* ==================================================
   CARTE OUVERTE
================================================== */

.weperform-faq__item.is-open {
    background: #FFFFFF;

    border-color: #E1E7F5;

    box-shadow:
        0 12px 35px rgba(11, 20, 80, 0.08);
}


/* On force également les enfants à rester blancs */

.weperform-faq__item.is-open .weperform-faq__question,
.weperform-faq__item.is-open .weperform-faq__answer {
    background: #FFFFFF;
}


/* ==================================================
   QUESTION
================================================== */

.weperform-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    width: 100%;
    min-height: 74px;

    margin: 0;
    padding: 22px 24px;

    background: #FFFFFF;
    border: 0;
    border-radius: 0;

    color: #0B1450;

    font-family: "Poppins", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;

    text-align: left;

    appearance: none;
    -webkit-appearance: none;

    cursor: pointer;

    transition:
        color .3s ease,
        background-color .3s ease;
}


/* ==================================================
   TITRE
================================================== */

.weperform-faq__title {
    display: block;
    flex: 1;

    margin: 0;
    padding: 0;

    color: #0B1450;
}


/* ==================================================
   ICÔNE
================================================== */

.weperform-faq__icon {
    position: relative;

    display: block;
    flex: 0 0 26px;

    width: 26px;
    height: 26px;

    margin-left: auto;
}


/* Barre horizontale */

.weperform-faq__icon-horizontal {
    position: absolute;

    top: 50%;
    left: 50%;

    display: block;

    width: 24px;
    height: 5px;

    background: #2460FF;

    border-radius: 10px;

    transform: translate(-50%, -50%);

    transition: background-color .25s ease;
}


/* Barre verticale */

.weperform-faq__icon-vertical {
    position: absolute;

    top: 50%;
    left: 50%;

    display: block;

    width: 5px;
    height: 24px;

    background: #2460FF;

    border-radius: 10px;

    transform: translate(-50%, -50%);

    opacity: 1;

    transition:
        opacity .25s ease,
        transform .25s ease;
}


/* ==================================================
   ICÔNE OUVERTE : + DEVIENT -
================================================== */

.weperform-faq__item.is-open
.weperform-faq__icon-vertical {
    opacity: 0;

    transform:
        translate(-50%, -50%)
        rotate(90deg);
}


/* Cyan quand ouvert */

.weperform-faq__item.is-open
.weperform-faq__icon-horizontal {
    background: #00BCEB;
}


/* ==================================================
   RÉPONSE
================================================== */

.weperform-faq__answer {
    width: 100%;

    margin: 0;
    padding: 0;

    background: #FFFFFF;

    border-top: 1px solid #E1E7F5;
}


/* FAQ fermée */

.weperform-faq__answer[hidden] {
    display: none;
}


/* Contenu réponse */

.weperform-faq__answer-inner {
    width: 100%;

    padding: 8px 24px 30px;
}


/* Texte */

.weperform-faq__answer-inner p {
    margin: 0;

    color: #657096;

    font-family: "Poppins", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
}


.weperform-faq__answer-inner p + p {
    margin-top: 12px;
}


/* ==================================================
   LIENS DANS LA RÉPONSE
================================================== */

.weperform-faq__answer-inner a {
    color: #2460FF;

    font-weight: 600;

    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ==================================================
   HOVER
================================================== */

.weperform-faq__item:not(.is-open):hover {
    border-color: #CFD9F2;
}


/* IMPORTANT :
   on conserve le fond blanc au hover */

.weperform-faq__question:hover {
    background: #FFFFFF;
}


/* ==================================================
   FOCUS ACCESSIBILITÉ
================================================== */

.weperform-faq__question:focus {
    outline: none;
}

.weperform-faq__question:focus-visible {
    outline: 2px solid #2460FF;
    outline-offset: -3px;

    border-radius: 16px;
}


/* ==================================================
   RESET ELEMENTOR
================================================== */

.weperform-faq button,
.weperform-faq button:hover,
.weperform-faq button:focus,
.weperform-faq button:active {
    background-color: #FFFFFF;
    box-shadow: none;
}


.weperform-faq button::before,
.weperform-faq button::after {
    content: none;
}


/* ==================================================
   OMBRE UNIQUEMENT SUR LA CARTE OUVERTE
================================================== */

.weperform-faq__item.is-open {
    box-shadow:
        0 10px 20px rgba(11, 20, 80, 0.04),
        0 20px 45px rgba(11, 20, 80, 0.07);
}


/* ==================================================
   TABLETTE
================================================== */

@media (max-width: 1024px) {

    .weperform-faq__question {
        min-height: 70px;

        padding: 22px;

        font-size: 16px;
    }

    .weperform-faq__answer-inner {
        padding: 8px 22px 26px;
    }

    .weperform-faq__answer-inner p {
        font-size: 15px;
        line-height: 1.75;
    }
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

    .weperform-faq {
        gap: 10px;
    }


    .weperform-faq__item {
        border-radius: 14px;
    }


    /* Ombre plus légère sur mobile */

    .weperform-faq__item.is-open {
        box-shadow:
            0 8px 25px rgba(11, 20, 80, 0.07);
    }


    /* Question */

    .weperform-faq__question {
        gap: 18px;

        min-height: 64px;

        padding: 18px;

        font-size: 15px;
        line-height: 1.45;
    }


    /* Icône */

    .weperform-faq__icon {
        flex: 0 0 22px;

        width: 22px;
        height: 22px;
    }


    .weperform-faq__icon-horizontal {
        width: 21px;
        height: 4px;
    }


    .weperform-faq__icon-vertical {
        width: 4px;
        height: 21px;
    }


    /* Réponse */

    .weperform-faq__answer-inner {
        padding: 8px 18px 22px;
    }


    .weperform-faq__answer-inner p {
        font-size: 14px;
        line-height: 1.7;
    }


    .weperform-faq__question:focus-visible {
        border-radius: 12px;
    }
}

/** Fix sous item menu **/

@media screen and (max-width: 1024px) {
	
	h2.elementor-heading-title{
		font-size: 1.7em !important;
	}
	br {
        display: none;
    }

    /* Le sous-menu reste dans le flux du menu */
    .elementor-nav-menu--dropdown.sub-menu {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        transform: none !important;
    }

    /* Le parent prend toute la largeur */
    .elementor-nav-menu--dropdown .menu-item-has-children {
        display: flex !important;
        flex-direction: column !important;
        width: 100%;
    }

    /* Lien principal */
    .elementor-nav-menu--dropdown .menu-item-has-children > a {
        width: 100%;
    }

    /* Sous-menu vertical */
    .elementor-nav-menu--dropdown.sub-menu {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 8px 0 8px 18px !important;
    }

    /* Liens du sous-menu */
    .elementor-nav-menu--dropdown.sub-menu > li {
        width: 100% !important;
    }

    .elementor-nav-menu--dropdown.sub-menu > li > a {
        width: 100% !important;
        padding: 10px 16px !important;
    }
}

.actualite-terms{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    padding:0;
    margin:0;
    list-style:none;
}

.actualite-term a{
    display:inline-flex;
    align-items:center;
    padding:10px 16px;
    border-radius:30px;
    text-decoration:none;
    background:#f2f5ff;
    color:#1d4ed8;
    transition:.3s ease;
}

.actualite-term a:hover{
    background:#1d4ed8;
    color:#fff;
}

.page-id-2370 .e-n-tabs-heading .e-n-tab-title {
    transition: background-color .3s ease;
}

.page-id-2370 .e-n-tabs-heading .e-n-tab-title[aria-selected="true"]  {
   background-color: #D5E1F8 !important;	
}

 @media (max-width: 1024px) {

    .horizontal-scroll-grid {
        display: flex !important;
        flex-wrap: nowrap !important;

        align-items: stretch;

        overflow-x: auto;
        overflow-y: hidden;

        gap: 20px;

        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;

        -webkit-overflow-scrolling: touch;

        padding-bottom: 12px;

        scrollbar-width: none;
    }

    .horizontal-scroll-grid::-webkit-scrollbar {
        display: none;
    }

    .horizontal-scroll-grid > .elementor-element {
        flex: 0 0 320px;
        min-width: 320px;

        display: flex;
        height: auto;

        scroll-snap-align: start;
    }

    .horizontal-scroll-grid > .elementor-element > .elementor-widget-container {
        width: 100%;
        height: 100%;
    }

    .horizontal-scroll-grid .elementor-image-box-wrapper {
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    .horizontal-scroll-grid .elementor-image-box-content {
        flex: 1;
        display: flex;
        flex-direction: column;
    }

}

.horizontal-scroll-pagination {
    display: none;
}

@media (max-width: 1024px) {

    .horizontal-scroll-pagination {
        display: flex;
        align-items: center;
        justify-content: center;

        gap: 8px;

        margin-top: 16px;
    }

    .horizontal-scroll-pagination__dot {
        width: 8px;
        height: 8px;

        padding: 0;

        border: 0;
        border-radius: 50%;

        background: #D8DEEC;

        cursor: pointer;

        transition:
            width .25s ease,
            background-color .25s ease,
            transform .25s ease;
    }

    .horizontal-scroll-pagination__dot[aria-current="true"] {
        width: 24px;

        border-radius: 20px;

        background: #2952FF;
    }

}