/* ==========================================================================
   Precimetal — WordPress 结构适配（nova.css 之外的手写补充，重跑生成器不会覆盖）
   1) 页头导航读取 WP 菜单（ul/li 结构）后的样式对齐
   2) 主题对 .site-header 的布局干扰复位
   3) 页头在窄屏的收尾细节
   ========================================================================== */

/* --------------------------------------------------------------------------
   2) Hello Elementor 的 header-footer.css 里有
        .site-header{display:flex;flex-wrap:wrap;justify-content:space-between;
                     padding-block:1rem}
      设计稿的页头是「util 条 + 导航条」上下堆叠，被主题变成 flex 行后，
      util 占满第一行、导航被挤到第二行只剩内容宽度（深蓝条只到 Contat 右边），
      并且上下各多出 16px 白边。这里复位成块级堆叠。
   -------------------------------------------------------------------------- */
.nova-root .site-header{
  display:block !important;
  padding-block:0 !important;
  flex-wrap:nowrap;
  justify-content:flex-start;
}
.nova-root .site-header > .util,
.nova-root .site-header > .nav{width:100%;max-width:100%}

/* 一级菜单：让 ul/li 完全接管 .nav__links 的 flex 布局与间距 */
.nova-root .nav__links ul{display:flex;align-items:center;gap:26px;flex:1;min-width:0;list-style:none;margin:0;padding:0}
.nova-root .nav__links li{position:relative;list-style:none;margin:0;padding:0}

