/* ==================================================
   ACCUEIL — CTA SIMULATEUR PREMIUM NEW
   Responsive complet et affichage sécurisé
================================================== */

.home-simulator-cta_new,
.home-simulator-cta_new *,
.home-simulator-cta_new *::before,
.home-simulator-cta_new *::after{
    box-sizing:border-box;
}

.home-simulator-cta_new{
    position:relative;
    overflow:hidden;

    padding:58px 0 68px;

    background:
        radial-gradient(
            circle at 8% 0,
            rgba(7,87,249,.05),
            transparent 28%
        ),
        radial-gradient(
            circle at 94% 100%,
            rgba(37,99,235,.035),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8faff 100%
        );
}

.home-simulator-cta_new .le-container_new{
    position:relative;
    z-index:2;

    width:min(1600px,94%);
    margin:0 auto;
}


/* ==================================================
   BOX PRINCIPALE
================================================== */

.home-simulator-box_new{
    position:relative;
    overflow:hidden;

    min-height:310px;
    padding:48px 54px;

    display:grid;
    grid-template-columns:190px minmax(0,1fr) minmax(280px,340px);
    align-items:center;
    gap:clamp(34px,3.2vw,50px);

    border:1px solid rgba(255,255,255,.11);
    border-radius:28px;

    background:
        radial-gradient(
            circle at 12% 50%,
            rgba(7,87,249,.20),
            transparent 25%
        ),
        radial-gradient(
            circle at 90% 20%,
            rgba(37,99,235,.16),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #000a19 0%,
            #000d20 43%,
            #001a42 72%,
            #00245f 100%
        );

    box-shadow:
        0 34px 90px rgba(0,13,32,.23),
        inset 0 1px 0 rgba(255,255,255,.10);
}

.home-simulator-box_new::before{
    content:"";

    position:absolute;
    inset:0;

    pointer-events:none;

    background:
        linear-gradient(
            115deg,
            rgba(255,255,255,.06),
            transparent 27%
        );
}

.home-simulator-box_new::after{
    content:"";

    position:absolute;
    top:0;
    left:54px;
    right:54px;

    height:2px;

    border-radius:0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(77,140,255,.82),
            transparent
        );

    opacity:.68;
}

.home-simulator-box_new > *{
    position:relative;
    z-index:3;
}


/* ==================================================
   DÉCORATIONS
================================================== */

.home-simulator-orbit_new{
    position:absolute;
    z-index:1;

    border:1px solid rgba(255,255,255,.06);
    border-radius:50%;

    pointer-events:none;
}

.home-simulator-orbit-one_new{
    right:-150px;
    bottom:-235px;

    width:570px;
    height:570px;

    box-shadow:
        0 0 0 45px rgba(7,87,249,.04),
        0 0 0 90px rgba(7,87,249,.025);
}

.home-simulator-orbit-two_new{
    top:-150px;
    left:-130px;

    width:340px;
    height:340px;

    opacity:.65;
}


/* ==================================================
   VISUEL
================================================== */

.home-simulator-visual_new{
    position:relative;

    min-width:0;
    min-height:190px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.home-simulator-visual-halo_new{
    position:absolute;

    width:185px;
    height:185px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(7,87,249,.29),
            rgba(7,87,249,.09) 48%,
            transparent 72%
        );

    animation:
        homeSimulatorHaloPulse_new
        4.8s
        ease-in-out
        infinite;
}


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

.home-simulator-icon_new{
    position:relative;
    z-index:2;

    width:152px;
    height:152px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.76);
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#0757f9;

    background:
        radial-gradient(
            circle at 30% 20%,
            #ffffff,
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #ffffff,
            #e9f1ff
        );

    box-shadow:
        0 28px 58px rgba(0,0,0,.29),
        0 0 0 9px rgba(255,255,255,.045),
        inset 0 1px 0 rgba(255,255,255,.96);

    transform:rotate(-3deg);

    animation:
        homeSimulatorFloat_new
        5.8s
        ease-in-out
        infinite;

    transition:
        transform .45s cubic-bezier(.22,.61,.36,1),
        box-shadow .45s ease;
}

