/* =========================================================
   NEXORAHOST — CONSEILLER V2
   ========================================================= */

.nxadvisor{
    width:min(1050px,100%);
    margin:0 auto;
}


/* HERO */

.nxadvisor-hero{
    max-width:780px;

    margin:20px auto 30px;

    text-align:center;
}

.nxadvisor-eyebrow{
    display:block;

    margin-bottom:9px;

    color:#9e8cf4;

    font-size:9px;
    font-weight:800;

    letter-spacing:.12em;
}

.nxadvisor-hero h1{
    margin:0;

    font-size:clamp(28px,4vw,40px);
    line-height:1.15;
}

.nxadvisor-hero p{
    max-width:660px;

    margin:12px auto 0;

    color:#8c96aa;

    font-size:12px;
    line-height:1.65;
}


/* SHELL */

.nxadvisor-shell{
    overflow:hidden;

    border:1px solid #2b3346;
    border-radius:18px;

    background:#10151f;

    box-shadow:
        0 18px 50px rgba(0,0,0,.14);
}


/* PROGRESS */

.nxadvisor-progress-wrap{
    padding:18px 22px 0;

    border-bottom:1px solid #262e40;

    background:#111722;
}

.nxadvisor-progress-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.nxadvisor-progress-top>div>span{
    display:block;

    color:#7f899f;

    font-size:9px;
}

.nxadvisor-progress-top>div>strong{
    display:block;

    margin-top:4px;

    font-size:11px;
}

.nxadvisor-reset{
    padding:0;

    border:0;

    background:transparent;
    color:#8b95aa;

    font-size:9px;

    cursor:pointer;
}

.nxadvisor-reset:hover{
    color:#fff;
}


.nxadvisor-progress{
    height:3px;

    margin-top:17px;

    overflow:hidden;

    border-radius:999px;

    background:#202738;
}

.nxadvisor-progress-bar{
    height:100%;

    border-radius:999px;

    background:#8a6cf5;

    transition:width .22s ease;
}


/* STEP */

.nxadvisor-step{
    display:none;

    min-height:430px;

    padding:36px 40px;

    animation:nxadvisorFade .17s ease;
}

.nxadvisor-step.active{
    display:block;
}

@keyframes nxadvisorFade{

    from{
        opacity:.4;
        transform:translateY(3px);
    }

    to{
        opacity:1;
        transform:none;
    }
}


/* QUESTION */

.nxadvisor-question{
    max-width:680px;

    margin-bottom:27px;
}

.nxadvisor-question>span{
    display:block;

    margin-bottom:7px;

    color:#8475ca;

    font-size:8px;
    font-weight:800;

    letter-spacing:.1em;
}

.nxadvisor-question h2{
    margin:0;

    font-size:22px;
}

.nxadvisor-question p{
    margin:7px 0 0;

    color:#8791a7;

    font-size:11px;
    line-height:1.55;
}


/* CHOICES */

.nxadvisor-choice-grid{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:12px;
}

.nxadvisor-choice-grid.nxadvisor-four{
    grid-template-columns:
        repeat(2,minmax(0,1fr));
}


.nxadvisor-choice{
    position:relative;

    min-height:115px;

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

    padding:17px;

    border:1px solid #2d3548;
    border-radius:14px;

    background:#131925;
    color:inherit;

    text-align:left;

    cursor:pointer;

    transition:
        border-color .14s ease,
        background .14s ease,
        transform .14s ease;
}

.nxadvisor-choice:hover{
    border-color:#4a5068;

    background:#161c29;

    transform:translateY(-1px);
}


.nxadvisor-choice.selected{
    border-color:#7964cf;

    background:#19172a;

    box-shadow:
        inset 0 0 0 1px rgba(139,108,246,.16);
}

.nxadvisor-choice.selected::after{
    content:"✓";

    position:absolute;

    top:13px;
    right:13px;

    width:20px;
    height:20px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#896cf5;
    color:#fff;

    font-size:9px;
    font-weight:800;
}


.nxadvisor-choice-icon{
    width:30px;
    height:30px;

    display:grid;
    place-items:center;

    margin-bottom:11px;

    border:1px solid #3b4358;
    border-radius:9px;

    background:#1b2130;
    color:#b6a9ef;

    font-size:10px;
    font-weight:800;
}

