/*
 * mega-menu.css — 大菜单（Mega Menu / Nested Menu）的自有实现。
 *
 * 替代 elementor-pro/assets/css/widget-mega-menu.min.css（19,786 B，商业授权）。
 * **不是抄它的规则**，是照渲染结果重写：`tools/derive-css.mjs` 量出原件在本站元素上
 * 贡献的全部计算属性，自有实现逐条对齐。
 *
 * 🔴 **这一份与前五份的关键不同：它是带状态的，静止态等价不算证明。**
 * 原件 107 条规则里 **71 条挂在状态上**（`:hover` / `[aria-expanded]` / `.e-current` /
 * `[data-layout=dropdown]` / `.e-active` / `.e-scroll-active`）。实测四态贡献集：
 *
 *     静止 @1440 14,958 · 静止 @390 14,784 · 展开 @390 15,002 · 悬停展开 @1440 14,973
 *     四态并集 17,374 条，而静止两态并集只有 16,000 条
 *     ⇒ **1,374 条（7.9%）只有把界面推进到状态才量得到**，其中 1,293 条来自宽屏展开态
 *
 * 一份「静止态逐条相同」的证明会**整块漏掉下拉面板的排版**。
 * 验收命令写在 `tools/css-equiv.mjs` 的用法里；状态配方：
 *   展开 @390 ：`--pre='点 .e-n-menu-toggle，return 数 [aria-expanded=true]'`（自证读数应为 1）
 *   展开 @1440：`--hover=".e-n-menu-title"` + `--pre='return 数 .e-active/[aria-expanded=true]'`（应为 2）
 *
 * ⚠️ **`--hover` 必须用真实鼠标**（CDP），合成的 `MouseEvent` 进不去 `:hover` 伪类。
 *
 * ⚠️ 站上真实用到的形态：`e-n-menu-layout-horizontal` + `e-n-menu-mobile` + toggle，
 * `data-layout` **由 JS 在加载时按开关可见性写入**（横排 / 窄屏 dropdown），标记里出现 0 次。
 * ⚠️ `e-current`（锚点导航当前项）静态出现在 30 个片段里，**不是死的**。
 * ⚠️ 原件里 `@media (max-width:-1)` 是永不匹配的死块（Elementor 为被禁用断点生成），不抄。
 */

/* ── 变量默认值 ───────────────────────────────────────────────────────
 * 组件的全部可调项都走自定义属性，逐页样式（uploads/elementor/css/*.css）覆盖它们。
 * **这一块是数据不是设计**：少一行，对应的逐页设置就静默失效、回落到浏览器默认。
 */
