/* ========================================
 * 康源 - 古法非遗传承 官网样式
 * 
 * 技术栈：Tailwind CSS (tw- 前缀)
 * 主色：深棕色、金色
 * 强调色：青绿色
 * ======================================== */

/* Tailwind 层 */
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

/* ========================================
 * 全局重置 & 基础样式
 * ======================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: 'Noto Sans SC', 'Source Han Sans SC', 'Microsoft YaHei', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

ul, ol {
  list-style: none;
}

/* ========================================
 * 容器
 * ======================================== */
.custom-container {
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}

@media (min-width: 576px) {
  .custom-container {
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (min-width: 1024px) {
  .custom-container {
    padding-left: 32px;
    padding-right: 32px;
  }
}

/* ========================================
 * 字体 - 书法体 / 衬线体
 * ======================================== */
.font-calligraphy {
  font-family: 'Noto Serif SC', 'Source Han Serif SC', 'KaiTi', 'STKaiti', serif;
}

/* ========================================
 * 导航栏
 * ======================================== */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: transparent;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.site-header.scrolled {
  background: rgba(44, 30, 18, 0.98);
  box-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

.site-header .nav-link {
  position: relative;
  padding: 8px 16px;
  color: rgba(255,255,255,0.85);
  font-size: 15px;
  letter-spacing: 1px;
  transition: color 0.3s;
}

.site-header .nav-link-bilingual {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.site-header .nav-link-bilingual .nav-cn {
  font-size: 15px;
  letter-spacing: 1px;
}

.site-header .nav-link-bilingual .nav-en {
  font-size: 10px;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.5px;
  transition: color 0.3s;
}

.site-header .nav-link-bilingual:hover .nav-en {
  color: #d4af37;
}

.site-header .nav-link:hover,
.site-header .nav-link.active {
  color: #d4af37;
}

.site-header .nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #d4af37;
  transition: width 0.3s;
}

.site-header .nav-link:hover::after,
.site-header .nav-link.active::after {
  width: 60%;
}

/* PC端导航下拉菜单 */
.nav-dropdown {
  position: relative;
}

.nav-dropdown .nav-submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 140px;
  background: rgba(44, 30, 18, 0.96);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 6px;
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 100;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
}

.nav-dropdown:hover .nav-submenu {
  opacity: 1;
  visibility: visible;
}

.nav-submenu a {
  display: block;
  padding: 9px 20px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  white-space: nowrap;
  transition: all 0.25s;
  letter-spacing: 1px;
}

.nav-submenu a:hover {
  color: #d4af37;
  background: rgba(212, 175, 55, 0.1);
}

/* 移动端子菜单 */
.mobile-nav-group {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.mobile-nav-arrow {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  transition: transform 0.3s;
  flex-shrink: 0;
  margin-left: 8px;
}

.mobile-nav-group.open .mobile-nav-arrow {
  transform: rotate(180deg);
  color: #d4af37;
}

.mobile-nav-sub {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  background: rgba(0, 0, 0, 0.2);
}

.mobile-nav-group.open .mobile-nav-sub {
  max-height: 300px;
}

.mobile-nav-sub-link {
  display: block;
  padding: 10px 16px 10px 32px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 13px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
  transition: all 0.25s;
}

.mobile-nav-sub-link:hover {
  color: #d4af37;
  background: rgba(212, 175, 55, 0.08);
}

/* 用户登录/注册区域 */
.header-user {
  margin-left: 12px;
  display: flex;
  align-items: center;
}

/* 未登录按钮 */
.btn-header-login,
.btn-header-register {
  display: inline-block;
  padding: 6px 18px;
  font-size: 13px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
  letter-spacing: 1px;
}

.btn-header-login {
  color: #d4af37;
  border: 1px solid #d4af37;
  background: transparent;
  margin-right: 8px;
}

.btn-header-login:hover {
  background: #d4af37;
  color: #fff;
}

.btn-header-register {
  color: #fff;
  background: #d4af37;
  border: 1px solid #d4af37;
}

.btn-header-register:hover {
  background: #c09a30;
  border-color: #c09a30;
}

/* 已登录 */
.header-user-dropdown {
  position: relative;
}

.header-user-avatar {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 4px;
  transition: background 0.3s;
  color: rgba(255,255,255,0.85);
}

.header-user-avatar:hover {
  background: rgba(255,255,255,0.1);
}

.avatar-circle {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #d4af37;
  color: #fff;
  font-size: 13px;
  line-height: 30px;
  text-align: center;
  font-weight: 600;
}

.user-nickname {
  font-size: 13px;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dropdown-arrow {
  transition: transform 0.3s;
}

.header-user-avatar:hover .dropdown-arrow {
  transform: rotate(180deg);
}

.header-user-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  min-width: 140px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.3s;
  z-index: 100;
  overflow: hidden;
}

.header-user-avatar:hover + .header-user-menu,
.header-user-menu:hover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.header-user-menu a {
  display: block;
  padding: 10px 18px;
  font-size: 13px;
  color: #333;
  transition: all 0.2s;
  white-space: nowrap;
}

.header-user-menu a:hover {
  background: #f5f0e8;
  color: #d4af37;
}

/* 移动端用户菜单 */
.mobile-user-menu {
  margin-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 12px;
}

/* 汉堡菜单 */
.hamburger-btn {
  display: flex;
  flex-direction: column;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  align-items: center;
  justify-content: center;
}

.hamburger-btn span {
  display: block;
  width: 24px;
  height: 4px;
  margin: 5px 0;
  background: #fff;
  transition: all 0.3s;
}

.hamburger-btn.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.hamburger-btn.active span:nth-child(2) {
  opacity: 0;
}
.hamburger-btn.active span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* 移动端侧边栏 */
.mobile-nav {
  position: fixed;
  top: 0;
  right: -280px;
  width: 280px;
  height: 100%;
  background: rgba(44, 30, 18, 0.98);
  z-index: 1050;
  transition: right 0.3s ease;
  overflow-y: auto;
}

.mobile-nav.open {
  right: 0;
}

.mobile-nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1040;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.mobile-nav-overlay.open {
  opacity: 1;
  pointer-events: all;
}

/* ========================================
 * Banner 轮播
 * ======================================== */
.banner-section {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
}

.banner-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}

.banner-slide.active {
  opacity: 1;
}

.banner-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.banner-dots {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 3;
}

.banner-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
  cursor: pointer;
  transition: all 0.3s;
  border: none;
}

.banner-dot.active {
  background: #d4af37;
  transform: scale(1.2);
}

/* 悬浮溯源标签 */
.trace-tag {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  width: 48px;
  height: 160px;
  background: url('../png/chaxunbg.png') center/contain no-repeat;
  transition: all 0.3s;
  cursor: pointer;
  text-decoration: none;
}

.trace-tag:hover {
  transform: translateY(-50%) scale(1.05);
}

/* ========================================
 * 板块标题通用样式
 * ======================================== */
.section-title {
  text-align: center;
  margin-bottom: 50px;
}

.section-title h2 {
  font-family: 'Noto Serif SC', 'Source Han Serif SC', serif;
  font-size: 32px;
  color: #2e8b7b;
  letter-spacing: 4px;
  position: relative;
  display: inline-block;
  padding: 0 20px;
}

.section-title h2::before,
.section-title h2::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 40px;
  height: 1px;
  background: #2e8b7b;
}

