:root{
    --mg-primary:#f16924;
    --mg-primary-light:#fff4ee;

    --mg-dark:#212934;
    --mg-dark-2:#111827;

    --mg-text:#1f2937;
    --mg-muted:#6b7280;

    --mg-border:#e9e9e9;
    --mg-bg:#f5f7fa;

    --mg-white:#fff;
}

/* ========================================
   MAIN WRAPPER
======================================== */

.mg-wizard{
   /* max-width:860px;
    margin:40px auto;*/
    background:#fff;
    border-radius:32px;
    overflow:hidden;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:
        0 8px 40px rgba(0,0,0,.06),
        0 2px 8px rgba(0,0,0,.03);

    color:var(--mg-text);
}

/* ========================================
   HEADER
======================================== */

.mg-wizard-header{
    background:
        linear-gradient(
            135deg,
            #111827 0%,
            #212934 100%
        );

    padding:28px 32px;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.mg-device-info{
    display:flex;
    align-items:center;
    gap:18px;
}
.mg-device-img {
    /* width: 71px; */
    /* height: 72px; */
    border-radius: 22px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
}
.mg-device-img img {
    max-width: 100px;
    max-height: 100px;
    border-radius: 10px;
}
.mg-device-info h3 {
    margin: 0;
    color: #fff !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    letter-spacing: 0px !important;
}

.mg-device-info p{
    margin:0px !important;
    color:rgba(255,255,255,.65);
    font-size:14px;
}

/* OFFER */

.mg-offer-box{
    text-align:right;
}

.mg-offer-box span{
    display:block;
    color:rgba(255,255,255,.6);
    font-size:13px;
    margin-bottom:8px;
}

.mg-offer-box strong{
    color:#ffffff;
    font-size:42px;
    line-height:1;
    font-weight:900;
    letter-spacing:-2px;
}

/* ========================================
   STEP BAR
======================================== */

.mg-steps{
    display:flex;
    align-items:center;
    gap:14px;

    padding:18px 28px;

    background:#faf7f5;

    border-bottom:1px solid #f0f0f0;

    overflow:auto;
}

.mg-step{
    display:flex;
    align-items:center;
    gap:10px;

    white-space:nowrap;

    color:#7b7b7b;

    font-size:14px;
    font-weight:600;
}

.mg-step span{
    width:28px;
    height:28px;

    border-radius:50%;

    border:1.5px solid #d5d5d5;

    background:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:12px;
    transition:.2s ease;
}

.mg-step.active{
    color:var(--mg-primary);
}

.mg-step.active span{
    border-color:var(--mg-primary);
    color:var(--mg-primary);
    background:#fff5ef;
}

.mg-step.done span{
    background:var(--mg-primary);
    border-color:var(--mg-primary);
    color:#fff;
}

.mg-step.done span::before{
    content:"✓";
    font-size:12px;
}

.mg-step.done span{
    font-size:0;
}

.mg-step-label{
   /* background:#fff1ea;*/
    color:var(--mg-primary);

    padding:5px 10px;

    border-radius:999px;

    font-size:11px;
    font-weight:700;
}

.mg-separator{
    color:#c7c7c7;
}

/* ========================================
   BODY
======================================== */

.mg-body{
    padding:15px 20px 15px 20px;
    background:#fff;
}

.mg-panel{
    display:none;
}

.mg-panel.active{
    display:block;
}

/* TITLES */

.mg-panel h2 {
    font-size: 22px !important;
    font-weight: 900 !important;
    margin-bottom: 0px;
}
.mg-panel p{
    color:#6b7280;
    font-size:15px;
    margin-bottom:0px;
        margin-top: 0px;
}

/* ========================================
   STORAGE GRID
======================================== */

.mg-storage-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    padding-top: 10px;
}

.mg-storage-option {
    background: #fff;
    border: 1.5px solid #ececec;
    border-radius: 15px;
    padding: 18px 20px;
    min-height: 100px;
    cursor: pointer;
    transition: .25s ease;
}

.mg-storage-option:hover{
    transform:translateY(-3px);

    box-shadow:
        0 16px 36px rgba(0,0,0,.06);
}

.mg-storage-option.selected{
    border:2px solid var(--mg-primary);

    background:
        linear-gradient(
            180deg,
            #fff8f4 0%,
            #fff 100%
        );

    box-shadow:
        0 0 0 4px rgba(241,105,36,.08),
        0 18px 40px rgba(241,105,36,.12);
}

.mg-storage-option strong {
    display: block;
    font-size: 30px;
    line-height: 1;
    margin-bottom: 4px;
    font-weight: 700;
    color: #111827;
}

