/* =========================================
   Shared tokens
========================================= */
:root {
  --cci-fade-opacity: 0.3;
  --cci-fade-scale: 0.95;
  --cci-active-scale: 1;
  --cci-radius-sm: 12px;
  --cci-radius-md: 16px;
  --cci-control-gap: 40px;
  --cci-control-btn-padding: 6px 14px;
  --cci-control-btn-radius: 4px;
  --cci-control-btn-bg: #eee;
  --cci-control-btn-color: #000;
  --cci-control-btn-size: 18px;
  --cci-video-bg: #000e22;
  --cci-gold-gradient: linear-gradient(90deg, #856220, #f4e683, #bf923d);
  --cci-video-border-gradient:
    linear-gradient(#000e22, #000e22) padding-box,
    linear-gradient(90deg, #856220, #f4e683, #bf923d) border-box;
}

/* =========================================
   Shared controls
========================================= */
.cci-testimonials-text .custom-swiper-controls,
.cci-testimonials-text .pp-slider-arrow {
  display: none !important;
}

.cci-testimonials-video .custom-swiper-controls,
.cci-testimonials-video-single .custom-swiper-controls,
.cci-testimonials-video-single-alt .custom-swiper-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--cci-control-gap);
  margin-top: 40px;
}

.cci-testimonials-text .custom-swiper-controls button,
.cci-testimonials-video .custom-swiper-controls button,
.cci-testimonials-video-single .custom-swiper-controls button,
.cci-testimonials-video-single-alt .custom-swiper-controls button {
  padding: var(--cci-control-btn-padding);
  border: none;
  border-radius: var(--cci-control-btn-radius);
  background: var(--cci-control-btn-bg);
  color: var(--cci-control-btn-color);
  font-size: var(--cci-control-btn-size);
  cursor: pointer;
}

.cci-testimonials-text .custom-swiper-controls .swiper-fraction,
.cci-testimonials-video .custom-swiper-controls .swiper-fraction,
.cci-testimonials-video-single .custom-swiper-controls .swiper-fraction,
.cci-testimonials-video-single-alt .custom-swiper-controls .swiper-fraction {
  font-weight: 700;
}

/* =========================================
   Shared carousel / swiper base
========================================= */
.cci-testimonials-video .pp-video-gallery-carousel .swiper-container-wrap,
.cci-testimonials-video .pp-video-gallery-carousel .swiper-container,
.cci-testimonials-video .swiper,
.cci-testimonials-video-single
  .pp-video-gallery-carousel
  .swiper-container-wrap,
.cci-testimonials-video-single .pp-video-gallery-carousel .swiper-container,
.cci-testimonials-video-single .swiper,
.cci-testimonials-video-single-alt .swiper,
.cci-testimonials-video-single-alt
  .pp-video-gallery-carousel
  .swiper-container-wrap,
.cci-testimonials-video-single-alt .pp-video-gallery-carousel .swiper-container,
.cci-testimonials-video-single-alt .pp-video-container,
.cci-team-members .swiper,
.cci-team-members .swiper-container-wrap {
  overflow: visible;
}

.cci-testimonials-video .pp-video-gallery-item-wrap,
.cci-testimonials-video-single .pp-video-gallery-item-wrap,
.cci-testimonials-video-single-alt .pp-video-wrap {
  transition: transform 0.3s ease;
}

.cci-testimonials-video .pp-media-content,
.cci-testimonials-video-single .pp-media-content,
.cci-testimonials-video-single-alt .pp-media-content {
  text-align: left;
}

/* =========================================
   Shared inactive slide state
========================================= */
.cci-testimonials-video .pp-video-gallery-carousel .swiper-slide,
.cci-testimonials-video-single .pp-video-gallery-carousel .swiper-slide,
.cci-team-members .swiper-slide {
  pointer-events: none;
  opacity: var(--cci-fade-opacity);
  transform: scale(var(--cci-fade-scale));
}

/* Smooth transitions where needed */
.cci-testimonials-video-single .pp-video-gallery-carousel .swiper-slide,
.cci-team-members .swiper-slide {
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

/* =========================================
   Shared video arrow icons
========================================= */
.cci-testimonials-video .fa-angle-left::before,
.cci-testimonials-video .fa-angle-right::before,
.cci-testimonials-video-single .fa-angle-left::before,
.cci-testimonials-video-single .fa-angle-right::before,
.cci-testimonials-video-single-alt .fa-angle-left::before,
.cci-testimonials-video-single-alt .fa-angle-right::before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 25px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-size: contain;
}

.cci-testimonials-video .fa-angle-left::before,
.cci-testimonials-video-single .fa-angle-left::before,
.cci-testimonials-video-single-alt .fa-angle-left::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='25' viewBox='0 0 26 25' fill='none'%3E%3Cpath d='M10.9167 19.7918L3.625 12.5002M3.625 12.5002L10.9167 5.2085M3.625 12.5002L22.375 12.5002' stroke='%23005195' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.cci-testimonials-video .fa-angle-right::before,
.cci-testimonials-video-single .fa-angle-right::before,
.cci-testimonials-video-single-alt .fa-angle-right::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='25' viewBox='0 0 26 25' fill='none'%3E%3Cpath d='M15.0833 19.7918L22.375 12.5002M22.375 12.5002L15.0833 5.2085M22.375 12.5002L3.625 12.5002' stroke='%23002C56' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* =========================================
   Text testimonials
========================================= */
.cci-testimonials-text .swiper-pagination-bullet {
  display: none !important;
}

.cci-testimonials-text .testimonials-less.pp-posts-grid {
  position: relative;
  max-height: 542px;
  overflow: hidden;
}

.cci-testimonials-text .pp-posts-pagination-bottom {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 156px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 30px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 100%);
}