.section-title h2::before {
  right: 100%;
}

.section-title h2::after {
  left: 100%;
}

.section-title .title-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #d4af37;
  border-radius: 50%;
  margin: 0 8px;
  vertical-align: middle;
}

.section-title .title-en {
  display: block;
  font-family: 'Georgia', serif;
  font-size: 12px;
  color: #999;
  letter-spacing: 3px;
  margin-top: 8px;
  text-transform: uppercase;
}

/* ========================================
 * 产品板块 - 新中式风格
 * ======================================== */

/* 产品标签栏容器 */
.kproduct-tabs {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin-bottom: 50px;
  padding: 0 20px;
}

/* 单个标签 */
.kproduct-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 20px 28px;
  cursor: pointer;
  transition: all 0.4s ease;
  position: relative;
}

.kproduct-tab::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, #5A9A8F, #2e8b7b);
  border-radius: 2px;
  transition: width 0.4s ease;
}

.kproduct-tab.active::after {
  width: 60%;
}

/* 标签图标 - 使用 mask + background 方式精确控制颜色 */
.kproduct-tab-icon {
  width: 70px;
  height: 70px;
  overflow: hidden;
  transition: background 0.4s ease, transform 0.4s ease;

  /* mask 引用图标形状，background 决定颜色 */
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;

  /* 默认态：金色 #C9A96E */
  background: #C9A96E;
}

/* 选中态：精确青绿色 #5A9A8F */
.kproduct-tab.active .kproduct-tab-icon {
  background: #5A9A8F;
}

.kproduct-tab:hover .kproduct-tab-icon {
  transform: scale(1.05);
}

/* 标签名称 */
.kproduct-tab-name {
  font-family: 'Noto Serif SC', 'Source Han Serif SC', serif;
  font-size: 14px;
  color: #C9A96E;
  font-weight: 600;
  letter-spacing: 1px;
  transition: color 0.4s ease;
  white-space: nowrap;
}

