/*
  TESTIMONIAL HERO SLIDER — scoped to .uw-testi (own prefix so it never
  collides with another module on the same page). Layout & typography follow
  the Cases pull-quote (left-aligned quote, avatar left & vertically centred,
  Name · Role · Institution) but on the live testimonial band's green and
  wrapped in a slider (arrows, dots, autoplay, pause-on-hover).
  Root font-size on uniwise.eu is 16px (1rem = 16px).
*/

.uw-testi{
  --uw-accent: #85b100;       /* brand green — fills, active states */
  --uw-accent-dark: #5c7c00;  /* darkened green — TEXT / focus rings */
  --uw-ink: #1c1c1a;          /* primary text */
  --uw-ink-soft: #4a4a45;     /* secondary text */
  --uw-border: #e4e2d8;       /* hairlines */
  --uw-testi-bg: #e8f0d2;     /* the live testimonial band's exact green */
  --uw-font: 'Space Grotesk', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  font-family: var(--uw-font);
  color: var(--uw-ink);
  background: var(--uw-testi-bg);
  padding: 3.5rem 1.5rem;     /* side padding = edge safety; block width varies by placement */
}
.uw-testi *{ box-sizing: border-box; }

.uw-testi__inner{
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
  min-height: 250px;          /* stage height */
  padding-bottom: 2.75rem;    /* reserve room for the absolutely-positioned dots */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;    /* centre the quote in the FULL stage (dots are taken out of flow) */
}

.uw-testi__heading{
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 2rem;
}

/* ------------------------------- slider ------------------------------- */
.uw-testi__viewport{
  position: relative;
  width: 100%;
  max-width: 60rem;           /* left-aligned copy reads better a touch wider */
  margin: 0 auto;
}
.uw-testi__window{ width: 100%; overflow: hidden; }
.uw-testi__track{
  display: flex;
  transition: transform .5s ease;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce){
  .uw-testi__track{ transition: none; }
}
.uw-testi__slide{
  flex: 0 0 100%;
  min-width: 0;
  display: flex;
  align-items: center;        /* centre the card vertically within equal-height slides */
}

/* avatar-left, text-right — the Cases pull-quote arrangement */
.uw-testi__card{
  display: flex;
  align-items: center;        /* avatar vertically centred against the quote */
  gap: 1.5rem;
  width: 100%;
  text-align: left;
}
.uw-testi__avatar{
  width: 88px;
  height: 88px;
  border-radius: 50%;
  overflow: hidden;
  flex: none;
  background: var(--uw-border);
}
.uw-testi__avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.uw-testi__body{ min-width: 0; }

.uw-testi__quote{
  font-size: 1.1875rem;       /* ~19px */
  font-weight: 500;
  font-style: normal !important; /* kill the POWER theme's italic blockquote */
  line-height: 1.55;
  color: var(--uw-ink);
  margin: 0 0 .875rem;        /* zeroes the browser-default blockquote margins */
  padding: 0 !important;      /* kill the POWER theme's global blockquote indent */
  border: 0 !important;       /* kill the POWER theme's green blockquote left bar */
}
.uw-testi__quote::before{ content: '\201C'; }
.uw-testi__quote::after{ content: '\201D'; }

/* Name · Role · Institution — name bold ink, the rest (and its middots) green */
.uw-testi__author{
  font-size: .9375rem;
  line-height: 1.45;
  margin: 0;
}
.uw-testi__name{ font-weight: 700; color: var(--uw-ink); }
.uw-testi__role{ font-weight: 400; color: var(--uw-ink-soft); }

/* ------------------------------- dots --------------------------------- */
.uw-testi__dots{
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  gap: .5rem;
}
.uw-testi__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 0;
  padding: 0;
  cursor: pointer;
  background: rgba(28,28,26,.2);
  transition: background .15s ease, transform .15s ease;
}
.uw-testi__dot:hover{ background: rgba(28,28,26,.4); }
.uw-testi__dot.is-active{ background: var(--uw-accent); transform: scale(1.25); }
.uw-testi__dot:focus-visible{ outline: 2px solid var(--uw-accent-dark); outline-offset: 2px; }

/* ----------------------------- responsive ----------------------------- */
@media (max-width: 600px){
  .uw-testi{ padding: 2.5rem 1rem; }
  .uw-testi__card{ flex-direction: column; align-items: flex-start; gap: 1rem; }
  .uw-testi__quote{ font-size: 1.0625rem; line-height: 1.5; }
}

/* --------- escape the .dnd-section horizontal gutter (full-bleed band) --------- */
@media (max-width: 1200px) {
  .uw-testi {
    margin-left: calc(var(--sp-p-hor-desktop) * -1);
    margin-right: calc(var(--sp-p-hor-desktop) * -1);
    overflow-x: hidden;
    box-sizing: border-box;
  }
}

@media (max-width: 575px) {
.uw-testi {
  width: 100vw;
  max-width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  overflow-x: hidden;
  box-sizing: border-box;
}