/* ============================================
   石立方 Stone Cube - 高端人造石英石品牌官网
   全局样式表
   ============================================ */

/* ---- CSS 变量 ---- */
:root {
  --color-primary: #1a1a1a;
  --color-white: #ffffff;
  --color-warm-gray: #f5f5f3;
  --color-medium-gray: #888888;
  --color-light-gray: #e5e5e5;
  --color-accent: #c9a96e;
  /* 中文优先用系统字体（避免依赖谷歌字体加载），最后兜底 sans-serif */
  --font-cn: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Heiti SC", "WenQuanYi Micro Hei", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  /* 英文/数字：Mac/iOS 用系统字体，Windows 用 Segoe UI，Android 用 Roboto，最后 sans-serif */
  --font-en: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Roboto, "Noto Sans", Arial, sans-serif;
  --max-width: 1400px;
  --content-padding: 60px;
  --transition: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --navbar-height: 80px;
}

/* ---- 重置与基础 ---- */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-cn);
  color: var(--color-primary);
  background: var(--color-white);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

ul {
  list-style: none;
}

/* ---- 通用容器 ---- */
.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--content-padding);
}

/* ---- 通用按钮 ---- */
.btn-primary {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 36px;
  background: var(--color-primary);
  color: var(--color-white);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.08em;
  border: 1px solid var(--color-primary);
  cursor: pointer;
  overflow: hidden;
  transition: background 0.35s ease, color 0.35s ease,
              border-color 0.35s ease, transform 0.35s ease,
              box-shadow 0.35s ease, gap 0.35s ease;
}

.btn-primary:hover {
  background: #2a2520;
  border-color: #2a2520;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  gap: 14px;
}

/* 箭头效果仅作用于产品详情页的操作按钮，其他页的 .btn-primary 不受干扰 */
.product-detail-actions .btn-primary::after {
  content: '→';
  font-size: 15px;
  opacity: 0;
  max-width: 0;
  overflow: hidden;
  transition: opacity 0.35s ease, transform 0.35s ease, max-width 0.35s ease;
}

.product-detail-actions .btn-primary:hover::after {
  opacity: 1;
  max-width: 20px;
  transform: translateX(4px);
}

/* 次要按钮：透明 + 主色边框，hover 反色填充 */
.btn-primary[style*="background:transparent"],
.btn-primary.is-outline {
  background: transparent;
  color: var(--color-primary);
}

.btn-primary[style*="background:transparent"]:hover,
.btn-primary.is-outline:hover {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

/* ---- Section 通用 ---- */
.section-tag {
  font-family: var(--font-en);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.15em;
  color: var(--color-medium-gray);
  margin-bottom: 16px;
  text-transform: uppercase;
}

.section-title {
  font-size: 36px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin-bottom: 16px;
}

.section-subtitle {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-medium-gray);
  line-height: 1.7;
  max-width: 700px;
}

.section-subtitle.centered {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.section-header {
  text-align: center;
  margin-bottom: 60px;
}

.section-header .section-title {
  font-size: 42px;
}

.title-underline {
  width: 60px;
  height: 2px;
  background: var(--color-accent);
  margin: 20px auto 0;
}

/* ============================================
   导航栏
   ============================================ */
#navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--navbar-height);
  z-index: 1000;
  transition: background 0.4s ease, color 0.4s ease, box-shadow 0.4s ease;
  color: var(--color-white);
}

#navbar.scrolled {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--color-primary);
  box-shadow: 0 1px 0 var(--color-light-gray);
}

.nav-container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--content-padding);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logo */
.nav-logo {
  display: flex;
  align-items: center;
  position: relative;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.3));
}

.nav-logo img {
  height: 40px;
  width: auto;
  transition: opacity 0.4s ease;
}

.logo-light {
  position: absolute;
  top: 0;
  left: 0;
}

.logo-dark {
  opacity: 0;
}

#navbar.scrolled .logo-light {
  opacity: 0;
}

#navbar.scrolled .logo-dark {
  opacity: 1;
}

#navbar.scrolled .nav-logo {
  filter: none;
}

/* 导航链接 */
.nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

#navbar.scrolled .nav-links {
  text-shadow: none;
}

.nav-link {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.08em;
  position: relative;
  padding: 4px 0;
  transition: opacity 0.3s;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: currentColor;
  transition: width 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

/* 产品中心 toggle 复用 .nav-link，下划线不属于它。
   桌面端：隐藏箭头并使用下划线表达 active；移动端：改为箭头。
   桌面端：只使用一个下划线表达 active 状态。使用另一个伪元素（.nav-dropdown-toggle.active::before）
   避免被 .nav-link::after 覆盖问题 */
.nav-dropdown-toggle {
  position: relative;
}
/* toggle 下划线：默认 width:0 常驻，hover/active 时从左到右延伸（与 .nav-link::after 动画一致） */
.nav-dropdown-toggle::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}
.nav-dropdown-toggle.active::before,
.nav-dropdown-toggle:hover::before {
  width: 100%;
}
.nav-dropdown-toggle::after {
  content: '›';
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
  display: inline-block;
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  width: 16px !important;
  height: 16px !important;
  margin-left: 6px;
  background: transparent !important;
  border: none !important;
  box-sizing: border-box;
  vertical-align: middle;
  text-align: center;
  transition: transform 0.3s ease, color 0.3s ease;
  color: currentColor;
}
.nav-dropdown.open .nav-dropdown-toggle::after {
  content: '›';
  transform: rotate(90deg);
}
@media (min-width: 769px) {
  .nav-dropdown-toggle::after {
    display: none !important;
  }
}
.nav-dropdown-toggle:hover::after,
.nav-dropdown-toggle.active::after {
  /* 被 .nav-link::after 规则影响的 hover 下划线 — 移除 */
  width: 16px !important;
}

