/*
Theme Name: 西链生物 XILIAN
Theme URI: https://xixibio.com
Author: XILIANBIO
Description: 陕西西链生物科技有限公司官网主题。深靛蓝+科技青的科研服务品牌视觉，配合 xilian-core 插件提供的质粒/菌株/细胞系/试剂产品数据。
Version: 1.2.0
Requires PHP: 7.4
Text Domain: xilian-theme
*/

@font-face { font-family:"Noto Sans SC"; src:url("assets/fonts/NotoSansSC.ttf") format("truetype"); font-weight:100 900; }
@font-face { font-family:"Source Sans 3"; src:url("assets/fonts/SourceSans3.ttf") format("truetype"); font-weight:100 900; }
:root{
  --ink-1:#2D4EC4; --ink-2:#1B3691; --ink-3:#0E1F55; --ink-4:#5B7BE0; --cyan:#26C6DA;
  --bg:#F5F7FC; --paper:#FFFFFF; --line:#E4EAF2;
  --text-title:#333333; --text-body:#666666; --text-faint:#999999;
  --font-cn:"Noto Sans SC","PingFang SC",sans-serif;
  --font-en:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:"Noto Sans SC","Source Sans 3",sans-serif; color:var(--text-body); background:var(--bg);}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4,h5{font-weight:700; color:var(--text-title);}

/* ===== 页眉 ===== */
header{background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:100;}
.nav-wrap{max-width:1320px; margin:0 auto; padding:0 32px; height:82px; display:flex; align-items:center; gap:32px;}
.brand-logo{height:60px; width:auto; flex:none; margin-top:-17.8px;}
.nav-links{display:flex; align-items:center; gap:14px; font-size:15px; font-weight:700; line-height:1; color:var(--text-title); white-space:nowrap;}
.nav-links a.active{color:var(--ink-1);}
.nav-links a:hover{color:var(--ink-1);}
.nav-sep{color:var(--line); font-weight:400; font-size:14px;}

.nav-item-hover{position:relative; display:inline-flex; align-items:center;}
.nav-dropdown{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
  background:#fff; border-radius:16px; box-shadow:0 24px 60px rgba(14,31,85,0.14), 0 4px 14px rgba(14,31,85,0.06);
  padding:26px 30px 22px; display:flex; gap:38px; opacity:0; visibility:hidden;
  transition:opacity .2s ease, transform .2s ease; z-index:150; margin-top:16px; pointer-events:none;
  border-top:2.5px solid var(--cyan);}
.nav-dropdown-narrow{gap:0;}
.nav-dropdown.dd-open{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); pointer-events:auto;}
.nav-dd-col{min-width:172px; display:flex; flex-direction:column;}
.nav-dd-col h6{font-size:11px; font-weight:700; color:var(--text-faint); letter-spacing:1px; margin-bottom:12px;
  text-transform:uppercase; font-family:var(--font-en); padding-bottom:10px; border-bottom:1px solid var(--line);}
.nav-dd-col a{display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:600; color:var(--text-title);
  padding:8px 6px; margin:0 -6px; white-space:nowrap; border-radius:8px; transition:background .15s, color .15s;}
.nav-dd-col a:hover{background:var(--bg); color:var(--ink-1);}
.nav-dd-col a svg{flex:none; width:19px; height:19px;}
.nav-dd-highlight{border-left:1px solid var(--line); padding-left:30px;}
.nav-dd-more{color:var(--ink-1) !important; margin-top:10px; font-weight:700 !important; font-size:12.5px !important;}
.nav-dd-more:hover{background:transparent !important; text-decoration:underline;}

