:root {
    --red: #e3051a;
    --red-dark: #bb0012;
    --ink: #2d3946;
    --text: #333;
    --muted: #777;
    --line: #ddd;
    --light: #f7f7f7;
    --white: #fff;
    --nav: #2e343a;
    --max: 1170px;
}

@font-face {
    font-family: "Oswald";
    src: url("fonts/oswald-light-webfont.woff2") format("woff2"),
         url("fonts/oswald-light-webfont.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Oswald";
    src: url("fonts/oswald-medium-webfont.woff2") format("woff2"),
         url("fonts/oswald-medium-webfont.woff") format("woff");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #797979; background: var(--white); font-family: "Oswald", sans-serif; font-size: 18px; line-height: 1.6; overflow-x: hidden; }
/* 旧站 merged CSS 的全局段落规则：字间距 .01em、词间距 .02em */
p { letter-spacing: .01em; word-spacing: .02em; }
img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.container { width: min(calc(100% - 30px), var(--max)); margin-inline: auto; padding-inline: 15px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 10px 14px; color: #fff; background: #000; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.text-center { text-align: center; }

.site-header { position: relative; z-index: 20; background: #fff; }
.masthead { min-height: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding-block: 15px; }
.brand img { width: auto; height: 80px; max-height: none; object-fit: contain; }
.hotline { width: 360px; display: flex; align-items: flex-start; justify-content: flex-end; gap: 0; color: #797979; text-align: left; }
.hotline > div { margin-top: 14px; }
.hotline a { display: block; color: var(--red); font-size: 29px; font-weight: 700; line-height: 1.6; }
.hotline span { display: block; margin-top: -5px; color: #797979; font-size: 17px; line-height: 1.6; }
.hotline img { width: 90px; height: auto; object-fit: contain; }
.menu-toggle { display: none; min-width: 64px; min-height: 42px; border: 1px solid var(--line); color: #fff; background: var(--nav); cursor: pointer; }

.site-nav { position: sticky; top: 0; z-index: 70; background: #2d3946; }
.site-nav .container { padding-inline: 15px; }
.nav-inner { min-height: 72px; display: flex; align-items: stretch; }
.site-nav a, .language-button { position: relative; min-width: 0; height: 72px; display: inline-flex; align-items: center; justify-content: center; padding: 0 34px; border: 0; color: #fff; background: transparent; font-size: 16px; font-weight: 700; line-height: 20px; cursor: pointer; }
.site-nav a:not(.nav-home):not(.nav-shop):hover, .site-nav a:not(.nav-home):not(.nav-shop).active { border-bottom: 5px solid var(--red); }
.nav-home { width: 98px; padding: 0 16px 0 0 !important; justify-content: flex-start !important; background: url("legacy/nav-home.png") no-repeat 15px center !important; }
.nav-home:hover { background-image: url("legacy/nav-home-hover.png") !important; }
.nav-shop, .language-button { width: 173px; padding: 0 20px !important; color: #fff !important; background-color: var(--red) !important; }
.nav-shop { border-right: 1px solid #fff !important; }
.nav-shop::before, .language-button::before { content: ""; width: 40px; height: 40px; display: block; margin-right: 10px; background: center / contain no-repeat; }
.nav-shop::before { background-image: url("legacy/nav-shop.png"); }
.language-button::before { background-image: url("legacy/nav-language.png"); }
.nav-shop:hover, .language-button:hover { color: #2d3946 !important; background-color: #fff !important; }
.nav-spacer { flex: 1; }

.language-overlay { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; background: rgba(0,0,0,.55); }
.language-overlay[hidden] { display: none; }
.language-overlay-modal { position: relative; width: min(360px, calc(100% - 42px)); padding: 28px 34px; background: #fff; box-shadow: 0 14px 45px rgba(0,0,0,.25); }
.language-overlay-close-btn { position: absolute; top: 8px; right: 12px; border: 0; background: none; font-size: 28px; cursor: pointer; }
.language-overlay ul { padding: 0; margin: 0; list-style: none; }
.language-overlay li + li { border-top: 1px solid #eee; }
.language-overlay a { display: block; padding: 13px 0; }

.legacy-hero { position: relative; min-height: 480px; background: #1e2328; overflow: hidden; }
.hero-slide img { width: 100%; height: 480px; object-fit: cover; object-position: center; }
.product-search-absolute { position: absolute; top: 50%; right: 0; left: 0; z-index: 3; transform: translateY(-50%); }
.legacy-search-panel { width: calc(50% - 30px); margin: 0 auto 30px; padding: 36px; color: #fff; background: rgba(45, 57, 70, .85); }
.legacy-search-panel p { margin: 0 0 16px; text-align: center; font-size: 32px; font-weight: 400; line-height: 1.6; }
.site-search { position: relative; display: flex; height: 50px; background: #fff; border-radius: 25px; }
.site-search input { min-width: 0; flex: 1; padding: 10px 28px 8px 25px; border: 1px solid #dadbdc; border-right: 0; border-radius: 25px 0 0 25px; outline: 0; color: #555; font-size: 16px; line-height: 22.8571px; }
.site-search button { position: relative; flex: 0 0 67px; width: 67px; border: 1px solid #dadbdc; border-left: 0; border-radius: 0 25px 25px 0; color: #2d3946; background: #fff; cursor: pointer; }
/* 放大镜用旧站 FontAwesome fa-search 字形（26px），位置同旧站按钮内边距 */
.search-glyph { position: absolute; top: 9px; left: 18px; color: #2d3946; }
.site-search input::placeholder { color: #999; opacity: 1; }
/* 首页大图搜索框：旧站为表格布局，占位文字基线比弹性布局低 1px */
.legacy-search-panel .site-search input { padding-top: 11px; padding-bottom: 7px; }
/* type=search 在 Chrome 里的内部排版比 type=text 高 1px；去掉搜索框外观，与旧站 text 输入框一致 */
.site-search input[type="search"] { -webkit-appearance: none; appearance: none; }
.site-search input[type="search"]::-webkit-search-cancel-button, .site-search input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
.site-search button:hover { background: var(--red-dark); }
.site-search button:hover .search-glyph { color: #fff; }
/* 搜索提示：按旧站 #tips —— 输入框下方白底细边框，只列产品名（16px / 500 / #2d3946），点击进入搜索结果页 */
.suggestions { position: absolute; z-index: 50; top: 50px; right: 0; left: 0; padding: 10px 25px; text-align: left; background: #fff; border: 1px solid #dadbdc; }
.suggestions[hidden] { display: none; }
.suggestion-item { display: block; width: 100%; font-size: 16px; font-weight: 500; line-height: 25.6px; text-align: left; color: #2d3946; text-decoration: none; }
.suggestion-item:hover, .suggestion-item:focus { color: var(--red); outline: 0; }

.leistungen-wrapper { background: #97a4aa; border: 0; }
.service-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding-inline: 0; }
/* 卡片内宽 W = 列宽 − 150；图标列 (W+30)/3−30，文字列占其余（与旧站 col-md-4 / col-md-8 相同） */
.service-card { display: grid; grid-template-columns: calc((100% + 30px) / 3 - 30px) 1fr; column-gap: 30px; align-items: start; align-content: start; padding: 24px 75px 12px; border: 0; color: #fff; }
.service-card:hover h3 { color: #fff; }
.service-card img { width: 80px; max-width: none; height: 80px; object-fit: contain; margin: 0; }
.service-card h3 { margin: 10px 0 0; color: #fff; text-align: center; font-size: 24px; font-weight: 700; line-height: 28.8px; }
.service-card p { margin: 0; color: #fff; text-align: center; font-size: 24px; font-weight: 400; line-height: 38.4px; }

.legacy-section { padding: 50px 0; }
.intro-headline { margin-top: 1px; padding: 50px 0 0; }  /* 旧站两区块之间有一个 1px 高的空容器 */
.intro-headline h2 { margin: 20px 0 10px; color: #2c2c2c; text-align: center; font-size: 32px; font-weight: 700; line-height: 38.4px; }
.video-section { height: 580px; padding: 50px 0; }
.company-movie { position: relative; overflow: hidden; background: #fff; }
.company-movie video { width: 100%; height: 480px; object-fit: cover; }
.company-movie-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 40px; border: 0; color: #fff; background: rgba(22,29,35,.1); font: inherit; cursor: pointer; }
.company-movie-overlay:hover { background: rgba(22,29,35,.2); }
.company-movie-play { display: block; padding-bottom: 9px; line-height: 0; }
.company-movie-play .legacy-icon { display: block; }
.company-movie-playtext { display: block; margin: 20px 0 10px; padding-left: 30px; font-size: 24px; font-weight: 700; line-height: 28.8px; }
.video-lightbox { position: fixed; z-index: 100; top: 50%; left: 50%; width: min(920px, calc(100% - 34px)); transform: translate(-50%, -50%); background: #000; }
.video-lightbox[hidden], .video-fade[hidden] { display: none; }
.video-lightbox video { width: 100%; }
.video-fade { position: fixed; inset: 0; z-index: 95; background: rgba(0,0,0,.72); }
.boxclose { position: absolute; top: -42px; right: 0; width: 34px; height: 34px; border: 0; color: #fff; background: transparent; font-size: 34px; cursor: pointer; }

.company-copy { padding: 50px 0 0; font-family: "Oswald", sans-serif; }
.company-copy p { margin: 0 0 16px; color: #797979; font-size: 18px; }
.company-copy strong { color: #000; font-size: 20px; letter-spacing: .18px; word-spacing: .36px; }
.company-copy-spacer { position: relative; height: 28.796875px; }
.company-copy-closing { position: relative; }
.legacy-gallery { padding: 50px 0; }
.gallery-grid, .cert-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.gallery-grid img, .cert-grid img { width: 100%; aspect-ratio: 370 / 294; object-fit: cover; }

.digital { width: min(calc(100% - 30px), calc(var(--max) - 30px)); height: 247px; min-height: 247px; margin-inline: auto; padding: 50px 0; color: #fff; }
.digital, .certify, .news-section, .client-strip { font-family: "Oswald", sans-serif; }
.digital > .container { width: calc(100% + 30px); max-width: none; margin: 0 -30px 0 0; }
.mumping_mun { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; margin: 0 0 20px; list-style: none; }
.mumping_mun li { margin: 5px 0; padding: 0 15px; text-align: center; }
.mumping_mun h2 { margin: 20px 10px 10px 0; color: var(--red); font-size: 45px; font-weight: 600; line-height: 54px; }
.mumping_mun p { margin: 0 0 5px; color: var(--ink); font-size: 30px; font-weight: 600; line-height: 48px; }

.certify { margin-bottom: 91px; padding: 50px 0; }
.certify h3 { margin: 0; color: #2c2c2c; text-align: center; font-size: 24px; font-weight: 700; line-height: 1.2; }
.certify h3 + h3 { margin-top: 20px; }
.cert-grid { width: calc(100% + 30px); grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 40px; margin-right: -30px; }
.cert-grid img { width: calc(100% - 30px); height: auto; margin-inline: 15px; aspect-ratio: 370 / 294; object-fit: contain; padding: 0; background: #fff; }

.news-section { margin-bottom: 20px; padding-top: 60px; padding-bottom: 60px; }
.heading-1 { margin: 0 0 30px; color: #2c2c2c; text-align: center; font-size: 42px; font-weight: 700; line-height: 1.2; }
.legacy-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.legacy-news-card { display: flex; min-width: 0; flex-direction: column; }
.news-image img { width: 100%; height: auto; max-height: 270px; object-fit: cover; object-position: top; }
.news-image h4 { height: 100px; margin: 0; padding: 18px 15px 13px; color: #fff; background: #2d3946; font-size: 26px; line-height: 31.2px; overflow: hidden; }
.news-image:hover h4 { color: var(--red); }
.legacy-news-card p { margin: 20px 0 16px; color: #797979; line-height: 28.8px; text-align: justify; }
.btn-read { height: 49.421875px; display: block; margin-top: auto; padding: 12px 18px 6px; color: #fff; text-align: center; background: var(--red); border: 0; font-size: 22px; font-weight: 700; line-height: 31.4286px; }
.btn-read:hover { color: #fff; background: var(--red); border-color: var(--red); }

.client-strip { margin-bottom: 100px; padding: 100px 0; color: #fff; background: #2d3946; }
.client-logo-grid { display: flex; gap: 30px; }
.client-logo-grid img { width: 100%; height: auto; }

/* 页脚：按旧站 foot.html + merged CSS 实测（1440 宽）复刻 */
.site-footer { position: relative; padding: 110px 0 50px; color: #fff; background: #2d3946; font-size: 18px; line-height: 28.8px; }
/* 旧站 footer.background::before：页脚上方 830px 的灰色多边形装饰，透过上方透明区块可见 */
.site-footer::before { content: ""; position: absolute; top: -830px; left: 0; z-index: -1; width: 100%; height: 830px; background: url("legacy/polygone.png") no-repeat 0 0 / cover; }
.footer-newsletter-anchor { position: relative; height: 1px; }
.newsletter-bar { position: absolute; top: -221.969px; right: 0; left: 0; padding: 30px; background: #848f96; }
.newsletter-box { display: flex; align-items: stretch; }
.newsletter-title { flex: 0 0 162px; display: flex; align-items: flex-start; justify-content: center; padding: 12px 30px 6px 12px; color: #fff; font-size: 30px; font-weight: 700; line-height: 30px; text-align: center; }
.subscribe-form { flex: 1; min-width: 0; }
.subscribe-row { display: flex; height: 50px; }
.subscribe-row input[type="email"] { flex: 1; min-width: 0; height: 50px; padding: 12px 28px 8px; color: #555; background: #fff; border: 1px solid #dadbdc; border-right: 0; border-radius: 0; outline: 0; font-size: 26px; line-height: 37.1429px; }
.subscribe-row input[type="email"]::placeholder { color: #999; }
.subscribe-row input[type="email"]:focus { border-color: #97a4aa; }
.subscribe-submit { flex: 0 0 99px; padding-left: 20px; }
.subscribe-submit button { width: 80px; height: 50px; margin-left: -1px; padding: 12px 18px 6px; color: #fff; background: var(--red); border: 0; font-size: 22px; font-weight: 700; line-height: 10px; text-transform: uppercase; cursor: pointer; }
.subscribe-submit button:hover { background: var(--red-dark); }
.honeypot { position: absolute !important; left: -9999px !important; }
.form-success, .form-error { margin: 6px 0 0; color: #fff; font-size: 14.4px; line-height: 23.04px; font-weight: 700; }
.form-error { color: #ffd5d5; }
.newsletter-consent { display: flex; align-items: flex-start; gap: 8px; margin: 0 7.2px 5px 0; padding-top: 7.2px; color: #fff; font-size: 80%; font-weight: 700; line-height: 1.6; cursor: pointer; }
.newsletter-consent input { flex: 0 0 13px; width: 13px; height: 13px; margin: 3px 2.88px 0 0; }
.newsletter-consent small { font-size: 95%; }  /* 旧站是百分比字号，直接写 13.68px 会让字形步进差 1/64 */
.newsletter-consent a { color: inherit; font-weight: inherit; }
.newsletter-consent a:hover { text-decoration: underline; }
.footer-address { margin-top: 20px; padding: 0 0 10px 25px; color: #fff; }
.footer-address p { margin: 0; color: #fff; letter-spacing: .18px; }
.footer-address strong { font-weight: 700; }
.footer-address a, .footer-social a { color: #fff; font-weight: 300; text-decoration: none; }
.footer-address a:hover, .footer-social a:hover { color: #d9d9d9; }
.footer-address hr { margin: 20px 0; border: 0; border-top: 1px solid #dadbdc; }
.footer-copyright { display: flex; justify-content: space-between; }
.footer-copyright img { display: inline-block; width: 20px; height: auto; vertical-align: sub; }
.footer-social { display: flex; height: 73.797px; margin: 0 -30px 0 0; padding: 0 0 0 calc((100% + 30px) * .75 + 15px); list-style: none; }
.footer-social li { margin-bottom: 8px; padding: 10px; }
.footer-social .legacy-icon { display: block; height: 36px; }

.section { padding: 58px 0; }
.section-muted { background: var(--light); }
.page-hero { color: #fff; background: #30363c; border-bottom: 4px solid var(--red); }
.page-hero .container { min-height: 210px; display: flex; flex-direction: column; justify-content: center; padding-block: 34px; }
.page-hero h1 { margin: 0; font-size: 42px; font-weight: 500; line-height: 1.25; }
.eyebrow { margin: 0 0 10px; color: #ddd; font-size: 13px; font-weight: 700; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.section-heading h2, .feature-copy h2, .prose h2 { margin: 0; font-size: 32px; line-height: 1.3; }
.text-link { color: var(--red); font-weight: 700; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.product-card { border: 1px solid var(--line); background: #fff; }
.product-image { display: block; overflow: hidden; background: #f0f0f0; }
.product-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .25s ease; }
.product-card:hover .product-image img { transform: scale(1.03); }
.product-body { padding: 18px 20px 22px; }
.product-body p { margin: 0 0 4px; color: var(--red); font-size: 13px; font-weight: 700; }
.product-body h2, .product-body h3 { margin: 0; color: var(--ink); font-size: 18px; line-height: 1.45; }
.product-body span { display: block; margin-top: 8px; color: var(--muted); font-family: Consolas, monospace; font-size: 13px; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.news-card img, .news-row img { width: 100%; aspect-ratio: 500 / 332; object-fit: cover; }
.news-card h3, .news-row h2, .search-results h2 { color: var(--ink); line-height: 1.4; }
.news-card time, .news-row time, .article-meta, .search-results article > span { color: var(--red); font-size: 13px; font-weight: 700; }
.news-list { display: grid; gap: 0; }
.news-row { display: grid; grid-template-columns: 320px 1fr; gap: 30px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: 48px; align-items: center; }
.detail-image { padding: 18px; background: var(--light); }
.detail-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.detail-copy h1 { margin: 0 0 18px; font-size: 36px; line-height: 1.3; }
.detail-copy dl { margin: 22px 0; border-top: 1px solid var(--line); }
.detail-copy dl div { display: grid; grid-template-columns: 90px 1fr; padding: 10px 0; border-bottom: 1px solid var(--line); }
.detail-copy dt { color: var(--muted); }
.detail-copy dd { margin: 0; font-family: Consolas, monospace; }
.prose, .article-prose { max-width: 900px; font-size: 17px; }
.search-results { max-width: 920px; }
.result-count { margin-top: 0; padding-bottom: 18px; border-bottom: 2px solid var(--ink); }
.search-results article { padding: 22px 0; border-bottom: 1px solid var(--line); }

.legacy-page-hero { height: 561.046875px; padding: 50px 0; background: url("legacy/product-hero-background.jpg") repeat; }
.legacy-page-hero--detail { height: 481.046875px; }
.legacy-news-hero { background: #edf3f7; }
.legacy-page-hero-grid { height: 461.046875px; display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 0; }
.legacy-page-hero--detail .legacy-page-hero-grid { height: 381.046875px; }
.legacy-page-copy { width: 555px; height: 153.421875px; padding: 36px; color: #2d3946; background: rgba(255,255,255,.85); border: 1px solid #fff; }
.legacy-page-copy .legacy-product-btn { margin-top: 30px; }
.legacy-page-hero figure { margin: 100px 0 0 15px; }
.legacy-page-hero--detail figure { margin-top: 20px; }
.legacy-page-hero img { width: 555px; height: 361.046875px; max-width: none; object-fit: contain; }
.legacy-detail-hero-image { visibility: hidden; }
.legacy-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; margin-top: 14px; padding: 9px 18px; color: #333; background: #eee; border: 1px solid #c8c8c8; font-weight: 600; cursor: pointer; }
.legacy-btn:hover { color: #fff; background: var(--red); border-color: var(--red); }
.legacy-product-btn { min-height: 49.421875px; margin: 0; padding: 12px 18px 6px; color: #fff; background: var(--red); border: 0; font-size: 22px; font-weight: 700; line-height: 31.4286px; }
.legacy-product-btn:hover { color: #2d3946; background: #fff; }
.legacy-breadcrumb { height: 48.796875px; padding: 0; background: #fff; }
.legacy-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0; padding: 10px 0; margin: 0; color: #797979; list-style: none; font-size: 18px; line-height: 28.8px; }
.legacy-breadcrumb li:not(:last-child)::after { content: "/"; margin: 0 12px; color: #ddd; }
.legacy-breadcrumb a:hover { color: var(--red); }
.legacy-content-section { padding: 50px 0; margin-bottom: 100px; }
.legacy-product-detail-section .legacy-two-column { min-height: 1307.328125px; }
.legacy-two-column { display: grid; grid-template-columns: 262.5px minmax(0, 1fr); gap: 30px; }
.legacy-sidebar { min-width: 0; }
.reference-list { padding: 0; margin: 0 0 20px; list-style: none; border-top: 1px solid #e5e5e5; }
.reference-list li { padding: 0; border-bottom: 1px solid #e5e5e5; }
.reference-list a { display: flex; align-items: center; column-gap: 16px; padding: 17px 0 13px; color: #8a8a8a; background: transparent; font-size: 18px; font-weight: 300; line-height: 28.8px; }
.reference-list a::before { content: ""; flex: 0 0 auto; width: 7px; height: 7px; margin: -1px 0 0 4px; border-top: 2px solid currentcolor; border-right: 2px solid currentcolor; transform: rotate(45deg); }
.reference-list a:hover, .reference-list a.active { color: var(--red); background: transparent; font-weight: 700; }
.legacy-main { min-width: 0; }
.legacy-section-title { margin: 20px 0 10px; color: #2c2c2c; text-align: center; font-size: 32px; font-weight: 700; line-height: 38.4px; }
.legacy-section-title span { display: block; color: #2c2c2c; font-weight: 400; }
.legacy-inline-search { width: 100%; max-width: none; margin: 0; border: 0; box-shadow: none; }
.legacy-center { padding-top: 100px; text-align: center; }
.page-products .legacy-center { padding-top: 30px; }  /* 列表页的站内搜索框已移到页面顶部，标题与按钮之间不再留出搜索框的位置 */
/* 产品列表页：品牌栏右边缘与顶部导航「产品」一项的右边缘对齐（首页图标 48 + 间距 50 + 「产品」内边距 34×2 + 字宽），省下的宽度给右侧产品列表 */
@media (min-width: 901px) { .page-products .legacy-two-column { grid-template-columns: 198.640625px minmax(0, 1fr); } }
@media (min-width: 1500px) { .page-products .legacy-two-column { grid-template-columns: 206.8125px minmax(0, 1fr); } }
.legacy-main hr, .legacy-page hr { height: 1px; border: 0; border-top: 1px solid #808080; margin: 20px 0; }
.legacy-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 30px; row-gap: 0; }
.legacy-product-card { display: flex; min-width: 0; min-height: 0; flex-direction: column; margin-bottom: 30px; padding: 27px; color: #fff; background: #97a4aa; border: 0; border-radius: 6px; }
.legacy-product-card-body { flex: 1; margin-bottom: 10px; }
.legacy-product-image { display: block; margin: -27px -27px 30px; padding: 0; background: transparent; }
.legacy-product-image img { width: calc(100% + 54px); height: auto; aspect-ratio: 300 / 185.25; object-fit: cover; border-radius: 6px 6px 0 0; }
.legacy-product-card h3 { margin: 0 0 10px; color: #fff; font-size: 24px; font-weight: 700; line-height: 28.8px; }
.legacy-product-card h3 a:hover { color: #fff; }
.legacy-card-button { display: block; margin: 0; padding: 6px 10px 4px; color: #fff; text-align: center; background: var(--red); border: 0; font-size: 16px; font-weight: 700; line-height: 24px; }
.legacy-card-button:hover { color: #2d3946; background: #fff; }
.legacy-product-detail { display: grid; grid-template-columns: 555px 1fr; gap: 30px; align-items: start; padding-bottom: 20px; }
.legacy-product-photo { padding: 0; background: transparent; border: 0; }
.legacy-product-photo img { width: 555px; height: auto; aspect-ratio: auto; object-fit: contain; }
.legacy-product-intro { color: #626b75; }
.legacy-product-intro dl { margin: 0 0 18px; border-top: 1px solid #ddd; }
.legacy-product-intro dl div { display: grid; grid-template-columns: 76px 1fr; gap: 12px; padding: 9px 0; border-bottom: 1px solid #ddd; }
.legacy-product-intro dt { color: #2d3946; font-weight: 700; }
.legacy-product-intro dd { margin: 0; word-break: break-word; }
.legacy-prose { color: #555; font-size: 17px; }
.legacy-prose p { margin: 0 0 16px; }
.legacy-prose img { height: auto; margin: 12px 0; }
.legacy-prose a { color: var(--red); text-decoration: underline; }
.legacy-prose table { width: 100%; border-collapse: collapse; margin: 18px 0; }
.legacy-prose td, .legacy-prose th { padding: 8px 10px; border: 1px solid #ddd; }
.legacy-download { height: 190.421875px; padding: 90px 15px 50px; margin-bottom: 100px; }
.legacy-download-detail { margin-bottom: 0; }
.legacy-news-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.legacy-news-list-card { display: flex; min-width: 0; flex-direction: column; }
.legacy-news-card-inner { flex: 1; }
.legacy-news-thumb img { width: 100%; aspect-ratio: 500 / 332; object-fit: cover; }
.legacy-news-list-card h3 { margin: 12px 0 8px; font-size: 18px; line-height: 1.4; }
.legacy-news-list-card h3 a:hover { color: var(--red); }
.legacy-date { color: #2d3946; font-weight: 700; }
.legacy-news-list-card p { color: #68717a; }
.legacy-news-single { max-width: var(--max); }
.legacy-article-header h1, .legacy-page h1 { margin: 0 0 10px; color: #2d3946; font-size: 38px; font-weight: 500; line-height: 1.25; }
.legacy-article-header p { margin: 0 0 24px; color: #777; font-weight: 700; }
.legacy-article-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 34px; align-items: start; }
.legacy-article-media img { width: 100%; aspect-ratio: 400 / 266; object-fit: cover; }
.legacy-share-row { display: flex; flex-wrap: wrap; align-items: center; column-gap: 16px; margin-top: 28px; }
.legacy-share-row .legacy-btn { margin-top: 0; }
/* 「分享新闻」只是回列表的入口，按客户要求不做悬停效果 */
.legacy-btn-plain:hover { color: #333; background: #eee; border-color: #c8c8c8; }
.legacy-share-row .social-share { margin-top: 0; }
.legacy-page { max-width: 980px; }
.spacer-teaser { height: 34px; background: #f5f5f5; }
.block-search { max-width: 760px; margin: 0 auto 30px; }
.block-search h1 { margin: 0 0 16px; text-align: center; color: #2d3946; font-size: 34px; font-weight: 500; }
.legacy-search-results { display: grid; gap: 18px; }
.legacy-search-item { display: grid; grid-template-columns: 180px 1fr 110px; align-items: center; gap: 20px; padding: 16px; background: #f7f9fa; border: 1px solid #dde3e7; }
.legacy-search-image { padding: 8px; background: #fff; border: 1px solid #e5e5e5; }
.legacy-search-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: contain; }
.legacy-search-item span { color: var(--red); font-size: 13px; font-weight: 700; }
.legacy-search-item h2 { margin: 2px 0 6px; color: #2d3946; font-size: 20px; line-height: 1.35; }
.legacy-search-item p { margin: 0; color: #68717a; }
.legacy-search-item .legacy-card-button { margin: 0; }
.legacy-empty { text-align: center; color: #777; }
.legacy-pagination { margin: 34px 0 0; }
.legacy-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 0; margin: 0; list-style: none; }
.legacy-pagination a, .legacy-pagination span { min-width: 34px; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 6px 11px; color: #333; background: #fff; border: 1px solid #d7d7d7; font-size: 14px; }
.legacy-pagination a:hover, .legacy-pagination .active { color: #fff; background: var(--red); border-color: var(--red); }
.legacy-pagination span[aria-disabled="true"] { color: #aaa; background: #f7f7f7; }
.legacy-pagination .dots { min-width: 24px; color: #777; background: transparent; border-color: transparent; }
.legacy-error-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.legacy-error-copy { max-width: 760px; }


/* 基础样式沿用旧站，部分模块写死了像素宽（1170px / 3×380px / 4×258px）。
   旧站只为 >=1200px 做了设计，901-1199px 的常见笔记本宽度会横向溢出。
   这里统一改成弹性宽度；更窄的断点在后面继续覆盖。 */
@media (max-width: 1199px) {
    .digital { height: auto; min-height: 0; }
    .digital > .container { width: 100%; margin-right: 0; }
    .mumping_mun { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mumping_mun li { padding: 0 8px; }
    .cert-grid { width: auto; margin-right: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .cert-grid img { width: 100%; max-width: 262.5px; height: auto; margin-inline: 0; }
}
@media (max-width: 900px) {
    .masthead { min-height: 96px; }
    .brand img { width: 205px; }
    .hotline { display: none; }
    .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
    .site-nav { display: none; }
    .site-nav.open { display: block; }
    .nav-inner { flex-direction: column; width: 100%; }
    .nav-spacer { display: none; }
    .site-nav a, .language-button { min-height: 48px; justify-content: flex-start; }
    .hero-slide img { height: 360px; }
    .legacy-hero { min-height: 360px; }
    .product-search-absolute { top: auto; bottom: 34px; transform: none; }
    .service-cards, .legacy-news-grid, .product-grid, .news-grid { grid-template-columns: 1fr 1fr; }
    .service-card:nth-child(3) { grid-column: 1 / -1; }
    .gallery-grid, .cert-grid { grid-template-columns: repeat(2, 1fr); }
    .news-row, .detail-grid { grid-template-columns: 1fr; }
    .legacy-page-hero-grid, .legacy-two-column, .legacy-product-detail, .legacy-article-grid { grid-template-columns: 1fr; }
    .legacy-product-grid { grid-template-columns: repeat(2, 1fr); }
    .legacy-news-list { grid-template-columns: repeat(2, 1fr); }
    .legacy-sidebar { order: 2; }
}

@media (min-width: 1200px) and (max-width: 1499px) {
    .nav-home { width: 48px; margin-right: 50px; }
    .nav-inner > a:not(.nav-home):not(.nav-shop) { margin-right: 50px; }
}

@media (max-width: 620px) {
    .container { width: min(calc(100% - 24px), var(--max)); }
    .site-header { position: relative; z-index: 80; }
    .masthead { width: 100%; height: 81px; min-height: 81px; align-items: flex-start; gap: 15px; padding: 15px; }
    .brand { flex: 0 0 auto; }
    .brand img { width: 220px; max-width: none; height: auto; }
    .hotline { width: 120px; display: flex; justify-content: flex-end; text-align: right; }
    .hotline > div { margin-top: 14px; }
    .hotline img { display: none; }
    .hotline a { font-size: 16px; line-height: 1.6; }
    .hotline span { margin-top: -5px; font-size: 12px; line-height: 1.6; white-space: nowrap; }
    .menu-toggle { position: absolute; z-index: 82; top: 91.78125px; right: 15px; width: 44px; min-width: 44px; height: 34px; min-height: 34px; display: block; padding: 0; background: transparent; border-color: #fff; border-radius: 4px; font-size: 0; }  /* 旧站 bootstrap .navbar-toggle */
    .menu-toggle::before { content: ""; position: absolute; top: 9px; left: 10px; width: 22px; height: 2px; background: #fff; box-shadow: 0 6px 0 #fff, 0 12px 0 #fff; }
    .site-nav { position: relative; display: block; min-height: 82px; }
    .site-nav .container { width: 100%; padding: 0; }
    .site-nav .nav-inner { display: none; }
    .site-nav.open .nav-inner { position: absolute; z-index: 81; top: 82px; right: 0; left: 0; display: flex; background: #2d3946; }
    .site-nav.open .nav-inner > a, .site-nav.open .language-button { width: 100%; margin: 0; padding-inline: 22px !important; background-image: none !important; }
    .hero-slide img { height: 430px; }
    .legacy-hero { min-height: 430px; }
    .product-search-absolute { top: 114px; bottom: auto; transform: none; }
    .legacy-search-panel .site-search button { flex: 0 0 51px; width: 51px; }
    .legacy-search-panel .search-glyph { left: 10px; }
    .legacy-search-panel { width: calc(100% - 30px); padding: 36px 18px; }
    .legacy-search-panel p { font-size: 26px; line-height: 1.6; }
    .leistungen-wrapper { display: none; }
    .intro-headline { padding-top: 92px; }
    .intro-headline .container { width: 100%; padding-inline: 15px; }
    .intro-headline h2 { font-size: 26px; font-weight: 700; line-height: 1.2; }
    .service-cards, .legacy-news-grid, .product-grid, .news-grid, .mumping_mun { grid-template-columns: 1fr; }
    .service-card, .service-card:first-child { border-left: 1px solid #e5e5e5; }
    .service-card:nth-child(3) { grid-column: auto; }
    .intro-headline h2 { font-size: 26px; }
    .company-copy p { font-size: 18px; }
    .mumping_mun li { padding: 10px 0; }
    .gallery-grid, .cert-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .legacy-page-hero { padding: 34px 0; }
    .legacy-page-copy h1 { font-size: 30px; }
    .legacy-product-grid, .legacy-news-list { grid-template-columns: 1fr; }
    .legacy-search-item { grid-template-columns: 1fr; }
    .legacy-search-item .legacy-card-button { width: 100%; }
    .legacy-article-header h1, .legacy-page h1 { font-size: 30px; }

    body:has(.legacy-hero) .site-header,
    body:has(.legacy-hero) .masthead { height: 83.78125px; min-height: 83.78125px; }
    body:has(.legacy-hero) .site-nav { height: 50px; min-height: 50px; }
    body:has(.legacy-hero) .menu-toggle { top: 91.78125px; }
    body:has(.legacy-hero) .site-nav.open .nav-inner { top: 50px; }
    .legacy-hero, .hero-slide img { height: 480px; min-height: 480px; }
    .intro-headline { height: 235.9375px; margin-top: 1px; padding: 50px 0 0; }
    .intro-headline h2 { margin: 20px 0 10px; }
    .video-section { height: 294.0625px; padding: 50px 0; }
    .video-section .container, .company-copy .container, .certify .container, .news-section .container { width: 100%; padding-inline: 15px; }
    .company-movie, .company-movie video { height: 194.0625px; }
    .company-movie video { object-fit: contain; }
    .company-copy { min-height: 0; margin-top: 0; padding: 50px 0 0; }
    .legacy-gallery { width: 345px; margin-inline: auto; padding: 60px 0; }
    .legacy-gallery .gallery-grid { width: 345px; grid-template-columns: repeat(2, 142.5px); column-gap: 30px; row-gap: 20px; margin: 0; padding-inline: 15px; }
    .gallery-grid img { width: 142.5px; height: 113.21875px; aspect-ratio: auto; }
    .digital { height: 541px; min-height: 541px; }
    .digital > .container { width: 345px; margin: 0; padding-inline: 15px; }
    .digital .mumping_mun { grid-template-columns: 315px; width: 315px; }
    .digital .mumping_mun li { width: 315px; height: 137px; margin: 5px 0; padding: 0 15px; }
    .certify { margin-bottom: 71px; padding: 50px 0; }
    .cert-grid { width: 345px; grid-template-columns: repeat(4, 86.25px); gap: 0; margin-top: 40px; margin-right: 0; }
    .cert-grid img { width: 56.25px; height: 44.6875px; margin-inline: 15px; }
    .heading-1 { font-size: 28px; line-height: 33.6px; }
    .news-section { padding-bottom: 60px; }
    .legacy-news-card { height: 612.39px; }
    .news-image img { height: 222.171875px; }
    .news-image h4 { height: 100px; font-size: 22px; line-height: 26.4px; }
    .client-strip { height: auto; min-height: 0; margin-bottom: 200px; padding: 100px 0; }
    .client-logo-grid img { height: 73.203125px; }

    body:is(:has(.legacy-page-hero), :has(.news-teaser), :has(.page-teaser)) .site-header,
    body:is(:has(.legacy-page-hero), :has(.news-teaser), :has(.page-teaser)) .masthead { height: 83.78125px; min-height: 83.78125px; }
    body:is(:has(.legacy-page-hero), :has(.news-teaser), :has(.page-teaser)) .site-nav { height: 50px; min-height: 50px; }
    body:is(:has(.legacy-page-hero), :has(.news-teaser), :has(.page-teaser)) .menu-toggle { top: 91.78125px; }
    body:is(:has(.legacy-page-hero), :has(.news-teaser), :has(.page-teaser)) .site-nav.open .nav-inner { top: 50px; }
    .legacy-page-hero { height: 577.859375px; padding: 50px 0; }
    .legacy-page-hero--detail { height: 507.859375px; }
    .legacy-page-hero .container { width: 100%; height: 477.859375px; padding-inline: 15px; }
    .legacy-page-hero--detail .container { height: 407.859375px; }
    .legacy-page-hero-grid { display: block; }
    .legacy-page-copy { width: 100%; }
    .legacy-page-hero figure { width: 100%; height: auto; margin: 100px 0 0; }
    .legacy-page-hero--detail figure { margin-top: 30px; }
    .legacy-page-hero img { width: 100%; height: auto; }
    .legacy-content-section .legacy-two-column { width: 100%; padding-inline: 15px; grid-template-columns: 1fr; row-gap: 20px; }
    .legacy-content-section { margin-bottom: 200px; }
    .legacy-product-detail-section .legacy-two-column { min-height: 0; }
    .legacy-sidebar { order: initial; margin-bottom: 0; }
    .legacy-sidebar .reference-list { margin-bottom: 0; }
    .legacy-section-title { margin-top: 0; font-size: 26px; line-height: 31.2px; }
    .legacy-main hr { margin: 10px 0; }
    .legacy-product-card { height: 276.25px; min-height: 276.25px; }
    .legacy-product-card-body { margin-bottom: 0; }
    .legacy-product-card h3 { display: none; }
    .legacy-product-image { margin-bottom: 30px; }
    .legacy-product-image img { width: 300px; height: 185.25px; margin-inline: auto; }
    .legacy-product-detail { margin-top: 1px; }
    .legacy-product-detail .legacy-product-intro { display: none; }
    .legacy-download { position: relative; height: 170.421875px; padding: 71px 15px 50px; }
    .legacy-download::before { content: ""; position: absolute; top: 60px; right: 15px; left: 15px; border-top: 1px solid #808080; }
    .legacy-download-detail { margin-bottom: 100px; }
    .site-footer { position: relative; min-height: 752.359375px; padding: 110px 0 50px; }
    .newsletter-bar { top: -392.640625px; height: 336.640625px; padding: 20px; }
    .newsletter-box { display: block; }
    .newsletter-title { display: block; height: 30px; margin-bottom: 15px; padding: 0; }
    .subscribe-row { display: block; height: 115px; }
    .subscribe-row input[type="email"] { width: 100%; margin-bottom: 15px; padding: 0; text-align: center; }
    .subscribe-submit { display: block; padding: 0; }
    .subscribe-submit button { width: 100%; margin: 0; padding: 12px 10px 6px; }
    .newsletter-consent { margin: 22.1875px 7.1875px 0 0; padding-top: 0; }
    .site-footer > .container { width: 100%; padding-inline: 15px; }
    .footer-address { margin-top: 20px; padding: 25px 15px 0; }
    .footer-address hr { margin: 10px 0; }
    .footer-copyright { flex-direction: column; }
    .footer-social { flex-wrap: wrap; column-gap: 25px; width: 295px; height: auto; margin: 0; padding: 0 0 0 15px; }
    .footer-social li { min-height: 67px; }
    .client-strip .container { width: 100%; padding-inline: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* --- homepage banner slider --- */
.legacy-hero.hero-slides .hero-slide { position: absolute; inset: 0; visibility: hidden; pointer-events: none; backface-visibility: hidden; perspective: 1000px; }  /* 同 bootstrap .carousel-inner>.item */
.legacy-hero.hero-slides .hero-slide.is-active { visibility: visible; pointer-events: auto; }
.legacy-hero .hero-slide a { display: block; }
.legacy-hero .hero-slide picture { display: block; }
.hero-control { position: absolute; top: 0; bottom: 0; z-index: 4; width: 15%; padding: 0; color: #fff; background: none; border: 0; opacity: .5; cursor: pointer; filter: drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
.hero-control:hover, .hero-control:focus-visible { opacity: .9; outline: 0; }
.hero-control .legacy-icon { position: absolute; top: 45%; }
.hero-control-prev { left: 0; }
.hero-control-prev .legacy-icon { left: 40%; }
.hero-control-next { right: 0; }
.hero-control-next .legacy-icon { right: 40%; }

/* --- preview mode & unsubscribe --- */
.preview-bar { padding: 8px 16px; color: #3b2a00; background: #ffe9a8; text-align: center; font-size: 14px; font-weight: 700; }
.unsubscribe-form { display: grid; gap: 10px; max-width: 460px; margin-top: 18px; }
.unsubscribe-form label { font-weight: 700; }
.unsubscribe-form input[type="email"] { padding: 12px 14px; border: 1px solid #ccc; font-size: 16px; }
.unsubscribe-form .legacy-btn { justify-self: start; }

/* ===== 搜索结果页（按旧站 search.html + 其 merged CSS 实测数值复刻，1440 宽下逐项对齐） ===== */
/* 旧站 body：18px / #666，顶部一屏铺多边形底图 */
body.search-header-page { position: relative; color: #666; }
body.search-header-page::before { content: ""; position: absolute; top: 0; left: 0; right: 0; z-index: -1; height: 100vh; background: url("legacy/search-polygon-top.jpg") no-repeat 50% 0 / cover; }
.search-header-page .legacy-breadcrumb { background: transparent; }
.page-search .site-footer { margin-top: 100px; }
.search-header-page .legacy-breadcrumb ol { color: #666; }
.search-header-page .legacy-breadcrumb a { color: #97a4aa; font-weight: 300; }
.search-header-page .legacy-breadcrumb li:not(:last-child)::after { margin: 0; padding: 0 5px; color: #ccc; }

.b2b-notice { margin: 0 auto; padding: 15px 15px 0; font-size: 16px; text-align: center; color: #666; }
.b2b-notice p { margin: 0 0 16px; font-size: 18px; line-height: 28.8px; letter-spacing: .18px; }
.b2b-warranty { display: inline-block; width: 350px; max-width: 100%; height: 50px; line-height: 50px; font-size: 17px; font-weight: 700; text-align: center; color: #fff; background-color: var(--red); }

.searchWrapper { position: relative; z-index: 60; }
/* 搜索框与页面栅格对齐：左右边缘和面包屑、品牌栏、产品列表同一条线（与 .container 同宽同内边距） */
.search-header-page .block-search { width: min(calc(100% - 30px), var(--max)); max-width: none; margin: 0 auto; padding: 5px 15px 20px; }
.search-header-page .site-search input { border-color: #dadbdc; border-radius: 160px 0 0 160px; }
.search-header-page .site-search input::placeholder { color: #999; }
.search-header-page .site-search button { border-color: #dadbdc; border-radius: 0 220px 220px 0; }
.search-header-page .site-search button:hover { background: #fff; }

.search-results-section { padding: 50px 0; }
.search-results-title { margin: 20px 0 10px; font-size: 24px; font-weight: 700; line-height: 28.8px; color: #2c2c2c; }

/* 工具条：统计 | 分页（居中） | 下拉框；列宽按旧站 bootstrap 栅格实测比例 */
/* 工具条：旧站 bootstrap 行为 flex，三列按基准宽度等比收缩（上：33% / 100% / 360px；下：25% / 50% / 360px + 右外边距 35） */
.search-toolbar { display: flex; align-items: center; margin: 0 -15px; font-size: 18px; line-height: 28.8px; color: #666; }
.search-toolbar .hits-stats { font-weight: 400; color: #666; }
.search-toolbar > .stats-container { width: 33%; padding: 0 15px; }
.search-toolbar > .pagination-container { width: 100%; align-self: flex-start; padding: 0 15px 9.797px; text-align: center; }  /* 旧站行内块基线下沿留白 */
.search-toolbar > .search-control { width: 360px; display: flex; justify-content: center; padding: 0; }
.search-toolbar-bottom > .stats-container { width: 25%; }
.search-toolbar-bottom > .pagination-container { width: 50%; }
.search-toolbar-bottom > .search-control { justify-content: flex-end; margin-right: 35px; }
.search-select { width: 150px; height: 35px; margin: 0; padding: 9px 12px 5px; font: inherit; font-size: 15px; line-height: normal; text-align: center; color: #fff; background-color: var(--red); border: 1px solid #dadbdc; border-radius: 30px; cursor: pointer; }
.search-select option { color: #333; background: #fff; }
hr.border-default { margin: 20px 0; border: 0; border-top: 1px solid #dadbdc; }

/* 分页：« ‹ 1 2 3 4 5 ··· › »，35×35 方块，间距 10px，当前页 / 悬停为品牌红 */
.ais-pagination { display: inline-flex; align-items: flex-start; margin: 20px 0; padding: 0; list-style: none; }
.ais-pagination--item, .ais-pagination--item__page { display: contents; }
.ais-pagination--link, .ais-pagination .page-num { box-sizing: border-box; display: block; width: 35px; height: 35px; margin: 0 5px; padding: 6px 0; font-size: 18px; font-weight: 700; line-height: 25.7143px; text-align: center; white-space: nowrap; color: #797979; background: #fff; border: 1px solid #ddd; text-decoration: none; }
.ais-pagination--item__first .ais-pagination--link { margin-left: 0; }
.ais-pagination--link:hover, .ais-pagination a.page-num:hover, .ais-pagination .page-num-current { color: #fff; background: var(--red); border-color: var(--red); }
.ais-pagination .page-num-dots { width: auto; height: auto; margin: 0 0 0 -1px; padding: 6px 12px; line-height: 1.42857143; font-weight: 400; color: #337ab7; }  /* 6+25.714+6+2 = 39.714，同旧站 */

/* 结果条目：图片 3 / 信息 4 / 库存 1 / 价格 2 / 按钮 2（bootstrap col-md） */
.ais-hits { margin: 0 -15px; }
.ais-hits--item { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 1fr) minmax(0, 2fr) minmax(0, 2fr); align-items: start; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #dadbdc; font-size: 18px; line-height: 28.8px; color: #666; }
.ais-hits--item > div { padding: 0 15px; }
.hit-image img { width: 100%; height: auto; border-radius: 6px; }
.hit-title, .hit-stock h4, .hit-price h4 { margin: 0 0 10px; font-size: 22px; font-weight: 700; line-height: 1.2; color: #2c2c2c; }  /* 相对行高，与旧站取整一致 */
.hit-title a { color: #2d3946; }
.hit-title a:hover { color: var(--red); }
.hit-info p { margin: 0 0 16px; font-size: 18px; line-height: 28.8px; letter-spacing: .18px; color: #666; }
.hit-info p.small { font-size: 17.1px; line-height: 1.6; letter-spacing: .171px; }
.hit-label { font-size: 18px; font-weight: 500; line-height: 21.6px; }
.hit-price .price { color: inherit; }
.ais-hits--item > .hit-actions { display: flex; flex-direction: column; align-items: flex-end; padding: 0 15px 0 0; }
.btn-buy, .btn-consult { box-sizing: border-box; display: block; width: 180px; max-width: 100%; padding: 12px 18px 6px; font: inherit; font-size: 22px; font-weight: 700; line-height: 31.4286px; text-align: center; text-transform: uppercase; border: 0; border-radius: 0; cursor: pointer; }
.btn-buy { color: #fff; background: var(--red); }
.btn-buy:hover { color: #fff; background: var(--red-dark); }
.btn-consult { margin-top: 5px; color: #666; background: #f0f0f0; }
.btn-consult:hover { color: #333; background: #e3e3e3; }

/* 产品列表页用同一套结果行，但左侧多了品牌栏，列表区更窄：按比例收窄各列并压缩内边距 */
.legacy-main .ais-hits { margin: 0 -10px; }
/* 产品列表页：库存 / 价格 / 按钮三列与顶部导航「店铺」「语言」块对齐（与搜索结果页同一条竖线） */
@media (min-width: 992px) {
    .legacy-main .ais-hits--item { grid-template-columns: 140px minmax(0, 1fr) 100px 183.609375px 182.59375px; }
}
@media (min-width: 1200px) {
    .legacy-main .ais-hits--item { grid-template-columns: 170px minmax(0, 1fr) 111.609375px 183.609375px 182.59375px; }
}
@media (min-width: 1500px) {
    .legacy-main .ais-hits--item { grid-template-columns: 210px minmax(0, 1fr) 120px 191.8125px 190.8125px; }
}
.legacy-main .ais-hits--item > div { padding: 0 10px; }
.legacy-main .ais-hits--item > .hit-actions { padding: 0 10px 0 0; }
.legacy-main .btn-buy, .legacy-main .btn-consult { width: 100%; font-size: 20px; }
.legacy-main .search-toolbar { margin: 0 -10px; }
.legacy-main .search-toolbar > .stats-container { padding: 0 10px; }
.legacy-main .search-toolbar > .pagination-container { padding: 0 10px 9.797px; }
.legacy-main .search-toolbar-bottom > .search-control { margin-right: 0; }

/* 结果行的列与顶部导航同一条竖线：标题列起点对齐「新闻」，库存 / 价格列宽等于「店铺」块，按钮宽度与列起点对齐「语言」块 */
@media (min-width: 992px) {
    .page-search .ais-hits--item { grid-template-columns: 248.59375px minmax(0, 1fr) 111.609375px 188.609375px 187.59375px; }
    .page-search .btn-buy, .page-search .btn-consult { width: 172.59375px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .page-search .ais-hits--item { grid-template-columns: 198.59375px minmax(0, 1fr) 100px 188.609375px 187.59375px; }
}
@media (min-width: 1500px) {
    .page-search .ais-hits--item { grid-template-columns: 256.8125px minmax(0, 1fr) 120px 196.8125px 195.8125px; }
    .page-search .btn-buy, .page-search .btn-consult { width: 180.8125px; }
}

/* 微信二维码弹窗：40% 黑色遮罩，透明容器，右上角关闭图标悬停旋转 90° */
.qr-mask { position: fixed; inset: 0; z-index: 998; background: rgba(0, 0, 0, .4); }
.qr-pop { position: fixed; top: 50%; left: 50%; z-index: 999; box-sizing: border-box; width: 100%; max-width: 800px; transform: translate(-50%, -50%); }
.qr-close { display: block; margin: 0 0 15px auto; padding: 0; background: none; border: 0; cursor: pointer; }
.qr-close img { width: 40px; height: 40px; transition: transform .5s; }
.qr-close:hover img { transform: rotate(90deg); }
.qr-body { padding: 15px; text-align: center; }
.qr-body img { display: inline-block; max-width: 260px; height: auto; }

@media (max-width: 991px) {
    .ais-hits--item { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 10px; }
    .hit-actions { align-items: flex-start !important; }
    .search-toolbar, .search-toolbar-bottom { flex-direction: column; align-items: center; row-gap: 10px; }
    .search-toolbar > *, .search-toolbar-bottom > * { width: 100% !important; margin-right: 0 !important; }

    .search-toolbar-bottom .search-control { padding-right: 0; justify-content: center; }
    .search-header-page .block-search { padding: 5px 15px 20px; }
}
@media (max-width: 767px) {
    .ais-hits--item { grid-template-columns: 1fr; }
    .hit-actions { align-items: stretch !important; padding: 0 15px !important; }
    .btn-buy, .btn-consult { width: 100%; }
    .ais-pagination--item__next { display: none; }
    .ais-pagination { flex-wrap: wrap; justify-content: center; row-gap: 10px; max-width: 100%; }  /* 手机上分页按钮自动换行，避免整页被撑宽出现横向滚动 */
    /* 手机上与全站一致：内容区满宽、左右 15px，面包屑、搜索框、列表左右对齐 */
    .search-header-page main .container, .search-header-page .block-search { width: 100%; margin-inline: 0; padding-inline: 15px; }
    .search-toolbar .stats-container { display: none; }
    .b2b-warranty { width: 100%; }
}

/* ===== 新闻列表页（按旧站 newslist.html + 其 merged CSS 实测数值复刻，1440 宽下逐项对齐） ===== */
.news-teaser { padding: 50px 0; color: #fff; background: #97a4aa; font-size: 18px; line-height: 28.8px; }
.news-teaser-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 30px; align-items: start; }
.news-teaser h1 { margin: 0 0 30px; color: #fff; font-size: 42px; font-weight: 700; line-height: 50.4px; }
.news-teaser-intro { padding-bottom: 73.59375px; }  /* 旧站末尾空段落：两行（2×28.797）+ 下边距 16 */
.news-teaser-intro p { margin: 0 0 16px; letter-spacing: .18px; }
.news-teaser-btn { display: table; padding: 12px 18px 6px; color: #fff; background: var(--red); font-size: 22px; font-weight: 700; line-height: 31.4286px; text-align: center; text-transform: uppercase; }
.news-teaser-btn:hover { color: #fff; background: var(--red-dark); }
.news-teaser-btn-mail { margin-top: 10px; }
.news-teaser-icon { padding-right: 6px; margin-right: 5.34px; }  /* 旧站 .btn .fa：22px 字形 + 右内边距 6，后接一个空格（22px 粗体约 5.34px） */
.news-teaser-figure { margin: 30px 0 0; }
.news-teaser-figure img { width: 100%; height: auto; }

.page-news .legacy-breadcrumb ol, .page-single .legacy-breadcrumb ol { color: #797979; column-gap: 0; }
.page-news .legacy-breadcrumb a, .page-single .legacy-breadcrumb a { color: #97a4aa; font-weight: 300; }
.page-news .legacy-breadcrumb li:not(:last-child)::after, .page-single .legacy-breadcrumb li:not(:last-child)::after { content: none; }
.page-news .legacy-breadcrumb li:not(:first-child)::before, .page-single .legacy-breadcrumb li:not(:first-child)::before { content: "\00a0/\00a0"; padding: 0 5px; color: #ccc; }

.news-list-section { margin-bottom: 100px; padding: 50px 0; color: #797979; font-size: 18px; line-height: 28.8px; }
.news-pager { margin: 20px 0; padding: 0; list-style: none; text-align: center; line-height: 36px; }
.news-pager li { display: inline-block; font-size: 0; vertical-align: top; }
.news-pager a, .news-pager .page-num { display: inline-block; width: 35px; height: 36px; margin: 0 5px; color: #797979; background: #fff; font-size: 18px; font-weight: 700; line-height: 36px; text-align: center; vertical-align: top; }
.news-pager a:not(.page-num-current):hover { background: #eee; }
.news-pager .page-num-current { color: #fff; background: var(--red); }
.news-pager .page-num-dots { width: auto; padding: 0 6px; font-weight: 400; }

.news-list-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 30px; }
.news-list-card { display: flex; min-width: 0; margin-bottom: 40px; flex-direction: column; }
.news-list-body { flex: 1 0 auto; }
.news-list-thumb { display: block; max-height: 270px; overflow: hidden; }  /* 旧站 .news-img-wrap */
.news-list-thumb img { display: block; width: 100%; height: auto; }
.news-list-card h3 { margin: 0 0 10px; }
.news-list-card h3 a { display: block; box-sizing: border-box; min-height: 100px; padding: 18px 15px 13px; color: #fff; background: #2d3946; font-size: 26px; font-weight: 700; line-height: 31.2px; }
.news-list-date { margin: 20px 0 16px; letter-spacing: .18px; }
.news-list-date b { color: #797979; font-weight: 700; }
.news-list-teaser { margin: 20px 0 16px; color: #797979; letter-spacing: .18px; }
.news-list-more { display: block; margin-top: 10px; padding: 12px 18px 6px; color: #fff; background: var(--red); font-size: 22px; font-weight: 700; line-height: 31.4286px; text-align: center; text-transform: uppercase; }
.news-list-more:hover { color: #fff; background: var(--red-dark); }

@media (max-width: 991px) {
    .news-teaser-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .news-list-grid { grid-template-columns: 1fr; }
    .news-teaser h1 { font-size: 34px; line-height: 40.8px; }
    .news-teaser-btn { max-width: 100%; overflow-wrap: anywhere; }
}

/* ===== 新闻分享（照抄旧站 share.min.css 的 social-share 控件：QQ / 微博 / 微信） ===== */
@font-face { font-family: "SocialShare"; src: url("fonts/legacy-socialshare.woff") format("woff"), url("fonts/legacy-socialshare.ttf") format("truetype"); font-display: swap; }
.social-share { margin-top: 50px; font-family: "SocialShare" !important; font-size: 16px; font-style: normal; -webkit-font-smoothing: antialiased; }
.social-share * { font-family: "SocialShare" !important; }
.social-share a { position: relative; display: inline-block; margin: 4px; text-decoration: none; outline: none; }
.social-share .social-share-icon { width: 32px; height: 32px; color: #666; border: 1px solid #666; border-radius: 50%; font-size: 20px; line-height: 32px; text-align: center; vertical-align: middle; transition: background .6s ease-out 0s; }
.social-share .social-share-icon:hover { color: #fff; background: #666; }
.social-share .icon-qq::before { content: "\f11a"; }
.social-share .icon-qq { color: #56b6e7; border-color: #56b6e7; }
.social-share .icon-qq:hover { background: #56b6e7; }
.social-share .icon-weibo::before { content: "\f12a"; }
.social-share .icon-weibo { color: #ff763b; border-color: #ff763b; }
.social-share .icon-weibo:hover { background: #ff763b; }
.social-share .icon-wechat::before { content: "\f09a"; }
.social-share .icon-wechat { color: #7bc549; border-color: #7bc549; }
.social-share .icon-wechat:hover { background: #7bc549; }
.social-share .icon-wechat .wechat-qrcode { display: none; position: absolute; top: -205px; left: -84px; z-index: 9; width: 200px; height: 192px; color: #666; font-size: 12px; text-align: center; background: #fff; border: 1px solid #eee; box-shadow: 0 2px 10px #aaa; transition: all 200ms; }
.social-share .icon-wechat:hover .wechat-qrcode, .social-share .icon-wechat.is-open .wechat-qrcode { display: block; }
.social-share .icon-wechat .wechat-qrcode::after { content: ""; position: absolute; bottom: -13px; left: 50%; width: 0; height: 0; margin-left: -6px; border-width: 8px 6px 6px; border-style: solid; border-color: #fff transparent transparent transparent; }
.social-share .icon-wechat .wechat-qrcode h4 { height: 26px; margin: 0; padding: 0; color: #777; background: #f3f3f3; font-family: inherit; font-size: 12px; font-weight: normal; line-height: 26px; }
.social-share .icon-wechat .wechat-qrcode .qrcode { width: 105px; margin: 10px auto; }
.social-share .icon-wechat .wechat-qrcode .qrcode svg { display: block; width: 105px; height: 105px; }
.social-share .icon-wechat .wechat-qrcode .help p { margin: 0; padding: 0; font-family: "Oswald", sans-serif; font-size: 12px; font-weight: normal; line-height: 16px; }

/* ===== 单页（按旧站 contact.html：灰蓝导语区 + 面包屑 + 居中标题正文区） ===== */
.page-teaser { padding: 50px 0; color: #fff; background: #97a4aa; font-size: 18px; line-height: 28.8px; }
.page-teaser-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 30px; align-items: start; }
.page-teaser h1 { margin: 0 0 30px; color: #fff; font-size: 42px; font-weight: 700; line-height: 1.2; text-align: left; }
.page-teaser-intro p { margin: 0 0 16px; }
.page-teaser-figure { margin: 0; }
.page-teaser-figure img { width: 100%; height: auto; }

.page-body { padding: 50px 0; margin-bottom: 100px; color: #797979; font-size: 18px; line-height: 28.8px; }
.page-body h1 { margin: 0 0 30px; color: #2c2c2c; font-size: 42px; font-weight: 700; line-height: 1.2; text-align: center; }
.page-body h1 .normal { display: block; font-weight: 400; }
.page-prose p { margin: 0 0 16px; }
.page-prose a { color: inherit; }
.page-prose a:hover { color: var(--red); }
.page-prose img { height: auto; }

@media (max-width: 991px) {
    .page-teaser-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .page-single .container { width: 100%; margin-inline: 0; padding-inline: 15px; }  /* 旧站 .container 在 768 以下是满宽 */
    .page-teaser h1, .page-body h1 { font-size: 28px; }
    .page-body { margin-bottom: 200px; }  /* 旧站 768 以下页脚上边距是 200 */
}

/* ===== 首页轮播（新闻 owl / 客户 swiper 复刻） ===== */
.loop-carousel { position: relative; }
.loop-carousel-viewport { overflow: hidden; }
.loop-carousel-track.legacy-news-grid, .loop-carousel-track.client-logo-grid { display: flex; grid-template-columns: none; padding: 0; will-change: transform; }
.loop-carousel-track > * { flex: 0 0 auto; min-width: 0; }
.news-carousel-nav { display: flex; justify-content: center; margin-top: 30px; }
.news-carousel-btn { position: relative; width: 40px; height: 40px; margin: 5px; padding: 0; color: #fff; background: #97a4aa; border: 0; border-radius: 200px; cursor: pointer; }
.news-carousel-btn:hover { background: #2d3946; }
.news-carousel-btn .legacy-icon { position: absolute; top: 12px; left: 10px; }
.news-carousel-btn[data-loop-next] .legacy-icon { left: 14px; }
.client-carousel { width: 96%; margin: 0 auto; }
.client-slide { line-height: 0; }
.client-carousel-btn { position: absolute; bottom: 44px; z-index: 1; width: 40px; height: 40px; padding: 0; color: #fff; background: var(--red); border: 0; border-radius: 10em; cursor: pointer; }
.client-carousel-btn .legacy-icon { position: absolute; top: 11px; left: 12px; }
.client-carousel-prev { left: 0; }
.client-carousel-next { right: 0; }
@media (min-width: 1200px) {
    /* 旧站 swiper 容器是 1170 宽栅格行的 96%，比内容区略宽并向右偏 */
    .client-carousel { width: calc((100% + 30px) * .96); margin: 0 0 0 calc((100% + 30px) * .02); }
}
@media (max-width: 990px) {
    .client-carousel { width: 100%; margin: 0; }
    .client-carousel-btn { bottom: 16px; }
}
@media (max-width: 767px) {
    .hero-control { display: none; }
}

/* ===== 桌面导航与页头（旧站 nav.navbar-default 规则复刻；901px 以下仍用手机菜单） ===== */
@media (min-width: 901px) {
    .hotline img { margin-right: 10px; }
    .site-nav a, .language-button { display: block; padding: 28px 34px 19px; text-align: left; letter-spacing: .02em; text-transform: uppercase; }
    .nav-home { padding: 0 16px 0 0 !important; background: none !important; }
    .nav-home::before { content: ""; position: relative; top: 20px; display: block; width: 32px; height: 25px; background: url("legacy/nav-home.png"); }
    .nav-home:hover { background: none !important; }
    .nav-home:hover::before { background-image: url("legacy/nav-home-hover.png"); }
    .nav-shop, .language-button { padding: 28px 20px 19px !important; border-bottom: 5px solid var(--red) !important; }
    /* 旧站：店铺 a 172.6 + 右边框 1 = 173.6，语言 172.6，合计 346.2 靠右 */
    .nav-shop { width: 173.6px; }
    .language-button { width: 172.6px; }
    .nav-shop::before, .language-button::before { position: relative; top: -12px; float: left; margin-right: 10px; background-position: 0 0; background-size: auto; }
    .nav-shop::before { top: -10px; }
    .nav-shop:hover, .language-button:hover { border-bottom-color: #fff !important; }
    .nav-shop:hover::before { background-image: url("legacy/nav-shop-dark.png"); }
    .language-button:hover::before { background-image: url("legacy/nav-language-dark.png"); }
}
@media (min-width: 1200px) {
    /* 当前 / 悬停菜单项下方的小红三角 */
    .site-nav a:not(.nav-home):not(.nav-shop):hover::after, .site-nav a:not(.nav-home):not(.nav-shop).active::after {
        content: ""; position: absolute; bottom: -11px; left: 45%; z-index: 9999; width: 0; height: 0;
        border-top: 6px solid var(--red); border-right: 6px solid transparent; border-left: 6px solid transparent;
    }
}
@media (min-width: 901px) and (max-width: 1199px) {
    .site-nav a:not(.nav-home):not(.nav-shop):hover, .site-nav a:not(.nav-home):not(.nav-shop).active { border-bottom-width: 3px; }
}

/* 首页新闻摘要：旧站 .multi-line-fade —— 下半部分白色渐变遮罩，末两行渐隐 */
.legacy-news-card .multi-line-fade { margin-bottom: 50px; }
.multi-line-fade { position: relative; overflow: hidden; max-height: 10.6em; margin-right: -1em; padding-right: 1em; line-height: 1.6em; text-align: justify; }
.multi-line-fade::before { content: ""; position: absolute; right: 0; bottom: 0; width: 100%; height: 100%; background: linear-gradient(to top, #fff, rgba(255, 255, 255, 0) 50%); }

/* 旧站 FontAwesome 4.7 字体（与旧站同一文件，保证图标像素一致） */
@font-face { font-family: "LegacyFontAwesome"; src: url("fonts/legacy-fontawesome.woff2") format("woff2"), url("fonts/legacy-fontawesome.woff") format("woff"); font-weight: normal; font-style: normal; font-display: block; }
.legacy-fa { display: inline-block; font: normal normal normal 14px/1 "LegacyFontAwesome"; font-style: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.legacy-fa-20 { font-size: 20px; }
.legacy-fa-26 { font-size: 26px; }
.legacy-fa-32 { font-size: 32px; }
.legacy-fa-36 { font-size: 36px; }
.legacy-fa-90 { font-size: 90px; }
.legacy-fa-22 { font-size: 22px; }

/* ===== 宽屏（≥1500px）：旧站 .container 加宽到 1400，导航字号 20px（1200–1499 为 16px） ===== */
@media (min-width: 1500px) {
    :root { --max: 1400px; }
    .site-nav a, .language-button { font-size: 20px; }
    .nav-home { width: 48px; margin-right: 50px; }
    .nav-inner > a:not(.nav-home):not(.nav-shop) { margin-right: 50px; }
    /* 旧站按钮宽 = 文字宽 + 140：店铺 180.81 + 右边框 1，语言 180.81 */
    .nav-shop { width: 181.81px; }
    .language-button { width: 180.81px; }
    .news-image h4, .news-list-card h3 a { font-size: 28px; line-height: 1.2; }
    .footer-address { padding-left: 0; }
}
