/*
Theme Name: 汉广检测
Theme URI: 
Author: Enceka
Author URI: 
Description: Customized version styled after hangtest.com layout - corporate/business focused theme with floating header, service tabs, comparison sections, and more. Based on theme of Hangtest-Customized.
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.0.0
License: GNU General Public License v3.0 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: hangtest-customized
Tags: 
*/

/* =============================================
   CSS Variables & Reset
   ============================================= */
:root {
    --color-primary: #0056b3;
    --color-hover: #f5bd1e;
    --transition-3: all .2s linear;
    --transition-5: all .5s linear;
    --transition-8: all .8s linear;
    --transform-scale: scale(1.08);
}

*, body, img, p {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
* { outline: none; }

body {
    -ms-word-wrap: break-word;
    word-wrap: break-word;
    background-color: #fff;
    font-size: 15px;
    color: #333;
    font-family: "Microsoft YaHei", "Poppins", sans-serif;
    overflow-x: hidden;
    line-height: 1.6;
}

img { border: none; max-width: 100%; height: auto; }
a { text-decoration: none !important; color: inherit; }
a:hover { text-decoration: none !important; }
ul, ol { list-style: none; margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    color: #222;
    font-weight: bold;
    font-family: "Microsoft YaHei", sans-serif;
}

p { font-size: 15px; line-height: 1.8; margin-bottom: 1em; }

/* =============================================
   Skip Link
   ============================================= */
.skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    z-index: 99999;
    background: var(--color-primary);
    color: #fff;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 0 0 4px 0;
    transition: top 0.2s;
}
.skip-link:focus {
    top: 0;
    color: #fff;
    outline: 3px solid #fff;
    outline-offset: 2px;
}

/* =============================================
   Back to Top
   ============================================= */
.back-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    width: 50px;
    height: 50px;
    background: var(--color-primary);
    color: #fff;
    text-align: center;
    line-height: 48px;
    font-size: 24px;
    border-radius: 50%;
    cursor: pointer;
    display: none;
    z-index: 99;
    transition: background 0.3s;
}
.back-top:hover { background: #0052a3; }

/* =============================================
   Header - Floating Navigation
   ============================================= */
.header {
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    position: absolute;
    top: 25px;
    left: 10%;
    width: 80%;
    border-radius: 90px;
    z-index: 100;
    transition: all 0.3s ease;
}

.header.scroll-active {
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    border-radius: 0;
    z-index: 9999;
}
#headerPlaceholder {
    height: 80px;
}

.nav-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    position: relative;
}

.logo { display: flex; align-items: center; flex-shrink: 0; }
.logo img { height: 52px; }
.logo .site-logo { display: flex; align-items: center; }
.logo .site-logo img { height: 52px; max-width: 200px; }

.nav-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 80px;
    flex: 1;
}

.menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =============================================
   Mega Menu - hangtest.com style
   ============================================= */
.nav-item {
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    list-style: none !important;
}

.nav-item > a {
    display: block !important;
    padding: 0 20px !important;
    font-size: 18px !important;
    line-height: 80px !important;
    color: #333 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: color 0.3s;
}

.nav-item > a:hover {
    color: var(--color-primary) !important;
}

/* Mega dropdown panel */
.submenu.big-sub {
    display: none !important;
    position: absolute !important;
    top: 92px !important;
    left: 0 !important;
    width: 100% !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
    background: #fff !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.15) !important;
    border-radius: 12px !important;
    padding: 36px 60px !important;
    z-index: 9999 !important;
    white-space: normal !important;
}
.submenu.big-sub::-webkit-scrollbar {
    width: 6px;
}
.submenu.big-sub::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}
.submenu.big-sub::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}
.submenu.big-sub::-webkit-scrollbar-thumb:hover {
    background: #999;
}

.header.scroll-active .submenu.big-sub {
    top: 92px !important;
}

/* JS 控制 .submenu-active 类 */
.submenu.big-sub.submenu-active {
    display: flex !important;
    flex-wrap: wrap !important;
}

/* Each column - 4 per row */
.sub-col {
    flex: 0 0 25% !important;
    padding: 0 18px !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
}

.sub-col h4 {
    margin: 0 0 10px !important;
    padding: 0 0 0 10px !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--color-primary) !important;
    border-left: 3px solid var(--color-primary) !important;
}

.sub-col h4 a {
    color: var(--color-primary) !important;
    text-decoration: none !important;
}

.sub-col h4 a:hover {
    color: var(--color-primary) !important;
}

.sub-col ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sub-col ul li {
    list-style: none !important;
}

.sub-col ul li a {
    display: block !important;
    padding: 6px 0 !important;
    font-size: 16px !important;
    color: #555 !important;
    line-height: 1.6 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: color 0.2s;
}

.sub-col ul li a:hover {
    color: var(--color-primary) !important;
}

.menu-btn {
    display: none;
    font-size: 24px;
    cursor: pointer;
    color: #333;
}
.header.scroll-active .menu-btn { color: var(--color-primary); }