.elementor-widget-n-menu {
  --n-menu-direction: column;
  --n-menu-wrapper-display: flex;
  --n-menu-heading-justify-content: initial;
  --n-menu-heading-overflow-x: initial;
  --n-menu-heading-wrap: wrap;

  --n-menu-title-color-normal: #1f2124;
  --n-menu-title-color-active: #58d0f5;
  --n-menu-title-color-hover: #1f2124;
  --n-menu-title-hover-color-fallback: #1f2124;
  --n-menu-title-normal-color-dropdown: var(--n-menu-title-color-normal);
  --n-menu-title-active-color-dropdown: var(--n-menu-title-color-active);
  --n-menu-title-font-size: 1rem;
  --n-menu-title-line-height: 1.5;
  --n-menu-title-padding: 0.5rem 1rem;
  --n-menu-title-transition: 0.3s;
  --n-menu-title-justify-content: initial;
  --n-menu-title-justify-content-mobile: initial;
  --n-menu-title-flex-grow: initial;
  --n-menu-title-space-between: 0px;
  --n-menu-title-distance-from-content: 0px;
  --n-menu-title-order: initial;
  --n-menu-title-direction: initial;
  --n-menu-title-align-items: center;

  --n-menu-icon-color: var(--n-menu-title-color-normal);
  --n-menu-icon-color-active: var(--n-menu-title-color-active);
  --n-menu-icon-color-hover: var(--n-menu-title-color-hover);
  --n-menu-icon-align-items: center;
  --n-menu-icon-order: initial;
  --n-menu-icon-gap: 5px;

  --n-menu-dropdown-icon-gap: 5px;
  --n-menu-dropdown-indicator-size: initial;
  --n-menu-dropdown-indicator-rotate: initial;
  --n-menu-dropdown-indicator-space: initial;
  --n-menu-dropdown-indicator-color-normal: initial;
  --n-menu-dropdown-indicator-color-hover: initial;
  --n-menu-dropdown-indicator-color-active: initial;

  --n-menu-dropdown-content-max-width: initial;
  --n-menu-dropdown-content-box-border-color: #fff;
  --n-menu-dropdown-content-box-border-inline-start-width: medium;
  --n-menu-dropdown-content-box-border-inline-end-width: medium;
  --n-menu-dropdown-content-box-border-block-start-width: medium;
  --n-menu-dropdown-content-box-border-block-end-width: medium;
  --n-menu-dropdown-content-box-border-style: none;
  --n-menu-dropdown-headings-height: 0px;

  --n-menu-toggle-align: center;
  --n-menu-toggle-icon-wrapper-animation-duration: 500ms;
  --n-menu-toggle-icon-hover-duration: 500ms;
  --n-menu-toggle-icon-size: 20px;
  --n-menu-toggle-icon-color: #1f2124;
  --n-menu-toggle-icon-color-hover: var(--n-menu-toggle-icon-color);
  --n-menu-toggle-icon-color-active: var(--n-menu-toggle-icon-color);
  --n-menu-toggle-icon-border-radius: initial;
  --n-menu-toggle-icon-padding: initial;
  --n-menu-toggle-icon-distance-from-dropdown: 0px;

  /* 分隔线宽度刻意经一层间接：逐页样式设 `--n-menu-divider-width`，这里给默认 2px。 */
  --n-menu-divider-border-width: var(--n-menu-divider-width, 2px);
  --n-menu-open-animation-duration: 500ms;

  /* 「拉伸到容器/整屏」那三个由 mega-menu-stretch-content 的 JS 写入 */
  --stretch-width: 100%;
  --stretch-left: initial;
  --stretch-right: initial;
}

