
.nxshop-page{
    width:min(1180px,calc(100% - 40px));
    margin:34px auto 70px;
}

.nxshop-back{
    display:inline-block;
    margin-bottom:20px;
    color:#8f99ad;
    text-decoration:none;
    font-size:10px;
}

.nxshop-product-layout,
.nxcart-layout,
.nxcheckout-layout{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(330px,.7fr);
    gap:18px;
}

.nxshop-product-main,
.nxshop-configurator,
.nxcart-summary,
.nxcheckout-main,
.nxcheckout-summary{
    border:1px solid #2d3549;
    border-radius:17px;
    background:#111722;
}

.nxshop-product-main{
    padding:34px;
}

.nxshop-category,
.nxshop-config-head>span,
.nxshop-page-head span,
.nxcart-summary>span,
.nxcheckout-main>span,
.nxcheckout-summary>span{
    color:#9988eb;
    font-size:8px;
    font-weight:800;
    letter-spacing:.1em;
}

.nxshop-product-main h1{
    margin:12px 0;
    font-size:34px;
}

.nxshop-base-price{
    display:flex;
    align-items:baseline;
    gap:6px;
}

.nxshop-base-price strong{
    font-size:25px;
}

.nxshop-base-price span{
    color:#818ba0;
    font-size:9px;
}

.nxshop-features{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
    margin-top:28px;
}

.nxshop-features>div{
    display:flex;
    gap:8px;
    color:#9ca6b9;
    font-size:10px;
}

.nxshop-features i{
    color:#5bd28a;
    font-style:normal;
}

.nxshop-configurator{
    padding:22px;
}

.nxshop-config-head h2{
    margin:7px 0;
    font-size:17px;
}

.nxshop-config-head p{
    margin:0 0 20px;
    color:#818ba0;
    font-size:9px;
}

.nxshop-option-group{
    margin-top:18px;
}

.nxshop-option-group>label{
    display:block;
    margin-bottom:8px;
    font-size:10px;
    font-weight:700;
}

.nxshop-option-list{
    display:grid;
    gap:7px;
}

.nxshop-option{
    display:block;
    cursor:pointer;
}

.nxshop-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.nxshop-option>span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:48px;
    padding:11px 12px;
    border:1px solid #30384c;
    border-radius:10px;
    background:#0e141e;
}

.nxshop-option input:checked+span{
    border-color:#7d66d8;
    background:#19162b;
}

.nxshop-option strong{
    font-size:10px;
}

.nxshop-option small{
    color:#8892a6;
    font-size:8px;
}

.nxshop-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid #293145;
}

.nxshop-total span,
.nxshop-total small{
    display:block;
}

.nxshop-total span{
    font-size:10px;
    font-weight:700;
}

.nxshop-total small{
    margin-top:3px;
    color:#778197;
    font-size:7px;
}

.nxshop-total>strong{
    font-size:20px;
}

.nxshop-add{
    width:100%;
    margin-top:15px;
}

.nxshop-login-required,
.nxshop-no-options{
    padding:18px;
    border:1px solid #30384c;
    border-radius:11px;
    background:#0e141e;
}

.nxshop-login-required p{
    color:#818ba0;
    font-size:9px;
    line-height:1.5;
}

.nxshop-page-head{
    margin-bottom:22px;
}

.nxshop-page-head h1{
    margin:7px 0;
    font-size:28px;
}

.nxshop-page-head p{
    margin:0;
    color:#818ba0;
    font-size:10px;
}

.nxcart-items{
    display:grid;
    gap:10px;
}

.nxcart-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:19px;
    border:1px solid #2d3549;
    border-radius:13px;
    background:#111722;
}

.nxcart-item>div:first-child>span{
    color:#8e80d5;
    font-size:7px;
}

.nxcart-item h3{
    margin:6px 0;
    font-size:14px;
}

.nxcart-options{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
}

.nxcart-options span{
    color:#7e899f;
    font-size:8px;
}

.nxcart-item-right{
    flex:0 0 auto;
    text-align:right;
}

.nxcart-item-right>strong{
    display:block;
    font-size:14px;
}

.nxcart-remove{
    margin-top:8px;
    padding:0;
    border:0;
    background:transparent;
    color:#df7680;
    cursor:pointer;
    font-size:8px;
}

