﻿/* ============================================================
   EZKEY /Part 电子元器件商城模块样式（独立样式文件）
   覆盖页面：首页 / 产品目录 / 分类列表 / 料号详情 / 品牌 / 品牌专区
            / 在线询价 / BOM配单 / 呆料回收 / 搜索
   设计基准：英文版原型 HTML（绿色主视觉 #2E7D32；首页 Hero 红色点缀 #c62828）
   说明：reset 已限定在 body.pk-page 内，不影响主站其他页面
   ============================================================ */

/* ===== 全局重置（作用域限定，避免污染主站） ===== */
body.pk-page {
    margin: 0;
    padding: 0;
    background: #f5f7fa;
    color: #1a2a3a;
    line-height: 1.5;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
body.pk-page * {
    box-sizing: border-box;
    font-family: inherit;
}
/* margin/padding reset：
   用 :where() 把选择器优先级归零（相当于原型里的 * 通配 reset）。
   原因：body.pk-page * 的优先级(0,1,1)会压过 .container 等类规则(0,1,0)，
   导致 .container 的 margin:0 auto 失效 —— 页面主体整体贴左、右侧大片留白 */
:where(body.pk-page) * {
    margin: 0;
    padding: 0;
}
body.pk-page a {
    text-decoration: none;
    color: inherit;
}
body.pk-page img { max-width: 100%; }

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
}
.container-sm {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}
/* 防御性加固：若主站 CSS 也在 /Part 页面加载并覆盖 .container 的外边距，
   这条更高优先级的规则保证内容仍然水平居中 */
body.pk-page .container,
body.pk-page .container-sm {
    margin-left: auto;
    margin-right: auto;
}

