/*
 Theme Name:   Fiberack Child
 Template:     blocksy
 Description:  Fiberack (fiberack.com) child theme for Blocksy. Global tokens and base styles live here; page code lives in GreenShift Custom HTML blocks.
 Version:      0.6.0
 Text Domain:  fiberack-child
*/

/* 全局样式 v0.4.3（2026-10-22，页眉 + 页脚；字号统一大一号；页脚品牌栏居中）· 来源：新站工作流/03 区块代码库/全局样式.css v0.2，前缀 yf- 换为 fr-
   颜色令牌暂按 logo（藏青 #033258、光纤蓝 #0066FD），C5a 设计规范定稿后整体替换。
   所有规则限定在 .fr-page 内（每个区块根元素都带 fr-page），用 "body .fr-page" 提高优先级压过主题。
   维护：本地 fiberack/fr_03阶段/建站代码/子主题/fiberack-child/style.css 为唯一源，改完整段粘贴到 Theme File Editor。 */

:root {
  --fr-accent: #0066FD;
  --fr-accent-dark: #0050C8;
  --fr-accent-soft: #EAF2FF;
  --fr-text: #1B2430;
  --fr-muted: #5B6472;
  --fr-bg: #FFFFFF;
  --fr-bg-alt: #F4F7FA;
  --fr-border: #E2E5EA;
  --fr-border-strong: #C9CED6;
  --fr-line: #EEF0F3;
  --fr-dark: #033258;
  --fr-dark-2: #0A4372;
  --fr-on-dark: #C9D6E3;
  --fr-white: #FFFFFF;
  --fr-ph-a: #E9ECF0;
  --fr-ph-b: #F1F3F6;
  --fr-ph-line: #B9C0CA;
  --fr-ph-text: #6B7480;
  --fr-radius: 8px;
  --fr-radius-lg: 12px;
  --fr-container: 1200px;
  --fr-gutter: 24px;
  --fr-sec-pad: 80px;
  --fr-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
  --fr-mono: ui-monospace, Menlo, Consolas, monospace;
  --fr-shadow: 0 8px 24px rgba(3, 50, 88, .08);
}
/* 内容最大宽度随屏幕连续放宽：约 1360px 宽以下为 1200px，之后取屏宽的 88%，最宽 1440px；页眉与正文同步（Quinn 2026-10-22：台式机缩放 80% / 90% 时两边留白过多） */
:root { --fr-container: clamp(1200px, 88vw, 1440px); }

/* ---- 局部重置：只作用于区块内部 ---- */
body .fr-page {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  font-family: var(--fr-font);
  font-size: 16px;
  line-height: 1.65;
  color: var(--fr-text);
  background: var(--fr-bg);
  -webkit-font-smoothing: antialiased;
  text-align: left;
}
body .fr-page *,
body .fr-page *::before,
body .fr-page *::after { box-sizing: border-box; }
body .fr-page h1,
body .fr-page h2,
body .fr-page h3,
body .fr-page p,
body .fr-page ul,
body .fr-page ol,
body .fr-page li,
body .fr-page dl,
body .fr-page dd,
body .fr-page figure,
body .fr-page table { margin: 0; padding: 0; }
body .fr-page ul,
body .fr-page ol { list-style: none; }
body .fr-page h1,
body .fr-page h2,
body .fr-page h3 {
  font-family: var(--fr-font);
  color: var(--fr-text);
  line-height: 1.2;
  text-transform: none;
  letter-spacing: normal;
  font-style: normal;
}
body .fr-page h1 { font-size: clamp(34px, 4.2vw, 52px); font-weight: 800; letter-spacing: -0.02em; }
body .fr-page h2 { font-size: clamp(26px, 2.8vw, 36px); font-weight: 750; letter-spacing: -0.01em; }
body .fr-page h3 { font-size: 19px; font-weight: 700; }
body .fr-page p { font-size: inherit; line-height: inherit; color: inherit; }
body .fr-page a { color: var(--fr-accent-dark); text-decoration: none; box-shadow: none; outline-offset: 2px; }
body .fr-page a:hover { color: var(--fr-accent-dark); text-decoration: underline; }
body .fr-page img { display: block; max-width: 100%; height: auto; }
body .fr-page b,
body .fr-page strong { font-weight: 700; }

/* ---- 布局 ---- */
body .fr-page .fr-wrap { max-width: var(--fr-container); margin: 0 auto; padding: 0 var(--fr-gutter); }
/* 主题全宽模板可能把区块内容区撑满（试点 Astra 权重 0,4,0）；这里用 !important 固定内容宽。Blocksy 下由 C1 E6 T6 实测后决定是否保留 */
body .fr-page > .fr-wrap { max-width: var(--fr-container) !important; margin-left: auto !important; margin-right: auto !important; } /* 原因见上一行注释：压过主题全宽模板 */
body .fr-page.fr-sec { padding: var(--fr-sec-pad) 0; }
body .fr-page.fr-alt { background: var(--fr-bg-alt); }

/* ---- 区块头：眉标 + H2 + 导语 ---- */
body .fr-page .fr-head { margin-bottom: 40px; }
body .fr-page .fr-head.fr-center { text-align: center; }
body .fr-page .fr-eyebrow { display: inline-block; margin-bottom: 10px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fr-accent); }
body .fr-page .fr-lead { max-width: 760px; margin-top: 14px; font-size: 18px; color: var(--fr-muted); }
body .fr-page .fr-head.fr-center .fr-lead { margin-left: auto; margin-right: auto; }

/* ---- 按钮 ---- */
body .fr-page .fr-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 13px 26px;
  border: 1.5px solid transparent; border-radius: var(--fr-radius);
  font-family: var(--fr-font); font-size: 16px; font-weight: 650; line-height: 1.2;
  text-decoration: none; cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
body .fr-page .fr-btn:hover { text-decoration: none; }
body .fr-page .fr-btn-primary { background: var(--fr-accent); color: var(--fr-white); }
body .fr-page .fr-btn-primary:hover { background: var(--fr-accent-dark); color: var(--fr-white); }
body .fr-page .fr-btn-ghost { background: var(--fr-white); color: var(--fr-text); border-color: var(--fr-border-strong); }
body .fr-page .fr-btn-ghost:hover { border-color: var(--fr-text); color: var(--fr-text); }
body .fr-page .fr-btn-outline { background: transparent; color: var(--fr-accent-dark); border-color: var(--fr-accent); }
body .fr-page .fr-btn-outline:hover { background: var(--fr-accent); color: var(--fr-white); }
body .fr-page .fr-btn-sm { min-height: 44px; padding: 11px 18px; font-size: 14px; }

/* ---- 图片占位（补图前） ---- */
body .fr-page .fr-ph {
  position: relative; display: flex; align-items: center; justify-content: center;
  padding: 16px; overflow: hidden; text-align: center;
  background: repeating-linear-gradient(135deg, var(--fr-ph-a) 0 12px, var(--fr-ph-b) 12px 24px);
  border: 1px dashed var(--fr-ph-line); border-radius: var(--fr-radius);
  font-size: 13px; line-height: 1.45; color: var(--fr-ph-text);
}
body .fr-page .fr-ph span { max-width: 300px; padding: 6px 10px; background: rgba(255, 255, 255, .85); border-radius: 6px; }

/* ---- 表格 ---- */
body .fr-page .fr-tscroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body .fr-page .fr-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius); overflow: hidden; font-size: 15px; }
body .fr-page .fr-table th,
body .fr-page .fr-table td { padding: 14px 16px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--fr-line); }
body .fr-page .fr-table thead th { background: var(--fr-text); color: var(--fr-white); font-size: 14px; font-weight: 650; }

/* ---- 响应式 ---- */
@media (max-width: 768px) {
  body .fr-page { --fr-gutter: 16px; --fr-sec-pad: 56px; }
}

/* ######## 页眉（来源 建站代码/页眉页尾/header.css） ######## */
/* ===== 页眉 v0.2（2026-10-22，内置浏览器实测：大菜单、吸顶、手机端）· Blocksy 2.1.60 免费版：Top Row = HTML 元素 .fr-topbar；Main Row = Logo / Menu 1 / Button ===== */