.kproduct-tab.active .kproduct-tab-name {
  color: #5A9A8F;
}

.kproduct-tab:hover .kproduct-tab-name {
  color: #5A9A8F;
}

/* 标签分隔竖线 */
.kproduct-tab-divider {
  width: 1px;
  height: 40px;
  background: linear-gradient(180deg, transparent, #d4c9a8, transparent);
  flex-shrink: 0;
}

/* 产品内容面板 */
.kproduct-panels {
  position: relative;
  min-height: 300px;
  overflow: hidden;
}

.kproduct-panel {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  position: absolute;
  width: 100%;
  pointer-events: none;
  visibility: hidden;
}

.kproduct-panel.active {
  opacity: 1;
  transform: translateY(0);
  position: relative;
  pointer-events: auto;
  visibility: visible;
}

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

/* 保留原有 product-card 样式 */
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.product-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  overflow: hidden;
  transition: all 0.3s;
  cursor: pointer;
}

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

.product-card .product-img {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #f5f0eb;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-card .product-img img {
  width: 80%;
  height: 80%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.4s;
}

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

.product-card .product-info {
  padding: 16px;
  text-align: center;
}

.product-card .product-name {
  font-size: 15px;
  color: #333;
  margin-bottom: 8px;
  font-weight: 500;
}

.product-card .product-price {
  font-size: 16px;
  color: #c0392b;
  font-weight: 600;
}

/* ========================================
 * 特色板块 - 新版 2×3 网格
 * ======================================== */

/* 背景装饰：左侧背景图（直接加在 section 上） */

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

.feature-item {
  text-align: center;
  padding: 28px 16px 24px;
  transition: all 0.35s ease;
  border-radius: 12px;
}

.feature-item:hover {
  transform: translateY(-4px);
}

/* 图标圆形容器 */
.feature-icon {
  width: 130px;
  height: 130px;
  margin: 0 auto 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.35s ease;
  position: relative;
  background: rgba(255,255,255,0.4);
}

/* 所有图标默认统一颜色 */
.feature-color-cyan .feature-icon img,
.feature-color-brown .feature-icon img {
  width: 130px;
  height: 130px;
  -o-object-fit: contain;
     object-fit: contain;
  filter: sepia(0.5) saturate(1.2) hue-rotate(10deg) brightness(0.8) contrast(1.1);
}

/* 悬停效果 */
.feature-item:hover .feature-icon {
  transform: scale(1.05);
}

.feature-item:hover .feature-icon img {
  filter: sepia(0.6) saturate(1.8) hue-rotate(120deg) brightness(0.85) contrast(1.1) !important;
}

/* 主标题 */
.feature-item h4 {
  font-size: 18px;
  font-weight: 600;
  color: rgb(160, 128, 80);
  margin-bottom: 5px;
  letter-spacing: 1px;
  transition: color 0.35s ease;
}

/* 副标题 */
.feature-item .feature-sub {
  font-size: 18px;
  margin-bottom: 0;
  letter-spacing: 0.5px;
  color: rgb(160, 128, 80);
  transition: color 0.35s ease;
}

/* 青色系副标题 */
.feature-color-cyan .feature-sub {
  color: rgb(160, 128, 80);
}

/* 棕色系副标题 */
.feature-color-brown .feature-sub {
  color: rgb(160, 128, 80);
}

/* hover 时标题和副标题颜色统一变青绿色 */
.feature-item:hover h4,
.feature-item:hover .feature-sub {
  color: rgb(90, 154, 142);
}

/* 隐藏原有的描述段落（兼容旧结构） */
.feature-item > p:not(.feature-sub) {
  display: none;
}

/* 移动端适配 */
@media (max-width: 768px) {
  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 16px;
  }
  .feature-icon {
    width: 100px;
    height: 100px;
  }
  .feature-icon img {
    width: 100px !important;
    height: 100px !important;
  }
  .feature-item h4 {
    font-size: 16px;
  }
  .feature-item .feature-sub {
    font-size: 16px;
  }

}

@media (max-width: 480px) {
  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 12px;
  }
  .feature-icon {
    width: 80px;
    height: 80px;
  }
  .feature-icon img {
    width: 80px !important;
    height: 80px !important;
  }
}

/* ========================================
 * 实景板块
 * ======================================== */
.reality-image-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/7;
  overflow: hidden;
  border-radius: 8px;
}

.reality-image-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: opacity 0.3s ease;
}

.reality-tabs {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
}

.reality-tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  border: 1px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  color: #666;
  background: #fff;
  transition: all 0.3s;
}