/* ===== 提交结果提示条 ===== */
.pk-alert {
    border-radius: 12px;
    padding: 14px 20px;
    margin: 20px 0 4px;
    font-size: 14.5px;
    font-weight: 500;
}
.pk-alert-success { background: #e8f5e9; color: #1b5e20; border: 1px solid #bfe3c5; }
.pk-alert-error { background: #fce4ec; color: #b42318; border: 1px solid #f3c1cb; }

/* 蜜罐字段（防垃圾提交，正常用户不可见） */
.pk-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

/* ===== 页头（绿色主题，sticky） ===== */
.header {
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    padding: 14px 0;
    position: sticky;
    top: 0;
    z-index: 100;
}
.header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 20px;
}
.logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
/* 页眉 Logo 改为官网图标（www.e-z-key.com 的 pic_logo.svg），点击新窗口跳官网 */
.logo img { height: 48px; width: auto; display: block; }
.logo span { color: #1B5E20; }

.search-area {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    gap: 6px;
}
.search-box {
    display: flex;
    border: 2px solid #2E7D32;
    border-radius: 30px;
    overflow: hidden;
    background: white;
    width: 100%;
    max-width: 780px;
}
.search-box input {
    flex: 1;
    padding: 12px 24px;
    border: none;
    outline: none;
    font-size: 16px;
    min-width: 0;
    background: transparent;
}
.search-box input::placeholder { color: #8a9aa8; font-weight: 400; }
.search-box button {
    background: #2E7D32;
    color: white;
    border: none;
    padding: 12px 36px;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: 0.25s;
    flex-shrink: 0;
}
.search-box button:hover { background: #1B5E20; }

.hot-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    font-size: 14px;
    color: #4a5a6a;
    padding-left: 4px;
}
.hot-tags a { color: #2E7D32; }
.hot-tags a:hover { text-decoration: underline; }

.header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
}
.upload-bom {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid #2E7D32;
    border-radius: 20px;
    color: #2E7D32;
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
    transition: 0.2s;
}
.upload-bom:hover { background: #e8f0e8; }
.cart-icon {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: #2E7D32;
    cursor: pointer;
}
.cart-icon .badge {
    background: #2E7D32;
    color: white;
    border-radius: 50%;
    padding: 0 8px;
    font-size: 12px;
    line-height: 20px;
}

/* ===== 主导航 ===== */
.main-nav {
    background: #ffffff;
    border-bottom: 1px solid #eaeef3;
    padding: 0;
}
.main-nav .container {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
    padding: 8px 24px;
}
.main-nav a {
    font-size: 15px;
    font-weight: 500;
    color: #1a2a3a;
    padding: 6px 0;
    border-bottom: 2px solid transparent;
    transition: 0.2s;
}
.main-nav a:hover,
.main-nav a.nav-active {
    border-bottom-color: #2E7D32;
    color: #2E7D32;
}
.main-nav .dropdown { position: relative; }
.main-nav .dropdown-content {
    display: none;
    position: absolute;
    background: white;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    border-radius: 8px;
    padding: 8px 0;
    min-width: 140px;
    top: 30px;
    left: 0;
    z-index: 10;
}
.main-nav .dropdown:hover .dropdown-content { display: block; }
.main-nav .dropdown-content a {
    display: block;
    padding: 8px 20px;
    font-size: 14px;
    border-bottom: none;
    font-weight: 400;
}
.main-nav .dropdown-content a:hover { background: #f0f2f5; }

/* ===== 面包屑 ===== */
.breadcrumb {
    padding: 16px 0 8px;
    font-size: 14px;
    color: #6a7a8a;
}
.breadcrumb a { color: #2E7D32; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb .current { color: #1a2a3a; }

/* ===== 页脚（简单版） ===== */
.footer {
    background: #0a2b4b;
    color: rgba(255,255,255,0.8);
    padding: 30px 0 20px;
    margin-top: 20px;
}
.footer .container { text-align: center; font-size: 13px; }
.footer .container a {
    color: rgba(255,255,255,0.6);
    margin: 0 10px;
}
.footer .container a:hover { color: white; }
.footer-links { margin-top: 8px; }

/* ===== 页脚（富版：首页四栏） ===== */
.footer.footer-rich { padding: 44px 0 24px; margin-top: 44px; }
.footer-rich .container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 32px;
    text-align: left;
}
.footer-rich h4 {
    color: white;
    margin-bottom: 12px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.2px;
}
.footer-rich a {
    color: rgba(255,255,255,0.6);
    display: block;
    font-size: 13px;
    line-height: 2.3;
    transition: 0.2s;
    font-weight: 400;
    margin: 0;
}
.footer-rich a:hover { color: white; }
/* 联系方式不换行（Tel/Email 完整单行显示） */
.footer-rich a[href^="tel:"], .footer-rich a[href^="mailto:"] { white-space: nowrap; }
.footer-rich .copyright {
    grid-column: 1 / -1;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 22px;
    font-size: 13px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px 40px;
    color: rgba(255,255,255,0.5);
}
.footer-rich .copyright .icons { display: flex; gap: 14px; justify-content: center; }
.footer-rich .copyright .icons span {
    background: rgba(255,255,255,0.05);
    padding: 4px 14px;
    border-radius: 6px;
    font-size: 12px;
    color: rgba(255,255,255,0.6);
}

/* ============================================================
   首页（红色 Hero 主题）
   ============================================================ */

/* 视频背景 */
video { pointer-events: none !important; object-fit: cover; }
.video-bg::-webkit-media-controls-timeline,
.hero-video::-webkit-media-controls-timeline { display: none !important; }
.hero-video::-internal-media-controls-download-button { display: none !important; }
.hero-video::-webkit-media-controls-fullscreen-button { display: none !important; }
.hero-video::-webkit-media-controls-mute-button { display: none !important; }
.hero-video::-webkit-media-controls-volume-slider { display: none !important; }

.hero {
    position: relative;
    min-height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 60px 24px;
    overflow: hidden;
    background: linear-gradient(135deg, #0a2b4b 0%, #1a4a6e 50%, #0d3b5a 100%);
}
.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
}
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(10, 43, 75, 0.60);
    z-index: 2;
}
.hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
}
.hero .logo {
    font-size: 48px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.5px;
    margin-bottom: 8px;
}
.hero .logo span { color: #e53935; }
/* 首页 Hero 顶部 Logo：改官网图标（pic_logo.svg） */
.hero .logo img { height: 56px; width: auto; display: block; }
.hero .tagline {
    font-size: 18px;
    color: rgba(255,255,255,0.7);
    font-weight: 300;
    letter-spacing: 0.5px;
    margin-bottom: 36px;
}
.hero .search-wrapper {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
}
.hero .search-box {
    display: flex;
    border-radius: 50px;
    overflow: hidden;
    background: white;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    transition: 0.3s;
    border: none;
    max-width: none;
}
.hero .search-box:hover { box-shadow: 0 12px 48px rgba(0,0,0,0.25); }
.hero .search-box input { padding: 18px 28px; font-size: 18px; }
.hero .search-box button {
    background: #c62828;
    padding: 18px 44px;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 0.3px;
}
.hero .search-box button:hover { background: #8e0000; }

.search-hints {
    margin-top: 20px;
    color: rgba(255,255,255,0.8);
    font-size: 15px;
}
.search-hints .hot-search strong { color: rgba(255,255,255,0.6); font-weight: 400; }
.search-hints .hot-search a,
.search-hints .hot-search span.hot-item {
    color: #ff6b6b;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    margin: 0 6px;
    font-weight: 500;
    transition: 0.2s;
}
.search-hints .hot-search a:hover { opacity: 0.7; }
.search-hints .search-rule {
    font-size: 14px;
    color: rgba(255,255,255,0.6);
    margin-top: 8px;
    font-weight: 300;
}
.search-hints .search-rule a {
    color: rgba(255,255,255,0.8);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.search-hints .search-rule a:hover { color: #ffffff; }

.hero-services {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    gap: 20px 40px;
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid rgba(255,255,255,0.12);
    width: 100%;
    max-width: 720px;
}
.hero-services .service-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,0.8);
    font-size: 15px;
    transition: 0.2s;
    cursor: default;
    flex: 1;
    justify-content: center;
    min-width: 0;
}
.hero-services .service-item:hover { color: #ffffff; }
.hero-services .service-item .icon { font-size: 24px; opacity: 0.8; flex-shrink: 0; }
/* 服务项图标改用定制 PNG（透明底白线，高 40px，深色 Hero 上无需混合处理） */
.hero-services .service-item img.icon { height: 40px; width: auto; opacity: 1; }
.hero-services .service-item .info h4 {
    font-weight: 500;
    font-size: 14px;
    color: rgba(255,255,255,0.95);
    white-space: nowrap;
}
.hero-services .service-item .info p { font-size: 11px; opacity: 0.6; margin-top: 1px; white-space: nowrap; }

/* ===== 通用标题 ===== */
.section-title {
    font-size: 24px;
    font-weight: 700;
    color: #0a2b4b;
    margin: 44px 0 18px;
    letter-spacing: -0.2px;
}
.section-title .sub {
    font-size: 15px;
    font-weight: 400;
    color: #6a7a8a;
    margin-left: 12px;
}

/* ===== 首页快速询盘（深蓝面板） ===== */
.inquiry-section {
    background: #0a2b4b;
    border-radius: 16px;
    padding: 30px 34px;
    margin: 30px 0 40px;
    color: white;
}
.inquiry-section .title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 18px;
    letter-spacing: -0.2px;
}
.inquiry-section .title small {
    font-weight: 300;
    font-size: 14px;
    opacity: 0.7;
    margin-left: 14px;
}
.inquiry-form { display: flex; flex-direction: column; gap: 14px; }
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 14px;
}
.inquiry-form input,
.inquiry-form textarea {
    padding: 11px 16px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    background: rgba(255,255,255,0.10);
    color: white;
    outline: none;
    transition: 0.2s;
    width: 100%;
    font-weight: 400;
}
.inquiry-form input::placeholder,
.inquiry-form textarea::placeholder { color: rgba(255,255,255,0.5); font-weight: 300; }
.inquiry-form input:focus,
.inquiry-form textarea:focus { background: rgba(255,255,255,0.18); }
.inquiry-form textarea { resize: vertical; min-height: 60px; }
.submit-wrap { display: flex; justify-content: center; margin-top: 8px; }
.inquiry-form .submit-btn {
    background: #c62828;
    color: white;
    border: none;
    padding: 16px 72px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 20px;
    cursor: pointer;
    transition: 0.3s;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 14px rgba(198, 40, 40, 0.25);
}
.inquiry-form .submit-btn:hover {
    background: #8e0000;
    transform: scale(1.02);
    box-shadow: 0 6px 20px rgba(198, 40, 40, 0.35);
}

/* ===== 首页品类宫格 ===== */
.category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 20px 0 30px;
}
.category-block {
    background: white;
    border-radius: 12px;
    padding: 14px 18px;
    border: 1px solid #eaeef3;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: 0.25s;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}
.category-block:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
    border-color: #c62828;
}
.category-block .icon { font-size: 30px; flex-shrink: 0; }
.category-block .info { flex: 1; text-align: left; }
.category-block .info .name { font-size: 14px; font-weight: 600; color: #1a2634; }
.category-block .info .stock { font-size: 13px; color: #6a7a8a; margin-top: 2px; }
.category-block .info .stock span { color: #0f6cbd; font-weight: 600; }

/* ===== 首页商品推荐 ===== */
.product-group { margin-bottom: 44px; }
.product-group .group-title {
    font-size: 20px;
    font-weight: 700;
    color: #0a2b4b;
    margin-bottom: 14px;
    border-left: 4px solid #c62828;
    padding-left: 16px;
    letter-spacing: -0.1px;
}
.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.product-card {
    background: white;
    border-radius: 10px;
    padding: 14px 8px;
    border: 1px solid #eaeef3;
    text-align: center;
    transition: 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
    display: block;
}
.product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.06);
    border-color: #c62828;
}
.product-card .name {
    font-size: 13px;
    font-weight: 600;
    color: #1a2634;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===== 首页品牌墙 ===== */
.brand-wall {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 30px 0;
}
.brand-item {
    background: white;
    border-radius: 14px;
    border: 1px solid #eaeef3;
    height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}
.brand-item:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 14px 36px rgba(0,0,0,0.08);
    border-color: #c62828;
    background: #fafcff;
}
.brand-item .icon { font-size: 28px; }
.brand-item .name { font-size: 14px; font-weight: 500; color: #1a2634; text-align: center; padding: 0 4px; }
/* 品牌墙 Logo（替代文字简称；含 Logo 的卡片居中展示图，alt/title 仍为品牌名） */
.brand-item .brand-logo { height: 34px; max-width: 74%; object-fit: contain; }
@media (max-width: 992px) { .brand-item .brand-logo { height: 28px; } }

/* ===== 首页资讯 ===== */
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px;
    margin: 20px 0 30px;
}
.news-card {
    background: white;
    border-radius: 16px;
    border: 1px solid #eaeef3;
    overflow: hidden;
    transition: 0.25s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}
.news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(0,0,0,0.06);
    border-color: #c62828;
}
.news-card .news-image {
    width: 100%;
    height: 140px;
    background: linear-gradient(135deg, #dce3ed 0%, #b4c4d4 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #3a4a5a;
    font-weight: 500;
    letter-spacing: 0.3px;
}
.news-card .news-body { padding: 18px 20px 20px; }
.news-card .news-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-card .tag {
    font-size: 11px;
    color: white;
    background: #c62828;
    padding: 2px 14px;
    border-radius: 30px;
    display: inline-block;
    margin-bottom: 8px;
    font-weight: 500;
    letter-spacing: 0.2px;
}
.news-card .title { font-weight: 600; font-size: 16px; margin-bottom: 4px; color: #0a2b4b; }
.news-card .summary { font-size: 13px; color: #5a6a7a; line-height: 1.5; }
.news-card .date { font-size: 12px; color: #8a9aa8; margin-top: 10px; }

/* ============================================================
   侧栏通用卡片（提示卡 / 热门型号 / 热门分类）
   ============================================================ */
.tip-card,
.hot-cats,
.hot-models,
.model-section {
    background: white;
    border-radius: 14px;
    padding: 20px 18px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    border: 1px solid #eaeef3;
}
.hot-cats, .hot-models, .model-section { margin-top: 20px; }
.tip-card, .hot-cats, .hot-models { position: sticky; top: 100px; }
.model-section { position: sticky; top: 100px; }
.model-section + .model-section { margin-top: 28px; }
.tip-card h3, .hot-cats h3, .hot-models h3, .model-section h3 {
    font-size: 18px;
    font-weight: 700;
    color: #0a2b4b;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid #eaeef3;
}
.tip-card .tip-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f2f5;
    font-size: 14px;
    color: #4a5a6a;
}
.tip-card .tip-item:last-child { border-bottom: none; }
.tip-card .tip-item .icon { font-size: 20px; flex-shrink: 0; margin-top: 2px; }
.tip-card .tip-item .text { line-height: 1.5; }
.tip-card .tip-item .text strong { color: #0a2b4b; }

.hot-cats .cat-item,
.hot-models .model-item,
.model-section .model-item {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #f0f2f5;
    font-size: 14px;
}
.hot-cats .cat-item:last-child,
.hot-models .model-item:last-child,
.model-section .model-item:last-child { border-bottom: none; }
.hot-cats .cat-item .name,
.hot-models .model-item .name,
.model-section .model-item .name { color: #1a2a3a; font-weight: 500; }
.hot-cats .cat-item .name:hover,
.hot-models .model-item .name:hover,
.model-section .model-item .name:hover { color: #2E7D32; }
.hot-cats .cat-item .count,
.hot-models .model-item .stock,
.model-section .model-item .stock { color: #2E7D32; font-weight: 600; }

/* ============================================================
   产品中心目录页（Catalog）
   ============================================================ */
.catalog-container {
    display: flex;
    gap: 30px;
    margin: 20px 0 40px;
    align-items: flex-start;
}
.catalog-main {
    flex: 1;
    background: white;
    border-radius: 14px;
    padding: 30px 32px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    border: 1px solid #eaeef3;
}
.catalog-sidebar { flex: 0 0 280px; }
.catalog-title { font-size: 24px; font-weight: 700; color: #0a2b4b; margin-bottom: 6px; }
.catalog-subtitle { font-size: 14px; color: #6a7a8a; margin-bottom: 20px; }
.catalog-subtitle strong { color: #2E7D32; }
.catalog-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 36px;
    padding: 14px 0 18px;
    border-top: 1px solid #eaeef3;
    border-bottom: 1px solid #eaeef3;
    margin-bottom: 20px;
}
.catalog-stats .stat-item {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 14px;
    color: #4a5a6a;
}
.catalog-stats .stat-item .num { font-weight: 700; font-size: 20px; color: #2E7D32; }
.catalog-list { display: flex; flex-direction: column; }
.catalog-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #edf0f5;
    transition: 0.2s;
    cursor: pointer;
    border-radius: 4px;
}
.catalog-item:hover { background: #f4f8f4; }
.catalog-item:last-child { border-bottom: none; }
.catalog-item .name { font-size: 15px; font-weight: 500; color: #1a2a3a; }
.catalog-item .name:hover { color: #2E7D32; }
.catalog-item .count { font-size: 15px; font-weight: 600; color: #2E7D32; white-space: nowrap; }
.catalog-item .count .unit { font-size: 12px; font-weight: 400; color: #6a7a8a; margin-left: 2px; }
.quick-categories { margin-top: 20px; padding-top: 18px; border-top: 1px solid #eaeef3; }
.quick-categories .quick-title { font-size: 14px; font-weight: 600; color: #0a2b4b; margin-bottom: 10px; }
.quick-categories .quick-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.quick-categories .quick-tags a {
    display: inline-block;
    padding: 4px 16px;
    background: #f0f4fa;
    border-radius: 20px;
    font-size: 13px;
    color: #1a2a3a;
    transition: 0.2s;
}
.quick-categories .quick-tags a:hover { background: #2E7D32; color: white; }

/* ============================================================
   分类列表页 / 搜索结果（产品行）
   ============================================================ */
.list-container {
    display: flex;
    gap: 30px;
    margin: 20px 0 40px;
    align-items: flex-start;
}
.list-main { flex: 1; }
.list-sidebar { flex: 0 0 280px; }
.list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
}
.list-header .title { font-size: 20px; font-weight: 700; color: #0a2b4b; }
.list-header .title .count { font-weight: 400; font-size: 15px; color: #6a7a8a; margin-left: 10px; }
.list-header .sort { display: flex; gap: 12px; align-items: center; font-size: 14px; }
.list-header .sort select {
    padding: 8px 16px;
    border: 1px solid #dce3ed;
    border-radius: 8px;
    font-size: 14px;
    background: white;
    outline: none;
    cursor: pointer;
}
.list-header .sort select:focus { border-color: #2E7D32; }

.product-list { display: flex; flex-direction: column; gap: 16px; }
.product-item {
    background: white;
    border-radius: 14px;
    border: 1px solid #eaeef3;
    padding: 18px 22px;
    display: flex;
    gap: 20px;
    transition: 0.25s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.02);
    align-items: stretch;
}
.product-item:hover { border-color: #2E7D32; box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.product-item .image {
    flex: 0 0 110px;
    height: 110px;
    background: #f0f4fa;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: #2a4b6e;
}
.product-item .info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 0;
}
.product-item .info .model { font-size: 16px; font-weight: 600; color: #0a2b4b; }
.product-item .info .model:hover { color: #2E7D32; }
.product-item .info .brand { font-size: 14px; color: #4a5a6a; }
.product-item .info .brand a { color: #2E7D32; font-weight: 500; }
.product-item .info .desc { font-size: 13px; color: #6a7a8a; margin: 2px 0; }
.product-item .info .sku { font-size: 12px; color: #8a9aa8; }
.product-item .info .stock { font-size: 14px; color: #2E7D32; font-weight: 600; margin-top: 2px; }
.product-item .info .stock .label { font-weight: 400; color: #6a7a8a; }
.product-item .actions {
    flex: 0 0 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}
.product-item .actions .btn {
    display: block;
    width: 100%;
    padding: 9px 0;
    text-align: center;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s;
    border: none;
}
.btn-inquiry { background: #2E7D32; color: white; }
.btn-inquiry:hover { background: #1B5E20; }
.btn-quote { background: white; color: #2E7D32; border: 1px solid #2E7D32 !important; }
.btn-quote:hover { background: #f0f7f0; }
.btn-offer { background: #e8f0e8; color: #2E7D32; border: 1px solid #2E7D32 !important; }
.btn-offer:hover { background: #d4e6d4; }

/* ===== 分页 ===== */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 28px;
    padding: 12px 0;
}
.pagination .page-btn {
    padding: 8px 16px;
    border: 1px solid #dce3ed;
    border-radius: 8px;
    background: white;
    font-size: 14px;
    cursor: pointer;
    transition: 0.2s;
    color: #1a2a3a;
    text-decoration: none;
    display: inline-block;
}
.pagination a.page-btn:hover,
.pagination button.page-btn:hover { border-color: #2E7D32; color: #2E7D32; }
.pagination .page-btn.active { background: #2E7D32; color: white; border-color: #2E7D32; }
.pagination .page-btn.disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
.pagination .page-info { font-size: 14px; color: #6a7a8a; padding: 0 12px; }

/* ============================================================
   料号详情页
   ============================================================ */
.product-layout { display: flex; gap: 30px; margin: 20px 0 30px; }
.main-content { flex: 1; }
.sidebar { flex: 0 0 280px; }

.product-detail {
    background: white;
    border-radius: 14px;
    padding: 30px 35px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    margin-bottom: 24px;
}
.product-detail .top-row { display: flex; gap: 40px; flex-wrap: wrap; }
.product-images { flex: 0 0 320px; }
.product-images .main-img {
    width: 100%;
    height: 240px;
    background: #f0f4fa;
    border-radius: 12px;
    border: 1px solid #eaeef3;
    overflow: hidden;
}
.product-images .main-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.product-images .thumb-list { display: flex; gap: 10px; margin-top: 12px; }
.product-images .thumb-list .thumb {
    width: 60px;
    height: 60px;
    background: #f0f4fa;
    border-radius: 8px;
    border: 1px solid #dce3ed;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    cursor: pointer;
}
.product-images .thumb-list .thumb.active { border-color: #2E7D32; }

.product-info { flex: 1; display: flex; flex-direction: column; gap: 12px; min-width: 260px; }
.product-info .model { font-size: 24px; font-weight: 700; color: #0a2b4b; }
.product-info .brand { font-size: 16px; color: #4a5a6a; }
.product-info .brand a { color: #2E7D32; font-weight: 600; }
.product-info .desc { font-size: 15px; color: #4a5a6a; padding: 4px 0; }
.product-info .sku { font-size: 13px; color: #8a9aa8; }

.brand-bar {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid #edf0f5;
    border-bottom: 1px solid #edf0f5;
    margin: 8px 0 10px;
}
.brand-bar .brand-logo {
    width: 60px;
    height: 60px;
    background: #f0f4fa;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 700;
    color: #2E7D32;
    flex-shrink: 0;
}
.brand-bar .brand-info { display: flex; flex-direction: column; }
.brand-bar .brand-info .name { font-weight: 600; font-size: 16px; color: #0a2b4b; }
.brand-bar .brand-info .name a { color: #0a2b4b; }
.brand-bar .brand-info .name a:hover { color: #2E7D32; }
.brand-bar .brand-info .desc { font-size: 13px; color: #6a7a8a; }

.delivery-stock {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 36px;
    padding: 12px 0;
    border-bottom: 1px solid #edf0f5;
    font-size: 15px;
}
.delivery-stock .item { display: flex; align-items: center; gap: 8px; }
.delivery-stock .item .label { font-weight: 500; color: #1a2a3a; }
.delivery-stock .item .value { color: #2E7D32; font-weight: 600; }
.delivery-stock .item .muted { font-weight: 400; color: #6a7a8a; }
.delivery-options { display: flex; gap: 16px; }
.delivery-options label { display: flex; align-items: center; gap: 4px; font-size: 14px; cursor: pointer; }
.delivery-options input[type="radio"] { accent-color: #2E7D32; width: 16px; height: 16px; }

.qty-bid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 30px;
    margin: 10px 0 14px;
}
.qty-bid .qty-group, .qty-bid .bid-group { display: flex; align-items: center; gap: 10px; }
.qty-bid .qty-group label, .qty-bid .bid-group label { font-weight: 500; }
.qty-bid input[type="number"] {
    width: 80px;
    padding: 8px 12px;
    border: 1px solid #dce3ed;
    border-radius: 6px;
    font-size: 15px;
    text-align: center;
    outline: none;
}
.qty-bid input[type="text"] {
    width: 140px;
    padding: 8px 12px;
    border: 1px solid #dce3ed;
    border-radius: 6px;
    font-size: 15px;
    outline: none;
}
.qty-bid input:focus { border-color: #2E7D32; }

.action-buttons { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.action-buttons .btn {
    padding: 12px 32px;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: 0.25s;
    display: inline-block;
}
.btn-primary { background: #2E7D32; color: white; }
.btn-primary:hover { background: #1B5E20; }
.btn-outline { background: white; color: #2E7D32; border: 1px solid #2E7D32 !important; }
.btn-outline:hover { background: #f0f7f0; }
.btn-light { background: #e8f0e8; color: #2E7D32; border: 1px solid #2E7D32 !important; }
.btn-light:hover { background: #d4e6d4; }

/* 详情页 Tab */
.tabs-section {
    background: white;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    margin: 24px 0 30px;
}
.tabs-header {
    display: flex;
    border-bottom: 2px solid #eaeef3;
    padding: 0 24px;
}
.tabs-header .tab {
    padding: 16px 24px;
    font-weight: 600;
    color: #6a7a8a;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    transition: 0.2s;
    font-size: 16px;
    user-select: none;
}
.tabs-header .tab.active,
.tabs-header .tab:hover { color: #2E7D32; border-bottom-color: #2E7D32; }
.tabs-content { padding: 24px 28px; }
.tabs-content .panel { display: none; }
.tabs-content .panel.active { display: block; }
.panel-detail p { margin-bottom: 12px; color: #1a2a3a; }
.panel-pdf .pdf-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #edf0f5;
}
.panel-pdf .pdf-item:last-child { border-bottom: none; }
.panel-pdf .pdf-item .icon { font-size: 28px; }
.panel-pdf .pdf-item a { color: #2E7D32; font-weight: 500; }
.panel-pdf .pdf-item a:hover { text-decoration: underline; }
.panel-tech .tech-item { padding: 8px 0; border-bottom: 1px solid #edf0f5; }
.panel-tech .tech-item:last-child { border-bottom: none; }
.panel-tech .tech-item a { color: #2E7D32; }
.panel-tech .tech-item a:hover { text-decoration: underline; }
.panel-qa .qa-item { padding: 12px 0; border-bottom: 1px solid #edf0f5; }
.panel-qa .qa-item:last-child { border-bottom: none; }
.panel-qa .qa-item .q { font-weight: 600; color: #0a2b4b; }
.panel-qa .qa-item .a { color: #4a5a6a; margin-top: 4px; }

/* 参数表 + 标准包装 */
.params-section {
    background: white;
    border-radius: 14px;
    padding: 24px 30px;
    margin: 20px 0 30px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.params-section h2 { font-size: 20px; font-weight: 700; margin-bottom: 16px; color: #0a2b4b; }
.params-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.params-table td { padding: 10px 12px; border-bottom: 1px solid #edf0f5; }
.params-table .label { color: #6a7a8a; width: 220px; font-weight: 500; }
.params-table .value { color: #1a2a3a; }
.standard-packaging {
    margin-top: 20px;
    padding: 16px 20px;
    background: #f8fafc;
    border-radius: 8px;
    font-size: 14px;
    color: #4a5a6a;
    border-left: 4px solid #2E7D32;
}
.standard-packaging strong { color: #1a2a3a; }

/* ============================================================
   品牌展示页
   ============================================================ */
.brands-container { display: flex; gap: 30px; margin: 20px 0 40px; align-items: flex-start; }
.brands-main { flex: 1; }
.brands-sidebar { flex: 0 0 280px; }
.brands-title { font-size: 24px; font-weight: 700; color: #0a2b4b; margin-bottom: 6px; }
.brands-subtitle { font-size: 14px; color: #6a7a8a; margin-bottom: 24px; }
.brands-subtitle strong { color: #2E7D32; }
.brands-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
    background: white;
    border-radius: 12px;
    padding: 16px 24px;
    margin-bottom: 24px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    border: 1px solid #eaeef3;
}
.brands-stats .stat-item { display: flex; align-items: baseline; gap: 6px; font-size: 14px; color: #4a5a6a; }
.brands-stats .stat-item .num { font-weight: 700; font-size: 20px; color: #2E7D32; }
.brands-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.brand-card {
    background: white;
    border-radius: 14px;
    padding: 24px 20px 20px;
    border: 1px solid #eaeef3;
    text-align: center;
    transition: 0.3s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.brand-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.08);
    border-color: #2E7D32;
}
.brand-card .brand-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 12px;
    background: #f0f4fa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    font-weight: 700;
    color: #2E7D32;
    transition: 0.3s;
}
.brand-card:hover .brand-icon { background: #e8f0e8; }
.brand-card .brand-name { font-size: 18px; font-weight: 700; color: #0a2b4b; margin-bottom: 4px; }
.brand-card .brand-origin { font-size: 13px; color: #8a9aa8; margin-bottom: 8px; }
.brand-card .brand-desc { font-size: 14px; color: #4a5a6a; line-height: 1.5; margin-bottom: 14px; min-height: 42px; }
.brand-card .btn-view {
    display: inline-block;
    padding: 8px 28px;
    border: 1px solid #2E7D32;
    border-radius: 30px;
    color: #2E7D32;
    font-weight: 600;
    font-size: 14px;
    transition: 0.25s;
    background: transparent;
}
.brand-card .btn-view:hover { background: #2E7D32; color: white; }
.more-brands {
    text-align: center;
    margin-top: 28px;
    font-size: 14px;
    color: #6a7a8a;
    padding: 16px 0 4px;
}
.more-brands span {
    display: inline-block;
    padding: 8px 28px;
    background: white;
    border-radius: 30px;
    border: 1px solid #eaeef3;
}

/* ============================================================
   品牌专区（品牌产品列表页）
   ============================================================ */
.brand-page { display: flex; gap: 30px; margin: 20px 0 40px; align-items: flex-start; }
.brand-main { flex: 1; }
.brand-sidebar { flex: 0 0 280px; }
.brand-header {
    background: white;
    border-radius: 14px;
    padding: 28px 32px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    border: 1px solid #eaeef3;
    margin-bottom: 24px;
    display: flex;
    gap: 30px;
    align-items: center;
    flex-wrap: wrap;
}
.brand-header .brand-logo {
    width: 120px;
    height: 120px;
    background: #f0f4fa;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 52px;
    font-weight: 700;
    color: #2E7D32;
    flex-shrink: 0;
    border: 2px solid #eaeef3;
}
.brand-header .brand-info { flex: 1; min-width: 200px; }
.brand-header .brand-info .name {
    font-size: 28px;
    font-weight: 700;
    color: #0a2b4b;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.brand-header .brand-info .name .tag {
    font-size: 12px;
    font-weight: 600;
    background: #2E7D32;
    color: white;
    padding: 2px 14px;
    border-radius: 20px;
}
.brand-header .brand-info .origin { font-size: 15px; color: #6a7a8a; margin-top: 4px; }
.brand-header .brand-info .desc { font-size: 15px; color: #4a5a6a; margin-top: 8px; line-height: 1.6; max-width: 700px; }
.brand-header .brand-stats {
    display: flex;
    gap: 30px 50px;
    flex-wrap: wrap;
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid #edf0f5;
}
.brand-header .brand-stats .stat { display: flex; align-items: baseline; gap: 6px; font-size: 14px; color: #4a5a6a; }
.brand-header .brand-stats .stat .num { font-weight: 700; font-size: 22px; color: #2E7D32; }

.product-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 24px 0 16px;
}
.product-list-header .title { font-size: 20px; font-weight: 700; color: #0a2b4b; }
.product-list-header .title .count { font-weight: 400; font-size: 15px; color: #6a7a8a; margin-left: 8px; }
.product-list-header .filter-sort { display: flex; gap: 12px; align-items: center; font-size: 14px; }
.product-list-header .filter-sort select {
    padding: 8px 16px;
    border: 1px solid #dce3ed;
    border-radius: 8px;
    font-size: 14px;
    background: white;
    outline: none;
    cursor: pointer;
}
.product-list-header .filter-sort select:focus { border-color: #2E7D32; }

.product-table-wrap {
    overflow-x: auto;
    background: white;
    border-radius: 14px;
    border: 1px solid #eaeef3;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.product-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 900px; }
.product-table th {
    background: #f0f4fa;
    padding: 14px 16px;
    text-align: left;
    font-weight: 600;
    color: #0a2b4b;
    border-bottom: 2px solid #eaeef3;
    white-space: nowrap;
}
.product-table td { padding: 14px 16px; border-bottom: 1px solid #edf0f5; vertical-align: middle; }
.product-table tr:last-child td { border-bottom: none; }
.product-table tr:hover { background: #f8fafc; }
.product-table .model { font-weight: 500; color: #0a2b4b; }
.product-table .model:hover { color: #2E7D32; }
.product-table .brand-name { color: #4a5a6a; }
.product-table .price { color: #2E7D32; font-weight: 600; white-space: nowrap; }
.product-table .stock-status {
    display: inline-block;
    padding: 3px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.stock-instock { background: #e8f5e9; color: #2E7D32; }
.stock-low { background: #fff3e0; color: #e65100; }
.stock-out { background: #fce4ec; color: #c62828; }
.product-table .actions { display: flex; gap: 6px; flex-wrap: nowrap; align-items: center; }
.product-table .actions .btn-sm {
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: 0.2s;
    white-space: nowrap;
    line-height: 1.4;
}
.btn-sm-inquiry { background: #2E7D32; color: white; }
.btn-sm-inquiry:hover { background: #1B5E20; }
.btn-sm-quote { background: white; color: #2E7D32; border: 1px solid #2E7D32 !important; }
.btn-sm-quote:hover { background: #f0f7f0; }
.btn-sm-offer { background: #e8f0e8; color: #2E7D32; border: 1px solid #2E7D32 !important; }
.btn-sm-offer:hover { background: #d4e6d4; }

.product-table .col-seq { width: 36px; min-width: 36px; }
.product-table .col-model { min-width: 150px; }
/* 品牌页表格精简后新增描述列（单行溢出省略） */
.product-table .col-desc { max-width: 420px; color: #5a6a7a; font-size: 13px; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-table .col-package { min-width: 90px; }
.product-table .col-qty { width: 80px; min-width: 80px; }
.product-table .col-price { width: 100px; min-width: 100px; }
.product-table .col-stock { width: 120px; min-width: 110px; }
.product-table .col-actions { min-width: 230px; }

/* ============================================================
   在线询价页
   ============================================================ */
.inquiry-container { display: flex; gap: 30px; margin: 20px 0 40px; align-items: flex-start; }
.inquiry-main {
    flex: 1;
    background: white;
    border-radius: 14px;
    padding: 30px 32px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.inquiry-sidebar { flex: 0 0 280px; }
.inquiry-title { font-size: 24px; font-weight: 700; color: #0a2b4b; margin-bottom: 6px; }
.inquiry-subtitle { font-size: 14px; color: #6a7a8a; margin-bottom: 24px; }

.inquiry-table-wrap { overflow-x: auto; margin-bottom: 28px; }
.inquiry-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 720px; }
.inquiry-table th {
    background: #f0f4fa;
    padding: 12px 14px;
    text-align: left;
    font-weight: 600;
    color: #0a2b4b;
    border-bottom: 2px solid #eaeef3;
    white-space: nowrap;
}
.inquiry-table td { padding: 14px 14px; border-bottom: 1px solid #edf0f5; vertical-align: middle; }
.inquiry-table .model { font-weight: 500; color: #0a2b4b; }
.inquiry-table .model:hover { color: #2E7D32; }
.inquiry-table .brand { color: #4a5a6a; }
.inquiry-table .qty-input, .inquiry-table .price-input {
    padding: 6px 10px;
    border: 1px solid #dce3ed;
    border-radius: 6px;
    font-size: 14px;
    outline: none;
}
.inquiry-table .qty-input { width: 70px; text-align: center; }
.inquiry-table .price-input { width: 100px; }
.inquiry-table .price-input:focus, .inquiry-table .qty-input:focus { border-color: #2E7D32; }
.inquiry-table .remove-btn {
    color: #c62828;
    cursor: pointer;
    font-weight: 500;
    font-size: 13px;
    background: none;
    border: none;
    transition: 0.2s;
}
.inquiry-table .remove-btn:hover { color: #8e0000; text-decoration: underline; }
.inquiry-table .col-seq { width: 36px; min-width: 36px; }
.inquiry-table .col-model { min-width: 150px; }
.inquiry-table .col-brand { min-width: 110px; }
.inquiry-table .col-package { min-width: 110px; }
.inquiry-table .col-qty { width: 90px; min-width: 80px; }
.inquiry-table .col-price { width: 130px; min-width: 110px; }
.inquiry-table .col-action { width: 80px; min-width: 70px; }

.add-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    padding: 16px 0 20px;
    border-top: 1px solid #eaeef3;
    margin-top: 6px;
}
.add-row input {
    padding: 10px 16px;
    border: 1px solid #dce3ed;
    border-radius: 8px;
    font-size: 14px;
    flex: 1 1 140px;
    min-width: 100px;
    outline: none;
    transition: 0.2s;
}
.add-row input:focus { border-color: #2E7D32; }
.btn-add {
    background: #2E7D32;
    color: white;
    border: none;
    padding: 10px 28px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: 0.25s;
    flex-shrink: 0;
    display: inline-block;
}
.btn-add:hover { background: #1B5E20; }

.contact-form { margin-top: 8px; }
.contact-form .form-title, .customer-form .form-title {
    font-size: 18px;
    font-weight: 700;
    color: #0a2b4b;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #eaeef3;
}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; }
.form-grid .full-width { grid-column: 1 / -1; }
.form-group label {
    display: block;
    font-weight: 500;
    font-size: 14px;
    color: #1a2a3a;
    margin-bottom: 4px;
}
.form-group label .required { color: #c62828; }
.form-group input, .form-group textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #dce3ed;
    border-radius: 8px;
    font-size: 14px;
    outline: none;
    transition: 0.2s;
}
.form-group input:focus, .form-group textarea:focus { border-color: #2E7D32; }
.form-group textarea { resize: vertical; min-height: 80px; }

.submit-area {
    display: flex;
    justify-content: center;
    margin-top: 28px;
    gap: 16px;
    flex-wrap: wrap;
}
.btn-submit {
    background: #2E7D32;
    color: white;
    border: none;
    padding: 14px 56px;
    border-radius: 40px;
    font-weight: 700;
    font-size: 18px;
    cursor: pointer;
    transition: 0.25s;
}
.btn-submit:hover { background: #1B5E20; transform: scale(1.02); }
.btn-reset {
    background: white;
    color: #4a5a6a;
    border: 1px solid #dce3ed;
    padding: 14px 40px;
    border-radius: 40px;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: 0.25s;
}
.btn-reset:hover { border-color: #2E7D32; color: #2E7D32; }

/* ============================================================
   BOM 配单页
   ============================================================ */
.bom-container { display: flex; gap: 30px; margin: 20px 0 40px; align-items: flex-start; }
.bom-main {
    flex: 1;
    background: white;
    border-radius: 14px;
    padding: 30px 32px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.bom-sidebar { flex: 0 0 280px; }
.bom-title { font-size: 24px; font-weight: 700; color: #0a2b4b; margin-bottom: 6px; }
.bom-subtitle { font-size: 14px; color: #6a7a8a; margin-bottom: 24px; }
.bom-subtitle strong { color: #2E7D32; }

.upload-zone {
    border: 2px dashed #dce3ed;
    border-radius: 14px;
    padding: 40px 20px;
    text-align: center;
    transition: 0.3s;
    cursor: pointer;
    background: #fafcfe;
    margin-bottom: 24px;
}
.upload-zone:hover { border-color: #2E7D32; background: #f4f8f4; }
.upload-zone .icon { font-size: 48px; display: block; margin-bottom: 12px; }
.upload-zone .title { font-size: 18px; font-weight: 600; color: #0a2b4b; }
.upload-zone .desc { font-size: 14px; color: #6a7a8a; margin-top: 6px; }
.upload-zone .formats { font-size: 13px; color: #8a9aa8; margin-top: 10px; }
.btn-upload {
    display: inline-block;
    margin-top: 16px;
    padding: 10px 36px;
    background: #2E7D32;
    color: white;
    border: none;
    border-radius: 30px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: 0.25s;
}
.btn-upload:hover { background: #1B5E20; }

.manual-add {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    padding: 16px 0 20px;
    border-top: 1px solid #eaeef3;
    border-bottom: 1px solid #eaeef3;
    margin-bottom: 20px;
}
.manual-add input, .manual-add select {
    padding: 10px 16px;
    border: 1px solid #dce3ed;
    border-radius: 8px;
    font-size: 14px;
    flex: 1 1 140px;
    min-width: 100px;
    outline: none;
    transition: 0.2s;
    background: white;
}
.manual-add input:focus, .manual-add select:focus { border-color: #2E7D32; }
.manual-add .qty-input { flex: 0 0 90px; min-width: 70px; }
.manual-add .year-select { flex: 0 0 110px; min-width: 80px; }
.manual-add .remark-input { flex: 1 1 160px; }

.bom-table-wrap { overflow-x: auto; margin-top: 6px; }
.bom-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 950px; }
.bom-table th {
    background: #f0f4fa;
    padding: 12px 14px;
    text-align: left;
    font-weight: 600;
    color: #0a2b4b;
    border-bottom: 2px solid #eaeef3;
    white-space: nowrap;
}
.bom-table td { padding: 12px 14px; border-bottom: 1px solid #edf0f5; vertical-align: middle; }
.bom-table .model { font-weight: 500; color: #0a2b4b; white-space: nowrap; }
.bom-table .model:hover { color: #2E7D32; }
.bom-table .brand { color: #4a5a6a; white-space: nowrap; }
.bom-table .qty-input {
    width: 70px;
    padding: 6px 10px;
    border: 1px solid #dce3ed;
    border-radius: 6px;
    text-align: center;
    font-size: 14px;
    outline: none;
}
.bom-table .qty-input:focus { border-color: #2E7D32; }
.bom-table .price { color: #2E7D32; font-weight: 600; white-space: nowrap; }
.bom-table .remove-btn {
    color: #c62828;
    cursor: pointer;
    font-weight: 500;
    font-size: 13px;
    background: none;
    border: none;
    transition: 0.2s;
    white-space: nowrap;
}
.bom-table .remove-btn:hover { color: #8e0000; text-decoration: underline; }
.bom-table .col-seq { width: 40px; min-width: 40px; }
.bom-table .col-model { min-width: 150px; }
.bom-table .col-brand { min-width: 100px; }
.bom-table .col-package { min-width: 100px; }
.bom-table .col-qty { width: 90px; min-width: 80px; }
.bom-table .col-price { width: 120px; min-width: 110px; }
.bom-table .col-stock { width: 130px; min-width: 120px; }
.bom-table .col-actions { min-width: 160px; }
.bom-table .actions { display: flex; gap: 6px; flex-wrap: nowrap; align-items: center; }
.bom-table .actions .btn-sm {
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: 0.2s;
    white-space: nowrap;
    line-height: 1.4;
}

.status {
    display: inline-block;
    padding: 2px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.status-instock { background: #e8f5e9; color: #2E7D32; }
.status-low { background: #fff3e0; color: #e65100; }
.status-out { background: #fce4ec; color: #c62828; }
.status-inquiry { background: #e3f2fd; color: #0d47a1; }

.bom-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 50px;
    padding: 16px 0 10px;
    border-top: 1px solid #eaeef3;
    margin-top: 16px;
}
.bom-stats .stat-item { display: flex; align-items: baseline; gap: 8px; font-size: 14px; color: #4a5a6a; }
.bom-stats .stat-item .num { font-weight: 700; font-size: 20px; color: #0a2b4b; }
.bom-stats .stat-item .num.green { color: #2E7D32; }
.bom-stats .stat-item .num.red { color: #c62828; }
.bom-stats .stat-item .num.orange { color: #e65100; }

.bom-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 20px; justify-content: center; }
.bom-actions .btn {
    padding: 12px 40px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 16px;
    border: none;
    cursor: pointer;
    transition: 0.25s;
    display: inline-block;
}
.bom-actions .btn-primary { background: #2E7D32; color: white; }
.bom-actions .btn-primary:hover { background: #1B5E20; transform: scale(1.02); }
.bom-actions .btn-outline { background: white; color: #2E7D32; border: 1px solid #2E7D32 !important; }
.bom-actions .btn-outline:hover { background: #f0f7f0; }
.bom-actions .btn-ghost { background: white; color: #4a5a6a; border: 1px solid #dce3ed !important; }
.bom-actions .btn-ghost:hover { border-color: #2E7D32; color: #2E7D32; }

/* ============================================================
   呆料回收页
   ============================================================ */
.recycle-container { display: flex; gap: 30px; margin: 20px 0 40px; align-items: flex-start; }
.recycle-main {
    flex: 1;
    background: white;
    border-radius: 14px;
    padding: 30px 32px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    border: 1px solid #eaeef3;
}
.recycle-sidebar { flex: 0 0 280px; }
.recycle-title { font-size: 24px; font-weight: 700; color: #0a2b4b; margin-bottom: 6px; }
.recycle-subtitle { font-size: 14px; color: #6a7a8a; margin-bottom: 20px; }
.business-intro {
    background: #f4f8f4;
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 24px;
    border-left: 4px solid #2E7D32;
}
.business-intro p { font-size: 14px; color: #1a2a3a; line-height: 1.8; margin-bottom: 6px; }
.business-intro p:last-child { margin-bottom: 0; }
.business-intro strong { color: #2E7D32; }

.recycle-table-wrap { overflow-x: auto; margin-top: 6px; }
.recycle-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 700px; }
.recycle-table th {
    background: #f0f4fa;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    color: #0a2b4b;
    border-bottom: 2px solid #eaeef3;
}
.recycle-table td { padding: 10px 14px; border-bottom: 1px solid #edf0f5; vertical-align: middle; }
.recycle-table input, .recycle-table select {
    padding: 6px 10px;
    border: 1px solid #dce3ed;
    border-radius: 6px;
    font-size: 13px;
    width: 100%;
    min-width: 60px;
    outline: none;
    transition: 0.2s;
    background: white;
}
.recycle-table input:focus, .recycle-table select:focus { border-color: #2E7D32; }
.recycle-table .qty-input { width: 70px; min-width: 50px; }
.recycle-table .remove-btn {
    color: #c62828;
    cursor: pointer;
    font-weight: 500;
    font-size: 13px;
    background: none;
    border: none;
    transition: 0.2s;
}
.recycle-table .remove-btn:hover { color: #8e0000; text-decoration: underline; }
.recycle-table .th-seq { width: 28px; }
.recycle-table .th-qty { width: 80px; }
.recycle-table .th-year { width: 100px; }
.recycle-table .th-action { width: 60px; }

.customer-form { margin-top: 8px; }

/* ============================================================
   搜索页
   ============================================================ */
.result-header { margin: 24px 0 18px; }
.result-header h1 { font-size: 22px; font-weight: 700; color: #0a2b4b; }
.result-header h1 small { font-weight: 400; font-size: 15px; color: #6a7a8a; margin-left: 12px; }
.search-page .product-list { margin-bottom: 40px; }
.search-page .product-item { padding: 18px 20px; }
.search-page .product-item .image { flex: 0 0 120px; height: 120px; }
.search-page .product-actions {
    flex: 0 0 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}
.search-page .product-actions .btn {
    display: block;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s;
}
.search-page .product-actions .btn-quote { background: #e8f0e8; }
.search-page .product-actions .btn-offer { background: #ffffff; }

.empty-inquiry {
    background: white;
    border-radius: 14px;
    border: 1px solid #eaeef3;
    padding: 32px 36px;
    margin-bottom: 40px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}
.empty-inquiry .empty-icon { text-align: center; font-size: 48px; margin-bottom: 8px; }
.empty-inquiry .empty-title { text-align: center; font-size: 20px; font-weight: 700; color: #0a2b4b; margin-bottom: 4px; }
.empty-inquiry .empty-desc { text-align: center; font-size: 14px; color: #6a7a8a; margin-bottom: 24px; }
.empty-inquiry .empty-desc strong { color: #2E7D32; }
.empty-inquiry .inquiry-form input,
.empty-inquiry .inquiry-form textarea {
    padding: 11px 16px;
    border: 1px solid #dce3ed;
    border-radius: 8px;
    font-size: 14px;
    color: #1a2a3a;
    outline: none;
    transition: 0.2s;
    width: 100%;
    background: #fafcfe;
}
.empty-inquiry .inquiry-form input::placeholder,
.empty-inquiry .inquiry-form textarea::placeholder { color: #8a9aa8; font-weight: 400; }
.empty-inquiry .inquiry-form input:focus,
.empty-inquiry .inquiry-form textarea:focus { border-color: #2E7D32; background: white; }
.empty-inquiry .inquiry-form textarea { resize: vertical; min-height: 70px; }
.empty-inquiry .submit-btn {
    background: #2E7D32;
    color: white;
    border: none;
    padding: 14px 64px;
    border-radius: 40px;
    font-weight: 700;
    font-size: 18px;
    cursor: pointer;
    transition: 0.3s;
    letter-spacing: 0.3px;
}
.empty-inquiry .submit-btn:hover { background: #1B5E20; transform: scale(1.02); }

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1200px) {
    .brands-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) {
    .catalog-container, .list-container, .product-layout,
    .brands-container, .brand-page, .inquiry-container,
    .bom-container, .recycle-container { flex-direction: column; }
    .catalog-sidebar, .list-sidebar, .sidebar,
    .brands-sidebar, .brand-sidebar, .inquiry-sidebar,
    .bom-sidebar, .recycle-sidebar { flex: 1; width: 100%; }
    .tip-card, .hot-cats, .hot-models, .model-section { position: static; }
    .brands-grid { grid-template-columns: repeat(3, 1fr); }
    .product-detail .top-row { flex-direction: column; }
    .product-images { flex: 0 0 auto; }
    .product-images .main-img { height: 280px; }
    .brand-header { flex-direction: column; text-align: center; }
    .brand-header .brand-info .desc { max-width: 100%; }
    .brand-header .brand-stats { justify-content: center; }
    .form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .header .container { flex-direction: column; align-items: stretch; }
    .search-box { max-width: 100%; }
    .search-box input { padding: 10px 16px; font-size: 15px; }
    .search-box button { padding: 10px 20px; font-size: 15px; }
    .main-nav .container { gap: 12px; }
    .header-actions { justify-content: flex-start; margin-top: 4px; }
    .category-grid { grid-template-columns: repeat(2, 1fr); }
    .product-grid { grid-template-columns: repeat(3, 1fr); }
    .brand-wall { grid-template-columns: repeat(2, 1fr); }
    .brands-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .brands-stats { padding: 12px 16px; gap: 12px 24px; }
    .brands-stats .stat-item { font-size: 13px; }
    .brands-stats .stat-item .num { font-size: 17px; }
    .form-row { grid-template-columns: 1fr 1fr; }
    .inquiry-section .title small { display: block; margin-left: 0; margin-top: 4px; }
    .inquiry-section { padding: 20px; }
    .product-item { flex-wrap: wrap; padding: 16px; }
    .product-item .image { flex: 0 0 80px; height: 80px; font-size: 32px; }
    .product-item .actions, .search-page .product-actions {
        flex: 1 1 100%;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
    }
    .product-item .actions .btn, .search-page .product-actions .btn {
        flex: 1;
        min-width: 80px;
        padding: 8px 0;
        font-size: 12px;
    }
    .list-header { flex-direction: column; align-items: stretch; }
    .list-header .sort { flex-wrap: wrap; }
    .pagination { flex-wrap: wrap; }
    .catalog-main, .inquiry-main, .bom-main, .recycle-main { padding: 18px 16px; }
    .catalog-item { padding: 10px 8px; }
    .catalog-item .name, .catalog-item .count { font-size: 14px; }
    .catalog-stats { gap: 10px 20px; }
    .catalog-stats .stat-item { font-size: 13px; }
    .catalog-stats .stat-item .num { font-size: 17px; }
    .brand-header { padding: 20px; }
    .brand-header .brand-logo { width: 80px; height: 80px; font-size: 36px; }
    .brand-header .brand-info .name { font-size: 22px; }
    .brand-header .brand-stats .stat .num { font-size: 18px; }
    .product-list-header { flex-direction: column; align-items: stretch; }
    .product-list-header .filter-sort { flex-wrap: wrap; }
    .product-table { min-width: 850px; }
    .product-table .actions { flex-wrap: wrap; gap: 4px; }
    .product-table .actions .btn-sm { padding: 4px 10px; font-size: 10px; }
    .product-table .col-actions { min-width: 200px; }
    .bom-table { min-width: 820px; }
    .upload-zone { padding: 28px 16px; }
    .upload-zone .icon { font-size: 36px; }
    .bom-stats { gap: 16px 30px; }
    .qty-bid { flex-direction: column; align-items: stretch; }
    .action-buttons .btn { flex: 1; text-align: center; }
    .tabs-header { overflow-x: auto; }
    .tabs-header .tab { padding: 12px 16px; font-size: 14px; white-space: nowrap; }
    .recycle-table { min-width: 620px; }
    .business-intro { padding: 16px 18px; }
    .inquiry-table { min-width: 620px; }
    .add-row input { flex: 1 1 100%; }
    .add-row .btn-add, .manual-add .btn-add { width: 100%; text-align: center; }
    .submit-area .btn-submit, .submit-area .btn-reset { width: 100%; text-align: center; }
    .hero .logo { font-size: 34px; }
    .hero .tagline { font-size: 15px; }
    .hero-services { flex-wrap: wrap; gap: 12px 20px; }
    .hero-services .service-item { flex: 1 1 40%; justify-content: flex-start; }
    .footer .container { text-align: center; }
}
@media (max-width: 640px) {
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-rich .container { grid-template-columns: 1fr 1fr; }
    .form-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .category-grid { grid-template-columns: 1fr; }
    .brand-wall { grid-template-columns: 1fr 1fr; gap: 12px; }
    .brands-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .brand-card { padding: 16px 12px; }
    .brand-card .brand-icon { width: 60px; height: 60px; font-size: 26px; }
    .brand-card .brand-name { font-size: 15px; }
    .brand-card .brand-desc { font-size: 12px; min-height: 32px; }
    .brand-card .btn-view { padding: 6px 18px; font-size: 12px; }
    .inquiry-section .submit-btn { padding: 14px 40px; font-size: 18px; width: 100%; }
    .form-row { grid-template-columns: 1fr; }
    .product-item .info .model { font-size: 14px; }
    .product-item .info .desc { font-size: 12px; }
    .product-item .actions .btn { font-size: 11px; padding: 6px 0; min-width: 60px; }
    .catalog-item { padding: 8px 4px; flex-wrap: wrap; gap: 4px; }
    .catalog-item .name, .catalog-item .count { font-size: 13px; }
    .quick-categories .quick-tags a { font-size: 12px; padding: 3px 12px; }
    .product-table .actions .btn-sm { font-size: 9px; padding: 3px 8px; }
    .product-table .col-actions { min-width: 170px; }
    .bom-table .col-price { width: 100px; min-width: 80px; }
    .bom-table .col-stock { width: 110px; min-width: 100px; }
    .bom-table .col-actions { min-width: 140px; }
    .bom-table .actions .btn-sm { font-size: 9px; padding: 2px 6px; }
    .bom-actions .btn { flex: 1; text-align: center; }
    .recycle-table input, .recycle-table select { font-size: 12px; padding: 4px 6px; }
    .recycle-table .qty-input { width: 50px; }
    .manual-add input, .manual-add select { flex: 1 1 100%; }
    .empty-inquiry { padding: 20px 16px; }
    .empty-inquiry .submit-btn { padding: 14px 40px; font-size: 16px; width: 100%; }
    .brand-header .brand-stats { gap: 12px 20px; }
    .brand-header .brand-stats .stat { font-size: 12px; }
    .brand-header .brand-stats .stat .num { font-size: 16px; }
    .footer-rich .container { grid-template-columns: 1fr 1fr; gap: 24px; }
    .header .container .search-box { min-width: auto; }
}

/* ===== 询价页文本输入（Model / Brand / Package 单元格） ===== */
.inquiry-table .text-input {
    width: 100%;
    min-width: 110px;
    padding: 6px 10px;
    border: 1px solid #dce3ed;
    border-radius: 6px;
    font-size: 13.5px;
    outline: none;
    transition: 0.2s;
}
.inquiry-table .text-input:focus { border-color: #2E7D32; }

/* ===== 搜索联想下拉（Suggest） ===== */
.search-box { position: relative; overflow: visible; }
.search-box button { border-radius: 0 30px 30px 0; }
.hero .search-box button { border-radius: 0 50px 50px 0; }
.suggest-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 200;
    background: #ffffff;
    border: 1px solid #dce3ed;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 10px 28px rgba(0,0,0,0.12);
    overflow: hidden;
}
.suggest-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 9px 18px;
    font-size: 14px;
    color: #1a2a3a;
    cursor: pointer;
}
.suggest-item:hover { background: #f0f7f0; }
.suggest-item .suggest-model { font-weight: 600; color: #0a2b4b; }
.suggest-item .suggest-brand { color: #6a7a8a; font-size: 12.5px; white-space: nowrap; }

/* ===== 验证码字段 ===== */
.captcha-row { display: flex; gap: 10px; align-items: center; margin: 10px 0; }
.captcha-row .captcha-img { height: 40px; border-radius: 8px; cursor: pointer; flex: none; border: 1px solid #dce3ed; }
.captcha-row .captcha-input { flex: 1; padding: 10px 14px; border: 1px solid #dce3ed; border-radius: 8px; font-size: 14px; outline: none; background: #fff; color: #1a2a3a; }
.captcha-row .captcha-input:focus { border-color: #2E7D32; }
/* 首页深色询盘面板内的验证码输入 */
.inquiry-form .captcha-row .captcha-input { background: rgba(255,255,255,0.10); border: none; color: #fff; }
.inquiry-form .captcha-row .captcha-input::placeholder { color: rgba(255,255,255,0.5); }
/* 分类空列表 / 404 询价表单内（浅色） */
.empty-inquiry .captcha-row .captcha-input { background: #fafcfe; }

/* ===== 新闻资讯列表页（/Parts/News） ===== */
.news-hero { position: relative; text-align: center; padding: 32px 0 40px; overflow: hidden; border-radius: 18px; margin-bottom: 8px; background: linear-gradient(135deg, #eef6ee 0%, #e3f0fa 55%, #f4f6fb 100%); }
.news-hero::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 3px; background: linear-gradient(90deg, transparent, #2E7D32, transparent); border-radius: 2px; }
.news-hero .page-title { font-size: 34px; font-weight: 800; color: #0a2b4b; letter-spacing: -0.5px; margin-bottom: 8px; position: relative; z-index: 1; }
.news-hero .page-title span { color: #2E7D32; }
.news-hero .page-subtitle { font-size: 17px; color: #2a3a4a; max-width: 560px; margin: 0 auto; font-weight: 400; position: relative; z-index: 1; }
.news-main { display: flex; gap: 30px; margin-bottom: 44px; align-items: flex-start; }
.news-list-wrap { flex: 1; min-width: 0; }
.news-filter { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 28px; padding-bottom: 16px; border-bottom: 1px solid rgba(0,0,0,0.05); }
.news-filter .filter-item { padding: 6px 20px; border-radius: 30px; font-size: 13px; font-weight: 500; transition: .25s; background: #fff; border: 1px solid rgba(0,0,0,0.06); color: #4a5a6a; }
.news-filter .filter-item .f-count { color: #8a9aa8; font-weight: 400; font-size: 11px; margin-left: 4px; }
.news-filter .filter-item:hover { background: #e8f5e9; border-color: #2E7D32; color: #2E7D32; }
.news-filter .filter-item.active { background: #2E7D32; color: #fff; border-color: #2E7D32; }
.news-filter .filter-item.active .f-count { color: rgba(255,255,255,0.75); }
.news-item { display: flex; gap: 24px; background: #fff; border-radius: 16px; border: 1px solid #eaeef3; padding: 22px 26px 22px 22px; box-shadow: 0 2px 12px rgba(0,0,0,0.04); transition: all .35s cubic-bezier(.25,.46,.45,.94); margin-bottom: 20px; position: relative; overflow: hidden; }
.news-item::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(180deg, #2E7D32, #4CAF50); opacity: 0; transition: opacity .4s; border-radius: 16px 0 0 16px; }
.news-item:hover::before { opacity: 1; }
.news-item:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(46,125,50,0.06); border-color: rgba(46,125,50,0.10); }
.news-item .thumb { flex: 0 0 160px; height: 110px; border-radius: 12px; overflow: hidden; background: linear-gradient(135deg, #e8ecf0, #d5dce4); display: flex; align-items: center; justify-content: center; font-size: 36px; color: #8a9aa8; flex-shrink: 0; position: relative; }
.news-item .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-item .thumb .tag { position: absolute; top: 8px; left: 8px; background: rgba(46,125,50,0.9); color: #fff; font-size: 10px; font-weight: 600; padding: 2px 12px; border-radius: 20px; letter-spacing: .5px; }
.news-item .content { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; }
.news-item .content .meta { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 12px; color: #8a9aa8; margin-bottom: 6px; }
.news-item .content .meta .date { display: flex; align-items: center; gap: 4px; }
.news-item .content .meta .category { color: #2E7D32; font-weight: 600; background: #e8f5e9; padding: 0 12px; border-radius: 20px; line-height: 22px; }
.news-item .content .title { font-size: 18px; font-weight: 700; color: #0a2b4b; margin-bottom: 6px; transition: color .2s; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.news-item:hover .content .title { color: #2E7D32; }
.news-item .content .summary { font-size: 14px; color: #5a6a7a; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 10px; }
.news-item .content .news-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.news-item .content .news-foot .read-more { font-size: 13px; font-weight: 600; color: #2E7D32; transition: .2s; background: transparent; padding: 0; border: none; }
.news-item .content .news-foot .read-more:hover { letter-spacing: .5px; }
.news-item .content .news-foot .views { font-size: 12px; color: #8a9aa8; }
.news-empty { padding: 48px 24px; text-align: center; color: #8a9aa8; background: #fff; border: 1px dashed #d5dce4; border-radius: 16px; }
.news-sidebar { flex: 0 0 300px; display: flex; flex-direction: column; gap: 24px; }
.news-sidebar .sidebar-card { background: #fff; border-radius: 16px; border: 1px solid #eaeef3; padding: 24px 22px; box-shadow: 0 2px 12px rgba(0,0,0,0.04); transition: box-shadow .3s; }
.news-sidebar .sidebar-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.news-sidebar .card-title { font-size: 17px; font-weight: 700; color: #0a2b4b; padding-bottom: 14px; border-bottom: 1.5px solid rgba(0,0,0,0.05); margin-bottom: 16px; }
.news-sidebar .card-title span { color: #2E7D32; }
.hot-list .hot-item { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,0.04); }
.hot-list .hot-item:last-child { border-bottom: none; }
.hot-list .hot-item .index { flex: 0 0 26px; height: 26px; border-radius: 50%; background: #f0f4f8; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: #6a7a8a; }
.hot-list .hot-item:nth-child(1) .index { background: #2E7D32; color: #fff; }
.hot-list .hot-item:nth-child(2) .index { background: #388E3C; color: #fff; }
.hot-list .hot-item:nth-child(3) .index { background: #4CAF50; color: #fff; }
.hot-list .hot-item .hot-title { font-size: 14px; font-weight: 500; color: #1a2a3a; flex: 1; transition: .2s; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.hot-list .hot-item:hover .hot-title { color: #2E7D32; }
.hot-list .hot-item .hot-views { font-size: 11px; color: #8a9aa8; flex-shrink: 0; }
.category-list { display: flex; flex-wrap: wrap; gap: 8px; }
.category-list .cat-item { padding: 4px 16px; border-radius: 30px; font-size: 13px; font-weight: 500; color: #4a5a6a; background: #f4f6f9; border: 1px solid rgba(0,0,0,0.04); transition: .25s; }
.category-list .cat-item:hover, .category-list .cat-item.active { background: #e8f5e9; border-color: #2E7D32; color: #2E7D32; }
.category-list .cat-item .count { color: #8a9aa8; font-weight: 400; font-size: 11px; margin-left: 4px; }
.tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-cloud .tag-item { padding: 4px 14px; border-radius: 30px; font-size: 12px; font-weight: 500; color: #4a5a6a; background: #f4f6f9; border: 1px solid rgba(0,0,0,0.04); }
.tag-cloud .tag-item.large { font-size: 15px; padding: 6px 18px; }
.tag-cloud .tag-item.small { font-size: 11px; padding: 2px 10px; }
@media (max-width: 992px) { .news-main { flex-direction: column; } .news-sidebar { flex: 1; width: 100%; } .news-item { flex-direction: column; padding: 18px 18px 20px; } .news-item .thumb { flex: 0 0 auto; width: 100%; height: 160px; } .news-item .content .title { font-size: 16px; } .news-hero .page-title { font-size: 26px; } }
@media (max-width: 480px) { .news-hero .page-title { font-size: 22px; } .news-item .thumb { height: 120px; } }

/* ===== 新闻详情页（/Parts/News/{id}） ===== */
.news-detail-wrapper { display: flex; gap: 30px; margin-bottom: 44px; align-items: flex-start; }
.news-detail-main { flex: 1; min-width: 0; }
.news-article { background: #fff; border-radius: 18px; border: 1px solid #eaeef3; padding: 36px 40px 32px; box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.news-article .article-header { border-bottom: 1px solid rgba(0,0,0,0.06); padding-bottom: 18px; margin-bottom: 20px; }
.news-article .article-header .category-tag { display: inline-block; background: #e8f5e9; color: #2E7D32; font-size: 12px; font-weight: 600; padding: 2px 16px; border-radius: 30px; margin-bottom: 10px; }
.news-article .article-header .title { font-size: 28px; font-weight: 800; color: #0a2b4b; line-height: 1.3; margin-bottom: 10px; }
.news-article .article-header .meta { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 13px; color: #8a9aa8; }
.news-article .article-header .meta .item { display: flex; align-items: center; gap: 4px; }
.news-article .article-header .meta .item .icon { font-size: 15px; }
.news-article .article-cover { width: 100%; height: 320px; border-radius: 12px; overflow: hidden; background: linear-gradient(135deg, #e8ecf0, #d5dce4); margin-bottom: 24px; display: flex; align-items: center; justify-content: center; font-size: 64px; color: #8a9aa8; }
.news-article .article-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-article .article-body { font-size: 15px; color: #2a3a4a; line-height: 1.9; word-wrap: break-word; overflow-wrap: break-word; }
.news-article .article-body p { margin-bottom: 16px; }
.news-article .article-body h2 { font-size: 20px; font-weight: 700; color: #0a2b4b; margin: 24px 0 12px; }
.news-article .article-body h3 { font-size: 17px; font-weight: 600; color: #0a2b4b; margin: 18px 0 10px; }
.news-article .article-body ul, .news-article .article-body ol { padding-left: 24px; margin: 10px 0 16px; }
.news-article .article-body ul li, .news-article .article-body ol li { margin-bottom: 6px; }
.news-article .article-body img { max-width: 100%; height: auto; border-radius: 10px; }
.news-article .article-body .highlight-box { background: rgba(232,245,233,0.3); border-left: 4px solid #2E7D32; padding: 16px 20px; border-radius: 8px; margin: 16px 0; }
.news-article .article-body .highlight-box strong { color: #2E7D32; }
.news-article .article-body a { color: #2E7D32; font-weight: 500; text-decoration: underline; }
.news-article .article-body a:hover { color: #1B5E20; }
.news-article .article-body .image-placeholder { width: 100%; height: 200px; background: linear-gradient(135deg, #e8ecf0, #d5dce4); border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 28px; color: #8a9aa8; margin: 16px 0; }
.news-sidebar .sidebar-card { background: #fff; border-radius: 16px; border: 1px solid #eaeef3; padding: 22px 24px; box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.news-sidebar .card-title { font-size: 16px; font-weight: 700; color: #0a2b4b; padding-bottom: 12px; border-bottom: 1.5px solid rgba(0,0,0,0.05); margin-bottom: 14px; }
.news-sidebar .card-title span { color: #2E7D32; }
.author-info { display: flex; align-items: center; gap: 14px; }
.author-info .avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, #2E7D32, #4CAF50); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; flex-shrink: 0; }
.author-info .details .name { font-size: 15px; font-weight: 600; color: #0a2b4b; }
.author-info .details .role { font-size: 13px; color: #6a7a8a; }
.hot-list .hot-item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,0.04); transition: .2s; }
.hot-list a.hot-item { text-decoration: none; }
.hot-list .hot-item:last-child { border-bottom: none; }
.hot-list .hot-item:hover .hot-title { color: #2E7D32; }
.hot-list .hot-item .index { flex: 0 0 24px; font-size: 13px; font-weight: 700; color: #8a9aa8; }
.hot-list .hot-item:nth-child(1) .index { color: #2E7D32; }
.hot-list .hot-item:nth-child(2) .index { color: #388E3C; }
.hot-list .hot-item:nth-child(3) .index { color: #4CAF50; }
.hot-list .hot-item .hot-title { font-size: 14px; font-weight: 500; color: #1a2a3a; flex: 1; transition: .2s; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.related-list .related-item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,0.04); transition: .2s; }
.related-list a.related-item { text-decoration: none; }
.related-list .related-item:last-child { border-bottom: none; }
.related-list .related-item:hover .rel-title { color: #2E7D32; }
.related-list .related-item .rel-thumb { flex: 0 0 64px; height: 48px; border-radius: 8px; background: linear-gradient(135deg, #e8ecf0, #d5dce4); overflow: hidden; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #8a9aa8; }
.related-list .related-item .rel-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.related-list .related-item .rel-body { flex: 1; min-width: 0; }
.related-list .related-item .rel-body .rel-title { font-size: 13px; font-weight: 500; color: #1a2a3a; transition: .2s; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.related-list .related-item .rel-body .rel-date { font-size: 11px; color: #8a9aa8; }
.back-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: #2E7D32; margin-bottom: 16px; transition: .2s; }
.back-link:hover { gap: 10px; }
/* 详情页侧栏卡片间距（与列表页侧栏略异） */
.news-detail-wrapper .news-sidebar { flex: 0 0 300px; display: flex; flex-direction: column; gap: 20px; }
@media (max-width: 992px) { .news-detail-wrapper { flex-direction: column; } .news-detail-wrapper .news-sidebar { flex: 1; width: 100%; } .news-article { padding: 28px 24px; } .news-article .article-header .title { font-size: 24px; } .news-article .article-cover { height: 220px; } }
@media (max-width: 768px) { .news-article { padding: 20px 16px; border-radius: 14px; } .news-article .article-header .title { font-size: 20px; } .news-article .article-cover { height: 160px; font-size: 40px; } .news-article .article-body { font-size: 14px; } .news-article .article-body h2 { font-size: 18px; } .news-detail-wrapper .news-sidebar { flex-direction: column; } }
@media (max-width: 480px) { .news-article .article-header .title { font-size: 18px; } .news-article .article-cover { height: 120px; font-size: 32px; } .news-article .article-body { font-size: 13px; } }
/* 列表/首页新闻链接化后的样式修复 */
.news-item .content .title a { color: inherit; text-decoration: none; }
.news-item .content .news-foot a.read-more { color: #2E7D32; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; background: transparent !important; padding: 0; border: none; box-shadow: none; }
/* 详情页 PDF Datasheet（SHEET_URL 真实链接 + 来源页） */
.panel-pdf .pdf-item a { color: #2E7D32; font-weight: 600; text-decoration: none; }
.panel-pdf .pdf-item a:hover { text-decoration: underline; }
.panel-pdf .pdf-source { font-size: 12px; color: #8a9aa8; margin-top: 4px; padding-left: 26px; }
.panel-pdf .pdf-source a { color: #6a7a8a; }
.panel-pdf .pdf-empty { font-size: 14px; color: #6a7a8a; }
.panel-pdf .pdf-empty a { color: #2E7D32; font-weight: 600; }
.news-grid a.news-card { display: block; color: inherit; text-decoration: none; }

/* ===== 404 页面（/Parts/{model} 未命中、通用 404；布局取自 404 页面原型） ===== */
.error-404 { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 60px 20px 80px; min-height: 50vh; }
.error-404 .error-code { font-size: 120px; font-weight: 800; color: #2E7D32; letter-spacing: -6px; line-height: 1; margin-bottom: 10px; opacity: .2; user-select: none; }
.error-404 .error-title { font-size: 32px; font-weight: 700; color: #0a2b4b; margin-bottom: 12px; }
.error-404 .error-title span { color: #2E7D32; }
.error-404 .error-desc { font-size: 17px; color: #5a6a7a; max-width: 460px; margin-bottom: 30px; }
.error-404 .error-desc strong { color: #0a2b4b; }
.error-404 .error-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.error-404 .btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 32px; border-radius: 40px; font-weight: 600; font-size: 15px; transition: .3s; cursor: pointer; border: none; }
.error-404 .btn-primary { background: #2E7D32; color: #fff; box-shadow: 0 4px 16px rgba(46,125,50,0.2); }
.error-404 .btn-primary:hover { background: #1B5E20; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(46,125,50,0.3); }
.error-404 .btn-outline { background: transparent; color: #2E7D32; border: 2px solid #2E7D32; }
.error-404 .btn-outline:hover { background: #e8f5e9; }
@media (max-width: 768px) { .error-404 .error-code { font-size: 80px; } .error-404 .error-title { font-size: 26px; } .error-404 .error-desc { font-size: 15px; } }
@media (max-width: 480px) { .error-404 .error-code { font-size: 60px; letter-spacing: -3px; } .error-404 .error-title { font-size: 22px; } .error-404 .btn { padding: 10px 24px; font-size: 14px; } }

/* ===== 详情页参数入 Product Details tab（.spec-block） ===== */
.panel-detail .spec-block { margin-top: 18px; }
.panel-detail .spec-block h3 { font-size: 17px; font-weight: 700; color: #0a2b4b; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid #eaeef3; }

/* ===== 关于我们页（/Parts/About） ===== */
.about-container { margin: 20px 0 40px; }
.about-hero { background: #fff; border-radius: 14px; border: 1px solid #eaeef3; padding: 40px 44px; box-shadow: 0 1px 4px rgba(0,0,0,0.04); margin-bottom: 30px; }
.about-hero .hero-label { font-size: 13px; color: #2E7D32; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 6px; }
.about-hero .hero-title { font-size: 28px; font-weight: 700; color: #0a2b4b; margin-bottom: 16px; }
.about-hero .hero-desc { font-size: 15px; color: #4a5a6a; line-height: 1.9; max-width: 820px; }
.about-hero .hero-desc p { margin-bottom: 14px; }
.about-hero .hero-desc strong { color: #0a2b4b; }
.about-hero .hero-desc .highlight { color: #2E7D32; font-weight: 600; }
.about-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 30px; }
.about-stats .stat-item { background: #fff; border-radius: 14px; border: 1px solid #eaeef3; padding: 24px 16px; text-align: center; box-shadow: 0 1px 4px rgba(0,0,0,0.04); transition: .3s; }
.about-stats .stat-item:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); border-color: #2E7D32; }
.about-stats .stat-item .number { font-size: 32px; font-weight: 800; color: #2E7D32; display: block; }
.about-stats .stat-item .label { font-size: 14px; color: #6a7a8a; margin-top: 4px; }
.about-mvv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 30px; }
.about-mvv .mvv-item { background: #fff; border-radius: 14px; border: 1px solid #eaeef3; padding: 28px 24px; box-shadow: 0 1px 4px rgba(0,0,0,0.04); text-align: center; transition: .3s; }
.about-mvv .mvv-item:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); border-color: #2E7D32; }
.about-mvv .mvv-item .num { font-size: 14px; font-weight: 700; color: #2E7D32; letter-spacing: 1px; margin-bottom: 6px; }
.about-mvv .mvv-item .title { font-size: 18px; font-weight: 700; color: #0a2b4b; margin-bottom: 4px; }
.about-mvv .mvv-item .desc { font-size: 14px; color: #4a5a6a; line-height: 1.6; }
.about-timeline { background: #fff; border-radius: 14px; border: 1px solid #eaeef3; padding: 32px 36px; box-shadow: 0 1px 4px rgba(0,0,0,0.04); margin-bottom: 30px; }
.about-timeline .section-title { font-size: 20px; font-weight: 700; color: #0a2b4b; margin-bottom: 20px; text-align: center; }
.about-timeline .timeline-list { display: flex; flex-direction: column; position: relative; padding-left: 28px; }
.about-timeline .timeline-list::before { content: ''; position: absolute; left: 8px; top: 8px; bottom: 8px; width: 2px; background: #2E7D32; opacity: .3; }
.about-timeline .timeline-item { display: flex; gap: 20px; padding: 14px 0; border-bottom: 1px solid #edf0f5; position: relative; }
.about-timeline .timeline-item:last-child { border-bottom: none; }
.about-timeline .timeline-item .dot { position: absolute; left: -24px; top: 18px; width: 12px; height: 12px; border-radius: 50%; background: #2E7D32; border: 2px solid #fff; box-shadow: 0 0 0 2px #2E7D32; }
.about-timeline .timeline-item .year { font-weight: 700; color: #2E7D32; font-size: 16px; min-width: 70px; flex-shrink: 0; padding-top: 2px; }
.about-timeline .timeline-item .content { font-size: 14px; color: #4a5a6a; line-height: 1.6; }
.about-timeline .timeline-item .content strong { color: #0a2b4b; }
.about-certificates { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 30px; }
.about-certificates .cert-item { background: #fff; border-radius: 12px; border: 1px solid #eaeef3; padding: 20px 16px; text-align: center; box-shadow: 0 1px 4px rgba(0,0,0,0.04); transition: .3s; }
.about-certificates .cert-item:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0,0,0,0.06); border-color: #2E7D32; }
.about-certificates .cert-item .icon { font-size: 32px; display: block; margin-bottom: 6px; }
.about-certificates .cert-item .name { font-size: 14px; font-weight: 600; color: #0a2b4b; }
.about-certificates .cert-item .desc { font-size: 12px; color: #6a7a8a; margin-top: 2px; }
.about-cta { background: linear-gradient(135deg, #0a2b4b 0%, #1a4a6e 100%); border-radius: 14px; padding: 36px 40px; text-align: center; color: #fff; }
.about-cta .cta-title { font-size: 22px; font-weight: 700; margin-bottom: 6px; }
.about-cta .cta-desc { font-size: 15px; opacity: .8; margin-bottom: 18px; }
.about-cta .cta-btn { display: inline-block; padding: 12px 44px; background: #2E7D32; color: #fff; border-radius: 30px; font-weight: 600; font-size: 16px; transition: .25s; }
.about-cta .cta-btn:hover { background: #1B5E20; transform: scale(1.02); }
@media (max-width: 992px) { .about-stats { grid-template-columns: repeat(2, 1fr); } .about-mvv { grid-template-columns: repeat(2, 1fr); } .about-certificates { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .about-hero { padding: 28px 20px; } .about-hero .hero-title { font-size: 22px; } .about-mvv { grid-template-columns: 1fr; } .about-certificates { grid-template-columns: 1fr 1fr; } }

/* ===== 页眉认证图标（ISO 9001 / ISO 14001 / D-U-N-S / ERAI） ===== */
.header-certs { display: flex; align-items: center; gap: 14px; flex: none; margin-left: 18px; }
.header-certs img { height: 34px; width: auto; display: block; }
.header-certs a { display: block; line-height: 0; transition: transform .15s ease, opacity .15s ease; }
.header-certs a:hover { transform: translateY(-1px); opacity: .85; }
@media (max-width: 1200px) { .header-certs { gap: 10px; margin-left: 12px; } .header-certs img { height: 28px; } }
@media (max-width: 1000px) { .header-certs { display: none; } }
