/* Testimonials / success stories. Shared by the editor and the public landing. */
.testimonials-section {
  --testimonial-ink: var(--section-title-custom, var(--section-auto-title, var(--landing-accent, #172033)));
  --testimonial-copy: var(--section-text-custom, var(--section-auto-text, #64748b));
  --testimonial-card: var(--section-card-custom, #fff);
  --testimonial-accent: var(--section-accent-custom, var(--landing-primary, #3f46ff));
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: clamp(34px, 7vw, 96px) auto;
  padding: clamp(64px, 8vw, 112px) clamp(22px, 5vw, 72px);
  color: var(--testimonial-ink);
  overflow: visible;
}

.testimonials-section[data-section-width="contained"] {
  width: min(calc(100% - clamp(24px, 5vw, 72px)), 1380px);
}

.testimonials-section[data-section-width="full"] {
  width: 100%;
  max-width: none;
}

.testimonials-section[data-section-bg="none"] { background: transparent; }
.testimonials-section[data-section-bg="light"] { background: rgba(248, 250, 252, .96); }
.testimonials-section[data-section-bg="dark"] { background: linear-gradient(135deg, #1e293b, #0f172a); }
.testimonials-section[data-section-bg="gradient"] { background: linear-gradient(135deg, var(--landing-primary), var(--landing-accent)); }
.testimonials-section[data-section-bg="accent"] { background: var(--landing-accent); }
.testimonials-section[data-section-bg="custom"] { background: var(--section-bg-custom, #fff); }

.testimonials-section[data-section-bg="dark"],
.testimonials-section[data-section-bg="gradient"],
.testimonials-section[data-section-bg="accent"] {
  --testimonial-ink: var(--section-title-custom, #fff);
  --testimonial-copy: var(--section-text-custom, rgba(255, 255, 255, .74));
  --testimonial-card: var(--section-card-custom, rgba(255, 255, 255, .1));
}

.testimonials-section[data-section-frame]:not([data-section-frame="none"]) {
  background: transparent;
}

.testimonials-section-inner {
  width: min(100%, 1240px);
  margin: 0 auto;
}

.testimonials-section-header {
  width: min(100%, 760px);
  margin: 0 auto clamp(34px, 5vw, 64px);
  text-align: center;
}

.testimonials-eyebrow {
  margin: 0 0 13px;
  color: var(--testimonial-accent);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.testimonials-section-title {
  margin: 0;
  color: var(--testimonial-ink);
  font-size: var(--nb-section-title, clamp(1.6rem, 2.25vw, 2.25rem));
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.08;
  text-wrap: balance;
}

.testimonials-section-subtitle {
  max-width: 62ch;
  margin: 16px auto 0;
  color: var(--testimonial-copy);
  font-size: var(--nb-section-subtitle, clamp(.98rem, 1.1vw, 1.08rem));
  line-height: 1.6;
  text-wrap: balance;
}

.testimonials-section[data-section-title-visible="false"] .testimonials-section-header {
  display: none;
}

.testimonials-carousel,
.testimonials-viewport,
.testimonials-list {
  position: relative;
  min-width: 0;
}

.testimonials-viewport { overflow: hidden; }

.testimonials-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.testimonial-item {
  position: relative;
  min-width: 0;
  color: var(--testimonial-ink);
}

.testimonials-section[data-section-layout="story-slider"] .testimonial-item,
.testimonials-section[data-section-layout="focus-fade"] .testimonial-item,
.testimonials-section[data-section-layout="case-study"] .testimonial-item {
  display: none;
}

.testimonials-section[data-section-layout="story-slider"] .testimonial-item.is-active,
.testimonials-section[data-section-layout="focus-fade"] .testimonial-item.is-active,
.testimonials-section[data-section-layout="case-study"] .testimonial-item.is-active {
  display: grid;
  animation: testimonial-enter .5s cubic-bezier(.22, .7, .2, 1) both;
}

.testimonials-section[data-section-layout="card-carousel"] .testimonials-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 24px);
}

.testimonials-section[data-section-layout="card-carousel"] .testimonial-item {
  display: none;
}

.testimonials-section[data-section-layout="card-carousel"] .testimonial-item.is-visible {
  display: flex;
  animation: testimonial-enter .42s ease both;
}

.testimonial-visual {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: color-mix(in srgb, var(--testimonial-accent) 9%, #eef2f7);
}

.testimonial-media {
  width: 100%;
  height: 100%;
  margin: 0;
}

.testimonial-media-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testimonial-avatar-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: color-mix(in srgb, var(--testimonial-accent) 82%, #111827);
  font-size: clamp(2rem, 6vw, 5rem);
  font-weight: 800;
}

.testimonial-item[data-has-image] .testimonial-avatar-fallback { display: none; }

.testimonial-content { min-width: 0; }

.testimonial-result {
  width: fit-content;
  margin: 0 0 18px;
  color: var(--testimonial-accent);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.testimonial-quote {
  position: relative;
  margin: 0;
  color: var(--testimonial-ink);
  font-size: clamp(1.22rem, 2vw, 1.78rem);
  font-weight: 650;
  letter-spacing: -.028em;
  line-height: 1.38;
  text-wrap: pretty;
}

.testimonial-person { margin-top: clamp(24px, 4vw, 42px); }

.testimonial-name {
  margin: 0;
  color: var(--testimonial-ink);
  font-size: var(--nb-item-title, clamp(1.08rem, 1.45vw, 1.4rem));
  font-weight: 780;
  line-height: 1.25;
}

.testimonial-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 6px 0 0;
  color: var(--testimonial-copy);
  font-size: .88rem;
  line-height: 1.45;
}

.testimonial-meta-separator { opacity: .48; }

.testimonial-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: clamp(24px, 4vw, 42px);
}

.testimonial-arrow {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--testimonial-ink) 18%, transparent);
  border-radius: 50%;
  background: transparent;
  color: var(--testimonial-ink);
  font: inherit;
  cursor: pointer;
  transition: transform .18s ease, color .18s ease, background .18s ease, border-color .18s ease;
}

.testimonial-arrow:hover,
.testimonial-arrow:focus-visible {
  border-color: var(--testimonial-accent);
  background: var(--testimonial-accent);
  color: #fff;
  outline: none;
  transform: translateY(-2px);
}

.testimonial-arrow:disabled {
  opacity: .35;
  cursor: default;
  transform: none;
}

.testimonial-dots {
  display: flex;
  align-items: center;
  gap: 7px;
}

.testimonial-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--testimonial-ink) 24%, transparent);
  cursor: pointer;
  transition: width .2s ease, border-radius .2s ease, background .2s ease;
}

.testimonial-dot.is-active {
  width: 26px;
  border-radius: 999px;
  background: var(--testimonial-accent);
}

.testimonial-counter {
  min-width: 40px;
  color: var(--testimonial-copy);
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.testimonials-add-row {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.section-playback-interval {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  color: #334155;
  font-size: .84rem;
  font-weight: 650;
}

.section-playback-interval select {
  min-width: 132px;
  padding: 9px 32px 9px 11px;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #fff;
  color: #172033;
  font: inherit;
}

/* Story slider: a photographic case story with an editorial split. */
.testimonials-section[data-section-layout="story-slider"] .testimonial-item {
  grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr);
  min-height: 430px;
  overflow: hidden;
  border-radius: clamp(22px, 3vw, 38px);
  background: var(--testimonial-card);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .11);
}

.testimonials-section[data-section-layout="story-slider"] .testimonial-visual {
  min-height: 430px;
}

.testimonials-section[data-section-layout="story-slider"] .testimonial-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(36px, 6vw, 82px);
}

.testimonials-section[data-section-layout="story-slider"] .testimonial-quote::before {
  content: "\201C";
  position: absolute;
  top: -.72em;
  left: -.08em;
  color: color-mix(in srgb, var(--testimonial-accent) 24%, transparent);
  font-family: Georgia, serif;
  font-size: 4em;
  font-weight: 400;
  line-height: 1;
  pointer-events: none;
}

/* Card carousel: three comparable voices, with the active set moving. */
.testimonials-section[data-section-layout="card-carousel"] .testimonial-item {
  flex-direction: column;
  min-height: 390px;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid color-mix(in srgb, var(--testimonial-ink) 12%, transparent);
  border-radius: 22px;
  background: var(--testimonial-card);
}

.testimonials-section[data-section-layout="card-carousel"] .testimonial-visual {
  width: 58px;
  height: 58px;
  margin-bottom: 28px;
  border-radius: 50%;
}

.testimonials-section[data-section-layout="card-carousel"] .testimonial-avatar-fallback { font-size: 1.1rem; }
.testimonials-section[data-section-layout="card-carousel"] .testimonial-content { display: flex; flex: 1; flex-direction: column; }
.testimonials-section[data-section-layout="card-carousel"] .testimonial-quote { font-size: clamp(1.06rem, 1.35vw, 1.28rem); }
.testimonials-section[data-section-layout="card-carousel"] .testimonial-person { margin-top: auto; padding-top: 30px; }

/* Focus fade: deliberately empty, the quote is the visual. */
.testimonials-section[data-section-layout="focus-fade"] .testimonials-viewport { overflow: visible; }
.testimonials-section[data-section-layout="focus-fade"] .testimonial-item.is-active {
  grid-template-columns: minmax(0, 820px);
  justify-content: center;
  text-align: center;
}

.testimonials-section[data-section-layout="focus-fade"] .testimonial-visual {
  width: 84px;
  height: 84px;
  margin: 0 auto 34px;
  border-radius: 50%;
}

.testimonials-section[data-section-layout="focus-fade"] .testimonial-avatar-fallback { font-size: 1.6rem; }
.testimonials-section[data-section-layout="focus-fade"] .testimonial-result { margin-right: auto; margin-left: auto; }
.testimonials-section[data-section-layout="focus-fade"] .testimonial-quote { font-size: clamp(1.5rem, 3vw, 2.55rem); line-height: 1.24; }
.testimonials-section[data-section-layout="focus-fade"] .testimonial-meta { justify-content: center; }

/* Case study: result and narrative have separate visual weight. */
.testimonials-section[data-section-layout="case-study"] .testimonial-item {
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr);
  grid-template-areas: "content visual";
  align-items: stretch;
  border-top: 1px solid color-mix(in srgb, var(--testimonial-ink) 16%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--testimonial-ink) 16%, transparent);
}

.testimonials-section[data-section-layout="case-study"] .testimonial-visual {
  grid-area: visual;
  min-height: 430px;
}

.testimonials-section[data-section-layout="case-study"] .testimonial-content {
  grid-area: content;
  padding: clamp(38px, 6vw, 76px) clamp(26px, 5vw, 70px) clamp(38px, 6vw, 76px) 0;
}

.testimonials-section[data-section-layout="case-study"] .testimonial-result {
  color: var(--testimonial-ink);
  font-size: clamp(1.8rem, 4vw, 3.7rem);
  font-weight: 820;
  letter-spacing: -.055em;
  line-height: 1;
  text-transform: none;
}

.testimonials-section[data-section-layout="case-study"] .testimonial-quote { max-width: 36ch; }

/* Quote grid: square, border-led and static; no cards floating in space. */
.testimonials-section[data-section-layout="quote-grid"] .testimonials-viewport { overflow: visible; }
.testimonials-section[data-section-layout="quote-grid"] .testimonials-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid color-mix(in srgb, var(--testimonial-ink) 18%, transparent);
  border-left: 1px solid color-mix(in srgb, var(--testimonial-ink) 18%, transparent);
}

.testimonials-section[data-section-layout="quote-grid"] .testimonial-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 24px;
  padding: clamp(28px, 4vw, 48px);
  border-right: 1px solid color-mix(in srgb, var(--testimonial-ink) 18%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--testimonial-ink) 18%, transparent);
}

.testimonials-section[data-section-layout="quote-grid"] .testimonial-visual {
  width: 58px;
  height: 58px;
  border-radius: 50%;
}

.testimonials-section[data-section-layout="quote-grid"] .testimonial-avatar-fallback { font-size: 1rem; }
.testimonials-section[data-section-layout="quote-grid"] .testimonial-quote { font-size: clamp(1.04rem, 1.45vw, 1.3rem); }
.testimonials-section[data-section-layout="quote-grid"] .testimonial-person { margin-top: 24px; }

/* Portrait row: generous portraits and no surrounding boxes. */
.testimonials-section[data-section-layout="portrait-row"] .testimonials-viewport { overflow: visible; }
.testimonials-section[data-section-layout="portrait-row"] .testimonials-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 5vw, 72px);
}