/* Blocksy 调色板换成品牌色（主题自身的链接、按钮、表单也跟着变） */
:root {
  --theme-palette-color-1: #0066FD;
  --theme-palette-color-2: #0050C8;
  --theme-palette-color-3: #1B2430;
  --theme-palette-color-4: #033258;
  --theme-palette-color-5: #E2E5EA;
  --theme-palette-color-6: #F4F7FA;
  --theme-palette-color-7: #FAFBFC;
  --theme-palette-color-8: #FFFFFF;
}
/* 锚点跳转不被吸顶页眉挡住 */
html { scroll-padding-top: 110px; }

/* 页眉各行内容与页面内容同宽（1200 限宽、左右 24 留白） */
#header [data-row] > .ct-container,
#header [data-row] > .ct-container-fluid {
  width: 100%;
  max-width: var(--fr-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--fr-gutter);
  padding-right: var(--fr-gutter);
  box-sizing: border-box;
}

/* ---- 第一行：信息条 ---- */
#header [data-row*="top"] { --height: 40px; background: var(--fr-dark); }
#header [data-row*="top"] [data-column="start"],
#header [data-row*="top"] [data-items],
#header [data-row*="top"] .ct-header-text,
#header [data-row*="top"] .ct-header-text > .entry-content { width: 100%; flex: 1 1 auto; max-width: none; }
body .fr-topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  width: 100%; margin: 0;
  font-family: var(--fr-font); font-size: 14px; line-height: 1.4; color: var(--fr-white);
}
body .fr-topbar__tag { font-weight: 600; letter-spacing: .02em; color: var(--fr-white); }
body .fr-topbar__contact { display: flex; align-items: center; gap: 22px; }
body .fr-topbar a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; letter-spacing: .02em; color: var(--fr-white); text-decoration: none; }
body .fr-topbar a:hover { color: var(--fr-white); text-decoration: none; } /* 与左侧标语同色同字号，悬停不变色（Quinn 2026-10-22） */
body .fr-topbar a::before {
  content: ""; width: 14px; height: 14px; flex: 0 0 14px; background: currentColor;
  -webkit-mask: var(--fr-ico) center / contain no-repeat; mask: var(--fr-ico) center / contain no-repeat;
}
body .fr-topbar__mail { --fr-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2.3V17h16V7.3l-8 5.4-8-5.4zM5.2 7l6.8 4.6L18.8 7H5.2z'/%3E%3C/svg%3E"); }
body .fr-topbar__tel { --fr-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
body .fr-topbar__wa { --fr-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 2a8 8 0 1 1-4.1 14.9l-.3-.2-2.9.8.8-2.8-.2-.3A8 8 0 0 1 12 4zm-3.1 4c-.2 0-.5.1-.7.3-.3.3-.9.9-.9 2.1s.9 2.4 1 2.6c.1.2 1.8 2.9 4.5 4 2.2.9 2.7.7 3.2.7.5-.1 1.6-.7 1.8-1.3.2-.6.2-1.2.2-1.3-.1-.1-.3-.2-.6-.3l-1.8-.9c-.3-.1-.5-.1-.7.2l-.8 1c-.2.2-.3.2-.6.1a6.6 6.6 0 0 1-3.3-2.9c-.2-.4.2-.4.7-1.3.1-.2 0-.3 0-.5l-.8-2c-.2-.5-.4-.5-.6-.5h-.5z'/%3E%3C/svg%3E"); }

/* ---- 第二行：Logo + 导航 + 按钮 ---- */
#header [data-row*="middle"] { --height: 84px; background: var(--fr-white); border-bottom: 1px solid var(--fr-border); }
#header [data-row*="middle"] > div { grid-template-columns: auto 1fr auto; column-gap: 24px; }
#header [data-row*="middle"] [data-column="middle"] { justify-content: flex-end; }
#header .site-logo-container img { height: 40px; width: auto; max-height: none; }

#header-menu-1 > ul > li > .ct-menu-link {
  font-family: var(--fr-font); font-size: 16px; font-weight: 600; text-transform: none; letter-spacing: 0;
  color: var(--fr-dark);
}
#header-menu-1 > ul > li:hover > .ct-menu-link,
#header-menu-1 > ul > li.current-menu-item > .ct-menu-link,
#header-menu-1 > ul > li.current-menu-ancestor > .ct-menu-link { color: var(--fr-accent); }

/* 普通下拉 */
#header-menu-1 .sub-menu {
  width: 250px; padding: 8px 0;
  background: var(--fr-white); border: 1px solid var(--fr-border); border-top: 2px solid var(--fr-accent);
  border-radius: 0 0 var(--fr-radius) var(--fr-radius); box-shadow: var(--fr-shadow);
}
#header-menu-1 .sub-menu .ct-menu-link {
  padding: 9px 20px; font-family: var(--fr-font); font-size: 15px; font-weight: 500; line-height: 1.4;
  text-transform: none; color: var(--fr-text);
}
#header-menu-1 .sub-menu .ct-menu-link:hover { color: var(--fr-accent); background: var(--fr-accent-soft); }

/* Products 大菜单：两栏，第三层直接展开 */
#header-menu-1 .fr-mega > .sub-menu {
  grid-template-columns: repeat(2, 270px); column-gap: 32px;
  width: auto; padding: 22px 28px 18px;
}
/* Blocksy 悬停时给 li 加 animated-submenu-*（显示）与 ct-active（不透明），这里把显示方式换成网格 */
#header-menu-1 .fr-mega[class*="animated-submenu"] > .sub-menu { display: grid; }
#header-menu-1 .fr-mega .fr-mega-col { display: block; width: auto; }
#header-menu-1 .fr-mega .fr-mega-col > .ct-menu-link {
  padding: 4px 0 10px; margin-bottom: 6px; border-bottom: 1px solid var(--fr-border);
  display: block; font-size: 16px; font-weight: 700; color: var(--fr-dark); background: none;
}
#header-menu-1 .fr-mega .fr-mega-col > .ct-menu-link:hover { color: var(--fr-accent); background: none; }
#header-menu-1 .fr-mega .fr-mega-col > .ct-menu-link .ct-toggle-dropdown-desktop,
#header-menu-1 .fr-mega .fr-mega-col > .ct-toggle-dropdown-desktop-ghost { display: none; }
#header-menu-1 .fr-mega .fr-mega-col > .sub-menu {
  position: static; display: block; opacity: 1; visibility: inherit; pointer-events: inherit; transform: none;
  width: auto; padding: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: none;
}
#header-menu-1 .fr-mega .fr-mega-col > .sub-menu .ct-menu-link { margin: 0 -12px; padding: 7px 12px; border-radius: 6px; color: var(--fr-muted); }
#header-menu-1 .fr-mega .fr-mega-col > .sub-menu .ct-menu-link:hover { color: var(--fr-accent); background: var(--fr-accent-soft); }

/* Get a Quote 按钮 */
#header .ct-header-cta .ct-button {
  min-height: 44px; padding: 10px 22px;
  font-family: var(--fr-font); font-size: 16px; font-weight: 650;
  color: var(--fr-white); background: var(--fr-accent); border-radius: var(--fr-radius);
}
#header .ct-header-cta .ct-button:hover { background: var(--fr-accent-dark); color: var(--fr-white); }

/* 吸顶：桌面端第一行滚走、第二行固定（Blocksy 免费版无吸顶功能） */
@media (min-width: 1000px) {
  #header { position: sticky; top: -40px; z-index: 50; }
  .admin-bar #header { top: -8px; }
}

/* ---- 手机 / 平板（Blocksy 断点 1000px）：一行 Logo + 菜单按钮 ---- */
@media (max-width: 999.98px) {
  #header [data-device="mobile"] [data-row*="middle"] { --height: 64px; }
  #header [data-device="mobile"] .site-logo-container img { height: 30px; }
}
#header .ct-header-trigger { --theme-icon-color: var(--fr-dark); --theme-icon-size: 22px; min-width: 44px; min-height: 44px; justify-content: flex-end; }

