/* =========================================================
   CERTPI 页头（1.0.5）：深色单排，固定在顶部。
   颜色全部来自 cpfa-palette.css 的配色变量；下面 .cp-hd 里的几个变量可以在"额外 CSS"里覆盖。
   横排排得下时：横排菜单 + 下拉；排不下（宽度 <1280px，或换成英文等较长的语言）：菜单按钮 + 从页头下方展开的深色菜单。
   ========================================================= */
html{scroll-padding-top:86px}
.cp-hd{
  --hd-h:70px;
  --hd-bg:var(--cp-dark-2);          /* 页头底色 */
  --dd-bg:var(--cp-dark-3);          /* 下拉、搜索框、手机菜单：比页头浅一档 */
  --dd-hover:var(--cp-dark-4);       /* 下拉悬停：再浅一档 */
  --hd-ink:var(--cp-on-dark-2);      /* 菜单文字 */
  --hd-ink-strong:var(--cp-on-dark); /* 悬停文字 */
  --hd-cur:#7ea6ff;                  /* 当前栏目 */
  --hd-line:rgba(255,255,255,.08);
  --hd-outline:rgba(255,255,255,.32);
  position:sticky;top:0;z-index:1000;
  background:var(--hd-bg);border-bottom:1px solid var(--hd-line);
  font-family:var(--cp-font-cn);transition:box-shadow .2s;
}
.admin-bar .cp-hd{top:32px}
@media (max-width:782px){.admin-bar .cp-hd{top:46px}}
@media (max-width:600px){.admin-bar .cp-hd{top:0}}
.cp-hd.is-scrolled{box-shadow:0 8px 22px -14px rgba(0,0,0,.6)}
.cp-hd *,.cp-hd *::before,.cp-hd *::after{box-sizing:border-box}
.cp-hd ul,.cp-hd li{list-style:none;margin:0;padding:0;float:none}
.cp-hd-in{display:flex;align-items:center;gap:10px;height:var(--hd-h);max-width:1440px;margin:0 auto;padding:0 24px}
.cp-i{width:18px;height:18px;display:block;flex:none}

/* Logo */
.cp-logo{flex:none;display:block;margin-right:14px;line-height:0}
.cp-logo img{height:44px;width:auto;max-width:none}
.cp-logo-text{display:block;color:var(--hd-ink-strong);font-size:20px;font-weight:600;line-height:var(--hd-h)}

/* 主导航（宽屏） */
.cp-nav-wrap{flex:none;margin-left:auto;display:flex;align-items:center}
.cp-nav{display:flex;align-items:center}
.cp-nav li{position:relative}
.cp-nav>li>a{position:relative;display:flex;align-items:center;height:var(--hd-h);padding:0 10px;color:var(--hd-ink);font-size:15px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;transition:color .15s}
.cp-nav>li.menu-item-has-children>a{padding-right:23px}
.cp-nav>li.menu-item-has-children>a::after{content:"";position:absolute;right:10px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.55}
.cp-nav>li:hover>a,.cp-nav>li:focus-within>a,.cp-nav>li.is-touch-open>a,.cp-nav>li>a:hover{color:var(--hd-ink-strong)}
/* 文字下方的 2px 细线（1.0.7 起跟着文字走，线宽与文字一致，文字折行时也对得上）：
   悬停时白色半透明滑出；当前栏目常显亮蓝。 */
.cp-nav-t{position:relative;display:inline-block}
.cp-nav>li>a>.cp-nav-t::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;border-radius:2px;background:rgba(255,255,255,.55);transform:scaleX(0);transition:transform .2s ease}
.cp-nav>li:hover>a>.cp-nav-t::after,.cp-nav>li:focus-within>a>.cp-nav-t::after,.cp-nav>li.is-touch-open>a>.cp-nav-t::after{transform:scaleX(1)}
.cp-nav>li:is(.current-menu-item,.current-menu-ancestor,.current-menu-parent,.current-page-ancestor)>a{color:var(--hd-cur)}
.cp-nav>li:is(.current-menu-item,.current-menu-ancestor,.current-menu-parent,.current-page-ancestor)>a>.cp-nav-t::after{background:var(--hd-cur);transform:scaleX(1)}

