*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f5f5;
    color:#333;
    margin:0;
    padding:0;
}

a{
    text-decoration:none;
}

.container{
    width:1368px;
    max-width:100%;
    margin:0 auto;
    padding:0 15px;
}
/* ==========================
HEADER TOP
========================== */
.top-header{

    position:sticky;

    top:0;

    z-index:9999;

    background:#fff;
}
.header-top{
    background:#f1f1f1;
    height:46px;
}

.header-top .container{
    height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.top-feature{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    font-weight:600;
}

.top-feature i{
    color:#e60012;
    font-size:20px;
}

/* ==========================
HEADER MAIN
========================== */

.header-main{
    background:#e60012;
    padding:12px 0;
}

.header-main .container{
    display:flex;
    align-items:center;
    gap:12px;
}

.logo{
    flex-shrink:0;
}

.logo a{
    color:#fff;
    font-size:26px;
    font-weight:800;
    line-height:1;
}

.category-btn,
.location-btn{
    height:38px;
    padding:0 14px;
    background:rgba(255,255,255,.15);
    color:#fff;
    border-radius:10px;
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    flex-shrink:0;
}

/* ==========================
SEARCH
========================== */

.search-box{
    flex:1;
    max-width:none;
    position:relative;
}

.search-form{
    width:100%;
    height:40px;
    display:flex;
}

.search-form input{
    flex:1;
    border:none;
    outline:none;
    padding:0 0px;
    font-size:15px;
    border-radius:0;
}

.search-form button{
    width:50px;
    border:none;
    background:#fff;
    cursor:pointer;
    border-radius:0;
}

.search-form button i{
    color:#666;
    font-size:16px;
}

/* ==========================
ACTIONS
========================== */

.header-actions{
    display:flex;
    align-items:center;
    gap:18px;
    flex-shrink:0;
}

.header-actions a{
    color:#fff;
    display:flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    font-weight:600;
}

.login-btn{
    background:rgba(255,255,255,.15);
    padding:10px 15px;
    border-radius:10px;
}

/* ==========================
SEARCH RESULT
========================== */

.search-result-header{
    margin:25px 0;
}

.search-result-header h2{
    font-size:28px;
    margin-bottom:8px;
}

.search-result-header p{
    color:#777;
}

/* ==========================
PRODUCTS
========================== */

.product-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-bottom:30px;
}


.product-card:hover{
    transform:translateY(-3px);
}

.product-card img{
    width:100%;
    height:200px;
    object-fit:contain;
}

.product-card h3{
    margin-top:12px;
    font-size:14px;
    line-height:1.5;
}

.product-card h3 a{
    color:#222;
}

.price{
    color:#e60012;
    font-size:18px;
    font-weight:700;
    margin-top:10px;
}

.no-result{
    background:#fff;
    padding:20px;
    border-radius:10px;
    text-align:center;
    margin:20px 0;
}

/* ==========================
FOOTER
========================== */

.site-footer{
    background:#fff;
    padding:25px 0;
    margin-top:40px;
    border-top:1px solid #ddd;
}

.site-footer p{
    text-align:center;
}
.ai-content{
    font-size:16px;
    line-height:1.9;
    color:#333;
}

.ai-content h2{
    color:#e60012;
    font-size:24px;
    margin:35px 0 15px;
    padding-bottom:10px;
    border-bottom:2px solid #f1f1f1;
}

.ai-content p{
    margin-bottom:15px;
}

.ai-content ul{
    margin:15px 0;
    padding-left:25px;
}

.ai-content li{
    margin-bottom:10px;
}

.ai-content strong{
    color:#222;
}

.ai-content table{
    width:100%;
    border-collapse:collapse;
    margin:20px 0;
}

.ai-content table td,
.ai-content table th{
    border:1px solid #ddd;
    padding:10px;
}
/* =====================================
MOBILE
===================================== */
@media (max-width:768px){

    .container{
        width:100%;
        padding:0;
    }

    /* TOP BAR */

    .header-top{
        display:none;
    }

    /* HEADER */

    .header-main{
        padding:8px 0 10px;
    }

    .header-main .container{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        gap:8px;
    }

    /* LOGO */

    .logo{
        flex:1;
    }

    .logo a{
        font-size:22px;
    }

 

    /* SEARCH XUỐNG HÀNG */

    .search-box{
        width:100%;
        order:2;
    }

    .search-form{
        height:42px;
    }

    .search-form input{
        font-size:14px;
    }

    /* ACTIONS */

    .header-actions{
        display:flex;
        gap:6px;
        margin-left:auto;
    }

    .header-actions a{
        display:flex;
        width:40px;
        height:40px;
        justify-content:center;
        align-items:center;
        border-radius:10px;
        background:rgba(255,255,255,.15);
        font-size:12px;
    }

    .header-actions a span{
        display:none;
    }

    /* LOCATION */

    .location-btn{
        display:none;
    }

}
/* ==========================
HOME PAGE
========================== */

