/*
 * 公共样式：两个及以上页面共用的自定义样式写这里（Tailwind 之外的手写样式）。
 * 引入顺序：tailwind.css → common.css → <页面名>.css
 * 设计 token：主色蓝 #0971CE / 强调橙 #F18903 / 深色 #010C25 / 页脚底 #01091A
 *           文字 #333 #3D3D3D #4A4A4A #666 #999 / 边框线 #D8D8D8 / 页面底 #F2F2F2
 */

/* ---------- 一级导航 + 二级下拉菜单（效果参照企业简介页导航组件） ---------- */

.nav-item {
  position: relative;
}
/* hover / 键盘聚焦时的蓝色底块（150×100，居中于菜单项，不占布局空间） */
.nav-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 150px;
  height: 100px;
  transform: translateX(-50%);
  background-color: #0971CE;
  opacity: 0;
  transition: opacity 0.2s;
}
.nav-item > a {
  position: relative;
  z-index: 1;
  display: block;
  padding: 36px 0;
  transition: color 0.2s;
}
.nav-item:hover::before,
.nav-item:focus-within::before {
  opacity: 1;
}
.nav-item:hover > a,
.nav-item:focus-within > a {
  color: #FFFFFF;
}
/* 一级菜单增至 7 项后，lg~xl 区间（960~1279px）项距变密，hover 蓝底块收窄避免压到相邻项文字；
   末项蓝底块右对齐，避免（不可见时也占布局的）色块超出视口右缘产生横向滚动 */
@media (max-width: 1279px) {
  .nav-item::before {
    width: 120px;
  }
  .nav-item:last-child::before {
    left: auto;
    right: 0;
    transform: none;
  }
}

/* 二级面板：蓝底 + 上尖角（提取自设计稿）+ 白字项，距导航栏底 19px */
.nav-drop {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 150px;
  background-color: #0971CE;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 25px);
  transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
}
.nav-drop-tip {
  position: absolute;
  top: -15px;
  left: 50%;
  width: 22px;
  height: 15px;
  transform: translateX(-50%);
}
/* 解决方案下拉：子项名 8 字（xx解决方案），面板加宽避免文字贴边 */
.nav-drop--wide {
  width: 190px;
}
.nav-drop a {
  display: block;
  padding: 15px 0;
  font-size: 18px;
  line-height: 25px;
  color: #FFFFFF;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.nav-drop a:last-child {
  border-bottom: none;
}
.nav-drop a:hover {
  background-color: rgba(255, 255, 255, 0.12);
}
/* 末项（联系我们）下拉右对齐：仅 lg~xl（960~1279px）菜单项贴近视口右缘，居中面板会溢出（隐藏态也占布局）；
   xl 起导航右侧有语言/搜索按钮，空间充足，走上方默认规则居中，与其他菜单形态一致 */
@media (max-width: 1279px) {
  .nav-item:last-child .nav-drop {
    left: auto;
    right: 0;
    transform: translate(0, 25px);
  }
  .nav-item:last-child:hover .nav-drop,
  .nav-item:last-child:focus-within .nav-drop {
    transform: translate(0, 19px);
  }
  .nav-item:last-child .nav-drop-tip {
    left: auto;
    right: 29px;
    transform: none;
  }
}
.nav-item:hover .nav-drop,
.nav-item:focus-within .nav-drop {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 19px);
}

/* ---------- 二级菜单条（公司简介 / 企业文化 / 荣誉资质 等内页共用） ---------- */
/* 结构：.subnav > 容器 > a.subnav-item（激活项加 .is-active，内部含 .subnav-arrow） */
.subnav {
  border-bottom: 1px solid #D8D8D8;
}
/* 4xl（≥2400px）下容器为 80vw，宽于各项 max-width 之和（flex:1 被封顶），
   剩余空间默认堆在右侧导致菜单整体偏左；改为项目组居中。
   更窄断点容器（1400/1500px）恒被各项填满，此规则无副作用 */
.subnav > div {
  justify-content: center;
}
.subnav-item {
  position: relative;
  flex: 1;
  max-width: 550px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #D8D8D8;
  font-size: 18px;
  color: #4A4A4A;
  text-align: center;
  transition: color 0.2s;
}
.subnav-item:first-child {
  border-left: 1px solid #D8D8D8;
}
.subnav-item:hover {
  color: #0971CE;
}
.subnav-item.is-active {
  font-size: 20px;
  font-weight: 600;
  color: #0971CE;
}
/* 激活项上方的倒三角指示（内联 SVG，随 .subnav-arrow 使用） */
.subnav-item .subnav-arrow {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 1024px) {
  .subnav-item {
    height: 100px;
    font-size: 28px;
  }
  .subnav-item.is-active {
    font-size: 32px;
  }
  .subnav-item .subnav-arrow {
    top: -12px;
  }
}