/* 按空间逐级收紧（由 header.js 判断）：cp-fit-1 紧凑，cp-fit-2 字号再小、长菜单名折行。三档都排不下才进入收起模式。 */
.cp-fit-1 .cp-nav>li>a{padding:0 7px;font-size:14px}
.cp-fit-1 .cp-nav>li.menu-item-has-children>a{padding-right:18px}
.cp-fit-1 .cp-nav>li.menu-item-has-children>a::after{right:6px}
.cp-fit-1 .cp-hd-in,.cp-fit-2 .cp-hd-in{gap:4px;max-width:none}
.cp-fit-1 .cp-logo{margin-right:4px}
.cp-fit-1 .cp-tools{margin-left:4px;gap:2px}
.cp-fit-1 .cp-contact{padding:6px 10px;font-size:13px}
.cp-fit-2 .cp-nav>li>a{font-size:13px;line-height:1.25;white-space:normal;text-align:center}
.cp-fit-2 .cp-nav>li>a>.cp-nav-t{max-width:13em}
.cp-fit-2 .cp-nav>li>a>.cp-nav-t::after{bottom:-6px}

/* 下拉：比页头浅一档 */
.cp-nav .sub-menu{position:absolute;left:0;top:100%;z-index:20;min-width:250px;padding:8px;background:var(--dd-bg);border-radius:0 0 8px 8px;box-shadow:0 18px 36px -18px rgba(0,0,0,.65);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility .15s}
.cp-nav li:hover>.sub-menu,.cp-nav li:focus-within>.sub-menu,.cp-nav li.is-touch-open>.sub-menu{opacity:1;visibility:visible;transform:none}
.cp-nav .sub-menu a{position:relative;display:block;padding:9px 12px;border-radius:5px;color:var(--hd-ink);font-size:14px;line-height:1.5;text-decoration:none;white-space:nowrap}
/* 1.0.6：鼠标所在项亮蓝底白字；鼠标移进三级菜单时，二级里的上级项保持浅一档底色，作为路径提示 */
.cp-nav .sub-menu li:hover>a,.cp-nav .sub-menu li:focus-within>a{background:var(--dd-hover);color:var(--hd-ink-strong)}
.cp-nav .sub-menu .current-menu-item>a{color:var(--hd-cur)}
.cp-nav .sub-menu li>a:hover,.cp-nav .sub-menu li>a:focus-visible{background:var(--cp-accent);color:var(--cp-on-accent)}
.cp-nav .sub-menu .menu-item-has-children>a{padding-right:30px}
.cp-nav .sub-menu .menu-item-has-children>a::after{content:"";position:absolute;right:14px;top:50%;width:6px;height:6px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.55}
.cp-nav .sub-menu .sub-menu{left:100%;top:-8px;border-radius:8px}
.cp-sub-toggle{display:none}

/* 右侧：联系按钮、搜索、语言 */
.cp-tools{flex:none;display:flex;align-items:center;gap:6px;margin-left:12px}
.cp-contact{padding:7px 14px;border:1px solid var(--hd-outline);border-radius:6px;color:var(--hd-ink-strong);font-size:14px;line-height:1.4;text-decoration:none;white-space:nowrap;transition:border-color .15s,background .15s}
.cp-contact:hover,.cp-contact:focus-visible{border-color:var(--hd-cur);background:rgba(126,166,255,.12);color:var(--hd-ink-strong);text-decoration:none}
.cp-ibtn{width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--hd-ink);cursor:pointer}
.cp-ibtn:hover,.cp-ibtn[aria-expanded="true"]{background:rgba(255,255,255,.08);color:var(--hd-ink-strong)}
.cp-ibtn:focus{outline:none}
.cp-ibtn:focus-visible,.cp-contact:focus-visible,.cp-nav a:focus-visible,.cp-lang-btn:focus-visible{outline:2px solid var(--hd-cur);outline-offset:2px}
.cp-menu-btn{display:none}

