body{
    background:#f5f5f7;
    font-family:'Segoe UI',sans-serif;
    margin:0;
}

/* HEADER */

.mobile-header{
    background:#fff;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:sticky;
    top:0;
    z-index:999;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.back-btn{
    position:absolute;
    left:18px;
    color:#111;
    font-size:28px;
    text-decoration:none;
}

.page-title{
    font-size:24px;
    font-weight:700;
    color:#222;
}

/* BANNER */

.info-banner{
    background:linear-gradient(135deg,#6c4cff,#5134ff);
    color:#fff;
    padding:14px;
    border-radius:14px;
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:600;
    margin-bottom:18px;
}

.info-banner i{
    font-size:22px;
}

/* STEP BAR */

.step-bar{
    text-align:center;
    margin-bottom:20px;
    font-size:14px;
    font-weight:600;
}

.step-bar span{
    color:#a0a0a0;
}

.step-bar .active{
    color:#6c4cff;
}

.step-bar i{
    color:#c7c7c7;
    margin:0 8px;
}

/* DEVICE CARD */

.device-card{
    background:#f2edff;
    border:2px solid #6c4cff;
    border-radius:24px;
    padding:15px;
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:30px;
}

.device-img{
    width:60px;
    height:60px;
    object-fit:contain;
}

.device-name{
    font-size:28px;
    font-weight:700;
    color:#6c4cff;
    margin-top: -9px;
}

/* SECTION */

.section-title{
    font-size:34px;
    font-weight:800;
    color:#111;
    margin-bottom:5px;
}

.section-subtitle{
    color:#888;
    margin-bottom:25px;
}

/* ISSUE CARD */

.issue-link{
    text-decoration:none;
}

.issue-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 5px 18px rgba(0,0,0,.08);
    transition:.3s;
    height:100%;
}

.issue-card:hover{
    transform:translateY(-5px);
}

.image-box{
    position:relative;
}

.issue-image{
    width:100%;
    height:170px;
    object-fit:cover;
}

.time-badge{
    position:absolute;
    left:0;
    bottom:0;
    background:#6c4cff;
    color:#fff;
    padding:8px 12px;
    border-top-right-radius:14px;
    font-size:12px;
    font-weight:600;
}

.card-content{
    padding:15px;
}

.issue-name{
    font-size:20px;
    font-weight:700;
    color:#111;
}

.issue-price{
    color:#6c4cff;
    font-weight:700;
    margin-top:6px;
    font-size:16px;
}

.market-price{
    margin-left:8px;
    font-size:16px;
    font-weight:400;
    color:#999;
}

.market-price del{
    color:#999;
}

.market-price-popup{
    margin-top:5px;
    font-size:14px;
    color:#999;
}

.market-price-inline{
    font-size:16px;
    color:#999;
    font-weight:400;
}

.market-price-inline del{
    color:#999;
}

.market-price-popup del{
    color:#999;
}

.select-btn{
    margin-top:12px;
    width:100%;
    background:#6c4cff;
    border:none;
    color:#fff;
    padding:10px;
    border-radius:10px;
    font-weight:600;
}

.no-data{
    background:#fff3cd;
    border-radius:15px;
    padding:15px;
}

@media(max-width:768px){

    .container{
        padding-left:16px;
        padding-right:16px;
    }

    .page-title{
        font-size:18px;
    }

    .device-name{
        font-size:18px;
    }

    .section-title{
        font-size:24px;
    }

    .issue-image{
        height:130px;
    }

    .issue-name{
        font-size:16px;
    }

    .issue-price{
        font-size:14px;
    }
}

.openIssueModal{
    cursor:pointer;
}

.modal-content{
    border:none;
    border-radius:20px;
}

.symptom-list{
    list-style:none;
    padding-left:0;
    margin:0;
}

.symptom-list li{
    margin-bottom:10px;
}

.symptom-list li{
    margin-bottom:8px;
}

.book-service-btn{
    width:100%;
    background:#6c4cff;
    color:#fff;
    padding:12px;
    border:none;
    border-radius:12px;
    font-weight:700;
    text-decoration:none;
    text-align:center;
    display:block;
}

.book-service-btn:hover{
    background:#5134ff;
    color:#fff;
}

.modal-dialog{
    max-width:540px;
}

.modal-content{
    border:none;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 25px 60px rgba(0,0,0,.25);
}

.popup-header{
    background:linear-gradient(
        135deg,
        #6c4cff,
        #5134ff
    );
    padding:25px;
}

.popup-device{
    color:rgba(255,255,255,.8);
    font-size:13px;
    margin-bottom:5px;
}


.price-card{
    background:#f6f3ff;
    border:2px solid #e4ddff;
    border-radius:18px;
    padding:5px;
    text-align:center;
    margin-bottom:0px;
}

.price-label{
    color:#666;
    font-size:14px;
}

.price-value{
    font-size:20px;
    font-weight:800;
    color:#6c4cff;
}

.time-value{
    font-size:20px;
    font-weight:800;
    color:#22c55e;
}

.time-card{
    background:#eefaf4;
    border:2px solid #b8ebcb;
    border-radius:16px;
    padding:5px;
    margin-bottom:0px;
}

.time-card i{
    color:#22c55e;
}

.trust-box{
background:#f8fafc;
border:2px solid #b8ebcb;
border-radius:14px;
padding:14px;
}

.trust-item{
display:flex;
align-items:center;
gap:10px;
padding:8px 0;
font-size:14px;
color:#374151;
}

.trust-item:not(:last-child){
border-bottom:1px solid #eef2f7;
}

.trust-item i{
color:#22c55e;
font-size:16px;
flex-shrink:0;
}

.trust-item strong{
color:#111827;
font-weight:700;
}


.symptom-box{
    background:#fafafa;
    border-radius:16px;
    padding:15px;
    border: 2px solid #e4ddff;
}

.symptom-box h6{
    font-weight:700;
    margin-bottom:12px;
}

.symptom-list{
    margin:0;
}

.symptom-list li{
    margin-bottom:10px;
}

.no-advance{
    background:#ecfdf5;
    border:2px solid #b7efce;
    border-radius:16px;
    padding:15px;
    color:#166534;
    margin-top:0px;
}

.trust-row{
    display:flex;
    gap:12px;
    align-items:stretch;
}

.compact-box{
    flex:1;
}

.no-advance{
    background:#ecfdf5;
    border:2px solid #b7efce;
    border-radius:16px;
    padding:14px;
    color:#166534;

    display:flex;
    align-items:center;
    gap:10px;
}

.no-advance i{
    font-size:20px;
}

.no-advance strong{
    display:block;
    font-size:14px;
}

.no-advance small{
    display:block;
    font-size:12px;
    opacity:.8;
}

.trust-box{
    background:#f8fafc;
    border:2px solid #b8ebcb;
    border-radius:16px;
    padding:10px 14px;
}

.trust-item{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    padding:6px 0;
}

.trust-item:not(:last-child){
    border-bottom:1px solid #eef2f7;
}

.trust-item i{
    color:#22c55e;
}

@media(max-width:768px){

    .trust-row{
        flex-direction:column;
    }

}

.book-service-btn{
    width:100%;
    height:58px;
    border-radius:16px;
    background:linear-gradient(
        135deg,
        #6c4cff,
        #5134ff
    );
    color:#fff;
    font-size:18px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow:0 10px 25px rgba(108,76,255,.3);
}

/* FORM LABELS */

.form-label{
    display:block;
    font-size:15px;
    font-weight:600;
    color:#3f4a5a;
    margin-bottom:8px;
}

/* INPUTS */

.form-control,
.form-select{
    width:100%;
    height:52px;
    border:1.5px solid #d7dde8;
    border-radius:14px;
    background:#fff;
    padding:0 16px;
    font-size:15px;
    color:#111827;
    box-shadow:none;
    transition:all .25s ease;
}

/* TEXTAREA */

textarea.form-control{
    min-height:110px;
    padding:14px 16px;
    resize:none;
}

/* FOCUS EFFECT */

.form-control:focus,
.form-select:focus{
    border-color:#6c4cff;
    box-shadow:0 0 0 4px rgba(108,76,255,.10);
    outline:none;
}

/* PLACEHOLDER */

.form-control::placeholder{
    color:#a0a7b5;
}

/* ROW SPACING */

.form-group{
    margin-bottom:20px;
}

/* 2 COLUMN GRID */

.form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

/* 3 COLUMN GRID */

.form-grid-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

/* MOBILE */

@media(max-width:768px){

    .form-grid,
    .form-grid-3{
        grid-template-columns:1fr;
        gap:16px;
    }

}

.issue-card{
    cursor:pointer !important;
}

.book-service-btn:hover{
    color:#fff;
    transform:translateY(-2px);
}

/* ---------- SKELETON BASE ---------- */
.skeleton {
    background: #e9ecef;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

/* shimmer effect */
.skeleton::after {
    content: "";
    position: absolute;
    top: 0;
    left: -150px;
    height: 100%;
    width: 150px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.6),
        transparent
    );
    animation: shimmer 1.2s infinite;
}