.reality-tab.active,
.reality-tab:hover {
  border-color: #2e8b7b;
  color: #2e8b7b;
  background: rgba(46,139,123,0.05);
}

.reality-tab .tab-num {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  background: #2e8b7b;
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 600;
}

@media (max-width: 768px) {
  .reality-tabs {
    gap: 8px;
  }

  .reality-tab {
    flex-direction: column;
    gap: 4px;
    padding: 8px 14px;
    font-size: 12px;
  }

  .reality-tab .tab-num {
    width: 22px;
    height: 22px;
    font-size: 11px;
  }
}

/* ========================================
 * 数据康源 板块
 * ======================================== */
.data-section {
  background-color: #3d2b1f;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAKtCAIAAAC7Zpk6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMS1jMDAyIDc5Ljc4Yjc2MzhlNiwgMjAyNS8wMi8xMS0yMzoxNDoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMGU3ODRkNi1lMDgxLWYxNDMtYjgxMy03NzM2YWEwNGZjNDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzczRkE5MEU2NEQ5MTFGMTg4QUJEQjRENEFCQkQ3ODciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzczRkE5MEQ2NEQ5MTFGMTg4QUJEQjRENEFCQkQ3ODciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI3LjcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzZmY2E1ZjctZjlmZC0xODQ4LTg3NmItNWIwOGVjYzFmODVjIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIwZTc4NGQ2LWUwODEtZjE0My1iODEzLTc3MzZhYTA0ZmM0NyIv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');
  background-repeat: repeat-x;
  background-position: center center;
  background-size: auto 100%;
  position: relative;
  overflow: hidden;
}

.data-wrap {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr 300px 1fr;
  grid-template-rows: auto auto auto;
  align-items: center;
  justify-items: center;
  row-gap: 40px;
}

/* 中心标题图片 */
.data-center-img {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 260px;
  flex-shrink: 0;
}

.data-center-img img {
  width: 100%;
  height: auto;
}

/* 数据模块通用 */
.data-item {
  text-align: center;
  padding: 16px 12px;
  position: relative;
  font-family: 'Noto Serif SC', 'Source Han Serif SC', serif;
  width: 100%;
  box-sizing: border-box;
}

.data-item .data-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  height: 40px;
  padding: 0 24px;
  font-size: 20px;
  font-family: 'Noto Serif SC', 'Source Han Serif SC', serif;
  color: #fff;
  letter-spacing: 2px;
  border-radius: 2px;
  margin-bottom: 12px;
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM4AAAAyCAYAAAAUT+SmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA25pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMS1jMDAyIDc5Ljc4Yjc2MzhlNiwgMjAyNS8wMi8xMS0yMzoxNDoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMGU3ODRkNi1lMDgxLWYxNDMtYjgxMy03NzM2YWEwNGZjNDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjY4NkYzNjg2NEQzMTFGMTgxOThBNEU4MDAzRjlEMTIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjY4NkYzNjc2NEQzMTFGMTgxOThBNEU4MDAzRjlEMTIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI3LjcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzRCMTc0QjY2NEQyMTFGMTg1MDA5QkE1RjdFRTAwOTkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzRCMTc0Qjc2NEQyMTFGMTg1MDA5QkE1RjdFRTAwOTkiLz4gPC9yZGY6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') center/100% 100% no-repeat;
}

.data-item .data-text {
  font-size: 20px;
  font-family: 'Noto Serif SC', 'Source Han Serif SC', serif;
  color: rgba(255,255,255,0.85);
  line-height: 1.8;
  letter-spacing: 1px;
  white-space: nowrap;
}

.data-item .data-text .counter {
  font-size: 58px;
  font-weight: 700;
  font-family: 'Noto Serif SC', 'Source Han Serif SC', serif;
  color: #fff;
  vertical-align: baseline;
  margin: 0 2px;
  display: inline-block;
  min-width: 1.2em;
  text-align: center;
}

.data-item .data-text .data-plus {
  font-size: 20px;
  font-family: 'Noto Serif SC', 'Source Han Serif SC', serif;
  color: #fff;
  font-weight: 600;
}

/* 左上 */
.data-item-top-left {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  text-align: left;
}

/* 右上 */
.data-item-top-right {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  text-align: right;
}

/* 左中 */
.data-item-mid-left {
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
  text-align: left;
}

/* 右中 */
.data-item-mid-right {
  grid-column: 3;
  grid-row: 2;
  justify-self: end;
  text-align: right;
}

/* 左下 */
.data-item-bottom-left {
  grid-column: 1;
  grid-row: 3;
  justify-self: start;
  text-align: left;
}