/* Mobile Menu */
.mobile-menu {
    position: fixed;
    top: 0;
    right: -280px;
    width: 280px;
    height: 100vh;
    background: var(--color-primary);
    z-index: 200;
    transition: right 0.3s ease;
    padding: 60px 20px;
    overflow-y: auto;
}
.mobile-menu.show { right: 0; }
.mobile-menu .mobile-nav { padding: 0; }
/* 覆盖桌面端基础规则 .nav-item / .nav-item > a 上的 !important，确保移动端配色与展开正常 */
.mobile-menu .nav-item { height: auto !important; display: block !important; }
.mobile-menu .nav-item > a {
    display: block !important;
    color: #fff !important;
    font-size: 16px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    line-height: 1.6 !important;
}
.mobile-menu .nav-item > a:hover {
    color: #fff !important;
}
.mobile-menu .submenu.big-sub {
    display: none !important;
    position: static !important;
    transform: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 0 0 16px !important;
    width: auto !important;
    max-width: none !important;
    background: rgba(255,255,255,0.1) !important;
}
.mobile-menu .nav-item.mobile-open > .submenu.big-sub {
    display: block !important;
}
.mobile-menu .sub-col {
    min-width: 0;
    padding: 4px 0;
    margin-bottom: 0;
}
.mobile-menu .sub-col h4 {
    font-size: 14px;
    color: rgba(255,255,255,0.85);
    border-bottom-color: rgba(255,255,255,0.2);
    margin: 4px 0 4px;
    padding: 4px 0;
}
.mobile-menu .sub-col h4 a { color: rgba(255,255,255,0.85) !important; }
.mobile-menu .sub-col ul li a {
    color: rgba(255,255,255,0.7) !important;
    font-size: 14px;
    padding: 4px 0;
}
.mobile-menu .sub-col ul li a:hover { color: #fff !important; }
.close-menu {
    position: absolute;
    top: 20px;
    right: 20px;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
}
.mask {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 199;
}
.mask.show { display: block; }

/* =============================================
   Banner / Hero Carousel
   ============================================= */
.banner-container {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
}
.banner-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease-in-out;
}
.banner-item {
    min-width: 100%;
    height: 100%;
    background-color: #003d80;
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 200px;
    color: #fff;
}
.banner-item.first-slide {
    justify-content: flex-start;
}
.banner-item.other-slide {
    justify-content: flex-end;
    padding-bottom: 120px;
}
.banner-item p {
    margin-top: 50px;
}
.banner-item h1 { font-size: 56px; margin-bottom: 10px; font-weight: normal; color: #fff; }
.banner-item h2 { font-size: 80px; margin-bottom: 15px; text-align: center; line-height: 1.5; font-weight: bold; color: #fff; }
.banner-item h3 { font-size: 56px; margin-bottom: 10px; font-weight: bold; color: #fff; }
.banner-item p { margin-top: 30px; }

.banner_btn,
.btn {
    padding: 15px 40px !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    border-radius: 10px !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
}
.btn-banner,
.btn-pr {
    background-color: #fff !important;
    color: var(--color-primary) !important;
}
.btn-banner:hover,
.btn-pr:hover {
    background-color: var(--color-hover) !important;
    color: #fff !important;
}
.btn-banner1,
.btn-se {
    background-color: var(--color-primary) !important;
    color: #ffffff !important;
    margin-left: 30px !important;
}
.btn-banner1:hover,
.btn-se:hover {
    background-color: var(--color-hover) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

.dots {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}
.dot {
    width: 30px;
    height: 4px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 90px;
    cursor: pointer;
    transition: background 0.3s;
}
.dot.active { background: white; transform: scale(1.2); }

/* Page Banner (non-homepage pages) */
.banner-nr {
    width: 100%;
    height: 300px;
    background-color: var(--color-primary);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.banner-inner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}
.banner-nr h1 {
    font-size: 46px;
    font-weight: bold;
    color: #fff;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* =============================================
   Service Section - Tabs + Card Grid
   ============================================= */
.main-container {
    display: flex;
    max-width: 1400px;
    margin: 50px auto;
    background: #FFF;
    min-height: 600px;
}

.sidebar {
    width: 240px;
    background-color: #fff;
    border-right: 1px solid #eee;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    margin-right: 10px;
}
.sidebar-header {
    background-color: var(--color-primary);
    color: #fff;
    padding: 20px 20px 10px 20px;
}
.sidebar-header h2 { font-size: 24px; margin-bottom: 5px; margin-top: 10px; color: #fff; }
.sidebar-header p { font-size: 12px; opacity: 0.8; color: #fff; }

.tab-list { list-style: none; padding-top: 10px; padding-left: 0; }
.tab-item {
    padding: 15px 30px;
    cursor: pointer;
    font-size: 18px;
    color: #333;
    transition: all 0.3s;
    position: relative;
    border-left: 4px solid transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.tab-item:hover { background-color: #f0f7ff; color: var(--color-primary); }
.tab-item.active {
    background-color: #e6f0fa;
    color: var(--color-primary);
    border-left-color: var(--color-primary);
    font-weight: bold;
}
.tab-item::after { content: '>'; font-size: 16px; color: #000; }
.tab-item:hover::after { color: var(--color-primary); }
.tab-item.active::after { color: var(--color-primary); }

.content-area {
    flex-grow: 1;
    padding: 20px;
    background-color: #fff;
    margin-left: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.tab-content { display: none; animation: fadeIn 0.5s ease; }
.tab-content.active { display: block; }
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}
.card_1 {
    background: #fff;
    height: 200px;
    border: 1px solid #eee;
    position: relative;
    transition: transform 0.2s;
    overflow: hidden;
    cursor: pointer;
}
.hot-card { grid-column: span 2; }
.service-grid .hot-card { grid-column: span 1; }
.hot-card::before {
    content: "HOT";
    font-size: 12px !important;
    color: #fff;
    position: absolute;
    right: 3px;
    top: 10px;
    transform: rotate(45deg);
    z-index: 2;
}
.hot-card::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 45px solid transparent;
    border-right: 45px solid transparent;
    border-bottom: 45px solid #E60012;
    transform: rotate(44deg);
    position: absolute;
    right: -40px;
    top: -10px;
    z-index: 1;
}
.card_1:hover { transform: translateY(-5px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.card-img {
    width: 100%;
    height: 100%;
    background-color: #888;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
}
.card-img::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    pointer-events: none;
}
.card-img img { width: 100%; height: 100%; object-fit: cover; }
.card_1 h3 {
    position: absolute;
    left: 12px;
    bottom: 12px;
    font-size: 18px;
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    z-index: 2;
    font-weight: normal;
}

/* =============================================
   Quote Section
   ============================================= */
.quote-section {
    position: relative;
    width: 100%;
    height: 240px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10%;
    color: #fff;
    overflow: hidden;
    background: linear-gradient(135deg, #003d80 0%, #0056b3 100%);
    background-size: cover;
    background-position: center;
}
.quote-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}
.quote-content {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 1400px;
    margin: 0 auto;
}
.quote-text { max-width: 600px; }
.quote-title { font-size: 36px; font-weight: 700; letter-spacing: 1px; margin-bottom: 16px; color: #fff; }
.quote-desc { font-size: 22px; line-height: 1.6; opacity: 0.9; font-weight: 300; color: #fff; }
.quote-buttons { display: flex; gap: 15px; margin-top: 20px; }

/* =============================================
   VS Comparison Section
   ============================================= */
.vs-section {
    text-align: center;
    padding: 30px 20px 30px;
    margin: 0 auto;
}
.vs-section h1, .vs-section h2 { font-size: 34px; color: #222; margin-bottom: 20px; font-weight: normal; }
.vs-section p { font-size: 18px; color: #555; line-height: 1.8; max-width: 900px; margin: 0 auto; }

.comparison-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px 20px;
    position: relative;
}
.contrast-card {
    width: 100%;
    max-width: 1350px;
    min-height: 536px;
    display: flex;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.left-col {
    flex: 1.4;
    padding: 50px 40px;
    color: #fff;
    z-index: 2;
    padding-right: 60px;
}
.right-col {
    flex: 0.8;
    padding: 50px 40px;
    color: #333;
    z-index: 2;
    padding-left: 60px;
}
.col-title {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 1px;
}
.left-col .col-title { color: #fff !important; }
.right-col .col-title { color: #333 !important; }

.compare-row {
    display: flex;
    margin-bottom: 25px;
    align-items: flex-start;
}
.label {
    width: 70px;
    font-size: 18px;
    font-weight: bold;
    opacity: 0.9;
    flex-shrink: 0;
    margin-top: 6px;
}
.left-col .label { color: #fff !important; }
.right-col .label { color: #333 !important; }
.icon {
    width: 24px; height: 24px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin-right: 15px; flex-shrink: 0;
    font-size: 14px; font-weight: bold;
    margin-top: 10px;
}
.icon-check { border: 1px solid rgba(255,255,255,0.6); color: #fff !important; }
.icon-cross { border: 1px solid #ccc; color: #999; }
.desc { font-size: 16px; line-height: 1.6; text-align: left; }
.left-col .desc { border-bottom: 1px solid #fff; padding-bottom: 5px; color: #fff !important; }
.right-col .desc { border-bottom: 1px solid #333; padding-bottom: 5px; color: #333 !important; }

/* =============================================
   Standardization Section
   ============================================= */
.standardization-section {
    width: 100%;
    padding: 60px 20px;
    background: linear-gradient(135deg, #003d80 0%, #0056b3 100%);
    background-size: cover;
    background-position: center;
    color: #fff;
}
.section-header { text-align: center; margin-bottom: 50px; }
.section-header h2 { font-size: 34px; font-weight: normal; letter-spacing: 1px; color: #fff; }

.std-grid {
    display: grid;
    max-width: 1400px;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
    gap: 30px;
    text-align: left;
}
.std-card {
    background: #ffffff;
    border-radius: 0 30px 0 0;
    padding: 40px 60px;
    display: flex;
    align-items: flex-start;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    color: #333;
}
.std-card:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0,0,0,0.15); }
.std-icon-wrapper {
    flex-shrink: 0;
    width: 64px; height: 64px;
    background-color: #1565c0;
    border-radius: 50%;
    display: flex; justify-content: center; align-items: center;
    margin-right: 40px; margin-top: 5%;
}
.std-icon-wrapper i { font-size: 28px; color: #ffffff; }
.std-content { flex: 1; }
.std-title { font-size: 24px; font-weight: normal; color: #1a1a1a; margin-bottom: 12px; line-height: 1.4; }
.std-desc { font-size: 18px; color: #666666; line-height: 1.6; text-align: justify; }

/* =============================================
   Quality Control Accordion
   ============================================= */
.quality-control-wrap {
    width: 100%;
    padding: 50px 20px;
    background: #ffffff;
}
.qc-title {
    text-align: center;
    font-size: 34px;
    color: #222222;
    margin-bottom: 40px;
    font-weight: 500;
}
.qc-accordion {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    height: 520px;
    overflow: hidden;
}
.accordion-item {
    flex: 1;
    height: 100%;
    position: relative;
    overflow: hidden;
    transition: all 0.5s ease-in-out;
    cursor: pointer;
    background-size: cover;
    background-position: center;
}
.accordion-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.85);
    transition: background 0.4s ease;
    z-index: 1;
}
.accordion-item:hover::before {
    background: rgba(0, 56, 120, 0.3);
}
.accordion-item.active::before {
    background: rgba(0, 56, 120, 0.75);
}
.accordion-item:nth-child(1) { margin-right: 2%; }
.accordion-item:nth-child(2) { margin-right: 2%; }
.accordion-item:nth-child(3) { margin-right: 2%; }
.accordion-item.active { flex: 3.2; }

.accordion-item .item-content-box {
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 100%;
    padding: 60px;
    color: #fff;
    opacity: 0;
    transition: opacity 0.4s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    z-index: 2;
}
.accordion-item.active .item-content-box { opacity: 1; }

.item-simple-title {
    position: absolute;
    left: 50%;
    top: 25%;
    transform: translate(-50%, -50%);
    font-size: 26px;
    color: #222;
    white-space: nowrap;
    transition: opacity 0.3s, color 0.3s;
    z-index: 2;
}
.accordion-item:hover .item-simple-title { color: #fff; }
.accordion-item.active .item-simple-title { opacity: 0; }

.item-content-box h3 { font-size: 24px; margin-bottom: 24px; font-weight: normal; color: #fff; }
.item-content-box p { font-size: 18px; line-height: 1.7; margin-bottom: 30px; max-width: 420px; color: #fff; }
.tag-group { display: flex; gap: 12px; flex-wrap: wrap; max-width: 340px; }
.tag-item { border: 1px solid #fff; padding: 8px 16px; font-size: 17px; color: #fff; }

.more-txt {
    position: absolute;
    left: 50%;
    top: calc(25% + 36px);
    transform: translateX(-50%);
    font-size: 18px;
    color: #222;
    transition: opacity 0.3s, color 0.3s;
    z-index: 2;
}
.accordion-item:hover .more-txt { color: #fff; }
.accordion-item.active .more-txt { opacity: 0; }

/* =============================================
   Customer Evaluation Section
   ============================================= */
.customer-eval-wrap {
    width: 100%;
    color: #333;
    position: relative;
    background: #fff;
}
.customer-eval-wrap::after {
    content: "";
    position: absolute;
    right: 0; top: 0;
    width: 100%; height: 100%;
    background-size: cover;
    z-index: -1;
    pointer-events: none;
    opacity: 0.3;
}
.customer-section {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    position: relative;
    overflow: hidden;
    color: #333;
}
.customer-left-panel {
    width: 50%;
    margin-right: 10%;
    margin-top: 50px;
    padding: 40px 0px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2;
}
.customer-title { font-size: 34px; font-weight: bold; margin-bottom: 30px; line-height: 1.2; color: #fff; }
.customer-desc-text { font-size: 18px; line-height: 1.8; margin-bottom: 20px; text-align: left; color: rgba(255,255,255,0.85); }

.customer-stats-row {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.customer-stat-item { display: flex; flex-direction: column; }
.customer-stat-num {
    font-size: 42px; font-weight: bold;
    font-family: Arial, sans-serif;
    line-height: 1; margin-bottom: 10px;
    display: flex; align-items: flex-start;
    color: #fff;
}
.customer-stat-num sup { font-size: 16px; margin-left: 2px; margin-top: 5px; }
.customer-stat-label { font-size: 20px; font-weight: 500; color: rgba(255,255,255,0.8); }

.customer-right-panel {
    width: 40%;
    padding-left: 20px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Logo scroll lines */
.eval-logo-wrap { width: 100vw; margin-left: calc(-50vw + 50%); padding: 30px 0 10px; }
.eval-logo-line { overflow: hidden; margin-bottom: 28px; }
.eval-logo-con { display: flex; gap: 16px; flex-wrap: nowrap; }
.eval-logo-card {
    width: 170px; height: 100px;
    background: #fff;
    border-radius: 12px;
    align-items: center; justify-content: center;
    flex-shrink: 0;
    position: relative;
    display: inline-block;
    cursor: pointer;
    overflow: hidden;
}
.eval-logo-card img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.img-overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(245, 189, 30, 0.8);
    display: flex;
    border-radius: 12px;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    opacity: 0;
    transition: 0.3s;
}
.eval-logo-card:hover .img-overlay { opacity: 1; }

.line1 .eval-logo-con { animation: toLeft 28s linear infinite; }
.line2 .eval-logo-con { animation: toRight 34s linear infinite; }
.line3 .eval-logo-con { animation: toLeft 32s linear infinite; }
@keyframes toLeft { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes toRight { 0%{transform:translateX(-50%)} 100%{transform:translateX(0)} }

/* =============================================
   News Section
   ============================================= */
.news-section {
    width: 100%;
    margin-top: 50px;
    padding: 0 20px 40px;
}
.news-header { text-align: center; margin-bottom: 40px; }
.news-title { font-size: 34px; font-weight: normal; color: #000; display: inline-block; }

.news-list-wrap {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
}
.news-item {
    width: calc(50% - 15px);
    background: #fff;
    border: 1px solid #e1e4e8;
    display: flex;
    align-items: center;
    padding: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
}
.news-item:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    border-color: #d0d7de;
    transform: translateY(-2px);
}
.news-thumb {
    width: 160px; height: 100px;
    background-color: #000;
    flex-shrink: 0;
    margin-right: 25px;
    overflow: hidden;
    border-radius: 4px;
}
.news-thumb img { width: 100%; height: 100%; object-fit: cover; }
.news-info { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.news-headline {
    font-size: 20px; font-weight: normal; color: #222; line-height: 1.5; margin-bottom: 15px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.news-date { font-size: 14px; color: #888; }

.news-footer { text-align: center; margin-top: 50px; padding-bottom: 20px; }
.news-btn-more {
    display: inline-block;
    background-color: var(--color-primary);
    color: #fff;
    padding: 12px 45px;
    font-size: 16px;
    border-radius: 2px;
    transition: background 0.3s;
}
.news-btn-more:hover { background-color: #004494; color: #fff; text-decoration: none; }

/* =============================================
   Discount Form
   ============================================= */
.discount-section {
    background: #222;
    color: white;
    padding: 30px 20px;
    text-align: center;
}
.discount-section h3 { font-size: 34px; color: #fff; }
.discount-form {
    max-width: 1400px;
    margin: 20px auto 0;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}
.discount-form input {
    padding: 12px 16px;
    border: none;
    font-size: 16px;
    flex: 1;
    min-width: 150px;
    outline: none;
    transition: box-shadow 0.3s;
}
.discount-form input:focus { box-shadow: 0 0 0 2px var(--color-primary); }
.btn-foot {
    background-color: var(--color-primary);
    color: #fff;
    padding: 12px 30px;
    font-size: 20px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    border-radius: 0;
}
.btn-foot:hover { background-color: var(--color-hover); color: #fff; }

/* 优惠表单 Contact Form 7 样式 */
.discount-form-cf7 {
    max-width: 1400px;
    margin: 20px auto 0;
}
.discount-form-cf7 .wpcf7 {
    max-width: 1400px;
    margin: 0 auto;
}
.discount-form-cf7 .wpcf7-form {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.discount-form-cf7 .wpcf7-form-control-wrap {
    flex: 1;
    display: block;
}
.discount-form-cf7 .wpcf7-text,
.discount-form-cf7 .wpcf7-email,
.discount-form-cf7 .wpcf7-tel,
.discount-form-cf7 textarea {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    border: none;
    font-size: 16px;
    margin: 0;
    box-sizing: border-box;
}
.discount-form-cf7 .wpcf7-text:focus,
.discount-form-cf7 .wpcf7-email:focus,
.discount-form-cf7 .wpcf7-tel:focus,
.discount-form-cf7 textarea:focus {
    box-shadow: 0 0 0 2px var(--color-primary);
    outline: none;
}
.discount-form-cf7 .wpcf7-submit {
    height: 52px;
    background-color: var(--color-primary);
    color: #fff;
    padding: 0 40px;
    font-size: 20px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    border-radius: 0;
    white-space: nowrap;
    box-sizing: border-box;
    margin: 0;
}
.discount-form-cf7 .wpcf7-submit:hover {
    background-color: var(--color-hover);
    color: #fff;
}
.discount-form-cf7 .wpcf7-label,
.discount-form-cf7 .wpcf7-response-output,
.discount-form-cf7 .screen-reader-response {
    display: none !important;
}

/* 必填项红色星号提示 */
.wpcf7-form-control-wrap:has(.wpcf7-validates-as-required) {
    position: relative !important;
}
.wpcf7-form-control-wrap:has(.wpcf7-validates-as-required)::before {
    content: "*";
    color: #e00;
    font-size: 16px;
    font-weight: bold;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    pointer-events: none;
}

/* =============================================
   Footer
   ============================================= */
.footer {
    background: #222;
    color: #aaa;
    padding: 30px 20px;
    font-size: 14px;
}
.footer-content {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
.footer-contact { flex: 1; }
.footer-contact a { color: #aaa; }
.footer-qr { display: flex; gap: 20px; }
.qr-item { text-align: center; color: #aaa; }
.qr-img { width: 100px; height: 100px; margin-bottom: 5px; overflow: hidden; }
.qr-img img { width: 100%; height: 100%; object-fit: cover; }
.foot_in { font-size: 24px; color: #fff; }
.footer-center {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin-right: 5%;
}
.footer-center img { height: 60px; margin-left: 30%; }
.footer-center .tt { margin-top: 11px; font-size: 16px; color: #aaa; }
.copyright {
    text-align: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #333;
    color: #aaa;
}
.copyright a { color: #aaa; }
.copyright a:hover { color: #fff; }

/* =============================================
   Content / Page Layout
   ============================================= */
.hangtest-customized-page-banner {
    position: relative;
    min-height: 220px;
    background-color: #1a2a3a;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}
.page-banner-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.55);
    z-index: 0;
}
.page-banner-inner {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 40px 0;
    width: 100%;
}
.page-banner-title {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.2;
}

/* Breadcrumb */
.hangtest-customized-breadcrumb { margin: 0; }
.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style: none;
    margin: 0; padding: 0; gap: 6px;
}
.breadcrumb-item { font-size: 14px; color: #fff; }
.breadcrumb-item a { color: #fff; text-decoration: none; transition: color 0.2s; }
.breadcrumb-item a:hover { color: var(--color-primary); text-decoration: none; }
.breadcrumb-item.active { color: var(--color-primary); font-weight: 600; }
.breadcrumb-sep { color: rgba(255, 255, 255, 0.7); font-size: 13px; }

/* =============================================
   Content / Page Layout
   ============================================= */
.post-wrapper { padding: 30px 0; }
.main-content { padding: 20px 0; }
.wrapper { margin: 0 auto; max-width: 1200px; }
.singlebox { padding: 25px; }

h1.entry-title, h1.page-title {
    font-size: 30px;
    text-align: center;
    color: #101010;
    font-weight: 500;
    padding: 10px 0;
}

.entry-content a { text-decoration: none; color: var(--color-primary); }

/* =============================================
   Pagination
   ============================================= */
.navigation { clear: both; padding: 20px 0; }
.pagination ul { list-style: none; margin: 20px 0; display: flex; gap: 5px; }
.pagination ul li a, .pagination ul li span {
    background: #eee;
    color: #333;
    padding: 8px 14px;
    display: inline-block;
    text-decoration: none;
}
.pagination ul li .current, .pagination ul li a:hover {
    background: var(--color-primary);
}

/* =============================================
   Breadcrumb
   ============================================= */
.breadcrumb-bar {
    background-color: #fff;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    color: #666;
}
.breadcrumb-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}
.breadcrumb-bar a {
    color: #666;
    text-decoration: none;
    transition: color 0.2s;
}
.breadcrumb-bar a:hover {
    color: var(--color-primary);
}
.breadcrumb-bar span {
    color: #999;
    margin: 0 5px;
}
.breadcrumb-bar .current {
    color: var(--color-primary);
    font-weight: 500;
}

/* =============================================
   Sidebar
   ============================================= */
#sidebar h3 { color: #000; font-size: 22px !important; }
#sidebar ul { list-style: none; margin: 0; }
#sidebar li { border-bottom: solid 1px #eee; padding: 9px 0; }
#sidebar li:last-child { border-bottom: none; }
#sidebar ul li a { color: #828282; font-size: 15px; }
#sidebar ul li a:hover { color: var(--color-primary); }
aside.widget { margin-bottom: 30px; }

/* Service Grid Cards */
.service-category-section {
    margin-bottom: 30px;
}
.service-category-title {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
}
.service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.service-card {
    display: block;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: transform 0.3s, box-shadow 0.3s;
    text-decoration: none !important;
    color: inherit;
}
.service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
.card-image-wrapper {
    width: 100%;
    padding-top: 100%;
    position: relative;
    overflow: hidden;
    background: #e8f0fe;
}
.card-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}
.service-card:hover .card-image {
    transform: scale(1.05);
}
.card-content {
    padding: 16px;
}
.card-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0;
    text-align: center;
}
@media (max-width: 768px) {
    .service-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 480px) {
    .service-grid { grid-template-columns: 1fr; }
}

/* Post List Grid */
.post-list-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.post-list-card {
    display: block;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: transform 0.3s, box-shadow 0.3s;
    text-decoration: none !important;
    color: inherit;
}
.post-list-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
.post-list-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.post-list-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}
.post-list-card:hover .post-list-thumb img {
    transform: scale(1.05);
}
.post-list-info {
    padding: 16px;
}
.post-list-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.post-list-date {
    font-size: 13px;
    color: #999;
    margin-bottom: 8px;
}
.post-list-excerpt {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (max-width: 768px) {
    .post-list-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 480px) {
    .post-list-grid { grid-template-columns: 1fr; }
}

.service-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
    padding: 20px 0;
}
.service-pagination a,
.service-pagination span {
    display: inline-block;
    padding: 8px 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #555;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s;
}
.service-pagination a:hover {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}
.service-pagination .current {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

/* =============================================
   Page with Sidebar Layout
   ============================================= */
.page-with-sidebar {
    display: flex;
    gap: 30px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    align-items: flex-start;
}
.page-with-sidebar > .main-content {
    flex: 1;
}
.page-with-sidebar .main-content .news-item {
    width: 100%;
}
@media (max-width: 768px) {
    .page-with-sidebar { flex-direction: column; }
}

/* =============================================
   Service Sidebar (New)
   ============================================= */
.service-sidebar-wrap {
    width: 300px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.service-sidebar-title {
    font-size: 22px;
    font-weight: bold;
    padding: 20px;
    border-bottom: 1px solid #eee;
    color: var(--color-primary);
    border-left: 3px solid var(--color-primary);
}
.service-sidebar-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.svc-menu-item {
    border-bottom: 1px solid #f0f0f0;
    list-style: none;
}
.svc-menu-header {
    padding: 15px 30px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    transition: background 0.3s;
    color: #000;
}
.svc-menu-header .svc-cat-link {
    color: #000;
    text-decoration: none;
}
.svc-menu-header:hover .svc-cat-link {
    color: var(--color-primary);
}
.svc-menu-header:hover {
    background-color: #f8f9fa;
    color: var(--color-primary);
}
.svc-arrow {
    font-size: 20px;
    color: #999;
    transition: transform 0.3s ease;
}
.svc-menu-item.open .svc-arrow {
    transform: rotate(90deg);
}
.svc-submenu {
    max-height: 0;
    overflow: hidden;
    background-color: #fcfcfc;
    transition: max-height 0.3s ease-out;
    padding-left: 0;
    margin: 0;
    list-style: none;
}
.svc-submenu li a {
    display: block;
    padding: 10px 20px 10px 40px;
    font-size: 16px;
    color: #000;
    border-left: 3px solid transparent;
    text-decoration: none;
    transition: all 0.2s;
}
.svc-submenu li a:hover {
    color: var(--color-primary);
    background-color: #f0f7ff;
    border-left-color: var(--color-primary);
}
.svc-submenu li.active a {
    color: var(--color-primary);
    background-color: #f0f7ff;
    border-left-color: var(--color-primary);
}
.service-sidebar-ad {
    width: 260px;
    margin: 20px auto 0;
}
.service-sidebar-ad img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}
.service-sidebar-form {
    padding: 20px;
}
.service-sidebar-form h3 {
    color: var(--color-primary);
    border-left: 3px solid var(--color-primary);
    padding: 10px 15px;
    font-size: 22px;
    margin-bottom: 15px;
}
.service-sidebar-form .form-row {
    margin-bottom: 12px;
}
.service-sidebar-form .form-row label {
    display: block;
    font-size: 14px;
    color: #333;
    margin-bottom: 4px;
}
.service-sidebar-form .form-row label i {
    color: red;
    font-style: normal;
}
.service-sidebar-form .form-row input,
.service-sidebar-form .form-row textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    box-sizing: border-box;
}
.service-sidebar-form .form-row input:focus,
.service-sidebar-form .form-row textarea:focus {
    border-color: var(--color-primary);
    outline: none;
}
.service-sidebar-form .form-submit {
    text-align: center;
    margin-top: 15px;
}
.service-sidebar-form .form-submit button {
    width: 100%;
    padding: 10px;
    background: #114e98;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s;
}
.service-sidebar-form .form-submit button:hover {
    background: var(--color-hover);
}

/* WPForms 侧边栏表单样式覆盖 */
.service-sidebar-form .wpforms-container {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.service-sidebar-form .wpforms-container .wpforms-field {
    margin-bottom: 12px !important;
    padding: 0 !important;
    width: 100% !important;
}
.service-sidebar-form .wpforms-container label.wpforms-field-label {
    display: block !important;
    font-size: 14px !important;
    color: #333 !important;
    margin-bottom: 4px !important;
    font-weight: normal !important;
    padding: 0 !important;
}
.service-sidebar-form .wpforms-container input[type="text"],
.service-sidebar-form .wpforms-container input[type="tel"],
.service-sidebar-form .wpforms-container input[type="email"],
.service-sidebar-form .wpforms-container input[type="number"],
.service-sidebar-form .wpforms-container input[type="url"],
.service-sidebar-form .wpforms-container textarea,
.service-sidebar-form .wpforms-container select {
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    margin: 0 !important;
}
.service-sidebar-form .wpforms-container input:focus,
.service-sidebar-form .wpforms-container textarea:focus,
.service-sidebar-form .wpforms-container select:focus {
    border-color: var(--color-primary) !important;
    outline: none !important;
    box-shadow: none !important;
}
.service-sidebar-form .wpforms-submit-container {
    text-align: center !important;
    margin-top: 15px !important;
}
.service-sidebar-form .wpforms-submit-container button,
.service-sidebar-form .wpforms-submit-container input[type="submit"] {
    width: 100% !important;
    padding: 10px !important;
    background: #114e98 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: background 0.3s !important;
}
.service-sidebar-form .wpforms-submit-container button:hover,
.service-sidebar-form .wpforms-submit-container input[type="submit"]:hover {
    background: var(--color-primary) !important;
}
.service-sidebar-form .wpforms-description,
.service-sidebar-form .wpforms-confirmation-container {
    font-size: 13px !important;
}

/* 侧边栏表单 Contact Form 7 样式 */
.service-sidebar-form .wpcf7 {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.service-sidebar-form .wpcf7-form {
    display: block !important;
}
.service-sidebar-form .wpcf7-form-control-wrap {
    display: block !important;
    margin-bottom: 5px !important;
}
.service-sidebar-form .wpcf7-text,
.service-sidebar-form .wpcf7-tel,
.service-sidebar-form .wpcf7-email,
.service-sidebar-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    margin: 0 !important;
}
.service-sidebar-form .wpcf7-text:focus,
.service-sidebar-form .wpcf7-tel:focus,
.service-sidebar-form .wpcf7-email:focus,
.service-sidebar-form textarea:focus {
    border-color: var(--color-primary) !important;
    outline: none !important;
    box-shadow: none !important;
}
.service-sidebar-form .wpcf7-submit {
    width: 100% !important;
    padding: 10px !important;
    background: #114e98 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    cursor: pointer !important;
    margin-top: 5px !important;
    transition: background 0.3s !important;
}
.service-sidebar-form .wpcf7-submit:hover {
    background: var(--color-primary) !important;
}
.service-sidebar-form .wpcf7-label,
.service-sidebar-form .wpcf7-response-output,
.service-sidebar-form .screen-reader-response {
    display: none !important;
}

/* 加急报价弹窗 - hangtest.com 风格 */
.quote-popup-mask {
    display: none;
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: #000;
    opacity: 0.2;
    z-index: 9999;
}
.quote-popup-mask.show {
    display: block;
}
.quote-popup-box {
    display: none;
    width: 550px;
    background-color: #fff;
    border-radius: 18px;
    position: fixed;
    left: 0; right: 0; top: 50%;
    transform: translateY(-50%);
    overflow: hidden;
    margin: 0 auto;
    max-width: 96%;
    padding: 40px 54px 15px;
    text-align: center;
    z-index: 99999;
}
.quote-popup-box.show {
    display: block;
}
.quote-popup-box .tcbox3 {
    position: relative;
    z-index: 3;
}
.quote-popup-title {
    font-size: 38px;
    line-height: 1.3;
    color: var(--color-primary);
}
.quote-popup-close {
    font-size: 22px;
    line-height: 1.3;
    position: absolute;
    right: -33px; top: -33px;
    cursor: pointer;
    color: #666;
}
.quote-popup-close:hover { color: var(--color-hover, #f5bd1e); }
.quote-popup-desc {
    font-size: 32px;
    line-height: 1.3;
    padding-top: 9px;
    margin-bottom: 30px;
    color: #333;
}
.quote-popup-box .wpforms-container {
    margin: 0 !important;
    padding: 0 !important;
}
.quote-popup-box .wpforms-field {
    margin-bottom: 0 !important;
}
.quote-popup-box label.wpforms-field-label {
    display: block !important;
    font-size: 14px !important;
    color: #333 !important;
    margin-bottom: 4px !important;
    font-weight: normal !important;
}
.quote-popup-box input[type="text"],
.quote-popup-box input[type="tel"],
.quote-popup-box textarea {
    width: 100% !important;
    max-width: 100% !important;
    height: 52px !important;
    padding: 0 20px !important;
    margin-top: -2px !important;
    border: 1px solid var(--color-primary) !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
}
.quote-popup-box textarea {
    height: 100px !important;
    padding: 12px 20px !important;
}
.quote-popup-box input:focus,
.quote-popup-box textarea:focus {
    border-color: var(--color-primary) !important;
    outline: none !important;
    box-shadow: none !important;
}
.quote-popup-box .wpforms-submit-container {
    margin-top: 0 !important;
}
.quote-popup-box .wpforms-submit-container button,
.quote-popup-box .wpforms-submit-container input[type="submit"] {
    width: 100% !important;
    height: 52px !important;
    background: var(--color-primary) !important;
    color: #fff !important;
    border: 0 !important;
    margin-top: 22px !important;
    border-radius: 8px !important;
    font-size: 20px !important;
    cursor: pointer !important;
    transition: background 0.3s !important;
}
.quote-popup-box .wpforms-submit-container button:hover,
.quote-popup-box .wpforms-submit-container input[type="submit"]:hover {
    background: var(--color-hover, #f5bd1e) !important;
}

/* 加急报价弹窗 - Contact Form 7 样式 */
.quote-popup-box .wpcf7 {
    margin: 0 !important;
    padding: 0 !important;
}
.quote-popup-box .wpcf7-form {
    display: block !important;
}
.quote-popup-box .wpcf7-form-control-wrap {
    display: block !important;
    margin-bottom: 12px !important;
}
.quote-popup-box .wpcf7-form-control-wrap .wpcf7-text,
.quote-popup-box .wpcf7-form-control-wrap .wpcf7-tel,
.quote-popup-box .wpcf7-form-control-wrap .wpcf7-email,
.quote-popup-box .wpcf7-text,
.quote-popup-box .wpcf7-tel,
.quote-popup-box .wpcf7-email {
    width: 100% !important;
    max-width: 100% !important;
    height: 52px !important;
    padding: 0 20px !important;
    margin-top: 0 !important;
    border: 1px solid var(--color-primary) !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
}
.quote-popup-box textarea,
.quote-popup-box .wpcf7-textarea,
.quote-popup-box textarea.wpcf7-form-control,
.quote-popup-box .wpcf7-form-control.wpcf7-textarea {
    width: 100% !important;
    max-width: 100% !important;
    height: 80px !important;
    min-height: 80px !important;
    padding: 12px 20px !important;
    margin-top: 0 !important;
    border: 1px solid var(--color-primary) !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
    resize: none !important;
}
.quote-popup-box .wpcf7-text:focus,
.quote-popup-box .wpcf7-tel:focus,
.quote-popup-box .wpcf7-email:focus,
.quote-popup-box textarea:focus {
    border-color: var(--color-primary) !important;
    outline: none !important;
    box-shadow: none !important;
}
.quote-popup-box .wpcf7-submit {
    width: 100% !important;
    height: 52px !important;
    background: var(--color-primary) !important;
    color: #fff !important;
    border: 0 !important;
    margin-top: 0 !important;
    border-radius: 8px !important;
    font-size: 20px !important;
    cursor: pointer !important;
    transition: background 0.3s !important;
}
.quote-popup-box .wpcf7-submit:hover {
    background: var(--color-hover, #f5bd1e) !important;
    color: #fff !important;
}
.quote-popup-box .wpcf7-label,
.quote-popup-box .wpcf7-response-output,
.quote-popup-box .screen-reader-response {
    display: none !important;
}

@media (max-width: 768px) {
    .service-sidebar-wrap { display: none; }
}

/* =============================================
   Blog / Post Styles
   ============================================= */
@media (max-width: 768px) {
    .nav-links { display: none; }
    .menu-btn { display: block; }
    .header { position: fixed; top: 0; left: 0; width: 100%; border-radius: 0; }
    .banner-container { height: 70vh; }
    .banner-item { height: 70vh; padding-bottom: 60px; }
    .banner-item.other-slide { padding-bottom: 70px; }
    .banner-item h1 { font-size: 28px; }
    .banner-item h2 { font-size: 32px; }
    .banner-item h3 { font-size: 24px; }

    .main-container { flex-direction: column; margin: 10px; }
    .sidebar { width: 100%; border-right: none; border-bottom: 1px solid #eee; }
    .content-area { padding: 15px; }
    .card-grid { grid-template-columns: repeat(2, 1fr); }
    .card-grid .hot-card { grid-column: span 2 !important; }
    .service-grid .hot-card { grid-column: span 1 !important; }

    .tab-list { display: flex; flex-wrap: wrap; }
    .tab-item { flex: 0 0 25%; padding: 12px 4px; font-size: 13px; justify-content: center; }

    .quote-section { height: auto; padding: 40px 20px; background-size: cover; background-position: center; }
    .quote-content { flex-direction: column; text-align: center; align-items: center; }
    .quote-text { margin-bottom: 20px; }
    .quote-buttons { justify-content: center; margin-top: 20px; }
    .quote-buttons .btn-se { margin-left: 0 !important; }
    .btn { padding: 12px 26px !important; font-size: 16px !important; }

    .std-grid { grid-template-columns: 1fr; }
    .std-card { padding: 24px 20px; }
    .section-header h2, .qc-title, .news-title { font-size: 24px; }

    .qc-accordion {
        flex-direction: column;
        height: auto;
        overflow: visible;
    }
    .accordion-item {
        flex: none;
        width: 100%;
        min-height: 70px;
        height: 70px;
        margin-right: 0 !important;
        margin-bottom: 8px;
        border-radius: 8px;
        overflow: hidden;
        position: relative;
    }
    .accordion-item.active {
        min-height: auto;
        height: auto;
        flex: none;
    }
    .accordion-item .item-content-box {
        position: relative;
        padding: 20px;
        height: auto;
        background: rgba(0, 56, 120, 0.85);
    }
    .accordion-item .item-simple-title {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        padding: 15px 20px;
        font-size: 18px;
        white-space: normal;
        color: #fff;
    }
    .accordion-item .more-txt {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        padding: 0 20px 10px;
        font-size: 14px;
        color: #fff;
    }
    .accordion-item .shrink-bg {
        display: block;
        width: 100%;
        height: 70px;
        object-fit: cover;
    }
    .accordion-item .open-bg {
        display: none;
    }
    .accordion-item.active .shrink-bg {
        display: none;
    }
    .accordion-item.active .open-bg {
        display: block;
        width: 100%;
        height: 120px;
        object-fit: cover;
    }
    .accordion-item.active .item-simple-title,
    .accordion-item.active .more-txt {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        font-size: 20px;
        z-index: 2;
    }
    .accordion-item.active .more-txt {
        display: none;
    }

    .contrast-card { background: #fff !important; flex-direction: column; min-height: auto; }
    .left-col, .right-col { padding: 30px 20px; width: 100%; }
    .left-col { background-color: var(--color-primary); }
    .vs-badge { display: none; }
    .label { width: 40px; }

    .customer-section { flex-direction: column; }
    .customer-left-panel { width: 100%; padding: 20px; margin-right: 0; }
    .customer-right-panel { display: none; }
    .customer-stats-row { flex-wrap: wrap; row-gap: 18px; }
    .customer-stat-item { flex: 0 0 50%; align-items: center; }
    .customer-stat-num { font-size: 28px; }

    .news-item { width: 100%; display: flex; flex-direction: column; align-items: center; text-align: center; }
    .news-thumb { width: 100%; height: 160px; margin-right: 0; margin-bottom: 15px; }
    .content-area { margin-left: 0; }
    .eval-logo-wrap { width: 100%; margin-left: 0; }
    body { overflow-x: hidden; }

    .discount-section h3 { font-size: 22px; }
    .discount-form { flex-direction: column; }
    .discount-form input { width: 100%; }
    .discount-form-cf7 .wpcf7-form { flex-direction: column; }
    .discount-form-cf7 .wpcf7-submit { width: 100%; }

    .footer-content { flex-direction: column; text-align: center; }
    .footer-center { justify-content: center; margin-right: 0; }
    .footer-qr { justify-content: center; }
    .back-top { right: 15px; bottom: 15px; }
}

@media (max-width: 991px) {
    .banner-container { height: 85vh; }
    .banner-item { height: 85vh; padding-bottom: 80px; }
    .banner-item.other-slide { padding-bottom: 90px; }
}
@media (max-width: 575px) {
    .banner-item h1 { font-size: 22px; }
    .banner-item h2 { font-size: 26px; }
    .banner-item h3 { font-size: 20px; }
    .page-banner-title { font-size: 24px; }
    .card-grid { grid-template-columns: 1fr; }
    .tab-item { flex: 0 0 33.33%; }
    .customer-stat-item { flex: 0 0 50%; }
}

/* =============================================
   Blog / Post Styles
   ============================================= */
.blog-post-repeat { border-bottom: 1px solid #cccccc; margin-bottom: 40px; padding-bottom: 20px; }
.post-wrap h2 { font-size: 25px; font-weight: 600; }
.post-wrap h2 a { color: #000; }
.post-wrap p { font-size: 15px; color: #828282; }

.continue-read a {
    font-size: 15px; font-weight: 500; color: #fff;
    padding: 10px 15px; background: var(--color-primary);
    display: inline-block; text-decoration: none;
}
.continue-read a:hover { background: var(--color-hover); color: #000; }

.post-tags a {
    background: var(--color-primary); color: #000;
    padding: 4px 10px; margin: 3px; border-radius: 4px; display: inline-block;
}

/* Comments */
/* 官网无评论：隐藏文章页/列表页的「0 Comment」评论数标记（含图标） */
.entry-comments { display: none !important; }
/* 双保险：即便评论功能被意外开启，也隐藏评论区与「评论已关闭」提示 */
.comments-area, .no-comments { display: none !important; }
#comments h2.comments-title { font-size: 20px; font-weight: bold; border-top: 2px dotted #7e7e7e; }
#comments h3.comment-reply-title { font-size: 20px; font-weight: bold; clear: both; }
#comments input[type="text"], #comments input[type="email"], #comments textarea {
    padding: 12px 10px; font-size: 18px; margin: 20px 0 0 0;
    border: 1px solid #bcbcbc; width: 100%;
}
#comments input[type="submit"].submit {
    background: var(--color-primary); padding: 10px 60px;
    text-transform: uppercase; font-weight: bold; margin-top: 20px;
    color: #fff; border: none; cursor: pointer;
}
#comments input[type="submit"].submit:hover { background: var(--color-hover); }
.comment-list, ol.comment-list { list-style: none; margin-left: 0; }
.main-content #comments ol li { width: 100%; background: none; list-style: none; margin: 0 0 20px; display: inline-block; border: none; }

/* =============================================
   Responsive Embeds
   ============================================= */
.entry-content .alignwide { margin-left: -80px; margin-right: -80px; }
.entry-content .alignfull {
    margin-left: calc(-100vw / 2 + 100% / 2);
    margin-right: calc(-100vw / 2 + 100% / 2);
    max-width: 100vw;
}

/* Screen Reader */
.screen-reader-text {
    border: 0; clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%); height: 1px; margin: -1px;
    overflow: hidden; padding: 0; position: absolute; width: 1px;
}
.screen-reader-text:focus {
    background-color: #eee; clip: auto !important; clip-path: none;
    color: #444; display: block; font-size: 1em; height: auto;
    left: 5px; line-height: normal; padding: 15px 23px 14px;
    text-decoration: none; top: 5px; width: auto; z-index: 100000;
}

/* =============================================
   Container max-width
   ============================================= */
@media screen and (min-width: 1700px) and (max-width: 1900px) {
    .container { max-width: 1520px; }
}
@media screen and (min-width: 1920px) {
    .container { max-width: 1620px; }
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}
.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}
.row > [class*="col-"] { padding: 0 15px; }
.col-lg-3, .col-md-4, .col-md-5, .col-md-6, .col-lg-4, .col-lg-6, .col-lg-8, .col-12, .col-6 { position: relative; width: 100%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }

@media (min-width: 768px) {
    .col-md-2 { flex: 0 0 16.6667%; max-width: 16.6667%; }
    .col-md-3 { flex: 0 0 25%; max-width: 25%; }
    .col-md-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .col-md-5 { flex: 0 0 41.6667%; max-width: 41.6667%; }
    .col-md-6 { flex: 0 0 50%; max-width: 50%; }
    .col-md-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
}
@media (min-width: 992px) {
    .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
    .col-lg-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
    .col-lg-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
}

.align-self-center { align-self: center; }
.text-center { text-align: center; }
.text-lg-end { text-align: right; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }
.p-0 { padding: 0; }
.p-2 { padding: 0.5rem; }
.m-0 { margin: 0; }
.d-flex { display: flex; }
.justify-content-between { justify-content: space-between; }
.align-items-center { align-items: center; }
.clearfix::after { content: ""; display: table; clear: both; }

/* =============================================
   Side Float - 侧边浮窗
   ============================================= */
.youce {
    position: fixed;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 90px;
    z-index: 9990;
    padding-left: 10px;
}
.youce > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--color-primary);
    border-radius: 8px;
    padding: 18px 0 16px;
    font-size: 15px;
    text-align: center;
    line-height: 22px;
    color: #fff;
    box-shadow: 0 0 11px rgba(0,0,0,0.1);
    margin-bottom: 10px;
    text-decoration: none !important;
    transition: var(--transition-3);
}
.youce > a i {
    display: block;
    font-size: 22px;
    padding-bottom: 4px;
    line-height: 1;
    width: 100%;
    text-align: center;
    color: #fff;
}
.youce > a:hover {
    background-color: var(--color-hover);
}

.youce > .divbox {
    border-radius: 8px;
    color: #888;
    box-shadow: 0 0 11px rgba(0,0,0,0.1);
    padding: 8px 0 14px;
    font-size: 14px;
    text-align: center;
    background-color: #fff;
}
.youce > .divbox a {
    display: block;
    position: relative;
    transition: var(--transition-3);
    text-decoration: none !important;
    color: #888;
}
.youce > .divbox a:hover {
    color: var(--color-primary);
}
.youce > .divbox a .top {
    position: relative;
    transition: var(--transition-3);
    z-index: 222;
    background-color: #fff;
    padding: 18px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #888;
}
.youce > .divbox a i {
    display: block;
    font-size: 22px;
    line-height: 1;
    padding-bottom: 4px;
    width: 100%;
    text-align: center;
    color: #888;
}
.youce > .divbox a:hover .top,
.youce > .divbox a:hover i {
    color: var(--color-primary);
}
.youce > .divbox a:nth-last-child(1) {
    padding-top: 6px;
}
.youce > .divbox a:nth-last-child(1) i {
    padding-bottom: 0;
}
.youce > .divbox a:hover {
    color: var(--color-primary);
}
.youce .div {
    display: block;
    opacity: 0;
    right: -100%;
    z-index: 1;
    position: absolute;
    transition: all 0.3s ease;
}
.youce a.active .div {
    opacity: 1;
    right: calc(100% + 10px);
    transform: scale(1) translateY(-50%);
    top: 50%;
}
.youce .div1 {
    position: absolute;
    right: calc(100% + 15px);
    top: 0;
    background-color: #fff;
    width: 180px;
    transform: scale(0) translateY(-50%);
    padding: 18px 0;
    text-align: center;
    font-size: 14px;
    color: #555;
    border-radius: 8px;
    box-shadow: 0 0 11px rgba(0,0,0,0.1);
}
.youce .div1 span {
    display: block;
    color: var(--color-primary);
    font-size: 18px;
}
.youce .div1 img {
    display: block;
    margin: 8px auto 0;
    width: 100%;
    max-width: 90px;
}
.youce .div2 {
    position: absolute;
    right: calc(100% + 15px);
    top: 0;
    background-color: #fff;
    width: 180px;
    transform: scale(0) translateY(-50%);
    padding: 18px 0;
    text-align: center;
    font-size: 15px;
    color: #555;
    border-radius: 8px;
    box-shadow: 0 0 11px rgba(0,0,0,0.1);
}
.youce .div2 span {
    display: block;
    color: var(--color-primary);
    font-size: 18px;
}
.youce .div2 b {
    display: block;
    color: var(--color-primary);
    font-size: 20px;
}
.youce > .divbox a:nth-child(1) i {
    font-size: 24px;
}

@media (max-width: 1199px) {
    .youce { display: none; }
}

/* =============================================
   Service Page (single-sd_service) Styles
   ============================================= */

/* --- 产品头部 --- */
.product-header {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
}
.product-image {
    width: 300px;
    height: 300px;
    background-color: #eef2f6;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888;
    border-radius: 4px;
    flex-shrink: 0;
}
.product-info h1 {
    font-size: 26px;
    margin-bottom: 15px;
    color: #222;
}
.product-desc {
    font-size: 16px;
    color: #666;
    margin-bottom: 90px;
    text-align: justify;
    height: 80px;
}
.btn-consult {
    display: inline-block;
    background-color: var(--color-primary);
    color: #fff;
    padding: 10px 30px;
    border-radius: 25px;
    font-size: 16px;
    transition: background 0.3s;
}
.btn-consult:hover {
    background-color: var(--color-hover);
    color: #fff;
}

/* --- Tabs 标题 --- */
.tabs {
    border-bottom: 2px solid #eee;
    margin-bottom: 20px;
    margin-top: 20px;
}
.tab-btn {
    display: inline-block;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    color: #666;
}
.tab-btn.active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
    font-weight: bold;
    font-size: 22px;
    padding: 10px 0;
}

/* --- 检测目的模块 --- */
.page_md {
    max-width: 100%;
    margin: 0 auto;
    font-family: "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei", sans-serif;
}
.page_md__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
.page_md__card {
    background-color: #fff;
    display: flex;
    align-items: center;
    padding: 20px;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}
.page_md__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.page_md__img-box {
    flex: 0 0 180px;
    height: 110px;
    margin-right: 25px;
    overflow: hidden;
    border-radius: 4px;
}
.page_md__img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.page_md__content {
    flex: 1;
    margin-top: 15px;
}
.page_md__subtitle {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
}
.page_md__desc {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --- 检测项目模块 --- */
.page_lt {
    box-sizing: border-box;
    font-family: "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei", sans-serif;
    max-width: 100%;
    margin: 0 auto;
    padding: 10px 0;
}
.page_lt__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.page_lt__card {
    background-color: #fff;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}
.page_lt__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
.page_lt__img-wrapper {
    position: relative;
    height: 100px;
    width: 100%;
    overflow: hidden;
}
.page_lt__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.7);
    transition: transform 0.5s ease;
}
.page_lt__card:hover .page_lt__img {
    transform: scale(1.05);
}
.page_lt__overlay-title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    width: 90%;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
    z-index: 2;
}
.page_lt__content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.page_lt__row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    padding-bottom: 12px;
}
.page_lt__row:last-of-type {
    border-bottom: none;
    margin-bottom: 20px;
    padding-bottom: 0;
}
.page_lt__tag {
    font-size: 16px;
    color: #555;
    line-height: 1.8;
}
.page_lt__footer {
    margin-top: auto;
    border-top: 1px solid #eee;
    padding-top: 15px;
}
.page_lt__link {
    display: inline-flex;
    align-items: center;
    color: #d9534f;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s;
}
.page_lt__link:hover {
    color: #c9302c;
}
.page_lt__arrow {
    margin-left: 5px;
    font-size: 16px;
    line-height: 1;
}

/* --- 详细内容 --- */
.detail-text {
    margin-bottom: 20px;
}
.detail-text blockquote {
    border-bottom: 2px solid #eee;
    margin-bottom: 20px;
    margin-top: 20px;
}
.detail-text blockquote p {
    font-size: 16px;
    margin-bottom: 0;
}
.detail-text blockquote span {
    display: inline-block;
    font-family: "Microsoft YaHei", sans-serif !important;
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
    font-weight: bold;
    font-size: 22px !important;
    padding: 10px 0;
}
.detail-text p {
    font-family: "Microsoft YaHei", sans-serif !important;
    font-size: 16px !important;
    color: #555;
    margin-bottom: 10px;
}
.detail-text p span {
    font-family: "Microsoft YaHei", sans-serif !important;
    font-size: 16px !important;
}
.detail-text_sm p {
    color: #999;
    font-size: 14px;
    margin: 15px 0;
}

/* --- 样本范围 & 采集要求 --- */
.sample-collection-wrap {
    background: #f5f7fa;
    padding: 20px 25px;
    margin: 20px 0;
    border-radius: 8px;
}
.sample-collection-wrap .sample-section {
    margin-bottom: 0;
}
.sample-collection-wrap .collection-section {
    margin-top: 15px;
}
.sample-collection-title {
    font-weight: bold;
    font-size: 16px;
    color: #333;
    margin-bottom: 8px;
}
.sample-collection-item {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
    margin: 0 0 6px 0;
}
.sample-collection-item strong {
    color: #333;
}

/* --- 常见问题解答 --- */
.questionBox {
    border-radius: 4px;
    background-color: #f8f8f8;
    margin-top: 15px;
    position: relative;
}
.question-icon {
    width: 20px;
    height: 18px;
    position: absolute;
    top: 64px;
    left: 31px;
    background: url('assets/img/about/da.png') no-repeat 100% 100%;
    background-size: contain;
}
.question-icon-wen {
    width: 20px;
    height: 15px;
    position: absolute;
    top: 16px;
    left: 31px;
    background: url('assets/img/about/wen.png') no-repeat 100% 100%;
    background-size: contain;
}
.question-word1 {
    width: 950px;
    margin-left: 31px;
    margin-right: 32px;
    line-height: 36px;
    border-bottom: 1px solid #e0e0e0;
    font-weight: bold;
    font-size: 18px;
    padding: 6px 0;
    padding-left: 29px;
}
.question-word2 {
    margin-left: 60px;
    margin-right: 32px;
    line-height: 78px;
    color: #333;
    font-size: 16px;
    width: 920px;
    padding-bottom: 10px;
}
.question-word2 p {
    margin: 8px 0;
}

/* --- 汉广检测优势 --- */
.features-container {
    max-width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.feature-card {
    border: 1px solid var(--color-primary);
    border-radius: 12px;
    padding: 30px;
    display: flex;
    align-items: flex-start;
    background-color: #fff;
    transition: all 0.3s ease;
}
.feature-card:hover {
    box-shadow: 0 5px 15px rgba(77, 168, 107, 0.1);
    transform: translateY(-2px);
}
.icon-box {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    margin-right: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.icon-box img {
    width: 100%;
    height: 100%;
}
.text-content h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
}
.text-content p {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    text-align: justify;
    margin-bottom: 0;
}

/* --- 服务流程 --- */
.page_fw {
    background: #f5f9ff;
    padding: 20px;
    border-radius: 16px;
    max-width: 1700px;
}
.fw-item {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 18px;
    padding: 24px 22px;
    margin-bottom: 16px;
}
.fw-item:last-child {
    margin-bottom: 0;
}
.num-circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #90bcee;
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 20px;
    position: relative;
}
.num-circle::after {
    content: "";
    position: absolute;
    right: -20px;
    top: 0;
    height: 100%;
    width: 1px;
    border-left: 1px dashed #c9daf0;
}
.fw-text h3 {
    font-size: 20px;
    font-weight: bold;
}
.fw-text {
    font-size: 16px;
    color: #333;
    line-height: 1.5;
}

/* --- 在线咨询按钮 --- */
.djzx {
    cursor: pointer;
}

/* --- 爱番番「邀请」浮窗 (embed-invite-wrap) 强制置于右下角 --- */
.embed-invite-wrap,
body .embed-invite-wrap,
html .embed-invite-wrap {
    position: fixed !important;
    right: 16px !important;
    left: auto !important;
    bottom: 16px !important;
    top: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 2147483646 !important;
    /* 初始隐藏：爱番番注入时先用自身样式置于屏幕中央，JS 钉到右下角后再淡入，
       避免「先中间、后瞬移角落」的视觉跳动。opacity 由 footer.php 的 fixAdaInvite() 置 1 显示。 */
    opacity: 0 !important;
    transition: opacity .4s ease !important;
}

/* --- 响应式 --- */
@media (max-width: 1024px) {
    .page_lt__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    .page-with-sidebar { flex-direction: column; }
    .service-sidebar-wrap { width: 100%; order: 2; display: none; }
    .page-with-sidebar > .main-content { width: 100%; order: 1; }
    .product-header { flex-direction: column; }
    .product-image { width: 100%; height: 100%; }
    .product-desc { display: none; }
    .main-content { padding: 10px; }
    .question-word1 { width: auto; }
    .question-word2 { width: auto; }
    .page_md__grid { grid-template-columns: 1fr; }
    .page_lt__grid { grid-template-columns: 1fr; }
    .features-container { grid-template-columns: 1fr; }
}