/* 语言切换（由 header.js 按 GTranslate 的设置生成；启用后隐藏 GTranslate 自带的浮动按钮） */
.cp-lang{position:relative}
.cp-lang[hidden]{display:none}
.cp-lang-btn{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:0;border-radius:999px;background:none;color:var(--hd-ink);font-family:inherit;font-size:13px;white-space:nowrap;cursor:pointer}
.cp-lang-btn::after{content:"";width:5px;height:5px;margin:-3px 0 0 2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.6}
.cp-lang-btn:hover,.cp-lang-btn[aria-expanded="true"]{background:rgba(255,255,255,.08);color:var(--hd-ink-strong)}
.cp-lang-btn .cp-i{width:16px;height:16px}
.cp-lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:140px;padding:6px;background:var(--dd-bg);border-radius:8px;box-shadow:0 18px 36px -18px rgba(0,0,0,.65)}
.cp-lang-menu[hidden]{display:none}
.cp-lang-menu a{display:block;padding:8px 12px;border-radius:5px;color:var(--hd-ink);font-size:14px;text-decoration:none}
.cp-lang-menu a:hover{background:var(--dd-hover);color:var(--hd-ink-strong);text-decoration:none}
.cp-lang-menu a[aria-current="true"]{color:var(--hd-cur)}
.cp-has-lang #gt_float_wrapper{display:none !important}

/* 搜索框：点搜索图标后在页头下方展开 */
.cp-search{background:var(--dd-bg);border-top:1px solid var(--hd-line)}
.cp-search[hidden]{display:none}
.cp-search form{display:flex;align-items:center;gap:10px;max-width:1440px;margin:0 auto;padding:14px 24px}
.cp-search input{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.06);color:var(--hd-ink-strong);font-family:inherit;font-size:15px;-webkit-appearance:none;appearance:none}
.cp-search input::placeholder{color:var(--cp-on-dark-3)}
.cp-search input:focus{outline:none;border-color:var(--hd-cur);background:rgba(255,255,255,.09)}
.cp-search button{flex:none;height:44px;padding:0 20px;border:0;border-radius:6px;background:var(--cp-accent);color:var(--cp-on-accent);font-family:inherit;font-size:15px;cursor:pointer}
.cp-search button:hover{background:var(--cp-accent-hover)}

/* 手机菜单底部的按钮：宽屏不显示 */
.cp-drawer-foot{display:none}

/* 1280–1439px：间距收紧，保证一行排得下（桌面浏览器的滚动条还要占约 15px） */
@media (min-width:1280px) and (max-width:1439.98px){
  .cp-hd-in{gap:6px;padding:0 16px}
  .cp-logo{margin-right:6px}
  .cp-logo img{height:42px}
  .cp-nav>li>a{padding:0 8px}
  .cp-nav>li.menu-item-has-children>a{padding-right:20px}
  .cp-nav>li.menu-item-has-children>a::after{right:8px}
  .cp-tools{margin-left:6px}
}

/* ===================== 收起模式：菜单按钮 + 从页头下方展开的菜单 =====================
   1.0.6 起不再只按屏幕宽度判断：<html> 带 cp-collapse 类时进入收起模式。
   这个类由页头前的一小段脚本（宽度 <1280px）和 header.js（菜单一行排不下时，
   例如切换成英文后）加上。 */
.cp-collapse{scroll-padding-top:72px}
.cp-collapse .cp-hd{--hd-h:58px}
.cp-collapse .cp-hd-in{gap:2px;padding:0 8px 0 16px}
.cp-collapse .cp-logo{margin-right:0}
.cp-collapse .cp-logo img{height:36px}
.cp-collapse .cp-contact,.cp-collapse .cp-tools-lang{display:none}
.cp-collapse .cp-tools{margin-left:auto}
.cp-collapse .cp-ibtn{width:42px;height:42px;color:var(--hd-ink-strong)}
.cp-collapse .cp-menu-btn{display:grid}
.cp-collapse .cp-menu-btn .cp-i{width:22px;height:22px}

