@media (max-width: 767px) {
  .v3-partner-logo-item {
    min-width: calc(50% - 8px);
  }
}


/* ============================================
   PARTNER CAROUSEL
   ============================================ */

.v3-pcarousel {
  position: relative;
  margin-bottom: 72px;
}

.v3-pcarousel-viewport {
  overflow: hidden;
  margin: 0 52px;
  border-radius: var(--v3-r-md);
}

.v3-pcarousel-track {
  display: flex;
  gap: 16px;
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  will-change: transform;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}

.v3-pcarousel-track.is-dragging {
  transition: none;
  cursor: grabbing;
}

/* Desktop: 4 per page */
.v3-pcarousel-item {
  flex: 0 0 calc((100% - 16px * 3) / 4);
  min-width: calc((100% - 16px * 3) / 4);
  display: flex;
}

.v3-pcarousel-item .v3-partner-logo-item {
  width: 100%;
  justify-content: center;
}

/* Carousel nav buttons */
.v3-pcarousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-86%);
  z-index: 5;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(0, 85, 80, 0.15);
  background: #fff;
  color: var(--v3-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  box-shadow: 0 2px 12px rgba(0, 85, 80, 0.08);
  font-size: 0.85rem;
}

.v3-pcarousel-btn:hover {
  background: var(--v3-primary);
  color: #fff;
  border-color: var(--v3-primary);
  box-shadow: 0 4px 20px rgba(0, 85, 80, 0.18);
}

.v3-pcarousel-btn:disabled {
  opacity: 0.25;
  cursor: not-allowed;
  pointer-events: none;
}

.v3-pcarousel-prev { left: 0; }
.v3-pcarousel-next { right: 0; }

/* Dots */
.v3-pcarousel-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}

.v3-pcarousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 85, 80, 0.18);
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}

.v3-pcarousel-dot.active {
  background: var(--v3-primary);
  width: 24px;
  border-radius: 4px;
}

@media (max-width: 991px) {
  .v3-pcarousel-item {
    flex: 0 0 calc((100% - 16px * 2) / 3);
    min-width: calc((100% - 16px * 2) / 3);
  }
}

@media (max-width: 767px) {
  .v3-pcarousel-item {
    flex: 0 0 calc((100% - 16px) / 2);
    min-width: calc((100% - 16px) / 2);
  }
  .v3-pcarousel-viewport {
    margin: 0 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v3-pcarousel-track {
    transition: none;
  }
}