/* VoIP Call Kit Banner Styles */
.product.timeRecord {
  padding-top: 0;
}

.product.timeRecord .vaTop {
  padding-bottom: 0;
}

.product.timeRecord .topCont {
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 608px;
  margin: 0;
  background: linear-gradient(90deg, #e3f3ff 0%, #f1faff 52%, #ecfefe 100%);
}

.voip-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1440px;
  margin: 0 auto;
  padding: 100px 40px;
  gap: 80px;
}

.voip-banner .top-text {
  flex: 0 0 auto;
  width: 480px;
}

.voip-banner .top-cont {
  position: static;
  transform: none;
}

.voip-banner .top-cont h1 {
  font-size: 48px;
  font-weight: 500;
  color: #171a1d;
  line-height: 67px;
  margin-bottom: 20px;
  white-space: nowrap;
}

.voip-banner .top-cont .subtitle {
  font-family: PingFangSC, PingFang SC;
  font-weight: 400;
  font-size: 16px;
  color: #284d91;
  line-height: 22px;
  text-align: left;
  font-style: normal;
  margin-bottom: 16px;
  padding: 10px 20px;
  background: #caddf8;
  /* 50%height */
  height: 32px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.voip-banner .top-cont .description {
  font-family: PingFangSC, PingFang SC;
  font-weight: 400;
  font-size: 18px;
  color: #45484a;
  line-height: 36px;
  text-align: justify;
  font-style: normal;
  margin-bottom: 40px;
  white-space: nowrap;
}

.voip-banner .btn-group {
  display: flex;
  gap: 20px;
}

.voip-banner .btn-primary,
.voip-banner .btn-secondary {
  display: inline-block;
  width: 124px;
  height: 40px;
  padding: 0;
  font-size: 16px;
  font-weight: 400;
  background: #2672fc;
  border-radius: 8px;
  text-align: center;
  line-height: 40px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  white-space: nowrap;
  color: #ffffff;
  border: none;
}

.voip-banner .btn-primary:hover {
  background: #1a5cd9;
}

.voip-banner .btn-secondary {
  background: #ffffff;
  color: #2672fc;
  border: 1px solid #2672fc;
}

.voip-banner .btn-secondary:hover {
  background: rgba(38, 114, 252, 0.08);
}

.voip-banner .top-pic {
  flex: 0 0 auto;
  width: 500px;
  /* width: 53%; */
}

.voip-banner .banner-img {
  /* width: auto; */
  max-height: 600px;
  height: 100%;
  display: block;
}

.voip-banner .banner-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  pointer-events: none;
}

.voip-banner .banner-bg-img {
  width: 100%;
  height: auto;
  display: block;
}

.voip-banner .top-text,
.voip-banner .top-pic {
  position: relative;
  z-index: 1;
}

/* Responsive styles for VoIP banner */
@media screen and (max-width: 1400px) {
  .voip-banner {
    max-width: 1200px;
    padding: 0 30px;
    gap: 60px;
  }

  .voip-banner .top-text {
    min-width: 420px;
  }

  .voip-banner .top-cont h1 {
    font-size: 48px;
  }

  .voip-banner .top-cont .subtitle {
    font-size: 16px;
  }
}