.testimonials-section[data-section-layout="portrait-row"] .testimonial-item {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.testimonials-section[data-section-layout="portrait-row"] .testimonial-visual {
  width: min(100%, 230px);
  aspect-ratio: 1;
  margin: 0 auto 30px;
  border-radius: 50%;
}

.testimonials-section[data-section-layout="portrait-row"] .testimonial-avatar-fallback { font-size: 2.8rem; }
.testimonials-section[data-section-layout="portrait-row"] .testimonial-result { margin-right: auto; margin-left: auto; }
.testimonials-section[data-section-layout="portrait-row"] .testimonial-quote { font-size: clamp(1.05rem, 1.4vw, 1.28rem); }
.testimonials-section[data-section-layout="portrait-row"] .testimonial-meta { justify-content: center; }
.testimonials-section[data-section-layout="portrait-row"] .testimonial-person { margin-top: 24px; }

.testimonials-section:is([data-section-layout="quote-grid"], [data-section-layout="portrait-row"]) .testimonial-carousel-controls {
  display: none;
}

@keyframes testimonial-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  .testimonials-section[data-section-layout="story-slider"] .testimonial-item,
  .testimonials-section[data-section-layout="case-study"] .testimonial-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .testimonials-section[data-section-layout="story-slider"] .testimonial-visual,
  .testimonials-section[data-section-layout="case-study"] .testimonial-visual {
    min-height: 320px;
  }

  .testimonials-section[data-section-layout="case-study"] .testimonial-item {
    grid-template-areas: "visual" "content";
  }

  .testimonials-section[data-section-layout="case-study"] .testimonial-content {
    padding: 34px 0;
  }

  .testimonials-section[data-section-layout="card-carousel"] .testimonials-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .testimonials-section[data-section-layout="portrait-row"] .testimonials-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .testimonials-section {
    width: 100% !important;
    margin: 28px auto;
    padding: 56px 20px;
  }

  .testimonials-section[data-section-layout="story-slider"] .testimonial-item {
    border-radius: 22px;
  }

  .testimonials-section[data-section-layout="story-slider"] .testimonial-visual,
  .testimonials-section[data-section-layout="case-study"] .testimonial-visual {
    min-height: 250px;
  }

  .testimonials-section[data-section-layout="story-slider"] .testimonial-content {
    padding: 34px 24px 38px;
  }

  .testimonials-section[data-section-layout="card-carousel"] .testimonials-list,
  .testimonials-section[data-section-layout="quote-grid"] .testimonials-list,
  .testimonials-section[data-section-layout="portrait-row"] .testimonials-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .testimonials-section[data-section-layout="quote-grid"] .testimonial-item {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 18px;
    padding: 26px 20px;
  }

  .testimonials-section[data-section-layout="quote-grid"] .testimonial-visual {
    width: 48px;
    height: 48px;
  }

  .testimonials-section[data-section-layout="portrait-row"] .testimonials-list { gap: 50px; }
  .testimonial-meta-separator { display: none; }
  .testimonial-meta { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  .testimonial-item,
  .testimonial-arrow,
  .testimonial-dot { animation: none !important; transition: none !important; }
}

/* =====================================================
   PUNTUACION EN ESTRELLAS
   Disponible en cualquier variante, no solo en `review-rail`: si el usuario
   puntua un testimonio, las estrellas se pintan donde toque.
   ===================================================== */
/* Las estrellas NO llevan color propio: heredan el del texto de la sección.
   Con el color de acento se pintaban de un tono que el usuario no había
   elegido para ellas y que chocaba con la paleta de la landing; el color de
   la letra ya está bajo su control desde los ajustes de la sección. */
.testimonial-stars {
  display: flex;
  gap: 3px;
  margin: 0 0 14px;
  color: inherit;
  font-size: 1.06rem;
  line-height: 1;
}

.testimonial-stars[hidden] { display: none; }

.testimonial-star {
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  line-height: 1;
}

.testimonial-star::before { content: "\2605"; }

/* Las estrellas por encima de la puntuacion se apagan en vez de desaparecer:
   asi se lee "3 sobre 5" y no un "3" suelto sin escala con la que compararlo. */
.testimonial-stars[data-rating="0"] .testimonial-star,
.testimonial-stars[data-rating="1"] .testimonial-star:nth-child(n+2),
.testimonial-stars[data-rating="2"] .testimonial-star:nth-child(n+3),
.testimonial-stars[data-rating="3"] .testimonial-star:nth-child(n+4),
.testimonial-stars[data-rating="4"] .testimonial-star:nth-child(n+5) {
  color: color-mix(in srgb, var(--testimonial-ink) 20%, transparent);
}

/* Solo en el editor las estrellas son botones. */
button.testimonial-star { cursor: pointer; transition: transform .14s ease; }
button.testimonial-star:hover { transform: scale(1.2); }

/* =====================================================
   REVIEW RAIL
   Fila de resenas al estilo de un agregador de opiniones: la puntuacion manda,
   las flechas viven arriba a la derecha a la altura del titulo y no hay
   tarjeta. Cada resena es nombre, estrellas y texto sobre el fondo limpio.
   ===================================================== */
/* La reticula se monta en el CARRUSEL, no en `.testimonials-section-inner`:
   ese contenedor es `.optional-section-body`, que las dos plantillas declaran
   `display: contents` y que en la web publica ademas llega con !important
   (el firewall eleva el CSS de la plantilla por encima de esta hoja). El
   carrusel solo lo estila este fichero, asi que aqui el editor y la web
   coinciden. Por eso la cabecera va dentro del carrusel en el parcial. */
.testimonials-section[data-section-layout="review-rail"] .testimonials-carousel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "cabecera controles"
    "resenas  resenas";
  align-items: end;
  /* Sin hueco entre columnas a proposito: los dos bordes inferiores se tocan y
     forman UNA linea continua bajo la fila del titulo. Con `gap` se partiria. */
  column-gap: 0;
}

