/**********************************/
/************ POLICE **************/
/**********************************/
@font-face {
    font-family: 'Quicksand';
    src: url('../fonts/Quicksand-Light/Quicksand-Light.eot');
    src: url('../fonts/Quicksand-Light/Quicksand-Light.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Quicksand-Light/Quicksand-Light.woff2') format('woff2'),
    url('../fonts/Quicksand-Light/Quicksand-Light.woff') format('woff'),
    url('../fonts/Quicksand-Light/Quicksand-Light.ttf') format('truetype'),
    url('../fonts/Quicksand-Light/Quicksand-Light.svg#Quicksand-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Quicksand';
    src: url('../fonts/Quicksand-Regular/Quicksand-Regular.eot');
    src: url('../fonts/Quicksand-Regular/Quicksand-Regular.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Quicksand-Regular/Quicksand-Regular.woff2') format('woff2'),
    url('../fonts/Quicksand-Regular/Quicksand-Regular.woff') format('woff'),
    url('../fonts/Quicksand-Regular/Quicksand-Regular.ttf') format('truetype'),
    url('../fonts/Quicksand-Regular/Quicksand-Regular.svg#Quicksand-Regular') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Quicksand';
    src: url('../fonts/Quicksand-Medium/Quicksand-Medium.eot');
    src: url('../fonts/Quicksand-Medium/Quicksand-Medium.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Quicksand-Medium/Quicksand-Medium.woff2') format('woff2'),
    url('../fonts/Quicksand-Medium/Quicksand-Medium.woff') format('woff'),
    url('../fonts/Quicksand-Medium/Quicksand-Medium.ttf') format('truetype'),
    url('../fonts/Quicksand-Medium/Quicksand-Medium.svg#Quicksand-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Quicksand';
    src: url('../fonts/Quicksand-SemiBold/Quicksand-SemiBold.eot');
    src: url('../fonts/Quicksand-SemiBold/Quicksand-SemiBold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Quicksand-SemiBold/Quicksand-SemiBold.woff2') format('woff2'),
    url('../fonts/Quicksand-SemiBold/Quicksand-SemiBold.woff') format('woff'),
    url('../fonts/Quicksand-SemiBold/Quicksand-SemiBold.ttf') format('truetype'),
    url('../fonts/Quicksand-SemiBold/Quicksand-SemiBold.svg#Quicksand-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Quicksand';
    src: url('../fonts/Quicksand-Bold/Quicksand-Bold.eot');
    src: url('../fonts/Quicksand-Bold/Quicksand-Bold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Quicksand-Bold/Quicksand-Bold.woff2') format('woff2'),
    url('../fonts/Quicksand-Bold/Quicksand-Bold.woff') format('woff'),
    url('../fonts/Quicksand-Bold/Quicksand-Bold.ttf') format('truetype'),
    url('../fonts/Quicksand-Bold/Quicksand-Bold.svg#Quicksand-Bold') format('svg');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}



/**********************************/
/************ COMMUN **************/
/**********************************/

html, body{
    --arrondiBouton: 0.55rem;
    --fondBandeauAccueil: #F0F9FF;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 400;
    background-color: #FFFFFF;
    font-size: 1rem;
    color : #376EB4;
}

h1,
.h1,
h1.h2{
    font-size: 2.6rem;
    font-weight: 700;
}

h2,
.h2{
    font-size: 1.75rem;
    font-weight: 700;
}

.fs-6{
    font-size: 1rem !important;
}

body,
button,
input,
select,
textarea{
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 400;
}

.btn-primary
{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background-color: #1B5CB1 !important;
    border-color: #1B5CB1 !important;
    color: #FFFFFF !important;
    padding: 0.6875rem 1.25rem !important;
    min-height: 3rem;
    border-width: 1px !important;
    border-radius: var(--arrondiBouton) !important;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 500;
    line-height: 1 !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.btn-secondary{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background-color: transparent !important;
    color: #1A5CB1 !important;
    padding: 0.6875rem 1.25rem !important;
    min-height: 3rem;
    border-radius: var(--arrondiBouton) !important;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 500;
    line-height: 1 !important;
    border: 1px solid #1A5CB1;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;

}

.btn-outline-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0.6875rem 1.25rem !important;
    min-height: 3rem;
    border-width: 1px !important;
    border-radius: var(--arrondiBouton) !important;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 500;
    line-height: 1 !important;
}

.btn-outline-danger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0.6875rem 1.25rem !important;
    min-height: 3rem;
    border-width: 1px !important;
    border-radius: var(--arrondiBouton) !important;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 500;
    line-height: 1 !important;
}

.btn-danger,
.btn-outline-secondary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0.6875rem 1.25rem !important;
    min-height: 3rem;
    border-width: 1px !important;
    border-radius: var(--arrondiBouton) !important;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 500;
    line-height: 1 !important;
}

.btn-secondary.btn:hover{
    background-color: transparent !important;
    border-color: #1A5CB1;
    color: #1A5CB1 !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(27, 92, 177, 0.22);
}

.btn-secondary.btn-check:focus+.btn, .btn-secondary.btn:focus{
    border-color: #1A5CB1;
    background-color: transparent !important;
    color: #1A5CB1 !important;
    box-shadow: 0 0 0 0.25rem rgba(26, 92, 177, 0.25);

}

.btn-tertiary{
    background-color: #FFFFFF !important;
}

.text-bleu{
    color: #376EB4;
}

a{
    color: #376EB4;
}

.text-orange{
    color: #E95A1B;
}

.bg-primary{
    background-color: #ebf0f7 !important;
}

.bg-secondary{
    background-color: #fdeee8 !important;
}

.bg-secondary-fonce{
    background-color: #E95A1B !important;
}

.bg-primary-fonce{
    background-color: #376EB4FF !important;
}

label {
    display: inline-block;
    position: relative;
    padding-left: 30px;
    margin-right: 15px;
    cursor: pointer;
    font-size: 16px;
    line-height: 20px;
}

input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    width: 25px;
    height: 25px;
    border: 2px solid #3f7cc9;
    border-radius: 5px;
    background-color: #FFFFFF;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
    left: 8px;
    top: 1px;
    width: 5px;
    height: 15px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

input[type="radio"]:checked + .checkmark:after {
    display: block;
    border-color: #E95A1B;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus
{
    background-color: #154A8D !important;
    border-color: #154A8D !important;
    color: #FFFFFF !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(27, 92, 177, 0.22);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus
{
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(27, 92, 177, 0.22);
}

a,
a:hover,
a:focus,
a:visited,
a:active{
    text-decoration: none;
}

.bandeau{
    width: 100%;
    background: var(--fondBandeauAccueil);
}

.bandeauAccueil{
    background: url('../images/webp/logiciel_fidelite_client_citefid_caisse_commerce_statistiques_crm_marketing.webp') center center / cover no-repeat;
}

.bandeauDegrade{
    background: linear-gradient(180deg, #d3eaf7 0%, #FFFFFF 100%);
}

.titreBandeauOutils{
    font-size: 2.3125rem;
}

.sectionOutils{
    overflow-x: hidden;
    overflow-y: visible;
}

.enteteSectionOutils{
    max-width: 42rem;
}

.conteneurSliderOutils{
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: visible;
}

.zoneVisibleSliderOutils{
    overflow-x: hidden;
    overflow-y: visible;
    padding-top: 1.5rem;
    padding-right: 2.75rem;
    padding-bottom: 2rem;
    padding-left: 2.75rem;
}

.titreSectionOutils{
    color: #1A5CB1;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-size: 2.1875rem;
    font-weight: 700;
    line-height: 1.15;
}

.titreSectionOutils span{
    color: #F56A2C;
}

.sousTitreSectionOutils{
    color: #376EB5;
    font-size: 1.6875rem;
    line-height: 1.2;
}

.sectionDataFidelisation{
    background-color: #FFFFFF;
}

.titreDataFidelisation{
    color: #1A5CB1;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-size: 2.1875rem;
    font-weight: 700;
    line-height: 1.25;
}

.descriptionDataFidelisation{
    color: #376EB5;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.6;
}

.sliderOutils{
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.sliderOutils .slick-list{
    overflow: visible;
}

.sliderOutils .slick-track{
    display: flex;
    align-items: stretch;
}

.sliderOutils .slick-slide{
    height: auto;
    padding: 0 0.75rem;
    opacity: 0.78;
    transition: opacity 0.3s ease;
}

.sliderOutils .slick-slide > div{
    height: 100%;
}

.elementSliderOutils{
    height: 100%;
}

.carteOutil{
    background-color: #FFFFFF;
    border-radius: 2rem;
    padding: 2rem 1.5rem;
    box-shadow: 0 1px 7px rgba(26, 92, 177, 0.12);
    min-height: 320px;
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}

.iconeCarteOutil{
    width: 4.5rem;
    height: 4.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.iconeCarteOutil img{
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.iconeCarteOutilRotation{
    transform: rotate(344deg);
}

.titreCarteOutil{
    margin: 0 0 1rem;
    color: rgba(245, 106, 44, 0.71);
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.25;
}

.texteCarteOutil{
    margin: 0;
    color: rgba(26, 92, 177, 0.71);
    font-size: 1rem;
    line-height: 1.75;
}

.sliderOutils .slick-center,
.sliderOutils .slick-current{
    opacity: 1;
}

.sliderOutils .slick-center .carteOutil{
    transform: translateY(-20px) scale(1.03);
    box-shadow: 0 12px 24px rgba(26, 92, 177, 0.18);
    position: relative;
    z-index: 2;
}

.sliderOutils .slick-center .titreCarteOutil,
.sliderOutils .slick-current .titreCarteOutil{
    color: rgba(245, 106, 44, 1);
}

.sliderOutils .slick-center .texteCarteOutil,
.sliderOutils .slick-current .texteCarteOutil{
    color: rgba(26, 92, 177, 1);
}

.sliderOutils .slick-arrow{
    width: 2.75rem;
    height: 2.75rem;
    margin-top: -1.375rem;
    background: transparent;
    border: 0;
    box-shadow: none;
    z-index: 5;
}

.sliderOutils .slick-prev{
    left: 0.25rem;
}

.sliderOutils .slick-next{
    right: 0.25rem;
}

.sliderOutils .slick-prev::before,
.sliderOutils .slick-next::before{
    color: #1A5CB1;
    font-size: 1.75rem;
    opacity: 1;
}

@media (max-width: 991.98px){
    .sliderOutils .slick-center .carteOutil{
        transform: translateY(-14px) scale(1.02);
    }
}

@media (max-width: 575.98px){
    .zoneVisibleSliderOutils{
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .sliderOutils .slick-slide{
        padding: 0 0.25rem;
        opacity: 1;
    }

    .carteOutil{
        min-height: 0;
        padding: 1.75rem 1.25rem;
    }

    .sliderOutils .slick-center .carteOutil{
        transform: translateY(-10px) scale(1.01);
    }

    .sliderOutils .slick-prev{
        left: 0;
    }

    .sliderOutils .slick-next{
        right: 0;
    }
}

.titreSectionSupportsFidelisation{
    color: #1A5CB1;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-size: 2.1875rem;
    font-weight: 700;
    line-height: 1.15;
}

.titreSectionSupportsFidelisation span{
    color: #F56A2C;
}

.sousTitreSectionSupportsFidelisation{
    color: #376EB5;
    font-size: 1.25rem;
    line-height: 1.45;
    max-width: 36rem;
}

.listeSupportsFidelisation{
    border-top: 1px solid rgba(26, 92, 177, 0.16);
}

.itemSupportFidelisation{
    border-bottom: 1px solid rgba(26, 92, 177, 0.16);
    padding: 1.25rem 0;
    transition: padding 0.25s ease;
}

.boutonSupportFidelisation{
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(26, 92, 177, 0.74);
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    transition: color 0.25s ease;
}

.contenuSupportFidelisation{
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease, opacity 0.25s ease, margin-top 0.25s ease;
    opacity: 0;
    margin-top: 0;
}

.contenuSupportFidelisation > div{
    overflow: hidden;
}

.contenuSupportFidelisation p{
    color: rgba(26, 92, 177, 0.74);
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 1rem;
}

.itemSupportFidelisation.estActif{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.itemSupportFidelisation.estActif .boutonSupportFidelisation{
    color: #F56A2C;
}

.itemSupportFidelisation.estActif .contenuSupportFidelisation{
    grid-template-rows: 1fr;
    opacity: 1;
    margin-top: 1rem;
}

.zoneVisuelleSupportsFidelisation{
    position: relative;
    min-height: 34rem;
    padding: 2rem;
    overflow: visible;
}

.panneauVisuelSupport{
    position: absolute;
    inset: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transform: translateY(1rem);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.panneauVisuelSupport.estActif{
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.visuelSupportPrincipal{
    display: block;
    width: 100%;
    max-width: 29rem;
    margin: 0 auto;
}

.visuelSupportPrincipal img{
    width: 100%;
    border-radius: 1.5rem;
}

@media (max-width: 991.98px){
    .zoneVisuelleSupportsFidelisation{
        min-height: 28rem;
    }
}

@media (max-width: 575.98px){
    .boutonSupportFidelisation{
        font-size: 1.25rem;
    }

    .zoneVisuelleSupportsFidelisation{
        min-height: 22rem;
        padding: 1.25rem;
    }

    .panneauVisuelSupport{
        inset: 1.25rem;
    }
}

.blocFidelisationAccueil{
    margin-top: 80px;
}

#titreFidelisationAccueil{
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 700;
}

#titreFidelisationAccueil + p{
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 300;
}

#titreFidelisationAccueil + p + div + p{
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 700;
}

.sectionDemoGratuite{
    background: #FFFFFF;
}

.sectionDemoGratuite .container{
    background: var(--fondBandeauAccueil);
    border: 1px solid rgba(26, 92, 177, 0.12);
    border-radius: 16px;
    padding: clamp(1.75rem, 4vw, 2.75rem);
    box-shadow: 0 10px 28px rgba(26, 92, 177, 0.08);
}

.accrocheDemoGratuite{
    color: #E95A1B;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.titreDemoGratuite{
    color: #1A5CB1;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-size: clamp(1.65rem, 3vw, 2.2rem);
    font-weight: 700;
    line-height: 1.2;
}

.titreDemoGratuite span{
    color: #E95A1B;
}

.texteDemoGratuite{
    max-width: 46rem;
    color: #376EB4;
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.65;
}

.boutonDemoGratuite{
    white-space: normal;
    text-align: center;
}

@media (max-width: 575.98px){
    .sectionDemoGratuite .container{
        border-radius: 0;
    }

    .boutonDemoGratuite{
        width: 100%;
    }
}

#titreActionsMarketing{
    font-family: 'Quicksand',arial,helvetica,sans-serif;
    font-weight: 700;
}

.panneauActionsMarketing{
    background: #1A5CB1;
    border-radius: 16px;
    padding: clamp(1.875rem, 4vw, 2.5rem);
}

.elementActionsMarketing{
    position: relative;
    padding: 0 clamp(1rem, 2.5vw, 1.625rem);
}

.elementActionsMarketing:first-child{
    padding-left: 0;
}

.elementActionsMarketing:last-child{
    padding-right: 0;
}

.elementActionsMarketing + .elementActionsMarketing::before{
    content: "";
    position: absolute;
    top: 0.15rem;
    bottom: 0.15rem;
    left: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.32);
}

.titreElementActionsMarketing{
    margin: 0 0 0.75rem;
    color: #FFFFFF;
    font-family: 'Quicksand',arial, helvetica, sans-serif;
    font-size: 0.87rem;
    font-weight: 700;
    line-height: 1.25;
    min-height: 4.125rem;
}

.texteElementActionsMarketing{
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-family: 'Quicksand',arial, helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}

.sectionEtapesCreation{
    background: linear-gradient(90deg, #FFF8F2 0%, #DBEBFF 100%);
}

.sectionEtapesCreationBleue{
    background: linear-gradient(90deg, #c4d0e1 0%, #DBEBFF 0%, #1A5CB1 100%);
}

.sectionEtapesCreationBleue .numeroEtapeCreation,
.sectionEtapesCreationBleue .titreEtapeCreation,
.sectionEtapesCreationBleue .descriptionEtapeCreation{
    color: #FFFFFF;
}

.sectionEtapesCreationInterieur{
    position: relative;
    min-height: auto;
}

.sectionEtapesCreationZoneFixe{
    position: relative;
    top: auto;
    z-index: 1;
}

.sectionEtapesCreationZoneFixe > .row{
    min-height: auto;
}

.colonneEtapesCreation{
    min-width: 0;
}

.titreEtapesCreationBloc{
    margin: 0;
    font-family: 'Quicksand', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #376EB4;
    max-width: 44rem;
}

.listeEtapesCreation{
    display: grid;
    gap: 1.75rem;
}

.blocEtapeCreation{
    border-radius: 2rem;
    overflow: hidden;
    background: linear-gradient(90deg, #FFF8F2 0%, #DBEBFF 100%);
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.blocEtapeCreationGradientRadial{
    background: linear-gradient(90deg, #FFF8F2 0%, #DBEBFF 58%, #1A5CB1 100%);
}

.ligneEtapeCreation{
    --bs-gutter-x: 1.5rem;
    min-height: auto;
}

.texteEtapeCreation{
    min-width: 0;
}

.numeroEtapeCreation{
    flex: 0 0 auto;
    font-family: 'Quicksand', sans-serif;
    font-size: clamp(4.5rem, 8vw, 7.5625rem);
    font-weight: 300;
    line-height: 0.95;
    color: #1A5CB1;
}

.titreEtapeCreation{
    font-family: 'Quicksand', sans-serif;
    font-size: 1.45rem;
    font-weight: 400;
    line-height: 1.25;
    color: #376EB4;
}

.descriptionEtapeCreation{
    max-width: 32rem;
    font-family: 'Quicksand', sans-serif;
    font-size: 0.98rem;
    font-weight: 400;
    line-height: 1.55;
    color: #376EB4;
}

.visuelEtapeCreation{
    position: relative;
    width: 100%;
    max-width: 42rem;
    aspect-ratio: 4 / 3;
    margin-left: auto;
    padding: 0;
    overflow: hidden;
}

.visuelEtapeCreation picture{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.imageEtapeCreation{
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(1.35);
    transform-origin: center;
    transition: transform 0.45s ease;
}

.visuelEtapeCreation:hover .imageEtapeCreation{
    transform: scale(1.4);
}

.effetsEtapesCreationActifs .sectionEtapesCreationReveal .titreEtapesCreationBloc,
.effetsEtapesCreationActifs .sectionEtapesCreationReveal .numeroEtapeCreation,
.effetsEtapesCreationActifs .sectionEtapesCreationReveal .titreEtapeCreation,
.effetsEtapesCreationActifs .sectionEtapesCreationReveal .descriptionEtapeCreation,
.effetsEtapesCreationActifs .sectionEtapesCreationReveal .visuelEtapeCreation{
    opacity: 1;
    transform: none;
}

.effetsEtapesCreationActifs .sectionEtapesCreationVisible .titreEtapesCreationBloc{
    animation: popEtapeCreation 0.34s ease-out 0.01s both;
}

.effetsEtapesCreationActifs .sectionEtapesCreationVisible .numeroEtapeCreation{
    animation: popEtapeCreation 0.34s ease-out 0.03s both;
}

.effetsEtapesCreationActifs .sectionEtapesCreationVisible .titreEtapeCreation{
    animation: popEtapeCreation 0.34s ease-out 0.05s both;
}

.effetsEtapesCreationActifs .sectionEtapesCreationVisible .descriptionEtapeCreation{
    animation: popEtapeCreation 0.34s ease-out 0.07s both;
}

.effetsEtapesCreationActifs .sectionEtapesCreationVisible .visuelEtapeCreation{
    animation: popEtapeCreation 0.36s ease-out 0.04s both;
}

@keyframes popEtapeCreation {
    0% {
        transform: scale(0.985);
    }
    100% {
        transform: scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .imageEtapeCreation,
    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .titreEtapesCreationBloc,
    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .numeroEtapeCreation,
    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .titreEtapeCreation,
    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .descriptionEtapeCreation,
    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .visuelEtapeCreation{
        animation: none;
        transition: none;
    }

    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .titreEtapesCreationBloc,
    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .numeroEtapeCreation,
    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .titreEtapeCreation,
    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .descriptionEtapeCreation,
    .effetsEtapesCreationActifs .sectionEtapesCreationReveal .visuelEtapeCreation{
        opacity: 1;
        transform: none;
    }
}

@media all and (max-width: 991px) {
    .sectionEtapesCreationInterieur{
        min-height: auto;
    }

    .sectionEtapesCreationZoneFixe{
        top: auto;
    }

    .titreEtapesCreationBloc{
        max-width: none;
    }

    .ligneEtapeCreation{
        --bs-gutter-x: 1rem;
        min-height: auto;
    }

    .blocEtapeCreation{
        padding: 1.25rem;
    }

    .numeroEtapeCreation{
        font-size: clamp(4.25rem, 15vw, 6.5rem);
    }

    .titreEtapeCreation{
        font-size: 1.35rem;
    }

    .descriptionEtapeCreation{
        max-width: none;
    }

    .visuelEtapeCreation{
        max-width: 38rem;
        margin: 0 auto;
    }

}

@media all and (max-width: 575px) {
    .sectionEtapesCreationInterieur{
        min-height: auto;
    }

    .sectionEtapesCreationZoneFixe{
        top: auto;
    }

    .titreEtapesCreationBloc{
        font-size: 1.65rem;
    }

    .ligneEtapeCreation > [class*="col-"]{
        width: 100%;
    }

    .ligneEtapeCreation{
        min-height: auto;
    }

    .blocEtapeCreation{
        padding: 1rem;
        border-radius: 1.5rem;
    }

    .titreEtapeCreation{
        font-size: 1.2rem;
    }

    .descriptionEtapeCreation{
        font-size: 0.95rem;
    }

    .visuelEtapeCreation{
        max-width: 100%;
    }
}

.sectionBeneficesObjectifs{
    background-color: #FFFFFF;
}

.sectionTarifs{
    background: linear-gradient(180deg, #F7FAFF 0%, #FFFFFF 100%);
}

.sectionTarifsSecteurs{
    background: transparent;
}

.blocQuestionTarifsSecteurs{
    background-color: rgba(88, 138, 204, 0.07);
}

.titreBlocContactExpert{
    font-family: 'Quicksand', sans-serif;
    font-size: 2.3125rem;
    font-weight: 700;
    line-height: 1.2;
}

.formulaireContactExpert{
    border-radius: 1.75rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.etiquetteContactExpert{
    display: block;
    padding-left: 0;
    margin-right: 0;
    margin-bottom: 0.55rem;
    color: #376EB4;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    cursor: default;
}

.champContactExpert{
    min-height: 3.75rem;
    border: 1px solid rgba(55, 110, 180, 0.08) !important;
    border-radius: 1.25rem !important;
    background-color: #FFFFFF !important;
    box-shadow: 0 10px 25px rgba(34, 72, 120, 0.08);
    color: #376EB4 !important;
    padding: 1rem 1.25rem !important;
    font-size: 1rem;
    line-height: 1.4;
}

.champContactExpert::placeholder{
    color: rgba(55, 110, 180, 0.58);
}

.champContactExpert:focus{
    border-color: rgba(27, 92, 177, 0.26) !important;
    box-shadow: 0 0 0 0.2rem rgba(27, 92, 177, 0.12), 0 10px 25px rgba(34, 72, 120, 0.08) !important;
}

.conteneurSelectContactExpert{
    position: relative;
}

.champSelectContactExpert{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 3.5rem !important;
    background-image: none !important;
}

.conteneurSelectContactExpert::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 1.4rem;
    width: 0.85rem;
    height: 0.55rem;
    transform: translateY(-50%);
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M1 1.5 7 8.5l6-7' fill='none' stroke='%23376EB4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.zoneMessageContactExpert{
    min-height: 10.5rem;
    resize: vertical;
}

.sectionContactFidelisation{
    background: linear-gradient(180deg, #ffffff 0%, #7dadea 100%);
}

.titreContactFidelisation{
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 2.375rem;
    font-weight: 700;
    line-height: 1.25;
}

.texteContactFidelisation{
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.6;
}

.visuelContactFidelisation{
    max-width: 35rem;
}

@media (max-width: 575.98px) {
    .titreBlocContactExpert{
        font-size: 1.9rem;
    }

    .titreContactFidelisation{
        font-size: 1.9rem;
    }

    .visuelContactFidelisation{
        max-width: 18rem;
        margin-left: auto;
        margin-right: auto;
    }

    .formulaireContactExpert{
        border-radius: 1.25rem;
        padding: 1.25rem;
    }
}

.sectionTarifsTitre{
    color: #EF6528;
    font-family: 'Quicksand', sans-serif;
    font-size: 2.3125rem;
    font-weight: 700;
    line-height: 1.2;
}

.sectionTarifsSousTitre{
    color: #376EB5;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.6;
}

.selecteurPeriodiciteTarifs{
    gap: 0.35rem;
    padding: 0.35rem;
    border: 1px solid rgba(26, 92, 177, 0.14);
    border-radius: 999px;
    background-color: #FFFFFF;
    box-shadow: 0 10px 25px rgba(26, 92, 177, 0.10);
}

.boutonPeriodiciteTarifs{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.85rem;
    padding: 0.55rem 1.2rem;
    border: 0;
    border-radius: 999px;
    background-color: transparent;
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.boutonPeriodiciteTarifs:hover,
.boutonPeriodiciteTarifs:focus{
    color: #154A8D;
}

.boutonPeriodiciteTarifs:focus-visible{
    outline: 3px solid rgba(26, 92, 177, 0.22);
    outline-offset: 2px;
}

.boutonPeriodiciteTarifs.active{
    color: #FFFFFF;
    background-color: #1A5CB1;
    box-shadow: 0 8px 18px rgba(26, 92, 177, 0.22);
}

.badgeReductionTarifs{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.45rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background-color: #EF6528;
    color: #FFFFFF;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.boutonPeriodiciteTarifs.active .badgeReductionTarifs{
    background-color: #FFFFFF;
    color: #EF6528;
}

@media (max-width: 420px) {
    .selecteurPeriodiciteTarifs{
        width: 100%;
    }

    .boutonPeriodiciteTarifs{
        flex: 1 1 0;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}

.sectionPanier{
    min-height: 100vh;
}

.cartePanier,
.recapPanier{
    border: 1px solid rgba(26, 92, 177, 0.10);
    border-radius: 1.5rem;
    background-color: #FFFFFF;
    box-shadow: 0 18px 38px rgba(26, 92, 177, 0.10);
}

.alertePanier{
    border-radius: 1.5rem;
}

.etiquettePanier{
    display: block;
    padding-left: 1rem;
    color: #376EB5;
    font-family: 'Quicksand', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.titreProduitPanier,
.titreRecapPanier{
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    line-height: 1.2;
}

.titreProduitPanier{
    font-size: 2rem;
}

.titreRecapPanier{
    font-size: 1.55rem;
}

.descriptionProduitPanier,
.mentionProduitPanier,
.messageCodePromoPanier{
    color: #5A6F8F;
    font-family: 'Quicksand', sans-serif;
    font-size: 1rem;
    line-height: 1.5;
}

.badgePeriodicitePanier{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    background-color: rgba(239, 101, 40, 0.12);
    color: #EF6528;
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
}

.lignePanierProduit,
.zoneCodePromoPanier{
    border-top: 1px solid rgba(26, 92, 177, 0.10);
}

.lignePanierProduit{
    padding-top: 1.5rem;
}

.montantProduitPanier{
    color: #EF6528;
    font-family: 'Quicksand', sans-serif;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1;
}

.periodeProduitPanier{
    color: #EF6528;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.25rem;
    font-weight: 500;
}

.controleQuantitePanier{
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border: 1px solid rgba(26, 92, 177, 0.18);
    border-radius: 999px;
    background-color: #F7FAFF;
    overflow: hidden;
    user-select: none;
    -webkit-user-select: none;
}

.boutonQuantitePanier{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 0;
    background-color: transparent;
    color: #1A5CB1;
    transition: background-color 0.2s ease, color 0.2s ease;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
}

.boutonQuantitePanier:hover,
.boutonQuantitePanier:focus{
    background-color: #1A5CB1;
    color: #FFFFFF;
}

.boutonQuantitePanier:disabled,
.champQuantitePanier:disabled,
.champCodePromoPanier:disabled,
.boutonCodePromoPanier:disabled,
.boutonCommanderPanier:disabled{
    cursor: not-allowed;
    opacity: 0.58;
}

.boutonQuantitePanier:disabled:hover,
.boutonQuantitePanier:disabled:focus{
    background-color: transparent;
    color: #1A5CB1;
}

.champQuantitePanier{
    width: 4rem;
    height: 3rem;
    border: 0;
    border-left: 1px solid rgba(26, 92, 177, 0.12);
    border-right: 1px solid rgba(26, 92, 177, 0.12);
    background-color: #FFFFFF;
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    text-align: center;
}

.champCodePromoPanier{
    min-height: 3.1rem;
    flex: 1 1 auto;
    border: 1px solid rgba(26, 92, 177, 0.14);
    border-radius: 999px 0 0 999px;
    background-color: #FFFFFF;
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    padding: 0.75rem 1.1rem;
}

.groupeCodePromoPanier{
    width: 100%;
}

.groupeCodePromoPanier .champCodePromoPanier{
    border-right: 0;
}

.champCodePromoPanier:focus{
    border-color: rgba(26, 92, 177, 0.36);
    box-shadow: 0 0 0 0.2rem rgba(26, 92, 177, 0.12);
    outline: 0;
}

.boutonCodePromoPanier{
    min-height: 3.1rem;
    border: 1px solid rgba(26, 92, 177, 0.24);
    border-radius: 0 999px 999px 0;
    background-color: #F5F8FC;
    color: #1A5CB1;
    font-weight: 700;
    font-family: 'Quicksand', sans-serif;
    padding: 0.75rem 1.15rem;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.boutonCodePromoPanier:hover,
.boutonCodePromoPanier:focus{
    border-color: #1A5CB1;
    background-color: #1A5CB1;
    color: #FFFFFF;
}

.champCodePromoPanier:disabled{
    border-color: rgba(90, 111, 143, 0.18);
    background-color: #F1F4F8;
    color: #7A8798;
}

.boutonCodePromoPanier:disabled,
.boutonCodePromoPanier:disabled:hover,
.boutonCodePromoPanier:disabled:focus{
    border-color: rgba(90, 111, 143, 0.18);
    background-color: #E7ECF3;
    color: #7A8798;
}

.alerteModificationLicences{
    border: 1px solid rgba(239, 101, 40, 0.22);
    border-radius: 1rem;
    background-color: rgba(239, 101, 40, 0.08);
    color: #5A6F8F;
    font-family: 'Quicksand', sans-serif;
    line-height: 1.55;
}

.ligneRecapPanier{
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(26, 92, 177, 0.10);
    color: #5A6F8F;
    font-family: 'Quicksand', sans-serif;
}

.ligneRecapPanier strong{
    color: #1A5CB1;
    white-space: nowrap;
}

.blocPromoRecap{
    margin: 1rem 0 1.15rem;
    border: 1px solid rgba(239, 101, 40, 0.18);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(239, 101, 40, 0.08), rgba(26, 92, 177, 0.03));
    overflow: hidden;
}

.ligneRecapPromo{
    margin: 0;
    padding: 1rem 1.1rem 0.85rem;
    border-bottom: 1px solid rgba(239, 101, 40, 0.12);
}

.ligneRecapPromo strong{
    color: #EF6528;
}

.contenuPromoRecap{
    padding: 0.95rem 1.1rem 1rem;
}

.titrePromoRecap,
.textePromoRecap,
.prixApresPromoRecap{
    font-family: 'Quicksand', sans-serif;
}

.titrePromoRecap{
    color: #1A5CB1;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
}

.textePromoRecap{
    color: #5A6F8F;
    font-size: 0.94rem;
    line-height: 1.5;
}

.prixApresPromoRecap{
    margin-top: 0.65rem;
    color: #1A5CB1;
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.45;
}

.separateurRecapPanier{
    height: 0.55rem;
    margin: 1.45rem 0 1.25rem;
    background: linear-gradient(90deg, rgba(26, 92, 177, 0), rgba(26, 92, 177, 0.12), rgba(239, 101, 40, 0.18), rgba(26, 92, 177, 0.12), rgba(26, 92, 177, 0));
}

.resumeRecapPanier{
    border-bottom: 1px solid rgba(26, 92, 177, 0.10);
    margin-bottom: 1rem;
}

.blocPrincipalRecapPanier{
    padding: 1.15rem 1.25rem;
    border-radius: 1.1rem;
    background: linear-gradient(135deg, rgba(26, 92, 177, 0.08), rgba(239, 101, 40, 0.12));
}

.libellePrincipalRecapPanier,
.suffixePrincipalRecapPanier,
.titreFiscalRecapPanier,
.noteFiscalRecapPanier{
    display: block;
    font-family: 'Quicksand', sans-serif;
}

.libellePrincipalRecapPanier{
    color: #376EB5;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.montantPrincipalRecapPanier{
    display: block;
    margin-top: 0.35rem;
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1;
}

.suffixePrincipalRecapPanier{
    margin-top: 0.35rem;
    color: #5A6F8F;
    font-size: 0.95rem;
    line-height: 1.4;
}

.blocFiscalRecapPanier,
.blocSuivantRecapPanier{
    margin-top: 1rem;
    padding: 1rem 1.05rem;
    border-radius: 1rem;
    background-color: #F7FAFF;
}

.blocFiscalRecapPanier .ligneRecapPanier,
.blocSuivantRecapPanier .ligneRecapPanier{
    padding: 0.45rem 0;
    border-bottom: 0;
    font-size: 0.95rem;
}

.blocFiscalRecapPanier .ligneRecapPanier strong,
.blocSuivantRecapPanier .ligneRecapPanier strong{
    font-size: 0.98rem;
}

.titreFiscalRecapPanier{
    color: #1A5CB1;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
}

.noteFiscalRecapPanier{
    margin-top: 0.55rem;
    color: #5A6F8F;
    font-size: 0.88rem;
    line-height: 1.45;
}

.ligneTotalPanier{
    align-items: baseline;
    border-bottom: 0;
    color: #1A5CB1;
    font-size: 1.25rem;
    font-weight: 700;
}

.ligneTotalPanier strong{
    color: #EF6528;
    font-size: 1.6rem;
}

.boutonCommanderPanier{
    min-height: 3.25rem;
    font-weight: 700;
}

.lienRetourTarifs{
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
}

.formulaireFacturation{
    margin: 0;
}

.champFacturation{
    min-height: 3.35rem;
    border: 1px solid rgba(26, 92, 177, 0.14) !important;
    border-radius: 1rem !important;
    background-color: #FFFFFF !important;
    color: #1A5CB1 !important;
    font-family: 'Quicksand', sans-serif;
    padding: 0.8rem 1rem !important;
    box-shadow: 0 10px 22px rgba(26, 92, 177, 0.05);
}

.champFacturation:focus{
    border-color: rgba(26, 92, 177, 0.36) !important;
    box-shadow: 0 0 0 0.2rem rgba(26, 92, 177, 0.12), 0 10px 22px rgba(26, 92, 177, 0.05) !important;
}

.texteFacultatifFacturation{
    color: #7A8AA3;
    font-size: 0.82rem;
    font-weight: 500;
    text-transform: none;
}

.questionFormuleTarif{
    color: #376EB5;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.875rem;
    font-weight: 500;
    line-height: 1.4;
}

.questionFormuleTarif.text-orange{
    color: #E95A1B;
}

.paragrapheQuestionTarifsContenu{
    color: #376EB5;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.6;
}

.titrePourquoiTarifsContenu{
    font-family: 'Quicksand', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.25;
}

.textePourquoiTarifsContenu{
    color: #376EB5;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.6;
}

.sectionActivites{
    background-color: #F1F7FB;
}

.titreSectionActivites{
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 2.125rem;
    font-weight: 700;
    line-height: 1.25;
}

.sousTitreSectionActivites{
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.4;
    max-width: 62rem;
    margin-left: auto;
    margin-right: auto;
}

.sectionActivites .ligneCartesActivites .col {
    padding-bottom: 0.75rem;
    overflow: visible;
}

.sectionActivites .carteActivite {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #FFFFFF;
    border-radius: 1.5rem;
    overflow: visible;
    z-index: 1;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 0 0 rgba(26, 92, 177, 0);
}

.sectionActivites .carteActivite:hover,
.sectionActivites .carteActivite:focus-within {
    transform: translate(-0.25rem, -0.25rem);
    box-shadow: 0.5rem 0.5rem 0 #1A5CB1;
}

.sectionActivites .imageCarteActivite {
    position: relative;
    z-index: 2;
    overflow: hidden;
    border-radius: 1.5rem 1.5rem 0 0;
    background-color: #FFFFFF;
    height: 14rem;
}

.sectionActivites .imageCarteActivite picture,
.sectionActivites .imageCarteActivite img {
    display: block;
    width: 100%;
    height: 100%;
}

.sectionActivites .imageCarteActivite img {
    object-fit: cover;
}

.sectionActivites .texteCarteActivite {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 7.5rem;
    padding: 1rem 0.875rem;
    text-align: center;
    background-color: #FFFFFF;
    border-radius: 0 0 1.5rem 1.5rem;
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.45;
}

@media (max-width: 991.98px) {
    .sectionActivites .texteCarteActivite {
        min-height: 6.5rem;
    }
}

.sectionActionsMarketing{
    background-color: #FFFFFF;
}

.sectionAvantagesCommercants {
    position: relative;
    overflow: hidden;
    background-color: #f5f8fb;
}

.sectionAvantagesCommercants::before {
    content: "";
    position: absolute;
    inset: 0;
    background: transparent linear-gradient(90deg, #f5f8fb 0%, #e8eef7 100%) 0 0 no-repeat padding-box;
    pointer-events: none;
}

.sectionAvantagesCommercants > .container {
    position: relative;
    z-index: 1;
}

.titreSectionAvantagesCommercants {
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 2.125rem;
    font-weight: 700;
    line-height: 1.25;
}

.sectionAvantagesCommercants .ligneCartesAvantagesCommercants .col {
    padding-bottom: 0.75rem;
    overflow: visible;
}

.sectionAvantagesCommercants .carteAvantageCommercant {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #FFFFFF;
    border-radius: 1.5rem;
    overflow: visible;
    z-index: 1;
    transform: translate(-0.25rem, -0.25rem);
    box-shadow: 0.5rem 0.5rem 0 #EF6528;
}

.sectionAvantagesCommercants .texteCarteAvantageCommercant {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 7.5rem;
    height: 100%;
    padding: 1rem 0.875rem;
    text-align: center;
    background-color: #FFFFFF;
    border-radius: 1.5rem;
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.45;
}

@media (max-width: 991.98px) {
    .sectionAvantagesCommercants .texteCarteAvantageCommercant {
        min-height: 6.5rem;
    }
}

.sectionAccompagnementExpert {
    width: 100%;
    min-height: 29.6875rem;
    padding: 3rem 1.25rem;
    display: flex;
    align-items: center;
    background: linear-gradient(90deg, #eaccc0 0%, #f67d47 100%);
    overflow: hidden;
}

.conteneurAccompagnementExpert {
    width: 100%;
    max-width: 62.5rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(18rem, 0.98fr);
    align-items: center;
    gap: 3rem;
}

.colonneTexteAccompagnementExpert {
    position: relative;
    z-index: 2;
}

.titreAccompagnementExpert {
    margin: 0 0 1.25rem;
    color: #1A5CB1;
    font-family: 'Quicksand', arial, helvetica, sans-serif;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: 0;
}

.texteAccompagnementExpert {
    max-width: 33rem;
    margin: 0 0 2rem;
    color: #1A5CB1;
    font-family: 'Quicksand', arial, helvetica, sans-serif;
    font-size: 1.08rem;
    font-weight: 500;
    line-height: 1.55;
}

.encartRgpdAccompagnementExpert {
    max-width: 25rem;
    padding: 1.05rem 1.25rem;
    color: #1A5CB1;
    background-color: #FFFFFF;
    border: 0;
    border-radius: 1.25rem;
    box-shadow: -0.5rem -0.5rem 0 #EF6528;
    font-family: 'Quicksand', arial, helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.colonneVisuelAccompagnementExpert {
    display: flex;
    justify-content: center;
    align-items: center;
}

.visuelAccompagnementExpert {
    display: block;
    width: min(100%, 18rem);
}

.visuelAccompagnementExpert img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 767.98px) {
    .sectionAccompagnementExpert {
        min-height: auto;
        padding: 3.5rem 1.25rem;
    }

    .conteneurAccompagnementExpert {
        grid-template-columns: 1fr;
        gap: 2.25rem;
        text-align: center;
    }

    .texteAccompagnementExpert,
    .encartRgpdAccompagnementExpert {
        margin-left: auto;
        margin-right: auto;
    }

    .titreAccompagnementExpert {
        font-size: clamp(2rem, 10vw, 2.65rem);
    }

    .visuelAccompagnementExpert {
        width: min(100%, 14.5rem);
    }
}

.sectionQuestionOutils {
    background-color: #FFFFFF;
}

.titreQuestionOutils {
    color: #1A5CB1;
    font-family: 'Quicksand', arial, helvetica, sans-serif;
    font-size: 2.125rem;
    font-weight: 700;
    line-height: 1.25;
}

.texteQuestionOutils {
    color: #1A5CB1;
    font-family: 'Quicksand', arial, helvetica, sans-serif;
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.55;
}

.sectionActionsMarketing .wrapperLigneBasActionsMarketing {
    margin-top: 1.5rem;
    flex: 0 0 100%;
    max-width: 100%;
}

.sectionActionsMarketing .ligneActionsMarketing {
    align-items: stretch;
}

.sectionActionsMarketing .ligneBasActionsMarketing {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    width: 100%;
}

.sectionActionsMarketing .colonneLateraleActionsMarketing {
    display: flex;
}

.sectionActionsMarketing .conteneurColonneLateraleActionsMarketing {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
    height: 100%;
    flex: 1 1 auto;
}

.sectionActionsMarketing .blocHautColonneLateraleActionsMarketing {
    flex: 0 0 auto;
}

.sectionActionsMarketing .blocBasColonneLateraleActionsMarketing {
    flex: 1 1 auto;
    display: flex;
}

.sectionActionsMarketing .carteActionsMarketing{
    position: relative;
    z-index: 1;
    border-radius: 2rem;
    box-shadow: 0 10px 24px rgba(26, 92, 177, 0.08);
    min-height: 100%;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    transform-origin: center;
}

.sectionActionsMarketing .carteActionsMarketing:hover,
.sectionActionsMarketing .carteActionsMarketing:focus-within{
    z-index: 2;
    transform: scale(1.03);
    box-shadow: 0 16px 34px rgba(26, 92, 177, 0.16);
}

.sectionActionsMarketing .carteOrangeActionsMarketing,
.sectionActionsMarketing .carteBleueActionsMarketing{
    display: flex;
    align-items: center;
    padding: 2rem;
}

.sectionActionsMarketing .carteOrangeActionsMarketing{
    background: #F56A2C;
    min-height: 170px;
}

.sectionActionsMarketing .carteBleueActionsMarketing{
    background: #1A5CB1;
    min-height: 200px;
}

.sectionActionsMarketing .texteActionsMarketing {
    color: #FFFFFF;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.35;
}

.sectionActionsMarketing .texteActionsMarketingGrand {
    font-size: 1.85rem;
}

.sectionActionsMarketing .texteActionsMarketingAccent {
    color: #F56A2C;
}

.sectionActionsMarketing .carteBarresActionsMarketing,
.sectionActionsMarketing .carteCourbeActionsMarketing,
.sectionActionsMarketing .carteImageActionsMarketingPersonnage,
.sectionActionsMarketing .carteVerteActionsMarketing,
.sectionActionsMarketing .cartePromotionsActionsMarketing,
.sectionActionsMarketing .carteGraphiqueSecondaireActionsMarketing {
    overflow: hidden;
}

.sectionActionsMarketing .carteBarresActionsMarketing picture,
.sectionActionsMarketing .carteBarresActionsMarketing img,
.sectionActionsMarketing .carteCourbeActionsMarketing picture,
.sectionActionsMarketing .carteCourbeActionsMarketing img,
.sectionActionsMarketing .carteImageActionsMarketingPersonnage picture,
.sectionActionsMarketing .carteImageActionsMarketingPersonnage img,
.sectionActionsMarketing .carteVerteActionsMarketing picture,
.sectionActionsMarketing .carteVerteActionsMarketing img,
.sectionActionsMarketing .cartePromotionsActionsMarketing picture,
.sectionActionsMarketing .cartePromotionsActionsMarketing img,
.sectionActionsMarketing .carteGraphiqueSecondaireActionsMarketing picture,
.sectionActionsMarketing .carteGraphiqueSecondaireActionsMarketing img {
    display: block;
    width: 100%;
    height: 100%;
}

.sectionActionsMarketing .carteBarresActionsMarketing img,
.sectionActionsMarketing .carteCourbeActionsMarketing img,
.sectionActionsMarketing .carteImageActionsMarketingPersonnage img,
.sectionActionsMarketing .carteVerteActionsMarketing img,
.sectionActionsMarketing .cartePromotionsActionsMarketing img,
.sectionActionsMarketing .carteGraphiqueSecondaireActionsMarketing img {
    object-fit: cover;
}

.sectionActionsMarketing .carteBarresActionsMarketing {
    position: relative;
    display: block;
    min-height: 12rem;
    padding: 0;
}

.sectionActionsMarketing .carteBarresActionsMarketing picture,
.sectionActionsMarketing .carteBarresActionsMarketing picture img,
.sectionActionsMarketing .carteBarresActionsMarketing img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sectionActionsMarketing .carteBarresActionsMarketing img {
    object-position: center center;
}

.sectionActionsMarketing .carteBarresActionsMarketing {
    min-height: 12rem;
}

.sectionActionsMarketing .carteCourbeActionsMarketing {
    min-height: 14rem;
}

.sectionActionsMarketing .carteVerteActionsMarketing {
    min-height: 14rem;
    background-color: #2EA765;
}

.sectionActionsMarketing .cartePromotionsActionsMarketing {
    min-height: 14rem;
}

.sectionActionsMarketing .carteGraphiqueSecondaireActionsMarketing {
    min-height: 14rem;
}

@media all and (min-width: 992px) {
    .sectionActionsMarketing .wrapperLigneBasActionsMarketing {
        flex: 0 0 66.6667%;
        max-width: 66.6667%;
        margin-left: 16.6667%;
    }

    .sectionActionsMarketing .ligneBasActionsMarketing {
        grid-template-columns: minmax(0, 4fr) minmax(0, 2fr) minmax(0, 2fr);
    }
}

.sectionActionsMarketing .carteImageActionsMarketingPersonnage {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 15rem;
    aspect-ratio: 4 / 5.5;
    border-radius: 2rem;
}

.sectionActionsMarketing .carteImageActionsMarketingPersonnage img {
    object-position: center top;
    transform: scale(1);
    transform-origin: center top;
}

.sectionActionsMarketing .carteAvisActionsMarketing {
    width: 100%;
    height: 100%;
    margin-top: 0;
    background-color: #F7FAFF;
    min-height: 190px;
    padding: 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
}

.sectionActionsMarketing .nomCarteAvisActionsMarketing {
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.3;
}

.sectionActionsMarketing .etoilesCarteAvisActionsMarketing img {
    width: 1.35rem;
    height: 1.35rem;
    display: block;
    object-fit: contain;
}

.sectionActionsMarketing .etoilesCarteAvisActionsMarketing {
    justify-content: flex-start !important;
}

.sectionActionsMarketing .texteCarteAvisActionsMarketing {
    color: #1A5CB1;
    font-family: 'Quicksand', sans-serif;
    font-size: 0.87rem;
    font-weight: 500;
    line-height: 1.4;
}

.sectionActionsMarketing .carteAvisActionsMarketing .logoImg {
    margin-top: 1rem;
}

@media all and (max-width: 991px) {
    .sectionActionsMarketing .conteneurColonneLateraleActionsMarketing {
        flex-direction: row;
        align-items: stretch;
    }

    .sectionActionsMarketing .blocHautColonneLateraleActionsMarketing,
    .sectionActionsMarketing .blocBasColonneLateraleActionsMarketing {
        flex: 1 1 0;
    }

    .sectionActionsMarketing .carteBleueActionsMarketing,
    .sectionActionsMarketing .carteAvisActionsMarketing,
    .sectionActionsMarketing .carteCourbeActionsMarketing {
        min-height: 13rem;
    }
}

@media all and (max-width: 575px) {
    .sectionActionsMarketing .conteneurColonneLateraleActionsMarketing {
        flex-direction: column;
    }

    .sectionActionsMarketing .texteActionsMarketing {
        font-size: 1.3rem;
    }

    .sectionActionsMarketing .texteActionsMarketingGrand {
        font-size: 1.55rem;
    }

    .sectionActionsMarketing .carteOrangeActionsMarketing,
    .sectionActionsMarketing .carteBarresActionsMarketing,
    .sectionActionsMarketing .carteCourbeActionsMarketing,
    .sectionActionsMarketing .carteBleueActionsMarketing,
    .sectionActionsMarketing .carteAvisActionsMarketing,
    .sectionActionsMarketing .carteVerteActionsMarketing,
    .sectionActionsMarketing .cartePromotionsActionsMarketing,
    .sectionActionsMarketing .carteGraphiqueSecondaireActionsMarketing {
        min-height: 12rem;
    }

    .sectionActionsMarketing .carteOrangeActionsMarketing,
    .sectionActionsMarketing .carteBleueActionsMarketing,
    .sectionActionsMarketing .carteAvisActionsMarketing {
        padding: 1.25rem;
    }

    .sectionActionsMarketing .wrapperLigneBasActionsMarketing {
        margin-left: 0;
        width: 100%;
    }
}

.carteTarif {
    background-color: #FFFFFF;
    border: 1px solid #E3EBF7;
    border-radius: 33px;
    box-shadow: 0 1px 7px #1A5CB133;
    min-height: 100%;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    gap: 1.5rem;
}

.carteTarif:hover,
.carteTarif:focus-within {
    transform: translateY(-0.45rem);
    box-shadow: 0 10px 20px rgba(26, 92, 177, 0.14);
}

.carteTarifMiseEnAvant {
    border: 2px solid #91D9FF;
    background: linear-gradient(180deg, #F7FDFF 0%, #FFFFFF 100%);
    box-shadow: 0 8px 18px rgba(145, 217, 255, 0.28);
}

.enteteCarteTarif,
.blocPrixTarif,
.blocBoutonTarif,
.blocAvantagesTarif,
.noteBasCarte {
    position: static;
}

.enteteCarteTarif {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.blocPrixTarif {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-top: 0;
    min-height: 13.25rem;
}

.blocBoutonTarif {
    display: flex;
    justify-content: center;
}

.blocAvantagesTarif {
    gap: 0;
    min-width: 0;
}

    .noteBasCarte {
        margin-top: auto;
    }

    .offreTarifTitre {
        color: #1A5CB1;
        font-family: 'Quicksand', sans-serif;
        font-size: 2.0625rem;
        font-weight: 700;
        line-height: 1.15;
        word-break: normal;
    }

    .offreTarifSousTitre {
        color: #1A5CB1;
        font-family: 'Quicksand', sans-serif;
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.5;
        margin-bottom: 0;
    }

    .zonePrixTarif {
        min-height: 5.75rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .zonePrixTarifSansMensuel {
        min-height: 7.625rem;
    }

    .offreTarifMontantDevis {
        font-size: 2.5rem;
        line-height: 1.15;
    }

    .offreTarifPrixDevis {
        color: #EF6528;
        font-family: 'Quicksand', sans-serif;
        font-weight: 700;
        line-height: 1.15;
    }

    .lignePrixTarif {
        display: inline-flex;
        align-items: flex-start;
        justify-content: center;
        gap: 0.2rem;
        white-space: nowrap;
        color: #EF6528;
        font-family: 'Quicksand', sans-serif;
        line-height: 1;
    }

    .prixPrincipalTarif {
        font-size: 3.8125rem;
        font-weight: 700;
        line-height: 0.92;
    }

    .blocSecondairePrix {
        display: inline-flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding-top: 0.5rem;
        line-height: 1;
    }

    .ligneEuroCentimesTarif {
        display: inline-flex;
        align-items: baseline;
        gap: 0.05rem;
        line-height: 1;
    }

    .symboleEuroTarif,
    .centimesTarif {
        font-size: 1.5625rem;
        font-weight: 700;
        line-height: 1;
    }

    .periodePrixTarif {
        font-size: 1.5625rem;
        font-weight: 400;
        line-height: 1;
        margin-top: 0.1rem;
    }

    .offreTarifHt {
        color: #EF6528;
        font-size: 1.5625rem;
        line-height: 0.5;
        font-style: italic;
    }

    .offreTarifMention,
    .activationImmediate {
        color: #EF6528;
        font-size: 1rem;
        line-height: 1.5;
    }

    .activationImmediate {
        font-family: 'Quicksand', sans-serif;
        font-weight: 500;
    }

    .tarifsEffraItalic {
        font-family: 'Quicksand', sans-serif;
        font-style: italic;
        font-weight: 400;
    }

    .tarifsEffraLightItalic {
        font-family: 'Quicksand', sans-serif;
        font-style: italic;
        font-weight: 300;
    }

    .boutonSelection {
        color: #1A5CB1;
        border-color: #1A5CB1;
        font-family: 'Quicksand', sans-serif;
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.2;
        border-width: 2px;
        min-width: 12rem;
    }

    .boutonSelection:hover,
    .boutonSelection:focus {
        color: #FFFFFF;
        background-color: #1A5CB1;
        border-color: #1A5CB1;
    }

    .introductionAvantages {
        color: #707070;
        font-family: 'Quicksand', sans-serif;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.5;
        margin-bottom: 1rem;
    }

    .listeAvantages {
        display: flex;
        flex-direction: column;
        gap: 0.9rem;
    }

    .listeAvantages li {
        position: relative;
        padding-left: 1.85rem;
        color: #3E4C63;
        font-family: 'Quicksand', sans-serif;
        font-size: 0.98rem;
        font-weight: 400;
        line-height: 1.55;
    }

    .listeAvantages li::before {
        content: "";
        position: absolute;
        top: 0.56rem;
        left: 0;
        width: 0.85rem;
        height: 0.65rem;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.958' height='9.702' viewBox='0 0 12.958 9.702'%3E%3Cpath d='M2571.011,2243.857l3.814,3.73,7.408-7.06' transform='translate(-2570.137 -2239.622)' fill='none' stroke='%2391d9ff' stroke-width='2.5'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
    }

    .noteTarif {
        color: #8A94A6;
        font-family: 'Quicksand', sans-serif;
        font-size: 0.875rem;
        font-weight: 300;
        font-style: italic;
        line-height: 1.5;
        padding-top: 1rem;
        border-top: 1px solid #EDF2F9;
    }

    .carteBeneficeObjectif {
        background-color: #FFFFFF;
        border-radius: 37px;
        box-shadow: 5px 1px 18px #8E97A257;
        min-height: 100%;
    }

    .iconeBeneficeObjectif {
        width: 100%;
        max-width: 8.5rem;
        height: auto;
        object-fit: contain;
    }

    .titreBeneficeObjectif {
        color: #F56A2C;
        font-family: 'Quicksand', sans-serif;
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.35;
    }

    .descriptionBeneficeObjectif {
        color: #376EB5;
        font-family: 'Quicksand', sans-serif;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.6;
        max-width: 18rem;
    }

    .sectionFaqTarifs {
        background-color: #FFFFFF;
    }

    .sectionFaqTarifs .accordion {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

    .titreFaqTarifs {
        color: #F56A2C;
        font-family: 'Quicksand', sans-serif;
        font-size: 2.375rem;
        font-weight: 700;
        line-height: 1.2;
    }

    .sectionFaqTarifs .accentFaqTarifs {
        color: #F56A2C;
    }

    .texteFaqTarifs {
        color: #707070;
        font-family: 'Quicksand', sans-serif;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.6;
        max-width: 42rem;
        margin-left: auto;
        margin-right: auto;
    }

    .accordionFaqTarifs .accordion-item {
        background: transparent;
        border: 0;
        box-shadow: none;
        margin-bottom: 0;
    }

    .accordionFaqTarifs .accordion-collapse,
    .accordionFaqTarifs .accordion-body {
        background: transparent;
        box-shadow: none;
        border: 0;
    }

    .accordionFaqTarifs .accordion-button {
        background-color: #EEF4FF;
        color: #1A5CB1;
        border: 0;
        border-radius: 999px !important;
        box-shadow: none;
        font-family: 'Quicksand', sans-serif;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.5;
        padding: 1.2rem 1.5rem;
        transition: background-color 0.25s ease, box-shadow 0.25s ease;
    }

    .accordionFaqTarifs .accordion-button:hover,
    .accordionFaqTarifs .accordion-button:active,
    .accordionFaqTarifs .accordion-button:focus,
    .accordionFaqTarifs .accordion-button:focus-visible,
    .accordionFaqTarifs .accordion-button:focus-within,
    .accordionFaqTarifs .accordion-button:target,
    .accordionFaqTarifs .accordion-button:not(.collapsed) {
        background-color: #FFFFFF;
        color: #1A5CB1;
        box-shadow: 0 10px 25px rgba(26, 92, 177, 0.15);
        border-radius: 999px !important;
    }

    .accordionFaqTarifs .accordion-button:focus {
        outline: none;
    }

    .accordionFaqTarifs .accordion-button::after {
        display: none;
    }

    .accordionFaqTarifs .accordion-body {
        color: #707070;
        font-family: 'Quicksand', sans-serif;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.7;
        padding: 1rem 1.5rem 0.25rem;
    }

    @media all and (max-width: 991px) {
        .sectionTarifsTitre {
            font-size: 2rem;
        }

        .carteTarif {
            border-radius: 33px;
        }

        .prixPrincipalTarif {
            font-size: 3.2rem;
        }

        .offreTarifMontantDevis {
            font-size: 2.2rem;
        }

        .symboleEuroTarif,
        .centimesTarif,
        .periodePrixTarif {
            font-size: 1.35rem;
        }

        .iconeBeneficeObjectif {
            max-width: 7.5rem;
        }

        .titreFaqTarifs {
            font-size: 2rem;
        }
    }

    @media all and (max-width: 900px) {
        .panneauActionsMarketing {
            row-gap: 2rem;
        }

        .elementActionsMarketing:nth-child(odd) {
            padding-left: 0;
        }

        .elementActionsMarketing:nth-child(even) {
            padding-right: 0;
        }

        .elementActionsMarketing:nth-child(3)::before {
            display: none;
        }
    }

    @media all and (max-width: 575px) {
        .titreFaqTarifs {
            font-size: 1.75rem;
        }

        .accordionFaqTarifs .accordion-button,
        .accordionFaqTarifs .accordion-body {
            padding-left: 1.1rem;
            padding-right: 1.1rem;
        }
        .sectionTarifs {
            margin-top: 3rem !important;
            margin-bottom: 3rem !important;
        }

        .sectionTarifsTitre {
            font-size: 1.8rem;
        }

        .sectionTarifsSousTitre {
            font-size: 1rem;
        }

        .carteTarif {
            border-radius: 33px;
        }

        .offreTarifTitre {
            font-size: 1.8rem;
        }

        .offreTarifSousTitre {
            min-height: auto;
        }

        .prixPrincipalTarif {
            font-size: 2.85rem;
        }

        .symboleEuroTarif,
        .centimesTarif,
        .periodePrixTarif {
            font-size: 1.25rem;
        }

        .offreTarifMontantDevis {
            font-size: 2rem;
        }

        .zonePrixTarif,
        .zonePrixTarifSansMensuel {
            min-height: auto;
        }

        .boutonSelection {
            width: 100%;
        }

        .carteTarif {
            gap: 1.25rem;
        }

        .panneauActionsMarketing {
            row-gap: 1.5rem;
            padding: 1.75rem;
        }

        .elementActionsMarketing,
        .elementActionsMarketing:first-child,
        .elementActionsMarketing:last-child {
            padding: 0;
        }

        .elementActionsMarketing + .elementActionsMarketing::before {
            display: none;
        }
    }

    .marginTopMoins3 {
        margin-top: -3px;
    }

    /**********************************/
    /********* MODAL COOKIE ***********/
    /**********************************/

    .modal.custom .modal-dialog {
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        margin: 10px;
    }

    @media all and (max-width: 768px) {
        .modal.custom .modal-dialog {
            width: 100%;
            margin: 0;
        }
    }

    /**********************************/
    /************* MODAL **************/
    /**********************************/

    @media all and (min-width: 576px) {
        .modal .btn-close {
            margin-bottom: 54px;
            margin-right: -21px;
            position: absolute;
            right: 0;
            background-color: white;
            opacity: 1;
            border-radius: 50%;
            width: 30px;
            height: 30px;
        }
    }

    /**********************************/
    /************** SVG ***************/
    /**********************************/
    /* https://angel-rs.github.io/css-color-filter-generator/ */

    .svg-white {
        filter: brightness(0) saturate(100%) invert(92%) sepia(0%) saturate(7500%) hue-rotate(115deg) brightness(114%) contrast(107%);
    }

    .svg-red {
        filter: brightness(0) saturate(100%) invert(28%) sepia(99%) saturate(5038%) hue-rotate(324deg) brightness(101%) contrast(104%);
    }

    /**********************************/
    /********* PIED DE PAGE ***********/
    /**********************************/

    footer#footer a {
        color: #FFFFFF;
    }

    footer#footer a:hover {
        color: #FFFFFF;
    }

    footer {
        background-color: #1A5CB1;
        color: #FFFFFF;
    }

    footer#footer .logo {
        text-align: left;
    }

    footer#footer .logo-marque {
        display: flex;
        align-items: center;
        gap: 0.15rem;
        text-align: left;
        font-size: 4rem;
    }

    footer#footer .footer-logo-svg {
        display: block;
        width: 4.2rem;
        min-width: 0;
        height: auto;
        max-height: none;
        flex: 0 0 auto;
    }

    footer#footer .footer-logo-text {
        font-family: 'Quicksand', arial, helvetica, sans-serif;
        font-size: 1em;
        font-weight: bold;
        line-height: 1;
    }

    footer#footer .footer-logo-text-cite {
        color: #FFFFFF;
    }

    footer#footer .footer-logo-text-fid {
        color: #EF6528;
    }

    footer#footer .citefid {
        font-family: 'Quicksand', arial, helvetica, sans-serif;
        text-align: left;
        font-size: 2.9rem;
        margin-top: 0;
        font-weight: bold;

    }

    .mac footer#footer .citefid {
        margin-top: 0;
    }

    footer#footer .footer-description {
        text-align: left;
        font-size: 0.92rem;
        line-height: 1.5;
    }

    footer#footer .footer-rs {
        display: flex;
        align-items: center;
        gap: 1.15rem;
        justify-content: flex-start;
    }

    footer#footer .footer-rs a,
    footer#footer .footer-rs a.btn,
    footer#footer .footer-rs a.btn-primary,
    footer#footer .footer-rs a.rs {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        text-decoration: none;
    }

    footer#footer .footer-rs a.rs svg {
        display: block;
        width: 51px;
        height: 51px;
        margin: 0;
    }

    @media all and (min-width: 992px) {
        footer#footer .footer-main-row {
            align-items: center;
        }

        footer#footer .footer-links-col {
            display: flex;
            align-items: center;
        }

        footer#footer .footer-links-row {
            width: 100%;
            align-items: flex-start;
        }
    }

    footer#footer .footer-titre {
        font-size: 1em;
    }

    footer#footer .copyright {
        font-size: 0.80rem;
        color: rgba(255, 255, 255, 0.74);
        width: 100%;
        text-align: center;
        padding: 2rem 1.25rem 1.5rem;
    }

    footer#footer .copyright,
    footer#footer .copyright a,
    footer#footer .copyright a:focus,
    footer#footer .copyright a:active,
    footer#footer .copyright a:hover,
    footer#footer .copyright a:visited {
        color: rgba(255, 255, 255, 0.74);
    }

    footer#footer li,
    footer#footer li a,
    footer#footer li a:focus,
    footer#footer li a:active,
    footer#footer li a:hover,
    footer#footer li a:visited {
        text-decoration: none;
        font-size: 0.95em;
        line-height: 1.1rem;
        font-weight: 400;
    }

    footer#footer ul.list-unstyled li + li {
        margin-top: 0.45rem;
    }

    footer#footer li a:hover,
    footer#footer li a:focus,
    footer#footer li a:active {
        font-weight: 700;
    }

    .modalcookie {
        color: #376EB4;
    }

    .rs {
        border-radius: 20px !important;
        padding: inherit !important;
        width: 35px;
        height: 35px;
        padding-left: 15px !important;
    }

    .rs i,
    .rs svg {
        font-size: 20px;
        margin-left: -7.5px;
        margin-top: 6px;
    }

    /**********************************/
    /************* VIDEO **************/
    /**********************************/

    #videoYoutube {
        height: 700px;
        z-index: 1;
        /*margin-top: -58px;*/
    }

    /**********************************/
    /************* MENUS **************/
    /**********************************/

    header {
        z-index: 2;
        position: absolute;
        width: 100%;
    }

    nav .menu-principal {
        border-radius: 50px;
    }

    nav .logoImg {
        /*margin-top: 4px;*/
    }

    nav .logoText {
        margin-left: -5px;
        font-weight: bold;
        font-family: 'Quicksand', arial, helvetica, sans-serif;
        font-size: 2rem;
    }

    .mac nav .logoText {
        margin-top: 8px;
    }

    nav .nav-link {
        color: #1A5CB1;
        font-weight: 400;
        display: inline-flex;
        align-items: center;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1;
        font-size: 1em;
        transition: color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    }

    nav .logoText .nav-link {
        padding: 0 8px !important;
        /*padding-top: 10px !important;*/
    }

    nav .megamenu {
        padding: 0.9rem;
        background-color: #ebf0f8 !important;
    }

    nav .menu-secteurs {
        min-width: 28rem;
        margin-top: 0;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    nav .liste-secteurs {
        display: flex;
        flex-direction: column;
        position: relative;
        background: #FFFFFF 0% 0% no-repeat padding-box;
    }

    nav .liste-secteurs::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1rem;
        height: 1rem;
        background: linear-gradient(180deg, rgba(220, 234, 249, 0.95) 0%, rgba(220, 234, 249, 0.5) 45%, rgba(220, 234, 249, 0) 100%);
        pointer-events: none;
    }

    nav .lien-secteur {
        display: block;
        padding: 1rem 1.25rem;
        color: #1A5CB1;
        background: #FFFFFF 0% 0% no-repeat padding-box;
        line-height: 1.3;
        text-decoration: none;
        white-space: normal;
        border-radius: 0 !important;
    }

    nav .lien-secteur + .lien-secteur {
        border-top: 1px solid rgba(26, 92, 177, 0.16);
    }

    nav .lien-secteur:hover,
    nav .lien-secteur:active {
        color: #FFFFFF !important;
        font-weight: 700;
        text-decoration: none;
        background: #1B5CB1 0% 0% no-repeat padding-box !important;
        outline: none;
        box-shadow: none;
    }

    nav .lien-secteur:focus {
        color: #FFFFFF !important;
        font-weight: 400;
        text-decoration: none;
        background: #1B5CB1 0% 0% no-repeat padding-box !important;
        outline: none;
        box-shadow: none;
    }

    nav .lien-secteur:focus-visible {
        color: #FFFFFF !important;
        font-weight: 400;
        text-decoration: none;
        background: #1B5CB1 0% 0% no-repeat padding-box !important;
        outline: none;
        box-shadow: none;
    }

    nav .lien-secteur:focus-within,
    nav .lien-secteur:target {
        color: #FFFFFF !important;
        font-weight: 400;
        text-decoration: none;
        background: #1B5CB1 0% 0% no-repeat padding-box !important;
        outline: none;
        box-shadow: none;
    }

    nav .lien-secteur:visited {
        color: #1A5CB1;
        text-decoration: none;
    }

    nav .lien-secteur-premier {
        background: linear-gradient(180deg, #DCEAF9 0%, #F4F8FD 18%, #FFFFFF 42%, #FFFFFF 100%);
        box-shadow: 0px 4px 18px #1A5CB134;
    }

    nav .lien-secteur-dernier {
        background: #FFFFFF 0% 0% no-repeat padding-box;
    }

    nav .nav-link:hover,
    nav .nav-link:active {
        color: #1A5CB1 !important;
        font-weight: 700;
        text-decoration: none;
    }

    nav .nav-link:focus,
    nav .nav-hover-a:focus {
        color: #1A5CB1 !important;
        font-weight: 400;
        text-decoration: none;
        background: transparent !important;
        outline: none;
        box-shadow: none;
    }

    nav .has-megamenu:hover > .nav-hover-a,
    nav .has-megamenu.show > .nav-hover-a {
        color: #1A5CB1 !important;
        font-weight: 700;
        text-decoration: none;
    }

    nav .nav-telephone {
        font-family: 'Quicksand', arial, helvetica, sans-serif;
        color: #EF6528;
        font-size: 1em;
        font-weight: 700;
        line-height: 1;
    }

    nav #iconePanier,
    nav #iconeCompte {
        width: 1.25em;
        height: 1.25em;
        display: block;
        flex: 0 0 auto;
        transition: transform 0.2s ease, filter 0.2s ease;
    }

    nav .trace-icone-panier {
        fill: none;
        stroke: #1B5CB1;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 20.5px;
        transition: stroke 0.2s ease;
    }

    nav .trace-icone-compte {
        fill: none;
        stroke: #1B5CB1;
        stroke-miterlimit: 10;
        stroke-width: 20.5px;
        transition: stroke 0.2s ease;
    }

    nav .bouton-abonnement-nav,
    nav .bouton-abonnement-nav:hover,
    nav .bouton-abonnement-nav:focus,
    nav .bouton-abonnement-nav:active,
    nav .bouton-abonnement-nav:visited {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        line-height: 1;
    }

    nav .bouton-abonnement-nav {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    nav a[aria-label="Panier"],
    nav a[aria-label="Compte"] {
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    nav a[aria-label="Panier"]:hover,
    nav a[aria-label="Panier"]:focus,
    nav a[aria-label="Panier"]:active,
    nav a[aria-label="Compte"]:hover,
    nav a[aria-label="Compte"]:focus,
    nav a[aria-label="Compte"]:active {
        transform: translateY(-1px);
    }

    nav a[aria-label="Panier"]:hover #iconePanier,
    nav a[aria-label="Panier"]:focus #iconePanier,
    nav a[aria-label="Panier"]:active #iconePanier,
    nav a[aria-label="Compte"]:hover #iconeCompte,
    nav a[aria-label="Compte"]:focus #iconeCompte,
    nav a[aria-label="Compte"]:active #iconeCompte {
        transform: scale(1.08);
        filter: drop-shadow(0 6px 10px rgba(27, 92, 177, 0.16));
    }

    #compte {
        background: transparent;
    }

    #compte .compte-page-header {
        position: relative;
        padding: 1.5rem 1.75rem;
        border-radius: 1.5rem;
        background: linear-gradient(135deg, #1A5CB1 0%, #2D77D8 100%);
        color: #FFFFFF;
        overflow: hidden;
        box-shadow: 0 24px 46px rgba(27, 92, 177, 0.18);
    }

    #compte .compte-page-header::after {
        content: "";
        position: absolute;
        inset: auto -40px -55px auto;
        width: 180px;
        height: 180px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.10);
    }

    #compte .compte-page-kicker {
        position: relative;
        z-index: 1;
        color: rgba(255, 255, 255, 0.78);
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
    }

    #compte .compte-page-kicker-ligne {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    #compte .compte-page-kicker-separateur {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.7rem;
        height: 0.45rem;
        border-radius: 999px;
        background:
                radial-gradient(circle, rgba(255, 255, 255, 0.88) 0 2px, transparent 2.5px) left center / 0.55rem 0.45rem repeat-x;
    }

    #compte .compte-page-header h1 {
        position: relative;
        z-index: 1;
        color: #FFFFFF;
        font-size: 2.2rem;
        font-weight: 700;
    }

    #compte .compte-nav-link,
    #compte .compte-demo-link,
    #compte .compte-logout-link {
        color: #1A5CB1;
        transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    }

    #compte .compte-nav-link:hover,
    #compte .compte-nav-link:focus,
    #compte .compte-demo-link:hover,
    #compte .compte-demo-link:focus,
    #compte .compte-logout-link:hover,
    #compte .compte-logout-link:focus {
        color: #1A5CB1;
        background: rgba(27, 92, 177, 0.08);
        transform: translateX(4px);
        box-shadow: none;
    }

    #compte .compte-nav-link.is-active {
        color: #FFFFFF;
        background: linear-gradient(135deg, #1B5CB1 0%, #2F7DE1 100%);
        box-shadow: 0 16px 28px rgba(27, 92, 177, 0.22);
    }

    #compte .compte-demo-link {
        color: #FFFFFF;
        background: linear-gradient(135deg, #E95A1B 0%, #F49B3D 100%);
        box-shadow: 0 16px 28px rgba(239, 101, 40, 0.22);
    }

    #compte .compte-demo-link:hover,
    #compte .compte-demo-link:focus {
        color: #FFFFFF;
        background: linear-gradient(135deg, #D94F16 0%, #EF8C2E 100%);
        box-shadow: 0 18px 32px rgba(239, 101, 40, 0.28);
    }

    #compte .compte-nav-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.65rem;
        height: 2.65rem;
        border-radius: 0.9rem;
        background: rgba(27, 92, 177, 0.10);
        color: #EF6528;
        font-size: 1rem;
        flex: 0 0 auto;
        transition: inherit;
    }

    #compte .compte-nav-link.is-active .compte-nav-icon,
    #compte .compte-demo-link .compte-nav-icon,
    #compte .compte-logout-link:hover .compte-nav-icon,
    #compte .compte-logout-link:focus .compte-nav-icon {
        background: rgba(255, 255, 255, 0.16);
        color: #FFFFFF;
    }

    #compte .compte-logout-link:hover .compte-nav-icon,
    #compte .compte-logout-link:focus .compte-nav-icon {
        background: rgba(239, 101, 40, 0.10);
        color: #EF6528;
    }

    #compte .compte-logout-link {
        justify-content: center;
        margin-top: 0.25rem;
        border: 1px solid rgba(239, 101, 40, 0.22);
        color: #EF6528;
    }

    #compte .compte-logout-link .compte-nav-icon {
        background: rgba(239, 101, 40, 0.10);
        color: #EF6528;
    }

    #compte .compte-private-link {
        background: linear-gradient(135deg, #EF6528 0%, #F49B3D 100%);
        color: #FFFFFF;
        font-size: 1.25rem;
        font-weight: 700;
        box-shadow: 0 20px 36px rgba(239, 101, 40, 0.22);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    #compte .compte-private-link:hover,
    #compte .compte-private-link:focus {
        color: #FFFFFF;
        transform: translateY(-2px);
        box-shadow: 0 24px 40px rgba(239, 101, 40, 0.28);
    }

    #compte .compte-private-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        border-radius: 1rem;
        background: rgba(255, 255, 255, 0.16);
        font-size: 1.1rem;
        flex: 0 0 auto;
    }

    #compte .compte-dashboard-card {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 248, 255, 0.95) 100%);
    }

    #compte .compte-dashboard-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        border-radius: 1rem;
        background: linear-gradient(135deg, #1B5CB1 0%, #2F7DE1 100%);
        color: #FFFFFF;
        font-size: 1.1rem;
        box-shadow: 0 10px 24px rgba(27, 92, 177, 0.22);
        flex: 0 0 auto;
    }

    #compte .compte-profile-item {
        background: #FFFFFF;
        border-color: rgba(27, 92, 177, 0.10) !important;
    }

    #compte .compte-profile-label {
        display: block;
        margin-bottom: 0.35rem;
        color: #EF6528;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    #compte .compte-profile-value {
        color: #376EB4;
        font-size: 1rem;
        font-weight: 600;
        overflow-wrap: anywhere;
    }

    #compte .compte-subscription-card,
    #compte .compte-next-plan-card {
        display: grid;
        gap: 1.25rem;
    }

    #compte .compte-subscription-grid,
    #compte .compte-next-plan-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.5fr) minmax(220px, 0.9fr);
        gap: 1.5rem;
        align-items: stretch;
    }

    #compte .compte-subscription-main,
    #compte .compte-subscription-price {
        padding: 1.1rem 1.2rem;
        border-radius: 1.1rem;
        border: 1px solid rgba(27, 92, 177, 0.10);
        background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(248, 251, 255, 1) 100%);
    }

    #compte .compte-subscription-price {
        text-align: right;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
    }

    #compte .compte-subscription-price-compact {
        align-self: stretch;
    }

    #compte .compte-subscription-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.6rem;
    }

    #compte .compte-subscription-chip {
        display: inline-flex;
        align-items: center;
        min-height: 2rem;
        padding: 0.45rem 0.85rem;
        border-radius: 999px;
        background: rgba(239, 101, 40, 0.10);
        color: #C4521F;
        font-size: 0.88rem;
        font-weight: 700;
        line-height: 1;
    }

    #compte .compte-subscription-chip-light {
        background: rgba(27, 92, 177, 0.08);
        color: #376EB4;
    }

    #compte .compte-info-panel {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.9rem;
        align-items: start;
        padding: 1rem 1.1rem;
        border-radius: 1rem;
        border: 1px solid rgba(27, 92, 177, 0.10);
        background: #F7FAFF;
    }

    #compte .compte-info-panel-soft {
        background: rgba(246, 249, 255, 0.85);
    }

    #compte .compte-info-panel-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border-radius: 0.7rem;
        background: rgba(27, 92, 177, 0.10);
        color: #376EB4;
        flex: 0 0 auto;
    }

    #compte .compte-subscription-dates {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.9rem;
    }

    #compte .compte-subscription-date-item {
        padding: 0.95rem 1rem;
        border-radius: 1rem;
        background: #FFFFFF;
        border: 1px solid rgba(27, 92, 177, 0.08);
    }

    #compte .compte-subscription-date-item p {
        color: #376EB4;
    }

    #compte .compte-actions-row {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        align-items: center;
        padding-top: 0.25rem;
    }

    #compte .compte-actions-row form {
        margin: 0;
    }

    #compte .password-control .champFacturation {
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }

    #compte .password-control .password-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-height: 3.35rem;
        min-width: 3.35rem;
        border: 1px solid rgba(26, 92, 177, 0.14) !important;
        border-left: 0 !important;
        border-radius: 0 1rem 1rem 0 !important;
        background: #FFFFFF !important;
        color: #1A5CB1;
        box-shadow: 0 10px 22px rgba(26, 92, 177, 0.05);
        cursor: pointer;
        user-select: none;
        -webkit-user-select: none;
        touch-action: manipulation;
    }

    #compte .password-control .password-icon i {
        pointer-events: none;
    }

    #compte .compte-order-card {
        border-color: rgba(27, 92, 177, 0.14) !important;
    }

    #compte .compte-order-status {
        background: rgba(239, 101, 40, 0.10);
        color: #C4521F;
        font-size: 0.85rem;
        font-weight: 700;
        padding: 0.55rem 0.9rem;
    }

    #compte .compte-order-meta-item {
        background: #F6F9FF;
    }

    #compte .compte-order-meta-item strong {
        display: block;
        color: #EF6528;
        font-size: 0.8rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        margin-bottom: 0.35rem;
    }

    #compte .compte-order-meta-item span,
    #compte .compte-order-meta-item a {
        color: #376EB4;
        font-weight: 600;
        text-decoration: none;
    }

    #compte .compte-progress-step {
        height: 0.45rem;
        border-radius: 999px;
        background: rgba(27, 92, 177, 0.14);
    }

    #compte .compte-progress-step.is-active {
        background: linear-gradient(90deg, #EF6528 0%, #F7A34B 100%);
    }

    @media all and (max-width: 767px) {
        #compte .compte-page-header {
            padding: 1.25rem;
        }

        #compte .compte-page-header h1 {
            font-size: 1.7rem;
        }

        #compte .compte-subscription-grid,
        #compte .compte-next-plan-grid,
        #compte .compte-subscription-dates {
            grid-template-columns: 1fr;
        }

        #compte .compte-subscription-price {
            text-align: left;
        }

    }


    .dropdown-toggle::after {
        display: none;
    }

    .megamenu_mobile {
        display: flex;
    }

    .megamenu_mobile .nav-item > .nav-link,
    .megamenu_mobile .nav-item > .nav-telephone-mobile {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding-top: 0.65rem !important;
        padding-bottom: 0.65rem !important;
        line-height: 1.2;
    }

    .megamenu_mobile .dropdown-toggle {
        min-height: 44px;
    }

    .megamenu_mobile .dropdown-menu {
        margin-top: 0.25rem;
    }

    .megamenu_pc {
        display: none;
    }

    .megamenu_mobile .dropdown-item {
        color: #1A5CB1;
        background: #FFFFFF 0% 0% no-repeat padding-box;
        white-space: normal;
        min-height: 44px;
        padding-top: 0.65rem !important;
        padding-bottom: 0.65rem !important;
        line-height: 1.2;
    }

    .megamenu_mobile .dropdown-item:hover,
    .megamenu_mobile .dropdown-item:active {
        color: #FFFFFF !important;
        font-weight: 700;
        text-decoration: none;
        background: #1B5CB1 0% 0% no-repeat padding-box !important;
        outline: none;
        box-shadow: none;
    }

    .megamenu_mobile .dropdown-item:focus,
    .megamenu_mobile .dropdown-item:focus-visible {
        color: #FFFFFF !important;
        font-weight: 400;
        text-decoration: none;
        background: #1B5CB1 0% 0% no-repeat padding-box !important;
        outline: none;
        box-shadow: none;
    }

    .megamenu_mobile .nav-telephone-mobile,
    .megamenu_mobile .nav-telephone-mobile:hover,
    .megamenu_mobile .nav-telephone-mobile:focus,
    .megamenu_mobile .nav-telephone-mobile:active,
    .megamenu_mobile .nav-telephone-mobile:visited {
        font-family: 'Quicksand', arial, helvetica, sans-serif;
        color: #EF6528 !important;
        font-weight: 700;
    }

    .megamenu_mobile .nav-telephone-mobile i,
    .megamenu_mobile .nav-telephone-mobile span {
        color: #EF6528 !important;
    }

    @media all and (min-width: 961px) and (max-width: 994px) {
        nav .logoImg {
            /*margin-top: 9px;*/
            width: 50px;
        }

        nav .logoText {
            display: none !important;
        }

        nav .nav-link {
            font-size: inherit;
        }
    }

    @media all and (min-width: 575px) and (max-width: 767px) {
        nav .logoImg {
            /*margin-top: 10px;*/
            width: 50px;
        }

        nav .logoText {
            display: none !important;
        }

        nav .nav-link {
            font-size: 0.9rem;
            padding-top: 0 !important;
        }

        nav .bouton-abonnement-nav {
            padding-top: 6px !important;
            padding-bottom: 6px !important;
        }

        nav .nav-telephone span {
            display: none;
        }
    }

    @media all and (min-width: 721px) and (max-width: 960px) {
        nav .logoImg {
            /*margin-top: 9px;*/
            width: 50px;
        }

        nav .logoText {
            display: none !important;
        }

        nav .nav-link {
            font-size: 0.9em;
            padding-top: 0 !important;
        }

        nav .bouton-abonnement-nav {
            padding-top: 6px !important;
            padding-bottom: 6px !important;
        }
    }


    /*@media all and (min-width: 992px) {*/
    @media all and (min-width: 575px) {

        .mobileLogo {
            display: none;
        }

        .megamenu_mobile {
            display: none;

        }

        .megamenu_pc {
            display: flex;
            width: 100%;
            align-items: stretch;
            flex-wrap: nowrap;
            gap: clamp(0.25rem, 0.8vw, 0.9rem);
            margin-top: 0;
            margin-bottom: 0;
            padding-top: 0;
            padding-bottom: 0;
        }

        .megamenu_pc > li {
            flex: 0 1 auto;
            height: 44px;
            display: flex;
            align-items: center;
            align-self: stretch;
        }

        .megamenu_pc > li > .nav-link,
        .megamenu_pc > li > .nav-telephone,
        .megamenu_pc > li > a.d-inline-flex {
            height: 100%;
            display: inline-flex;
            align-items: center;
            white-space: nowrap;
        }

        .megamenu_pc .groupe-marque-nav {
            margin-right: auto;
            min-width: 0;
        }

        .megamenu_pc .groupe-marque-nav .logoText {
            margin-right: 0;
        }

        .navbar .has-megamenu {
            position: static !important;
        }

        .navbar .megamenu {
            left: 0;
            right: 0;
            margin: 0 auto;
        }
    }

    @media all and (max-width: 575px) {
        header {
            position: relative;
            background: var(--fondBandeauAccueil);
        }

        .blocFidelisationAccueil {
            margin-top: 0;
        }

        .mobileLogo {
            text-align: center;
            display: block;
            font-weight: bold;
            font-family: 'Quicksand', arial, helvetica, sans-serif;
            font-size: 2rem;
        }

        nav .menu-principal {
            border-radius: 20px;
        }

        nav .dropdown-item {
            color: #0072BB;
        }

        nav .dropdown-item:hover {
            color: #E95A1B !important;
        }

        .navbar-header {
            float: none;
        }

        .navbar-left, .navbar-right {
            float: none !important;
        }

        .navbar-toggle {
            display: block;
        }

        .navbar-collapse {
            border-top: 1px solid transparent;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
        }

        .navbar-fixed-top {
            top: 0;
            border-width: 0 0 1px;
        }

        /*.navbar-collapse.collapse {
            display: none!important;
        }*/
        .navbar-nav {
            float: none !important;
            margin-top: 7.5px;
        }

        .navbar-nav > li {
            float: none;
        }

        .navbar-nav > li > a {
            padding-top: 10px;
            padding-bottom: 10px;
            font-size: 1rem;
        }

        .collapse.in {
            display: block !important;
        }

        .dropdown-toggle::after {
            display: inline-block;
            margin-left: 0.255em;
            vertical-align: 0.255em;
            content: "";
            border-top: 0.3em solid;
            border-right: 0.3em solid transparent;
            border-bottom: 0;
            border-left: 0.3em solid transparent;
        }

        .navbar-toggler:focus {
            box-shadow: none;
        }

        .navbar-toggler {
            border: none;
        }

        .custom-toggler.navbar-toggler {
            border-color: #0072BB;
        }

        /* Setting the stroke to green using rgb values (0, 128, 0) */
        .custom-toggler .navbar-toggler-icon {
            background-image: url(
            "data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 114, 187, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
        }
    }

    /**********************************/
    /************ ACCUEIL *************/
    /**********************************/

    .vertical-flex-no-align-center {
        display: flex;
        flex-wrap: wrap;
    }

    .border-bleu {
        border-radius: 20px;
        border: 3px solid #ebf0f7 !important;

        /*min-height: 440px;*/
    }

    .border-bleu.border-top {
        border-radius: 20px 20px 0 0;
    }

    .border-bleu-fonce {
        border-radius: 20px;
        border: 3px solid #376EB4FF;

        /*min-height: 440px;*/
    }

    .border-bleu-orange {
        border-radius: 20px;
        border: 3px solid #E95A1B;

        /*min-height: 440px;*/
    }

    .tarifGlobale .tarif {
        font-size: 3em !important;
    }

    .tarifGlobale .tarifCentime {
        margin-top: 4px;
        position: absolute;
    }

    .titre-bleu-orange .roundedTop {
        border-top-left-radius: 1rem !important;
        border-top-right-radius: 1rem !important;
    }

    .titre-bleu-orange .roundedBottom {
        border-bottom-right-radius: 1rem !important;
        border-bottom-left-radius: 1rem !important;
    }


    /**********************************/
    /************ ARIANE *************/
    /**********************************/

    .ariane {
        font-size: 1rem;
    }

    .ariane > div {
        display: inline-block;
        padding-right: 6px;
    }

    /**********************************/
    /************ Pages *************/
    /**********************************/


    .tarifGlobalePages .tarif {
        font-size: 3em !important;
    }

    .tarifGlobalePages .tarifCentime {
        margin-top: 4px;
        position: absolute;
    }

    .abonnement {
        margin-top: -25px !important;
        vertical-align: middle;
        font-size: 1.25rem;
    }

    .ou {
        transform: rotate(350deg) translate(-50%, -50%) !important;
        font-weight: bold;
        margin-top: 170px !important;
    }

    @media all and (max-width: 575px) {
        .abonnement {
            margin-top: inherit !important;
            display: block !important;
        }

        .ou {
            top: 0 !important;
            left: 50% !important;
            margin-top: inherit !important;
        }

        .routage h2,
        .routage span {
            display: block !important;
            margin-top: 15px;
            text-align: center;
        }

        .routageCadre {
            display: block;
        }
    }

    @media all and (min-width: 575px) and (max-width: 767px) {
        .abonnement {
            margin-top: inherit !important;
            display: block !important;
        }

        .ou {
            top: 0 !important;
            left: 50% !important;
            margin-top: inherit !important;
        }

        .routage h2,
        .routage span {
            display: block !important;
            margin-top: 15px;
            text-align: center;
        }

        .routageCadre {
            display: block;
        }
    }

    @media all and (min-width: 768px) and (max-width: 991px) {
        .routage h2,
        .routage span {
            display: block !important;
            margin-top: 15px;
            text-align: center;
        }
    }

    @media all and (min-width: 992px) {
        .routageCadre.vertical-flex-no-align-center {
            display: block !important;
        }
    }


    .form-special select {
        padding: 8px;
        border: 2px solid #E95A1B;
        border-radius: 5px;
        color: #9bb6dc;
    }

    .form-special select:focus {
        outline: none;
        border-color: #4990EA;
    }

    .form-special option:first-of-type {
        color: #9bb6dc;
    }

    /* Style pour l'input texte */

    .form-special input[type="text"] {
        padding: 8px 8px 0;
        border: none;
        border-bottom: 2px solid #E95A1B;
        color: #9bb6dc;
    }

    .form-special input[type="text"]:focus {
        outline: none;
        border-color: #4990EA;
    }

    ::placeholder {
        color: #9bb6dc;
    }

    /* Styling du cercle */

    .step-container {
        display: flex;
        align-items: center;
        margin-right: 10px; /* Espacement entre le cercle et le texte */
    }

    .step {
        min-width: 40px; /* Ajustez la taille du cercle selon vos besoins */
        min-height: 40px;
        border-radius: 50%;
        background-color: #376eb4;
        color: white;
        font-size: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* Supprimer le cercle pour les chiffres suivants */

    .step-container + h2 .step {
        display: none;
    }

    .visuelSecteursBanniere {
        max-width: 24rem;
    }

    .sectionIntroSecteurs {
        background: var(--fondBandeauAccueil);
    }

    .blocIntroSecteurs {
        margin-top: 80px;
    }

    .visuelIntroSecteurs {
        max-width: 18rem;
        margin-left: auto;
        margin-right: auto;
    }

    .texteIntroductionSecteurs {
        font-size: 1.625rem;
    }

    .retourLigneSecteurs {
        display: block;
    }

    .visuelActivitesAbonnement {
        max-width: 24rem;
    }

    .visuelCommerceCycleAchat {
        max-width: 24rem;
    }

    .visuelNegociantsB2b {
        max-width: 24rem;
    }

    .visuelServicesLocauxExpertise {
        max-width: 24rem;
    }

    @media (max-width: 991.98px) {
        .sectionIntroSecteurs {
            text-align: center;
        }

        .visuelIntroSecteurs {
            max-width: 16rem;
        }

        .visuelSecteursBanniere {
            max-width: 24rem;
        }

        .visuelActivitesAbonnement {
            max-width: 24rem;
        }

        .visuelCommerceCycleAchat {
            max-width: 24rem;
        }

        .visuelNegociantsB2b {
            max-width: 24rem;
        }

        .visuelServicesLocauxExpertise {
            max-width: 24rem;
        }
    }

    @media (max-width: 575.98px) {
        .retourLigneSecteurs {
            display: none;
        }

        .visuelCommerceCycleAchat {
            max-width: 24rem;
        }

        .visuelNegociantsB2b {
            max-width: 24rem;
        }

        .visuelServicesLocauxExpertise {
            max-width: 24rem;
        }
    }

    /**********************************/
    /**** DEBUT PRISE DE RENDEZ-VOUS ***/
    /**********************************/

    .sectionReservationTarifs {
        background: #F7F9FC;
    }

    .carteReservationTarifs {
        background: #FFFFFF;
        border: 1px solid rgba(27, 92, 177, 0.12);
        border-radius: 1.5rem;
        box-shadow: 0 18px 45px rgba(27, 92, 177, 0.08);
        overflow: hidden;
    }

    .iframeReservationTarifs {
        display: block;
        width: 100%;
        min-height: 700px;
        border: 0;
        background: #FFFFFF;
    }

    .modalPriseRendezVous .modal-dialog {
        max-width: 1100px;
    }

    .modalPriseRendezVous .modal-content {
        border: 1px solid rgba(27, 92, 177, 0.14);
        border-radius: 1.5rem;
        overflow: hidden;
        box-shadow: 0 28px 70px rgba(27, 92, 177, 0.18);
        background: linear-gradient(180deg, #F4F8FD 0%, #FFFFFF 26%);
    }

    .modalPriseRendezVous .modal-header {
        border-bottom: 0;
        padding: 1.25rem 1.25rem 0.75rem;
        position: relative;
        min-height: 8rem;
        align-items: flex-start;
    }

    .contenuEnteteModalPriseRendezVous {
        max-width: calc(100% - 4rem);
    }

    .surTitreModalPriseRendezVous {
        color: #1B5CB1;
        font-family: 'Quicksand', sans-serif;
        font-size: 0.875rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .modalPriseRendezVous #titreModalPriseRendezVous {
        color: #F56A2C;
        font-family: 'Quicksand', sans-serif;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.15;
    }

    .texteEnteteModalPriseRendezVous {
        color: #376EB4;
        font-family: 'Quicksand', sans-serif;
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.5;
    }

    .modalPriseRendezVous .btn-close {
        position: absolute;
        top: 1rem;
        right: 1rem;
        margin: 0;
        z-index: 2;
        opacity: 1;
        background-color: #FFFFFF;
        border-radius: 50%;
        box-shadow: 0 10px 24px rgba(27, 92, 177, 0.16);
    }

    .modalPriseRendezVous .modal-body {
        padding: 0 1.25rem 1.25rem;
    }

    .cadreIframePriseRendezVous {
        padding: 0.5rem;
        border-radius: 1.25rem;
        background: linear-gradient(135deg, rgba(27, 92, 177, 0.08) 0%, rgba(245, 106, 44, 0.12) 100%);
    }

    .modalPriseRendezVous .iframeReservationTarifs {
        min-height: 75vh;
        border-radius: 1rem;
        box-shadow: 0 12px 30px rgba(27, 92, 177, 0.12);
    }

    @media (max-width: 767.98px) {
        .iframeReservationTarifs {
            min-height: 620px;
        }

        .modalPriseRendezVous #titreModalPriseRendezVous {
            font-size: 1.55rem;
        }

        .modalPriseRendezVous .modal-body {
            padding: 0 0.75rem 0.75rem;
        }

        .modalPriseRendezVous .modal-header {
            padding: 1rem 1rem 0.75rem;
            min-height: auto;
        }

        .contenuEnteteModalPriseRendezVous {
            max-width: calc(100% - 3.5rem);
        }
    }

    /**********************************/
    /***** FIN PRISE DE RENDEZ-VOUS ****/
    /**********************************/

    /**********************************/
    /******* DEBUT ACCES CLIENT ********/
    /**********************************/

    .enteteAccesClient {
        max-width: 48rem;
        margin-inline: auto;
    }

    .texteAccesClient {
        color: #376EB4;
        font-family: 'Quicksand', sans-serif;
        font-size: 1.05rem;
        font-weight: 500;
        line-height: 1.6;
    }

    .carteAccesClient {
        border: 1px solid rgba(27, 92, 177, 0.14);
        border-radius: 1.5rem;
        overflow: hidden;
        box-shadow: 0 22px 55px rgba(27, 92, 177, 0.12);
        background: linear-gradient(180deg, #F4F8FD 0%, #FFFFFF 16%);
    }

    .titreColonneAccesClient {
        color: #F56A2C;
        font-family: 'Quicksand', sans-serif;
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 1.2;
    }

    .contenuCarteAccesClient {
        padding: 1.5rem 1.75rem 1.75rem;
    }

    .carteAccesClient label,
    .carteAccesClient p,
    .carteAccesClient a,
    .carteAccesClient small {
        font-family: 'Quicksand', sans-serif;
    }

    .carteAccesClient .form-control,
    .carteAccesClient .input-group-text {
        border-radius: 0.9rem;
    }

    .lienConditionsAccesClient {
        color: #F56A2C;
        font-weight: 700;
        text-decoration: none;
        transition: color 0.2s ease;
    }

    .lienConditionsAccesClient:hover,
    .lienConditionsAccesClient:focus {
        color: #D95A1D;
    }

    @media (max-width: 575.98px) {
        .texteAccesClient {
            font-size: 0.98rem;
        }

        .titreColonneAccesClient {
            font-size: 1.35rem;
        }

        .contenuCarteAccesClient {
            padding: 1.25rem;
        }
    }

    /**********************************/
    /******** FIN ACCES CLIENT ********/
    /**********************************/

    /**********************************/
    /******* HARMONISATION TEXTE ******/
    /**********************************/

    main h1,
    main .h1,
    main h1.h2 {
        font-size: 2.6rem !important;
        font-weight: 700 !important;
    }

    main h2,
    main .h2 {
        font-size: 1.75rem !important;
        font-weight: 700 !important;
    }

    main h3,
    main .h3 {
        font-size: 1.40rem !important;
    }

    main p:not(.numeroEtapeCreation),
    main li,
    main label,
    main input,
    main select,
    main textarea,
    main .accordion-body,
    main [class*="texte"],
    main [class*="description"],
    main [class*="sousTitre"],
    main [class*="paragraphe"],
    main [class*="introduction"] {
        font-size: 1rem !important;
    }

    main .numeroEtapeCreation {
        font-size: clamp(4.5rem, 8vw, 7.5625rem) !important;
    }

    @media (max-width: 575.98px) {
        main h1,
        main .h1,
        main h1.h2 {
            font-size: 2.6rem !important;
        }

        main h2,
        main .h2 {
            font-size: 1.75rem !important;
        }
    }