/* 侧滑菜单（Offcanvas）：藏青底 */
#offcanvas.ct-panel > .ct-panel-inner { background-color: var(--fr-dark); } /* 选择器要压过 Blocksy 的 [data-header] #offcanvas .ct-panel-inner */
#offcanvas .mobile-menu .ct-menu-link,
#offcanvas .mobile-menu a { font-family: var(--fr-font); font-size: 17px; font-weight: 600; color: var(--fr-white); }
#offcanvas .mobile-menu .sub-menu a { font-size: 15px; font-weight: 500; color: var(--fr-on-dark); }
#offcanvas .ct-header-cta { width: 100%; }
#offcanvas .ct-header-cta .ct-button { width: 100%; min-height: 48px; padding: 12px 22px; justify-content: center; font-family: var(--fr-font); font-size: 16px; font-weight: 650; color: var(--fr-white); background: var(--fr-accent); border-radius: var(--fr-radius); }
#offcanvas .fr-topbar { flex-direction: column; align-items: flex-start; gap: 14px; font-size: 15px; }
#offcanvas .fr-topbar__tag { display: none; }
#offcanvas .fr-topbar__contact { flex-direction: column; align-items: flex-start; gap: 14px; }
#offcanvas .fr-topbar a { color: var(--fr-on-dark); }

/* ######## 页脚（来源 建站代码/页眉页尾/footer.css） ######## */
/* ===== 页脚 v0.2（2026-10-22，Logo 加大、口号、地址与电话移到 Get in Touch、栏标题加大）· Blocksy 2.1.60 免费版：中间行 Widget Area 1–4（品牌 / Products / Company / Get in Touch），底行 Copyright + Footer Menu ===== */
:root { --fr-dark-deep: #022848; }

#footer { background: var(--fr-dark); color: var(--fr-on-dark); font-family: var(--fr-font); }
#footer [data-row] { background: transparent; }
#footer [data-row] > .ct-container {
  width: 100%; max-width: var(--fr-container); margin-left: auto; margin-right: auto;
  padding-left: var(--fr-gutter); padding-right: var(--fr-gutter); box-sizing: border-box;
}

/* 中间行：四栏 */
#footer [data-row*="middle"] > .ct-container {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; column-gap: 48px; row-gap: 36px;
  padding-top: 64px; padding-bottom: 48px;
}
#footer [data-row*="middle"] [data-column] { min-width: 0; }
#footer .ct-widget { margin: 0; }
#footer .ct-widget + .ct-widget { margin-top: 0; }

/* 栏标题（普通段落，不用 H 标签：B7 第三节） */
#footer .fr-foot-title { margin: 0 0 18px; font-size: 18px; font-weight: 700; letter-spacing: .02em; color: var(--fr-white); }

/* 品牌栏 */
#footer .fr-foot-logo { display: block; width: fit-content; margin: 0 auto; } /* Logo 与口号一同居中（Quinn 2026-10-22） */
#footer .fr-foot-logo img { display: block; height: 46px; width: auto; }
#footer .fr-foot-desc { margin: 22px auto 0; max-width: 400px; font-size: 18px; font-weight: 600; line-height: 1.55; text-align: center; color: var(--fr-white); }

/* 链接列表（Products / Company 菜单） */
#footer .widget-menu { margin: 0; padding: 0; list-style: none; }
#footer .widget-menu li { margin: 0; padding: 0; }
#footer .widget-menu li + li { margin-top: 10px; }
#footer .widget-menu a { font-size: 15px; line-height: 1.5; color: var(--fr-on-dark); text-decoration: none; }
#footer .widget-menu a:hover { color: var(--fr-white); text-decoration: underline; }

/* Get in Touch */
#footer .fr-foot-contact { margin: 0 0 20px; padding: 0; list-style: none; }
#footer .fr-foot-contact li + li { margin-top: 12px; }
#footer .fr-foot-contact a,
#footer .fr-foot-contact span { display: inline-flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.5; color: var(--fr-on-dark); text-decoration: none; }
#footer .fr-foot-contact a:hover { color: var(--fr-white); }
#footer .fr-foot-contact a::before,
#footer .fr-foot-contact span::before {
  content: ""; width: 16px; height: 16px; flex: 0 0 16px; margin-top: 2px; background: currentColor;
  -webkit-mask: var(--fr-ico) center / contain no-repeat; mask: var(--fr-ico) center / contain no-repeat;
}
#footer .fr-foot-mail { --fr-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2.3V17h16V7.3l-8 5.4-8-5.4zM5.2 7l6.8 4.6L18.8 7H5.2z'/%3E%3C/svg%3E"); }
#footer .fr-foot-wa { --fr-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 2a8 8 0 1 1-4.1 14.9l-.3-.2-2.9.8.8-2.8-.2-.3A8 8 0 0 1 12 4zm-3.1 4c-.2 0-.5.1-.7.3-.3.3-.9.9-.9 2.1s.9 2.4 1 2.6c.1.2 1.8 2.9 4.5 4 2.2.9 2.7.7 3.2.7.5-.1 1.6-.7 1.8-1.3.2-.6.2-1.2.2-1.3-.1-.1-.3-.2-.6-.3l-1.8-.9c-.3-.1-.5-.1-.7.2l-.8 1c-.2.2-.3.2-.6.1a6.6 6.6 0 0 1-3.3-2.9c-.2-.4.2-.4.7-1.3.1-.2 0-.3 0-.5l-.8-2c-.2-.5-.4-.5-.6-.5h-.5z'/%3E%3C/svg%3E"); }
#footer .fr-foot-tel { --fr-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
#footer .fr-foot-loc { --fr-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
#footer .fr-foot-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px;
  font-size: 16px; font-weight: 650; color: var(--fr-white); background: var(--fr-accent);
  border-radius: var(--fr-radius); text-decoration: none;
}
#footer .fr-foot-btn:hover { background: var(--fr-accent-dark); color: var(--fr-white); }

/* 底行：版权 + 隐私政策 */
#footer [data-row*="bottom"] { background: var(--fr-dark-deep); }
#footer [data-row*="bottom"] > .ct-container {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding-top: 18px; padding-bottom: 18px;
}
#footer .ct-footer-copyright { font-size: 13px; color: var(--fr-on-dark); }
#footer .ct-footer-copyright p { margin: 0; }
#footer #footer-menu ul { margin: 0; padding: 0; }
#footer #footer-menu .ct-menu-link { font-size: 13px; font-weight: 500; text-transform: none; color: var(--fr-on-dark); }
#footer #footer-menu .ct-menu-link:hover { color: var(--fr-white); }

/* 平板：两栏，品牌与联系各占一整行 */
@media (max-width: 999.98px) {
  #footer [data-row*="middle"] > .ct-container { grid-template-columns: 1fr 1fr; column-gap: 32px; padding-top: 48px; padding-bottom: 36px; }
  #footer [data-row*="middle"] [data-column="widget-area-1"],
  #footer [data-row*="middle"] [data-column="widget-area-4"] { grid-column: 1 / -1; }
}
/* 手机：底行居中堆叠 */
@media (max-width: 689.98px) {
  #footer [data-row*="bottom"] > .ct-container { flex-direction: column; justify-content: center; text-align: center; }
}

/* ######## 产品详情页模板 AUX-PRODUCT v0.5（2026-11-03）· 前缀 fr-pd- ########
   所有产品详情页共用这一段（放子主题 style.css），页面里只放 HTML；改样式只改这里，全部产品同步生效。
   规则：图库用单选按钮 + CSS、FAQ 用 details；只有页内导航高亮与"申请规格书"自动填留言用一小段 JS（Quinn 2026-11-03 要求，脚本在页面末尾）；768px 以下全部单列；不出现横向滚动条。 */

body .fr-page.fr-pd h2 { color: var(--fr-dark); }
body section.fr-page.fr-pd[id^="fr-pd-"],
body .fr-page.fr-pd div[id^="fr-pd-"] { scroll-margin-top: 60px; } /* 加上全站 html scroll-padding-top 110px，落点在吸顶页内导航下方约 25px */