.testimonials-section[data-section-layout="review-rail"] .testimonials-section-header {
  grid-area: cabecera;
  width: 100%;
  margin: 0;
  padding-bottom: clamp(18px, 2.4vw, 28px);
  text-align: left;
}

.testimonials-section[data-section-layout="review-rail"] .testimonials-section-subtitle {
  margin-left: 0;
  margin-right: 0;
}

.testimonials-section[data-section-layout="review-rail"] .testimonial-carousel-controls {
  grid-area: controles;
  margin: 0;
  padding-bottom: clamp(18px, 2.4vw, 28px);
  padding-left: clamp(16px, 3vw, 40px);
  justify-content: flex-end;
}

.testimonials-section[data-section-layout="review-rail"] .testimonials-section-header,
.testimonials-section[data-section-layout="review-rail"] .testimonial-carousel-controls {
  border-bottom: 1px solid color-mix(in srgb, var(--testimonial-ink) 15%, transparent);
}

/* Aqui las flechas son toda la navegacion: los puntos y el contador repetirian
   la misma informacion y el boton de pausa sobra en una fila que no tapa nada
   al avanzar (ademas se detiene sola al pasar el raton). */
.testimonials-section[data-section-layout="review-rail"] .testimonial-dots,
.testimonials-section[data-section-layout="review-rail"] .testimonial-counter,
.testimonials-section[data-section-layout="review-rail"] .testimonial-playback {
  display: none;
}