/* ============================================
   导航下拉二级菜单（产品中心）
   - 桌面端：hover 触发
   - 移动端：.open 类切换（JS 控制）
============================================ */
.nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

/* 桌面端下拉：紧贴 toggle 下沿（无 gap，menu::before 8px 透明桥梁保证 hover 不断） */
.nav-dropdown {
  position: relative;
}
.nav-dropdown > .nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  min-width: 180px;
  background: #ffffff;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12), 0 2px 6px rgba(0,0,0,0.06);
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  z-index: 100;
}
/* menu::before 透明桥梁 12px，避免 transition 期间 hover 断开 */
.nav-dropdown > .nav-dropdown-menu::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 14px;
  background: transparent;
}

.nav-dropdown-link {
  display: block;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}

.nav-dropdown-link:hover {
  background: #f5f5f5;
  color: #b8956a;
}

/* 桌面端 hover 触发 + 隐藏 toggle 箭头 */
@media (min-width: 769px) {
  .nav-dropdown:hover > .nav-dropdown-menu,
  .nav-dropdown:focus-within > .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }
  /* 桌面端 toggle 默认隐藏箭头与下划线 */
  .nav-dropdown-toggle::after {
    display: none;
  }
}

/* 产品中心项下加一个小三角指示 */
.nav-dropdown > .nav-link::after {
  /* 复用现有下划线动画，不加箭头 */
}

/* scrolled 状态下拉菜单 */
#navbar.scrolled .nav-dropdown-menu {
  box-shadow: 0 8px 24px rgba(0,0,0,0.18), 0 2px 6px rgba(0,0,0,0.08);
}

/* 右侧区域 */
.nav-right {
  display: flex;
  align-items: center;
  gap: 24px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

#navbar.scrolled .nav-right {
  text-shadow: none;
}

.lang-switch {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 400;
}

.lang {
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.3s;
}

.lang.active {
  opacity: 1;
  font-weight: 500;
}

.lang-sep {
  opacity: 0.4;
}

.nav-phone {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 400;
  transition: opacity 0.3s;
}

.nav-phone:hover {
  opacity: 0.8;
}

/* 汉堡菜单 */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  z-index: 1001;
}

.menu-toggle span {
  display: block;
  width: 24px;
  height: 1.5px;
  background: currentColor;
  transition: transform 0.3s, opacity 0.3s;
}

/* ============================================
   Hero Banner
   ============================================ */
#hero {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background: url('../assets/banner-poster.jpg') center/cover no-repeat;
  background-color: #1a1a1a;
}

.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 40%, rgba(0,0,0,0.15) 70%, rgba(0,0,0,0.35) 100%);
  z-index: 2;
}

.hero-content {
  position: relative;
  z-index: 3;
  padding: 0 var(--content-padding) 140px;
  max-width: var(--max-width);
  margin: 0 auto;
  width: 100%;
  color: var(--color-white);
  text-shadow: 0 2px 20px rgba(0,0,0,0.4), 0 1px 4px rgba(0,0,0,0.3);
}

.hero-tag {
  font-family: var(--font-en);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
  opacity: 0.8;
}

.hero-title {
  font-size: 56px;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-bottom: 24px;
}

.hero-subtitle {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;
  max-width: 600px;
  margin-bottom: 40px;
  opacity: 0.9;
}

.hero-cta {
  display: inline-block;
  padding: 14px 40px;
  border: 1px solid var(--color-white);
  color: var(--color-white);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.08em;
  transition: background 0.3s, color 0.3s;
}

.hero-cta:hover {
  background: var(--color-white);
  color: var(--color-primary);
}

/* 滚动提示 */
.hero-scroll {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}

.scroll-line {
  width: 1px;
  height: 40px;
  background: rgba(255,255,255,0.4);
  position: relative;
  overflow: hidden;
}

.scroll-line::after {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-white);
  animation: scrollDown 2s infinite;
}

@keyframes scrollDown {
  0% { top: -100%; }
  50% { top: 0; }
  100% { top: 100%; }
}

/* ============================================
   品牌理念
   ============================================ */
#philosophy {
  background: var(--color-white);
  padding: 80px 0;
}

.philosophy-header {
  text-align: center;
  margin-bottom: 60px;
}

.philosophy-grid {
  display: flex;
  gap: 80px;
  align-items: stretch;
}

.philosophy-content {
  flex: 1.1;
  min-width: 0;
}

.philosophy-desc {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-primary);
  line-height: 1.8;
  margin-bottom: 48px;
}

/* pbootcms [content:content] 会自带 <p> 包裹，复写内层样式保证视觉一致 */
.philosophy-desc p {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  margin: 0;
}

/* 优势列表 */
.advantages {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 62px;
  margin-bottom: 40px;
}

.advantage-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.advantage-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border: 1px solid var(--color-light-gray);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
}

.advantage-text h4 {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 6px;
}

.advantage-text p {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-medium-gray);
  line-height: 1.6;
}

.philosophy-btn {
  margin-top: 10px;
}

/* 图片 */
.philosophy-image {
  flex: 0.9;
  min-width: 0;
  overflow: hidden;
  height: 600px;
}

.philosophy-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--transition);
  display: block;
}

.philosophy-image:hover img {
  transform: scale(1.03);
}

/* ============================================
   产品中心
   ============================================ */
#products {
  background: var(--color-warm-gray);
  padding: 80px 0;
}

