/* ============================================
   客户与伙伴轮播区域样式 (设计稿: 1920px)
   vw = px / 1920 * 100
   ============================================ */

.clients-partners {
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
  background-color: #505f2d !important;
  background-image: url("https://oss.coolgua.net/gw/images/cus.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-blend-mode: normal !important;
}

.clients-partners .container {
  width: 100%;
  padding: 5.2083vw 0 5.2083vw 4.4271vw;
}

.clients-partners h2 {
  text-align: left;
  font-size: 3.125vw;
  line-height: 1;
  margin-bottom: 3.125vw;
  color: #fff;
  margin-top: 0;
  padding-top: 0;
}

.clients-partners-divider {
  width: 13.0208vw;
  height: 0.5208vw;
  background: #fff;
  margin-bottom: 1.5625vw;
  align-self: flex-start;
}

.clients-partners-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.clients-partners-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8333vw;
  flex-shrink: 0;
}

.clients-carousel-nav {
  width: 3.6458vw;
  height: 3.6458vw;
  background: #fff;
  font-size: 1.3542vw;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
}

.clients-carousel-nav:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

.clients-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.9167vw;
  align-items: stretch;
  flex: 0 1 70.8333vw;
}

.clients-grid .client-item {
  position: relative;
}

.client-item > a,
.client-item > div {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  text-align: center;
  gap: 1.0417vw;
}

.client-item:hover {
  transform: translateY(-0.3125vw);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  border-color: #cccccc;
}

.client-logo {
  width: 100%;
  display: flex;
  align-items: stretch;
  padding: 0;
  flex-shrink: 0;
  aspect-ratio: 1 / 1.3;
  box-sizing: border-box;
  overflow: hidden;
}

.client-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  opacity: 1;
  display: block;
  padding: 0;
}

.client-description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  background: #fff;
  margin: 0 auto;
  padding: 2.5vw 1.5625vw 3.125vw;
  position: absolute;
  left: 30%;
  bottom: 0;
  right: 0;
  overflow: hidden;
}

.client-desc {
  font-size: 0.9375vw;
  color: #000;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.client-description p {
  font-size: 0.8333vw;
  font-weight: 400;
  color: #000;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  text-align: left;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.125vw;
  height: 3.125vw;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: white;
  font-size: 1.25vw;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 10;
  display: none;
  align-items: center;
  justify-content: center;
}

.carousel-btn:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.carousel-btn-prev {
  left: 1.0417vw;
}

.carousel-btn-next {
  right: 1.0417vw;
}

.carousel-indicators {
  position: absolute;
  bottom: 2.6042vw;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.7813vw;
  z-index: 20;
}

.carousel-indicator {
  width: 0.625vw;
  height: 0.625vw;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}

.carousel-indicator.active {
  background: white;
  width: 1.5625vw;
  border-radius: 0.3125vw;
}