.nxadvisor-choice strong{
    font-size:12px;
}

.nxadvisor-choice small{
    display:block;

    margin-top:6px;

    color:#808a9f;

    font-size:9px;
    line-height:1.5;
}


/* NAVIGATION */

.nxadvisor-navigation{
    min-height:76px;

    display:grid;

    grid-template-columns:
        auto 1fr auto;

    align-items:center;

    gap:18px;

    padding:16px 22px;

    border-top:1px solid #282f41;

    background:#0f141e;
}

.nxadvisor-navigation .btn{
    min-width:110px;
}

.nxadvisor-nav-status{
    text-align:center;

    color:#788297;

    font-size:9px;
}

.nxadvisor-navigation button:disabled{
    opacity:.4;

    cursor:not-allowed;
}


/* RESULT */

.nxadvisor-result-head{
    margin-bottom:24px;
}

.nxadvisor-result-head>span{
    display:block;

    margin-bottom:7px;

    color:#9d8aec;

    font-size:8px;
    font-weight:800;

    letter-spacing:.11em;
}

.nxadvisor-result-head h2{
    margin:0;

    font-size:24px;
}

.nxadvisor-result-head p{
    margin:7px 0 0;

    color:#848fa5;

    font-size:10px;
}


.nxadvisor-result-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.45fr)
        minmax(270px,.75fr);

    gap:15px;
}


/* PRODUCT */

.nxadvisor-product{
    position:relative;

    display:flex;
    flex-direction:column;

    padding:21px;

    border:1px solid #30384b;
    border-radius:15px;

    background:#131925;
}

.nxadvisor-product.recommended{
    border-color:#6654ad;

    background:
        linear-gradient(
            145deg,
            #17162a,
            #121824 65%
        );
}

.nxadvisor-recommended-label,
.nxadvisor-alternative-label{
    width:max-content;

    margin-bottom:17px;

    padding:5px 8px;

    border:1px solid #4b416d;
    border-radius:999px;

    color:#aa99f1;

    font-size:8px;
    font-weight:700;
}

.nxadvisor-alternative-label{
    border-color:#394155;

    color:#8791a7;
}


.nxadvisor-product-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.nxadvisor-product-head>div:first-child>span{
    display:block;

    margin-bottom:5px;

    color:#808ba0;

    font-size:8px;

    text-transform:uppercase;
}

.nxadvisor-product-head h3{
    margin:0;

    font-size:19px;
}


.nxadvisor-result-price{
    flex:0 0 auto;

    text-align:right;
}

.nxadvisor-result-price strong{
    display:block;

    font-size:19px;
}

.nxadvisor-result-price span{
    color:#7f899e;

    font-size:8px;
}


/* FEATURES */

.nxadvisor-product-features{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:8px;

    margin-top:21px;
}

.nxadvisor-product-features>div{
    display:flex;
    align-items:flex-start;
    gap:7px;

    color:#a1aabc;

    font-size:9px;
}

.nxadvisor-product-features i{
    color:#61ce8b;

    font-style:normal;
}


/* WHY */

.nxadvisor-why{
    margin-top:21px;

    padding:14px;

    border:1px solid #37334f;
    border-radius:11px;

    background:#151521;
}

.nxadvisor-why>strong{
    display:block;

    margin-bottom:8px;

    font-size:10px;
}

.nxadvisor-why p{
    position:relative;

    margin:6px 0;

    padding-left:13px;

    color:#8e98ab;

    font-size:9px;
    line-height:1.55;
}

.nxadvisor-why p::before{
    content:"";

    position:absolute;

    left:0;
    top:6px;

    width:4px;
    height:4px;

    border-radius:50%;

    background:#8a6cf5;
}


/* ACTIONS */

.nxadvisor-product-actions{
    display:flex;
    gap:8px;

    margin-top:auto;
    padding-top:20px;
}

.nxadvisor-product-actions .btn{
    flex:1;
}


/* RESULT FOOTER */

.nxadvisor-result-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    margin-top:15px;

    padding:16px 18px;

    border:1px solid #293145;
    border-radius:13px;

    background:#111722;
}

.nxadvisor-result-footer strong{
    display:block;

    font-size:10px;
}