/* ── 骨架 ─────────────────────────────────────────────────────────── */
.elementor-widget-n-menu .e-n-menu {
  display: flex;
  flex-direction: column;
  position: relative;
}
.elementor-widget-n-menu .e-n-menu-wrapper {
  display: var(--n-menu-wrapper-display);
  flex-direction: column;
}
/* 标题行：横向排开。滚动条藏起来（窄屏标题多时可横向拖动，但不显示滚动条）。 */
.elementor-widget-n-menu .e-n-menu-heading {
  display: flex;
  flex-direction: row;
  flex-wrap: var(--n-menu-heading-wrap);
  justify-content: var(--n-menu-heading-justify-content);
  margin: initial;
  padding: initial;
  overflow-x: var(--n-menu-heading-overflow-x);
  row-gap: var(--n-menu-title-space-between);
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.elementor-widget-n-menu .e-n-menu-heading::-webkit-scrollbar {
  display: none;
}
/* 面板容器是标题行的兄弟，**不能**跟着标题一起排在行内。 */
.elementor-widget-n-menu .e-n-menu-heading > .e-con,
.elementor-widget-n-menu .e-n-menu-heading > .e-n-menu-item > .e-con {
  display: none;
}
.elementor-widget-n-menu .e-n-menu-item {
  display: flex;
  list-style: none;
  margin-block: initial;
  padding-block: initial;
}
.elementor-widget-n-menu .e-n-menu-item .e-n-menu-title {
  position: relative;
}
/* 项间分隔线：画在标题的 ::after 上，最后一项没有。
   `inset-inline-end` 那个 calc 把线摆在两项间距的正中（再减去自身线宽的一半）。 */
.elementor-widget-n-menu .e-n-menu-item:not(:last-of-type) .e-n-menu-title:after {
  content: var(--n-menu-divider-content, none);
  position: absolute;
  align-self: center;
  height: var(--n-menu-divider-height, 35%);
  border-color: var(--n-menu-divider-color, #000);
  border-inline-start-style: var(--n-menu-divider-style, solid);
  border-inline-start-width: var(--n-menu-divider-border-width);
  inset-inline-end: calc(var(--n-menu-title-space-between) / 2 * -1 - var(--n-menu-divider-border-width) / 2);
}

/* ── 下拉面板 ─────────────────────────────────────────────────────── */
/* z-index 取到几乎最大：面板必须盖住页面上任何东西（含粘性页头与轮播）。 */
.elementor-widget-n-menu .e-n-menu-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background-color: transparent;
  z-index: 2147483620;
}
.elementor-widget-n-menu .e-n-menu-content > .e-con {
  animation-duration: var(--n-menu-open-animation-duration);
  max-width: calc(100% - var(--margin-inline-start, var(--margin-left)) - var(--margin-inline-end, var(--margin-right)));
}
/* `:where()` 让这条底色的优先级为 0 —— 逐页样式里任何一条背景都能盖过它，
   **换成普通选择器会把用户设的面板底色顶掉**。 */
:where(.elementor-widget-n-menu .e-n-menu-content > .e-con) {
  background-color: #fff;
}
/* 没有 .e-active 的面板不显示 —— **这就是「关着」这件事本身**（JS 只负责加/去这个类）。 */
.elementor-widget-n-menu .e-n-menu-content > .e-con:not(.e-active) {
  display: none;
}

/* ── 标题 ─────────────────────────────────────────────────────────── */
.elementor-widget-n-menu .e-n-menu-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: var(--n-menu-title-justify-content);
  flex-grow: var(--n-menu-title-flex-grow);
  gap: var(--n-menu-dropdown-indicator-space);
  margin: initial;
  padding: var(--n-menu-title-padding);
  border: #fff;
  color: var(--n-menu-title-color-normal);
  font-weight: 500;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
/* `e-click` 由 JS 加（点击展开那一档）—— 静态标记里出现 0 次，别当死规则。 */
.elementor-widget-n-menu .e-n-menu-title.e-click,
.elementor-widget-n-menu .e-n-menu-title.e-click * {
  cursor: pointer;
}
.elementor-widget-n-menu .e-n-menu-title-container {
  display: flex;
  flex-direction: var(--n-menu-title-direction);
  align-items: var(--n-menu-title-align-items);
  align-self: var(--n-menu-icon-align-items);
  justify-content: var(--n-menu-title-justify-content);
  gap: var(--n-menu-icon-gap);
}
.elementor-widget-n-menu .e-n-menu-title-container.e-link {
  cursor: pointer;
}
/* 不是链接的标题：光标保持默认，**连同它里面的每一个后代** ——
   少了那个 `*`，标题文字上会出现文本光标，看起来像可选中。 */
.elementor-widget-n-menu .e-n-menu-title-container:not(.e-link),
.elementor-widget-n-menu .e-n-menu-title-container:not(.e-link) * {
  cursor: default;
}
.elementor-widget-n-menu .e-n-menu-title-text {
  display: flex;
  align-items: center;
  font-size: var(--n-menu-title-font-size);
  line-height: var(--n-menu-title-line-height);
  transition: all var(--n-menu-title-transition);
}

/* ── 展开指示图标 ─────────────────────────────────────────────────── */
/* 高度锁成一整行文字（font-size × line-height），否则图标会把标题行撑高。 */
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: var(--n-menu-icon-align-items);
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  height: calc(var(--n-menu-title-font-size) * var(--n-menu-title-line-height));
  margin-inline-start: var(--n-menu-dropdown-icon-gap);
  padding: initial;
  border: initial;
  background-color: initial;
  color: inherit;
  text-align: center;
  transform: var(--n-menu-dropdown-indicator-rotate);
  transition: all var(--n-menu-title-transition);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon span i {
  width: var(--n-menu-dropdown-indicator-size, var(--n-menu-title-font-size));
  font-size: var(--n-menu-dropdown-indicator-size, var(--n-menu-title-font-size));
  transition: all var(--n-menu-title-transition);
}
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon span svg {
  width: var(--n-menu-dropdown-indicator-size, var(--n-menu-title-font-size));
  height: var(--n-menu-dropdown-indicator-size, var(--n-menu-title-font-size));
  transition: all var(--n-menu-title-transition);
}
/* 开/合两个图标常驻 DOM，靠 `aria-expanded` 切换谁显示 ——
   **可访问性属性同时是样式开关**，改成 class 会让读屏与视觉分叉。 */
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon[aria-expanded="false"] .e-n-menu-dropdown-icon-opened {
  display: none;
}
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon[aria-expanded="false"] .e-n-menu-dropdown-icon-closed {
  display: flex;
}
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon[aria-expanded="true"] .e-n-menu-dropdown-icon-closed {
  display: none;
}
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon[aria-expanded="true"] .e-n-menu-dropdown-icon-opened {
  display: flex;
}
/* 鼠标点击后不画焦点环，键盘走到时照画（`:focus-visible` 的标准写法）。 */
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon:focus:not(:focus-visible) {
  outline: none;
}

/* ── 三态配色：常态 / 当前项 / 悬停 ───────────────────────────────── */
/* 常态用 `:not(.e-current):not(:hover)` 而不是靠后面两条覆盖 ——
   那样图标的 `fill`/`color` 在过渡中会闪一下中间色。 */
.elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text {
  color: var(--n-menu-title-color-normal);
}
.elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-dropdown-icon i {
  color: var(--n-menu-dropdown-indicator-color-normal, var(--n-menu-title-color-normal));
}
.elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-dropdown-icon svg {
  fill: var(--n-menu-dropdown-indicator-color-normal, var(--n-menu-title-color-normal));
}
.elementor-widget-n-menu .e-n-menu-title.e-current,
.elementor-widget-n-menu .e-n-menu-title.e-current a {
  color: var(--n-menu-title-color-active);
}
.elementor-widget-n-menu .e-n-menu-title.e-current span > svg {
  fill: var(--n-menu-title-color-active);
}
.elementor-widget-n-menu .e-n-menu-title.e-current .e-n-menu-dropdown-icon i {
  color: var(--n-menu-dropdown-indicator-color-active, var(--n-menu-title-color-active));
}
.elementor-widget-n-menu .e-n-menu-title.e-current .e-n-menu-dropdown-icon svg {
  fill: var(--n-menu-dropdown-indicator-color-active, var(--n-menu-title-color-active));
}
.elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current),
.elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current) a {
  color: var(--n-menu-title-color-hover);
}
.elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current) .e-n-menu-title-container:not(.e-link) {
  cursor: default;
}
/* 悬停时图标那两条**多一层回落**（`--n-menu-title-hover-color-fallback`）：
   逐页样式可能只设了文字的悬停色而没设图标的。 */
.elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current) i {
  color: var(--n-menu-title-color-hover, var(--n-menu-title-hover-color-fallback));
}
.elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current) svg {
  fill: var(--n-menu-title-color-hover, var(--n-menu-title-hover-color-fallback));
}
.elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current) .e-n-menu-dropdown-icon i {
  color: var(--n-menu-dropdown-indicator-color-hover, var(--n-menu-title-color-hover));
}
.elementor-widget-n-menu .e-n-menu-title:hover:not(.e-current) .e-n-menu-dropdown-icon svg {
  fill: var(--n-menu-dropdown-indicator-color-hover, var(--n-menu-title-color-hover));
}

/* ── 移动端开关（汉堡） ───────────────────────────────────────────── */
/* 默认 `display:none`，只有窄屏那条 @media 里才显出来 —— 顺序承重。 */
.elementor-widget-n-menu .e-n-menu-toggle {
  display: none;
  align-self: var(--n-menu-toggle-align);
  position: relative;
  padding: initial;
  border: initial;
  background-color: initial;
  color: inherit;
  z-index: 1000;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.elementor-widget-n-menu .e-n-menu-toggle:focus:not(:focus-visible) {
  outline: none;
}
.elementor-widget-n-menu .e-n-menu-toggle i {
  color: var(--n-menu-toggle-icon-color);
  font-size: var(--n-menu-toggle-icon-size);
  transition: all var(--n-menu-toggle-icon-hover-duration);
}
.elementor-widget-n-menu .e-n-menu-toggle svg {
  width: var(--n-menu-toggle-icon-size);
  height: auto;
  fill: var(--n-menu-toggle-icon-color);
  transition: all var(--n-menu-toggle-icon-hover-duration);
}
.elementor-widget-n-menu .e-n-menu-toggle span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--n-menu-toggle-icon-padding);
  border-radius: var(--n-menu-toggle-icon-border-radius);
  text-align: center;
}
/* 关闭图标**叠在**打开图标上（绝对定位铺满），靠 opacity 互换 ——
   用 display 换会让按钮在切换的那一帧塌掉尺寸。 */