/* 右下 */
.data-item-bottom-right {
  grid-column: 3;
  grid-row: 3;
  justify-self: end;
  text-align: right;
}

/* ========================================
 * 公告板块
 * ======================================== */
.notice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.notice-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  padding: 28px;
  transition: all 0.3s;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.notice-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #9b7f57;
}

.notice-card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #2e8b7b;
  transform: scaleX(0);
  transition: transform 1s ease;
  transform-origin: left;
  z-index: 1;
}

.notice-card:hover::before {
  transform: scaleX(1);
}

.notice-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.08);
}

.notice-card .notice-decor {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 36px;
  height: 36px;
  background-color: #9b7f57;
  mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEUAAAAZCAYAAABnweOlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMS1jMDAyIDc5Ljc4Yjc2MzhlNiwgMjAyNS8wMi8xMS0yMzoxNDoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMGU3ODRkNi1lMDgxLWYxNDMtYjgxMy03NzM2YWEwNGZjNDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzREQUVBODE2NEQyMTFGMTg1MDA5QkE1RjdFRTAwOTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzREQUVBODA2NEQyMTFGMTg1MDA5QkE1RjdFRTAwOTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI3LjcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzZmY2E1ZjctZjlmZC0xODQ4LTg3NmItNWIwOGVjYzFmODVjIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIwZTc4NGQ2LWUwODEtZjE0My1iODEzLTc3MzZhYTA0ZmM0NyIv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');
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEUAAAAZCAYAAABnweOlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMS1jMDAyIDc5Ljc4Yjc2MzhlNiwgMjAyNS8wMi8xMS0yMzoxNDoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMGU3ODRkNi1lMDgxLWYxNDMtYjgxMy03NzM2YWEwNGZjNDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzREQUVBODE2NEQyMTFGMTg1MDA5QkE1RjdFRTAwOTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzREQUVBODA2NEQyMTFGMTg1MDA5QkE1RjdFRTAwOTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI3LjcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzZmY2E1ZjctZjlmZC0xODQ4LTg3NmItNWIwOGVjYzFmODVjIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIwZTc4NGQ2LWUwODEtZjE0My1iODEzLTc3MzZhYTA0ZmM0NyIv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');
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  transition: background-color 0.6s ease;
  z-index: 0;
}

.notice-card:hover .notice-decor {
  background-color: #2e8b7b;
}

.notice-card .notice-meta {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
}

.notice-card .notice-num {
  font-family: 'Georgia', serif;
  font-size: 28px;
  font-weight: 700;
  color: #1a6b5a;
}

.notice-card .notice-date {
  font-size: 13px;
  color: #555;
}

.notice-card .notice-title {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
  line-height: 1.5;
}

.notice-card .notice-desc {
  font-size: 14px;
  color: #888;
  line-height: 1.6;
}

/* ========================================
 * 新闻板块
 * ======================================== */
.news-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
}

.news-main {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
}

.news-main-img {
  width: 100%;
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
}

.news-main-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 30px;
  background: linear-gradient(transparent, rgba(0,0,0,0.7));
  color: #fff;
}

.news-main-date {
  display: inline-block;
  font-size: 13px;
  background: rgba(212,175,55,0.8);
  padding: 4px 12px;
  border-radius: 4px;
  margin-bottom: 10px;
}

.news-main-title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
}

.news-main-desc {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  line-height: 1.6;
}

.news-dots {
  display: flex;
  gap: 6px;
  margin-top: 16px;
}

.news-dot {
  width: 28px;
  height: 4px;
  background: rgba(255,255,255,0.4);
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.3s;
  border: none;
}

.news-dot.active {
  background: #d4af37;
  width: 40px;
}

.news-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.news-side-card {
  display: flex;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  transition: all 0.3s;
  cursor: pointer;
}

.news-side-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transform: translateX(4px);
}

.news-side-card img {
  width: 120px;
  height: 80px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}

.news-side-card .news-side-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.news-side-card .news-side-title {
  font-size: 15px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-side-card .news-side-date {
  font-size: 13px;
  color: #999;
}

/* ========================================
 * 媒体板块
 * ======================================== */
.media-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.media-news-list {
  background: #f8f5f0;
  border-radius: 8px;
  padding: 24px;
}

.media-news-item {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px dashed #ddd;
  cursor: pointer;
  transition: all 0.3s;
}

.media-news-item:last-child {
  border-bottom: none;
}

.media-news-item:hover {
  padding-left: 8px;
}

.media-news-item .media-date {
  flex-shrink: 0;
  text-align: center;
  background: #2e8b7b;
  color: #fff;
  border-radius: 6px;
  padding: 8px 12px;
  min-width: 60px;
}

.media-news-item .media-date .day {
  font-size: 22px;
  font-weight: 700;
  display: block;
  line-height: 1;
}

.media-news-item .media-date .month {
  font-size: 11px;
  display: block;
}

.media-news-item .media-title {
  font-size: 15px;
  color: #333;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

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

.media-video-card {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 4/3;
}

.media-video-card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.media-video-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.2);
  transition: background 0.3s;
}