.home-simulator-box_new:hover
.home-simulator-icon_new{
    animation-play-state:paused;

    transform:
        translateY(-7px)
        rotate(0deg)
        scale(1.035);

    box-shadow:
        0 35px 70px rgba(0,0,0,.34),
        0 0 0 11px rgba(255,255,255,.055),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.home-simulator-icon_new::before{
    content:"";

    position:absolute;
    inset:12px;

    border:1px solid rgba(7,87,249,.10);
    border-radius:50%;

    pointer-events:none;
}

.home-simulator-icon_new svg{
    width:65px;
    height:65px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}


/* Badge euro */

.home-simulator-euro_new{
    position:absolute;
    right:19px;
    bottom:24px;

    width:42px;
    height:42px;

    border:4px solid #edf4ff;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#ffffff;

    background:
        linear-gradient(
            145deg,
            #2879ff,
            #0757f9
        );

    font-size:20px;
    font-weight:950;
    line-height:1;

    box-shadow:
        0 13px 27px rgba(7,87,249,.34);
}


/* Reflet */

.home-simulator-shine_new{
    position:absolute;
    inset:0;

    overflow:hidden;

    border-radius:50%;

    pointer-events:none;
}

.home-simulator-shine_new::before{
    content:"";

    position:absolute;
    top:-20%;
    left:-70%;

    width:25%;
    height:145%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.20),
            rgba(255,255,255,.75),
            rgba(255,255,255,.20),
            transparent
        );

    transform:rotate(18deg);

    animation:
        homeSimulatorShine_new
        6.8s
        ease-in-out
        infinite;
}


/* ==================================================
   CONTENU
================================================== */

.home-simulator-content_new{
    min-width:0;
}

.home-simulator-label_new{
    display:inline-flex;
    align-items:center;
    gap:11px;

    margin:0 0 16px;

    color:#6ca2ff;

    font-size:11px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:2.4px;
    text-transform:uppercase;
}

.home-simulator-label_new::before{
    content:"";

    width:29px;
    height:2px;

    border-radius:999px;

    background:#4d8cff;

    box-shadow:
        0 0 13px rgba(77,140,255,.55);
}

.home-simulator-content_new h2{
    max-width:720px;

    margin:0 0 19px;

    color:#ffffff;

    font-size:clamp(34px,3vw,42px);
    font-weight:950;
    line-height:1.08;
    letter-spacing:-1.15px;
}

.home-simulator-content_new h2 span{
    display:inline;
    width:auto;
    height:auto;

    color:#5f96ff;
    background:none;
}

.home-simulator-content_new p{
    max-width:680px;

    margin:0;
    padding:0 !important;

    color:rgba(255,255,255,.74);

    font-size:16px;
    font-weight:500;
    line-height:1.67;
}


/* ==================================================
   AVANTAGES
================================================== */

.home-simulator-benefits_new{
    margin-top:24px;

    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:11px 20px;
}

.home-simulator-benefits_new span{
    display:inline-flex;
    align-items:center;
    gap:7px;

    color:rgba(255,255,255,.77);

    font-size:11px;
    font-weight:700;
    line-height:1.4;
}

.home-simulator-benefits_new svg{
    width:17px;
    height:17px;
    flex:0 0 17px;

    fill:none;
    stroke:#69a0ff;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round;
}


/* ==================================================
   ACTION
================================================== */

.home-simulator-action_new{
    min-width:0;
    width:100%;

    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;

    gap:12px;
}

.home-simulator-btn_new{
    position:relative;
    overflow:hidden;

    width:100%;
    min-height:78px;
    padding:0 20px;

    border:1px solid rgba(255,255,255,.76);
    border-radius:15px;

    display:grid;
    grid-template-columns:43px minmax(0,1fr) 23px;
    gap:14px;
    align-items:center;

    color:#0757f9;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f3f7ff
        );

    text-decoration:none;

    box-shadow:
        0 24px 55px rgba(0,0,0,.27),
        inset 0 1px 0 rgba(255,255,255,.98);

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