.search-wrap{flex:none; width:315px; margin-left:auto; position:relative;}
.search-box{width:100%; height:32px; border:1.5px solid var(--line); border-radius:16px; padding:0 38px 0 16px;
  font-size:13px; font-family:inherit; color:var(--text-title); background:#F7F9FD; outline:none; transition:border-color .15s;}
.search-box:focus{border-color:var(--ink-1); background:#fff;}
.search-icon{position:absolute; right:14px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--text-faint); pointer-events:none;}
.search-suggest{position:absolute; top:50px; left:0; right:0; background:#fff; border:1px solid var(--line);
  border-radius:10px; box-shadow:0 12px 32px rgba(14,31,85,0.12); overflow:hidden; display:none; z-index:50;}
.search-suggest.show{display:block;}
.search-suggest-item{padding:10px 18px; font-size:13.5px; color:var(--text-body); cursor:pointer; display:flex;
  align-items:center; justify-content:space-between; border-bottom:1px solid #F2F4FA;}
.search-suggest-item:last-child{border-bottom:none;}
.search-suggest-item:hover, .search-suggest-item.active{background:#F3F8FC; color:var(--ink-1);}
.search-suggest-item .tag{font-size:11px; color:var(--text-faint); font-family:var(--font-en);}
.search-suggest-item mark{background:none; color:var(--ink-1); font-weight:700;}
.search-empty{padding:14px 18px; font-size:13px; color:var(--text-faint); text-align:center;}
.search-empty.search-more{cursor:pointer; color:var(--ink-1); font-weight:600;}
.search-empty.search-more:hover{background:#F3F8FC;}

.nav-right{display:flex; align-items:center; gap:24px; flex:none;}
.lang-switch{display:inline-flex; align-items:center; background:var(--bg); border-radius:100px; padding:3px; font-family:var(--font-en);}
.lang-option{font-size:12.5px; font-weight:700; padding:5px 12px; border-radius:100px; color:var(--text-faint); cursor:pointer; transition:all .15s;}
.lang-option.active{background:#fff; color:var(--ink-1); box-shadow:0 1px 4px rgba(14,31,85,0.12);}
.lang-option:not(.active):hover{color:var(--text-body);}
.nav-cta{display:inline-flex; align-items:center; gap:7px; background:linear-gradient(135deg,#2D4EC4,#1B3691); color:#fff;
  height:32px; padding:0 20px; border-radius:16px; font-size:13.5px; font-weight:700; white-space:nowrap; box-shadow:0 2px 8px rgba(45,78,196,0.25);}
.nav-cta svg{width:15px; height:15px; flex:none;}

/* ===== Hero ===== */
.hero{position:relative; overflow:hidden; color:#fff; height:620px; background:linear-gradient(135deg,#0E1F55 0%,#173073 55%,#2647A8 100%);}
.hero-bg-svg{position:absolute; inset:0; width:100%; height:100%; z-index:0; opacity:0.55; transition:opacity .6s ease;}
.hero-slide{position:absolute; inset:0; z-index:1; opacity:0; visibility:hidden; transition:opacity .9s ease; display:flex; align-items:center;}
.hero-slide.active{opacity:1; visibility:visible; z-index:2;}
.hero-slide-bg{position:absolute; top:0; left:50%; transform:translateX(-50%); width:100%; max-width:2340px; height:100%; z-index:0; object-fit:cover;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);}
.hero-text-guard{position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(6,14,45,0.55) 0%, rgba(6,14,45,0.32) 32%, rgba(6,14,45,0) 62%);}
.hero-slide > .hero-wrap{max-width:1320px; width:100%; margin:0 auto; padding:0 32px; position:relative; z-index:2;}
.hero-slide .hero-text{max-width:640px;}
.hero-eyebrow{font-family:var(--font-en); font-size:13px; letter-spacing:3px; color:var(--cyan); font-weight:700; margin-bottom:22px;}
.hero h1{font-size:44px; line-height:1.4; color:#fff; font-weight:800; margin-bottom:20px;}
.hero h1 .accent{color:var(--cyan);}
.hero p{font-size:15.5px; color:#C9D3F5; max-width:560px; line-height:1.85; margin-bottom:36px;}
.hero-tags{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px;}
.hero-tag{padding:7px 16px; border-radius:100px; background:rgba(38,198,218,0.12);
  border:1px solid rgba(38,198,218,0.4); color:#B9E7EE; font-size:13px; font-weight:600;
  transition:background .15s, border-color .15s, transform .15s; cursor:pointer;}
.hero-tag:hover{background:rgba(38,198,218,0.28); border-color:var(--cyan); color:#fff; transform:translateY(-1px);}
.hero-actions{display:flex; gap:16px;}
.hero-btn-primary{display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,#26C6DA,#1BA8C4); color:var(--ink-3); padding:14px 30px; border-radius:27px; font-weight:700; font-size:15px; box-shadow:0 4px 14px rgba(38,198,218,0.3);}
.hero-btn-secondary{display:inline-flex; align-items:center; gap:8px; border:1.5px solid rgba(255,255,255,0.4); color:#fff; padding:14px 30px; border-radius:27px; font-weight:700; font-size:15px;}
.hero-dots{position:absolute; left:0; right:0; bottom:26px; z-index:5; display:flex; justify-content:center; gap:10px;}
.hero-arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:6; width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,0.1); border:1.5px solid rgba(255,255,255,0.3); color:#fff; display:flex;
  align-items:center; justify-content:center; cursor:pointer; transition:all .2s ease; backdrop-filter:blur(4px);}
.hero-arrow:hover{background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.6); transform:translateY(-50%) scale(1.06);}
.hero-arrow svg{width:20px; height:20px;}
.hero-arrow-prev{left:24px;}
.hero-arrow-next{right:24px;}
.hero-dot{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.35); cursor:pointer; transition:all .25s ease;}
.hero-dot.active{width:24px; border-radius:5px; background:var(--cyan);}

/* ===== 占位内容区（本轮非重点，先简化） ===== */
.section{max-width:1320px; margin:0 auto; padding:76px 32px;}
.section-head{margin-bottom:40px; text-align:center;}
.section-tag{font-family:var(--font-en); font-size:12.5px; letter-spacing:2.5px; color:var(--ink-1); font-weight:700; margin-bottom:10px;}
.section-head h2{font-size:30px; font-weight:800; margin-bottom:10px;}
.section-head p{font-size:14.5px; color:var(--text-body); max-width:560px; margin:0 auto;}

/* 平台优势 */
.adv-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.adv-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:30px 24px; transition:transform .25s ease, box-shadow .25s ease;}
.adv-card:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(14,31,85,0.08);}
.adv-icon{width:44px; height:44px; margin-bottom:16px;}
.adv-card h3{font-size:16px; font-weight:700; margin-bottom:8px;}
.adv-card p{font-size:13px; color:var(--text-body); line-height:1.7;}

/* 解决方案 */
.solution-section{background:#fff;}
.solution-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
.solution-card{background:var(--bg); border-radius:12px; padding:26px 18px; text-align:center; transition:transform .15s, box-shadow .15s; display:block; cursor:pointer;}
.solution-card:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(14,31,85,0.08);}
.solution-icon{width:38px; height:38px; margin:0 auto 14px;}
.solution-card h4{font-size:14.5px; font-weight:700; margin-bottom:8px;}
.solution-card p{font-size:12px; color:var(--text-body); line-height:1.6;}
.solution-more{display:inline-block; margin-top:12px; font-size:12px; color:var(--ink-1); font-weight:700;}
.solution-card[data-active="true"]{box-shadow:0 0 0 2px var(--ink-1) inset;}
.route-panel-wrap{margin-top:32px; background:var(--bg); border-radius:14px; padding:28px; overflow-x:auto; display:flex; justify-content:center;}
.route-panel{display:none; width:100%; max-width:1160px;}
.route-panel svg{display:block; width:100%; height:auto; min-width:720px; margin:0 auto;}
.route-panel.active{display:block;}
.route-panel svg{width:100%; height:auto; min-width:720px;}

.tech-showcase{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.tech-panel{background:var(--bg); border-radius:14px; padding:24px; overflow-x:auto;}
.tech-panel h4{font-size:15px; font-weight:700; margin-bottom:14px; color:var(--ink-3);}
.tech-panel svg{width:100%; height:auto; min-width:480px;}

/* 滚动淡入动效 */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
.reveal.visible{opacity:1; transform:translateY(0);}

/* 浮动装饰点动画：作用于共享底图 + 全部7张banner里的科技青装饰点，轮播切到任何一张都有动效 */
@keyframes floatDot{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}
.hero-bg-svg circle{animation:floatDot 4s ease-in-out infinite;}
.hero-bg-svg circle:nth-child(3n){animation-delay:.6s;}
.hero-bg-svg circle:nth-child(4n){animation-delay:1.2s;}
.hero-slide-bg circle[fill="#7FD8E8"]{animation:floatDot 3.5s ease-in-out infinite;}
.hero-slide-bg circle[fill="#7FD8E8"]:nth-of-type(2n){animation-delay:.5s; animation-duration:4.2s;}
.hero-slide-bg circle[fill="#7FD8E8"]:nth-of-type(3n){animation-delay:1.1s; animation-duration:3.8s;}
.hero-slide-bg circle[fill="#7FD8E8"]:nth-of-type(5n){animation-delay:1.8s; animation-duration:4.6s;}

/* 脉冲光晕：呼吸感的科技青光斑，叠加在每张banner的主体图形区域，增强科技感 */
@keyframes pulseGlow{0%,100%{opacity:0.35; transform:scale(1);} 50%{opacity:0.7; transform:scale(1.08);}}
.hero-pulse-glow{position:absolute; top:50%; right:12%; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(38,198,218,0.28) 0%, rgba(38,198,218,0) 70%);
  transform:translateY(-50%); z-index:0; animation:pulseGlow 3.2s ease-in-out infinite; pointer-events:none;}

/* 扫描线：从左到右缓慢扫过的科技感光带，叠加在整个Hero区域上 */
@keyframes scanSweep{0%{transform:translateX(-100%);} 100%{transform:translateX(200%);}}
.hero-scan-line{position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none;}
.hero-scan-line::before{content:''; position:absolute; top:0; bottom:0; width:35%;
  background:linear-gradient(90deg, transparent 0%, rgba(38,198,218,0.05) 45%, rgba(38,198,218,0.09) 50%, rgba(38,198,218,0.05) 55%, transparent 100%);
  animation:scanSweep 7s linear infinite;}

.hero-btn-primary{transition:transform .2s ease, box-shadow .2s ease;}
.hero-btn-secondary{transition:all .2s ease;}
.hero-btn-secondary:hover{background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.6); transform:translateY(-1px);}
.hero-btn-primary:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(38,198,218,0.35);}
.nav-cta{transition:transform .2s ease, box-shadow .2s ease;}
.nav-cta:hover{transform:translateY(-1px); box-shadow:0 6px 16px rgba(45,78,196,0.3);}
.adv-grid .reveal:nth-child(1){transition-delay:0s;}
.adv-grid .reveal:nth-child(2){transition-delay:.08s;}
.adv-grid .reveal:nth-child(3){transition-delay:.16s;}
.adv-grid .reveal:nth-child(4){transition-delay:.24s;}
.solution-grid .reveal:nth-child(1){transition-delay:0s;}
.solution-grid .reveal:nth-child(2){transition-delay:.08s;}
.solution-grid .reveal:nth-child(3){transition-delay:.16s;}
.solution-grid .reveal:nth-child(4){transition-delay:.24s;}
.solution-grid .reveal:nth-child(5){transition-delay:.32s;}

/* 产品中心速览 */
.product-tabs{display:flex; justify-content:center; gap:12px; margin-bottom:36px;}
.product-tab{padding:10px 24px; border-radius:24px; font-size:14px; font-weight:700; cursor:pointer; border:1.5px solid var(--line); color:var(--text-body);}
.product-tab.active{background:var(--ink-1); border-color:var(--ink-1); color:#fff;}
.product-panel{display:none;}
.product-panel.active{display:block;}
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.product-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px; display:flex; align-items:flex-start; gap:14px; transition:transform .25s ease, box-shadow .25s ease;}
.product-card:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(14,31,85,0.08);}
.product-card-icon{width:36px; height:36px; flex:none; margin-top:2px;}
.product-card h4{font-size:14.5px; font-weight:700; margin-bottom:5px;}
.product-card p{font-size:12.5px; color:var(--text-body); line-height:1.65;}
.product-more{text-align:center; margin-top:32px;}
.product-more a{color:var(--ink-1); font-weight:700; font-size:14px;}

/* 客户中心 */
.customer-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.customer-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:30px 24px; text-align:center; transition:transform .25s ease, box-shadow .25s ease;}
.customer-card:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(14,31,85,0.08);}
.customer-card .adv-icon{margin:0 auto 16px;}
.customer-card h4{font-size:15px; font-weight:700; margin-bottom:8px;}
.customer-card p{font-size:13px; color:var(--text-body); line-height:1.7;}