.media-video-card:hover::after {
  background: rgba(0,0,0,0.35);
}

.play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  background: rgba(255,255,255,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 0.3s;
}

.play-btn::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 14px;
  border-color: transparent transparent transparent #333;
  margin-left: 3px;
}

.media-video-card:hover .play-btn {
  background: #d4af37;
}

.media-tag {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  z-index: 2;
}

.wechat-qr {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  padding: 16px;
  background: #f8f5f0;
  border-radius: 8px;
}

.wechat-qr img {
  width: 80px;
  height: 80px;
  border-radius: 4px;
}

.wechat-qr p {
  font-size: 14px;
  color: #666;
}

/* ========================================
 * 走进康源
 * ======================================== */
.about-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.about-since {
  font-family: 'Georgia', serif;
  font-size: 48px;
  font-weight: 700;
  color: #d4af37;
  margin-bottom: 24px;
  letter-spacing: 3px;
}

.about-text {
  font-size: 15px;
  color: #666;
  line-height: 2;
  margin-bottom: 32px;
}

.about-video-wrap {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
}

.about-video-wrap img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ========================================
 * 沿革时间轴 - PC端
 * ======================================== */
.timeline-wrapper {
  position: relative;
  padding: 60px 0 40px;
  overflow: hidden;
}

.timeline-bg-pattern {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 40%;
  opacity: 0.04;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cpath d='M20 20h160v160H20z' fill='none' stroke='%23d4af37' stroke-width='0.5'/%3E%3Cpath d='M40 40h120v120H40z' fill='none' stroke='%23d4af37' stroke-width='0.5'/%3E%3Cpath d='M100 20v160M20 100h160' stroke='%23d4af37' stroke-width='0.3'/%3E%3C/svg%3E") repeat;
}

/* ========================================
 * PC 时间轴：主线 + 6个节点列
 * ======================================== */
.timeline-main {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  position: relative;
  padding: 0 3%;
}

/* 水平连线 */
.timeline-main::before {
  content: '';
  position: absolute;
  left: 2%;
  right: 2%;
  top: 50%;
  height: 2px;
  background: linear-gradient(to right, transparent, #2e8b7b, #d4af37, #2e8b7b, transparent);
  transform: translateY(-50%);
  z-index: 0;
}

/* 每个节点列 */
.tl-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  min-width: 0;
}

/* 上方区域 */
.tl-node-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  min-height: 120px;
  padding-bottom: 12px;
}

/* 下方区域 */
.tl-node-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 120px;
  padding-top: 12px;
}

/* 节点圆 */
.tl-dot {
  width: 16px;
  height: 16px;
  min-width: 16px;
  background: #d4af37;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #d4af37;
  flex-shrink: 0;
  transition: all 0.3s;
  position: relative;
  z-index: 2;
}

.tl-dot:hover {
  transform: scale(1.4);
  box-shadow: 0 0 0 3px #d4af37, 0 0 20px rgba(212,175,55,0.5);
}

/* 卡片 */
.tl-card {
  background: #d4af37;
  color: #fff;
  border-radius: 10px;
  padding: 14px 18px;
  position: relative;
  max-width: 180px;
  text-align: center;
  transition: all 0.3s ease;
  cursor: default;
}

.tl-card:hover {
  background: #00b4a0;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 180, 160, 0.35);
}

/* 卡片小三角 */
.tl-card-triangle {
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  transition: border-color 0.3s ease;
}

/* 上方的卡片三角朝下（指向线） */
.tl-node-top .tl-card {
  margin-bottom: 0;
}
.tl-node-top .tl-card-triangle {
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 8px 8px 0 8px;
  border-color: #d4af37 transparent transparent transparent;
}
.tl-node-top .tl-card:hover .tl-card-triangle {
  border-color: #00b4a0 transparent transparent transparent;
}

/* 下方的卡片三角朝上（指向线） */
.tl-node-bottom .tl-card {
  margin-top: 0;
}
.tl-node-bottom .tl-card-triangle {
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 0 8px 8px 8px;
  border-color: transparent transparent #d4af37 transparent;
}
.tl-node-bottom .tl-card:hover .tl-card-triangle {
  border-color: transparent transparent #00b4a0 transparent;
}