/* ---- 面包屑 ---- */
body .fr-page.fr-pd .fr-pd-crumb { padding: 18px 0 0; margin-bottom: 22px; font-size: 14px; color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-crumb ol { display: flex; flex-wrap: wrap; gap: 4px 0; }
body .fr-page.fr-pd .fr-pd-crumb li + li::before { content: "/"; margin: 0 10px; color: var(--fr-border-strong); }
body .fr-page.fr-pd .fr-pd-crumb a { color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-crumb a:hover { color: var(--fr-accent-dark); }
body .fr-page.fr-pd .fr-pd-crumb [aria-current] { color: var(--fr-text); }

/* ---- 首屏：左图库 + 右摘要 ---- */
body .fr-page.fr-pd-top { padding: 28px 0 56px; }
body .fr-page.fr-pd .fr-pd-top-grid { display: grid; grid-template-columns: minmax(0, 540px) minmax(0, 1fr); gap: 64px; align-items: start; }

/* 图库：隐藏单选按钮控制显示哪张（最多 8 张） */
body .fr-page.fr-pd .fr-pd-gallery { position: relative; }
/* 单选按钮放在缩略图行（图库底部），点缩略图获得焦点时浏览器不需要滚动，页面不跳 */
body .fr-page.fr-pd .fr-pd-gallery > input { position: absolute; left: 0; bottom: 0; margin: 0; opacity: 0; width: 1px; height: 1px; pointer-events: none; scroll-margin: 0; }
body .fr-page.fr-pd .fr-pd-stage { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); }
body .fr-page.fr-pd .fr-pd-slide { display: none; width: 100%; height: 100%; }
body .fr-page.fr-pd .fr-pd-slide img { width: 100%; height: 100%; object-fit: contain; }
body .fr-page.fr-pd .fr-pd-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
body .fr-page.fr-pd .fr-pd-thumbs label { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--fr-white); border: 1.5px solid var(--fr-border); border-radius: var(--fr-radius); cursor: pointer; transition: border-color .15s; }
body .fr-page.fr-pd .fr-pd-thumbs label:hover { border-color: var(--fr-border-strong); }
body .fr-page.fr-pd .fr-pd-thumbs img { width: 100%; height: 100%; object-fit: contain; }
#fr-pd-g1:checked ~ .fr-pd-stage .fr-pd-s1, #fr-pd-g2:checked ~ .fr-pd-stage .fr-pd-s2,
#fr-pd-g3:checked ~ .fr-pd-stage .fr-pd-s3, #fr-pd-g4:checked ~ .fr-pd-stage .fr-pd-s4,
#fr-pd-g5:checked ~ .fr-pd-stage .fr-pd-s5, #fr-pd-g6:checked ~ .fr-pd-stage .fr-pd-s6,
#fr-pd-g7:checked ~ .fr-pd-stage .fr-pd-s7, #fr-pd-g8:checked ~ .fr-pd-stage .fr-pd-s8 { display: block; }
#fr-pd-g1:checked ~ .fr-pd-thumbs [for="fr-pd-g1"], #fr-pd-g2:checked ~ .fr-pd-thumbs [for="fr-pd-g2"],
#fr-pd-g3:checked ~ .fr-pd-thumbs [for="fr-pd-g3"], #fr-pd-g4:checked ~ .fr-pd-thumbs [for="fr-pd-g4"],
#fr-pd-g5:checked ~ .fr-pd-thumbs [for="fr-pd-g5"], #fr-pd-g6:checked ~ .fr-pd-thumbs [for="fr-pd-g6"],
#fr-pd-g7:checked ~ .fr-pd-thumbs [for="fr-pd-g7"], #fr-pd-g8:checked ~ .fr-pd-thumbs [for="fr-pd-g8"] { border-color: var(--fr-accent); box-shadow: 0 0 0 1px var(--fr-accent); }
#fr-pd-g1:focus-visible ~ .fr-pd-thumbs [for="fr-pd-g1"], #fr-pd-g2:focus-visible ~ .fr-pd-thumbs [for="fr-pd-g2"],
#fr-pd-g3:focus-visible ~ .fr-pd-thumbs [for="fr-pd-g3"], #fr-pd-g4:focus-visible ~ .fr-pd-thumbs [for="fr-pd-g4"],
#fr-pd-g5:focus-visible ~ .fr-pd-thumbs [for="fr-pd-g5"], #fr-pd-g6:focus-visible ~ .fr-pd-thumbs [for="fr-pd-g6"],
#fr-pd-g7:focus-visible ~ .fr-pd-thumbs [for="fr-pd-g7"], #fr-pd-g8:focus-visible ~ .fr-pd-thumbs [for="fr-pd-g8"] { outline: 2px solid var(--fr-accent); outline-offset: 2px; }

/* 摘要 */
body .fr-page.fr-pd .fr-pd-summary { padding-top: 10px; }
body .fr-page.fr-pd .fr-pd-model { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; background: var(--fr-accent-soft); border-radius: 999px; font: 600 13px/1.4 var(--fr-mono); letter-spacing: .02em; color: var(--fr-dark); }
body .fr-page.fr-pd .fr-pd-model span { font-family: var(--fr-font); font-weight: 500; color: var(--fr-muted); }
body .fr-page.fr-pd h1.fr-pd-h1 { margin-top: 10px; font-size: clamp(28px, 2.6vw, 38px); line-height: 1.2; letter-spacing: -0.015em; color: var(--fr-dark); }
body .fr-page.fr-pd .fr-pd-lead { margin-top: 14px; font-size: 17px; color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-keys { margin-top: 24px; border-top: 1px solid var(--fr-border); }
body .fr-page.fr-pd .fr-pd-keys div { display: grid; grid-template-columns: 172px minmax(0, 1fr); gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--fr-line); font-size: 15px; }
body .fr-page.fr-pd .fr-pd-keys dt { color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-keys dd { font-weight: 600; color: var(--fr-text); }
body .fr-page.fr-pd .fr-pd-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
body .fr-page.fr-pd .fr-pd-cta .fr-btn { flex: 1 1 200px; }
body .fr-page.fr-pd .fr-pd-assure { display: grid; gap: 8px; margin-top: 22px; padding: 16px 18px; background: var(--fr-bg-alt); border-radius: var(--fr-radius); }
body .fr-page.fr-pd .fr-pd-assure li { position: relative; padding-left: 26px; font-size: 14px; line-height: 1.5; color: var(--fr-text); }
body .fr-page.fr-pd .fr-pd-assure li::before,
body .fr-page.fr-pd .fr-pd-check li::before { content: ""; position: absolute; left: 3px; top: .38em; width: 13px; height: 7px; border-left: 2px solid var(--fr-accent); border-bottom: 2px solid var(--fr-accent); transform: rotate(-45deg); }

/* ---- 页内导航（吸顶） ---- */
body .fr-page.fr-pd-tabs { position: sticky; top: var(--fr-pd-stick, 85px); z-index: 20; background: var(--fr-white); border-top: 1px solid var(--fr-border); border-bottom: 1px solid var(--fr-border); }
body.admin-bar .fr-page.fr-pd-tabs { --fr-pd-stick: 117px; }
body .fr-page.fr-pd-tabs ul { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
body .fr-page.fr-pd-tabs ul::-webkit-scrollbar { display: none; }
body .fr-page.fr-pd-tabs a { display: block; padding: 15px 18px; font-size: 15px; font-weight: 600; white-space: nowrap; color: var(--fr-text); border-bottom: 2px solid transparent; }
body .fr-page.fr-pd-tabs a:hover,
body .fr-page.fr-pd-tabs a.is-active { color: var(--fr-accent-dark); border-bottom-color: var(--fr-accent); text-decoration: none; } /* is-active：滑到对应区块时由页面脚本加上 */

/* ---- 区块通用 ---- */
body .fr-page.fr-pd.fr-sec { padding: 72px 0; }
body .fr-page.fr-pd .fr-pd-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; align-items: start; }
body .fr-page.fr-pd .fr-pd-figure img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); }
body .fr-page.fr-pd .fr-pd-sticky { position: sticky; top: 150px; }

