/* by osmy — Testimonios reales.
   Requiere tokens.css.
*/

body.os-site .os-testimonials {
  background: var(--os-paper);
}

/* ---------- INTRO ---------- */

body.os-site .os-testimonials__intro {
  max-width: var(--os-intro-max);

  margin: 0 auto var(--os-space-8);

  text-align: center;
}

body.os-site .os-testimonials__intro h2 {
  margin: 0 0 var(--os-space-5);
}

body.os-site .os-testimonials__lead {
  max-width: 48ch;

  margin: 0 auto;

  color: var(--os-color-text-secondary);

  font-size: var(--os-type-lead);
  line-height: 1.5;
}

/* ---------- GRID ---------- */

body.os-site .os-testimonials__grid {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: var(--os-space-4);

  align-items: stretch;
}

/* ---------- CARD ---------- */

body.os-site .os-testimonials__card {
  display: flex;
  flex-direction: column;

  min-width: 0;
  min-height: 27rem;

  padding: clamp(
    var(--os-space-5),
    3vw,
    var(--os-space-7)
  );

  border: 1px solid var(--os-color-border);
  border-radius: var(--os-radius-lg);

  background: var(--os-color-surface-alt);
}

/* Variación sutil en la card central */

body.os-site .os-testimonials__card:nth-child(2) {
  background: var(--os-cream);
}

/* ---------- QUOTE MARK ---------- */

body.os-site .os-testimonials__mark {
  display: block;

  height: 3.5rem;

  margin-bottom: var(--os-space-5);

  color: var(--os-wine);

  font-family: var(--os-font-display);
  font-size: 5rem;
  font-weight: var(--os-weight-regular);
  line-height: 0.8;
}

/* ---------- QUOTE ---------- */

body.os-site .os-testimonials__quote {
  margin: 0 0 var(--os-space-7);
  padding: 0;

  border: 0;
}

body.os-site .os-testimonials__quote p {
  margin: 0;

  color: var(--os-ink);

  font-family: var(--os-font-display);
  font-size: clamp(
    1.35rem,
    1.15rem + 0.6vw,
    1.7rem
  );

  font-weight: var(--os-weight-regular);
  line-height: 1.3;

  letter-spacing: -0.015em;
}

/* ---------- AUTHOR ---------- */

body.os-site .os-testimonials__author {
  display: flex;
  align-items: center;

  gap: var(--os-space-3);

  margin-top: auto;
  padding-top: var(--os-space-5);

  border-top: 1px solid var(--os-color-border);
}

body.os-site .os-testimonials__author-info {
  display: flex;
  flex-direction: column;

  gap: var(--os-space-1);
}

body.os-site .os-testimonials__author-info cite {
  color: var(--os-ink);

  font-family: var(--os-font-body);
  font-size: var(--os-type-small);
  font-style: normal;
  font-weight: var(--os-weight-bold);
  line-height: 1.35;
}

body.os-site .os-testimonials__author-info span {
  color: var(--os-color-text-muted);

  font-family: var(--os-font-body);
  font-size: var(--os-type-eyebrow);
  line-height: 1.4;
}

/* ---------- TABLET ---------- */

@media (max-width: 980px) {

  body.os-site .os-testimonials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.os-site .os-testimonials__card:last-child {
    grid-column: 1 / -1;

    min-height: 22rem;
  }

}

/* ---------- MOBILE ---------- */

@media (max-width: 640px) {

  body.os-site .os-testimonials__intro {
    margin-bottom: var(--os-space-7);
  }

  body.os-site .os-testimonials__intro h2 br {
    display: none;
  }

  body.os-site .os-testimonials__grid {
    grid-template-columns: 1fr;

    gap: var(--os-space-3);
  }

  body.os-site .os-testimonials__card,
  body.os-site .os-testimonials__card:last-child {
    grid-column: auto;

    min-height: 0;

    padding: var(--os-space-6);
  }

  body.os-site .os-testimonials__quote {
    margin-bottom: var(--os-space-6);
  }

}