/* 通用样式 */

/* 响应式工具类 */
@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;
}

/* 响应式调整 */
@media (max-width: 768px) {
  .carousel-slide {
    height: 300px;
  }
  
  /* 优化顶部背景图高度 */
  .hero-bg {
    height: 40vh !important;
  }
  
  /* 统一标题下方文字字体大小 */
  .hero-bg .text-xl {
    font-size: 1rem !important;
  }
}