/* 特点卡 */
body .fr-page.fr-pd .fr-pd-feats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body .fr-page.fr-pd .fr-pd-feats li { padding: 20px 20px 22px; background: var(--fr-white); border: 1px solid var(--fr-border); border-top: 3px solid var(--fr-accent); border-radius: var(--fr-radius); }
body .fr-page.fr-pd .fr-pd-feats h3 { font-size: 17px; color: var(--fr-dark); }
body .fr-page.fr-pd .fr-pd-feats p { margin-top: 6px; font-size: 15px; line-height: 1.55; color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-apps { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 24px; }
body .fr-page.fr-pd .fr-pd-apps strong { font-size: 15px; }
body .fr-page.fr-pd .fr-pd-apps ul { display: flex; flex-wrap: wrap; gap: 8px; }
body .fr-page.fr-pd .fr-pd-apps li { padding: 6px 12px; background: var(--fr-white); border: 1px solid var(--fr-border-strong); border-radius: 999px; font-size: 14px; }

/* 规格表 */
body .fr-page.fr-pd .fr-pd-spec { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); overflow: hidden; font-size: 15px; }
body .fr-page.fr-pd .fr-pd-spec th,
body .fr-page.fr-pd .fr-pd-spec td { padding: 12px 18px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--fr-line); }
body .fr-page.fr-pd .fr-pd-spec tbody th[colspan] { padding: 11px 18px; background: var(--fr-dark); color: var(--fr-white); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body .fr-page.fr-pd .fr-pd-spec th[scope="row"] { width: 42%; font-weight: 500; color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-spec td { font-weight: 600; color: var(--fr-text); }
body .fr-page.fr-pd .fr-pd-spec tr:last-child > * { border-bottom: 0; }

/* 订购：料号条 + 选项 + 右侧卡片 */
body .fr-page.fr-pd .fr-pd-order-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; align-items: start; }
body .fr-page.fr-pd .fr-pd-opts { counter-reset: frpd; display: grid; gap: 12px; }
body .fr-page.fr-pd .fr-pd-opts li { position: relative; padding: 16px 18px 16px 66px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius); counter-increment: frpd; }
body .fr-page.fr-pd .fr-pd-opts li::before { content: counter(frpd); position: absolute; top: 15px; left: 18px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--fr-accent-soft); color: var(--fr-accent-dark); font-weight: 800; }
body .fr-page.fr-pd .fr-pd-opts strong { display: block; font-size: 16px; }
body .fr-page.fr-pd .fr-pd-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
body .fr-page.fr-pd .fr-pd-chips span { padding: 3px 10px; background: var(--fr-bg-alt); border: 1px solid var(--fr-border); border-radius: 6px; font-size: 14px; }
body .fr-page.fr-pd .fr-pd-card { padding: 26px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); box-shadow: var(--fr-shadow); }
body .fr-page.fr-pd .fr-pd-card-title { font-size: 19px; font-weight: 700; color: var(--fr-dark); }
body .fr-page.fr-pd .fr-pd-card p + p { margin-top: 8px; }
body .fr-page.fr-pd .fr-pd-card .fr-btn { width: 100%; margin-top: 18px; }
body .fr-page.fr-pd .fr-pd-card .fr-pd-card-note { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--fr-line); font-size: 15px; color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-card .fr-pd-card-note strong { display: block; color: var(--fr-text); }

/* 表下说明 */
body .fr-page.fr-pd .fr-pd-note { margin-top: 12px; font-size: 14px; line-height: 1.55; color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-order-note { margin-top: 14px; }

/* 安装与包装 */
body .fr-page.fr-pd .fr-pd-steps { counter-reset: frst; display: grid; gap: 14px; }
body .fr-page.fr-pd .fr-pd-steps li { position: relative; padding: 16px 18px 16px 62px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius); font-size: 15px; counter-increment: frst; }
body .fr-page.fr-pd .fr-pd-steps li::before { content: counter(frst); position: absolute; top: 14px; left: 18px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--fr-dark); color: var(--fr-white); font-size: 14px; font-weight: 800; }
body .fr-page.fr-pd .fr-pd-pack { margin-top: 20px; padding: 16px 18px; background: var(--fr-accent-soft); border-radius: var(--fr-radius); font-size: 15px; }
body .fr-page.fr-pd .fr-pd-pack strong { display: block; margin-bottom: 2px; color: var(--fr-dark); }

/* 规格书申请框（在规格表下方；规格书不公开下载，点了跳到询价表单） */
body .fr-page.fr-pd .fr-pd-dlbox { margin-top: 32px; }
body .fr-page.fr-pd .fr-pd-dlbox h3 { margin-bottom: 12px; color: var(--fr-dark); }
body .fr-page.fr-pd .fr-nowrap { white-space: nowrap; }
body .fr-page.fr-pd .fr-pd-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
body .fr-page.fr-pd .fr-pd-dl a { display: flex; align-items: center; gap: 16px; padding: 18px 20px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius); color: var(--fr-text); }
body .fr-page.fr-pd .fr-pd-dl a:hover { border-color: var(--fr-accent); text-decoration: none; }
body .fr-page.fr-pd .fr-pd-dl i { flex: none; display: flex; align-items: center; justify-content: center; width: 46px; height: 54px; background: #FDECEA; border-radius: 6px; font: 800 12px var(--fr-font); font-style: normal; color: #C5221F; }
body .fr-page.fr-pd .fr-pd-dl strong { display: block; font-size: 16px; }
body .fr-page.fr-pd .fr-pd-dl small { font-size: 13px; color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-dl em { margin-left: auto; font-style: normal; font-weight: 650; font-size: 14px; color: var(--fr-accent-dark); white-space: nowrap; }

/* FAQ */
body .fr-page.fr-pd .fr-pd-faq { max-width: 880px; }
body .fr-page.fr-pd .fr-pd-faq details { border-bottom: 1px solid var(--fr-border); }
body .fr-page.fr-pd .fr-pd-faq summary { position: relative; padding: 18px 40px 18px 0; font-size: 17px; font-weight: 650; cursor: pointer; list-style: none; }
body .fr-page.fr-pd .fr-pd-faq summary::-webkit-details-marker { display: none; }
body .fr-page.fr-pd .fr-pd-faq summary::after { content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: 24px; font-weight: 400; color: var(--fr-accent); }
body .fr-page.fr-pd .fr-pd-faq details[open] summary::after { content: "\2212"; }
body .fr-page.fr-pd .fr-pd-faq details p { padding: 0 0 20px; color: var(--fr-muted); }

/* 定制条 */
body .fr-page.fr-pd .fr-pd-custom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding: 24px 28px; background: var(--fr-white); border: 1px solid var(--fr-accent); border-radius: var(--fr-radius-lg); }
body .fr-page.fr-pd .fr-pd-custom strong { display: block; font-size: 19px; color: var(--fr-dark); }
body .fr-page.fr-pd .fr-pd-custom p { color: var(--fr-muted); }

/* 相关产品（有数据才输出） */
body .fr-page.fr-pd .fr-pd-rel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
body .fr-page.fr-pd .fr-pd-rel a { display: block; overflow: hidden; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); color: var(--fr-text); }
body .fr-page.fr-pd .fr-pd-rel a:hover { border-color: var(--fr-accent); text-decoration: none; }
body .fr-page.fr-pd .fr-pd-rel img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-bottom: 1px solid var(--fr-line); }
body .fr-page.fr-pd .fr-pd-rel span { display: block; padding: 14px 16px 16px; font-weight: 650; font-size: 15px; }