.nxcart-summary,
.nxcheckout-summary{
    height:max-content;
    padding:20px;
}

.nxcart-summary>div{
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.nxcart-summary p{
    color:#8993a7;
    font-size:9px;
}

.nxcart-summary hr{
    margin:14px 0;
    border:0;
    border-top:1px solid #293145;
}

.nxcart-summary .btn{
    width:100%;
    margin-top:15px;
}

.nxcart-empty{
    padding:70px 20px;
    border:1px dashed #343c50;
    border-radius:15px;
    text-align:center;
    background:#111722;
}

.nxcart-empty>div{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    margin:0 auto 13px;
    border:1px solid #55468c;
    border-radius:11px;
    color:#a995f4;
}

.nxcart-empty p{
    color:#818ba0;
}

.nxcheckout-main{
    padding:22px;
}

.nxcheckout-main h2{
    margin:7px 0 20px;
}

.nxcheckout-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:13px 0;
    border-bottom:1px solid #293145;
}

.nxcheckout-item:last-child{
    border-bottom:0;
}

.nxcheckout-item small{
    display:block;
    margin-top:4px;
    color:#7f899e;
    font-size:8px;
}

.nxcheckout-summary>strong{
    display:block;
    margin-top:10px;
    font-size:27px;
}

.nxcheckout-summary>small{
    color:#7e899f;
    font-size:8px;
}

.nxcheckout-summary .btn{
    width:100%;
    margin-top:20px;
}

.nxcheckout-summary>p{
    color:#747f94;
    font-size:8px;
    line-height:1.5;
}

.nxcheckout-created{
    grid-column:1/-1;
    padding:60px 25px;
    border:1px solid #355446;
    border-radius:17px;
    background:#111722;
    text-align:center;
}

.nxcheckout-success{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin:0 auto 15px;
    border-radius:50%;
    background:#163525;
    color:#63d491;
    font-weight:800;
}

.nxcheckout-created>span{
    color:#71cb95;
    font-size:8px;
    font-weight:800;
}

.nxcheckout-created h2{
    margin:8px 0;
    font-size:23px;
}

.nxcheckout-created p{
    color:#818ba0;
}

.nxcheckout-status{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    max-width:650px;
    margin:22px auto;
}

.nxcheckout-status>div{
    padding:12px;
    border:1px solid #293145;
    border-radius:10px;
    background:#0e141e;
}

.nxcheckout-status span,
.nxcheckout-status strong{
    display:block;
}

.nxcheckout-status span{
    color:#788297;
    font-size:7px;
}

.nxcheckout-status strong{
    margin-top:5px;
    font-size:9px;
}

.nxshop-loading,
.nxshop-error{
    padding:20px;
    border:1px solid #30384c;
    border-radius:11px;
    color:#8590a5;
    background:#111722;
    font-size:9px;
}

@media(max-width:800px){

    .nxshop-product-layout,
    .nxcart-layout,
    .nxcheckout-layout{
        grid-template-columns:1fr;
    }

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

}

@media(max-width:550px){

    .nxshop-page{
        width:min(100% - 24px,1180px);
    }

    .nxcart-item{
        align-items:flex-start;
        flex-direction:column;
    }

    .nxcart-item-right{
        width:100%;
        text-align:left;
    }

    .nxcheckout-status{
        grid-template-columns:1fr;
    }

}



/* =========================================================
   PRODUCT ROUTE ERROR
   ========================================================= */

.nxshop-route-error{
    max-width:620px;

    margin:70px auto;

    padding:45px 30px;

    border:1px solid #2d3549;
    border-radius:17px;

    background:#111722;

    text-align:center;
}


.nxshop-route-error>span{
    color:#9988eb;

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

    letter-spacing:.1em;
}


.nxshop-route-error h1{
    margin:10px 0 0;

    font-size:27px;
}


.nxshop-route-error p{
    margin:10px auto 20px;

    color:#818ba0;

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



/* =========================================================
   NEXORAHOST PRODUCT PAGE V2
   ========================================================= */

.nxproduct-v2{
    width:min(1280px,calc(100% - 40px));
    margin:26px auto 80px;
}


/* BREADCRUMB */

.nxproduct-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;

    margin-bottom:18px;

    color:#717c92;

    font-size:9px;
}

