/* =============================================================================
   TrailNest — 多语言排版自适应层（i18n overflow shield）v3
   assets/css/i18n-overflow.css · 仅在非英语语境生效
   -----------------------------------------------------------------------------
   根因（2026-09-28/29 实测，Playwright + Edge，390/768/1440）：
   设计稿锁稿 CSS 把文字块写成像素定值 + nowrap，并且用
   `body.home .hn-tncNN`（0,2,1）这种高特异性选择器强制 flex-basis:0% / 固定高度。
   英文原稿刚好放得下，翻译后句子变长就重叠：
     · .hn-tnc27  h1 包装层 height:73px（德文 H1 要 110px）→ 压住下方段落 16-26px
     · .hn-tnc60/71/72  卡片文字行 flex:0 1 0% + height:40px → 标题压住 CTA
     · .hd-tnc6  页眉导航项 nowrap + 定宽 → 德/西/意/葡 文案被裁
     · .ct-tnc280…304  FAQ 折叠项定高 → 长问句被裁
   实测（德/西/意/葡/日/阿 6 语 × 390/768/1440）：修复前最多 20 处重叠，修复后 0。

   关键：本文件必须压过锁稿的内联样式，因此选择器带上 body class 前缀
   （body.home / body.page-id-N / body.blog 等），特异性 ≥ 0,3,1，
   并在每个声明上加 !important。English 版式零影响（要求 html[lang] 非 en）。
   ========================================================================== */

/* ---------- 1. 文本折行 + 长单词可断 ---------- */
html:not([lang^="en"]) body .elementor-widget-heading,
html:not([lang^="en"]) body .elementor-widget-text-editor,
html:not([lang^="en"]) body .elementor-heading-title {
  white-space: normal !important;
  text-overflow: clip !important;
  hyphens: auto !important;
}
html:not([lang^="en"]) body .elementor-heading-title { line-height: 1.35 !important; }

/* ---------- 2. 文字容器不再裁剪（图片容器的 overflow:hidden 保留） ---------- */
html:not([lang^="en"]) body .elementor-widget-heading,
html:not([lang^="en"]) body .elementor-widget-text-editor {
  overflow: visible !important;
  max-height: none !important;
}

/* ---------- 3. widget 级包装层不得锁高（.hn-tnc27 这类） ---------- */
html:not([lang^="en"]) body .elementor-widget[class*="tnc"],
html:not([lang^="en"]) body .elementor-widget[class*="tnc"] > .elementor-widget-container {
  height: auto !important;
  max-height: none !important;
}

/* ---------- 4. 含文字的 flex 容器：高度/基高由内容决定 ----------
   压过锁稿的 `body.home .hn-tncNN{flex-basis:0%!important;height:151.25px!important}`。
   图片容器（无标题后代）不受影响。 */
html:not([lang^="en"]) body .e-con[class*="tnc"]:has(.elementor-widget-heading),
html:not([lang^="en"]) body .elementor-element[class*="tnc"]:has(> .elementor-widget-container > .elementor-heading-title) {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  flex-basis: auto !important;
  overflow: visible !important;
}
html:not([lang^="en"]) body .e-con[class*="tnc"]:has(.elementor-widget-heading) > .elementor-widget-heading,
html:not([lang^="en"]) body .e-con[class*="tnc"]:has(.elementor-widget-heading) > .e-con:has(.elementor-widget-heading) {
  flex: 0 0 auto !important;
  flex-basis: auto !important;
  height: auto !important;
}

/* ---------- 5. 多行截断放开 ---------- */
html:not([lang^="en"]) body [class*="tnc"] {
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

/* ---------- 6. 页眉/页脚导航项按内容变宽 ---------- */
html:not([lang^="en"]) body .e-con[class*="hd-tnc"],
html:not([lang^="en"]) body .e-con[class*="ft-tnc"] { min-width: 0 !important; }
html:not([lang^="en"]) body .e-con[class*="hd-tnc"] .elementor-heading-title,
html:not([lang^="en"]) body .e-con[class*="ft-tnc"] .elementor-heading-title {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

/* ---------- 7. flex 子项不得被压到内容宽度以下 ---------- */
html:not([lang^="en"]) body .e-con[class*="tnc"] { min-width: 0 !important; }

/* ---------- 8. 图标字形（Material Symbols 连字）保持单行 ----------
   arrow_forward / download / star 是图标字体连字，折行会退化成文字。 */
html:not([lang^="en"]) body .elementor-widget-icon,
html:not([lang^="en"]) body .elementor-icon,
html:not([lang^="en"]) body [class*="material-symbols"],
html:not([lang^="en"]) body [class*="tnc"] > .elementor-widget-container > .elementor-icon {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}
/* ---------- 9. 页眉在手机端的横向空间 ----------
   德/西语的 CTA（"Fordern Sie ein Angebot an" / "Solicitar una cotización"）
   在 390px 下比英文长 10-16px，被锁稿的定宽截断（实测 sw=175 > cw=159）。
   让页眉里的文字项按内容取宽，并保持单行不折（页眉高度固定）。 */
html:not([lang^="en"]) body .e-con[class*="hd-tnc"] { min-width: 0 !important; }
html:not([lang^="en"]) body .elementor-widget[class*="hd-tnc"],
html:not([lang^="en"]) body .elementor-widget[class*="hd-tnc"] > .elementor-widget-container {
  width: auto !important;
  max-width: none !important;
}
html:not([lang^="en"]) body .e-con[class*="hd-tnc"]:has(.elementor-heading-title) {
  width: auto !important;
  max-width: none !important;
  flex-basis: auto !important;
}
html:not([lang^="en"]) body .e-con[class*="hd-tnc"] .elementor-heading-title {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}