@charset "UTF-8";
/* QUADRA FIT 设计系统 · 站点桥接层
   目的：把本模板既有的花名册（令牌/类名）对齐到 design-system/DESIGN.md 的统一体系。
   规范要求：调色板、字体、间距、圆角、组件形态不得在站间分化。
   载入顺序：必须在本站所有样式表之后。 */

:root {
  /* 既有 --qd-* / --qp-* / --br-* 令牌统一到设计系统三色基因 */
  --qd-ink:var(--qf-primary); --qd-ink-2:var(--qf-body); --qd-muted:var(--qf-muted);
  --qd-line:var(--qf-border); --qd-line-2:var(--qf-border-soft); --qd-bg:var(--qf-neutral);
  --qd-accent:var(--qf-secondary); --qd-accent-2:var(--qf-tertiary);
  --qp-ink:var(--qf-primary); --qp-ink-2:var(--qf-body); --qp-muted:var(--qf-muted);
  --qp-line:var(--qf-border); --qp-line-2:var(--qf-border-soft); --qp-bg:var(--qf-neutral);
  --qp-card:#FFFFFF; --qp-accent:var(--qf-secondary); --qp-accent-2:var(--qf-tertiary);
  --qp-r:8px; --qp-r-sm:6px;
  --br-ink:var(--qf-primary); --br-ink-2:var(--qf-body); --br-muted:var(--qf-muted);
  --br-accent:var(--qf-secondary); --br-accent-2:var(--qf-tertiary); --br-soft:var(--qf-surface-warm);
  --br-surface:var(--qf-neutral); --br-line:var(--qf-border); --br-line-2:var(--qf-border-soft);
}

/* 停用旧入场机制的隐藏态（wow / AOS / animate.css / inview / ftco）
   这些机制都依赖「JS 在滚动时补类」，带锚点进入或中途刷新时会永久不可见。
   选择器特异性低于 html.qf-motion [data-reveal]:not(.is-revealed)，
   因此带 data-reveal 的元素仍由稳健控制器正常播放动效。 */
body .wow, body .wow.animated, body [data-aos], body .animate__animated,
body [class*="fadeIn"], body [class*="inview"], body .ftco-animate,
body .elementor-invisible {
  opacity: 1; visibility: visible; transform: none;
}

/* 主按钮归一（模板常用的 .btn-primary / .qp-btn 等） */
.btn-primary, .qp-btn, .qm-btn, .sigma_btn, .thm-btn {
  background-color: var(--qf-secondary); border-color: var(--qf-secondary);
  color: var(--qf-on-secondary); border-radius: var(--qf-r-md);
  transition: background-color var(--qf-motion-fast) var(--qf-ease-standard),
              border-color var(--qf-motion-fast) var(--qf-ease-standard),
              transform var(--qf-motion-fast) var(--qf-ease-standard);
}
.btn-primary:hover, .qp-btn:hover, .qm-btn:hover, .sigma_btn:hover, .thm-btn:hover,
.btn-primary:focus, .qp-btn:focus, .qm-btn:focus, .sigma_btn:focus, .thm-btn:focus {
  background-color: var(--qf-tertiary); border-color: var(--qf-tertiary);
  color: var(--qf-on-secondary); transform: translateY(-1px);
}
.btn-outline-primary { color: var(--qf-secondary); border-color: var(--qf-border-strong); }
.btn-outline-primary:hover { background: var(--qf-surface-warm); color: var(--qf-tertiary); }

/* 深色页脚统一（设计系统：深色苔绿只用于页脚与询盘面板） */
.qf-footer, .ftco-footer, .footer-area, .sigma_footer, .template_footer, .copyright_area {
  background-color: var(--qf-primary);
  background-image: none;
  color: var(--qf-on-inverse);
  border-block-start: 1px solid rgba(251,248,242,.14);
}
.qf-footer a, .ftco-footer a, .footer-area a, .sigma_footer a,
.template_footer a, .copyright_area a { color: var(--qf-on-inverse-muted); }
.qf-footer a:hover, .ftco-footer a:hover, .footer-area a:hover, .sigma_footer a:hover,
.template_footer a:hover, .copyright_area a:hover { color: var(--qf-on-inverse); }
.qf-footer h1,.qf-footer h2,.qf-footer h3,.qf-footer h4,
.ftco-footer h1,.ftco-footer h2,.ftco-footer h3,.ftco-footer h4,
.footer-area h1,.footer-area h2,.footer-area h3,.footer-area h4,
.sigma_footer h1,.sigma_footer h2,.sigma_footer h3,.sigma_footer h4,
.template_footer h1,.template_footer h2,.template_footer h3,.template_footer h4 {
  color: var(--qf-on-inverse);
}
/* 页脚里的模板叠加层（旧模板常用半透明黑/粉底图）一律去掉 */
.ftco-footer .overlay, .footer-area .overlay, .sigma_footer .overlay {
  background: none !important; opacity: 0 !important;
}