.home-simulator-btn_new::before{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            120deg,
            transparent 29%,
            rgba(7,87,249,.07) 48%,
            transparent 67%
        );

    transform:translateX(-115%);

    transition:transform .6s ease;
}

.home-simulator-btn_new:hover::before{
    transform:translateX(115%);
}

.home-simulator-btn_new:hover{
    color:#0048d5;

    transform:translateY(-5px);

    box-shadow:
        0 32px 72px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.98);
}

.home-simulator-btn_new > *{
    position:relative;
    z-index:2;
}

.home-simulator-btn-icon_new{
    width:43px;
    height:43px;

    border-radius:12px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#ffffff;

    background:
        linear-gradient(
            145deg,
            #2879ff,
            #0757f9
        );

    box-shadow:
        0 12px 25px rgba(7,87,249,.25);

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

.home-simulator-btn_new:hover
.home-simulator-btn-icon_new{
    transform:
        rotate(-4deg)
        scale(1.04);

    box-shadow:
        0 16px 32px rgba(7,87,249,.34);
}

.home-simulator-btn-icon_new svg{
    width:23px;
    height:23px;

    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.home-simulator-btn-text_new{
    min-width:0;

    color:inherit;

    font-size:15px;
    font-weight:900;
    line-height:1.28;
    text-align:left;
}

.home-simulator-btn-arrow_new{
    width:22px;
    height:22px;

    fill:none;
    stroke:currentColor;
    stroke-width:2.3;
    stroke-linecap:round;
    stroke-linejoin:round;

    transition:transform .3s ease;
}

.home-simulator-btn_new:hover
.home-simulator-btn-arrow_new{
    transform:translateX(5px);
}

.home-simulator-disclaimer_new{
    display:block;

    max-width:300px;
    margin:0 auto;

    color:rgba(255,255,255,.47);

    font-size:10px;
    font-weight:600;
    line-height:1.45;
    text-align:center;
}


/* ==================================================
   ANIMATIONS
================================================== */

@keyframes homeSimulatorFloat_new{

    0%,
    100%{
        transform:
            translateY(0)
            rotate(-3deg);
    }

    50%{
        transform:
            translateY(-8px)
            rotate(-1deg);
    }
}

@keyframes homeSimulatorHaloPulse_new{

    0%,
    100%{
        opacity:.72;
        transform:scale(.95);
    }

    50%{
        opacity:1;
        transform:scale(1.06);
    }
}

@keyframes homeSimulatorShine_new{

    0%,
    30%{
        left:-70%;
        opacity:0;
    }

    42%{
        opacity:1;
    }

    68%,
    100%{
        left:135%;
        opacity:0;
    }
}


/* ==================================================
   ANIMATION D’ARRIVÉE SÉCURISÉE
================================================== */

/*
 * Le contenu reste visible sans JavaScript.
 * L’animation ne s’active que si ton JS ajoute
 * .has-simulator-animation à la box.
 */

.home-simulator-visual_new,
.home-simulator-content_new,
.home-simulator-action_new{
    opacity:1;
    transform:none;
}

.home-simulator-box_new.has-simulator-animation
.home-simulator-visual_new,
.home-simulator-box_new.has-simulator-animation
.home-simulator-content_new,
.home-simulator-box_new.has-simulator-animation
.home-simulator-action_new{
    opacity:0;

    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.22,.61,.36,1);
}

.home-simulator-box_new.has-simulator-animation
.home-simulator-visual_new{
    transform:translateX(-35px);
}

.home-simulator-box_new.has-simulator-animation
.home-simulator-content_new{
    transform:translateY(24px);
}

.home-simulator-box_new.has-simulator-animation
.home-simulator-action_new{
    transform:translateX(35px);
}

.home-simulator-box_new.has-simulator-animation.active
.home-simulator-visual_new,
.home-simulator-box_new.has-simulator-animation.active
.home-simulator-content_new,
.home-simulator-box_new.has-simulator-animation.active
.home-simulator-action_new,
.home-simulator-box_new.has-simulator-animation.is-visible
.home-simulator-visual_new,
.home-simulator-box_new.has-simulator-animation.is-visible
.home-simulator-content_new,
.home-simulator-box_new.has-simulator-animation.is-visible
.home-simulator-action_new{
    opacity:1;
    transform:none;
}

.home-simulator-box_new.has-simulator-animation.active
.home-simulator-content_new,
.home-simulator-box_new.has-simulator-animation.is-visible
.home-simulator-content_new{
    transition-delay:.10s;
}

.home-simulator-box_new.has-simulator-animation.active
.home-simulator-action_new,
.home-simulator-box_new.has-simulator-animation.is-visible
.home-simulator-action_new{
    transition-delay:.20s;
}


/* ==================================================
   GRANDS ÉCRANS
================================================== */

@media(min-width:1800px){

    .home-simulator-cta_new{
        padding:64px 0 74px;
    }

    .home-simulator-box_new{
        min-height:326px;
        padding:52px 58px;

        grid-template-columns:200px minmax(0,1fr) 350px;
    }

    .home-simulator-content_new h2{
        font-size:43px;
    }
}


/* ==================================================
   DESKTOP MOYEN
================================================== */

@media(max-width:1300px){

    .home-simulator-box_new{
        min-height:290px;

        padding:42px 38px;

        grid-template-columns:160px minmax(0,1fr) minmax(250px,290px);
        gap:32px;
    }

    .home-simulator-visual_new{
        min-height:170px;
    }

    .home-simulator-icon_new{
        width:136px;
        height:136px;
    }

    .home-simulator-visual-halo_new{
        width:164px;
        height:164px;
    }

    .home-simulator-icon_new svg{
        width:58px;
        height:58px;
    }

    .home-simulator-content_new h2{
        font-size:34px;
    }

    .home-simulator-content_new p{
        font-size:14.5px;
    }

    .home-simulator-benefits_new{
        gap:9px 14px;
    }

    .home-simulator-btn_new{
        min-height:72px;
        padding:0 16px;

        grid-template-columns:40px minmax(0,1fr) 20px;
        gap:11px;
    }

    .home-simulator-btn-icon_new{
        width:40px;
        height:40px;
    }

    .home-simulator-btn-text_new{
        font-size:13.5px;
    }
}


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

@media(max-width:1050px){

    .home-simulator-cta_new{
        padding:50px 0 58px;
    }

    .home-simulator-cta_new .le-container_new{
        width:min(94%,920px);
    }

    .home-simulator-box_new{
        min-height:0;

        padding:42px;

        grid-template-columns:160px minmax(0,1fr);
        gap:34px;
    }

    .home-simulator-action_new{
        grid-column:1 / -1;

        width:min(480px,100%);
        justify-self:center;
    }

    .home-simulator-btn_new{
        width:100%;
    }
}


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

@media(max-width:700px){

    .home-simulator-cta_new{
        padding:42px 0 50px;
    }

    .home-simulator-cta_new .le-container_new{
        width:calc(100% - 28px);
    }

    .home-simulator-box_new{
        min-height:auto;

        padding:36px 23px;

        grid-template-columns:1fr;
        gap:28px;

        text-align:center;

        border-radius:22px;
    }

    .home-simulator-box_new::after{
        right:25px;
        left:25px;
    }

    .home-simulator-visual_new{
        min-height:146px;
    }

    .home-simulator-icon_new{
        width:124px;
        height:124px;
    }

    .home-simulator-visual-halo_new{
        width:148px;
        height:148px;
    }

    .home-simulator-icon_new svg{
        width:55px;
        height:55px;
    }

    .home-simulator-euro_new{
        right:13px;
        bottom:19px;

        width:38px;
        height:38px;

        font-size:18px;
    }

    .home-simulator-label_new{
        justify-content:center;

        margin-bottom:14px;

        font-size:10px;
        letter-spacing:2px;
    }

    .home-simulator-content_new h2{
        max-width:520px;
        margin:0 auto 16px;

        font-size:clamp(29px,8vw,34px);
        letter-spacing:-.75px;
    }

    .home-simulator-content_new p{
        max-width:520px;
        margin:0 auto;

        font-size:14.5px;
        line-height:1.62;
    }

    .home-simulator-benefits_new{
        justify-content:center;

        margin-top:20px;
    }

    .home-simulator-action_new{
        grid-column:auto;

        width:min(100%,470px);
        justify-self:center;
    }

    .home-simulator-btn_new{
        min-height:68px;
    }

    .home-simulator-btn-text_new{
        font-size:13.5px;
    }
}


/* ==================================================
   PETITS MOBILES
================================================== */

@media(max-width:420px){

    .home-simulator-cta_new .le-container_new{
        width:calc(100% - 20px);
    }

    .home-simulator-box_new{
        padding:32px 17px;

        gap:24px;

        border-radius:18px;
    }

    .home-simulator-visual_new{
        min-height:132px;
    }

    .home-simulator-icon_new{
        width:112px;
        height:112px;
    }

    .home-simulator-visual-halo_new{
        width:136px;
        height:136px;
    }

    .home-simulator-icon_new svg{
        width:49px;
        height:49px;
    }

    .home-simulator-euro_new{
        right:10px;
        bottom:16px;

        width:35px;
        height:35px;

        border-width:3px;

        font-size:16px;
    }

    .home-simulator-content_new h2{
        font-size:27px;
    }

    .home-simulator-content_new p{
        font-size:13.5px;
    }

    .home-simulator-benefits_new{
        gap:8px 12px;
    }

    .home-simulator-benefits_new span{
        font-size:10px;
    }

    .home-simulator-btn_new{
        min-height:64px;
        padding:0 13px;

        grid-template-columns:38px minmax(0,1fr) 19px;
        gap:10px;

        border-radius:13px;
    }

    .home-simulator-btn-icon_new{
        width:38px;
        height:38px;

        border-radius:10px;
    }

    .home-simulator-btn-icon_new svg{
        width:20px;
        height:20px;
    }

    .home-simulator-btn-text_new{
        font-size:12.5px;
    }

    .home-simulator-btn-arrow_new{
        width:19px;
        height:19px;
    }
}


/* ==================================================
   TRÈS PETITS ÉCRANS
================================================== */

@media(max-width:340px){

    .home-simulator-cta_new .le-container_new{
        width:calc(100% - 14px);
    }

    .home-simulator-box_new{
        padding:28px 13px;
    }

    .home-simulator-content_new h2{
        font-size:25px;
    }

    .home-simulator-content_new p{
        font-size:13px;
    }

    .home-simulator-btn_new{
        grid-template-columns:35px minmax(0,1fr) 17px;
        gap:8px;

        padding:0 10px;
    }

    .home-simulator-btn-icon_new{
        width:35px;
        height:35px;
    }

    .home-simulator-btn-text_new{
        font-size:11.5px;
    }
}


/* ==================================================
   TACTILE
================================================== */

@media(hover:none){

    .home-simulator-box_new:hover
    .home-simulator-icon_new{
        transform:rotate(-3deg);

        box-shadow:
            0 28px 58px rgba(0,0,0,.29),
            0 0 0 9px rgba(255,255,255,.045),
            inset 0 1px 0 rgba(255,255,255,.96);
    }

    .home-simulator-btn_new:hover{
        transform:none;
    }

    .home-simulator-btn_new:hover::before{
        transform:translateX(-115%);
    }

    .home-simulator-btn_new:hover
    .home-simulator-btn-icon_new{
        transform:none;
    }

    .home-simulator-btn_new:hover
    .home-simulator-btn-arrow_new{
        transform:none;
    }
}


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

@media(prefers-reduced-motion:reduce){

    .home-simulator-icon_new,
    .home-simulator-visual-halo_new,
    .home-simulator-shine_new::before{
        animation:none !important;
    }

    .home-simulator-visual_new,
    .home-simulator-content_new,
    .home-simulator-action_new{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }

    .home-simulator-btn_new,
    .home-simulator-btn-icon_new,
    .home-simulator-btn-arrow_new{
        transition:none !important;
    }
}

.home-simulator-icon-image_new{
    display:block;

    width:42px;
    height:42px;

    object-fit:contain;

    position:relative;
    z-index:2;
}