.testimonial-video-card {
  position: relative;
  width: 100%;
  max-width: 320px;
  margin-inline: auto;
  border-radius: inherit;
  overflow: hidden;
  background: var(--tp-card-bg);
  color: var(--tp-text);
}

.video-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
  aspect-ratio: var(--tp-video-ratio, 9 / 16);
}

.video-wrapper video,
.video-wrapper .plyr {
  display: block;
  width: 100%;
  height: 100%;
}

.video-wrapper .plyr {
  direction: ltr;
  --plyr-color-main: var(--tp-yellow);
  --plyr-control-spacing: 6px;
  --plyr-control-icon-size: 16px;
  --plyr-range-track-height: 4px;
  --plyr-range-thumb-height: 10px;
  --plyr-video-progress-buffered-background: var(--tp-progress-buffer);
  --plyr-video-range-track-background: var(--tp-progress-track);
}

.video-wrapper .plyr__video-wrapper,
.video-wrapper .plyr video {
  background: transparent !important;
  height: 100%;
}

.video-wrapper .plyr video {
  object-fit: cover;
}

.video-wrapper .plyr__poster {
  background-size: cover;
  background-position: center;
}

.video-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    var(--tp-overlay-start) 0%,
    var(--tp-overlay-middle) 32%,
    var(--tp-overlay-top) 80%
  );
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.video-badge {
  position: absolute;
  left: var(--tp-badge-left, 18px);
  right: var(--tp-badge-right, auto);
  top: 22px;
  z-index: 4;
  display: inline-flex;
  flex-direction: var(--tp-badge-direction, row);
  align-items: center;
  gap: 8px;
  padding: 7px 13px;
  border-radius: 999px;
  background: var(--tp-badge-bg);
  color: var(--tp-badge-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.35px;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

.video-badge .video-badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--tp-badge-icon-color, var(--tp-yellow));
}

.video-badge .video-badge-icon i {
  font-size: 14px;
  line-height: 1;
}

.video-badge .video-badge-icon svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.video-info {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 74px;
  z-index: 4;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

.video-info .name {
  margin: 0;
  color: var(--tp-name-color);
  font-size: 30px;
  line-height: 1.02;
  font-weight: 700;
  text-shadow: 0 2px 5px var(--tp-name-shadow-color);
}

.video-info .job {
  display: block;
  margin-top: 8px;
  color: var(--tp-job-color);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 500;
  text-shadow: 0 2px 4px var(--tp-job-shadow-color);
}

.video-wrapper .plyr--video .plyr__control--overlaid {
  background: var(--tp-play-button-bg) !important;
  border: 4px solid var(--tp-text) !important;
  width: 96px;
  height: 96px;
  padding: 0;
  top: 53%;
  z-index: 10 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-wrapper .plyr--video .plyr__control--overlaid svg {
  position: static;
  left: 0;
  margin: 0;
  width: 28px;
  height: 28px;
  fill: var(--tp-text);
}

.video-wrapper .plyr--video .plyr__controls {
  z-index: 9;
  background: linear-gradient(
    to top,
    var(--tp-controls-grad-start),
    var(--tp-controls-grad-end)
  ) !important;
  padding: 8px 10px 10px;
}

.video-wrapper .plyr__controls .plyr__control {
  color: var(--tp-text) !important;
  padding: 5px;
}

.video-wrapper .plyr__controls .plyr__control:hover,
.video-wrapper .plyr__controls .plyr__control[aria-expanded="true"] {
  background: var(--tp-control-bg) !important;
}

.video-wrapper .plyr--full-ui .plyr__progress input[type="range"] {
  color: var(--tp-yellow);
}

.video-wrapper .plyr__controls .plyr__progress__container {
  margin-left: 4px;
  margin-right: 4px;
}

.video-wrapper .plyr__time {
  color: var(--tp-text);
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.video-wrapper .plyr__controls .plyr__controls__item.plyr__time {
  padding: 0 2px;
}

.video-wrapper .plyr__time + .plyr__time::before {
  margin-right: 4px;
}

.testimonial-video-card.is-playing .video-overlay,
.testimonial-video-card.is-playing .video-badge,
.testimonial-video-card.is-playing .video-info {
  opacity: 0;
  visibility: hidden;
}

.testimonial-video-card.is-playing .video-badge,
.testimonial-video-card.is-playing .video-info {
  transform: translateY(8px);
}

@media (max-width: 767px) {
  .testimonial-video-card {
    max-width: 100%;
  }

  .video-badge {
    top: 18px;
    left: var(--tp-badge-mobile-left, 14px);
    right: var(--tp-badge-mobile-right, auto);
    font-size: 11px;
  }

  .video-info {
    left: 14px;
    right: 14px;
    bottom: 68px;
  }

  .video-info .name {
    font-size: 26px;
  }

  .video-info .job {
    font-size: 17px;
  }

  .video-wrapper .plyr--video .plyr__control--overlaid {
    width: 88px;
    height: 88px;
  }

  .video-wrapper .plyr__time {
    font-size: 11px;
  }

}