/* ── xmstrength（sigma 模板）节奏与页脚归一 ── */
.sigma_header { background-color: var(--qf-neutral); border-block-end: 1px solid var(--qf-border); }
div.section, .qp-section { padding-block: var(--qf-section); }
.sigma_banner { background-color: var(--qf-neutral); }


/* ---------------------------------------------------------------------
   页脚对比度与图标可见性修复
   实测：深色页脚上的地址/版权文字对比度仅 1.51:1、导航链接 1.93:1（均远低于 4.5:1 门槛），
        社交图标圆圈背景透明、描边仅 16% 白 → 与底色难以区分。
   这些深色文字来自站点自有 CSS，选择器特异性高于本文件的 `.sigma_footer` 等简单选择器，
   故此处以「页脚类 + 元素/子元素」的组合选择器覆盖。
   文字色选用近白暖色，确保在深色底上清晰可读；链接悬停转为强调色。
   --------------------------------------------------------------------- */
.qf-footer p, .qf-footer li, .qf-footer span, .qf-footer .text, .qf-footer div:not([class*="social"]),
.ftco-footer p, .ftco-footer li, .ftco-footer span,
.footer-area p, .footer-area li, .footer-area span,
.sigma_footer p, .sigma_footer li, .sigma_footer span, .sigma_footer .text,
.template_footer p, .template_footer li, .template_footer span,
.copyright_area p, .copyright_area span, .copyright_area li {
  color: #E6E2D8;
}
.qf-footer a, .ftco-footer a, .footer-area a, .sigma_footer a, .template_footer a, .copyright_area a {
  color: var(--qf-on-inverse);
  text-decoration-color: rgba(246, 244, 239, .45);
}
.qf-footer a:hover, .ftco-footer a:hover, .footer-area a:hover,
.sigma_footer a:hover, .template_footer a:hover, .copyright_area a:hover {
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* 页脚标题/标签：略低一档但仍达标 */
.qf-footer h1, .qf-footer h2, .qf-footer h3, .qf-footer h4,
.ftco-footer h1, .ftco-footer h2, .ftco-footer h3, .ftco-footer h4,
.footer-area h1, .footer-area h2, .footer-area h3, .footer-area h4,
.sigma_footer h1, .sigma_footer h2, .sigma_footer h3, .sigma_footer h4,
.template_footer h1, .template_footer h2, .template_footer h3, .template_footer h4 {
  color: #FFFFFF;
}

/* 社交图标：给出可见的圆底与描边，悬停反相 */
.qf-footer [class*="social"] a, .ftco-footer [class*="social"] a,
.footer-area [class*="social"] a, .sigma_footer [class*="social"] a,
.template_footer [class*="social"] a, .copyright_area [class*="social"] a,
.qf-footer .ftco-footer-social a, .ftco-footer .ftco-footer-social a {
  background-color: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .30);
  border-radius: var(--qf-r-pill, 999px);
  display: inline-flex; align-items: center; justify-content: center;
  transition: background-color 150ms cubic-bezier(.2, 0, 0, 1),
              border-color 150ms cubic-bezier(.2, 0, 0, 1),
              color 150ms cubic-bezier(.2, 0, 0, 1);
}
.qf-footer [class*="social"] a:hover, .ftco-footer [class*="social"] a:hover,
.footer-area [class*="social"] a:hover, .sigma_footer [class*="social"] a:hover,
.template_footer [class*="social"] a:hover, .copyright_area [class*="social"] a:hover {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
  color: var(--qf-primary, var(--qf-primary));
}
/* 图标字形本身保持可辨 */
.sigma_footer [class*="social"] a i, .ftco-footer [class*="social"] a i,
.qf-footer [class*="social"] a i { color: inherit; }