.testimonials-section[data-section-layout="review-rail"] .testimonials-viewport {
  grid-area: resenas;
  padding-top: clamp(26px, 3.4vw, 44px);
}

.testimonials-section[data-section-layout="review-rail"] .testimonials-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 46px);
}

.testimonials-section[data-section-layout="review-rail"] .testimonial-item { display: none; }

.testimonials-section[data-section-layout="review-rail"] .testimonial-item.is-visible {
  display: flex;
  flex-direction: column;
  animation: testimonial-enter .42s ease both;
}

/* Sin retrato y sin la linea de resultado: en una resena la firma es el nombre
   y la fuerza la da la puntuacion, no una foto ni una metrica destacada. */
.testimonials-section[data-section-layout="review-rail"] .testimonial-visual,
.testimonials-section[data-section-layout="review-rail"] .testimonial-result {
  display: none;
}

.testimonials-section[data-section-layout="review-rail"] .testimonial-content {
  display: flex;
  flex-direction: column;
}

/* Orden de lectura de una resena: quien firma, cuanto puntua y que cuenta. */
.testimonials-section[data-section-layout="review-rail"] .testimonial-person {
  order: 1;
  margin: 0;
  padding: 0;
}

.testimonials-section[data-section-layout="review-rail"] .testimonial-stars {
  order: 2;
  margin: 13px 0 17px;
  font-size: 1.16rem;
}