/* 当前页高亮：对齐设计稿 aria-current 的效果 */
.nova-root .nav__links li.current-menu-item > a,
.nova-root .nav__links li.current_page_item > a,
.nova-root .nav__links li.current-page-ancestor > a{color:#fff;font-weight:600}
.nova-root .nav__links li.current-menu-item > a::after,
.nova-root .nav__links li.current_page_item > a::after{width:26px}

/* 二级下拉 */
.nova-root .nav__links .sub-menu{
  position:absolute;top:100%;left:0;z-index:70;display:none;
  flex-direction:column;align-items:stretch;gap:0;
  min-width:210px;margin:0;padding:8px 0;list-style:none;
  background:#fff;border:1px solid var(--line);border-radius:4px;
  box-shadow:0 12px 30px rgba(10,39,71,.12);
}
.nova-root .nav__links li:hover > .sub-menu,
.nova-root .nav__links li:focus-within > .sub-menu{display:flex}
.nova-root .nav__links .sub-menu li{width:100%}
.nova-root .nav__links .sub-menu a{height:auto;padding:10px 18px;font-size:13px;white-space:nowrap}
.nova-root .nav__links .sub-menu a::after{display:none}
.nova-root .nav__links .sub-menu a:hover{color:var(--navy)}

/* 窄屏（≤900）：原设计是绝对定位的竖排面板 */
@media (max-width:900px){
  .nova-root .nav__links ul{flex-direction:column;align-items:stretch;gap:0;flex:0 0 auto}
  .nova-root .nav__links li,
  .nova-root .nav__links li a{width:100%}
  .nova-root .nav__links li a{height:46px;font-size:14px;border-bottom:1px solid var(--soft)}
  .nova-root .nav__links li.current-menu-item > a{color:#fff}
  .nova-root .nav__links .sub-menu{position:static;display:flex;border:0;box-shadow:none;padding:0;background:transparent;min-width:0}
  .nova-root .nav__links .sub-menu a{height:40px;padding-left:30px}
}

/* ==========================================================================
   页脚 / CTA 链接化（v1.8.0）
   这些节点在设计稿里是 div，改为 <a> 后需要压掉主题链接默认的下划线与配色。
   ========================================================================== */

.nova-root .site-footer a.link-home,
.nova-root .site-footer a.link-cnc-machining,
.nova-root .site-footer a.link-metal-processing,
.nova-root .site-footer a.link-capabilities,
.nova-root .site-footer a.link-case-studies,
.nova-root .site-footer a.link-profile,
.nova-root .site-footer a.link-facility,
.nova-root .site-footer a.link-quality,
.nova-root .site-footer a.link-certificates,
.nova-root .site-footer a.link-news,
.nova-root .site-footer a.privacy-policy,
.nova-root .site-footer a.terms-of-use,
.nova-root .site-footer a.sitemap{
  display:block;
  width:fit-content;
  text-decoration:none;
  transition:color .18s ease;
}
.nova-root .site-footer a.link-home:hover,
.nova-root .site-footer a.link-cnc-machining:hover,
.nova-root .site-footer a.link-metal-processing:hover,
.nova-root .site-footer a.link-capabilities:hover,
.nova-root .site-footer a.link-case-studies:hover,
.nova-root .site-footer a.link-profile:hover,
.nova-root .site-footer a.link-facility:hover,
.nova-root .site-footer a.link-quality:hover,
.nova-root .site-footer a.link-certificates:hover,
.nova-root .site-footer a.link-news:hover{color:#E6EDF3}
.nova-root .site-footer a.privacy-policy:hover,
.nova-root .site-footer a.terms-of-use:hover,
.nova-root .site-footer a.sitemap:hover{color:#C8D2DC !important}

/* CTA / Get a Quote 按钮：div → a，保持设计稿外观 */
.nova-root a.button-contact,
.nova-root a.button-upload{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.nova-root a.button-contact:hover,
.nova-root a.button-upload:hover{text-decoration:none}

/* ==========================================================================
   页头语言位：留空时是设计稿按钮，填了短码则输出插件内容
   ========================================================================== */

.nova-root .nav__util .nav__lang{display:flex;align-items:center;gap:6px;line-height:1}
.nova-root .nav__util .nav__lang a,
.nova-root .nav__util .nav__lang button{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:0;
  border:0;
  background:none;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:600;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  cursor:pointer;
}
.nova-root .nav__util .nav__lang a:hover{color:#fff}
.nova-root .nav__util .nav__lang b{font-weight:600}
.nova-root .nav__util .nav__lang img{display:block;width:auto;max-height:14px}
.nova-root .nav__util .nav__lang ul{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.nova-root .nav__util .nav__lang select{
  max-width:120px;
  height:24px;
  padding:0 4px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:2px;
  background:transparent;
  color:#fff;
  font-size:12px;
}

/* ==========================================================================
   v1.9.0 — Contact 页交互化
   1) 联系方式卡片整卡可点（空链接自动隐藏热区）
   2) Info Panel 的邮箱 / 电话、全球办公点电话改 <a> 后的配色
   3) FAQ 由 repeater 生成：问句按钮 + 折叠答案
   ========================================================================== */

/* 1. 联系方式卡片 ------------------------------------------------------- */
.nova-root .contact-s2 .channel-sales,
.nova-root .contact-s2 .channel-email,
.nova-root .contact-s2 .channel-visit,
.nova-root .contact-s2 .channel-hours{position:relative}

.nova-root .contact-s2 .pme-card-hit{
  position:absolute;
  inset:0;
  z-index:2;
  border-radius:2px;
  text-decoration:none;
}
/* 没填链接时热区不生效，卡片回到纯展示状态 */
.nova-root .contact-s2 .pme-card-hit[href=""]{display:none}
/* 只有真的配了链接的卡片才给悬停反馈 */
.nova-root .contact-s2 .channel-grid > div:has(> .pme-card-hit[href]:not([href=""])):hover{background-color:#F1F5F9}

/* 2. Info Panel / 办公点 链接 -------------------------------------------- */
.nova-root .contact-s3 a.value-2,
.nova-root .contact-s3 a.value-3,
.nova-root .contact-s4 a.contact,
.nova-root .contact-s4 a.contact-2,
.nova-root .contact-s4 a.contact-3,
.nova-root .contact-s4 a.contact-4{
  text-decoration:none;
  transition:color .18s ease;
}
.nova-root .contact-s3 a.value-2:hover,
.nova-root .contact-s3 a.value-3:hover{color:#4C8FE0}
.nova-root .contact-s4 a.contact:hover,
.nova-root .contact-s4 a.contact-2:hover,
.nova-root .contact-s4 a.contact-3:hover,
.nova-root .contact-s4 a.contact-4:hover{color:#0A4FA5}

/* 3. FAQ 折叠 ------------------------------------------------------------ */
.nova-root .contact-s5 .pme-faq-item{
  width:100%;
  height:auto;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
}
.nova-root .contact-s5 .pme-faq-item > .question-row{
  justify-content:space-between;
  align-items:center;
  gap:16px;
  width:100%;
  border:0;
  background:none;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
}
.nova-root .contact-s5 .pme-faq-item > .question-row .chevron-down{
  flex:0 0 auto;
  margin-left:auto;
  transition:transform .2s ease,color .2s ease;
}
.nova-root .contact-s5 .pme-faq-item > .question-row[aria-expanded="true"] .chevron-down{
  color:#0A4FA5;
  transform:rotate(180deg);
}
/* .answer 本身是 display:flex，[hidden] 需要显式压掉 */
.nova-root .contact-s5 .pme-faq-item > .answer[hidden]{display:none}
.nova-root .contact-s5 .pme-faq-item > .question-row:focus-visible{
  outline:2px solid #0A4FA5;
  outline-offset:2px;
}

/* ==========================================================================
   v1.14.0 — 页头手机端
   1) 品牌 + 询价按钮在一行内不再互相压字
   2) 汉堡按钮去掉主题给 <button> 的底色/边框（此前会显示成一块彩色方块）
   3) 展开的菜单面板统一深色底 + 白字：当前项只加下划指示，字色与其它项一致
   ========================================================================== */

@media (max-width:900px){
  /* 1) util 条：品牌可缩、按钮不缩，任何宽度下都不会叠在一起 ------------- */
  .nova-root .util__in{gap:12px;height:60px}
  .nova-root .util__in > .brand{flex:1 1 auto;min-width:0;gap:10px}
  .nova-root .util__in > .brand .brand__mark{flex:0 0 auto}
  .nova-root .util__in > .brand .brand__text{min-width:0}
  .nova-root .util__in > .brand .brand__text b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nova-root .util__in > .btn{flex:0 0 auto;margin-left:auto}

  /* 页头容器不能裁切：.nova-root 在窄屏设了 overflow-x:hidden，
     会把绝对定位的菜单面板整块剪掉（面板位于页头盒之外，表现为“菜单点不开”） */
  .nova-root[data-nova-widget="pme-header"]{overflow:visible !important}

  /* 2) 汉堡按钮：回到纯图标，彻底压掉主题的按钮底与描边 ---------------- */
  .nova-root .burger{
    width:40px;height:40px;padding:0;flex:0 0 auto;
    display:flex;align-items:center;justify-content:center;
    background:transparent !important;border:0 !important;border-radius:0 !important;
    box-shadow:none !important;outline-offset:2px;cursor:pointer;
    -webkit-appearance:none;appearance:none;
  }
  .nova-root .burger:hover{background:rgba(255,255,255,.08) !important}
  .nova-root .burger span{width:20px;margin:0 auto}

  /* 3) 菜单面板：深色与导航条同底，白字可读；项高收到 48px ------------- */
  .nova-root .nav__links{
    background:var(--navy) !important;
    border-bottom:0;
    box-shadow:0 18px 34px rgba(4,12,22,.28);
    box-sizing:border-box;
    max-width:100vw;
    max-height:calc(100vh - 120px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:4px var(--gutter) 12px;
  }
  .nova-root .nav__links a,
  .nova-root .nav__links li a{
    height:48px !important;
    font-size:14.5px;
    color:rgba(255,255,255,.86);
    border-bottom:1px solid rgba(255,255,255,.10) !important;
  }
  .nova-root .nav__links a:hover,
  .nova-root .nav__links li a:hover{color:#fff}

  /* 当前页：字色保持白（与其它项一致，不再变成深蓝看不见），只用下划线指示 */
  .nova-root .nav__links a[aria-current="page"],
  .nova-root .nav__links li.current-menu-item > a,
  .nova-root .nav__links li.current_page_item > a,
  .nova-root .nav__links li.current-page-ancestor > a,
  .nova-root .nav__links li.current-menu-ancestor > a{
    color:#fff !important;
    font-weight:600;
  }
  .nova-root .nav__links a[aria-current="page"]::after,
  .nova-root .nav__links li.current-menu-item > a::after,
  .nova-root .nav__links li.current_page_item > a::after,
  .nova-root .nav__links li.current-page-ancestor > a::after,
  .nova-root .nav__links li.current-menu-ancestor > a::after{
    display:block !important;
    width:26px !important;
    left:0;
    bottom:12px;
    height:2px;
    background:var(--bright);
  }

  /* 二级菜单在深底上同样保持浅色文字与缩进 */
  .nova-root .nav__links .sub-menu a{
    height:44px !important;
    color:rgba(255,255,255,.72);
    border-bottom:1px solid rgba(255,255,255,.06) !important;
    padding-left:28px !important;
  }
  .nova-root .nav__links .sub-menu a:hover{color:#fff !important;background:transparent !important}
}

@media (max-width:600px){
  .nova-root .util__in{gap:10px}
  .nova-root .util__in > .brand{gap:8px}
  .nova-root .util__in > .brand .brand__mark{width:28px;height:28px}
  .nova-root .util__in > .brand .brand__text b{font-size:16.5px}
  .nova-root .util__in > .btn--sm{height:34px;padding:0 13px;font-size:10.5px;gap:6px}
  .nova-root .util__in > .btn--sm .i{display:none}
}

/* ==========================================================================
   v1.20.0 — 页眉搜索
   1) 放大镜按钮去掉主题给 <button> 的粉红底色/描边，改成与设计稿一致的
      白描边方钮（此前会显示成一块玫红色方块，与深蓝导航条极不协调）
   2) 展开式搜索面板：输入即搜（REST），结果分组下拉
   ========================================================================== */

/* ---------- 1) 搜索按钮：回到设计稿的纯图标（无底色 / 无边框） ---------- */
/* 设计稿里 .icon-btn 本身就是无边框纯图标（frontend/base.css），
   放进深蓝导航条后只需保留白色图标；
   此前主题给 <button> 加的玫红底色 + 圆角 + 内边距，让它变成一块色块，
   这里逐项复位，hover 只给一层很淡的反馈。 */
.nova-root .nav__util .icon-btn{
  position:relative;
  width:34px;height:34px;padding:0;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline-offset:2px;
  cursor:pointer;
  -webkit-appearance:none;appearance:none;
  color:rgba(255,255,255,.82) !important;
  transition:color .18s,background .18s;
}
.nova-root .nav__util .icon-btn:hover{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
}
.nova-root .nav__util .icon-btn .i{width:18px;height:18px;stroke:currentColor}

/* ---------- 2) 搜索面板 ---------- */
.nova-root .nav-search{position:relative;flex:0 0 auto}
.nova-root .nav-search__panel{
  position:absolute;top:calc(100% + 12px);right:0;z-index:90;
  width:min(420px,calc(100vw - 32px));
  background:#fff;border:1px solid var(--line);
  border-radius:4px;
  box-shadow:0 18px 40px rgba(10,39,71,.18);
  padding:14px 14px 10px;
  text-align:left;
}
.nova-root .nav-search__panel[hidden]{display:none}
.nova-root .nav-search__form{
  display:flex;align-items:center;gap:9px;
  border:1px solid var(--line);border-radius:3px;
  padding:0 10px;height:42px;background:#fff;
}
.nova-root .nav-search__form:focus-within{border-color:var(--steel)}
.nova-root .nav-search__icon{width:16px;height:16px;color:var(--muted);flex:0 0 auto}
.nova-root .nav-search__input{
  flex:1;min-width:0;border:0;outline:0;background:none;
  font:500 14px/1.5 var(--font-body);color:var(--heading);
}
.nova-root .nav-search__input::placeholder{color:var(--muted)}
.nova-root .nav-search__close{
  flex:0 0 auto;width:26px;height:26px;padding:0;
  display:flex;align-items:center;justify-content:center;
  background:transparent !important;border:0 !important;border-radius:50%;
  color:var(--muted);cursor:pointer;-webkit-appearance:none;appearance:none;
}
.nova-root .nav-search__close:hover{background:var(--soft);color:var(--heading)}
.nova-root .nav-search__close .i{width:14px;height:14px}

.nova-root .nav-search__results{
  max-height:min(60vh,420px);overflow-y:auto;overscroll-behavior:contain;
  margin-top:10px;
}
.nova-root .nav-search__results:empty{margin-top:0}
.nova-root .nav-search__group + .nav-search__group{margin-top:12px}
.nova-root .nav-search__group-title{
  font:700 10.5px/1.4 var(--font-body);
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding:0 2px 6px;
}
.nova-root .nav-search__list{list-style:none;margin:0;padding:0}
.nova-root .nav-search__hit{
  display:flex;flex-direction:column;gap:2px;
  padding:7px 9px;border-radius:3px;
}
.nova-root .nav-search__hit:hover{background:var(--tint)}
.nova-root .nav-search__hit-title{
  font:600 13.5px/1.45 var(--font-body);color:var(--heading);
}
.nova-root .nav-search__hit-meta{
  font:400 11.5px/1.4 var(--font-body);color:var(--muted);
}
.nova-root .nav-search__empty{
  margin:0;padding:12px 2px;
  font:400 13px/1.6 var(--font-body);color:var(--muted);
}

/* 窄屏：面板贴右边缘铺满可用宽度 */
@media (max-width:900px){
  .nova-root .nav-search__panel{
    position:fixed;top:auto;right:12px;left:12px;
    width:auto;
  }
}

/* ------------------------------------------------------------------
   产品结果栏（products-s2 / result-bar）
   归档页的计数文案是动态的，形如
   “Showing 2 part numbers in CNC Milling”，比设计稿的
   “Showing 6 of 68 part numbers” 长得多。设计稿里排序框与文案之间
   几乎没有间距，动态文案会直接压到排序框边框上。这里补一段间距，
   并允许文案收缩换行，保证任何分类名长度下都不重叠。
   ------------------------------------------------------------------ */
.nova-root .products-s2 .result-bar{
  gap:24px;
}
.nova-root .products-s2 .result-count{
  flex:0 1 auto;min-width:0;
}
.nova-root .products-s2 .sort-select{
  flex:0 0 auto;
}

@media (max-width:900px){
  .nova-root .products-s2 .result-bar{gap:12px}
}
