/* 通用样式 */

/* 响应式工具类 */
@media (max-width: 640px) {
  .hide-on-sm {
    display: none;
  }
}

/* 基础样式 */
body {
  font-family: 'Noto Sans SC', sans-serif;
  background: linear-gradient(135deg, #f8fafc 0%, #e6f0fa 100%);
  color: #1e293b;
}

/* 英雄背景样式 */
.hero-bg {
  background-size: cover;
  background-position: center;
  height: 35vh;
  position: relative;
}

/* 高亮文本样式 */
.highlight {
  color: #1e3a8a;
}

/* 技术卡片样式 */
.tech-card {
  background: rgba(30, 41, 59, 0.7);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(100, 255, 218, 0.1);
  transition: all 0.3s ease;
}

.tech-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 30px -15px rgba(2, 12, 27, 0.7);
  border-color: rgba(100, 255, 218, 0.5);
}

/* 专利项目样式 */
.patent-item {
  position: relative;
  padding-left: 30px;
  margin-bottom: 20px;
}

.patent-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 16px;
  height: 16px;
  background-color: #64ffda;
  border-radius: 50%;
}

/* 时间线样式 */
.timeline {
  position: relative;
  padding-left: 30px;
}

.timeline::before {
  content: '';
  position: absolute;
  left: 7px;
  top: 0;
  bottom: 0;
  width: 2px;
  background-color: rgba(100, 255, 218, 0.3);
}

/* 团队卡片样式 */
.team-card {
  perspective: 1000px;
  position: relative;
}

.team-inner {
  transition: transform 0.6s;
  transform-style: preserve-3d;
  position: relative;
}

.team-card:hover .team-inner {
  transform: rotateY(180deg);
}

.team-front,
.team-back {
  backface-visibility: hidden;
}

.team-back {
  transform: rotateY(180deg);
}

/* 测试流程样式 */
.test-flow {
  position: relative;
  height: 300px;
  overflow: hidden;
}

.test-step {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.5s;
}

.test-step.active {
  opacity: 1;
}

/* 双图片容器样式 */
.dual-image-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 80%;
  height: 80%;
}

.dual-image-container img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* 技术创新图片样式 */
.tech-innovation-img {
  width: 100%;
  max-height: 300px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* 测试流程图片样式 */
.test-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 16px;
}

/* 轮播图样式 */
.carousel-container {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.carousel-slide {
  display: flex;
  transition: transform 0.5s ease-in-out;
  height: 400px;
}

.carousel-slide img {
  min-width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 按钮渐变样式 */
.button-gradient {
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  color: white;
  transition: all 0.3s ease;
}

.button-gradient:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(30, 64, 175, 0.3);
}

/* 白色背景按钮样式 */
.button-gradient.bg-white {
  background: white;
  color: #1e40af;
}

.button-gradient.bg-white:hover {
  color: #1e3a8a;
}

/* 特色卡片样式 */
.feature-card {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  border-color: #3b82f6;
}

/* 山坡波浪装饰 */
.mountain-path {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23f8fafc" fill-opacity="1" d="M0,192L48,197.3C96,203,192,213,288,229.3C384,245,480,267,576,250.7C672,235,768,181,864,181.3C960,181,1056,235,1152,234.7C1248,235,1344,181,1392,154.7L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>');
  background-size: cover;
}

/* 区块标题样式 */
.section-title {
  position: relative;
  display: inline-block;
  margin-bottom: 40px;
}

.section-title::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 50%;
  height: 3px;
  background: linear-gradient(to right, #2563eb, #3b82f6);
}

/* 渐入动画 */
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* 渐入上移动画 */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fadeInUp {
  animation: fadeInUp 0.6s ease forwards;
}

/* 共用区块背景结构（子元素层叠上下文） */
.section-bg-overlay {
  position: relative;
}

.section-bg-overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.section-bg-overlay .container {
  position: relative;
  z-index: 2;
}

/* tech-team / rd / smart 区块 - manufacture 和 products 共用 */
.tech-team-section {
  background: whitesmoke;
  padding: 80px 0;
  margin-bottom: 0;
  color: #1e293b;
}

.rd-section {
  background: white;
  padding: 80px 0;
  margin-bottom: 0;
}

.smart-section {
  background: whitesmoke;
  padding: 80px 0;
}

/* 响应式调整 */
@media (max-width: 768px) {
  .carousel-slide {
    height: 300px;
  }

  /* 优化顶部背景图高度 */
  .hero-bg {
    height: 40vh !important;
  }

  /* 统一标题下方文字字体大小 */
  .hero-bg .text-xl {
    font-size: 1rem !important;
  }
}