/* ---------------------------------------------------------------------
   页脚对比度强化（v2）
   v1 的「页脚类+子元素」组合选择器仍被站点自有 CSS 的更高特异性规则压过：
     页脚导航链接实测 2.41:1、社交图标圆圈仍为透明底。
   此处对这几处使用 !important —— 修复对象是**实测不达标的对比度与可见性**。
   --------------------------------------------------------------------- */
.qf-footer nav a, .ftco-footer nav a, .sigma_footer nav a, .template_footer nav a,
.qf-footer ul:not([class*="social"]) a, .ftco-footer ul:not([class*="social"]) a,
.sigma_footer ul:not([class*="social"]) a, .footer-area ul:not([class*="social"]) a,
.template_footer ul:not([class*="social"]) a, .copyright_area a {
  color: var(--qf-on-inverse) !important;
}
.qf-footer nav a:hover, .ftco-footer nav a:hover, .sigma_footer nav a:hover,
.template_footer nav a:hover,
.qf-footer ul:not([class*="social"]) a:hover, .ftco-footer ul:not([class*="social"]) a:hover,
.sigma_footer ul:not([class*="social"]) a:hover, .footer-area ul:not([class*="social"]) a:hover,
.template_footer ul:not([class*="social"]) a:hover, .copyright_area a:hover {
  color: #FFFFFF !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* 社交图标：可见圆底 + 更明确的描边（原为透明底 + 16% 白描边，与底色难以区分） */
.qf-footer [class*="social"] a, .ftco-footer [class*="social"] a,
.footer-area [class*="social"] a, .sigma_footer [class*="social"] a,
.template_footer [class*="social"] a, .copyright_area [class*="social"] a {
  background-color: rgba(255, 255, 255, .12) !important;
  border: 1px solid rgba(255, 255, 255, .38) !important;
  color: var(--qf-on-inverse) !important;
}
.qf-footer [class*="social"] a:hover, .ftco-footer [class*="social"] a:hover,
.footer-area [class*="social"] a:hover, .sigma_footer [class*="social"] a:hover,
.template_footer [class*="social"] a:hover, .copyright_area [class*="social"] a:hover {
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #232019 !important;
}
.qf-footer [class*="social"] a i, .ftco-footer [class*="social"] a i,
.sigma_footer [class*="social"] a i, .footer-area [class*="social"] a i,
.template_footer [class*="social"] a i { color: inherit !important; }


/* ---------------------------------------------------------------------
   顶部信息块压缩强化
   实测 `.sigma_header-top-nav` 已是 flex 横向排布，但第 3 项（联系方式）单项高 217px
   （另两项 100px），说明该项内部有额外的块级间距/固定高度，把整条信息带撑到 ~270px。
   这里清掉信息块内部的过大纵向间距（仅作用于该信息块，不影响站点其它区域）。
   --------------------------------------------------------------------- */
.sigma_header-middle .sigma_header-top-links,
.sigma_header-middle .sigma_header-top-nav,
.sigma_header-middle .sigma_header-top-nav > li,
.sigma_header-middle .sigma_header-top-nav > li > a,
.sigma_header-middle .sigma_header-top-nav > li > a > div,
.sigma_header-middle .sigma_header-top-nav p,
.sigma_header-middle .sigma_header-top-nav p b,
.sigma_header-middle .sigma_header-top-nav p a {
  padding-block: 0 !important;
  margin-block: 0 !important;
  min-block-size: 0 !important;
  block-size: auto !important;
  line-height: 1.4 !important;
}
.sigma_header-middle .sigma_header-top-nav > li { display: flex !important; align-items: flex-start !important; }


/* ---------------------------------------------------------------------
   导航触发器可见性（mega 触发器）
   实测：模板自带的 Bootstrap 规则 `.navbar-dark .navbar-nav .nav-link`
   会把「Guides」等 mega 菜单触发器设为 rgba(255,255,255,.5)，
   在浅色头栏上对比度仅 1.03 → 整个按钮看不见。
   改为跟随本站导航文字色（--qf-nav-fg 由各站 qf-theme.css 定义）。
   !important 用于修复实测不可见，避免被模板更高特异性的规则压回。
   --------------------------------------------------------------------- */
.navbar .navbar-nav .quadra-mega-trigger,
.navbar .navbar-nav .nav-link.quadra-mega-trigger {
  color: var(--qf-nav-fg, var(--qf-on-surface)) !important;
}
.navbar .navbar-nav .quadra-mega-trigger:hover,
.navbar .navbar-nav .nav-link.quadra-mega-trigger:hover {
  color: var(--qf-secondary) !important;
}


/* ---------------------------------------------------------------------
   触发器与导航项排版对齐
   实测：触发器继承设计系统的基础字号（16.5px），而同栏 .nav-link 由模板定为 14px /
   padding 24px → 触发器偏大且视觉上偏高。此处用令牌对齐（--qf-nav-size / --qf-nav-pad-y
   由该站 qf-theme.css 指定；未指定时保持原样，不影响其他站）。
   --------------------------------------------------------------------- */
.navbar .navbar-nav .nav-link.quadra-mega-trigger {
  font-size: var(--qf-nav-size, inherit);
  line-height: var(--qf-nav-line-height, inherit);
  padding-block: var(--qf-nav-pad-y, 8px);
  display: inline-flex;
  align-items: center;
}


/* post links + orange buttons: #fb5b21 on white = 3.17 */
.sigma_post a,.sigma_post.style-8 a,.sigma_post .date,.sigma_post .btn-link{color:#b8390b !important}
.sigma_post a:hover{color:#8f2c08 !important}
.sigma_btn,.sigma_btn:visited,button.sigma_btn,.wp-block-button__link{
  background-color:#b8390b !important;border-color:#b8390b !important;color:#fff !important}
.sigma_btn:hover{background-color:#8f2c08 !important;border-color:#8f2c08 !important}
.post-grid .sigma_btn,.sigma_post .sigma_btn{background-color:#b8390b !important;color:#fff !important}


/* post links + orange buttons: #fb5b21 on white = 3.17 */
.sigma_post a,.sigma_post.style-8 a,.sigma_post .date,.sigma_post .btn-link{color:#b8390b !important}
.sigma_post a:hover{color:#8f2c08 !important}
.sigma_btn,.sigma_btn:visited,button.sigma_btn,.wp-block-button__link{
  background-color:#b8390b !important;border-color:#b8390b !important;color:#fff !important}
.sigma_btn:hover{background-color:#8f2c08 !important;border-color:#8f2c08 !important}
.post-grid .sigma_btn,.sigma_post .sigma_btn{background-color:#b8390b !important;color:#fff !important}

/* Quadra contrast fixes v2 (injected by fix_contrast2.py) */
/* post links + orange buttons: #fb5b21 on white = 3.17 */
.sigma_post a,.sigma_post.style-8 a,.sigma_post .date,.sigma_post .btn-link{color:#b8390b !important}
.sigma_post a:hover{color:#8f2c08 !important}
.sigma_btn,.sigma_btn:visited,button.sigma_btn,.wp-block-button__link{
  background-color:#b8390b !important;border-color:#b8390b !important;color:#fff !important}
.sigma_btn:hover{background-color:#8f2c08 !important;border-color:#8f2c08 !important}
.post-grid .sigma_btn,.sigma_post .sigma_btn{background-color:#b8390b !important;color:#fff !important}

/* newsletter 弹窗 Subscribe: 白字压 #fb5b21 = 3.17 -> 深橙 #b8390b = 5.79（保留白字） */
#sigma_popup-newsletter button[type="submit"],.sigma_newsletter-popup-modal button[type="submit"]{background-color:#b8390b !important;border-color:#b8390b !important;color:#ffffff !important}
/* 移动端语言切换器：站点原设计为「近白药丸底 + 深色字」(.sf-lang-trigger 在 max-width:991px 下 background:rgba(255,255,255,.94))，
   但 ① 早前注入的对比度守卫 .sf-lang-switcher *{color:#fff !important} ② 站点桌面规则 .sf-lang-switcher .sf-current-lang{color:#fff}
   共同把字压成白色 → 白字压白底 对比度 1.0（等于看不见）。此处以更高特异性还原为深色字。 */
@media (max-width: 991px){
  .sf-lang-switcher .sf-current-lang,
  .sf-lang-switcher .sf-lang-trigger,
  .sf-lang-switcher .sf-lang-trigger > i{color:#111111 !important}
}
/* 桌面端头部控件（2026-10-01 建立 / 2026-10-26 重写）：
   style-6 头部有两层：白色 .sigma_header-middle（只有 logo）与黑色 .sigma_header-bottom（导航）。
   site-data.js 会向页面里「每一个」.sigma_header-controls-inner 各注入一个语言切换器，
   ⇒ 两层各有一个；而 10-01 为了「桌面上也能切换语言」写的是
   `.sigma_header-controls.style-2{display:block!important}` 这种无差别覆盖，带来两个后果：
     ① 白带那个切换器也被放开 → 右上角出现两个 EN，且白带那个是白字压白底（对比度≈1.0，几乎看不见）；
     ② 黑带容器原本靠 Bootstrap 的 d-flex 单行排布，被压回 block ⇒
        搜索图标与 GET A QUOTE 上下错行，中间空出一块。
   现在的做法：白带容器只在 ≥992px 隐藏（移动端仍用它放切换器），
   黑带容器显式恢复为单行 flex（语言 / 搜索 / 报价按钮同行右对齐），
   语言切换器靠 order:-1 排到搜索左边。切换器 HTML 与 JS 绑定完全不变。 */
@media (min-width: 992px) {
  header.sigma_header .sigma_header-middle .sigma_header-controls.style-2,
  header.sigma_header .sigma_header-controls.style-2.d-lg-none { display: none !important; }

  header.sigma_header .sigma_header-controls.style-2 .aside-toggle { display: none !important; }

  header.sigma_header .sigma_header-bottom .sigma_header-controls.style-2 {
    display: flex !important; align-items: center; justify-content: flex-end;
    flex-wrap: nowrap; height: auto; margin: 0; gap: 16px;
  }
  header.sigma_header .sigma_header-bottom .sigma_header-controls.style-2 > .sigma_header-controls-inner {
    display: flex !important; align-items: center; flex-wrap: nowrap;
    height: auto; margin: 0; padding: 0; gap: 10px;
  }
  header.sigma_header .sigma_header-bottom .sigma_header-controls.style-2 > .sigma_header-controls-inner > li {
    margin-left: 0 !important;
  }
  header.sigma_header .sigma_header-bottom .sigma_header-controls.style-2 .header-controls-item.sf-lang-switcher {
    display: inline-flex !important; align-items: center; order: -1;
  }
  header.sigma_header .sigma_header-bottom .sigma_header-controls.style-2 .sigma_btn {
    white-space: nowrap; margin: 0;
  }
}
/* 头部 logo 必须先有「确定的宽度」，否则死锁：
   .sf-brand-logo 是 width:auto + max-width，图片未解码前宽度解析为 0
   → 元素面积 0 → loading="lazy" 的可见性判定永不命中 → 永不发起请求 → 永远不显示。
   实测 1440 下 img 矩形宽 0、naturalWidth 0、performance 里无 logo1.png 请求；
   强制 eager 后才变成 2910px 自然宽 / 179.97x22.14 渲染尺寸。
   这里给出确定宽度即可解除死锁（加载后的视觉尺寸与现状完全一致：180x22.14）。 */
@media (min-width: 1200px) {
  header.sigma_header .sigma_header-middle .sigma_logo img,
  header.sigma_header .sigma_header-middle .sigma_logo-wrapper img {
    inline-size: 180px !important;
    block-size: auto !important;
    max-inline-size: 180px !important;
  }
}
/* 语言切换器（select 形态）字色修正（2026-10-02）：
   导航/抽屉已改为浅色底，但切换器仍沿用原深色版的白色字色，
   实测白字压 rgb(247,250,248) / #fff 等近白底 → 对比度 ≈1.0，几乎不可见。
   此处改为深灰（#555 在近白底上约 7.5:1）。 */
.quadra-lang-select,.quadra-lang-select option{color:#555555 !important}
.quadra-lang-links,.quadra-lang-links a,.quadra-current-lang,.quadra-lang-arrow{color:#555555 !important}