@media screen and (max-width: 1024px) {
  .voip-banner {
    gap: 40px;
    padding: 60px 20px;
  }

  .voip-banner .top-text {
    min-width: 360px;
  }

  .voip-banner .top-cont h1 {
    font-size: 40px;
  }

  .voip-banner .top-cont .subtitle {
    font-size: 15px;
    padding: 8px 16px;
  }

  .voip-banner .top-cont .description {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .voip-banner {
    flex-direction: column;
    gap: 30px;
    padding: 40px 20px;
    align-items: center;
  }

  .voip-banner .top-text {
    min-width: auto;
    width: 100%;
    order: 2;
    text-align: center;
  }

  .voip-banner .top-cont {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .voip-banner .top-pic {
    max-width: 100%;
    width: 100%;
    display: block !important;
    order: 1;
    text-align: center;
  }

  .voip-banner .banner-img {
    width: 100%;
    height: auto;
    max-height: none;
    display: block !important;
  }

  .voip-banner .top-cont h1 {
    font-size: 36px;
    white-space: normal;
  }

  .voip-banner .top-cont .subtitle {
    font-size: 16px;
    white-space: normal;
  }

  .voip-banner .top-cont .description {
    max-width: 100%;
  }

  .voip-banner .btn-group {
    flex-direction: column;
    align-items: center;
  }

  .voip-banner .btn-primary,
  .voip-banner .btn-secondary {
    width: auto;
    height: 44px;
    line-height: 44px;
    font-size: 15px;
    border-radius: 22px;
    padding: 0 32px;
  }

  .voip-banner .btn-primary {
    display: none;
  }
}

/* 应用场景 Section */
.voip-scenarios {
  padding: 80px 0;
  background: #f8fafb;
}

.section-title {
  font-family: PingFangSC, PingFang SC;
  font-weight: 500;
  font-size: 36px;
  line-height: 50px;
  color: #171a1d;
  text-align: center;
  margin-bottom: 50px;
}

.scenario-tabs {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-bottom: 28px;
}

.scenario-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  cursor: pointer;
  position: relative;
  padding-bottom: 16px;
}

.scenario-item .tab-category {
  font-family: PingFangSC, PingFang SC;
  font-weight: 400;
  font-size: 12px;
  color: #848588;
  line-height: 16px;
  text-align: right;
  font-style: normal;
  background: rgba(159, 160, 162, 0.16);
  border-radius: 10px;
  padding: 4px 12px;
  transition: all 0.3s;
}

/* 选中状态的样式变化 */
.scenario-item.active .tab-category {
  background: #2672fc;
  color: #ffffff;
}

/* 恢复底部下划线效果 - 用于指示当前激活的标签 */
.scenario-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #2672fc;
  transition: width 0.3s ease;
}

.scenario-item.active::after {
  width: 100%;
}

.scenario-item .icon-container {
  display: flex;
  align-items: center;
  gap: 12px;
}

.scenario-item .icon-container img {
  width: 24px;
  height: 24px;
  transition: opacity 0.3s ease;
}

/* 保持图标不变 - 始终显示未选中状态 */
.scenario-item .icon-selected {
  display: none;
}

.scenario-item .icon-unselected {
  display: block;
}

/* 移除选中时的图标切换 */
/* .scenario-item.active .icon-selected {
  display: block;
}

.scenario-item.active .icon-unselected {
  display: none;
} */

.scenario-item .icon-label {
  font-weight: 400;
  font-size: 16px;
  color: #171a1d;
  line-height: 22px;
  text-align: justify;
  font-style: normal;
  transition: all 0.3s;
}

/* 选中时文字颜色变化 */
.scenario-item.active .icon-label {
  color: #2672fc;
}

.scenario-content {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  min-height: 500px;
}

.scenario-detail {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: none;
  align-items: center;
  gap: 100px;
  /* 容器本身不透明，保持边框一直显示 */
  opacity: 1;
  transform: translateY(0);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 60px;
  border: 1px solid #d5dae4;
  padding: 18px 26px;
  padding-left: 88px;
}

.scenario-detail.active {
  display: flex;
}