.nxadvisor-result-footer span{
    display:block;

    margin-top:4px;

    color:#818ba0;

    font-size:9px;
}


/* NO RESULT */

.nxadvisor-no-result{
    padding:60px 25px;

    border:1px dashed #333b4f;
    border-radius:15px;

    text-align:center;

    background:#121722;
}

.nxadvisor-no-result-icon{
    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    margin:0 auto 14px;

    border:1px solid #554889;
    border-radius:12px;

    background:#191629;
    color:#b5a4f8;
}

.nxadvisor-no-result h3{
    margin:0;

    font-size:16px;
}

.nxadvisor-no-result p{
    max-width:500px;

    margin:8px auto 17px;

    color:#838da2;

    font-size:10px;
    line-height:1.6;
}

.nxadvisor-no-result>div:last-child{
    display:flex;
    justify-content:center;
    gap:8px;
}


/* RESPONSIVE */

@media(max-width:800px){

    .nxadvisor-step{
        padding:28px 22px;
    }

    .nxadvisor-result-grid{
        grid-template-columns:1fr;
    }

    .nxadvisor-choice-grid,
    .nxadvisor-choice-grid.nxadvisor-four{
        grid-template-columns:1fr;
    }
}


@media(max-width:560px){

    .nxadvisor-hero{
        text-align:left;
    }

    .nxadvisor-navigation{
        grid-template-columns:1fr 1fr;
    }

    .nxadvisor-nav-status{
        display:none;
    }

    .nxadvisor-product-head,
    .nxadvisor-result-footer{
        flex-direction:column;
        align-items:flex-start;
    }

    .nxadvisor-result-price{
        text-align:left;
    }

    .nxadvisor-product-features{
        grid-template-columns:1fr;
    }

    .nxadvisor-product-actions{
        flex-direction:column;
    }
}



/* =========================================================
   CONSEILLER — OFFRE SUR MESURE
   ========================================================= */

.nxadvisor-custom-offer{
    margin-top:16px;

    padding:21px;

    border:1px solid #6b56b9;
    border-radius:15px;

    background:
        linear-gradient(
            145deg,
            #1b1830,
            #121824 70%
        );
}


.nxadvisor-custom-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:20px;
}


.nxadvisor-custom-badge{
    display:inline-flex;

    padding:5px 8px;

    border:1px solid #6251a0;
    border-radius:999px;

    color:#b5a4fa;

    font-size:8px;
    font-weight:800;

    letter-spacing:.06em;
}


.nxadvisor-custom-top h3{
    margin:12px 0 0;

    font-size:20px;
}


.nxadvisor-custom-top p{
    margin:6px 0 0;

    color:#8993a8;

    font-size:9px;
}


.nxadvisor-custom-price{
    flex:0 0 auto;

    text-align:right;
}


.nxadvisor-custom-price strong{
    display:block;

    font-size:21px;
}


.nxadvisor-custom-price span{
    color:#818ba0;

    font-size:8px;
}


.nxadvisor-custom-features{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:9px;

    margin-top:20px;
}


.nxadvisor-custom-features>div{
    display:flex;
    align-items:flex-start;

    gap:7px;

    color:#aab2c2;

    font-size:9px;
}


.nxadvisor-custom-features i{
    color:#62cf8c;

    font-style:normal;
}


.nxadvisor-custom-notice{
    margin-top:20px;

    padding:13px;

    border:1px solid #40395f;
    border-radius:11px;

    background:#151522;
}


.nxadvisor-custom-notice strong{
    display:block;

    font-size:10px;
}


.nxadvisor-custom-notice span{
    display:block;

    margin-top:5px;

    color:#868fa3;

    font-size:9px;
    line-height:1.55;
}


.nxadvisor-custom-actions{
    display:flex;
    justify-content:flex-end;

    margin-top:17px;
}


.nxadvisor-custom-actions .btn{
    min-height:42px;
}


@media(max-width:650px){

    .nxadvisor-custom-top{
        flex-direction:column;
    }

    .nxadvisor-custom-price{
        text-align:left;
    }

    .nxadvisor-custom-features{
        grid-template-columns:1fr;
    }

    .nxadvisor-custom-actions .btn{
        width:100%;
    }

}