/* 询价区 + Forminator 表单（样式与 Contact Us 一致） */
body .fr-page.fr-pd .fr-pd-quote-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 48px; align-items: start; }
body .fr-page.fr-pd .fr-pd-quote-grid h2 { margin-top: 2px; }
body .fr-page.fr-pd .fr-pd-quote-grid .fr-lead { font-size: 17px; }
body .fr-page.fr-pd .fr-pd-check { display: grid; gap: 10px; margin-top: 24px; }
body .fr-page.fr-pd .fr-pd-check li { position: relative; padding-left: 26px; font-size: 15px; }
body .fr-page.fr-pd .fr-pd-direct { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--fr-border); font-size: 15px; }
body .fr-page.fr-pd .fr-pd-direct p + p { margin-top: 6px; }
body .fr-page.fr-pd .fr-pd-direct span { display: inline-block; min-width: 92px; color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-form { padding: 32px 32px 28px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); box-shadow: var(--fr-shadow); }
.fr-pd-form .forminator-ui { margin: 0 !important; font-family: var(--fr-font); }
.fr-pd-form .forminator-row { display: flex; flex-wrap: wrap; gap: 0 20px; }
.fr-pd-form .forminator-col { flex: 1 1 0; min-width: 0; padding: 0; }
.fr-pd-form .forminator-col-12 { flex-basis: 100%; }
.fr-pd-form .forminator-label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 650; color: var(--fr-text); }
.fr-pd-form .forminator-required { color: #D93025; }
.fr-pd-form input.forminator-input,
.fr-pd-form textarea.forminator-textarea,
.fr-pd-form .forminator-ui select { width: 100%; min-height: 46px; padding: 11px 14px; background: var(--fr-white); border: 1px solid var(--fr-border-strong); border-radius: var(--fr-radius); font: 16px/1.4 var(--fr-font); color: var(--fr-text); box-shadow: none; }
.fr-pd-form textarea.forminator-textarea { min-height: 130px; resize: vertical; }
.fr-pd-form input.forminator-input:focus,
.fr-pd-form textarea.forminator-textarea:focus { outline: none; border-color: var(--fr-accent); box-shadow: 0 0 0 3px var(--fr-accent-soft); }
.fr-pd-form .forminator-description { display: block; margin-top: 6px; font-size: 13px; color: var(--fr-muted); }
.fr-pd-form .forminator-error-message { display: block; margin-top: 6px; font-size: 13px; color: #D93025; }
.fr-pd-form .forminator-ui input[type="file"] { width: 100%; padding: 10px 12px; background: var(--fr-bg-alt); border: 1.5px dashed var(--fr-border-strong); border-radius: var(--fr-radius); font: 14px var(--fr-font); color: var(--fr-muted); cursor: pointer; }
.fr-pd-form .forminator-ui input[type="file"]::file-selector-button { margin-right: 12px; padding: 8px 16px; background: var(--fr-white); border: 1px solid var(--fr-border-strong); border-radius: 6px; font: 600 14px var(--fr-font); color: var(--fr-dark); cursor: pointer; }
.fr-pd-form .forminator-ui[data-design="none"] .forminator-button-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 32px; background: var(--fr-accent); border: 0; border-radius: var(--fr-radius); font: 650 16px var(--fr-font); color: var(--fr-white); cursor: pointer; }
.fr-pd-form .forminator-ui[data-design="none"] .forminator-button-submit:hover { background: var(--fr-accent-dark); }
.fr-pd-form .forminator-response-message:empty { display: none; }

/* 询价区左栏：规格书申请卡 */
body .fr-page.fr-pd .fr-pd-dscard { margin-top: 28px; padding: 24px; background: var(--fr-bg-alt); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); }
body .fr-page.fr-pd .fr-pd-dscard-head { display: flex; align-items: center; gap: 14px; }
body .fr-page.fr-pd .fr-pd-dscard-head i { flex: none; display: flex; align-items: center; justify-content: center; width: 42px; height: 50px; background: #FDECEA; border-radius: 6px; font: 800 12px var(--fr-font); font-style: normal; color: #C5221F; }
body .fr-page.fr-pd .fr-pd-dscard-head strong { display: block; font-size: 17px; color: var(--fr-dark); }
body .fr-page.fr-pd .fr-pd-dscard-head small { font-size: 13px; color: var(--fr-muted); }
body .fr-page.fr-pd .fr-pd-dscard-text { margin-top: 14px; font-size: 15px; color: var(--fr-text); }
body .fr-page.fr-pd .fr-pd-dscard .fr-pd-check { margin-top: 14px; gap: 8px; }
body .fr-page.fr-pd .fr-pd-dscard .fr-btn { margin-top: 20px; }

/* ---- 响应式 ---- */
@media (max-width: 1000px) {
  body .fr-page.fr-pd .fr-pd-top-grid,
  body .fr-page.fr-pd .fr-pd-split,
  body .fr-page.fr-pd .fr-pd-order-grid,
  body .fr-page.fr-pd .fr-pd-quote-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body .fr-page.fr-pd .fr-pd-sticky { position: static; }
  body .fr-page.fr-pd .fr-pd-split .fr-pd-figure { max-width: 480px; }
  body .fr-page.fr-pd-tabs { position: static; }
  body .fr-page.fr-pd .fr-pd-rel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  body .fr-page.fr-pd.fr-sec { padding: 52px 0; }
  body .fr-page.fr-pd-top { padding: 16px 0 40px; }
  body .fr-page.fr-pd .fr-pd-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body .fr-page.fr-pd .fr-pd-keys div { grid-template-columns: 112px minmax(0, 1fr); gap: 12px; }
  body .fr-page.fr-pd .fr-pd-feats { grid-template-columns: minmax(0, 1fr); }
  body .fr-page.fr-pd .fr-pd-split > .fr-pd-figure { display: none; } /* 手机上首屏图库已有这些图，侧图不再重复 */
  body .fr-page.fr-pd .fr-pd-spec th,
  body .fr-page.fr-pd .fr-pd-spec td { padding: 11px 14px; }
  body .fr-page.fr-pd .fr-pd-dl { grid-template-columns: minmax(0, 1fr); }
  body .fr-page.fr-pd .fr-pd-form { padding: 24px 18px 20px; }
  .fr-pd-form .forminator-row { display: block; }
  .fr-pd-form .forminator-col { margin-bottom: 16px; }
  .fr-pd-form .forminator-ui[data-design="none"] .forminator-button-submit { width: 100%; }
}
/* ######## 产品详情页模板 结束 ######## */

/* ######## 分类页模板 v0.7（2026-11-04，样板 PNL-01）· 前缀 fr-cat- ########
   所有分类页 / 产品家族页共用这一段（放子主题 style.css，紧接产品详情页模板之后）。
   区块同时带 fr-pd 类：面包屑、FAQ、询价区、勾选列表沿用产品详情页样式，这里不重复。
   产品列表（含上方筛选条、分页，每页 6 个）由短代码 [fr_product_list] 输出，左栏类目导航由 [fr_category_nav] 输出；筛选为下拉框，筛选与分页由短代码输出的一小段脚本处理。
   版式（Quinn 2026-11-04）：首屏即产品区——左栏（全站类目导航：当前一级类目展开、其余收起，二级全部列出，当前小类换色；Why Fiberack + 询盘按钮）从顶部开始；右栏面包屑、H1、简介、事实标签、筛选条，下面一行一款横向卡片（come-star 式）；不放首图和顶部按钮。
   配色：首屏浅蓝渐变过渡到浅灰底、白色卡片；之后 选型（白）→ 定制（浅灰）→ FAQ（白）→ 询价（浅灰）。筛选与分页用一小段脚本（Quinn 2026-11-04 同意，与产品页同样例外）。 */

body section.fr-page.fr-cat[id^="fr-cat-"] { scroll-margin-top: 20px; } /* 加上全站 scroll-padding-top 110px，落在吸顶页眉下方 */
body .fr-page.fr-cat .fr-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---- 首屏：左栏 + 右栏（面包屑、标题区、产品列表），同一个区块 ---- */
body .fr-page.fr-cat-products { padding: 0 0 var(--fr-sec-pad); background: linear-gradient(180deg, #E8F0FA 0, var(--fr-bg-alt) 440px, var(--fr-bg-alt) 100%); }
body .fr-page.fr-cat .fr-cat-body { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 40px; align-items: start; padding-top: 28px; }
body .fr-page.fr-cat .fr-cat-main .fr-pd-crumb { padding-top: 0; margin-bottom: 18px; }
body .fr-page.fr-cat .fr-cat-head { margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px solid #D9E3EE; }
body .fr-page.fr-cat h1.fr-cat-h1 { font-size: clamp(36px, 3.6vw, 50px); color: var(--fr-dark); }
body .fr-page.fr-cat .fr-cat-intro { max-width: 900px; margin-top: 16px; font-size: 18px; line-height: 1.7; color: #46525F; }
body .fr-page.fr-cat .fr-cat-facts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
body .fr-page.fr-cat .fr-cat-facts li { position: relative; padding: 8px 16px 8px 36px; background: var(--fr-white); border: 1px solid #D3E1F2; border-radius: 999px; font-size: 14px; font-weight: 650; color: var(--fr-dark); box-shadow: 0 1px 2px rgba(3, 50, 88, .05); }
body .fr-page.fr-cat .fr-cat-facts li::before { content: ""; position: absolute; left: 15px; top: 50%; width: 11px; height: 6px; margin-top: -5px; border-left: 2px solid var(--fr-accent); border-bottom: 2px solid var(--fr-accent); transform: rotate(-45deg); }

/* ---- 左栏 ---- */
/* 左栏一整列显示，不做栏内滚动（Quinn 2026-11-04）。屏幕够高（≥ 860px）时吸顶；矮屏幕上整栏比屏幕高，吸顶会挡住底部按钮，所以不吸顶。
   吸顶时脚本让列表保持第 1 页高度（左栏不跳，下面留空白）；不吸顶时列表按实际高度，不留空白（Quinn 2026-11-04）。 */
body .fr-page.fr-cat .fr-cat-side { display: grid; gap: 16px; }
@media (min-width: 1001px) and (min-height: 860px) {
  body .fr-page.fr-cat .fr-cat-side { position: sticky; top: 110px; }
  body.admin-bar .fr-page.fr-cat .fr-cat-side { top: 142px; }
}
body .fr-page.fr-cat .fr-cat-box { padding: 20px 20px 22px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); font-size: 15px; box-shadow: 0 1px 2px rgba(3, 50, 88, .04); }
body .fr-page.fr-cat .fr-cat-box-title { margin-bottom: 10px; font-size: 16px; font-weight: 700; color: var(--fr-dark); }
/* 类目导航（Quinn 2026-11-04）：一级类目 <details>，当前页所在的展开、其余收起；二级全部列出，已上线的是链接，未上线的是同色文字；当前类目换色加竖线；三级只在当前分支下 */
body .fr-page.fr-cat .fr-cat-navbox { padding: 0; overflow: hidden; }
body .fr-page.fr-cat .fr-cat-nav-title { padding: 16px 20px; background: var(--fr-dark); font-size: 16px; font-weight: 700; color: var(--fr-white); }
body .fr-page.fr-cat .fr-cat-nav-g + .fr-cat-nav-g { border-top: 1px solid var(--fr-line); }
body .fr-page.fr-cat .fr-cat-nav-g summary { position: relative; padding: 15px 44px 15px 20px; font-size: 16px; font-weight: 700; line-height: 1.35; color: var(--fr-dark); cursor: pointer; list-style: none; transition: background .15s; }
body .fr-page.fr-cat .fr-cat-nav-g summary::-webkit-details-marker { display: none; }
body .fr-page.fr-cat .fr-cat-nav-g summary::after { content: ""; position: absolute; right: 22px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 2px solid var(--fr-muted); border-bottom: 2px solid var(--fr-muted); transform: rotate(45deg); transition: transform .2s; }
body .fr-page.fr-cat .fr-cat-nav-g[open] summary::after { margin-top: -2px; transform: rotate(-135deg); border-color: var(--fr-accent); }
body .fr-page.fr-cat .fr-cat-nav-g summary:hover { background: #F4F8FD; }
body .fr-page.fr-cat .fr-cat-nav-g.is-active summary { color: var(--fr-accent-dark); }
body .fr-page.fr-cat .fr-cat-nav-g .fr-cat-nav-l2 { margin: 0 20px 14px; }
body .fr-page.fr-cat .fr-cat-nav-l2 { padding-left: 12px; border-left: 2px solid var(--fr-line); }
body .fr-page.fr-cat .fr-cat-nav-i > a,
body .fr-page.fr-cat .fr-cat-nav-i > span { position: relative; display: block; padding: 6px 0 6px 10px; font-size: 15px; line-height: 1.4; }
body .fr-page.fr-cat .fr-cat-nav-i > a { color: var(--fr-text); }
body .fr-page.fr-cat .fr-cat-nav-i > span { color: var(--fr-text); } /* 页面未发布时只显示文字（不出死链），颜色与链接相同（Quinn 2026-11-04：不要灰色） */
body .fr-page.fr-cat .fr-cat-nav-i > a:hover { color: var(--fr-accent-dark); text-decoration: none; }
body .fr-page.fr-cat .fr-cat-nav-i.is-active > a { font-weight: 600; }
body .fr-page.fr-cat .fr-cat-nav-i.is-current > a { color: var(--fr-accent-dark); font-weight: 700; }
body .fr-page.fr-cat .fr-cat-nav-i.is-current > a::before { content: ""; position: absolute; left: -14px; top: 6px; bottom: 6px; width: 2px; background: var(--fr-accent); }
body .fr-page.fr-cat .fr-cat-nav-l3 { margin: 0 0 4px 10px; }
body .fr-page.fr-cat .fr-cat-nav-l3 .fr-cat-nav-i > a,
body .fr-page.fr-cat .fr-cat-nav-l3 .fr-cat-nav-i > span { padding: 4px 0 4px 12px; font-size: 14px; }
body .fr-page.fr-cat .fr-cat-nav-l3 .fr-cat-nav-i.is-current > a::before { left: -24px; }
body .fr-page.fr-cat .fr-cat-trust { margin-top: 0; gap: 8px; }
body .fr-page.fr-cat .fr-cat-trust li { font-size: 14px; }
body .fr-page.fr-cat .fr-cat-trustbox .fr-btn { width: 100%; margin-top: 18px; }

/* 筛选条（产品列表上方，一行）：每组"小标题 + 下拉框"，右边结果数 + Clear all */
body .fr-page.fr-cat .fr-cat-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 16px; padding: 12px 20px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); }
body .fr-page.fr-cat .fr-cat-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
body .fr-page.fr-cat .fr-cat-fg { display: flex; align-items: center; gap: 10px; }
body .fr-page.fr-cat .fr-cat-fg-label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; color: var(--fr-muted); }
body .fr-page.fr-cat .fr-cat-select { min-width: 160px; height: 40px; margin: 0; padding: 0 38px 0 14px; background: var(--fr-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23033258' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center; border: 1px solid var(--fr-border-strong); border-radius: var(--fr-radius); box-shadow: none; font: 600 15px/1.2 var(--fr-font); color: var(--fr-text); cursor: pointer; -webkit-appearance: none; appearance: none; }
body .fr-page.fr-cat .fr-cat-select:hover { border-color: var(--fr-dark); }
body .fr-page.fr-cat .fr-cat-select:focus { outline: none; border-color: var(--fr-accent); box-shadow: 0 0 0 3px var(--fr-accent-soft); }
body .fr-page.fr-cat .fr-cat-toolbar-end { display: flex; align-items: center; gap: 16px; margin-left: auto; }
body .fr-page.fr-cat .fr-cat-toolbar .fr-cat-count { margin: 0; white-space: nowrap; }
body .fr-page.fr-cat .fr-cat-reset { display: none; padding: 4px 0; background: none; border: 0; font: 600 14px/1.4 var(--fr-font); color: var(--fr-accent-dark); white-space: nowrap; cursor: pointer; }
body .fr-page.fr-cat .fr-cat-reset:hover { text-decoration: underline; }
body .fr-page.fr-cat .fr-cat-plist.is-filtered .fr-cat-reset { display: inline-block; }
body .fr-page.fr-cat .fr-cat-plist:not(.is-ready) .fr-cat-toolbar { display: none; } /* 脚本没运行时不显示筛选条，产品全部照常显示 */

/* 列表与横向卡片（左图；中间型号、名称、参数标签、要点；右侧 View Details） */
body .fr-page.fr-cat .fr-cat-count { margin-bottom: 14px; font-size: 14px; font-weight: 600; color: var(--fr-muted); }
body .fr-page.fr-cat .fr-cat-count::after { color: var(--fr-text); }
body .fr-page.fr-cat .fr-cat-list { display: grid; gap: 16px; align-content: start; } /* 保持高度时卡片不被拉高 */
body .fr-page.fr-cat .fr-cat-item { display: grid; grid-template-columns: 200px minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 20px 24px 20px 20px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); transition: border-color .15s, box-shadow .15s; }
body .fr-page.fr-cat .fr-cat-item:hover { border-color: var(--fr-border-strong); box-shadow: var(--fr-shadow); }
body .fr-page.fr-cat .fr-cat-item-img { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--fr-white); border: 1px solid var(--fr-line); border-radius: var(--fr-radius); }
body .fr-page.fr-cat .fr-cat-item-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
body .fr-page.fr-cat .fr-cat-item:hover .fr-cat-item-img img { transform: scale(1.03); }
body .fr-page.fr-cat .fr-cat-item-model { font: 600 13px/1.4 var(--fr-mono); letter-spacing: .02em; color: var(--fr-muted); }
body .fr-page.fr-cat h3.fr-cat-item-title { margin-top: 4px; font-size: 20px; line-height: 1.3; }
body .fr-page.fr-cat h3.fr-cat-item-title a { color: var(--fr-dark); }
body .fr-page.fr-cat h3.fr-cat-item-title a:hover { color: var(--fr-accent-dark); text-decoration: none; }
body .fr-page.fr-cat .fr-cat-item-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
body .fr-page.fr-cat .fr-cat-item-tags li { padding: 3px 10px; background: var(--fr-accent-soft); border-radius: 6px; font-size: 13px; font-weight: 600; line-height: 1.6; color: var(--fr-dark); }
body .fr-page.fr-cat .fr-cat-item-points { display: grid; gap: 6px; margin-top: 14px; }
body .fr-page.fr-cat .fr-cat-item-points li { position: relative; padding-left: 18px; font-size: 15px; line-height: 1.5; color: var(--fr-muted); }
body .fr-page.fr-cat .fr-cat-item-points li::before { content: ""; position: absolute; left: 2px; top: .6em; width: 6px; height: 6px; background: var(--fr-accent); border-radius: 50%; }
body .fr-page.fr-cat .fr-cat-item-cta .fr-btn { white-space: nowrap; }
body .fr-page.fr-cat .fr-cat-empty { display: none; padding: 36px 24px; text-align: center; background: var(--fr-white); border: 1px dashed var(--fr-border-strong); border-radius: var(--fr-radius-lg); color: var(--fr-muted); }
body .fr-page.fr-cat .fr-cat-reset-link { padding: 0; background: none; border: 0; font: inherit; font-weight: 650; color: var(--fr-accent-dark); text-decoration: underline; cursor: pointer; }
body .fr-page.fr-cat .fr-cat-plist.is-empty .fr-cat-empty { display: block; }
body .fr-page.fr-cat .fr-cat-item.is-off { display: none; }
/* 分页（每页 6 个，脚本生成；只有 1 页时不显示） */
body .fr-page.fr-cat .fr-cat-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 28px; }
body .fr-page.fr-cat .fr-cat-pager[hidden] { display: none; }
body .fr-page.fr-cat .fr-cat-pg { min-width: 42px; height: 42px; padding: 0 12px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius); font: 650 15px/1 var(--fr-font); color: var(--fr-text); cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
body .fr-page.fr-cat .fr-cat-pg:hover { border-color: var(--fr-dark); }
body .fr-page.fr-cat .fr-cat-pg[aria-current] { background: var(--fr-dark); border-color: var(--fr-dark); color: var(--fr-white); cursor: default; }
body .fr-page.fr-cat .fr-cat-pg:disabled { opacity: .4; cursor: default; }
body .fr-page.fr-cat .fr-cat-pg:disabled:hover { border-color: var(--fr-border); }
body .fr-page.fr-cat .fr-cat-pg:focus-visible { outline: 2px solid var(--fr-accent); outline-offset: 2px; }

/* ---- 选型表 ---- */
body .fr-page.fr-cat .fr-cat-table { width: 100%; min-width: 640px; border-collapse: separate; border-spacing: 0; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius-lg); overflow: hidden; font-size: 15px; }
body .fr-page.fr-cat .fr-cat-table th,
body .fr-page.fr-cat .fr-cat-table td { padding: 16px 20px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--fr-line); }
body .fr-page.fr-cat .fr-cat-table tbody tr:last-child th,
body .fr-page.fr-cat .fr-cat-table tbody tr:last-child td { border-bottom: 0; }
body .fr-page.fr-cat .fr-cat-table thead th { background: var(--fr-dark); color: var(--fr-white); font-size: 14px; font-weight: 650; }
body .fr-page.fr-cat .fr-cat-table tbody th { width: 160px; font-weight: 700; color: var(--fr-dark); }
body .fr-page.fr-cat .fr-cat-table .fr-cat-opt { width: 240px; font-weight: 600; color: var(--fr-text); }
body .fr-page.fr-cat .fr-cat-table td:last-child { color: var(--fr-muted); }