/* 交替大图+白色半透明信息卡 */
.collection-alternate {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.collection-row {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 60px;
}

.collection-row:last-child {
  margin-bottom: 0;
}

.collection-row-reverse {
  flex-direction: row-reverse;
}

.collection-row-img {
  flex: 0 0 58%;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.collection-row-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--transition);
  display: block;
}

.collection-row:hover .collection-row-img img {
  transform: scale(1.03);
}

.collection-row-card {
  flex: 0 0 42%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  position: relative;
}

.collection-card-inner {
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  padding: 48px;
  max-width: 420px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.08);
}

.collection-row:nth-child(odd) .collection-card-inner {
  margin-left: -80px;
}

.collection-row:nth-child(even) .collection-card-inner {
  margin-right: -80px;
}

.collection-card-inner h3 {
  font-size: 28px;
  font-weight: 400;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.collection-card-inner p {
  font-size: 15px;
  font-weight: 400;
  color: var(--color-medium-gray);
  line-height: 1.7;
  margin-bottom: 24px;
}

.collection-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
  padding-bottom: 4px;
  transition: gap 0.3s;
}

.collection-link:hover {
  gap: 12px;
}

/* Cosentino风格：产品网格 */
.product-grid-section {
  background: var(--color-white);
  padding: 60px;
  margin-top: 60px;
}

.product-grid-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}

.product-grid-header h3 {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.view-all-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: var(--color-medium-gray);
  transition: gap 0.3s, color 0.3s;
}

.view-all-link:hover {
  gap: 12px;
  color: var(--color-primary);
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.product-grid-item {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  transition: transform 0.4s var(--transition);
}

.product-grid-item:hover {
  transform: translateY(-6px);
}

.product-grid-item:hover .product-grid-img img {
  transform: scale(1.06);
}

.product-grid-item:hover .product-grid-name {
  color: var(--color-accent);
}

.product-grid-img {
  overflow: hidden;
  margin-bottom: 18px;
  /* 按图片自身比例显示：移除固定 aspect-ratio，图片 width:100% height:auto 撑开容器 */
  background: var(--color-warm-gray);
  border-radius: 2px;
}

.product-grid-img img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s var(--transition);
  transform-origin: center center;
}

.product-grid-name {
  font-size: 16px;
  font-weight: 500;
  display: block;
  margin-bottom: 4px;
  letter-spacing: 0.02em;
  transition: color 0.3s, transform 0.4s var(--transition);
  transform: translateY(0);
}

.product-grid-item:hover .product-grid-name {
  transform: translateY(2px);
}

.product-grid-series {
  font-size: 13px;
  font-weight: 400;
  color: var(--color-medium-gray);
  letter-spacing: 0.05em;
}

/* ============================================
   新闻资讯
   ============================================ */
#news {
  background: var(--color-warm-gray);
  padding: 80px 0;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
}

.news-card {
  background: var(--color-white);
  overflow: hidden;
  transition: transform 0.4s var(--transition), box-shadow 0.4s var(--transition);
}

.news-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.1);
}

.news-img {
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.news-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--transition);
}

.news-card:hover .news-img img {
  transform: scale(1.05);
}

.news-info {
  padding: 28px;
}

.news-date {
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 400;
  color: var(--color-accent);
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 10px;
}

.news-info h4 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-info p {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-medium-gray);
  line-height: 1.6;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-link {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
  padding-bottom: 2px;
  transition: color 0.3s, border-color 0.3s;
}

.news-link:hover {
  color: var(--color-accent);
  border-color: var(--color-accent);
}

/* ============================================
   案例展示
   ============================================ */
#cases {
  background: var(--color-white);
  padding: 80px 0;
  color: var(--color-primary);
}

/* 案例分类标签 */
.case-tabs {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.case-tab {
  padding: 10px 24px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  border: 1px solid var(--color-light-gray);
  color: var(--color-medium-gray);
  background: var(--color-white);
  transition: all 0.3s;
}

.case-tab:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.case-tab.active {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

/* 案例网格 */
.case-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.case-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: block;
}

.case-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.case-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--transition);
}

.case-card:hover .case-image img {
  transform: scale(1.05);
}

.case-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 40px 24px 24px;
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
  transition: padding 0.4s;
}

.case-card:hover .case-overlay {
  padding-bottom: 32px;
}

.case-tag {
  display: inline-block;
  padding: 4px 12px;
  background: var(--color-accent);
  color: var(--color-white);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.case-name {
  font-size: 18px;
  font-weight: 400;
  color: var(--color-white);
}

/* 查看更多 */
.case-more {
  text-align: center;
  margin-top: 48px;
}

/* ============================================
   CTA 区域
   ============================================ */
#cta {
  background: var(--color-white);
  padding: 60px 0;
  box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}

.cta-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.cta-title {
  font-size: 36px;
  font-weight: 400;
  letter-spacing: -0.01em;
  margin-bottom: 16px;
}

.cta-subtitle {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-medium-gray);
  margin-bottom: 40px;
}

.cta-btn {
  display: inline-block;
  padding: 16px 48px;
  background: var(--color-primary);
  color: var(--color-white);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.08em;
  transition: background 0.3s, transform 0.3s;
  margin-bottom: 40px;
}

.cta-btn:hover {
  background: #333;
  transform: translateY(-2px);
}

.cta-contact {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

.cta-contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--color-medium-gray);
}

/* ============================================
   页脚
   ============================================ */
#footer {
  background: var(--color-primary);
  color: var(--color-white);
  padding: 80px 0 40px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1.5fr;
  gap: 48px;
  margin-bottom: 60px;
}