.mg-storage-option small{
    color:#777;
    font-size:14px;
}

/* =========================================
   CONDITION LIST
========================================= */

.mg-condition-list{
    display:flex;
    flex-direction:column;
    gap:18px;
        padding-top: 10px;
}

/* CARD */

.mg-condition-card {
    position: relative;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 15px;
    overflow: hidden;
    transition: .28s ease;
    cursor: pointer;
}

.mg-condition-card:hover{

    transform:translateY(-2px);

    box-shadow:
        0 16px 40px rgba(0,0,0,.05);
}

.mg-condition-card.selected{

    border:2px solid #f16924;

    background:
        linear-gradient(
            180deg,
            rgba(241,105,36,.035) 0%,
            rgba(241,105,36,.015) 100%
        );

    box-shadow:
        0 0 0 4px rgba(241,105,36,.06),
        0 18px 40px rgba(241,105,36,.10);
}

/* =========================================
   TOP SECTION
========================================= */

.mg-condition-top {
    display:flex;
    align-items:center;
    gap: 10px;
    padding: 13px;
}

/* ICON */

.mg-condition-icon{

    width:72px;
    height:72px;

    border-radius:10px;

    background:
        linear-gradient(
            135deg,
            #f5f5f5,
            #ebebeb
        );

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:22px;

    transition:.25s ease;
}

.mg-condition-card.selected .mg-condition-icon{

    background:
        linear-gradient(
            135deg,
            #f16924,
            #ff8c4f
        );

    color:#fff;

    box-shadow:
        0 10px 24px rgba(241,105,36,.28);
}

/* =========================================
   TITLE
========================================= */

.mg-condition-title{
    min-width:0;
    flex:1;
}

.mg-condition-title strong {
    display: block;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 0px;
    font-weight: 700;
    letter-spacing: 0px;
    color: #111827;
    text-align: left;
}

.mg-condition-title small{

    display:block;

    font-size:15px;

    line-height:1.7;

    color:#667085;

    max-width:540px;
}

/* =========================================
   PRICE
========================================= */

.mg-condition-price{

    text-align:right;
flex-shrink:0;
    min-width:140px;
}

.mg-condition-price strong {
    display: block;
    font-size: 25px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0;
    color: #111827;
}

.mg-condition-card.selected .mg-condition-price strong{
    color:#f16924;
}

.mg-condition-price small{

    display:block;

    margin-top:8px;

    font-size:11px;

    color:#8b8b8b;

    text-transform:uppercase;

    letter-spacing:1px;
}

/* =========================================
   RADIO
========================================= */

.mg-radio{

    width:26px;
    height:26px;

    min-width:26px;

    border-radius:50%;

    border:2px solid #d0d0d0;

    position:relative;

    transition:.25s ease;

    margin-left:10px;

    flex-shrink:0;
}
.mg-condition-card.selected .mg-radio{

    border-color:#f16924;

    background:#f16924;
}

.mg-condition-card.selected .mg-radio::after{

    content:"";

    width:9px;
    height:9px;

    border-radius:50%;

    background:#fff;

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);
}

/* =========================================
   DESCRIPTION
========================================= */

.mg-condition-desc{

    display:none;

    padding:0px 20px 20px 20px
}

.mg-condition-card.open .mg-condition-desc{
    display:block;
}

/* GRID */

.mg-condition-desc ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}
/* CHECK ITEM */

.mg-condition-desc li {
    position: relative;
    display: flex;
    align-items: flex-start;
    /* min-height: 84px; */
    padding: 18px 18px 18px 68px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfcfc 100%);
    border: 1px solid #ececec;
    border-radius: 22px;
    color: #2f3747;
    font-size: 15px;
    line-height: 1.7;
    font-weight: 500;
    transition: .25s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .025);
}
.mg-condition-desc .condition-description li {
    border: 0.5px solid gainsboro;
    margin-bottom: 0px;
    padding: 14px 10px;
    border-radius: 5px;
    text-align: left;
    padding-left: 45px;
    line-height: normal;
}
.mg-condition-desc li:hover{

    transform:translateY(-2px);

    border-color:#ffd5bf;

    box-shadow:
        0 10px 24px rgba(241,105,36,.10);
}

/* CHECK ICON */

.mg-condition-desc li::before{

    content:"✓";
    width: 15px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f16924 0%, #ff955e 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 10px;
    top: 10px;
    box-shadow: 0 8px 18px rgba(241, 105, 36, .28);
}
/* PREMIUM LEFT ACCENT */
/*
.mg-condition-desc li::after {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, #f16924, #ff9a65);
    opacity: .12;
}*/