/* 关于西链 + CTA */
.about-section{background:linear-gradient(135deg,#0E1F55 0%,#1B3691 100%); color:#fff;}
.about-wrap{max-width:1320px; margin:0 auto; padding:80px 32px; display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:center;}
.about-wrap .section-tag{color:var(--cyan); text-align:left;}
.about-wrap h2{font-size:28px; font-weight:800; margin-bottom:18px; color:#fff;}
.about-wrap p{font-size:14px; color:#C9D3F5; line-height:1.9; margin-bottom:14px;}
.about-note{font-size:12px; color:#8FA0D0; border-left:2px solid var(--cyan); padding-left:12px; margin-top:20px;}
.about-cta-box{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:16px; padding:40px;}
.about-cta-box h3{color:#fff; font-size:19px; margin-bottom:12px;}
.about-cta-box p{color:#AEB9E0; font-size:13.5px; margin-bottom:24px; line-height:1.7;}
.about-cta-box .hero-btn-primary{display:inline-block;}

/* ===== 页脚 ===== */
footer{background:var(--ink-3); color:#AEB9E0;}
.footer-top{max-width:1320px; margin:0 auto; padding:28px 32px 36px; display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; align-items:start;}
.footer-brand{display:flex; flex-direction:column; align-items:flex-start; align-self:center; width:max-content; gap:6px;}
.footer-logo{height:104px; width:auto; flex:none; margin-top:-41px;}
.footer-brand-text{display:flex; flex-direction:column; gap:6px;}
.footer-brand-text .name{color:#fff; font-size:13px; font-weight:700; font-family:var(--font-en); letter-spacing:0.2px; text-align:left;}
.footer-brand-text .slogan{font-size:13px; color:var(--cyan); font-weight:700; text-align:center;}
.footer-col h5{color:#fff; font-size:14px; font-weight:700; margin-bottom:16px; letter-spacing:0.5px;}
.footer-col a, .footer-col p{display:flex; align-items:center; gap:8px; font-size:13px; color:#9AA6D6; margin-bottom:11px;}
.footer-col a:hover{color:var(--cyan);}
.footer-col a.external svg.ext-arrow{width:11px; height:11px; opacity:0.6; margin-left:2px;}
.footer-col .field-icon{width:14px; height:14px; flex:none; opacity:0.75; color:var(--cyan);}

.footer-disclaimer{max-width:1320px; margin:0 auto; padding:16px 32px 0; border-top:1px solid rgba(255,255,255,0.1); text-align:center;}
.footer-disclaimer p{font-size:11.5px; color:#7A85B0; line-height:1.8; padding:16px 0 0;}

.footer-bottom{text-align:center; padding:18px 0 26px; font-size:12px; color:#6D7AA8;}

/* ===== 汉堡菜单（默认隐藏，移动端显示）===== */
.hamburger-btn{display:none; flex-direction:column; justify-content:center; gap:5px; width:32px; height:32px;
  background:none; border:none; cursor:pointer; flex:none; padding:0;}
.hamburger-btn span{display:block; width:100%; height:2px; background:var(--text-title); border-radius:2px; transition:all .25s ease;}
.hamburger-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger-btn.open span:nth-child(2){opacity:0;}
.hamburger-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{display:none; flex-direction:column; gap:16px; padding:20px 24px 28px; background:#fff; border-top:1px solid var(--line);}
.mobile-menu.open{display:flex;}
.mobile-nav-links{display:flex; flex-direction:column; gap:4px;}
.mobile-nav-links a{padding:12px 4px; font-size:15px; font-weight:700; color:var(--text-title); border-bottom:1px solid var(--line);}
.mobile-nav-links a.active{color:var(--ink-1);}
.mobile-search-wrap .search-box{width:100%; height:40px; border-radius:8px;}
.mobile-cta{text-align:center;}

/* ============================================================
   平板断点 (≤1220px)：提高汉堡菜单触发点，避开中间宽度的挤压区间
   ============================================================ */
@media (max-width:1220px){
  .nav-links, .search-wrap, .nav-right{display:none;}
  .hamburger-btn{display:flex;}
  .nav-wrap{height:70px;}
  .brand-logo{height:44px; margin-top:0;}

  .hero{height:auto; min-height:560px;}
  .hero-slide{position:relative;}
  .hero-slide:not(.active){display:none; position:absolute;}
  .hero-slide.active{position:relative;}
  .hero-wrap{text-align:center; padding:64px 32px 90px;}
  .hero-text{max-width:100%; margin:0 auto;}
  .hero p{max-width:100%; margin-left:auto; margin-right:auto;}
  .hero-actions{justify-content:center;}
  .hero-slide-bg{opacity:0.7;}

  .adv-grid{grid-template-columns:repeat(2,1fr);}
  .solution-grid{grid-template-columns:repeat(3,1fr);}
  .product-grid, .customer-grid{grid-template-columns:repeat(2,1fr);}
  .about-wrap{grid-template-columns:1fr; gap:36px;}
  .footer-top{grid-template-columns:1fr 1fr; gap:32px 24px;}
  .footer-brand{grid-column:1 / -1;}
}

/* ============================================================
   手机断点 (≤640px)
   ============================================================ */
@media (max-width:640px){
  .nav-wrap{padding:0 18px; height:64px;}
  .brand-logo{height:36px;}
  .mobile-menu{padding:16px 18px 22px;}

  .section{padding:52px 18px;}
  .section-head h2{font-size:24px;}
  .section-head p{font-size:13px; padding:0 8px;}

  .hero-wrap{padding:48px 18px 80px;}
  .hero h1{font-size:28px;}
  .hero p{font-size:14px;}
  .hero-actions{flex-direction:column; width:100%; gap:12px;}
  .hero-btn-primary, .hero-btn-secondary{text-align:center; width:100%;}
  .hero-slide-bg{opacity:0.5;}
  .hero-dots{bottom:14px;}
  .hero-arrow{width:30px; height:30px; top:auto; bottom:8px; transform:none;}
  .hero-arrow svg{width:14px; height:14px;}
  .hero-arrow-prev{left:14px;}
  .hero-arrow-next{right:14px;}

  .adv-grid, .solution-grid, .product-grid, .customer-grid{grid-template-columns:1fr;}
  .product-tabs{flex-wrap:wrap;}
  .route-panel svg, .tech-panel svg{min-width:600px;}

  .about-wrap{padding:56px 18px;}
  .about-wrap h2{font-size:22px;}
  .about-cta-box{padding:28px 22px;}

  .footer-top{grid-template-columns:1fr; padding:36px 18px 24px; gap:28px;}
  .footer-brand{align-items:flex-start;}
  .footer-disclaimer{padding:14px 18px 0;}
  .footer-disclaimer p{text-align:left;}
}
.clip-float{position:fixed; right:24px; bottom:24px; z-index:200; background:var(--ink-1); color:#fff;
  border-radius:100px; padding:12px 20px; display:flex; align-items:center; gap:8px; font-size:13.5px;
  font-weight:700; cursor:pointer; box-shadow:0 8px 24px rgba(45,78,196,0.35); transition:transform .15s;}
.clip-float:hover{transform:translateY(-2px);}
.clip-float svg{width:17px; height:17px;}
.clip-float .clip-count{display:none; background:var(--cyan); color:var(--ink-3); border-radius:100px;
  min-width:20px; height:20px; padding:0 5px; font-size:11.5px; align-items:center; justify-content:center;}
.clip-float.has-items .clip-count{display:flex;}

.clip-panel{position:fixed; right:24px; bottom:88px; z-index:200; width:320px; max-height:60vh; background:#fff;
  border-radius:14px; box-shadow:0 16px 48px rgba(14,31,85,0.22); display:none; flex-direction:column; overflow:hidden;}
.clip-panel.open{display:flex;}
.clip-panel-head{padding:16px 18px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between;}
.clip-panel-head h5{font-size:14px; color:var(--text-title);}
.clip-panel-clear{font-size:12px; color:var(--text-faint); cursor:pointer;}
.clip-panel-list{overflow-y:auto; padding:8px 0; flex:1;}
.clip-panel-empty{padding:30px 18px; text-align:center; font-size:12.5px; color:var(--text-faint);}
.clip-item{display:flex; align-items:center; justify-content:space-between; padding:10px 18px; font-size:13px; color:var(--text-body);}
.clip-item-remove{color:var(--text-faint); cursor:pointer; font-size:16px; line-height:1; padding:0 4px;}
.clip-item-remove:hover{color:#E24C4C;}
.clip-panel-foot{padding:14px 18px; border-top:1px solid var(--line);}
.clip-panel-foot a{display:block; text-align:center; background:var(--ink-1); color:#fff; padding:11px; border-radius:8px; font-size:13.5px; font-weight:700;}

.clip-add-btn{display:inline-flex; align-items:center; gap:6px; padding:13px 20px; border-radius:9px; border:1.5px solid var(--line);
  color:var(--text-title); font-size:14px; font-weight:700; cursor:pointer; background:#fff; white-space:nowrap;}
.clip-add-btn svg{width:16px; height:16px;}
.clip-add-btn.added{border-color:var(--cyan); color:#0E93A3; background:rgba(38,198,218,0.08);}

@media (max-width:640px){
  .clip-panel{width:calc(100vw - 32px); right:16px; bottom:78px;}
  .clip-float{right:16px; bottom:16px; padding:11px 16px;}
}

/* ============================================================
   产品目录页（细胞系/菌株/试剂/质粒 共用）
   ============================================================ */
.plc-hero{background:linear-gradient(135deg,#0E1F55 0%,#1B3691 55%,#2D4EC4 100%); color:#fff;}
.plc-hero-wrap{max-width:1320px; margin:0 auto; padding:48px 32px 36px;}
.plc-breadcrumb{font-size:13px; color:rgba(255,255,255,0.6); margin-bottom:14px;}
.plc-breadcrumb a{color:rgba(255,255,255,0.85);}
.plc-hero h1{font-size:28px; color:#fff; margin-bottom:8px;}
.plc-hero p{font-size:14px; color:rgba(255,255,255,0.75); max-width:640px; line-height:1.7;}
.plc-stat-row{display:flex; gap:32px; margin-top:20px;}
.plc-stat b{font-size:22px; color:var(--cyan); font-family:var(--font-en); display:block;}
.plc-stat span{font-size:12px; color:rgba(255,255,255,0.6);}

.plc-body{max-width:1320px; margin:0 auto; padding:28px 32px 60px;}
.plc-search-bar{position:relative; max-width:420px; margin-bottom:22px;}
.plc-search-bar input[type="text"]{width:100%; padding:11px 42px 11px 16px; border:1px solid var(--line); border-radius:100px; font-size:13.5px; outline:none; font-family:inherit;}
.plc-search-bar input[type="text"]:focus{border-color:var(--ink-1);}

.plc-result-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:10px;}
.plc-result-count{font-size:13.5px; color:var(--text-body);}
.plc-result-count b{color:var(--ink-1); font-family:var(--font-en);}

.plc-list-wrap{background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.plc-list-scroll{overflow-x:auto;}
.plc-list{width:100%; border-collapse:collapse; min-width:720px;}
.plc-list thead th{background:var(--bg); text-align:left; padding:10px 14px; font-size:11px; font-weight:700;
  color:var(--text-faint); white-space:nowrap; border-bottom:1px solid var(--line);}
.plc-list tbody tr{border-bottom:1px solid var(--line); transition:background .12s;}
.plc-list tbody tr:last-child{border-bottom:none;}
.plc-list tbody tr:hover{background:var(--bg);}
.plc-list td{padding:11px 14px; font-size:12.5px; color:var(--text-body); vertical-align:middle;}
.plc-row-sku{font-family:var(--font-en); color:var(--text-faint); font-size:11px; white-space:nowrap;}
.plc-row-name{font-weight:700; color:var(--text-title); max-width:280px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.plc-empty{text-align:center; padding:60px 20px; color:var(--text-faint); font-size:13.5px;}

.plc-page-bar{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
  padding:16px 18px; border-top:1px solid var(--line); background:var(--bg);}
.plc-page-size{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--text-body);}
.plc-page-size-btns{display:flex; gap:6px;}
.plc-page-size-btn{display:inline-block; padding:6px 12px; border:1px solid var(--line); border-radius:6px; background:#fff;
  color:var(--text-body); font-size:12.5px; cursor:pointer; font-family:inherit; transition:border-color .15s, background .15s, color .15s;}
.plc-page-size-btn:hover{border-color:#B8C4E8;}
.plc-page-size-btn.active{background:var(--ink-1); border-color:var(--ink-1); color:#fff; font-weight:700;}
.plc-pagination{display:flex; align-items:center; gap:6px;}

/* WordPress自带 paginate_links() 输出的是 .page-numbers 类名，这里对齐到跟原型稿一致的按钮样式 */
.plc-pagination .page-numbers{min-width:32px; height:32px; padding:0 8px; border:1px solid var(--line); border-radius:6px; background:#fff;
  color:var(--text-body); font-size:12.5px; font-family:var(--font-en); transition:border-color .15s, background .15s, color .15s;
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none;}
.plc-pagination a.page-numbers:hover{border-color:#B8C4E8; color:var(--ink-1);}
.plc-pagination .page-numbers.current{background:var(--ink-1); border-color:var(--ink-1); color:#fff; font-weight:700;}
.plc-pagination .page-numbers.dots{border:none; background:none; color:var(--text-faint);}

@media (max-width:640px){
  .plc-page-bar{flex-direction:column; align-items:stretch;}
}

/* ============================================================
   产品详情页（细胞系/菌株/试剂/质粒 共用）
   ============================================================ */
.pd-wrap{max-width:1180px; margin:0 auto; padding:36px 32px 60px;}
.pd-breadcrumb{font-size:13px; color:var(--text-faint); margin-bottom:24px;}
.pd-breadcrumb a:hover{color:var(--ink-1);}
.pd-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-bottom:50px; align-items:start;}
.pd-gallery{background:var(--bg); border-radius:14px; border:1px solid var(--line); display:flex;
  align-items:center; justify-content:center; aspect-ratio:1/1; padding:30px; position:sticky; top:103px; overflow:hidden;}
.pd-gallery img{max-width:100%; height:auto;}
.pd-badge{display:inline-block; font-size:11px; font-weight:700; padding:4px 10px; border-radius:12px;
  background:rgba(38,198,218,0.12); color:#0E93A3; margin-bottom:14px;}
.pd-title{font-size:24px; font-weight:800; color:var(--text-title); margin-bottom:10px; line-height:1.4;}
.pd-code-row{display:flex; align-items:center; gap:14px; margin-bottom:18px; flex-wrap:wrap;}
.pd-code{font-family:var(--font-en); font-size:14px; color:var(--ink-1); font-weight:700;}
.pd-copy-btn{display:inline-flex; align-items:center; gap:5px; background:none; border:none; padding:0;
  font-size:12.5px; color:var(--text-faint); cursor:pointer; font-family:inherit; transition:color .15s;}
.pd-copy-btn:hover{color:var(--ink-1);}
.pd-copy-btn svg{width:14px; height:14px; flex:none;}
.pd-copy-btn.pd-copy-success{color:#0E9F6E;}
.pd-desc{font-size:14px; color:var(--text-body); line-height:1.85; margin-bottom:24px;}
.pd-spec-table{width:100%; border-collapse:collapse; margin-bottom:26px;}
.pd-spec-table tr{border-bottom:1px solid var(--line);}
.pd-spec-table td{padding:11px 4px; font-size:13.5px;}
.pd-spec-table td:first-child{color:var(--text-faint); width:110px;}
.pd-spec-table td:last-child{color:var(--text-title); font-weight:600;}
.pd-price-row{display:flex; align-items:baseline; gap:10px; margin-bottom:22px;}
.pd-price{font-size:26px; font-weight:800; color:var(--ink-1); font-family:var(--font-en);}
.pd-price-unit{font-size:13px; color:var(--text-faint);}
.pd-actions{display:flex; gap:14px;}
.pd-btn-primary{flex:1; text-align:center; background:var(--ink-1); color:#fff; padding:14px; border-radius:9px; font-weight:700; font-size:14.5px;}
.pd-btn-secondary{flex:1; text-align:center; border:1.5px solid var(--line); color:var(--text-title); padding:14px; border-radius:9px; font-weight:700; font-size:14.5px;}
.pd-stock{display:flex; align-items:center; gap:6px; font-size:12.5px; color:#0E93A3; margin-top:14px;}
.pd-stock .dot{width:7px; height:7px; border-radius:50%; background:#26C6DA;}

@media (max-width:860px){
  .pd-grid{grid-template-columns:1fr; gap:28px;}
  .pd-gallery{position:relative; top:auto;}
}

/* ============================================================
   子页面通用横幅 + 面包屑 + 纯文字区块（产品中心/解决方案/客户中心/走进西链/联系我们 共用）
   ============================================================ */
.page-banner{background:linear-gradient(135deg,#0E1F55 0%,#173073 55%,#2647A8 100%); color:#fff; padding:52px 32px 40px;}
.page-banner-eyebrow{display:inline-flex; align-items:center; gap:6px; background:rgba(38,198,218,0.15);
  border:1px solid rgba(38,198,218,0.4); color:var(--cyan); font-size:12px; font-weight:600; padding:4px 12px; border-radius:100px; font-family:var(--font-en);
  vertical-align:middle; margin-left:14px; letter-spacing:0.5px;}
.page-banner-wrap{max-width:1320px; margin:0 auto;}
.page-banner h1{color:#fff; font-size:32px; margin-bottom:8px;}
.page-banner p{color:#C9D3F5; font-size:14.5px; max-width:600px;}
.breadcrumb{font-size:13px; color:#9AA6D6; margin-bottom:14px;}
.breadcrumb a:hover{color:var(--cyan);}
/* 浅色背景（.section-plain）下用的面包屑配色——服务/解决方案详情页的"原始内容"模式
   顶部面包屑放在白底区块里，不能沿用上面给深色横幅banner设计的浅蓝色(#9AA6D6)，
   否则在白底上看不清、显得"不协调"。 */
.breadcrumb-on-light{font-size:13px; color:var(--text-faint); margin-bottom:14px;}
.breadcrumb-on-light a{color:var(--ink-1);}
.breadcrumb-on-light a:hover{color:var(--cyan);}
.section-plain{max-width:1320px; margin:0 auto; padding:56px 32px;}

.login-box{max-width:420px; margin:40px auto; background:#fff; border:1px solid var(--line); border-radius:14px;
  padding:40px 34px; text-align:center;}
.login-box .adv-icon{width:44px; height:44px; margin:0 auto 16px;}
.login-box h3{font-size:18px; margin-bottom:8px;}
.login-box p{font-size:13px; color:var(--text-body); margin-bottom:24px; line-height:1.8;}
.login-fields input{width:100%; height:44px; border:1px solid var(--line); border-radius:8px; padding:0 14px;
  font-size:14px; font-family:inherit; margin-bottom:12px; outline:none;}
.login-fields input:focus{border-color:var(--ink-1);}
.login-submit{width:100%; height:44px; background:var(--ink-1); color:#fff; border-radius:8px; font-weight:700;
  font-size:14px; margin-top:6px; border:none; cursor:pointer;}

@media (max-width:760px){
  .page-banner h1{font-size:24px;}
  .section-plain{padding:36px 18px;}
  .login-box{padding:30px 22px; margin:30px 0;}
}

/* ============================================================
   联系我们页 独有样式
   ============================================================ */
.placeholder-note{background:#FFF8E8; border:1px dashed #E0B84D; border-radius:10px; padding:16px 20px;
  font-size:12.5px; color:#8A6416; line-height:1.8; margin-top:18px;}
.placeholder-note b{color:#6B4A0C;}

.contact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:36px 0;}
.contact-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:26px; text-align:center;}
.contact-card .field-icon{width:34px; height:34px; color:var(--ink-1); margin-bottom:12px;}
.contact-card h4{font-size:14.5px; margin-bottom:8px;}
.contact-card p{font-size:14px; color:var(--text-body); font-family:var(--font-en);}

.flow-block{margin:40px 0;}
.flow-block h3{font-size:19px; margin-bottom:6px;}
.flow-block .flow-desc{font-size:13.5px; color:var(--text-body); margin-bottom:18px;}
.flow-svg-wrap{background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px 20px; overflow-x:auto;}

.terms-grid-page{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;}
.terms-card-page{background:var(--ink-3); color:#fff; border-radius:12px; padding:26px 28px;}
.terms-card-page h4{color:var(--cyan); font-size:15px; margin-bottom:10px;}
.terms-card-page p{font-size:13.5px; color:#C9D3F5; line-height:1.8;}

@media (max-width:760px){
  .contact-grid{grid-template-columns:1fr; gap:14px;}
  .terms-grid-page{grid-template-columns:1fr;}
  .flow-svg-wrap{padding:14px 10px;}
}

/* ============================================================
   解决方案页 独有样式
   ============================================================ */
.solov-hero{background:linear-gradient(135deg,#0E1F55 0%,#173073 55%,#2647A8 100%); color:#fff; padding:52px 32px 40px;}
.solov-hero-wrap{max-width:1320px; margin:0 auto;}
.solov-eyebrow{display:inline-flex; align-items:center; gap:6px; background:rgba(38,198,218,0.15);
  border:1px solid rgba(38,198,218,0.4); color:var(--cyan); font-size:12px; font-weight:600; padding:4px 12px; border-radius:100px; font-family:var(--font-en);
  vertical-align:middle; margin-left:14px; letter-spacing:0.5px;}
.solov-hero h1{color:#fff; font-size:32px; margin-bottom:8px;}
.solov-hero p{font-size:14.5px; color:#C9D3F5; max-width:680px; line-height:1.85;}

.solov-section{max-width:1180px; margin:0 auto; padding:50px 32px;}
.solov-intro{background:#fff; border:1px solid var(--line); border-radius:14px; padding:28px 32px; margin-bottom:8px;}
.solov-intro h3{font-size:16px; margin-bottom:10px;}
.solov-intro p{font-size:13.5px; color:var(--text-body); line-height:1.9;}
.solov-intro b{color:var(--ink-1);}

.solov-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.solov-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:28px 24px;
  transition:box-shadow .15s, transform .15s; display:block;}
.solov-card:hover{box-shadow:0 14px 30px rgba(14,31,85,0.1); transform:translateY(-4px); border-color:var(--ink-1);}
.solov-card .solution-icon{width:38px; height:38px; margin-bottom:16px;}
.solov-card h4{font-size:16px; margin-bottom:10px;}
.solov-card p{font-size:13px; color:var(--text-body); line-height:1.75; margin-bottom:14px;}
.solov-card .solov-more{font-size:12.5px; color:var(--ink-1); font-weight:700;}

.solov-cta{background:linear-gradient(135deg,#0E1F55 0%,#1B3691 100%); border-radius:16px; padding:40px; text-align:center; color:#fff;}
.solov-cta h3{color:#fff; font-size:19px; margin-bottom:12px;}
.solov-cta p{color:#AEB9E0; font-size:13.5px; margin-bottom:22px;}

@media (max-width:860px){
  .solov-grid{grid-template-columns:1fr;}
}

/* ============================================================
   产品中心页 独有样式
   ============================================================ */
.result-count{color:var(--cyan); font-weight:700;}

.catalog-body{background:var(--bg);}
.catalog-layout{max-width:1440px; margin:0 auto; padding:32px; display:grid; grid-template-columns:240px 1fr; gap:32px; align-items:stretch;}
.catalog-main{min-width:0;}

.side-nav-wrap{position:relative;}
.side-nav{position:sticky; top:98px; background:linear-gradient(135deg,#0E1F55 0%,#173073 55%,#2647A8 100%); border-radius:12px; padding:20px 14px; box-shadow:0 12px 30px rgba(14,31,85,0.18);}
.side-nav-title{font-size:11px; font-weight:700; color:#B3C0E3; letter-spacing:1.5px; margin-bottom:14px; padding:0 8px; text-transform:uppercase; font-family:var(--font-en);}
.side-nav-item{display:flex; align-items:center; gap:10px; padding:12px 10px; border-radius:8px; font-size:13.5px; font-weight:600;
  color:#C9D3F5; margin-bottom:4px; transition:background .18s, color .18s;}
.side-nav-item:hover{background:rgba(255,255,255,0.06); color:#fff;}
.side-nav-item.active{background:linear-gradient(135deg,#2D4EC4 0%,#26C6DA 130%); color:#fff; box-shadow:0 6px 16px rgba(38,198,218,0.3);}
.side-nav-dot{width:7px; height:7px; border-radius:50%; flex:none; background:#5B7BE0;}
.side-nav-item.active .side-nav-dot{background:#fff;}
.side-nav-label{flex:1;}
.side-nav-count{font-size:11px; color:#B3C0E3; font-family:var(--font-en);}
.side-nav-item.active .side-nav-count{color:rgba(255,255,255,0.85);}

.side-nav-guide-box{margin-top:14px; padding:16px 12px; border-top:1px solid rgba(255,255,255,0.1); text-align:center;}
.side-nav-guide-icon{width:30px; height:30px; margin:0 auto 8px; color:#26C6DA;}
.side-nav-guide-icon svg{width:100%; height:100%;}
.side-nav-guide-title{font-size:12.5px; font-weight:700; color:#fff; margin-bottom:3px;}
.side-nav-guide-desc{font-size:10.5px; color:#B3C0E3; margin-bottom:12px; line-height:1.5;}
.side-nav-guide-btn{display:block; font-size:11.5px; font-weight:700; color:#fff; background:linear-gradient(135deg,#2D4EC4 0%,#26C6DA 130%);
  padding:9px 16px; border-radius:100px; text-decoration:none; text-align:center;}
.side-nav-guide-btn:hover{opacity:0.9;}

.content-group{margin-bottom:56px; scroll-margin-top:98px;}
.group-head{border-left:4px solid; padding-left:18px; margin-bottom:18px;}
.group-head h2{font-size:20px; font-weight:800; color:var(--text-title); display:flex; align-items:baseline; gap:10px;}
.group-count{font-size:12.5px; font-weight:600; color:var(--text-faint); font-family:var(--font-en);}
.group-head p{font-size:13px; color:var(--text-faint); margin-top:4px;}

.group-filter{display:flex; gap:8px; margin-bottom:16px;}
.filter-pill{font-size:12.5px; font-weight:600; padding:6px 14px; border-radius:100px; background:#fff;
  border:1px solid var(--line); color:var(--text-body); cursor:pointer; transition:all .15s;}
.filter-pill.active{background:var(--ink-1); border-color:var(--ink-1); color:#fff;}
.filter-pill:not(.active):hover{border-color:var(--ink-1); color:var(--ink-1);}

.item-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.item-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; transition:box-shadow .15s, transform .15s;
  display:block; text-decoration:none; cursor:pointer; position:relative;}
.item-card-disabled{cursor:default; opacity:0.72;}
.item-card-disabled:hover{box-shadow:none !important; transform:none !important;}
.item-card-bottom{display:flex; align-items:center; justify-content:space-between; gap:8px;}
.item-building{font-size:10px; color:#B8860B; background:#FFF6E0; padding:2px 7px; border-radius:100px; white-space:nowrap;}
.item-card:hover{box-shadow:0 8px 20px rgba(14,31,85,0.08); transform:translateY(-2px);}
.item-card-top{display:flex; justify-content:flex-start; align-items:center; margin-bottom:8px;}
.item-type-tag{position:absolute; right:16px; bottom:16px; font-size:10px; font-weight:500; color:var(--text-faint); padding:0; border-radius:0; background:none;}
.tag-instock{background:none; color:var(--text-faint);}
.tag-service{background:none; color:var(--text-faint);}
.item-code{font-size:11px; color:var(--text-faint); font-family:var(--font-en);}
.item-card h5{font-size:13.5px; color:var(--text-title); margin-bottom:6px; line-height:1.4;}
.item-card p{font-size:11.5px; color:var(--text-body); line-height:1.6; margin-bottom:10px; min-height:36px;}
.item-cat-chip{font-size:10.5px; color:var(--text-faint); background:var(--bg); padding:2px 8px; border-radius:6px;}
.mobile-fab{display:none;}

@media (max-width:1024px){
  .catalog-layout{grid-template-columns:1fr; padding:18px;}
  .side-nav-wrap{position:fixed; right:0; bottom:0; left:0; z-index:200; pointer-events:none;}
  .side-nav{position:fixed; right:18px; bottom:18px; top:auto; width:auto; padding:0; border:none; pointer-events:auto;}
  .side-nav-title, .side-nav-item, .side-nav-guide-box{display:none;}
  .side-nav.drawer-open .side-nav-title,
  .side-nav.drawer-open .side-nav-item{display:flex;}
  .side-nav.drawer-open .side-nav-title{display:block;}
  .side-nav.drawer-open .side-nav-guide-box{display:block;}
  .side-nav.drawer-open{position:fixed; right:0; bottom:0; left:0; top:auto; max-height:70vh; overflow-y:auto;
    border-radius:20px 20px 0 0; padding:20px 20px 28px; box-shadow:0 -10px 40px rgba(14,31,85,0.25);}
  .mobile-fab{position:fixed; left:18px; bottom:18px; z-index:210; display:flex; align-items:center; gap:8px; background:var(--ink-1); color:#fff; padding:13px 20px;
    border-radius:100px; font-size:13.5px; font-weight:700; box-shadow:0 10px 24px rgba(45,78,196,0.35); cursor:pointer;
    pointer-events:auto; border:none;}
  .mobile-fab svg{width:16px; height:16px;}
  .item-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .item-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   服务项目详情页（single-service.php）专用样式
   37个标准服务共用同一套模板+同一套样式，靠各自ACF字段内容不同呈现不同效果，
   所以这套样式只需要维护这一份，不会随着服务数量增加而重复。
   ========================================================================== */
.svc-hero{background:linear-gradient(135deg,#0E1F55 0%,#1B3691 55%,#2D4EC4 100%); color:#fff; position:relative; overflow:hidden;}
.svc-hero-wrap{max-width:1320px; margin:0 auto; padding:64px 32px 56px; display:grid;
  grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;}
.svc-eyebrow{display:inline-flex; align-items:center; gap:8px; background:rgba(38,198,218,0.15);
  border:1px solid rgba(38,198,218,0.4); color:var(--cyan); font-size:13px; padding:6px 14px;
  border-radius:100px; margin-bottom:20px;}
.svc-hero h1{font-size:32px; font-weight:800; line-height:1.4; margin-bottom:16px; color:#fff;}
.svc-hero p.desc{font-size:14.5px; color:#C9D3F5; max-width:480px; line-height:1.8;}
.svc-illustration{width:100%; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; max-width:260px; margin:0 auto;}

.svc-section{max-width:1320px; margin:0 auto; padding:52px 32px;}
.svc-section-head{margin-bottom:30px;}
.svc-section-tag{color:var(--ink-1); font-size:13px; font-weight:700; letter-spacing:1px; margin-bottom:8px; font-family:var(--font-en);}
.svc-section-head h2{font-size:24px; font-weight:800; color:var(--text-title);}

/* 对比表格——深靛蓝表头+首列固定+斑马纹+悬停高亮，跟"基因递送工具全维度对比"原设计保持一致 */
.svc-table-scroll{overflow-x:auto; border:1px solid var(--line); border-radius:16px;}
.svc-compare-table{width:100%; border-collapse:collapse; font-size:12.5px; min-width:640px;}
.svc-compare-table thead th{background:var(--ink-3); color:#fff; font-weight:700; text-align:left; padding:14px 16px; white-space:nowrap;}
.svc-compare-table thead th:first-child{background:#071638; min-width:150px;}
.svc-compare-table tbody td{padding:13px 16px; border-bottom:1px solid var(--bg); vertical-align:top; line-height:1.7; color:var(--text-body); font-size:13px;}
.svc-compare-table tbody td:first-child{font-weight:700; color:var(--text-title); background:var(--bg); white-space:nowrap;}
.svc-compare-table tbody tr:nth-child(even) td:not(:first-child){background:#FAFBFF;}
.svc-compare-table tbody tr:hover td{background:#F0F3FE;}
.svc-compare-table tbody tr:hover td:first-child{background:#E3E9FA;}

.svc-adv-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.svc-adv-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px 22px;}
.svc-adv-card .adv-icon{width:38px; height:38px; margin-bottom:14px;}
.svc-adv-card h3{font-size:15px; font-weight:700; color:var(--text-title); margin-bottom:8px;}
.svc-adv-card p{font-size:13px; color:var(--text-body); line-height:1.7;}

.svc-content-block{background:#fff; border:1px solid var(--line); border-radius:12px; padding:30px 32px;}
.svc-content-block h4{font-size:15px; color:var(--text-title); margin:18px 0 8px; font-weight:700;}
.svc-content-block h4:first-child{margin-top:0;}
.svc-content-block p{font-size:14px; color:var(--text-body); line-height:1.85;}

.svc-delivery-box{background:#fff; border:1px solid var(--line); border-left:4px solid var(--cyan);
  border-radius:10px; padding:26px 28px;}
.svc-delivery-row{display:flex; align-items:flex-start; gap:14px; padding:12px 0; border-bottom:1px dashed var(--line);}
.svc-delivery-row:last-of-type{border-bottom:none;}
.svc-delivery-dot{width:8px; height:8px; border-radius:50%; background:var(--ink-1); margin-top:8px; flex:none;}
.svc-delivery-row .label{font-weight:700; color:var(--text-title); min-width:150px; font-size:14px;}
.svc-delivery-row .value{font-size:14px; color:var(--text-body);}
.svc-delivery-note{margin-top:14px; padding-top:14px; border-top:1px solid var(--line); font-size:12.5px; color:var(--text-body); font-style:italic;}

.svc-process-flow{display:flex; align-items:flex-start; justify-content:space-between; gap:8px; flex-wrap:wrap;}
.svc-process-step{flex:1; min-width:110px; text-align:center; position:relative;}
.svc-process-step:not(:first-child)::before{content:''; position:absolute; top:26px; left:calc(-50% + 26px); width:calc(100% - 52px); height:1.5px; background:#D7E1F7; z-index:0;}
.svc-process-circle{width:52px; height:52px; border-radius:50%; background:#fff; border:2px solid var(--ink-1);
  display:flex; align-items:center; justify-content:center; margin:0 auto 12px; position:relative; line-height:0; z-index:1;}
.svc-process-badge{position:absolute; top:-5px; right:-5px; width:19px; height:19px; border-radius:50%;
  background:var(--cyan); color:#fff; font-size:10.5px; font-weight:800; display:flex; align-items:center; justify-content:center;}
.svc-process-step h4{font-size:12.5px; font-weight:700; color:var(--text-title); margin-bottom:3px;}
.svc-process-step p{font-size:11px; color:var(--text-faint);}

.svc-terms-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.svc-terms-card{background:var(--ink-3); color:#fff; border-radius:12px; padding:24px 26px;}
.svc-terms-card h4{font-size:14px; color:var(--cyan); margin-bottom:9px; font-weight:700;}
.svc-terms-card p{font-size:13px; color:#C9D3F5; line-height:1.8;}

.svc-disclaimer{display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap;
  max-width:1320px; margin:30px auto 0; padding:0 32px 30px; font-size:11.5px; color:var(--text-body); line-height:1.8;}
.svc-disclaimer a{font-size:11.5px; color:var(--text-faint); white-space:nowrap; flex:none;}

@media (max-width:900px){
  .svc-hero-wrap{grid-template-columns:1fr;}
  .svc-adv-grid{grid-template-columns:1fr 1fr;}
  .svc-terms-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .svc-adv-grid{grid-template-columns:1fr;}
  .svc-process-flow{flex-direction:column; align-items:center;}
  .svc-process-step{padding-top:30px;}
  .svc-process-step:first-child{padding-top:0;}
  .svc-process-step:not(:first-child)::before{
    content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:1.5px; height:30px; background:#D7E1F7; z-index:0;
  }
}

/* ==========================================================================
   解决方案详情页（single-solution.php）专用样式
   5个解决方案页面共用，内容整段存在文章正文里原样输出，样式统一维护在这里。
   ========================================================================== */
.sol-hero{background:linear-gradient(135deg,#0E1F55 0%,#1B3691 55%,#2D4EC4 100%); color:#fff;}
.sol-hero-wrap{max-width:1120px; margin:0 auto; padding:60px 32px 48px;}
.sol-eyebrow{display:inline-flex; align-items:center; gap:8px; background:rgba(38,198,218,0.15);
  border:1px solid rgba(38,198,218,0.4); color:var(--cyan); font-size:13px; padding:6px 14px;
  border-radius:100px; margin-bottom:20px;}
.sol-hero h1{font-size:30px; font-weight:800; color:#fff; margin-bottom:14px;}
.sol-hero p{font-size:14.5px; color:#C9D3F5; max-width:680px; line-height:1.85;}

.sol-section{max-width:1120px; margin:0 auto; padding:52px 32px;}
.sol-section-head{margin-bottom:28px;}
.sol-section-tag{color:var(--ink-1); font-size:13px; font-weight:700; letter-spacing:1px; margin-bottom:8px; font-family:var(--font-en);}
.sol-section-head h2{font-size:23px; font-weight:800; color:var(--text-title);}

.sol-route-wrap{background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px 20px 8px; overflow-x:auto;}

.sol-steps{counter-reset:step;}
.sol-step{display:flex; gap:20px; padding:24px 0; border-bottom:1px solid var(--line);}
.sol-step:last-child{border-bottom:none;}
.sol-step-num{flex:none; width:40px; height:40px; border-radius:50%; background:var(--ink-1); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; font-family:var(--font-en);}
.sol-step-body h4{font-size:15.5px; margin-bottom:8px;}
.sol-step-body p{font-size:13.5px; color:var(--text-body); line-height:1.8;}
.sol-step-links{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.sol-step-link{font-size:12.5px; padding:5px 12px; border-radius:14px; background:rgba(45,78,196,0.08);
  color:var(--ink-1); font-weight:600; border:1px solid rgba(45,78,196,0.15);}
.sol-step-link:hover{background:rgba(45,78,196,0.14);}

.sol-cta{background:linear-gradient(135deg,#0E1F55 0%,#1B3691 100%); border-radius:16px; padding:40px; text-align:center; color:#fff;}
.sol-cta h3{color:#fff; font-size:19px; margin-bottom:12px;}
.sol-cta p{color:#AEB9E0; font-size:13.5px; margin-bottom:22px;}

.sol-other{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.sol-other-card{background:#fff; border:1px solid var(--line); border-radius:10px; padding:16px; text-align:center;}
.sol-other-card.current{border-color:var(--ink-1); background:rgba(45,78,196,0.05);}
.sol-other-card h5{font-size:13px; margin-bottom:4px;}

@media (max-width:760px){
  .sol-other{grid-template-columns:1fr 1fr;}
  .sol-step{flex-direction:column; gap:10px;}
}

.en-subtitle{font-size:14px; font-weight:600; color:rgba(255,255,255,0.55); font-family:var(--font-en); letter-spacing:0.5px; margin-left:10px; vertical-align:middle;}