/* ---------- 页面 tab 菜单条（解决方案 / 产品中心 等内页共用） ---------- */
/* 来源：设计稿「二级菜单-5个 / 二级菜单-6个」同构组件（1920 基准，条高 100） */
/* 结构：.cat-nav > 容器 > .cat-tabs > a/button.cat-tab（激活加 .is-active，内含 .cat-arrow 倒三角） */
/* 与 .subnav（3 项均分、无滚动）不同：本组件项数多，小屏横向滚动，两侧配 .cat-btn 圆形滚动按钮 */
.cat-nav {
  border-bottom: 1px solid #D8D8D8; /* 设计稿 直线34 */
}
.cat-tabs {
  overflow-x: auto; /* 项数多放不下时横向滚动（滚动条隐藏，靠两侧按钮 / 触摸） */
  scrollbar-width: none;
  scroll-behavior: smooth;
}
.cat-tabs::-webkit-scrollbar {
  display: none;
}
.cat-tab {
  position: relative;
  /* grow 铺满 + basis auto：项少时各项放大占满整行（同原 flex:1 效果）；
     项多放不下时不压缩、保持文字自然宽度，容器产生真实溢出供横向滚动
     （原 flex:1 基准为 0，各项恒被压成等分宽，溢出只发生在文字绘制层，
      scrollWidth 不增长，滚动按钮永远处于禁用态） */
  flex: 1 0 auto;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-right: 1px solid #D8D8D8;
  font-size: 15px;
  color: #4A4A4A; /* paint_1:3338 */
  white-space: nowrap;
  transition: color 0.2s;
}
.cat-tab:first-child {
  border-left: 1px solid #D8D8D8;
}
.cat-tab:hover {
  color: #0971CE;
}
.cat-tab.is-active {
  color: #0971CE; /* paint_1:3311 */
}
/* 激活项上方倒三角（设计稿 多边形5：40×20，#0971CE，仅激活项显示） */
.cat-arrow {
  position: absolute;
  top: 3px;
  left: 50%;
  width: 22px;
  height: 10px;
  transform: translateX(-50%);
  display: none;
}
.cat-tab.is-active .cat-arrow {
  display: block;
}
@media (min-width: 1024px) {
  .cat-tab {
    height: 100px;
    /* 保留水平内边距：溢出滚动时项宽=文字宽，无内边距文字会贴住分隔线 */
    padding: 0 32px;
    font-size: 24px;   /* 设计稿 font_1:3936（24 Regular） */
  }
  .cat-tab.is-active {
    font-size: 28px;   /* 设计稿 font_1:3931（28 SemiBold） */
    font-weight: 600;
  }
  .cat-arrow {
    top: 6px;
    width: 40px;
    height: 20px;
  }
}

/* 左右滚动按钮（设计稿 组1495：50×50 白圆 + #F18903 chevron，位于菜单条两侧） */
/* 位置用工具类（left/right-[71px]）控制；仅 lg 显示；无溢出时由 JS 置禁用 */
.cat-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  display: none;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #FFFFFF; /* paint_1:3170 */
  cursor: pointer;
}
.cat-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
@media (min-width: 1024px) {
  .cat-btn {
    display: flex;
  }
}

/* ---------- 产品卡（产品中心 / 产品详情共用，设计稿「组1415」矩形112/117） ---------- */
/* 结构：a.prod-card > img + span.prod-name；.is-active 为选中态（蓝底白字 + 阴影） */
.prod-card {
  display: flex;
  flex-direction: column;
  aspect-ratio: 364 / 400;
  padding: 4.5% 10% 0; /* ≈ 设计稿 18/37（相对卡宽） */
  background: #FFFFFF;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.prod-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
.prod-name {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  text-align: center;
  font-size: 15px;
  line-height: 22px;
  color: #3D3D3D; /* paint_1:3134 */
}
@media (min-width: 1024px) {
  .prod-name {
    font-size: 22px;  /* font_1:4168（22 Regular） */
    line-height: 33px;
  }
}
/* 选中态（设计稿 组1415 首卡：蓝底 + 白字 Medium + 阴影 effect_1:3375） */
.prod-card.is-active {
  background: #0971CE;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.3);
}
.prod-card.is-active .prod-name {
  color: #FFFFFF;
  font-weight: 500; /* font_1:4162（22 Medium） */
}
.prod-card:hover {
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.3);
}

