/* Default: show truncated preview, hide full text */
.testimonials-block .accordion-button .heading-text-full {
  display: none;
}
.testimonials-block .accordion-button .heading-text-full p {
  margin-bottom: 1.5rem;
}

/* When item is active: show full, hide preview */
.testimonials-block .accordion-item.active .accordion-button .heading-text {
  display: none;
}
.testimonials-block .accordion-item.active .accordion-button .heading-text-full {
  display: block;
}


.testimonials-block .row-heading {
  padding-bottom: var(--gutter-xl);
}
.testimonials-block .accordion-item .row-heading :is(.accordion-button, .accordion-static) {
  padding: var(--gutter-xl) 0 0 0;
}
.testimonials-block .heading-attribution {
  font-size: 1rem;
  padding-top: var(--gutter);
  font-weight: 400;
}

.testimonials-block .accordion-button {
  cursor: pointer;
}

.testimonials-block.colour-white .accordion .accordion-item {
  background: var(--colour-white)
}
.testimonials-block.colour-white .accordion-item .row-heading {
  color: var(--colour-deep-teal);
}
.testimonials-block.colour-white .accordion-item .heading-attribution {
  color: var(--font-colour-dark);
}
.testimonials-block.colour-white .accordion .accordion-item {
  border-top: 1px solid var(--colour-deep-teal);
}
.testimonials-block.colour-white .accordion .accordion-item:last-of-type {
  border-bottom: 1px solid var(--colour-deep-teal);
}

.testimonials-block.colour-cyan .accordion-item .heading-attribution {
  color: var(--font-colour-dark);
}


/* shared controls */
.testimonials-block .accordion {
  --peek: 20px;
  --stack-top: 200px;   /* where first row sticks */
  --count: 4;           /* set by JS */
}

/* heading behaviour */
.testimonials-block {
  --heading-top: 95px;  /* where the heading should stick */
  position: relative;   /* ensures sticky boundaries work */
}

.testimonials-block .accordion-text-container {
  position: sticky;
  top: var(--heading-top);
  /* prevents the heading from scrolling lower than the first row */
  bottom: calc(100% - var(--stack-top));
  z-index: 2;
    margin-bottom: 20px;
}

/* accordion items */
.testimonials-block .accordion .accordion-item {
  position: sticky;
  top: calc(var(--stack-top) + var(--i) * var(--peek));
  margin-top: calc(-1 * var(--peek));
  z-index: var(--i); /* later items above earlier items while scrolling */
  transform: translateZ(0);
}

.testimonials-block .accordion .accordion-item .accordion-item-inner {
  position: relative; /* no z-index here */
}

/* at the very bottom, flip stacking so all rows remain visible */
.testimonials-block .accordion.is-bottom .accordion-item {
  z-index: calc(var(--count) - var(--i));
}

/* runway sized for ALL items; adds scroll room but cancels visible gap */
.testimonials-block .accordion::after {
  content: "";
  display: block;
  height: calc(var(--stack-top) + (var(--count) - 1) * var(--peek));
  margin-top: calc(-1 * (var(--stack-top) + (var(--count) - 1) * var(--peek)));
}