.elementor-widget-n-menu .e-n-menu-toggle span.e-close {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.elementor-widget-n-menu .e-n-menu-toggle span.e-close svg {
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.elementor-widget-n-menu .e-n-menu-toggle [class^="elementor-animation-"] {
  animation-duration: var(--n-menu-toggle-icon-wrapper-animation-duration);
  transition-duration: var(--n-menu-toggle-icon-wrapper-animation-duration);
}
.elementor-widget-n-menu .e-n-menu-toggle:hover i {
  color: var(--n-menu-toggle-icon-color-hover);
}
.elementor-widget-n-menu .e-n-menu-toggle:hover svg {
  fill: var(--n-menu-toggle-icon-color-hover);
}
.elementor-widget-n-menu .e-n-menu-toggle[aria-expanded="true"] .e-open {
  opacity: 0;
}
.elementor-widget-n-menu .e-n-menu-toggle[aria-expanded="true"] .e-close {
  opacity: 1;
}
.elementor-widget-n-menu .e-n-menu-toggle[aria-expanded="true"] i {
  color: var(--n-menu-toggle-icon-color-active);
}
.elementor-widget-n-menu .e-n-menu-toggle[aria-expanded="true"] svg {
  fill: var(--n-menu-toggle-icon-color-active);
}

/* ── 横排布局（data-layout 不是 dropdown） ────────────────────────── */
/* ⚠️ `data-layout` **由 JS 在加载时写入**（按开关可不可见判横排/下拉），
   标记里出现 0 次 —— 静态扫描会把这一整族判死。 */
.elementor-widget-n-menu .e-n-menu:not([data-layout="dropdown"]) .e-n-menu-item:not(:last-child) {
  margin-inline-end: var(--n-menu-title-space-between);
}
/* 面板绝对定位，宽度由「拉伸」那三个变量给（JS 写入），默认铺满组件宽度。 */
.elementor-widget-n-menu .e-n-menu:not([data-layout="dropdown"]) .e-n-menu-content {
  position: absolute;
  left: var(--stretch-left);
  right: var(--stretch-right);
  width: var(--stretch-width);
}
.elementor-widget-n-menu .e-n-menu:not([data-layout="dropdown"]):not(.content-above) .e-active.e-n-menu-content {
  top: 100%;
  padding-block-start: var(--n-menu-title-distance-from-content);
}
/* `content-above` 由 JS 加：面板放不下时翻到标题上方。 */
.elementor-widget-n-menu .e-n-menu:not([data-layout="dropdown"]).content-above .e-active.e-n-menu-content {
  bottom: 100%;
  padding-block-end: var(--n-menu-title-distance-from-content);
}

/* ── 下拉布局（窄屏 / 开关模式） ─────────────────────────────────── */
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] {
  gap: 0;
}
/* `animation:hide-scroll .3s backwards` 与 `transition:max-height .3s` 是一对：
   展开的那 0.3 秒里把 overflow 钉成 hidden，否则高度动画途中会闪出滚动条。 */
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-wrapper {
  position: absolute;
  top: 100%;
  left: var(--stretch-left);
  right: var(--stretch-right);
  width: var(--stretch-width);
  min-width: 0;
  max-height: var(--n-menu-dropdown-content-box-height);
  margin-block-start: var(--n-menu-toggle-icon-distance-from-dropdown);
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  background-color: transparent;
  border-block-start: var(--n-menu-dropdown-content-box-border-width-block-start);
  border-block-end: var(--n-menu-dropdown-content-box-border-width-block-end);
  border-inline-start: var(--n-menu-dropdown-content-box-border-width-inline-start);
  border-inline-end: var(--n-menu-dropdown-content-box-border-width-inline-end);
  border-color: var(--n-menu-dropdown-content-box-border-color);
  border-radius: var(--n-menu-dropdown-content-box-border-radius);
  border-style: var(--n-menu-dropdown-content-box-border-style);
  box-shadow:
    var(--n-menu-dropdown-content-box-shadow-horizontal)
    var(--n-menu-dropdown-content-box-shadow-vertical)
    var(--n-menu-dropdown-content-box-shadow-blur)
    var(--n-menu-dropdown-content-box-shadow-spread)
    var(--n-menu-dropdown-content-box-shadow-color)
    var(--n-menu-dropdown-content-box-shadow-position, );
  animation: hide-scroll 0.3s backwards;
  transition: max-height 0.3s;
  z-index: 2147483640;
}
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-item {
  display: flex;
  flex-direction: column;
  width: var(--stretch-width);
}
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title {
  width: auto;
  flex-wrap: wrap;
  justify-content: var(--n-menu-title-justify-content-mobile);
  background-color: #fff;
  white-space: normal;
}
/* 下拉态另有一套配色变量（默认回落到横排那套）—— 让窄屏能单独配色。 */
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title:not(.e-current) .e-n-menu-title-container .e-n-menu-title-text {
  color: var(--n-menu-title-normal-color-dropdown);
}
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title:not(.e-current) .e-n-menu-dropdown-icon i {
  color: var(--n-menu-dropdown-indicator-color-normal, var(--n-menu-title-normal-color-dropdown));
}
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title:not(.e-current) .e-n-menu-dropdown-icon svg {
  fill: var(--n-menu-dropdown-indicator-color-normal, var(--n-menu-title-normal-color-dropdown));
}
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title.e-current,
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title.e-current a {
  color: var(--n-menu-title-active-color-dropdown);
}
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title.e-current .e-n-menu-dropdown-icon i {
  color: var(--n-menu-dropdown-indicator-color-active, var(--n-menu-title-active-color-dropdown));
}
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title.e-current .e-n-menu-dropdown-icon svg {
  fill: var(--n-menu-dropdown-indicator-color-active, var(--n-menu-title-active-color-dropdown));
}
/* 下拉态里面板宽度不再受"最大宽度"限制 —— 就地把那个变量复位。 */
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-content {
  width: var(--stretch-width);
  overflow: hidden;
  --n-menu-dropdown-content-max-width: initial;
}
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-content > .e-con {
  width: var(--width);
  margin-block-start: var(--n-menu-title-distance-from-content);
}
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-content > .e-con-inner {
  max-width: var(--content-width);
}
/* 开关按下时才把包裹层显出来 —— **这就是「展开」这件事本身**（JS 只翻 aria-expanded）。 */
.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper {
  --n-menu-wrapper-display: flex;
}

/* 组件初始化中不接受点击（JS 就绪后去掉这个类）。 */
.elementor-widget-n-menu.elementor-loading {
  pointer-events: none;
}

/* ── 窄屏：藏起标题行，显出汉堡 ─────────────────────────────────── */
/* `.elementor.elementor` 是原件用来加特异性的写法（两次同类），沿用 ——
   否则逐页样式里对 wrapper 的 display 设置会盖过它。 */
@media (max-width: 767px) {
  .elementor.elementor .elementor-widget-n-menu.e-n-menu-mobile {
    --n-menu-wrapper-display: none;
  }
  .elementor.elementor .elementor-widget-n-menu.e-n-menu-mobile .e-n-menu-toggle {
    display: flex;
  }
}

/* 展开动画期间钉住 overflow（见上面 wrapper 那条的注释）。 */
@keyframes hide-scroll {
  0%, to { overflow: hidden; }
}

/* 组件直接放在容器里时，让容器的 flex-grow 设置传导进来。 */
.e-con > .elementor-widget-n-menu,
.e-con-inner > .elementor-widget-n-menu {
  --flex-grow: var(--container-widget-flex-grow);
}

/* Elementor core 3.16+ 的容器内边距在面板里交回给面板自己控制。
   属性选择器挂在 <html> 上，由 core 写入 —— 沿用原件的判据，别改成类名。 */
[data-core-v316-plus="true"] .elementor-widget-n-menu .e-n-menu .e-n-menu-content > .e-con {
  --padding-top: initial;
  --padding-right: initial;
  --padding-bottom: initial;
  --padding-left: initial;
}

/* 🔴 **按住拖动菜单条那一族 —— 此前一条规则都没有（2026-08-15 补）。**

   `e-scroll` / `e-scroll-active` 由 `.e-n-menu-heading` 上的鼠标事件驱动
   （`getHeadingEvents()` 把 `changeScrollStatus` 绑在它上面：mousedown 加 `e-scroll`，
   拖动位移 >20px 加 `e-scroll-active`）。它们在静态标记里出现 **0 次**，
   于是**静态筛选把整族判死、静止态等价对账对它一个字都没说** ——
   这道门的头注早就点名了这四族"照原件抄下来但一次没验"，而实际情况更糟：
   **它们根本没被抄进来。**（此前 `grep -c e-scroll` 数出 4 个，全是**注释里的提及**。）

   驱动出来之后一次就现形：**513 个签名位置不等，全是"只原件"**。
   513 = 171 个元素 × 3 个伪档 —— 一条声明传遍整棵子树，
   因为 **`cursor` 是继承属性**。症状：按住拖动菜单条时，源站是抓手光标，我们是默认箭头。

   ⚠️ 记一笔：**「照抄了但没验」与「压根没抄」在静态筛选下长得一模一样** ——
      两者都是"这个类在标记里出现 0 次"。分开它们的唯一办法是**把状态驱动出来**。 */
.elementor-widget-n-menu .e-n-menu-heading.e-scroll {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}
.elementor-widget-n-menu .e-n-menu-heading.e-scroll-active {
  position: relative;
}
/* 拖动时盖一层不可见的遮罩，防止指针划过子元素触发它们的悬停/点击。
   `inset-inline:-1000vw` 是原件的写法，逐字保留。 */
.elementor-widget-n-menu .e-n-menu-heading.e-scroll-active::before {
  content: "";
  inset-block: 0;
  inset-inline: -1000vw;
  position: absolute;
  z-index: 2;
}