/* ---------- 搜索框（产品中心 / 新闻列表 等共用，设计稿「搜索框」组） ---------- */
/* 结构：form.search-box > svg 图标 + span.search-divider + input */
.search-box {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 300px;
  height: 40px;
  padding-left: 16px;
  background: #FFFFFF;
  border: 1px solid #999999; /* paint_1:3199 */
  border-radius: 50px;
}
.search-box input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding-right: 16px;
  background: none;
  border: none;
  outline: none;
  font-size: 14px;
  color: #333333;
}
/* 图标与输入区之间的竖线（设计稿 直线35：1×22 #D8D8D8） */
.search-divider {
  width: 1px;
  height: 22px;
  background: #D8D8D8;
}

/* ---------- 分页（产品中心 / 新闻列表 共用，设计稿「组1426」） ---------- */
/* 结构：nav.pager > a/span.pager-item（30×30 radius 5，间隔 10，激活橙底；箭头项含内联 SVG） */
.pager {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.pager-item {
  min-width: 30px;
  height: 30px;
  padding: 0 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #D8D8D8;
  border-radius: 5px;
  font-family: MiSans, "Alibaba PuHuiTi 3.0", sans-serif;
  font-size: 14px;
  color: #3D3D3D;
  transition: border-color 0.2s, color 0.2s;
}
.pager-item:hover {
  border-color: #0971CE;
  color: #0971CE;
}
.pager-item.is-active {
  background: #F18903; /* paint_1:3218 */
  border-color: #F18903;
  color: #FFFFFF;
}

/* ---------- 侧栏卡片（产品中心 / 新闻详情 共用，设计稿「矩形179/180」） ---------- */
/* 结构：aside.side-card > .side-card-head（80 蓝条 + 图标 + 标题）+ 内容 */
.side-card {
  background: #FFFFFF;
  border-radius: 20px;
  box-shadow: -4px 4px 10px 0 rgba(0, 0, 0, 0.2); /* effect_1:6150 */
}
.side-card-head {
  height: 64px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  border-radius: 20px 20px 0 0;
  background: rgba(9, 113, 206, 0.76); /* paint_1:3173 */
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 600; /* font_1:6131（28 SemiBold，移动端缩小） */
}
.side-card-head svg {
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .side-card-head {
    height: 80px;
    padding: 0 29px;
    font-size: 28px;
  }
}

/* ---------- 数据条（首页 / 企业简介共用：大数字 + 标签） ---------- */
/* 数字 64px（首页设计稿规格；企业简介页 2026-10 起与首页同一节，随之统一为 64px） */
.stat-num {
  font-family: MiSans, "Alibaba PuHuiTi 3.0", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 85px;
  color: #0971CE;
}
.stat-unit {
  font-size: 28px;
}
.stat-label {
  font-size: 16px;
  line-height: 28px;
  color: #0971CE;
}
@media (min-width: 1024px) {
  .stat-num {
    font-size: 64px;
  }
  .stat-unit {
    font-size: 36px;
  }
  .stat-label {
    font-size: 20px;
  }
}

/* ---------- 圆角阴影大图（首页 / 企业简介共用） ---------- */
.about-img {
  border-radius: 10px;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
}

/* ---------- 公司简介区组件（首页 / 企业简介共用） ---------- */

/* 两张大图外缘贴齐屏幕左右边缘（仅桌面布局）：
 * 负向外边距把图片推出居中容器，50%-50vw 对任意容器宽度/断点均成立 */
@media (min-width: 1024px) {
  /* 左图：负左外边距滑向屏幕左缘并缩小占位，让出的空间由 flex-1 文字列
   * 占满——右缘不动、左缘左移同等的量 */
  .about-bleed-left {
    margin-left: calc(50% - 50vw);
  }
  /* 右图：负右外边距滑向屏幕右缘并缩小占位，让出的空间由 flex-1 文字列
   * 自动占满（左缘不动、右缘外扩同等的量）；ml:auto 把图片钉在行尾，
   * 超宽屏下文字列触及 max-width 上限后图片依然贴住屏幕右缘 */
  .about-bleed-right {
    margin-left: auto;
    margin-right: calc(50% - 50vw);
  }
}

/* 两张大图均为超宽原始比例（left.webp ≈3.25:1 / right.webp ≈3.54:1），模板 !h-[480px] 定高 +
   各档定宽，按盒子直接渲染会把原图纵向拉高。object-fit: cover 按原始比例铺满盒子、超出部分裁掉：
   左图 object-position 靠右 → 始终裁左侧，与 .about-bleed-left 负边距贴左缘的方向一致；
   右图靠左 → 始终裁右侧，与 .about-bleed-right 负右外边距贴右缘的方向一致 */
img.about-bleed-left {
  object-fit: cover;
  object-position: right center;
}
img.about-bleed-right {
  object-fit: cover;
  object-position: left center;
}
/* 桌面布局（lg+）：右图文字列定宽，图片 flex:1 吃掉剩余行宽（含出血量）→ 宽度随屏幕总宽伸缩、
   右缘贴屏幕右缘；min-width:0 解除替换元素默认按固有尺寸（定高 480 → 固有宽约 1701px）设定的
   最小宽度，否则窄 lg 下会溢出挤坏文字列。上面的 margin-left:auto 在有 flex-grow 时分不到空间，
   自动失效，无冲突 */
@media (min-width: 1024px) {
  img.about-bleed-right {
    flex: 1 1 0%;
    min-width: 0;
  }
}

/* 公司简介区满铺背景图做滚动视差（首页 index.js / 企业简介页 about-intro.js），提前提升合成层 */
.about > img {
  will-change: transform;
}

/* 资质列表：橙色图标 + 20px 文字 */
.qual-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
  font-size: 16px;
  line-height: 28px;
  color: #333333;
}
@media (min-width: 1024px) {
  .qual-list li {
    gap: 10px;
    padding: 5px 0;
    font-size: 20px;
  }
}

