/* 全局还原标题大写化：本页面标题统一按原文大小写显示 */
.banner h1,
.container--large h2,
.container--large h3,
.container--large h4 {
  text-transform: none;
}

/* 顶部横幅：mIHC 荧光背景图 */
.banner {
  background: url(/images/pages/custom_service_mihc_staining/bg.jpg) no-repeat center center;
  background-size: cover;
  height: 260px;
  position: relative;
  margin-bottom: 30px;
  color: white;
}

.banner-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 90%;
}

.banner-text h1 {
  color: white;
}

.banner-text p {
  color: white;
  font-size: 16px;
  margin: 8px 0 0;
}

/* CTA 按钮 */
.intro-actions {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.intro-actions a {
  display: inline-block;
  padding: 12px 36px;
  font-size: 16px;
  border-radius: 30px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.btn-banner {
  background-color: #50a3f7;
  color: #fff !important;
  outline: none;
}
.btn-banner:hover {
  background-color: #3d8ee0;
}
.btn-banner:focus {
  outline: none;
  box-shadow: none;
}

.content-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #333;
}

.section-subtitle {
  color: #666;
  font-size: 16px;
  margin-bottom: 24px;
}
.cases-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}
.cases-header .section-subtitle {
  margin-bottom: 0;
}
.cases-header .case-tabs {
  margin-bottom: 0;
}

/* 卡片通用样式（服务能力 / 核心服务环节 / 技术平台） */
.capability-card,
.service-module,
.platform-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.capability-card:hover,
.service-module:hover,
.platform-card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  transform: translateY(-3px);
}
.capability-card ul,
.platform-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
.capability-card ul li,
.platform-card ul li {
  margin-bottom: 8px;
  color: #666;
  font-size: 14px;
  line-height: 1.6;
}
.capability-card ul li::before,
.platform-card ul li::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #666;
  margin-right: 8px;
  vertical-align: middle;
}
.capability-card h4,
.service-module h4,
.platform-card h3 {
  font-size: 17px;
  font-weight: bold;
  color: #333;
  margin: 0 0 10px;
}

/* 服务能力卡片 */
.capability-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 32px;
}
.capability-card {
  flex: 1 1 calc(25% - 12px);
  max-width: calc(25% - 12px);
  padding: 24px 40px 20px;
  text-align: left;
}
.capability-card h4.capability-tag {
  color: #589cd8;
  padding-bottom: 0;
  border-bottom: none;
}

/* 核心服务环节 */
.service-modules {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.service-module {
  flex: 1 1 calc((100% - 32px) / 3);
  max-width: calc((100% - 32px) / 3);
  padding: 24px 14px 20px;
  text-align: center;
}
.service-module h4 {
  text-align: left;
}
.service-module p {
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
}

/* 案例展示 */
.case-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  border-bottom: none;
  margin-bottom: 24px;
}
.case-tabs > li {
  float: none;
  margin-bottom: 0;
}
.case-tabs > li > a {
  display: inline-block;
  padding: 6px 20px;
  font-size: 14px;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 30px;
  margin-right: 0;
  text-decoration: none;
  outline: none;
  transition: all 0.3s ease;
}
.case-tabs > li > a:hover,
.case-tabs > li > a:focus {
  background-color: #337ab7;
  color: #fff;
  outline: none;
}
.case-tabs > li.active > a,
.case-tabs > li.active > a:hover,
.case-tabs > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
  border: 1px solid transparent;
}

.case-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.case-card {
  flex: 1 1 calc(25% - 12px);
  max-width: calc(25% - 12px);
  background: #000000;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  overflow: hidden;
  box-sizing: border-box;
}
.case-image {
  height: 200px;
  background: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #bbb;
  font-size: 14px;
}
.case-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.case-image img.contain {
  object-fit: contain;
}
.case-info {
  padding: 16px 20px;
}
.case-info h4 {
  font-size: 11px;
  font-weight: bold;
  color: #589cd8;
  margin: 0 0 6px;
  white-space: nowrap;
}
.case-info p {
  margin: 0 0 6px;
  color: #555;
  font-size: 9px;
  line-height: 1.6;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* 技术平台 */
.platform-grid {
  display: flex;
  gap: 16px;
  align-items: stretch;
}
.platform-image {
  flex: 1 1 0;
  border-radius: 8px;
  overflow: hidden;
}
.platform-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.platform-card {
  flex: 1 1 0;
  min-width: 0;
  padding: 24px 40px 20px;
  text-align: left;
}
.platform-card h3 {
  padding-bottom: 0;
  border-bottom: none;
}

.service-process-img {
  width: 100%;
  height: auto;
  display: block;
}

.sticky-nav-container {
  position: sticky;
  top: 108px;
  z-index: 1000;
}

.full-width-nav {
  width: 100%;
  display: flex;
  margin: 0;
  background: #fff;
  border: 1px solid #eee;
}

.full-width-nav > li {
  flex: 1;
  text-align: center;
}

.full-width-nav > li > a {
  display: block;
  padding: 15px 0;
  color: #333;
}

.full-width-nav > li.active > a,
.full-width-nav > li > a:hover {
  background-color: #337ab7;
  color: #fff;
}

.scroll-section {
  margin-top: 20px;
}

@media (max-width: 992px) {
  .capability-card {
    flex: 1 1 calc(50% - 8px);
    max-width: calc(50% - 8px);
  }
}

@media (max-width: 768px) {
  .col-md-3 {
    width: 50%;
    float: left;
  }
  .capability-card,
  .service-module,
  .platform-card,
  .platform-image,
  .case-card {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .col-md-3 {
    width: 100%;
    float: none;
  }
}