.testimonials-section[data-section-layout="review-rail"] .testimonial-quote {
  order: 3;
  margin: 0;
  color: var(--testimonial-copy);
  font-size: clamp(.96rem, 1.05vw, 1.05rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.62;
}

.testimonials-section[data-section-layout="review-rail"] .testimonial-name {
  font-size: clamp(.95rem, 1vw, 1.02rem);
  font-weight: 700;
  letter-spacing: -.01em;
}

/* Cargo y empresa, cada uno en su linea y sin barra separadora: en una columna
   estrecha la barra acababa colgando al final de un renglon. */
.testimonials-section[data-section-layout="review-rail"] .testimonial-meta {
  display: grid;
  margin-top: 3px;
  font-size: .84rem;
}

.testimonials-section[data-section-layout="review-rail"] .testimonial-meta-separator {
  display: none;
}

/* Los cortes coinciden con los de landing_testimonials.js (visibleCardCount):
   si se cambian aqui hay que cambiarlos alli o se pintarian huecos vacios. */
@media (max-width: 1199px) {
  .testimonials-section[data-section-layout="review-rail"] .testimonials-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .testimonials-section[data-section-layout="review-rail"] .testimonials-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  /* En movil la cabecera y las flechas dejan de compartir fila: el titulo
     necesita el ancho entero y las flechas caen debajo, alineadas a la
     izquierda para quedar bajo el pulgar. */
  .testimonials-section[data-section-layout="review-rail"] .testimonials-carousel {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "cabecera"
      "controles"
      "resenas";
  }

  .testimonials-section[data-section-layout="review-rail"] .testimonials-section-header {
    padding-bottom: 18px;
    border-bottom: 0;
  }

  .testimonials-section[data-section-layout="review-rail"] .testimonial-carousel-controls {
    padding-left: 0;
    padding-bottom: 16px;
    justify-content: flex-start;
  }

  .testimonials-section[data-section-layout="review-rail"] .testimonials-list {
    grid-template-columns: minmax(0, 1fr);
  }
}