/* 专利数字：54px Bold 橙 + 18px 项 */
.patent-num {
  font-family: MiSans, "Alibaba PuHuiTi 3.0", sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 72px;
  color: #F18903;
}
/* :not(.num-value) —— 数字包在 .num-value span 里由 CountUp.js 递增（见 index.js），单位样式只作用于「项」 */
.patent-num span:not(.num-value) {
  font-size: 16px;
  margin-left: 6px;
}
.patent-label {
  font-size: 14px;
  line-height: 28px;
  color: #F18903;
}
@media (min-width: 1024px) {
  .patent-num {
    font-size: 54px;
  }
  .patent-num span:not(.num-value) {
    font-size: 18px;
  }
  .patent-label {
    font-size: 20px;
  }
}

/* ---------- 页头吸顶悬浮（全站页头共用） ----------
 * 初始：absolute 覆盖在 banner 上（HTML 工具类 top-0 left-0 z-40 w-full）；
 * 滚离顶部后 JS 加 .is-stuck 切为 fixed 悬浮，加投影区分内容；回到顶部还原。
 * 切换时机 scrollY > 0，绝对定位与固定定位在文档顶部视觉连续，无跳动。 */
.site-header {
  transition: box-shadow 0.25s ease;
}
.site-header.is-stuck {
  position: fixed;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.12);
}

/* ===== DedeCMS 集成适配 ===== */

/* 面包屑（{dede:field name='position'/} 输出为一段内联文本，分隔箭头 SVG 由模板 runphp 注入，
   处于文本流中而非 flex 子项，需手工补偿与设计稿等价的 10px 间距与垂直居中） */
.crumb-sep {
  margin: 0 10px;
  vertical-align: middle;
}