/* 品牌区 */
.footer-brand {
  min-width: 0;
}

.footer-logo {
  height: 36px;
  width: auto;
  margin-bottom: 20px;
}

.footer-slogan {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
  color: var(--color-accent);
}

.footer-desc {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
  margin-bottom: 24px;
}

.footer-qrcodes {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.qrcode-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.qrcode-group-label {
  font-size: 12px;
  font-weight: 400;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.1em;
}

.qrcode-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.qrcode-box {
  text-align: center;
}

.qrcode-placeholder {
  width: 120px;
  height: 120px;
  border: 1px solid rgba(255,255,255,0.18);
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  overflow: hidden;
}

.qrcode-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.qrcode-box span {
  font-size: 12px;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.05em;
}

/* 文字按钮型（小红书 / 视频号） */
.qrcode-row-text {
  gap: 10px;
}

.qrcode-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 4px;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.7);
  background: transparent;
  transition: border-color 0.3s, color 0.3s, background 0.3s;
}

.qrcode-text-link svg {
  flex-shrink: 0;
  color: var(--color-accent);
}

.qrcode-text-link:hover {
  border-color: var(--color-accent);
  color: var(--color-white);
  background: rgba(201, 169, 110, 0.08);
}

/* 底部留言板 */
.footer-message {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-message-tip {
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  margin: 0 0 12px;
  line-height: 1.5;
}

.footer-message-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-message-form input,
.footer-message-form textarea {
  width: 100%;
  padding: 9px 12px;
  font-size: 12px;
  font-family: var(--font-cn);
  color: var(--color-white);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 2px;
  outline: none;
  transition: border-color 0.25s, background 0.25s;
  box-sizing: border-box;
}

.footer-message-form textarea {
  resize: vertical;
  min-height: 56px;
  line-height: 1.5;
}

.footer-message-form input::placeholder,
.footer-message-form textarea::placeholder {
  color: rgba(255,255,255,0.4);
}

.footer-message-form input:focus,
.footer-message-form textarea:focus {
  border-color: var(--color-accent);
  background: rgba(201, 169, 110, 0.05);
}

.footer-message-btn {
  margin-top: 4px;
  padding: 10px 16px;
  font-size: 13px;
  font-family: var(--font-cn);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  background: var(--color-accent);
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.25s, transform 0.25s;
}

.footer-message-btn:hover {
  background: #d4b87a;
  transform: translateY(-1px);
}

.footer-message-btn:active {
  transform: translateY(0);
}

/* 导航链接 */
.footer-nav h4,
.footer-products h4,
.footer-contact h4 {
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 24px;
  letter-spacing: 0.05em;
}

.footer-nav ul li,
.footer-products ul li {
  margin-bottom: 12px;
}

.footer-nav ul li a,
.footer-products ul li a {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255,255,255,0.6);
  transition: color 0.3s;
}

.footer-nav ul li a:hover,
.footer-products ul li a:hover {
  color: var(--color-white);
}

/* 联系方式 */
.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
  font-size: 14px;
  font-weight: 400;
  color: rgba(255,255,255,0.6);
  line-height: 1.5;
}

.contact-item svg {
  flex-shrink: 0;
  margin-top: 2px;
}

/* 底部版权 */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-copyright p {
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.4);
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-links a {
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.4);
  transition: color 0.3s;
}

.footer-links a:hover {
  color: rgba(255,255,255,0.8);
}

.footer-sep {
  color: rgba(255,255,255,0.2);
}

/* ============================================
   内页通用 Banner
   ============================================ */
.page-banner {
  position: relative;
  width: 100%;
  height: 50vh;
  min-height: 360px;
  background: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.page-banner-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.4;
}

.page-banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0.3));
}

.page-banner-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--color-white);
}

.page-banner-content .section-tag {
  color: rgba(255,255,255,0.6);
  margin-bottom: 12px;
}

.page-banner-content h1 {
  font-size: 48px;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
}

.page-banner-content p {
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,0.8);
  max-width: 600px;
  margin: 0 auto;
}

/* ============================================
   关于我们页面
   ============================================ */
.about-section {
  padding: 100px 0;
  background: var(--color-white);
}

.about-grid {
  display: flex;
  gap: 80px;
  align-items: center;
}

.about-grid.reverse {
  flex-direction: row-reverse;
}

.about-image {
  flex: 1;
  overflow: hidden;
}

.about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-text {
  flex: 1;
}

.about-text h3 {
  font-size: 28px;
  font-weight: 400;
  margin-bottom: 20px;
}

.about-text p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-medium-gray);
  margin-bottom: 16px;
}

/* 数据统计 */
.stats-bar {
  background: var(--color-primary);
  padding: 60px 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  text-align: center;
}

.stat-item {
  color: var(--color-white);
}

.stat-number {
  font-family: var(--font-en);
  font-size: 48px;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
  color: var(--color-accent);
}

.stat-label {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.05em;
}

/* ============================================
   产品中心页面
   ============================================ */
.products-page {
  padding: 80px 0;
}

.products-filter {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.filter-btn {
  padding: 10px 24px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  border: 1px solid var(--color-light-gray);
  color: var(--color-medium-gray);
  background: var(--color-white);
  transition: all 0.3s;
}

.filter-btn:hover,
.filter-btn.active {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

.products-grid-page {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  align-items: start;
}

.product-card-page {
  background: var(--color-white);
  cursor: pointer;
  transition: transform 0.3s var(--transition), box-shadow 0.3s;
}

.product-card-page:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.1);
}

.product-card-page:hover .product-card-name {
  color: var(--color-accent);
}