.cp-collapse .cp-nav-wrap{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;margin:0;padding:4px 16px 18px;max-height:calc(100vh - var(--hd-h));max-height:calc(100dvh - var(--hd-h));overflow-y:auto;background:var(--dd-bg);box-shadow:0 18px 30px -18px rgba(0,0,0,.6)}
.cp-collapse .cp-nav-open .cp-nav-wrap{display:flex}
.cp-collapse body.cp-nav-open{overflow:hidden}
.cp-collapse .cp-nav{flex-direction:column;align-items:stretch}
.cp-collapse .cp-nav>li{border-bottom:1px solid var(--hd-line)}
.cp-collapse .cp-nav>li>a,.cp-collapse .cp-nav>li.menu-item-has-children>a{height:auto;padding:14px 46px 14px 2px;font-size:15px;line-height:1.4;white-space:normal}
.cp-collapse .cp-nav>li.menu-item-has-children>a::after,.cp-collapse .cp-nav>li>a>.cp-nav-t::after{display:none}
.cp-collapse .cp-nav>li>a{text-align:left}
.cp-collapse .cp-nav>li>a>.cp-nav-t{max-width:none}
.cp-collapse .cp-nav .sub-menu{position:static;display:none;min-width:0;padding:0 0 8px 12px;background:none;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
.cp-collapse .cp-nav li.is-open>.sub-menu{display:block}
.cp-collapse .cp-nav .sub-menu a,.cp-collapse .cp-nav .sub-menu .menu-item-has-children>a{padding:9px 46px 9px 2px;color:var(--cp-on-dark-3);font-size:14px;white-space:normal}
.cp-collapse .cp-nav .sub-menu li>a:hover,.cp-collapse .cp-nav .sub-menu li>a:focus-visible,.cp-collapse .cp-nav .sub-menu li:hover>a,.cp-collapse .cp-nav .sub-menu li:focus-within>a{background:none;color:var(--hd-ink-strong)}
.cp-collapse .cp-nav .sub-menu .current-menu-item>a{color:var(--hd-cur)}
.cp-collapse .cp-nav .sub-menu .menu-item-has-children>a::after{display:none}
.cp-collapse .cp-nav .sub-menu .sub-menu{padding-left:12px}
.cp-collapse .cp-sub-toggle{display:block;position:absolute;right:0;top:3px;width:44px;height:44px;padding:0;border:0;background:none;color:var(--hd-ink);cursor:pointer}
.cp-collapse .cp-nav .sub-menu .cp-sub-toggle{top:0;height:38px}
.cp-collapse .cp-sub-toggle::before,.cp-collapse .cp-sub-toggle::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-1px 0 0 -6px;background:currentColor;transition:transform .2s}
.cp-collapse .cp-sub-toggle::after{transform:rotate(90deg)}
.cp-collapse .cp-nav li.is-open>.cp-sub-toggle::after{transform:rotate(0)}

.cp-collapse .cp-drawer-foot{display:flex;flex-wrap:wrap;gap:10px;padding-top:16px}
.cp-collapse .cp-drawer-btn{flex:1 1 40%;display:flex;align-items:center;justify-content:center;gap:6px;height:44px;border:1px solid var(--hd-outline);border-radius:6px;color:var(--hd-ink-strong);font-size:14px;text-decoration:none}
.cp-collapse .cp-drawer-btn:hover{color:var(--hd-ink-strong);text-decoration:none;border-color:var(--hd-cur)}
.cp-collapse .cp-drawer-tel{background:var(--cp-accent);border-color:var(--cp-accent)}
.cp-collapse .cp-drawer-btn .cp-i{width:16px;height:16px}
.cp-collapse .cp-drawer-foot .cp-lang{flex:1 1 100%}
.cp-collapse .cp-drawer-foot .cp-lang-btn{width:100%;height:44px;justify-content:center;border:1px solid var(--hd-outline);border-radius:6px;color:var(--hd-ink-strong);font-size:14px}
.cp-collapse .cp-drawer-foot .cp-lang-menu{position:static;margin-top:6px;box-shadow:none;background:rgba(255,255,255,.05)}
.cp-collapse .cp-search form{padding:12px 16px}