/* 内部内容的淡入淡出效果 */
.scenario-text,
.scenario-image {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* 文字先出现 */
.scenario-detail.active .scenario-text {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.05s;
}

/* 图片稍后出现 */
.scenario-detail.active .scenario-image {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.15s;
}

/* 淡出时文字和图片同时消失 */
.scenario-detail.fade-out .scenario-text,
.scenario-detail.fade-out .scenario-image {
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  transition-delay: 0s;
}

.scenario-text {
  flex: 0 0 auto;
  max-width: 480px;
}

.scenario-label {
  display: inline-block;
  padding: 8px 20px;

  background: #031746;
  border-radius: 16px;
  font-size: 16px;
  color: #f8faff;
  margin-bottom: 40px;
}

.scenario-text h3 {
  font-family: PingFangSC, PingFang SC;
  font-weight: 500;
  font-size: 21px;
  color: #171a1d;
  line-height: 29px;
  text-align: justify;
  font-style: normal;
  margin-bottom: 20px;
}

.scenario-text p {
  font-family: PingFangSC, PingFang SC;
  font-weight: 400;
  font-size: 16px;
  color: rgba(23, 26, 29, 0.8);
  line-height: 32px;
  text-align: justify;
  font-style: normal;
}

.scenario-image {
  flex: 1;
  max-width: 560px;
}

.scenario-image img {
  height: 428px;
  object-fit: cover;
}

/* 亮点优势 Section */
.voip-advantages {
  padding: 80px 0;
  background: linear-gradient(180deg, #ffffff 0%, #edf7ff 100%);
}

.advantage-row {
  display: flex;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto 80px;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.advantage-row.fade-in {
  opacity: 1;
  transform: translateY(0);
}

.advantage-row:last-of-type {
  margin-bottom: 60px;
}

.advantage-image {
  flex: 1;
}

.advantage-image img {
  max-width: 536px;
  width: 100%;
  height: auto;
}

.advantage-text {
  flex: 1;
}

.advantage-text h3 {
  font-size: 20px;
  font-weight: 500;
  color: #171a1d;
  line-height: 32px;
  margin-bottom: 32px;
}

.advantage-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 24px;
}

.advantage-item img {
  width: 20px;
  height: 20px;
  margin-top: 2px;
}

.advantage-item span {
  font-size: 16px;
  color: rgba(23, 26, 29, 0.8);
  line-height: 24px;
  font-weight: 400;
}

.feature-cards {
  display: flex;
  justify-content: center;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.feature-card {
  flex: 1;
  text-align: left;
  padding: 40px 30px;
  width: 322px;
  height: 340px;
  background: #fdffff;
  border-radius: 32px;
  border: 1px solid #dadada;
  transition: all 0.3s ease;
  opacity: 0;
  transform: translateY(40px);
}

.feature-card.fade-in {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.feature-card:hover {
  background: #ffffff;
  box-shadow: 0px 3px 16px 0px rgba(4, 18, 41, 0.1);
  border-radius: 32px;
  backdrop-filter: blur(6px);
  border: none;
}

.feature-card img {
  width: 52px;
  height: 52px;
  margin-bottom: 24px;
  display: block;
}

.feature-card h4 {
  font-size: 24px;
  font-weight: 500;
  color: #212121;
  margin-bottom: 16px;
  text-align: left;
}

.feature-card p {
  font-size: 14px;
  color: #5f6368;
  line-height: 28px;
  margin-top: 30px;
  text-align: left;
}

/* 平台架构 Section */
.voip-architecture {
  padding: 80px 0;
  background: #fff;
}

.architecture-diagram {
  max-width: 1200px;
  margin: 0 auto;
}

.architecture-diagram img {
  width: 100%;
  height: auto;
}

/* 合作伙伴 Section */
.voip-partners {
  padding: 80px 0;
  background: linear-gradient(180deg, #ffffff 0%, #edf7ff 100%);
  /* filter: blur(16px); */
}

.partners-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 100px;
  position: relative;
}

.slide-track {
  width: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
}

/* Left and right fade using div elements */
.rectL {
  position: absolute;
  z-index: 2;
  left: 0px;
  top: 0px;
  width: 20%;
  height: 100%;
  background: linear-gradient(180deg, #edf7ff 0%, #ffffff 100%);
  filter: blur(16px);
  pointer-events: none;
}

.rectR {
  position: absolute;
  z-index: 2;
  right: 0px;
  top: 0px;
  width: 20%;
  height: 100%;
  background: linear-gradient(180deg, #edf7ff 0%, #ffffff 100%);
  filter: blur(16px);
  pointer-events: none;
}

.slide-content {
  display: flex;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  position: relative;
}

/* Top and bottom fade using pseudo-elements on slide-content */
.slide-content::before,
.slide-content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 8px;
  z-index: 3;
  pointer-events: none;
}

.slidetoL .slide-content {
  animation-name: scrollLeft;
  animation-duration: 40s;
}

.slidetoR .slide-content {
  animation-name: scrollRight;
  animation-duration: 40s;
}

.slide-content img {
  height: 80px;
  width: auto;
  margin: 0;
  flex-shrink: 0;
}

/* Keyframe animations */
@keyframes scrollLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes scrollRight {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}

/* Responsive for content sections */
@media screen and (max-width: 1024px) {
  .scenario-detail,
  .advantage-row {
    flex-direction: column;
  }

  .feature-cards {
    flex-direction: column;
  }
}

@media screen and (max-width: 768px) {
  .section-title {
    font-size: 32px;
  }

  /* Hide tabs on mobile */
  .scenario-tabs {
    display: none;
  }

  /* Show all scenario details on mobile - remove absolute positioning */
  .scenario-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 20px;
    min-height: auto;
    position: static !important;
  }

  .scenario-detail {
    position: static !important;
    display: flex !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    flex-direction: column;
    gap: 20px;
    padding: 30px 20px;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin-bottom: 0;
  }

  .scenario-detail.active,
  .scenario-detail:not(.active) {
    display: flex !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .scenario-text {
    max-width: 100%;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: none !important;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .scenario-label {
    margin-left: 0;
    margin-right: 0;
  }

  .scenario-image {
    max-width: 100%;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: none !important;
    display: flex;
    justify-content: center;
  }

  .scenario-image img {
    height: auto;
    max-height: 300px;
    display: block !important;
    margin: 0 auto;
  }

  .scenario-detail.active .scenario-text,
  .scenario-detail.active .scenario-image,
  .scenario-detail .scenario-text,
  .scenario-detail .scenario-image {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: none !important;
  }

  /* voip-advantages 移动端优化 */
  .voip-advantages {
    padding: 40px 0;
    display: block !important;
  }

  .voip-advantages .contents {
    padding: 0 20px;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    visibility: visible !important;
  }

  .advantage-row {
    flex-direction: column;
    padding: 0;
    margin-bottom: 40px;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: none !important;
    gap: 20px;
    display: flex !important;
  }

  .advantage-row.fade-in,
  .advantage-row:not(.fade-in) {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .advantage-row:last-of-type {
    margin-bottom: 40px;
  }

  .advantage-image {
    width: 100%;
    order: 1;
    display: block !important;
  }

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

  .advantage-text {
    width: 100%;
    order: 2;
    display: block !important;
  }

  .advantage-text h3 {
    font-size: 18px;
    margin-bottom: 24px;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .advantage-item {
    margin-bottom: 16px;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .advantage-item img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .advantage-item span {
    font-size: 14px;
    line-height: 22px;
    display: block;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .feature-cards {
    flex-direction: column;
    gap: 20px;
    padding: 0;
    margin-top: 0;
    display: flex !important;
  }

  .feature-card {
    width: 100%;
    height: auto;
    padding: 30px 20px;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: none !important;
    display: block !important;
  }

  .feature-card.fade-in,
  .feature-card:not(.fade-in) {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .feature-card img {
    width: 48px;
    height: 48px;
    margin-bottom: 20px;
    display: block !important;
  }

  .feature-card h4 {
    font-size: 20px;
    margin-bottom: 12px;
    display: block !important;
  }

  .feature-card p {
    font-size: 14px;
    line-height: 24px;
    margin-top: 0;
    display: block !important;
  }

  .slide-content img {
    height: 40px;
    margin: 0 20px;
  }

  /* voip-partners 移动端优化 */
  .voip-partners {
    padding: 40px 0;
  }

  .partners-grid {
    padding: 0 10px;
  }

  .rectL,
  .rectR {
    width: 10%;
  }
}