@keyframes shimmer {
    100% {
        transform: translateX(450px);
    }
}

/* skeleton sizes */
.skeleton-box {
    height: 20px;
    margin-bottom: 10px;
}

.skeleton-img {
    height: 120px;
    width: 100%;
}

.skeleton-card {
    height: 180px;
    border-radius: 12px;
}

.issue-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 5px 18px rgba(0,0,0,.08);
    transition:.3s;
    height:100%;
    border:2px solid transparent;
}

.issue-card:hover{
    transform:translateY(-5px);
    border-color:#6c4cff;
}

/* SweetAlert2 timer progress bar theme color */
.swal2-timer-progress-bar {
    background: #5134ff !important; /* your theme color */
}

/* REVIEWS */

.reviews-section{
    margin-top:40px;
}

.reviews-heading{
    text-align:center;
    margin-bottom:25px;
}

.reviews-heading h3{
    font-weight:700;
    margin-bottom:8px;
}

.reviews-heading p{
    color:#6b7280;
    margin:0;
}

.review-card{
    background:#fff;
    border-radius:20px;
    padding:20px;
    border:2px solid transparent;
    box-shadow:0 5px 20px rgba(0,0,0,.06);
    transition:.3s;
    height:100%;
}

.review-card:hover{
    transform:translateY(-4px);
    border-color:#5134ff;
    box-shadow:0 10px 25px rgba(81,52,255,.15);
}

.review-header{
    display:flex;
    gap:12px;
    align-items:center;
    margin-bottom:15px;
}

.review-avatar{
    width:60px;
    height:60px;
    min-width:60px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #e5e7eb;
}

.device-avatar{
    object-fit:contain;
    padding:6px;
    background:#fff;
}

.placeholder-avatar{
    width:60px;
    height:60px;
    min-width:60px;
    border-radius:50%;
    background:#5134ff;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}

.review-name{
    font-weight:700;
}

.review-service{
    color:#5134ff;
    font-size:12px;
    font-weight:600;
}

.review-stars{
    color:#f59e0b;
    margin-top:4px;
}

.review-text{
    color:#555;
    line-height:1.7;
    font-size:14px;
}