/* pagelist 输出结构 ul/li */
.pager ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.pager li{list-style:none}
.pager li a,.pager li span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid #E5E5E5;border-radius:4px;background:#fff;color:#666666;font-size:16px;text-decoration:none}
.pager li a:hover{color:#0971CE;border-color:#0971CE}
.pager li span.thisclass{background:#F18903;border-color:#F18903;color:#fff}

/* ---------- 页脚 ---------- */

.phone-badge {
  position: absolute;
  left: 13px;
  top: 19px;
  display: flex;
  width: 14px;
  height: 14px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #01091A;
  color: #FFFFFF;
  font-size: 10px;
  font-style: normal;
}
.footer-map {
  position: relative; /* 作为二维码绝对定位的参照容器 */
}
.footer-map h4 {
  font-size: 20px;
  line-height: 28px;
  font-weight: 500;
  margin-bottom: 40px;
}
.footer-map a {
  display: block;
  padding: 5px 0;
  font-size: 18px;
  line-height: 25px;
  color: #FFFFFF;
  opacity: 0.85;
  transition: opacity 0.2s;
}
.footer-map a:hover {
  opacity: 1;
}
.qrcode-card {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 140px;
  background: #FFFFFF;
  border-radius: 4px;
  padding-bottom: 2px;
}
.qrcode-card img {
  display: block;
}
.qrcode-card p {
  padding: 6px 0;
  text-align: center;
  font-size: 16px;
  line-height: 22px;
  color: #333333;
}

/* ---------- WOW 滚动入场动画（全站共用：库在 askin/wow/，初始化在 common.js） ---------- */

/* animate.css 4.x 默认 1s 偏慢，统一收紧到 0.8s；错峰由各模板 data-wow-delay 控制。
   「减少动态效果」无需额外处理：animate.css 自带媒体查询会把动画压到 1ms（等于立即显示） */
.wow {
  --animate-duration: 0.8s;
}

.pd-spec-body table {
  width: 100% !important;
}

/* ---------- 页头搜索弹窗（页头 .search-btn 触发，DOM 由 common.js 构建；样式放此处使全站静态页直接生效，无需重新生成） ---------- */
.search-modal {
  position: fixed;
  inset: 0;
  z-index: 60; /* 置于吸顶页头（z-40）之上 */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 18vh 16px 0;
}
.search-modal[hidden] { display: none; }
.search-modal-mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.search-modal-card {
  position: relative;
  width: 100%;
  max-width: 640px;
  padding: 36px 32px 40px;
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.18);
  animation: search-modal-in 0.2s ease;
}
@keyframes search-modal-in {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: none; }
}
.search-modal-card h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 32px;
  color: #333333;
}
.search-modal-tip {
  margin: 0;
  font-size: 15px;
  line-height: 24px;
  color: #999999;
}
.search-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: #F2F2F2;
  color: #666666;
  font-size: 22px;
  line-height: 36px;
  text-align: center;
  cursor: pointer;
}
.search-modal-close:hover {
  background: #F18903;
  color: #FFFFFF;
}
/* 复用全站胶囊搜索组件 .search-box：弹窗内放宽、加大字号；svg 不依赖 Tailwind 工具类，此处兜底尺寸。
   显式提交按钮（同全站 .btn-accent 配色）保证任何浏览器回车即提交 */
.search-modal .search-box {
  max-width: none;
  height: 48px;
  margin-top: 26px;
}
.search-modal .search-box svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.search-modal .search-box input {
  font-size: 16px;
}
.search-modal-submit {
  flex-shrink: 0;
  height: 34px;
  margin-right: 7px;
  padding: 0 22px;
  border: none;
  border-radius: 80px;
  background-color: #F18903;
  color: #FFFFFF;
  font-size: 15px;
  line-height: 34px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.search-modal-submit:hover {
  background-color: #d97b00;
}

/* ---------- 页头语言下拉（页头“语言”按钮 hover/点击展开中/英/日三语切换，全站共用） ----------
   DOM/交互在 common.js，样式放此处使全站静态页直接生效，无需重新生成；
   白卡片 + 圆角 + 投影风格，刻意区别于主菜单二级下拉（蓝底 .nav-drop），
   悬停转蓝沿用全站链接习惯（同 .subnav-item / .pager-item）。
   位置：语言按钮在页头右侧垂直居中于 100px 高的页头栏（按钮高约 27px），
   卡片相对按钮水平居中（left:50% + translateX(-50%)，收展动画的垂直位移合并在同一 transform）；
   顶边距按钮容器 44px（在 83px 基础上上移并经手工微调，卡片上缘进入页头栏内、位于按钮下方） */
.lang-drop {
  position: relative;
}
.lang-menu {
  position: absolute;
  top: 44px;
  left: 50%;
  width: 120px;
  padding: 6px 0;
  background: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.18);
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 6px);
  transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
}
.lang-menu a {
  display: block;
  padding: 12px 0;
  font-size: 16px;
  line-height: 22px;
  color: #4A4A4A;
  border-bottom: 1px solid #F2F2F2;
}
.lang-menu a:last-child {
  border-bottom: none;
}
.lang-menu a:hover {
  color: #0971CE;
  background-color: rgba(9, 113, 206, 0.08);
}
/* 当前语言（中文站构建时由 common.js 标记） */
.lang-menu a.is-current {
  color: #0971CE;
  font-weight: 600;
}
/* hover / 键盘聚焦 / 点击（JS 切 .is-open）三种方式展开 */
.lang-drop:hover .lang-menu,
.lang-drop:focus-within .lang-menu,
.lang-drop.is-open .lang-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

/* ---------- 表单提交反馈提示（报价/留言表单共用，初始 hidden 由 JS 控制） ---------- */
.form-tip {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 22px;
  text-align: center;
}
.form-tip.is-ok { color: #079007; }
.form-tip.is-err { color: #FF0000; }