/* NEXT Testimonial widget: photo with a slanted corner, big quote, name and a row of stats.
 * Colors + fonts come from the site brand kit (--next-* tokens).
 */
.nx-testi {
  --nx-gutter: clamp(16px, 4vw, 56px);
  position: relative; box-sizing: border-box;
  padding: clamp(64px, 8vw, 110px) var(--nx-gutter);
  background: var(--next-white); color: var(--next-body); font-family: var(--next-font-head);
}
.nx-testi--tint { background: var(--next-tint); }
.nx-testi *, .nx-testi *::before, .nx-testi *::after { box-sizing: border-box; }
.nx-testi-in {
  max-width: 1480px; margin: 0 auto; padding-inline: clamp(28px, 3vw, 56px);
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px clamp(40px, 6vw, 96px); align-items: center;
}
.nx-testi--no-photo .nx-testi-in { grid-template-columns: minmax(0, 1fr); max-width: 1100px; }
.nx-testi--flip .nx-testi-photo { order: 2; }

/* Photo: right edge cut at 19.03° (64px over the bottom 186px), like the red CTA band */
.nx-testi-photo { position: relative; height: clamp(380px, 36vw, 520px); margin: 0; overflow: hidden; background: var(--next-border); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 186px), calc(100% - 64px) 100%, 0 100%); }
.nx-testi--flip .nx-testi-photo { clip-path: polygon(0 0, 100% 0, 100% 100%, 64px 100%, 0 calc(100% - 186px)); }
.nx-testi-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

.nx-testi-quote { margin: 0; }
.nx-testi .mark { display: block; height: 64px; font: 900 140px/1 var(--next-font-head); color: var(--next-red); }
.nx-testi blockquote { margin: 0; padding: 0; border: 0; }
.nx-testi blockquote p { margin: 0; font: 300 clamp(24px, 2.6vw, 36px)/1.3 var(--next-font-head); letter-spacing: -.01em; color: var(--next-black); text-wrap: pretty; }
.nx-testi figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 24px; font: 700 12px/1.3 var(--next-font-sub); letter-spacing: .16em; text-transform: uppercase; color: var(--next-muted); }
.nx-testi figcaption::before { content: ""; width: 44px; height: 2px; background: var(--next-red); }
.nx-testi figcaption b { color: var(--next-black); }

.nx-testi-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 40px 0 0; padding: 0; list-style: none; border-top: 2px solid var(--next-black); }
.nx-testi-stats li { margin: 0; padding: 18px 16px 0 0; }
.nx-testi-stats li + li { padding-left: 16px; border-left: 1px solid var(--next-border); }
.nx-testi-stats b { display: block; font: 700 34px/1 var(--next-font-call); color: var(--next-red); }
.nx-testi-stats span { display: block; margin-top: 8px; font: 700 11px/1.35 var(--next-font-sub); letter-spacing: .14em; text-transform: uppercase; color: var(--next-muted); }

@media (max-width: 1100px) {
  .nx-testi-in { grid-template-columns: 1fr; padding-inline: 28px; }
  .nx-testi--flip .nx-testi-photo { order: 0; }
}
@media (max-width: 700px) {
  .nx-testi-photo { height: 300px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 70px), calc(100% - 24px) 100%, 0 100%); }
  .nx-testi--flip .nx-testi-photo { clip-path: polygon(0 0, 100% 0, 100% 100%, 24px 100%, 0 calc(100% - 70px)); }
  .nx-testi-stats { grid-template-columns: 1fr; }
  .nx-testi-stats li, .nx-testi-stats li + li { padding: 16px 0; border-left: 0; border-bottom: 1px solid var(--next-border); }
}
@media (max-width: 560px) {
  .nx-testi-in { padding-inline: 20px; }
}