.cci-testimonials-text .pp-post-title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

.cci-testimonials-text .pp-post-title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 30px;
  height: 28px;
  transform: translateY(-50%);
  background: url("https://cci2026dev.wpenginepowered.com/wp-content/uploads/2025/07/star-icon.svg")
    center / contain no-repeat;
}

.cci-testimonials-text .pp-post-thumbnail-wrap img {
  width: 40px;
  height: 40px;
}

.cci-testimonials-text .pp-post-excerpt {
  text-align: left;
}

.cci-testimonials-text .swiper {
  opacity: 0;
  transition: opacity 0.2s ease;
}

.cci-testimonials-text .swiper.height-ready {
  opacity: 1;
}

@media (min-width: 992px) {
  .cci-testimonials-text .pp-posts-carousel,
  .cci-testimonials-text .swiper-container-wrap {
    overflow: visible !important;
  }

  .cci-testimonials-text .swiper-container-wrap {
    padding: 0 40px;
  }

  .cci-testimonials-text .swiper-slide {
    pointer-events: none;
    opacity: var(--cci-fade-opacity);
    transform: scale(var(--cci-fade-scale));
  }

  .cci-testimonials-text
    :is(
      .swiper-slide-active,
      .swiper-slide-next,
      .swiper-slide-next + .swiper-slide
    ) {
    pointer-events: auto;
    opacity: 1;
    transform: scale(var(--cci-active-scale));
  }
}

/* =========================================
   Video testimonials
========================================= */
.cci-testimonials-video .swiper-slide {
  overflow: hidden;
  border: 2px solid transparent !important;
  border-radius: var(--cci-radius-md);
  background: var(--cci-video-border-gradient) !important;
}

.cci-testimonials-video .elementor-fit-aspect-ratio {
  aspect-ratio: 3 / 4;
  padding-bottom: 133.33% !important;
}

.cci-testimonials-video .pp-media-content {
  padding: 28px 16px;
}

@media (max-width: 1024px) {
  .cci-testimonials-video .custom-swiper-controls,
  .cci-testimonials-video-single .custom-swiper-controls,
  .cci-testimonials-video-single-alt .custom-swiper-controls {
    margin-top: 0;
  }

  .cci-testimonials-video .custom-swiper-controls button,
  .cci-testimonials-video .custom-swiper-controls span,
  .cci-testimonials-video-single .custom-swiper-controls button {
    color: #000 !important;
  }

  .cci-testimonials-video-single .custom-swiper-controls .swiper-fraction,
  .cci-testimonials-video-single-alt .custom-swiper-controls .swiper-fraction {
    color: #fff;
  }
}

