/* ============================================================
   多语言相关样式
   独立文件：单语言站点不加载也不影响任何既有样式。
   ============================================================ */

/* ============================================================
   头部语言切换

   与站点头部设计语言保持一致：
     - 深绿底上的幽灵按钮，配色与 .bf-site-search-toggle / .bf-nav-toggle 相同
     - 高度 50px，与电话区、私密咨询按钮同一基线
     - 悬停与聚焦转为金色 --bf-gold，与站内其他交互一致
   ============================================================ */

.bf-lang {
  position: relative;
  flex: 0 0 auto;
}

html[dir="rtl"] body { direction: rtl; text-align: right; }
html[dir="rtl"] .bf-lang__menu { left: 0; right: auto; }
html[dir="rtl"] .bf-lang__option { flex-direction: row-reverse; }

.bf-lang__toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: var(--bf-radius-sm, 7px);
  background: transparent;
  color: var(--bf-white, #fff);
  font-size: 14px;
  letter-spacing: 0.02em;
  cursor: pointer;
  white-space: nowrap;
  list-style: none;
  transition: border-color 180ms ease, color 180ms ease;
}
/* 去掉 details 默认三角 */
.bf-lang__toggle::-webkit-details-marker { display: none; }
.bf-lang__toggle::marker { content: ''; }

.bf-lang__toggle:hover,
.bf-lang__toggle:focus-visible {
  border-color: var(--bf-gold, #e1bd84);
  color: var(--bf-gold, #e1bd84);
  outline: none;
}

.bf-lang__icon { font-size: 15px; line-height: 1; }
.bf-lang__current { font-weight: 500; }

.bf-lang__caret {
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 180ms ease;
}
.bf-lang[open] .bf-lang__caret { transform: rotate(-135deg) translateY(0); }

/* 下拉面板：沿用站内深色浮层风格（与 cookie-banner 一致） */
.bf-lang__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 70;
  min-width: 10rem;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: var(--bf-forest-deep, #0c2f28);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--bf-radius, 10px);
  box-shadow: var(--bf-shadow, 0 12px 32px rgba(8, 28, 24, 0.34));
}

.bf-lang__item {
  display: block;
  padding: 10px 12px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.86);
  border-radius: 5px;
  text-decoration: none;
  white-space: nowrap;
}
.bf-lang__item:hover,
.bf-lang__item:focus-visible {
  color: var(--bf-gold, #e1bd84);
  background: rgba(255, 255, 255, 0.08);
  outline: none;
}
.bf-lang__item.is-current {
  color: var(--bf-forest-deep, #0c2f28);
  background: var(--bf-gold, #e1bd84);
  font-weight: 700;
}

/* 中等屏：收起语言名只留图标，避免挤压电话与主 CTA */
@media (max-width: 1100px) {
  .bf-lang__current { display: none; }
  .bf-lang__toggle { padding: 0 12px; }
}

/* ============================================================
   非中文语言的页头布局加固

   中文文案短，原网格 minmax(200px,1fr) minmax(280px,1.2fr) minmax(220px,1fr)
   刚好容纳；英文同义文案长约 3 倍（私密咨询=4 字 → Private consultation=20 字符），
   actions 列被挤爆，导致电话号码与按钮文字折行。

   全部规则用 html:not([lang^="zh"]) 限定，中文站渲染保持与 bak 基线一致。
   ============================================================ */

/* 电话与主按钮属于不可断行的原子信息，任何语言下都不允许折行 */
html:not([lang^="zh"]) .bf-header__phone span,
html:not([lang^="zh"]) .bf-header__phone strong,
html:not([lang^="zh"]) .bf-button--header {
  white-space: nowrap;
}

/* 拉丁字母同等字号下比中文宽得多，略收字号以保持 logo 区比例 */
html:not([lang^="zh"]) .bf-logo__copy strong {
  font-size: 19px;
  letter-spacing: 0;
  max-width: 30ch;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* logo 副标题限宽兜底：即使后续译文偏长也不会撑破网格 */
html:not([lang^="zh"]) .bf-logo__copy small {
  max-width: 32ch;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: .08em;
}

/* 宽屏：logo 与 actions 按内容取宽，多余空间交给可伸缩的搜索框吸收。
   下限 1241px 是为了不与 site-system.css 中
   @media(max-width:1240px) and (min-width:851px) 的收窄规则冲突。 */
@media (min-width: 1241px) {
  html:not([lang^="zh"]) .bf-header__top {
    grid-template-columns: auto minmax(200px, 1fr) auto;
  }
  html:not([lang^="zh"]) .bf-header-search {
    max-width: none;
  }
}

/* 1400px 以下英文页优先保住电话与 CTA，语言按钮收成纯图标 */
@media (max-width: 1400px) {
  html:not([lang^="zh"]) .bf-lang__current { display: none; }
  html:not([lang^="zh"]) .bf-lang__toggle { padding: 0 12px; }
}

/* 窄屏：语言按钮与搜索、菜单按钮尺寸一致 */
@media (max-width: 900px) {
  .bf-lang__toggle {
    min-width: 48px;
    min-height: 48px;
    padding: 0 10px;
    justify-content: center;
  }
  .bf-lang__caret { display: none; }
}

/* ---------- 译文状态提示 ---------- */

.translation-notice {
  width: min(calc(100% - 48px), var(--bf-reading, 46rem));
  margin: 0 auto 18px;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.7;
  border-radius: var(--bf-radius-sm, 7px);
  border: 1px solid;
  border-left-width: 3px;
}

/* 无译文，显示中文原文 */
.translation-notice--fallback {
  color: var(--bf-muted, #5c6b68);
  background: var(--bf-sage, #eef3f0);
  border-color: var(--bf-line, #dfe5e3);
  border-left-color: var(--bf-forest, #10554a);
}

/* 机器翻译，用站内金色作提示而非通用警告黄 */
.translation-notice--machine {
  color: var(--bf-gold-deep, #8a5e1f);
  background: #fdf6ea;
  border-color: #e8d3ad;
  border-left-color: var(--bf-gold, #e1bd84);
}

@media (max-width: 640px) {
  .lang-switch { padding: 10px 16px 0; }
  .translation-notice { font-size: 13px; }
}