.product-card-img {
  overflow: hidden;
  background: #f5f5f5;
}

.product-card-img img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.5s var(--transition);
}

.product-card-page:hover .product-card-img img {
  transform: scale(1.05);
}

.product-card-info {
  padding: 20px;
}

.product-card-name {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 6px;
  transition: color 0.3s;
}

.product-card-series {
  font-size: 13px;
  font-weight: 400;
  color: var(--color-medium-gray);
}

/* ============================================
   案例展示页面
   ============================================ */
.cases-page {
  padding: 80px 0;
}

.cases-grid-page {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.case-card-page {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.case-card-page .case-image {
  aspect-ratio: 4 / 3;
}

/* ============================================
   联系我们页面
   ============================================ */
.contact-page {
  padding: 100px 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.contact-info-block h3 {
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 24px;
}

.contact-info-item {
  display: flex;
  gap: 16px;
  margin-bottom: 28px;
}

.contact-info-item .icon {
  width: 48px;
  height: 48px;
  background: var(--color-warm-gray);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.contact-info-item h4 {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 6px;
}

.contact-info-item p {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-medium-gray);
  line-height: 1.6;
}

/* 联系表单 */
.contact-form {
  background: var(--color-warm-gray);
  padding: 48px;
}

.contact-form h3 {
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 24px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 8px;
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--color-light-gray);
  font-family: inherit;
  font-size: 14px;
  background: var(--color-white);
  transition: border-color 0.3s;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: var(--color-primary);
}

.form-group textarea {
  min-height: 120px;
  resize: vertical;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* ============================================
   响应式设计
   ============================================ */

/* Tablet */
@media (max-width: 1200px) {
  :root {
    --content-padding: 40px;
  }

  .qrcode-placeholder {
    width: 100px;
    height: 100px;
  }

  .collection-row,
  .collection-row-reverse {
    flex-direction: column;
    margin-bottom: 40px;
  }

  .collection-row:last-child {
    margin-bottom: 0;
  }

  .collection-row-img {
    flex: none;
    width: 100%;
    aspect-ratio: 16 / 9;
  }

  .collection-row-card {
    flex: none;
    width: 100%;
    padding: 0 20px;
    margin-top: -50px;
    margin-bottom: 0;
  }

  .collection-card-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
  }

  .news-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .product-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .case-grid {
    grid-template-columns: repeat(2, 1fr);
  }

/* === 平板：产品网格改 2 列 === */
@media (max-width: 900px) {
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

  .philosophy-grid {
    flex-direction: column;
    gap: 48px;
  }

  .philosophy-image {
    order: -1;
    height: 400px;
    flex: none;
  }

  .footer-grid {
    grid-template-columns: 1.5fr 1fr 1.5fr;
    gap: 32px;
  }

  .footer-qrcodes {
    flex-wrap: wrap;
  }

  .about-grid,
  .about-grid.reverse {
    flex-direction: column;
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .products-grid-page {
    grid-template-columns: repeat(4, 1fr);
  }

  .cases-grid-page {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .product-grid-section {
    padding: 40px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  :root {
    --content-padding: 20px;
    --navbar-height: 64px;
  }

  .section-title {
    font-size: 28px !important;
  }

  .section-header .section-title {
    font-size: 32px !important;
  }

  /* 移动端导航 */
  .nav-container {
    padding: 0 20px;
  }

  .nav-logo img {
    height: 36px;
  }

  .menu-toggle {
    display: flex !important;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.95);
    border-radius: 10px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    position: relative;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15);
  }

  .menu-toggle span {
    width: 20px;
    height: 2.5px;
    background: #1a1a1a;
    border-radius: 1px;
  }

  .nav-links {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: #ffffff;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    padding-top: 100px;
    padding-bottom: 40px;
    transform: translateX(100%);
    transition: transform 0.35s ease;
    color: #1a1a1a;
    text-shadow: none;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .nav-links.active {
    transform: translateX(0);
  }

  .nav-link {
    font-size: 20px;
    font-weight: 400;
    padding: 16px 0;
    width: 100%;
    text-align: center;
    color: #1a1a1a;
  }

  /* 移动端导航下拉 */
  .nav-dropdown {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  /* 移动端子菜单：默认隐藏，点展开后变 flex 块（用与桌面端同特异性覆盖 absolute） */
  .nav-dropdown > .nav-dropdown-menu {
    position: static;
    left: auto;
    top: auto;
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0;
    width: 100%;
    margin: 0;
    display: none;
    flex-direction: column;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nav-dropdown.open > .nav-dropdown-menu {
    display: flex;
  }

  /* 移动端 toggle：复原为与 .nav-link 一致的 100% 居中链接 */
  .nav-dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    cursor: pointer;
    width: 100%;
    text-align: center;
  }

  /* ::after 箭头定义在全局 .nav-dropdown-toggle::after ，
     此处仅移动端微调 transform 适配 居中 */
  .nav-dropdown.open .nav-dropdown-toggle::after {
    transform: rotate(90deg);
  }

  .nav-dropdown-link {
    text-align: center;
    font-size: 15px;
    color: #666 !important;
    padding: 8px 0 !important;
    background: transparent !important;
    width: 100%;
  }

  .nav-dropdown-link:hover {
    color: #b8956a !important;
    background: transparent !important;
  }

  /* 覆盖桌面端定义的 nav-dropdown::after 桥梁（移动端不需要） */
  .nav-dropdown::after {
    display: none;
  }

  .menu-toggle {
    display: flex;
  }

  .nav-right {
    display: none;
  }

  /* Hero */
  .hero-title {
    font-size: 36px;
  }

  .hero-subtitle {
    font-size: 16px;
  }

  .hero-content {
    padding-bottom: 100px;
    text-align: center;
  }

  /* 品牌理念 */
  #philosophy {
    padding: 60px 0;
  }

  .advantages {
    grid-template-columns: 1fr;
  }

  /* 产品中心 */
  #products {
    padding: 60px 0;
  }

  .collection-row-card {
    padding: 0 20px;
    margin-top: -40px;
  }

  .collection-card-inner {
    padding: 30px;
  }

  .collection-card-inner h3 {
    font-size: 22px;
  }

  .news-grid {
    grid-template-columns: 1fr;
  }

  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .product-grid-section {
    padding: 24px;
  }

  .product-grid-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  /* 案例展示 */
  #cases {
    padding: 60px 0;
  }

  .case-grid {
    grid-template-columns: 1fr;
  }

  /* CTA */
  .cta-title {
    font-size: 28px;
  }

  .cta-contact {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  /* 页脚 */
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  /* 内页 */
  .page-banner {
    height: 30vh;
    min-height: 200px;
  }

  .page-banner-content h1 {
    font-size: 32px;
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .stat-number {
    font-size: 36px;
  }

  .products-grid-page,
  .cases-grid-page {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .contact-form {
    padding: 30px;
  }

  .form-row {
    grid-template-columns: 1fr;
  }
}

/* 小屏手机 */
@media (max-width: 480px) {
  .hero-title {
    font-size: 30px;
  }

  .product-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .case-tabs {
    gap: 8px;
  }

  .case-tab {
    padding: 8px 16px;
    font-size: 13px;
  }

  .products-grid-page,
  .cases-grid-page {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ============================================
   分页
   ============================================ */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 48px;
}

/* 页码数字（pbootcms {page:numbar} 渲染） */
.page-num {
  min-width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 400;
  border: 1px solid var(--color-light-gray);
  background: var(--color-white);
  color: var(--color-primary);
  transition: all 0.3s;
  padding: 0 12px;
}

.page-num:hover {
  border-color: var(--color-primary);
}

.page-num-current {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

.page-btn {
  min-width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 400;
  border: 1px solid var(--color-light-gray);
  background: var(--color-white);
  color: var(--color-primary);
  transition: all 0.3s;
  padding: 0 12px;
}

.page-btn:hover {
  border-color: var(--color-primary);
}

.page-btn.active {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

.page-btn.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* ============================================
   Lightbox 大图弹窗
   ============================================ */
/* 旧 lightbox CSS 已删除,统一使用新版 product-detail.html 的全屏灯箱 */

/* ============================================
   关注我们
   ============================================ */
.follow-us {
  background: var(--color-warm-gray);
  padding: 60px 48px;
  text-align: center;
}

.follow-us h3 {
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 32px;
}

.follow-qrcodes {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.follow-qrcodes .qrcode-box {
  text-align: center;
}

.follow-qrcodes .qrcode-placeholder {
  width: 100px;
  height: 100px;
  border: 1px solid var(--color-light-gray);
  background: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-medium-gray);
  margin-bottom: 10px;
}

.follow-qrcodes .qrcode-box span {
  font-size: 13px;
  color: var(--color-medium-gray);
}

/* ============================================
   产品详情页
   ============================================ */
.product-detail {
  padding: 80px 0;
}

.product-detail-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 16px 48px;
  align-items: start;
}

.product-detail-img {
  background: #f5f5f5;
  padding: 16px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: stretch;
}

.product-detail-main {
  width: 100%;
  overflow: hidden;
  background: #f5f5f5;
  position: relative;
  cursor: zoom-in;
}

.product-detail-main img {
  width: 100%;
  height: auto;
  display: block;
}

.zoom-hint {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  background: rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.85;
  transition: opacity 0.2s ease, transform 0.2s ease;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.product-detail-main:hover .zoom-hint {
  opacity: 1;
  transform: scale(1.05);
}


.product-detail-thumbs {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-wrap: wrap;
}

.product-thumb {
  flex: 0 0 auto;
  width: 160px;
  aspect-ratio: 2 / 1;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 6px;
  background: #f5f5f5;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.2s var(--transition), transform 0.2s var(--transition), box-shadow 0.2s var(--transition);
  outline: none;
}

.product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.product-thumb:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.product-thumb.active {
  border-color: var(--color-accent);
  box-shadow: 0 4px 12px rgba(201, 169, 110, 0.25);
}

/* ---- Lightbox 点击放大查看 ---- */
.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 60px;
}

.lightbox.is-open {
  display: flex;
  animation: lightboxFadeIn 0.2s ease;
}

@keyframes lightboxFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.lightbox-content {
  max-width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox-content img {
  max-width: 100%;
  max-height: calc(100vh - 120px);
  object-fit: contain;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

.lightbox-close,
.lightbox-prev,
.lightbox-next {
  position: absolute;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  color: #ffffff;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s var(--transition), transform 0.2s var(--transition);
  z-index: 1;
  font-family: inherit;
  font-size: inherit;
  line-height: 1;
  padding: 0;
}

.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover {
  background: rgba(201, 169, 110, 0.85);
  border-color: var(--color-accent);
}

.lightbox-close:active,
.lightbox-prev:active,
.lightbox-next:active {
  transform: scale(0.92);
}

.lightbox-close {
  top: 24px;
  right: 24px;
}

.lightbox-prev {
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
}

.lightbox-next {
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}

.lightbox-prev:hover { transform: translateY(-50%) scale(1.05); }
.lightbox-next:hover { transform: translateY(-50%) scale(1.05); }

.lightbox-counter {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,0.7);
  font-size: 14px;
  font-family: var(--font-en);
  letter-spacing: 0.1em;
  user-select: none;
}

@media (max-width: 768px) {
  .lightbox { padding: 24px; }
  .lightbox-close,
  .lightbox-prev,
  .lightbox-next {
    width: 40px;
    height: 40px;
  }
  .lightbox-close { top: 12px; right: 12px; }
  .lightbox-prev  { left: 8px; }
  .lightbox-next  { right: 8px; }
}

.product-detail-head {
  margin-bottom: 0;
  grid-column: 1 / -1;
}

.product-detail-head .section-tag {
  margin-bottom: 12px;
  display: inline-block;
}

.product-detail-head h1 {
  font-size: 32px;
  font-weight: 400;
  margin-bottom: 8px;
  line-height: 1.2;
}

.product-detail-series {
  font-size: 14px;
  color: var(--color-medium-gray);
  margin-bottom: 24px;
  display: block;
}

.product-detail-desc {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-medium-gray);
  margin-bottom: 32px;
}

.product-specs {
  padding-top: 0;
  margin-top: 0;
  padding-bottom: 24px;
}

.product-specs h4 {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-light-gray);
}

.spec-row {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-light-gray);
  font-size: 14px;
}

.spec-row span:first-child {
  color: var(--color-medium-gray);
}

.spec-row span:last-child {
  font-weight: 400;
}

.product-detail-actions {
  margin-top: 32px;
  display: flex;
  gap: 16px;
}

/* 相关产品 */
.product-detail-content-wrap {
  background: #ffffff;
  padding: 80px 0;
  border-top: 1px solid var(--color-border, #eee);
}

.product-detail-content-wrap.is-empty {
  display: none;
}

.product-detail-content > :first-child {
  margin-top: 0;
}

.product-detail-content {
  font-size: 16px;
  line-height: 1.85;
  color: #3a3a3a;
}



/* ---- 段落 ---- */
.product-detail-content p {
  margin: 0 0 20px;
  color: #3a3a3a;
}

/* ---- 标题 ---- */
.product-detail-content h2 {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--color-primary, #b8956a);
  color: #1a1a1a;
}

.product-detail-content h3 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  margin: 40px 0 16px;
  color: #1a1a1a;
  position: relative;
  padding-left: 14px;
}

.product-detail-content h3::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background: var(--color-primary, #b8956a);
  border-radius: 2px;
}

/* ---- 列表 ---- */
.product-detail-content ul,
.product-detail-content ol {
  margin: 0 0 24px;
  padding-left: 0;
  list-style: none;
}

.product-detail-content ul li,
.product-detail-content ol li {
  position: relative;
  padding: 8px 0 8px 28px;
  line-height: 1.7;
  color: #3a3a3a;
}

.product-detail-content ul li::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 18px;
  width: 6px;
  height: 6px;
  background: var(--color-primary, #b8956a);
  border-radius: 50%;
}

.product-detail-content ol {
  counter-reset: ol-counter;
}

.product-detail-content ol li {
  counter-increment: ol-counter;
}

.product-detail-content ol li::before {
  content: counter(ol-counter);
  position: absolute;
  left: 0;
  top: 8px;
  width: 22px;
  height: 22px;
  background: var(--color-primary, #b8956a);
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* ---- 图片 ---- */
/* 图片最大不超过容器宽度，且不会强行放大原图
   - max-width: 100%：当图片宽于容器时，等比缩小到容器宽
   - width: auto + height: auto：图片窄于容器时，保持原图尺寸，绝不拉大
   - 不加 max-height：避免对用户上传的「高而窄」图强行压缩高度
   - 不加 width: 100%：避免对小图强行拉伸到容器宽 */
.product-detail-content img {
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
  margin: 24px auto;
  border-radius: 6px;
}

.product-detail-content figure {
  margin: 24px 0;
}

.product-detail-content figcaption {
  text-align: center;
  font-size: 14px;
  color: #888;
  margin-top: 10px;
}

/* ---- 链接 ---- */
.product-detail-content a {
  color: var(--color-primary, #b8956a);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.product-detail-content a:hover {
  border-bottom-color: var(--color-primary, #b8956a);
}

/* ---- 表格（响应式：窄屏可横向滚动） ---- */
.product-detail-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  font-size: 15px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}

.product-detail-content thead {
  background: var(--color-primary, #b8956a);
  color: #fff;
}

.product-detail-content thead th {
  padding: 14px 16px;
  text-align: left;
  font-weight: 500;
  letter-spacing: 0.02em;
  border: none;
}

.product-detail-content tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid #eee;
  color: #3a3a3a;
}

.product-detail-content tbody tr:last-child td {
  border-bottom: none;
}

.product-detail-content tbody tr:hover {
  background: #faf7f2;
}

/* 表格响应式：窄屏时表格外层可滚动 */
.product-detail-content .table-scroll {
  overflow-x: auto;
  margin: 24px 0;
}

/* ---- 引用 ---- */
.product-detail-content blockquote {
  margin: 32px 0;
  padding: 20px 24px;
  background: #faf7f2;
  border-left: 4px solid var(--color-primary, #b8956a);
  border-radius: 0 4px 4px 0;
  color: #555;
  font-style: italic;
}

.product-detail-content blockquote p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}

.product-detail-content blockquote p + p {
  margin-top: 12px;
}

/* ---- 引用块 cite ---- */
.product-detail-content cite {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  color: #999;
  font-style: normal;
}

/* ---- 代码块（后台偶尔会贴代码） ---- */
.product-detail-content code {
  background: #f5f5f5;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 14px;
  color: #c7254e;
}

.product-detail-content pre {
  background: #2a2520;
  color: #f8f8f2;
  padding: 20px;
  border-radius: 6px;
  overflow-x: auto;
  margin: 24px 0;
  font-size: 14px;
  line-height: 1.6;
}

.product-detail-content pre code {
  background: transparent;
  color: inherit;
  padding: 0;
  border-radius: 0;
}

/* ---- 分隔线 ---- */
.product-detail-content hr {
  border: none;
  height: 1px;
  background: #eee;
  margin: 40px 0;
}

/* ---- 强调 ---- */
.product-detail-content strong {
  color: #1a1a1a;
  font-weight: 600;
}

.product-detail-content em {
  font-style: italic;
}

/* ============================================
   产品详情内容区响应式
   ============================================ */

/* 平板 */
@media (max-width: 1024px) {
  .product-detail-content {
    max-width: 100%;
    padding: 0;
  }
}

/* 768px 以下 */
@media (max-width: 768px) {
  .product-detail-content-wrap {
    padding: 60px 0;
  }

  .product-detail-content {
    font-size: 15px;
    line-height: 1.75;
  }

  .product-detail-content h2 {
    font-size: 22px;
    margin-bottom: 18px;
    padding-bottom: 12px;
  }

  .product-detail-content h3 {
    font-size: 17px;
    margin: 28px 0 12px;
  }

  .product-detail-content ul li,
  .product-detail-content ol li {
    padding: 6px 0 6px 26px;
  }

  .product-detail-content blockquote {
    margin: 24px 0;
    padding: 16px 18px;
  }

  .product-detail-content table {
    font-size: 14px;
  }

  .product-detail-content thead th,
  .product-detail-content tbody td {
    padding: 10px 12px;
  }
}

/* 480px 以下 */
@media (max-width: 480px) {
  .product-detail-content-wrap {
    padding: 48px 0;
  }

  .product-detail-content {
    font-size: 14px;
    line-height: 1.7;
  }

  .product-detail-content h2 {
    font-size: 20px;
  }

  .product-detail-content h3 {
    font-size: 16px;
    padding-left: 12px;
  }

  .product-detail-content h3::before {
    top: 4px;
    bottom: 4px;
    width: 2px;
  }

  .product-detail-content img {
    margin: 20px 0;
    border-radius: 4px;
  }

  /* 480px 下表格变为卡片式：横向滚动兜底 */
  .product-detail-content table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}

.related-products {
  background: var(--color-warm-gray);
  padding: 80px 0;
}

/* ============================================
   新闻详情页
   ============================================ */
.news-detail {
  padding: 80px 0;
}

.news-detail-container {
  max-width: 900px;
  margin: 0 auto;
}

.news-detail-header {
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--color-light-gray);
}

.news-detail-header .news-date {
  margin-bottom: 16px;
  display: block;
}

.news-detail-header h1 {
  font-size: 32px;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 16px;
}

.news-detail-img {
  margin-bottom: 40px;
  overflow: hidden;
}

.news-detail-img img {
  width: 100%;
  height: auto;
  display: block;
}

.news-detail-body {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  color: var(--color-primary);
}

.news-detail-body p {
  margin-bottom: 20px;
}

/* 面包屑 */
.breadcrumb {
  font-size: 13px;
  color: var(--color-medium-gray);
  margin-bottom: 24px;
}

.breadcrumb a {
  transition: color 0.3s;
}

.breadcrumb a:hover {
  color: var(--color-primary);
}

.breadcrumb-sep {
  margin: 0 8px;
}

/* 响应式 */
/* 详情页响应式：平板 — 还保持 2 列，但比例平衡 */
@media (max-width: 900px) {
  .product-detail-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
  }
}

/* 详情页响应式：手机 — 单列垂直堆叠 */
@media (max-width: 768px) {
  .product-detail {
    padding: 24px 0;
  }

  .product-detail-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .product-detail-head {
    text-align: left;
  }

  .product-detail-head h1 {
    font-size: 24px;
    line-height: 1.3;
  }

  .product-thumb {
    width: 110px;
  }

  .product-detail-thumbs {
    gap: 10px;
  }

  .product-detail-img {
    flex-direction: column;
    padding: 0;
    background: transparent;
    gap: 10px;
  }

  .product-detail-main {
    background: transparent;
  }

  .product-thumb {
    background: transparent;
    border-radius: 4px;
  }

  .product-specs {
    padding: 0;
  }

  .product-specs h4 {
    font-size: 18px;
  }

  .spec-row {
    padding: 10px 0;
    font-size: 14px;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
  }

  .spec-row span:last-child {
    text-align: left;
  }

  .product-detail-actions {
    flex-direction: column;
    gap: 12px;
  }

  .product-detail-actions .btn-primary {
    width: 100%;
    justify-content: center;
  }

  .news-detail-header h1 {
    font-size: 24px;
  }

  .follow-us {
    padding: 40px 20px;
  }

  .follow-qrcodes {
    gap: 16px;
  }

  .follow-qrcodes .qrcode-placeholder {
    width: 80px;
    height: 80px;
  }

  .lightbox-img {
    max-width: 95vw;
    max-height: 70vh;
  }

  .lightbox-close {
    top: 12px;
    right: 12px;
  }
}

/* 详情页响应式：小屏 — 缩略图紧凑 */
@media (max-width: 480px) {
  .product-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .product-thumb {
    width: 90px;
  }

  .product-detail-thumbs {
    gap: 8px;
  }
}
