/* ==========================================================================
   JIST — TESTIMONIALS
   Three columns stepped down the page.
   ========================================================================== */

.jist-testimonials__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--wp--custom--grid-gap);
  align-items: start;
}

.jist-testimonials__col {
  display: grid;
  gap: var(--wp--custom--grid-gap);
  align-content: start;
}

.jist-testimonials__col--offset-1 { margin-block-start: var(--wp--preset--spacing--80); }
.jist-testimonials__col--offset-2 { margin-block-start: var(--wp--preset--spacing--110); }

.jist-testimonial {
  display: grid;
  gap: var(--wp--preset--spacing--40);
  margin: 0;
  padding: var(--wp--preset--spacing--60);
  background-color: var(--wp--preset--color--base);
  border: var(--wp--custom--hairline) solid var(--wp--preset--color--line);
  border-radius: var(--wp--custom--radius-md);
  box-shadow: var(--wp--custom--shadow-sm);
  transition: box-shadow var(--wp--custom--duration-base) var(--wp--custom--ease-out);
}

.jist-testimonial:hover { box-shadow: var(--wp--custom--shadow-md); }

.jist-testimonial__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--40);
}

.jist-testimonial__source {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  margin: 0;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  letter-spacing: var(--wp--custom--tracking-label);
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
}

.jist-testimonial__source .jist-icon {
  inline-size: 14px;
  block-size: 14px;
  color: var(--wp--preset--color--accent-ink);
}

.jist-testimonial__stars {
  display: inline-flex;
  gap: 2px;
  margin: 0;
  color: var(--wp--preset--color--accent);
}

.jist-testimonial__stars .jist-icon {
  inline-size: 14px;
  block-size: 14px;
  fill: currentColor;
  stroke: none;
}

.jist-testimonial__quote {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--wp--preset--color--slate);
  font-size: var(--wp--preset--font-size--sm);
  line-height: var(--wp--custom--leading-relaxed);
  quotes: "\201C" "\201D";
}

.jist-testimonial__quote::before { content: open-quote; }
.jist-testimonial__quote::after  { content: close-quote; }

.jist-testimonial__attrib {
  display: grid;
  gap: var(--wp--preset--spacing--10);
  padding-block-start: var(--wp--preset--spacing--40);
  border-block-start: var(--wp--custom--hairline) solid var(--wp--preset--color--line);
}

.jist-testimonial__name {
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 600;
  font-style: normal;
  color: var(--wp--preset--color--contrast);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .jist-testimonials__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .jist-testimonials__col--offset-1,
  .jist-testimonials__col--offset-2 { margin-block-start: 0; }
}

@media (max-width: 640px) {
  .jist-testimonials__columns { grid-template-columns: minmax(0, 1fr); }
}