.tl-card-content {
  font-size: 14px;
  line-height: 1.6;
}

/* 年份标签 */
.tl-year-label {
  font-family: 'Georgia', serif;
  font-size: 16px;
  font-weight: 700;
  color: #d4af37;
  background: #fff;
  padding: 4px 12px;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  white-space: nowrap;
}

/* ========================================
 * 移动端时间轴
 * ======================================== */
.timeline-mobile {
  padding: 0 10px;
}

.timeline-mobile .tl-card-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 24px;
  padding-left: 30px;
  border-left: 2px solid #2e8b7b;
  position: relative;
}

.timeline-mobile .tl-card-row::before {
  content: '';
  position: absolute;
  left: -8px;
  top: 4px;
  width: 14px;
  height: 14px;
  background: #d4af37;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #d4af37;
  z-index: 2;
}

.timeline-mobile .tl-year-label {
  margin-bottom: 6px;
}

.timeline-mobile .tl-card {
  max-width: none;
  width: 100%;
  margin-top: 0;
}

/* ========================================
 * 页脚
 * ======================================== */
.site-footer {
  background: #2c1e12 url('../jpg/%E5%BA%95%E9%83%A8%E8%83%8C%E6%99%AF.jpg');
  color: rgba(255,255,255,0.7);
}

.footer-nav {
  display: flex;
  justify-content: center;
  gap: 32px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.footer-nav a {
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  transition: color 0.3s;
  letter-spacing: 1px;
}

.footer-nav a:hover {
  color: #d4af37;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.5fr 1fr 0.8fr;
  gap: 40px;
}

.footer-brand img {
  height: 50px;
  margin-bottom: 16px;
}

.footer-brand .company-name {
  font-size: 16px;
  color: #d4af37;
  margin-bottom: 16px;
  font-weight: 500;
}

.footer-brand .footer-info-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
}

.footer-brand .footer-info-item img {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex-shrink: 0;
}

.footer-qr {
  display: flex;
  gap: 20px;
  justify-content: flex-end;
}

.footer-qr-item {
  text-align: center;
}

.footer-qr-item img {
  width: 100px;
  height: 100px;
  border-radius: 6px;
  margin-bottom: 8px;
}

.footer-qr-item p {
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}

.footer-bottom {
  text-align: center;
  padding: 20px 0 0;
  margin-top: 30px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
  color: rgba(255,255,255,0.4);
}

/* ========================================
 * 通用按钮
 * ======================================== */
.btn-gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 32px;
  background: #d4af37;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.3s;
  letter-spacing: 2px;
}

.btn-gold:hover {
  background: #b8942e;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(212,175,55,0.3);
}

.btn-outline-gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 32px;
  background: transparent;
  color: #d4af37;
  border: 2px solid #d4af37;
  border-radius: 6px;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.3s;
  letter-spacing: 2px;
}

.btn-outline-gold:hover {
  background: #d4af37;
  color: #fff;
  transform: translateY(-2px);
}

.btn-more {
  display: inline-block;
  width: 160px;
  height: 44px;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s;
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKIAAAAqCAYAAAAwEYCuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMS1jMDAyIDc5Ljc4Yjc2MzhlNiwgMjAyNS8wMi8xMS0yMzoxNDoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMGU3ODRkNi1lMDgxLWYxNDMtYjgxMy03NzM2YWEwNGZjNDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzREQUVBODU2NEQyMTFGMTg1MDA5QkE1RjdFRTAwOTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzREQUVBODQ2NEQyMTFGMTg1MDA5QkE1RjdFRTAwOTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI3LjcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzZmY2E1ZjctZjlmZC0xODQ4LTg3NmItNWIwOGVjYzFmODVjIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIwZTc4NGQ2LWUwODEtZjE0My1iODEzLTc3MzZhYTA0ZmM0NyIv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') center/contain no-repeat;
  margin-top: 24px;
}

.btn-more:hover {
  transform: scale(1.05);
}

/* ========================================
 * 回到顶部
 * ======================================== */
.scroll-top-btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 48px;
  height: 48px;
  background: #d4af37;
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.scroll-top-btn.visible {
  opacity: 1;
  pointer-events: all;
}

.scroll-top-btn:hover {
  background: #b8942e;
  transform: translateY(-3px);
}

/* ========================================
 * 动画
 * ======================================== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes countUp {
  from { opacity: 0; transform: scale(0.5); }
  to { opacity: 1; transform: scale(1); }
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
}

.animate-on-scroll.animated {
  opacity: 1;
  transform: translateY(0);
}

/* ========================================
 * 响应式适配
 * ======================================== */