/* Tablet: show 2 active */
@media (min-width: 768px) and (max-width: 1024px) {
  .cci-testimonials-video .pp-video-gallery-carousel .swiper-slide {
    pointer-events: none !important;
    opacity: var(--cci-fade-opacity) !important;
    transform: scale(var(--cci-fade-scale)) !important;
  }

  .cci-testimonials-video
    .pp-video-gallery-carousel
    :is(.swiper-slide-active, .swiper-slide-next) {
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: scale(var(--cci-active-scale)) !important;
  }
}

/* Mobile: keep only 1 active */
@media (max-width: 767px) {
  .cci-testimonials-video .pp-video-gallery-carousel .swiper-slide {
    pointer-events: none !important;
    opacity: var(--cci-fade-opacity) !important;
    transform: scale(var(--cci-fade-scale)) !important;
  }

  .cci-testimonials-video .pp-video-gallery-carousel .swiper-slide-active {
    min-width: 250px !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: scale(var(--cci-active-scale)) !important;
  }
}

/* Desktop: show 4 active */
@media (min-width: 1025px) {
  .cci-testimonials-video
    .pp-video-gallery-carousel
    :is(
      .swiper-slide-active,
      .swiper-slide-next,
      .swiper-slide-next + .swiper-slide,
      .swiper-slide-next + .swiper-slide + .swiper-slide
    ) {
    min-width: 250px !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: scale(var(--cci-active-scale)) !important;
  }
}

/* =========================================
   Single video testimonial
========================================= */
.cci-testimonials-video-single .pp-slider-arrow {
  top: 27%;
}

.cci-testimonials-video-single .pp-video-container {
  border: 1.5px solid transparent !important;
  border-radius: var(--cci-radius-md);
  background: var(--cci-video-border-gradient) !important;
}

.cci-testimonials-video-single
  .pp-video-gallery-carousel
  .swiper-container-wrap {
  padding: 0 40px;
}

.cci-testimonials-video-single .pp-video-gallery-carousel .swiper-slide-active {
  pointer-events: auto;
  opacity: 1;
  transform: scale(var(--cci-active-scale));
}

.cci-testimonials-video-single .swiper-slide {
  overflow: hidden;
  border-radius: var(--cci-radius-sm);
}

.cci-testimonials-video-single .pp-media-content {
  padding: 30px;
}

.cci-testimonials-video-single .color-gold,
.cci-testimonials-video-single-alt .color-gold {
  position: relative;
  display: block;
  padding-bottom: 20px;
  margin-bottom: 30px;
}

.cci-testimonials-video-single .color-gold::after,
.cci-testimonials-video-single-alt .color-gold::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--cci-gold-gradient);
}

.cci-testimonials-video-single .pp-icon,
.cci-testimonials-video-single-alt .pp-icon {
  color: #000;
}

.cci-testimonials-video-single .pp-video-title {
  margin-bottom: 24px;
}