/* ========================================
   REVIEW
======================================== */

.mg-review-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #efefef;
}

.mg-review-row span{
    color:#6b7280;
    font-size:15px;
}

.mg-review-row strong{
    font-size:20px;
    font-weight:800;
}

/* CHANGE BUTTON */

.mg-change-btn{
    margin-left:14px;

    padding:12px 18px;

    border-radius:14px;

    border:1px solid #ddd;

    background:#fff;

    font-size:14px;
    font-weight:700;

    cursor:pointer;
    font-family: 'DM Sans';
    transition:.2s ease;
}

.mg-change-btn:hover{
    background:#fafafa;
}

/* OFFER BOX */

.mg-guarantee-box {
    margin-top: 20px;
    padding: 20px;
    border-radius: 28px;
    background: linear-gradient(135deg, #fff7f3 0%, #fff 100%);
    border: 1px solid #ffe2d5;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mg-guarantee-box strong{
    font-size:30px;
    font-weight:900;
        line-height: normal;
}

.mg-guarantee-box p{
    margin-top:0px;
    color:#7a7a7a;
    font-size:14px;
}

.mg-final-price{
    color:var(--mg-primary);

    font-size:54px !important;

    line-height:1;

    font-weight:900 !important;

    letter-spacing:-2px;
}

/* TRUST */

.mg-trust-row{
    margin-top:24px;

    display:flex;
    gap:26px;

    flex-wrap:wrap;

    color:#5b6472;

    font-size:14px;
}

/* ========================================
   FOOTER
======================================== */

.mg-footer{
    padding:24px 30px;

    background:#faf7f5;

    border-top:1px solid #efefef;

    display:grid;
    grid-template-columns:100px 1fr;

    gap:14px;
}

.mg-footer.single-button{
    grid-template-columns:1fr;
}

.mg-footer.review-footer{
    grid-template-columns:100px 110px 1fr;
}

/* BUTTONS */

.mg-footer button {
    min-height: 62px;
    border-radius: 18px;
    border: none;
    cursor: pointer;
    transition: .22s ease;
    font-size: 16px;
    font-weight: 700;
    /*padding: 0 34px;*/
}
/* BACK */

.mg-back-btn{
    background:#fff;
    border:1px solid #ddd !important;
}

.mg-back-btn:hover{
    background:#f7f7f7;
}

/* RESET */
.condition-description > li::before {
    content: '\2713';
    transform: rotate(0deg);
    padding-right: 3px !important;
    color: #ffffff !important;
    padding-left: 4px;
}
.mg-reset-btn{
    display:none;

    background:#fff;

    border:1px solid #ddd !important;
}

.mg-reset-btn:hover{
    background:#f7f7f7;
}

/* MAIN BUTTON */

.mg-next-btn{
    background:
        linear-gradient(
            135deg,
            #f16924,
            #ff8c4f
        );

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    box-shadow:
        0 14px 28px rgba(241,105,36,.22);
}

.mg-next-btn:hover{
    transform:translateY(-2px);

    box-shadow:
        0 18px 34px rgba(241,105,36,.32);
}

.mg-btn-title{
    font-weight:700;
}

.mg-btn-price{
    font-weight:900;
}

/******* customcss*******/
.mg-condition-title small {
    display: none;
}


/* ========================================
   MOBILE
======================================== */

@media(max-width:768px){

    .mg-wizard{
        margin:0;
        border-radius:0;
    }

    .mg-wizard-header{
        padding:22px;
    }

    .mg-device-info h3{
        font-size:22px;
    }

    .mg-offer-box strong{
        font-size:28px;
    }

    .mg-panel h2{
        font-size:26px;
    }

    .mg-storage-grid{
        grid-template-columns:1fr 1fr;
    }

    .mg-condition-top {
    display:flex;
    align-items:center;
    gap: 20px;
    padding: 10px;
}

    .mg-condition-price,
    .mg-radio{
        display:none;
    }

    .mg-condition-icon{

        width:58px;
        height:58px;

        border-radius:18px;
    }

    .mg-condition-title strong{
        font-size:24px;
    }

    .mg-condition-desc{

        padding:
            0
            22px
            22px
            22px;
    }

    .mg-condition-desc ul{
        grid-template-columns:1fr;
    }

    .mg-condition-desc li{
        min-height:auto;
        padding:18px 18px 18px 64px;
    }

    .mg-guarantee-box{
        flex-direction:column;
        align-items:flex-start;
        gap:20px;
    }

    .mg-final-price{
        font-size:40px !important;
    }

    .mg-footer,
    .mg-footer.review-footer{
        grid-template-columns:1fr;
    }
}