.idxs-testimonials-section {
  --idxs-block-offset-y: var(--idxs-block-offset-y-desktop, 0px);
  background: transparent !important;
  padding: var(--idxs-section-padding-y, 36px) 0;
  overflow: visible;
  transform: translate3d(0, var(--idxs-block-offset-y), 0);
}

.idxs-testimonials-inner {
  width: min(1200px, calc(100% - 32px));
  margin: 0 auto;
}

.idxs-testimonials-carousel {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-inline: min(var(--idxs-full-width-gutter-desktop, 24px), var(--idxs-safe-gutter-desktop));
  box-sizing: border-box;
  overflow: visible;
}

.idxs-testimonials-carousel {
  --idxs-safe-gutter-desktop: max(0px, calc((100vw - 320px) / 2));
  --idxs-safe-gutter-tablet: max(0px, calc((100vw - 260px) / 2));
  --idxs-safe-gutter-mobile: max(0px, calc((100vw - 220px) / 2));
}

.idxs-testimonials-header {
  display: none;
}

.idxs-testimonials-header h2 {
  margin: 0 0 var(--idxs-title-gap, 10px);
  color: var(--idxs-primary, #14337b);
  font-size: clamp(1.9rem, 2.4vw, 2.8rem);
  line-height: var(--idxs-title-line-height, 1.1);
}

.idxs-testimonials-header p {
  margin: 0;
  color: var(--idxs-muted, #7b8794);
  font-size: 1rem;
  line-height: var(--idxs-subtitle-line-height, 1.65);
}

.idxs-testimonials-stage {
  width: min(100%, calc(var(--idxs-stage-width-desktop, 100) * 1%));
  margin-left: auto;
  margin-right: auto;
}

.idxs-testimonials-viewport {
  width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  user-select: none;
  -webkit-user-select: none;
  box-sizing: border-box;
  background: var(--idxs-stage-bg, transparent);
  padding-top: var(--idxs-stage-top-desktop, 0px);
  padding-bottom: var(--idxs-stage-bottom-desktop, 0px);
}

.idxs-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(var(--idxs-cols-desktop, 2), minmax(0, 1fr));
  gap: var(--idxs-gap, 28px);
  align-items: start;
}

.idxs-testimonials-track {
  width: 100%;
  will-change: transform;
}

.idxs-testimonials-carousel.is-ready .idxs-testimonials-track {
  display: flex;
  transition: transform var(--idxs-track-duration, 450ms) var(--idxs-track-easing, ease);
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.idxs-testimonials-carousel.is-ready .idxs-testimonials-grid {
  display: none;
}

.idxs-testimonials-slide {
  width: 100%;
  min-width: 100%;
  flex: 0 0 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(var(--idxs-slide-cols, var(--idxs-cols-desktop, 2)), minmax(0, 1fr));
  gap: var(--idxs-gap, 28px);
  align-items: start;
}

.idxs-testimonials-carousel.is-disabled .idxs-testimonials-viewport {
  overflow: visible;
}

.idxs-testimonials-carousel.is-disabled .idxs-testimonials-track {
  display: none;
  transform: none !important;
}

.idxs-testimonials-carousel.is-disabled .idxs-testimonials-grid {
  display: grid;
}

.idxs-testimonials-controls {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
}

.idxs-testimonials-carousel.has-carousel .idxs-testimonials-controls {
  display: flex;
}

.idxs-testimonials-arrow {
  width: 46px;
  height: 46px;
  border: 1px solid var(--idxs-border, #e8edf5);
  border-radius: 999px;
  background: var(--idxs-card-bg, #fff);
  color: var(--idxs-primary, #14337b);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(20, 51, 123, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.idxs-testimonials-arrow:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(20, 51, 123, 0.12);
}

.idxs-testimonials-arrow:disabled {
  opacity: 0.45;
  cursor: default;
}

.idxs-testimonials-arrow svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}

.idxs-testimonials-dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--idxs-dots-gap, 8px);
  flex-wrap: wrap;
  -webkit-tap-highlight-color: transparent;
  overflow: visible;
}

.idxs-testimonials-dot {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  box-shadow: none;
  overflow: visible;
}

.idxs-testimonials-dot::before {
  content: '';
  display: block;
  width: var(--idxs-dot-size, 10px);
  height: var(--idxs-dot-size, 10px);
  border-radius: 999px;
  background: var(--idxs-dot-inactive, #d1d8d4);
  transition: width 0.2s ease, height 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
}

.idxs-testimonials-dot.is-active::before {
  width: calc(var(--idxs-dot-size, 10px) * 1.15);
  height: calc(var(--idxs-dot-size, 10px) * 1.15);
  background: var(--idxs-dot-active, #5ea33b);
}

.idxs-testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: var(--idxs-card-min-height, 0px);
  height: auto;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.idxs-testimonial-card__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  border-radius: var(--idxs-card-radius, 28px);
  padding: var(--idxs-card-padding, 32px);
  background: var(--idxs-card-bg, #fff);
  border: 1px solid var(--idxs-border, #e8edf5);
  box-shadow: 0 0 0 rgba(20, 51, 123, 0);
  transition: transform 0.52s cubic-bezier(0.22, 0.82, 0.2, 1), box-shadow 0.52s cubic-bezier(0.22, 0.82, 0.2, 1);
  will-change: transform, box-shadow;
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  .idxs-testimonial-card:hover .idxs-testimonial-card__inner {
    transform: translateY(-4px);
    box-shadow: 0 26px 64px rgba(20, 51, 123, 0.13);
  }
}

@media (max-width: 767px) {
  .idxs-testimonials-carousel {
    overflow: visible;
    padding-top: 16px;
    padding-bottom: 18px;
  }

  .idxs-testimonials-viewport {
    overflow: hidden;
    padding-top: 16px;
    padding-bottom: 34px;
    touch-action: pan-y;
    min-height: var(--isc-slider-height, auto);
    position: relative;
    z-index: 1;
  }

  .idxs-testimonials-carousel.is-ready .idxs-testimonials-track {
    transition: transform 450ms ease;
  }

  .idxs-testimonials-slide {
    padding-inline: var(--isc-mobile-edge-space, 14px);
    padding-bottom: 8px;
  }

  .idxs-testimonial-card {
    min-height: var(--isc-slider-height, auto);
    margin: 0;
    padding-top: 22px;
    padding-bottom: 44px;
  }

  .idxs-testimonial-card__inner {
    border-radius: 24px;
    transition: box-shadow 0.25s ease, transform var(--isc-mobile-hover-return, 2s) cubic-bezier(0.22, 1, 0.36, 1);
    transform: translate3d(0, 0, 0);
    box-shadow: 0 0 0 rgba(18, 31, 22, 0);
    will-change: transform, box-shadow;
  }

  .idxs-testimonial-card.is-tapped {
    z-index: 2;
  }

  .idxs-testimonial-card.is-tapped .idxs-testimonial-card__inner {
    transform: translateY(calc(var(--isc-mobile-hover-jump, 14px) * -1));
    box-shadow: 0 18px 45px rgba(18, 31, 22, var(--isc-mobile-shadow-opacity, 0.12));
  }

  .idxs-testimonials-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--idxs-mobile-dots-gap, var(--idxs-dots-gap, 8px));
    margin-top: 18px;
    padding-bottom: 4px;
    position: relative;
    z-index: 2;
    transform: translate3d(0, var(--isc-dots-offset-y, 0px), 0);
    will-change: transform;
    overflow: visible;
  }

  .idxs-testimonials-dot {
    width: 12px;
    height: 12px;
    flex-basis: 12px;
    outline: none;
  }

  .idxs-testimonials-dot::before {
    width: var(--idxs-mobile-dot-size, 8px);
    height: var(--idxs-mobile-dot-size, 8px);
    background: var(--isc-dots-color, rgba(16, 38, 25, 0.18));
  }

  .idxs-testimonials-dot.is-active::before {
    width: calc(var(--idxs-mobile-dot-size, 8px) * 1.2);
    height: calc(var(--idxs-mobile-dot-size, 8px) * 1.2);
    background: var(--isc-dots-active-color, #5ea33b);
  }
}


/* Logo de decoración en esquina superior derecha */
.idxs-card-logo {
  position: absolute;
  top: 16px;
  right: 18px;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  width: 72px;
  min-height: 34px;
}

.idxs-card-logo img {
  display: block;
  width: auto;
  max-width: 56px;
  max-height: 32px;
  height: auto;
  object-fit: contain;
  opacity: 0.85;
}

.idxs-testimonial-top {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  padding-right: 82px;
  min-height: 34px;
}

.idxs-stars {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  transform: translateY(var(--idxs-stars-offset-y, 0px));
}

.idxs-star {
  display: inline-flex;
  width: var(--idxs-stars-size, 20px);
  height: var(--idxs-stars-size, 20px);
  color: var(--idxs-accent, #8dd73f);
}

.idxs-star svg,
.idxs-top-decoration--quote svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}

.idxs-top-decoration {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.idxs-top-decoration--quote {
  width: 44px;
  height: 44px;
  color: var(--idxs-quote, #d8edc3);
}

.idxs-top-decoration--image img {
  display: block;
  width: auto;
  max-width: 120px;
  max-height: 48px;
  height: auto;
  object-fit: contain;
}

.idxs-testimonial-quote-wrap {
  position: relative;
  display: block;
  margin: var(--idxs-stars-quote-gap, 20px) 0 var(--idxs-quote-footer-gap, 28px);
  padding-left: 0;
  border: 0;
}

.idxs-testimonial-quote-wrap::before {
  content: none;
  display: none;
}

.idxs-testimonial-quote {
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-inline: 0 !important;
  box-shadow: none;
  background: transparent;
  color: var(--idxs-text, #334155);
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  line-height: var(--idxs-quote-line-height, 1.7);
  font-weight: 500;
}

.idxs-testimonial-quote::before,
.idxs-testimonial-quote::after {
  content: none !important;
  display: none !important;
}

.idxs-testimonial-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}

.idxs-avatar-wrap {
  flex: 0 0 auto;
}

.idxs-avatar {
  width: var(--idxs-avatar-size, 64px);
  height: var(--idxs-avatar-size, 64px);
  border-radius: 999px;
  object-fit: cover;
  display: block;
}

.idxs-avatar-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--idxs-primary, #14337b) 0%, var(--idxs-accent, #8dd73f) 100%);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.04em;
  box-shadow: inset 0 0 0 3px rgba(255,255,255,0.16);
}

.idxs-person {
  min-width: 0;
}

.idxs-person strong {
  display: block;
  color: var(--idxs-primary, #14337b);
  font-size: 1.18rem;
  line-height: var(--idxs-name-line-height, 1.2);
}

.idxs-person span {
  display: block;
  margin-top: var(--idxs-name-meta-gap, 6px);
  color: var(--idxs-muted, #7b8794);
  font-size: 0.98rem;
  line-height: var(--idxs-meta-line-height, 1.45);
}

@media (max-width: 991px) {
  .idxs-testimonials-section {
    --idxs-block-offset-y: var(--idxs-block-offset-y-tablet, var(--idxs-block-offset-y-desktop, 0px));
  }

  .idxs-testimonials-grid {
    grid-template-columns: repeat(var(--idxs-cols-tablet, 2), minmax(0, 1fr));
  }

  .idxs-testimonials-carousel {
    padding-inline: min(var(--idxs-full-width-gutter-tablet, 18px), var(--idxs-safe-gutter-tablet));
  }

  .idxs-testimonials-stage {
    width: min(100%, calc(var(--idxs-stage-width-tablet, var(--idxs-stage-width-desktop, 100)) * 1%));
  }

  .idxs-testimonials-viewport {
    padding-top: var(--idxs-stage-top-tablet, var(--idxs-stage-top-desktop, 0px));
    padding-bottom: var(--idxs-stage-bottom-tablet, var(--idxs-stage-bottom-desktop, 0px));
  }
}

@media (max-width: 767px) {
  .idxs-testimonials-section {
    --idxs-block-offset-y: var(--idxs-block-offset-y-mobile, var(--idxs-block-offset-y-tablet, 0px));
  }

  .idxs-testimonials-inner {
    width: min(1200px, calc(100% - 12px));
  }

  .idxs-testimonials-carousel {
    padding-inline: min(var(--idxs-full-width-gutter-mobile, 10px), var(--idxs-safe-gutter-mobile));
  }

  .idxs-testimonials-stage {
    width: min(100%, calc(var(--idxs-stage-width-mobile, var(--idxs-stage-width-tablet, var(--idxs-stage-width-desktop, 100))) * 1%));
  }

  .idxs-testimonials-viewport {
    padding-top: var(--idxs-stage-top-mobile, var(--idxs-stage-top-tablet, 0px));
    padding-bottom: var(--idxs-stage-bottom-mobile, var(--idxs-stage-bottom-tablet, 0px));
  }

  .idxs-testimonials-grid {
    grid-template-columns: repeat(var(--idxs-cols-mobile, 1), minmax(0, 1fr));
  }

  .idxs-testimonials-slide {
    padding-inline: var(--isc-mobile-edge-space, 14px);
  }

  .idxs-testimonial-card__inner {
    padding: min(var(--idxs-card-padding, 32px), 16px);
  }

  .idxs-testimonials-viewport {
    padding-top: max(16px, var(--idxs-stage-top-mobile, var(--idxs-stage-top-tablet, 0px)));
    padding-bottom: max(34px, calc(var(--idxs-stage-bottom-mobile, var(--idxs-stage-bottom-tablet, 0px)) + 18px));
  }

  .idxs-testimonial-top {
    padding-right: 56px;
  }

  .idxs-top-decoration--quote {
    width: 28px;
    height: 28px;
  }

  .idxs-top-decoration--image img {
    max-width: 92px;
    max-height: 40px;
  }
}