@media (max-width: 1024px) {
  .cci-testimonials-video-single
    .pp-video-gallery-carousel
    .swiper-container-wrap,
  .cci-testimonials-video-single-alt
    .pp-video-gallery-carousel
    .swiper-container-wrap {
    padding: 0;
  }

  .cci-testimonials-video-single .pp-video-description,
  .cci-testimonials-video-single-alt .pp-video-description {
    display: none;
  }

  .cci-testimonials-video-single .pp-slider-arrow,
  .cci-testimonials-video-single-alt .pp-slider-arrow {
    display: none;
  }

  .cci-testimonials-video-single .pp-video-content,
  .cci-testimonials-video-single-alt .pp-video-content {
    padding: 16px !important;
  }

  .cci-testimonials-video-single .pp-video-gallery .pp-video-player > img,
  .cci-testimonials-video-single-alt .pp-video-gallery .pp-video-player > img {
    object-fit: unset;
  }

  .cci-testimonials-video-single .color-gold,
  .cci-testimonials-video-single-alt .color-gold {
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .cci-testimonials-video-single .color-gold::after,
  .cci-testimonials-video-single-alt .color-gold::after {
    background: none;
  }
}

/* =========================================
   Team Members Carousel
========================================= */
.cci-team-members .swiper-container-wrap {
  padding: 0 40px;
}

.cci-team-members .swiper-slide {
  opacity: var(--cci-fade-opacity) !important;
  transform: scale(var(--cci-fade-scale)) !important;
  pointer-events: none !important;
}

@media (min-width: 1024px) {
  .cci-team-members
    :is(
      .swiper-slide-active,
      .swiper-slide-next,
      .swiper-slide-next + .swiper-slide,
      .swiper-slide-next + .swiper-slide + .swiper-slide
    ) {
    opacity: 1 !important;
    transform: scale(var(--cci-active-scale)) !important;
    pointer-events: auto !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .cci-team-members
    :is(
      .swiper-slide-active,
      .swiper-slide-next,
      .swiper-slide-next + .swiper-slide
    ) {
    opacity: 1 !important;
    transform: scale(var(--cci-active-scale)) !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 767px) {
  .cci-team-members .swiper-container-wrap {
    padding: 0;
  }

  .cci-team-members .swiper-slide-active {
    opacity: 1 !important;
    transform: scale(var(--cci-active-scale)) !important;
    pointer-events: auto !important;
  }
}

/* =========================================
   Team Member Card
========================================= */
.cci-team-members .pp-tm-image {
  position: relative;
  display: inline-block;
}

.cci-team-members .read-more-btn {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 14px;
  background: #fff;
  color: #000;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cci-team-members .pp-tm-image:hover .read-more-btn {
  opacity: 1;
}

@media (max-width: 767px) {
  .cci-team-members .read-more-btn {
    opacity: 1;
  }
}

/* =========================================
   Single Alt Video Testimonial
========================================= */
.cci-testimonials-video-single-alt .pp-video {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1.5px solid transparent !important;
  border-radius: var(--cci-radius-md);
  background: var(--cci-video-border-gradient) !important;
}

.cci-testimonials-video-single-alt .pp-video-container {
  width: 100%;
  max-width: 280px;
  padding-bottom: 498px !important;
}

.cci-testimonials-video-single-alt .pp-slider-arrow {
  top: 27%;
}

.cci-testimonials-video-single-alt .swiper-slide {
  overflow: hidden;
  border-radius: var(--cci-radius-sm);
}

.cci-testimonials-video-single-alt .pp-video-gallery-carousel .swiper-slide,
.cci-testimonials-video-single-alt
  .pp-video-gallery-carousel
  .swiper-slide-next {
  pointer-events: none;
  opacity: var(--cci-fade-opacity);
}

.cci-testimonials-video-single-alt
  .pp-video-gallery-carousel
  .swiper-slide-active,
.cci-testimonials-video-single-alt .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  opacity: 1;
  transform: scale(var(--cci-active-scale));
}

.cci-testimonials-video-single-alt .pp-media-content {
  padding: 30px;
}

.cci-testimonials-video-single-alt .pp-video-content {
  padding: 32px !important;
}

.cci-testimonials-video-single-alt .color-gold {
  font-size: 28px;
  line-height: 36px;
}

.cci-testimonials-video-single-alt .pp-video-title {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 99;
  width: 100% !important;
  margin-bottom: 24px;
  padding: 0 20px;
  font-size: 20px !important;
  line-height: 28px !important;
  text-align: left !important;
}

.cci-testimonials-video-single-alt .pp-video-title span {
  display: flex;
  font-size: 16px;
  line-height: 24px;
}

@media (max-width: 1024px) {
  .cci-testimonials-video-single-alt .pp-video-container {
    width: 350px;
    padding-bottom: 120%;
  }

  .cci-testimonials-video-single-alt .pp-video-title {
    margin-bottom: 20px !important;
  }
}