/* 平板端 */
@media (max-width: 1024px) {
  .product-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .feature-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .data-wrap {
    max-width: 700px;
    padding: 0 16px;
    row-gap: 24px;
  }
  .about-layout {
    gap: 40px;
  }
  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .footer-qr {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .news-layout {
    grid-template-columns: 1fr;
  }
  .media-layout {
    grid-template-columns: 1fr;
  }
}

/* 移动端 */
@media (max-width: 768px) {
  .site-header .nav-link {
    display: none;
  }

  .banner-section {
    min-height: 500px;
  }

  .section-title h2 {
    font-size: 24px;
  }

  .product-tabs {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
  }

  .product-tab {
    white-space: nowrap;
    flex-shrink: 0;
  }

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

  /* 新中式产品标签栏 - 移动端 */
  .kproduct-tabs {
    justify-content: center;
    overflow-x: visible;
    flex-wrap: nowrap;
    padding: 0 4px 12px;
    margin-bottom: 30px;
    gap: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .kproduct-tabs::-webkit-scrollbar {
    display: none;
  }

  .kproduct-tab {
    padding: 8px 6px;
    gap: 6px;
    flex-shrink: 1;
    min-width: 0;
  }

  .kproduct-tab-icon {
    width: 36px;
    height: 36px;
  }

  .kproduct-tab-name {
    font-size: 11px;
    white-space: nowrap;
  }

  .kproduct-tab-divider {
    height: 22px;
  }

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

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

  .feature-item {
    padding: 16px 8px;
  }

  .feature-icon {
    width: 60px;
    height: 60px;
  }

  .data-wrap {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 20px;
    padding: 0 24px;
  }
  .data-center-img {
    grid-column: 1;
    grid-row: auto;
    order: -1;
    margin-bottom: 16px;
  }
  .data-center-img img {
    width: 100%;
  }
  .data-item-top-left,
  .data-item-top-right,
  .data-item-mid-left,
  .data-item-mid-right,
  .data-item-bottom-left,
  .data-item-bottom-right {
    grid-column: 1;
    grid-row: auto;
    justify-self: center;
  }
  .data-item .data-label {
    width: auto;
    font-size: 16px;
    height: 36px;
    padding: 0 18px;
    letter-spacing: 1px;
    margin-bottom: 8px;
  }
  .data-item .data-text {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.5px;
  }
  .data-item .data-text .counter {
    font-size: 24px;
    margin: 0 1px;
  }

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

  .about-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .about-since {
    font-size: 36px;
  }

    /* 时间轴移动端 - 纵向 */
  .timeline-main {
    display: none;
  }

  .timeline-mobile {
    display: block;
  }

  .trace-tag {
    display: none;
  }

  .footer-main {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .footer-qr {
    justify-content: center;
  }

  .footer-nav {
    gap: 16px;
  }

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

@media (max-width: 480px) {
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

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

  .data-wrap {
    padding: 0 16px;
    row-gap: 16px;
  }
  .data-center-img img {
    width: 100%;
  }
  .data-item .data-text {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.5px;
  }
  .data-item .data-text .counter {
    font-size: 22px;
    margin: 0 1px;
  }

  .news-side-card img {
    width: 90px;
    height: 65px;
  }
}

/* 仅PC端显示 */
.pc-only { display: none; }
.mobile-only { display: block; }

@media (min-width: 769px) {
  .pc-only { display: block; }
  .pc-only.timeline-main { display: flex; }
  .mobile-only { display: none !important; }
}

/* ========================================
 * 视频播放弹窗
 * ======================================== */
.video-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  align-items: center;
  justify-content: center;
}

.video-modal.active {
  display: flex;
}

.video-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  cursor: pointer;
}

.video-modal-content {
  position: relative;
  width: 90%;
  max-width: 900px;
  z-index: 1;
  animation: videoFadeIn 0.3s ease;
}

@keyframes videoFadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

.video-modal-content video {
  width: 100%;
  display: block;
  border-radius: 8px;
  background: #000;
}

.video-modal-close {
  position: absolute;
  top: -40px;
  right: 0;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: 50%;
  color: #fff;
  font-size: 22px;
  line-height: 36px;
  cursor: pointer;
  transition: background 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.video-modal-close:hover {
  background: rgba(255, 255, 255, 0.4);
}

@media (max-width: 768px) {
  .video-modal-content {
    width: 95%;
  }
  .video-modal-close {
    top: -36px;
    right: 0;
  }
}

/* 有视频链接的 play-btn 加上 pointer 样式 */
.media-video-card.has-video .play-btn {
  cursor: pointer;
}