/* ---- 定制 ---- */
body .fr-page.fr-cat .fr-cat-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body .fr-page.fr-cat .fr-cat-opts li { padding: 20px 20px 22px; background: var(--fr-white); border: 1px solid var(--fr-border); border-radius: var(--fr-radius); }
body .fr-page.fr-cat .fr-cat-num { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 12px; background: var(--fr-accent-soft); border-radius: 8px; font-size: 14px; font-weight: 800; color: var(--fr-accent-dark); }
body .fr-page.fr-cat .fr-cat-opts strong { display: block; font-size: 16px; color: var(--fr-dark); }
body .fr-page.fr-cat .fr-cat-opts p { margin-top: 6px; font-size: 15px; color: var(--fr-muted); }

/* ---- 响应式 ---- */
@media (max-width: 1100px) {
  body .fr-page.fr-cat .fr-cat-item { grid-template-columns: 160px minmax(0, 1fr); }
  body .fr-page.fr-cat .fr-cat-item-cta { grid-column: 2; }
}
@media (max-width: 1000px) {
  /* 单列：面包屑 → 标题区 → 筛选条与产品 → 类目导航 → Why Fiberack */
  body .fr-page.fr-cat .fr-cat-body { display: flex; flex-direction: column; gap: 0; padding-top: 20px; }
  body .fr-page.fr-cat .fr-cat-side,
  body .fr-page.fr-cat .fr-cat-main { display: contents; }
  body .fr-page.fr-cat .fr-cat-main .fr-pd-crumb { order: 1; }
  body .fr-page.fr-cat .fr-cat-head { order: 2; }
  body .fr-page.fr-cat .fr-cat-plist { order: 3; }
  body .fr-page.fr-cat .fr-cat-navbox { order: 4; margin-top: 28px; }
  body .fr-page.fr-cat .fr-cat-trustbox { order: 5; margin-top: 16px; }
  body .fr-page.fr-cat .fr-cat-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  body .fr-page.fr-cat .fr-cat-head { margin-bottom: 24px; padding-bottom: 24px; }
  /* 筛选条：每组一行，结果数和 Clear all 放最后一行 */
  body .fr-page.fr-cat .fr-cat-toolbar { padding: 14px; }
  body .fr-page.fr-cat .fr-cat-filter { display: grid; width: 100%; gap: 10px; }
  body .fr-page.fr-cat .fr-cat-fg { display: grid; grid-template-columns: 110px minmax(0, 1fr); }
  body .fr-page.fr-cat .fr-cat-select { width: 100%; min-width: 0; }
  body .fr-page.fr-cat .fr-cat-toolbar-end { width: 100%; justify-content: space-between; margin-left: 0; padding-top: 12px; border-top: 1px solid var(--fr-line); }
  body .fr-page.fr-cat .fr-cat-intro { font-size: 16px; }
  /* 手机：图片只和型号、名称并排，参数标签、要点、按钮通栏 */
  body .fr-page.fr-cat .fr-cat-item { grid-template-columns: 88px minmax(0, 1fr); gap: 0 14px; align-items: start; padding: 16px; }
  body .fr-page.fr-cat .fr-cat-item-body { display: contents; }
  body .fr-page.fr-cat .fr-cat-item-img { grid-row: 1 / span 2; }
  body .fr-page.fr-cat .fr-cat-item-model { grid-column: 2; align-self: end; }
  body .fr-page.fr-cat h3.fr-cat-item-title { grid-column: 2; align-self: start; font-size: 17px; }
  body .fr-page.fr-cat .fr-cat-item-tags,
  body .fr-page.fr-cat .fr-cat-item-points { grid-column: 1 / -1; }
  body .fr-page.fr-cat .fr-cat-item-points li { font-size: 14px; }
  body .fr-page.fr-cat .fr-cat-item-cta { grid-column: 1 / -1; margin-top: 16px; }
  body .fr-page.fr-cat .fr-cat-item-cta .fr-btn { width: 100%; }
  body .fr-page.fr-cat .fr-cat-opts { grid-template-columns: minmax(0, 1fr); }
  body .fr-page.fr-cat .fr-cat-table th,
  body .fr-page.fr-cat .fr-cat-table td { padding: 12px 14px; }
}
/* ######## 分类页模板 结束 ######## */
