.shen-site-header { width:100%; min-height:62px; box-sizing:border-box; background-color:#fff; }
.elementor-location-header:has(.shen-site-header.is-sticky) { position:sticky; z-index:1000; top:0; width:100%; }
.admin-bar .elementor-location-header:has(.shen-site-header.is-sticky) { top:32px; }
.elementor-widget-shen-site-header > .elementor-widget-container > .shen-site-header > .shen-site-header__inner,
.shen-site-header__inner { display:flex; align-items:center; width:100%; max-width:1340px; min-height:62px; margin:0 auto; padding:12px 20px; box-sizing:border-box; gap:28px; }
.shen-site-header a { text-decoration:none; }
.shen-site-header__brand { display:inline-flex; flex:0 0 auto; align-items:center; color:#001d55; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; font-size:20px; font-weight:700; line-height:1.15; letter-spacing:-.02em; }
.shen-site-header__brand-logo { display:block; width:160px; max-width:100%; height:auto; object-fit:contain; }
.shen-site-header__nav { flex:0 1 auto; }
.shen-site-header__menu { display:flex; align-items:center; gap:27px; margin:0; padding:0; list-style:none; }
.shen-site-header__menu a,.shen-site-header__login,.shen-site-header__contact { display:block; color:#001f5b; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; font-size:14px; font-weight:500; line-height:1.25; letter-spacing:.01em; white-space:nowrap; }
.shen-site-header__menu a { position:relative; padding:11px 0 10px; }
.shen-site-header__menu a::after { position:absolute; right:0; bottom:4px; left:0; height:2px; border-radius:2px; background:currentColor; content:""; transform:scaleX(0); transform-origin:center; transition:transform .25s ease; }
.shen-site-header__menu a:hover::after,.shen-site-header__menu a:focus-visible::after,.shen-site-header__menu .current-menu-item>a::after,.shen-site-header__menu .current-menu-ancestor>a::after { transform:scaleX(1); }
.shen-site-header__menu a:hover,.shen-site-header__menu a:focus-visible,.shen-site-header__menu .current-menu-item>a,.shen-site-header__menu .current-menu-ancestor>a,.shen-site-header__login:hover { color:#001f5b; }
.shen-site-header__menu a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.shen-site-header__actions { display:flex; align-items:center; gap:27px; margin-left:auto; }
.shen-site-header__contact { min-width:96px; padding:10px 18px; border-radius:8px; box-sizing:border-box; background-color:#001f5b; color:#fff; font-size:13px; font-weight:600; letter-spacing:.04em; text-align:center; }
.shen-site-header__contact:hover,.shen-site-header__contact:focus-visible { color:#fff; opacity:.9; }
.shen-site-header__toggle,.shen-site-header__close,.shen-site-header__backdrop,.shen-site-header__drawer-head,.shen-site-header__drawer-actions { display:none; }
/*
 * 中等宽度保持单行，导航自身横向滚动。
 *
 * 这里绝对不能换行：Elementor 编辑器「桌面」模式下预览 iframe 的宽度是
 * 「窗口宽度 − 左侧面板宽度」，常落在 850~900px。若此断点让 nav 独占一行，
 * 桌面视图下页眉会被撑成两行、高度翻倍（前端 1280px 视口却正常），
 * 就会出现「前端没问题、编辑器里被拉高」。
 */
@media (max-width:1024px) {
	.shen-site-header__inner { padding:12px 20px; gap:20px; }
	.shen-site-header__nav { min-width:0; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
	.shen-site-header__nav::-webkit-scrollbar { display:none; }
	.shen-site-header__menu { gap:20px; }
}

/* 窄平板与手机使用左侧抽屉菜单。 */
@media (max-width:820px) {
	.elementor-widget-shen-site-header > .elementor-widget-container > .shen-site-header > .shen-site-header__inner,
	.shen-site-header__inner { width:100%; min-height:64px; padding:8px 16px; gap:16px; }
	.shen-site-header__brand { position:relative; z-index:1; }
	.shen-site-header__brand-logo { max-height:42px; }
	.shen-site-header__actions { display:none; }
	.shen-site-header__toggle { display:flex; width:44px; height:44px; min-height:44px; margin-left:auto; padding:0; border:0; border-radius:7px; align-items:center; justify-content:center; flex-direction:column; gap:5px; background:transparent; color:#001f55; cursor:pointer; }
	.shen-site-header__toggle:hover,.shen-site-header__toggle:focus-visible { background:#eef2f7; color:#001f55; }
	.shen-site-header__toggle:focus-visible,.shen-site-header__close:focus-visible { outline:2px solid #001f55; outline-offset:2px; }
	.shen-site-header__toggle span { display:block; width:22px; height:2px; border-radius:2px; background:currentColor; transition:transform .25s ease,opacity .2s ease; }
	.shen-site-header__nav { position:fixed; z-index:1002; top:0; bottom:0; left:0; display:flex; width:min(86vw,360px); height:100vh; height:100dvh; padding:0 24px 28px; overflow-x:hidden; overflow-y:auto; box-sizing:border-box; flex-direction:column; background:#fff; box-shadow:18px 0 45px rgba(0,31,85,.18); transform:translateX(-105%); visibility:hidden; transition:transform .32s cubic-bezier(.2,.75,.2,1),visibility 0s linear .32s; }
	.shen-site-header.is-menu-open .shen-site-header__nav { transform:translateX(0); visibility:visible; transition-delay:0s; }
	.shen-site-header__drawer-head { display:flex; min-height:72px; margin:0 -4px 17px; border-bottom:1px solid #e5e9f0; align-items:center; justify-content:space-between; color:#001f55; }
	.shen-site-header__drawer-head strong { font-size:18px; font-weight:700; }
	.shen-site-header__close { position:relative; display:block; width:44px; height:44px; min-height:44px; padding:0; border:0; border-radius:7px; background:transparent; color:#001f55; cursor:pointer; }
	.shen-site-header__close:hover { background:#eef2f7; }
	.shen-site-header__close span { position:absolute; top:21px; left:11px; width:22px; height:2px; border-radius:2px; background:currentColor; transform:rotate(45deg); }
	.shen-site-header__close span+span { transform:rotate(-45deg); }
	.shen-site-header__menu { display:flex; width:100%; gap:0; align-items:stretch; flex-direction:column; }
	.shen-site-header__menu li { width:100%; border-bottom:1px solid #edf0f4; }
	.shen-site-header__menu a { display:flex; min-height:52px; padding:14px 2px; align-items:center; font-size:16px; white-space:normal; }
	.shen-site-header__menu a::after { top:auto; right:auto; bottom:0; width:42px; }
	.shen-site-header__drawer-actions { display:grid; margin-top:auto; padding-top:28px; gap:12px; grid-template-columns:1fr; }
	.shen-site-header__drawer-actions a { display:flex; min-height:46px; align-items:center; justify-content:center; font-size:15px; }
	.shen-site-header__drawer-actions .shen-site-header__login { border:1px solid #001f55; border-radius:8px; }
	.shen-site-header__drawer-actions .shen-site-header__contact { width:100%; }
	.shen-site-header__backdrop { position:fixed; z-index:1001; inset:0; display:block; width:100%; height:100%; min-height:0; padding:0; border:0; background:rgba(0,20,55,.52); cursor:pointer; opacity:0; visibility:hidden; transition:opacity .3s ease,visibility 0s linear .3s; }
	.shen-site-header__backdrop:hover,.shen-site-header__backdrop:focus { background:rgba(0,20,55,.52); }
	.shen-site-header.is-menu-open .shen-site-header__backdrop { opacity:1; visibility:visible; transition-delay:0s; }
	html.shen-mobile-menu-open,body.shen-mobile-menu-open { overflow:hidden; }
}
@media (max-width:782px) {
	.admin-bar .elementor-location-header:has(.shen-site-header.is-sticky) { top:46px; }
}
@media (max-width:600px) {
	/* WordPress 在手机宽度下将管理工具栏改为非固定定位，页眉无需再次预留 46px。 */
	.admin-bar .elementor-location-header:has(.shen-site-header.is-sticky) { top:0; }
}
@media (max-width:520px) {
	.shen-site-header__brand { font-size:16px; }
	.shen-site-header__brand-logo { width:auto; max-width:210px; max-height:38px; }
}

@media (prefers-reduced-motion:reduce) {
	.shen-site-header__nav,.shen-site-header__backdrop,.shen-site-header__toggle span { transition:none; }
}