.nxproduct-breadcrumb a{
    color:#8994aa;
    text-decoration:none;
}

.nxproduct-breadcrumb a:hover{
    color:#fff;
}

.nxproduct-breadcrumb strong{
    color:#aeb6c7;
    font-weight:500;
}


/* LAYOUT */

.nxproduct-layout{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(340px,390px);

    gap:20px;

    align-items:start;
}


/* HERO */

.nxproduct-hero{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:30px;

    padding:34px;

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

    background:
        radial-gradient(
            circle at top left,
            rgba(137,108,246,.08),
            transparent 38%
        ),
        #111722;
}

.nxproduct-category{
    display:inline-flex;

    padding:5px 8px;

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

    color:#a692f4;

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

    letter-spacing:.08em;
}

.nxproduct-heading h1{
    margin:14px 0 0;

    font-size:38px;
    line-height:1.1;
}

.nxproduct-description{
    max-width:620px;

    margin:13px 0 0;

    color:#8b95aa;

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

.nxproduct-price-block{
    flex:0 0 auto;

    min-width:160px;

    padding-left:25px;

    border-left:1px solid #293145;
}

.nxproduct-price-block>span{
    color:#7d879c;

    font-size:8px;
}

.nxproduct-price-block>div{
    display:flex;
    align-items:baseline;
    gap:5px;

    margin-top:5px;
}

.nxproduct-price-block strong{
    font-size:27px;
}

.nxproduct-price-block small{
    color:#7f899e;

    font-size:8px;
}


/* SECTIONS */

.nxproduct-section{
    margin-top:16px;

    padding:27px;

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

    background:#101620;
}

.nxproduct-section-head>span{
    display:block;

    color:#8e7dda;

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

    letter-spacing:.1em;
}

.nxproduct-section-head h2{
    margin:7px 0 20px;

    font-size:18px;
}


/* FEATURES */

.nxproduct-feature-grid{
    display:grid;

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

    gap:10px;
}

.nxproduct-feature{
    display:flex;
    align-items:center;

    gap:10px;

    min-height:49px;

    padding:11px 13px;

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

    background:#0d131d;
}

.nxproduct-feature i{
    width:19px;
    height:19px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#153322;
    color:#62d18c;

    font-size:8px;
    font-style:normal;
}

.nxproduct-feature span{
    color:#abb3c3;

    font-size:9px;
}


/* STEPS */

.nxproduct-steps{
    display:grid;

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

    gap:10px;
}

.nxproduct-steps article{
    display:flex;
    gap:12px;

    padding:15px;

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

    background:#0e141e;
}

.nxproduct-steps article>span{
    width:29px;
    height:29px;

    flex:0 0 auto;

    display:grid;
    place-items:center;

    border:1px solid #4a3f70;
    border-radius:8px;

    color:#a795ef;

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

.nxproduct-steps strong{
    display:block;

    font-size:10px;
}

.nxproduct-steps p{
    margin:5px 0 0;

    color:#7d879c;

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


/* REASSURANCE */

.nxproduct-reassurance{
    display:grid;

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

    gap:10px;

    margin-top:16px;
}

.nxproduct-reassurance>div{
    padding:17px;

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

    background:#101620;
}

.nxproduct-reassurance span{
    color:#8a7ad1;

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

.nxproduct-reassurance strong{
    display:block;

    margin-top:7px;

    font-size:10px;
}

.nxproduct-reassurance p{
    margin:6px 0 0;

    color:#798499;

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


/* SIDEBAR */

.nxproduct-sidebar{
    position:relative;
}

.nxproduct-config-card{
    position:sticky;
    top:20px;

    padding:22px;

    border:1px solid #30384d;
    border-radius:17px;

    background:#111722;

    box-shadow:
        0 20px 45px rgba(0,0,0,.12);
}

.nxproduct-config-head>span{
    color:#9986ec;

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

    letter-spacing:.1em;
}

.nxproduct-config-head h2{
    margin:7px 0;

    font-size:17px;
}

.nxproduct-config-head p{
    margin:0;

    color:#818ba0;

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


/* MINI STEPS */

.nxproduct-mini-steps{
    display:flex;
    align-items:center;

    margin:18px 0 21px;
}

.nxproduct-mini-steps>span{
    width:28px;
    height:28px;

    position:relative;

    display:grid;
    place-items:center;

    border:1px solid #30384c;
    border-radius:50%;

    color:#788297;

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

.nxproduct-mini-steps>span.active{
    border-color:#7964d1;

    background:#1a172b;

    color:#ad9afa;
}

.nxproduct-mini-steps>span small{
    display:none;
}

.nxproduct-mini-steps>i{
    flex:1;

    height:1px;

    background:#2d3548;
}


/* OPTIONS */

.nxproduct-options{
    padding-top:3px;
}

.nxproduct-price-summary{
    margin-top:20px;

    padding-top:17px;

    border-top:1px solid #293145;
}

.nxproduct-price-row{
    display:flex;
    justify-content:space-between;

    gap:10px;

    margin-bottom:9px;

    font-size:9px;
}

.nxproduct-price-row span{
    color:#8a94a8;
}

.nxproduct-price-row strong{
    font-weight:600;
}

.nxproduct-price-row.muted{
    color:#7a8499;
}


/* TOTAL */

.nxproduct-total-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:15px;

    margin-top:16px;

    padding-top:15px;

    border-top:1px solid #293145;
}

.nxproduct-total-row span{
    display:block;

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

.nxproduct-total-row small{
    display:block;

    margin-top:3px;

    color:#727c91;

    font-size:7px;
}

.nxproduct-total-row>strong{
    font-size:22px;
}


/* CTA */

.nxproduct-add{
    width:100%;
    min-height:48px;

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

    gap:10px;

    margin-top:16px;
}

.nxproduct-add span{
    font-size:14px;
}


/* SAFE */

.nxproduct-safe{
    display:flex;
    align-items:flex-start;

    gap:7px;

    margin-top:12px;

    color:#768197;

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

.nxproduct-safe i{
    color:#5fd08b;

    font-style:normal;
}


/* HELP */

.nxproduct-help-card{
    margin-top:12px;

    padding:17px;

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

    background:#0f151f;
}

.nxproduct-help-card>span{
    color:#8d7dd9;

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

.nxproduct-help-card strong{
    display:block;

    margin-top:7px;

    font-size:10px;
}

.nxproduct-help-card p{
    margin:6px 0;

    color:#798398;

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

.nxproduct-help-card a{
    color:#a693f1;

    text-decoration:none;

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


/* RESPONSIVE */

@media(max-width:950px){

    .nxproduct-layout{
        grid-template-columns:1fr;
    }

    .nxproduct-config-card{
        position:static;
    }

}


@media(max-width:650px){

    .nxproduct-v2{
        width:min(100% - 24px,1280px);
    }

    .nxproduct-hero{
        flex-direction:column;
    }

    .nxproduct-price-block{
        width:100%;

        padding:
            18px 0 0;

        border-left:0;
        border-top:1px solid #293145;
    }

    .nxproduct-feature-grid,
    .nxproduct-steps,
    .nxproduct-reassurance{
        grid-template-columns:1fr;
    }

}



/* =========================================================
   CONFIGURATION STANDARD
   ========================================================= */

.nxproduct-standard-config{
    display:flex;
    align-items:center;

    gap:12px;

    padding:15px;

    border:1px solid #30483b;
    border-radius:11px;

    background:#101b17;
}


.nxproduct-standard-icon{
    width:32px;
    height:32px;

    flex:0 0 auto;

    display:grid;
    place-items:center;

    border-radius:9px;

    background:#153523;
    color:#63d390;

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


.nxproduct-standard-config strong{
    display:block;

    font-size:10px;
}


.nxproduct-standard-config p{
    margin:4px 0 0;

    color:#7f8f87;

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


/* ERREUR OPTIONS */

.nxproduct-options-error{
    padding:15px;

    border:1px solid #4b3940;
    border-radius:11px;

    background:#1a1317;
}


.nxproduct-options-error strong{
    display:block;

    color:#e59aa0;

    font-size:10px;
}


.nxproduct-options-error p{
    margin:5px 0 10px;

    color:#8f7f84;

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


.nxproduct-options-error .btn{
    min-height:32px;

    padding:0 11px;

    font-size:8px;
}