.hero-section h1{
    font-size:36px;
    margin-bottom:15px;
}

.hero-section p{
    font-size:17px;
    margin-bottom:20px;
}

.hero-btn{
    display:inline-block;
    background:#ff5722;
    color:#fff;
    padding:12px 25px;
    border-radius:6px;
    font-weight:bold;
}

/* FEATURES */

.feature-section{
    margin-bottom:40px;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}

.feature-item{
    background:#fff;
    border-radius:10px;
    padding:20px;
    text-align:center;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
}

.feature-item strong{
    display:block;
    color:#ff5722;
    font-size:24px;
    margin-bottom:5px;
}

/* TITLE */

.section-title{
    text-align:center;
    margin:40px 0 25px;
}

.section-title h2{
    font-size:30px;
    margin-bottom:10px;
}

.section-title p{
    color:#666;
}

/* SERVICES */
.service-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.service-row{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    overflow:hidden;

    display:grid;
    grid-template-columns:minmax(0,1fr) 90px;

    height:auto;

    box-shadow:0 2px 10px rgba(0,0,0,.06);

    transition:.25s;
}

.service-row:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 25px rgba(0,0,0,.12);
}

.service-content{
    min-width:0;
    padding:16px;
}

.service-content h3{
    font-size:18px;
    line-height:1.5;
    margin-bottom:8px;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.service-desc{
    font-size:14px;
    line-height:1.6;
    color:#666;

    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.service-icon{
    display:flex;
    justify-content:center;
    align-items:center;

    background:#f8fafc;
    border-left:1px solid #eee;
}

.service-icon i{
    font-size:55px;
}

.service-btn{
    margin-top:10px;

    display:inline-block;

    background:#08152f;
    color:#fff;

    padding:8px 14px;
    border-radius:6px;
}

@media(max-width:1200px){

    .service-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


/* CTA */

.cta-section{
    margin-top:50px;
    background:#ff5722;
    color:#fff;
    text-align:center;
    padding:50px 20px;
    border-radius:12px;
}

.cta-section h2{
    font-size:32px;
    margin-bottom:10px;
}

.cta-section a{
    color:#fff;
    font-size:30px;
    font-weight:bold;
}

/* ==========================
MOBILE
========================== */

@media(max-width:768px){

    .service-row{
        min-height:140px;
        height:auto;

        grid-template-columns:
                minmax(0,1fr)
                90px;
    }

    .service-content{
        padding:15px;
    }

    .service-content h3{
        font-size:15px;
        line-height:1.5;

        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    .service-desc{
        font-size:13px;

        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    .service-icon{
        width:90px;
    }

    .service-icon i{
        font-size:42px;
    }

    .service-btn{
        padding:8px 12px;
        font-size:13px;
    }

    .related-services .service-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
        overflow:visible;
    }

    .related-services .service-row{
        min-width:unset;
        width:100%;
        grid-template-columns:minmax(0,1fr) 70px;
        min-height:120px;
    }

    .related-services .service-icon i{
        font-size:36px;
    }
    .service-list-grid{
        display:block !important;
        overflow:visible !important;
    }

    .service-list-grid .service-row{
        width:100%;
        min-width:unset !important;
        margin-bottom:12px;
    }
}
.service-detail{
    max-width:1200px;
    margin:30px auto;
}

.detail-header{
    display:grid;
    grid-template-columns:1fr 500px;
    gap:30px;
    background:#fff;
    border-radius:20px;
    padding:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.detail-right img{
    width:100%;
    height:350px;
    object-fit:cover;
    border-radius:15px;
}

.detail-category{
    display:inline-block;
    background:#ff5722;
    color:#fff;
    padding:8px 15px;
    border-radius:50px;
    margin-bottom:15px;
    font-size:14px;
}

.detail-left h1{
    font-size:36px;
    line-height:1.4;
    margin-bottom:15px;
}

.detail-meta{
    display:flex;
    gap:20px;
    margin-bottom:20px;
    color:#666;
}

.detail-price{
    font-size:32px;
    font-weight:700;
    color:#ff5722;
    margin-bottom:20px;
}

.detail-call-btn{
    display:inline-block;
    background:#081734;
    color:#fff;
    padding:14px 30px;
    border-radius:10px;
    font-weight:700;
}

.detail-content{
    margin-top:30px;
    background:#fff;
    padding:40px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.detail-content h2{
    margin-top:30px;
    margin-bottom:15px;
    color:#081734;
}

.detail-content h3{
    margin-top:20px;
    margin-bottom:10px;
}

.detail-content p{
    line-height:1.8;
    margin-bottom:15px;
}

.detail-content ul{
    padding-left:20px;
}

.detail-content li{
    margin-bottom:10px;
}

@media(max-width:768px){

    .detail-header{
        grid-template-columns:1fr;
    }

    .detail-right img{
        height:250px;
    }

    .detail-left h1{
        font-size:26px;
    }
}
.detail-right{
    display:flex;
    justify-content:center;
    align-items:center;
}

.detail-icon{
    width:300px;
    height:300px;

    border-radius:50%;

    background:
            linear-gradient(
                    135deg,
                    #f8fafc,
                    #e2e8f0
            );

    display:flex;
    align-items:center;
    justify-content:center;

    box-shadow:
            0 20px 50px rgba(0,0,0,.08);
}


.detail-icon i{
    font-size:180px;

    animation:
            serviceFloat 3s ease-in-out infinite;
}

@keyframes serviceFloat{

    0%{
        transform:
                translateY(0);
    }

    50%{
        transform:
                translateY(-12px);
    }

    100%{
        transform:
                translateY(0);
    }

}
/* ===========================
   404
=========================== */

.error-page{
    min-height:60vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:60px 20px;
}

.error-box{
    max-width:700px;
    text-align:center;
}

.error-code{
    font-size:110px;
    font-weight:800;
    color:#ff0000;
    line-height:1;
    margin-bottom:15px;
}

.error-box h1{
    font-size:34px;
    margin-bottom:15px;
    color:#222;
}

.error-box p{
    font-size:17px;
    color:#666;
    line-height:1.8;
    margin-bottom:35px;
}

.error-actions{
    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
}

.error-actions a{
    padding:13px 26px;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    transition:.25s;
}

.btn-home{
    background:#1976d2;
    color:#fff;
}

.btn-service{
    background:#2e7d32;
    color:#fff;
}

.btn-contact{
    background:#ff9800;
    color:#fff;
}

.error-actions a:hover{
    transform:translateY(-2px);
    opacity:.9;
}

@media(max-width:768px){

    .error-code{
        font-size:80px;
    }

    .error-box h1{
        font-size:28px;
    }

    .error-actions{
        flex-direction:column;
    }

    .error-actions a{
        width:100%;
    }

}
/* =====================================
   LINH KIỆN - DANH MỤC
===================================== */

.parts-page{
    max-width:1400px;
    margin:0 auto;
    padding:40px 20px;
}

.parts-header{
    text-align:center;
    margin:25px 0 40px;
}

.parts-header h1{
    margin:0;
    font-size:42px;
    font-weight:900;
}

.parts-header h1::before{
    content:"⚙";
    margin-right:12px;
}

.parts-header p{
    margin-top:10px;

    color:#666;

    font-size:14px;
}

.parts-header p::before{
    content:"📋 ";
}

.parts-search{
    margin-bottom:25px;
}

.parts-search input{
    width:100%;
    height:60px;
    padding:0 20px;
    border:none;
    border-radius:15px;
    font-size:16px;
    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.parts-search input:focus{
    outline:none;
}

.parts-category-list{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.parts-category-box{
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.parts-category-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 20px;
    cursor:pointer;
    transition:.2s;
}

.parts-category-item:hover{
    background:#f8fafc;
}

.parts-category-left{
    display:flex;
    align-items:center;
    gap:15px;
}

.toggle-arrow{
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eff6ff;
    color:#2563eb;
    font-size:13px;
    font-weight:bold;
    cursor:pointer;
}

.parts-category-name{
    font-size:17px;
    font-weight:600;
    color:#111827;
}

.parts-category-total{
    color:#2563eb;
    font-weight:700;
}

.parts-preview-products{
    display:none;
    border-top:1px solid #eee;
    background:#fafafa;

    max-height:500px;
    overflow-y:auto;
}
.preview-product{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 20px;
    text-decoration:none;
    color:#333;
    border-bottom:1px solid #eee;
    transition:.2s;
}

.preview-product:hover{
    background:#f0f7ff;
}

.preview-product span:last-child{
    color:#dc2626;
    font-weight:600;
}

.preview-view-all{
    display:block;
    padding:15px 20px;
    text-decoration:none;
    color:#2563eb;
    font-weight:600;
}

/* =====================================
   DANH SÁCH SẢN PHẨM
===================================== */

.product-grid{
    display:grid;
    grid-template-columns:
            repeat(auto-fill,minmax(300px,1fr));
    gap:25px;
}

.product-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;

    transition:.25s;

    border:1px solid #c0c0c0;
}

.product-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.product-image{
    width:100%;
    height:320px;
    object-fit:contain;
    padding:10px;
    background:#fff;
}

.product-content{
    padding:20px;
}

.product-name{
    font-size:17px;
    font-weight:700;
    line-height:1.5;

    min-height:52px;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* =====================================
   GIÁ THAM KHẢO
===================================== */

.reference-price-box{
    margin-top:20px;
    padding:15px;
    border:2px dashed #f59e0b;
    border-radius:15px;
    background:#fffbeb;
    text-align:center;
}

.reference-label{
    color:#d97706;
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
}

.product-price{
    margin-top:8px;
    font-size:28px;
    font-weight:700;
    color:#dc2626;
}

.product-note{
    margin-top:15px;
    padding:15px;
    background:#fff7ed;
    border-left:4px solid #fb923c;
    border-radius:10px;
    font-size:13px;
    color:#7c2d12;
    line-height:1.7;
}

.product-note ul{
    margin:10px 0 0 18px;
    padding:0;
}

.product-note li{
    margin-bottom:5px;
}

/* =====================================
   BUTTON
===================================== */

.product-actions{
    display:flex;
    gap:10px;
    margin-top:20px;
}

.btn-book,
.btn-consult{
    flex:1;
    text-align:center;
    padding:12px;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
}

.btn-book{
    background:#2563eb;
    color:#fff;
}

.btn-consult{
    background:#16a34a;
    color:#fff;
}

/* =====================================
   CHI TIẾT LINH KIỆN
===================================== */

.part-detail{
    max-width:1200px;
    margin:40px auto;
    display:grid;
    grid-template-columns:450px 1fr;
    gap:40px;
}

.part-image img{
    width:100%;
    border-radius:15px;
    background:#fff;
    padding:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.part-info h1{
    font-size:32px;
    line-height:1.5;
    margin-bottom:20px;
}

.price-warning{
    margin-top:15px;
    padding:15px;
    border-left:4px solid #f59e0b;
    background:#fffbeb;
    border-radius:10px;
    color:#92400e;
    line-height:1.8;
}

.detail-actions{
    display:flex;

    gap:15px;
    margin-top:25px;
}

.detail-actions a{
    text-decoration:none;
    text-align:center;
    padding:15px;
    border-radius:10px;
    font-weight:600;
}

.detail-actions .btn-book{
    background:#2563eb;
    color:#fff;
}

.detail-actions .btn-consult{
    background:#16a34a;
    color:#fff;
}

/* =====================================
   MOBILE
===================================== */

@media(max-width:768px){

    .parts-page{
        padding:20px 10px;
    }

    .parts-header h1{
        font-size:28px;
    }

    .parts-category-name{
        font-size:15px;
    }

    .product-grid{
        grid-template-columns:1fr;
    }

    .part-detail{
        grid-template-columns:1fr;
    }

    .product-price{
        font-size:28px;
    }

    .product-actions{
        flex-direction:column;
    }

    .detail-actions{
        flex-direction:column;
    }

}
/* ===========================
   PART DETAIL
=========================== */

.part-detail-page{
    max-width:1400px;
    margin:0 auto;
    padding:40px 20px;
}

.part-detail-top{
    display:grid;
    grid-template-columns:500px 1fr;
    gap:40px;
    margin-bottom:40px;
}

.part-detail-image{
    background:#fff;
    border-radius:20px;
    padding:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.part-detail-image img{
    width:100%;
    height:auto;
    object-fit:contain;
}
.service-detail-icon{
    height:100%;
    min-height:500px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;
}

.service-detail-icon i{
    font-size:220px;
}
.no-image{
    height:400px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#999;
}

.part-category{
    display:inline-block;
    padding:8px 14px;
    background:#eef5ff;
    color:#0d6efd;
    border-radius:50px;
    font-size:14px;
    margin-bottom:15px;
}

.part-detail-info h1{
    font-size:34px;
    line-height:1.5;
    margin-bottom:20px;
}

.service-benefits{
    margin-top:20px;
    padding:20px;
    background:#f8fafc;
    border-radius:15px;
    line-height:2;
}



.part-section-title{
    font-size:24px;
    font-weight:700;
    margin-bottom:25px;
    padding-bottom:15px;
    border-bottom:1px solid #eee;
}
.related-services-header{
    margin:40px 0 25px;
}

.section-badge{
    display:inline-block;
    background:#e60012;
    color:#fff;
    font-size:12px;
    font-weight:700;
    padding:6px 12px;
    border-radius:30px;
    margin-bottom:10px;
}

.related-services-header h2{
    margin:0 0 8px;
    font-size:32px;
    font-weight:800;
    color:#111827;
}

.related-services-header p{
    margin:0;
    color:#6b7280;
    font-size:15px;
}
.related-products-title{
    display:flex;
    align-items:center;
    gap:15px;
    margin:40px 0 25px;
}

.related-products-title i{
    width:55px;
    height:55px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#e60012;
    color:#fff;

    border-radius:14px;

    font-size:24px;
}

.related-products-title h2{
    margin:0;
    font-size:30px;
    font-weight:800;
    color:#111827;
}

.related-products-title span{
    display:block;
    margin-top:4px;
    color:#6b7280;
    font-size:14px;
}
.description-content{
    line-height:1.8;
    font-size:16px;
}

.description-content img{
    max-width:100%;
    height:auto;
}

.description-content table{
    width:100%;
    border-collapse:collapse;
    margin:20px 0;
}

.description-content table td,
.description-content table th{
    border:1px solid #ddd;
    padding:10px;
}

.empty-description{
    padding:25px;
    background:#fff8e1;
    border-radius:10px;
    color:#856404;
}
.part-breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:15px;
    font-size:14px;
}

.part-breadcrumb a{
    color:#0d6efd;
    text-decoration:none;
}

.part-breadcrumb a:hover{
    text-decoration:underline;
}

.part-breadcrumb span{
    color:#999;
}
@media(max-width:992px){

    .part-detail-top{
        grid-template-columns:1fr;
    }

    .part-detail-info h1{
        font-size:26px;
    }
    .part-detail-top{
        display:block;
    }

    .part-detail-image{
        width:100%;
        min-width:0;
        max-width:100%;
        min-height:180px;
        margin-bottom:15px;
    }

    .service-detail-icon{
        width:100%;
        max-width:100%;
        min-height:180px;
        height:180px;
    }

    .service-detail-icon i{
        font-size:80px;
    }
}


/* ===========================
   RELATED PRODUCTS
=========================== */

.related-products{
    margin-top:50px;
}

.related-products h2{
    font-size:28px;
    margin-bottom:25px;
}
.service-menu{
    position:relative;
}

.service-dropdown{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:220px;
    background:#fff;
    border-radius:10px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    overflow:hidden;
    z-index:999;
}

.service-dropdown a{
    display:block;
    padding:12px 15px;
    color:#333;
    font-weight:600;
    border-bottom:1px solid #eee;
}

.service-dropdown a:hover{
    background:#f5f5f5;
}

.service-menu:hover .service-dropdown{
    display:block;
}
.product-specs{
    border:1px solid #e5e7eb;
    border-radius:10px;
    overflow:hidden;
    margin:20px 0;
}

.spec-row{
    display:flex;
    border-bottom:1px solid #eee;
}

.spec-row:last-child{
    border-bottom:none;
}

.spec-name{
    width:250px;
    background:#f8fafc;
    padding:12px 15px;
    font-weight:600;
}

.spec-value{
    flex:1;
    padding:12px 15px;
}


    .spec-name{
        width:auto;
    }

}
/* =========================
   CHI TIẾT SẢN PHẨM
========================= */

.product-detail-content{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:30px;
    line-height:1.8;
}

.product-detail-content h2{
    font-size:28px;
    margin:35px 0 20px;
    color:#0d6efd;
    border-left:5px solid #0d6efd;
    padding-left:15px;
}

.product-detail-content p{
    margin-bottom:18px;
    text-align:justify;
    color:#333;
}

/* =========================
   THÔNG SỐ KỸ THUẬT
========================= */

.product-specs{
    border:1px solid #e5e7eb;
    border-radius:10px;
    overflow:hidden;
    margin-top:20px;
    margin-bottom:25px;
}

.spec-row{
    display:flex;
    border-bottom:1px solid #eee;
}

.spec-row:last-child{
    border-bottom:none;
}

.spec-name{
    width:260px;
    background:#f8fafc;
    padding:14px 18px;
    font-weight:600;
    color:#111827;
}

.spec-value{
    flex:1;
    padding:14px 18px;
    color:#374151;
}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    .product-detail-content{
        padding:20px;
    }

    .product-detail-content h2{
        font-size:22px;
    }

    .spec-row{
        flex-direction:column;
    }

    .spec-name{
        width:auto;
        border-bottom:1px solid #eee;
    }

}
.box ul{
    margin:15px 0;
    padding-left:20px;
}

.box li{
    margin-bottom:10px;
    line-height:1.7;
}

#searchSuggest{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    border:1px solid #ddd;
    border-top:none;
    z-index:9999;
    display:none;
    max-height:500px;
    overflow:auto;
}


.search-item:hover{
    background:#f5f5f5;
}

.search-thumb{
    width:60px;
    height:60px;
    object-fit:contain;
    flex-shrink:0;
}

.search-info{
    flex:1;
}

.search-name{
    font-size:14px;
    line-height:1.4;
    margin-bottom:5px;
}


.search-empty{
    padding:15px;
    text-align:center;
}
.search-empty-box{
    max-width:700px;
    margin:40px auto;
    background:#fff;
    padding:40px;
    border-radius:12px;
    text-align:center;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.search-empty-icon{
    font-size:60px;
    margin-bottom:15px;
}

.search-empty-box h2{
    margin-bottom:15px;
    color:#222;
}

.search-empty-box p{
    color:#666;
    line-height:1.7;
    margin-bottom:10px;
}

.search-empty-actions{
    margin-top:25px;
    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
}
.services-home-block{
    background:#fff;
    margin:25px 0;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.services-home-layout{
    display:grid;
    grid-template-columns:28% 52% 20%;
    gap:15px;
    padding:15px;
}
.services-home-right{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.home-slider{
    position:relative;
    background:#000;
    height:100%;
    min-height:100%;
    overflow:hidden;
    border-radius:10px;

}

.home-slide{
    position:absolute;

    width:100%;
    height:100%;

    object-fit:cover;

    top:0;
    left:0;

    opacity:0;

    transition:opacity .8s ease-in-out;
}

.home-slide.active{
    opacity:1;
}

@media(max-width:991px){

    .services-home-layout{
        grid-template-columns:1fr;
    }

    .services-home-right{
        grid-template-columns:repeat(2,1fr);
    }

}
@media(max-width:1200px){

    .services-home-right{
        grid-template-columns:repeat(2,1fr);
    }

}
@media(max-width:576px){

    .services-home-right{
        grid-template-columns:1fr;
    }

}
.services-home-links{
    background:#fff;
    border:1px solid #eee;
    border-radius:10px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}

.services-home-links-header{
    background:#f8f8f8;
    padding:12px 15px;
    font-weight:700;
    color:#e60012;
    border-bottom:1px solid #eee;
    text-transform:uppercase;
    font-size:14px;
}

.services-home-links ul{
    list-style:none;
    margin:0;
    padding:0;
    flex:1;
}

.services-home-links li{
    border-bottom:1px dashed #eee;
}

.services-home-links li:last-child{
    border-bottom:none;
}

.services-home-links a{
    display:block;
    padding:10px 15px;
    color:#333;
    text-decoration:none;
    font-size:14px;
    line-height:1.4;
    transition:.2s;
}

.services-home-links a:hover{
    background:#fff4f4;
    color:#e60012;
    padding-left:20px;
}

.services-home-links a:before{
    content:"🔥 ";
}

.services-home-more{
    border-top:1px solid #eee;
    padding:12px;
    text-align:center;
}

.services-home-more a{
    display:block;
    background:#e60012;
    color:#fff;
    text-decoration:none;
    padding:10px;
    border-radius:6px;
    font-weight:600;
}
.services-home-title{

    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 25px;
    background:#e60012;
    color:#fff;
    font-size:24px;
    font-weight:700;
    position:relative;
    overflow:hidden;
}

.services-home-title::before{

    content:'';

    position:absolute;

    inset:0;

    background:
            repeating-linear-gradient(
                    -45deg,
                    rgba(255,255,255,.05),
                    rgba(255,255,255,.05) 12px,
                    transparent 12px,
                    transparent 24px
            );

    pointer-events:none;
}

.cat-main,
.cat-sub{

    position:relative;

    z-index:2;
}

.cat-main{

    font-size:28px;
    font-weight:700;
}

.cat-sub{

    font-size:14px;
    font-weight:600;
}
.service-section{

    display:flex;

    gap:30px;

    align-items:stretch;

    margin:50px 0;

    padding-bottom:30px;

    border-bottom:1px solid #eee;
}
.service-section h2{

    font-size:32px;

    line-height:1.3;

    color:#111;

    margin-bottom:25px;

    position:relative;

    padding-left:20px;
}
.service-section p{

    font-size:17px;

    line-height:1.9;

    color:#444;

    margin-bottom:18px;
}
.service-section h2:before{

    content:'';

    position:absolute;

    left:0;
    top:5px;

    width:6px;
    height:80%;

    border-radius:10px;

    background:
            linear-gradient(
                    #e60012,
                    #ff6b00
            );
}
.service-section-content{

    flex:1;
}

.service-section-image{

    width:400px;

    flex-shrink:0;

    display:flex;
}

.service-section-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:12px;

    box-shadow:
            0 8px 25px rgba(0,0,0,.12);
}
@media(max-width:768px){

    .service-section{

        flex-direction:column;
    }

    .service-section-image{

        width:100%;
    }

    .service-section-image img{

        height:auto;
    }

}

.hero-section{

    position:relative;

    height:480px;

    overflow:hidden;

    border-radius:0px;

    margin-bottom:40px;
}

.hero-video{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    object-fit:cover;
}

.hero-overlay{

    position:absolute;

    inset:0;

    background:
            linear-gradient(
                    rgba(0,0,0,.55),
                    rgba(0,0,0,.45)
            );
}

.hero-content{

    position:relative;

    z-index:2;

    max-width:900px;

    margin:0 auto;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    color:#fff;

    padding:40px;
}

.hero-badge{

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(10px);

    padding:10px 18px;

    border-radius:30px;

    margin-bottom:25px;

    font-size:14px;
}

.hero-content h1{

    font-size:60px;

    line-height:1.15;

    margin:0 0 20px;
}

.hero-content h1 span{

    display:block;

    color:#ffb347;
}

.hero-content p{

    font-size:22px;

    max-width:850px;

    margin-bottom:35px;

    opacity:.95;
}

.hero-actions{

    display:flex;

    gap:15px;

    margin-bottom:40px;
}

.hero-btn-primary{

    background:#ff5a1f;

    color:#fff;

    padding:15px 30px;

    border-radius:10px;

    text-decoration:none;

    font-weight:700;
}

.hero-btn-primary:hover{

    background:#ff3d00;
}

.hero-btn-secondary{

    background:rgba(255,255,255,.15);

    color:#fff;

    padding:15px 30px;

    border-radius:10px;

    text-decoration:none;

    backdrop-filter:blur(10px);
}

.hero-stats{

    display:flex;

    gap:60px;
}

.hero-stats div{

    text-align:center;
}

.hero-stats strong{

    display:block;

    font-size:34px;

    color:#ffb347;
}

.hero-stats span{

    font-size:14px;
}
@media(max-width:768px){

    .hero-content{

        padding:25px;
    }

    .hero-badge{

        font-size:12px;

        margin-bottom:15px;
    }

    .hero-content h1{

        font-size:46px;

        line-height:1.1;

        margin-bottom:15px;
    }

    .hero-content p{

        font-size:18px;

        line-height:1.5;

        margin-bottom:25px;
    }

    .hero-actions{

        width:100%;

        display:grid;

        grid-template-columns:1fr 1fr;

        gap:10px;
    }

    .hero-btn-primary,
    .hero-btn-book{

        padding:14px 10px;

        text-align:center;

        font-size:16px;
    }

    .hero-stats{

        gap:20px;
    }

    .hero-stats strong{

        font-size:24px;
    }

}
.parts-home-block{
    margin:30px 0;
    background:#fff;
    border-radius:16px;
    padding:20px;
    border:1px solid #eee;
    box-shadow:0 3px 15px rgba(0,0,0,.05);
    overflow:hidden;
}
.parts-tabs{
    display:flex;
    align-items:center;
    background:#fff;
    border-bottom:2px solid #4caf50;
    margin-bottom:20px;
}

.parts-tab-title{
    position:relative;
    background:#e60012;
    color:#fff;
    font-weight:700;
    padding:12px 20px;
    text-transform:uppercase;
}

.parts-tab-title:after{
    content:'';
    position:absolute;
    right:-30px;
    top:0;
    border-top:25px solid transparent;
    border-bottom:20px solid transparent;
    border-left:30px solid #333;
}

.parts-tab-list{
    display:flex;
    gap:25px;
    padding-left:45px;
    flex-wrap:wrap;
}

.parts-tab{
    cursor:pointer;
    font-size:16px;
    transition:.2s;
}

.parts-tab:hover{
    color:#e30019;
}

.parts-tab.active{
    color:#e30019;
    font-weight:700;
}
.parts-slider-wrapper{
    position:relative;
}

#parts-slider{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding:5px 10px 15px;
}

#parts-slider::-webkit-scrollbar{
    display:none;
}

/* dùng card cũ */

#parts-slider .product-card{
    min-width:260px;
    max-width:260px;
    flex:none;
}
.slider-btn{
    position:absolute;
    top:40%;
    width:46px;
    height:46px;
    border:none;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 15px rgba(0,0,0,.15);
    cursor:pointer;
    z-index:50;
    transition:.2s;
}

.slider-btn:hover{
    transform:scale(1.08);
}

.slider-prev{
    left:-23px;
}

.slider-next{
    right:-23px;
}
.parts-block-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.parts-block-title h2{
    margin:0;
    font-size:24px;
    font-weight:700;
}

.parts-block-title a{
    color:#e30019;
    font-weight:600;
    text-decoration:none;
}
.search-title{
    padding:10px 15px;
    background:#f5f5f5;
    font-weight:700;
    border-bottom:1px solid #eee;
}

.search-category{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#222;
    padding:10px 15px;

    border-bottom:1px solid #eee;

    cursor:pointer;
}

.search-category:hover{
    background:#fafafa;
}

.search-category i{
    color:#666;
}

.search-item{
    display:flex;
    gap:12px;

    padding:10px 15px;

    border-bottom:1px solid #eee;

    text-decoration:none;
}


.search-info{
    flex:1;
}

.search-price{
    color:#e60012;
    font-size:18px;
    font-weight:700;
    margin-top:4px;
}
@media(max-width:768px){

    #parts-slider{
        gap:12px;
        padding:5px 0 15px;
    }

    #parts-slider .product-card{
        min-width:170px;
        max-width:170px;
    }

    .product-image{
        height:130px;
        padding:10px;
    }

    .product-name{
        font-size:13px;
        min-height:42px;

        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    .product-price{
        font-size:24px;
    }
}
@media(max-width:768px){

    .parts-tabs{
        display:block;
        border-bottom:none;
    }

    .parts-tab-title{
        width:100%;
        text-align:center;
        font-size:18px;
        padding:15px;
    }

    .parts-tab-title:after{
        display:none;
    }

    .parts-tab-list{
        display:flex;
        flex-wrap:nowrap;

        overflow-x:auto;
        overflow-y:hidden;

        gap:15px;

        padding:10px 0;

        scrollbar-width:none;

        border-bottom:2px solid #4caf50;
    }

    .parts-tab-list::-webkit-scrollbar{
        display:none;
    }

    .parts-tab{
        flex:none;
        white-space:nowrap;
    }
}
@media(max-width:768px){

    .reference-price-box{
        padding:10px;
        margin-top:10px;
        border-radius:10px;
        text-align:center;
    }

    .reference-label{
        font-size:11px;
        letter-spacing:0;
        line-height:1.3;
        display:block;
        text-align:center;
    }

    .product-price{
        font-size:18px;
        margin-top:5px;
        line-height:1.2;
        text-align:center;
    }

}