.kommo-testimonials { --testimonial-columns: 3; --testimonial-gap: clamp(1rem, 2vw, 1.5rem); border-top: 1px solid var(--line); padding-block: clamp(5rem, 8vw, 8rem); }
.kommo-testimonials__track {
  display: flex;
  gap: var(--testimonial-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 0 0 1rem;
  scrollbar-width: thin;
  scroll-snap-type: x mandatory;
}
.kommo-testimonial { flex: 0 0 calc((100% - (var(--testimonial-columns) - 1) * var(--testimonial-gap)) / var(--testimonial-columns)); min-width: 0; position: relative; scroll-snap-align: start; }
.kommo-testimonial__media { aspect-ratio: 16 / 9; background: #eeeaf5; overflow: hidden; position: relative; }
.kommo-testimonial__media > img, .kommo-testimonial__media > iframe { display: block; height: 100%; width: 100%; }
.kommo-testimonial__media > img { object-fit: cover; }
.kommo-testimonial__media > iframe { border: 0; }
.kommo-testimonial__media.is-playing > img { display: none; }
.kommo-testimonial__play { align-items: center; background: linear-gradient(transparent 60%, #0004); border: 0; cursor: pointer; display: flex; inset: 0; justify-content: center; padding: 0; position: absolute; }
.kommo-testimonial__play[hidden], .kommo-testimonials__controls[hidden] { display: none; }
.kommo-testimonial__play > span:first-child { align-items: center; background: var(--ink); border: 1px solid #ffffff80; border-radius: 50%; color: white; display: flex; height: 52px; justify-content: center; transition: background .2s; width: 52px; }
.kommo-testimonial__play:hover > span:first-child { background: #24582c; }
.kommo-testimonial__play svg { fill: currentColor; height: 25px; width: 25px; }
.kommo-testimonial__copy { border-top: 1px solid var(--ink); margin-top: 1.5rem; padding-top: 1rem; }
.kommo-testimonial__sector { font-family: "DM Mono", monospace; font-size: .65rem; letter-spacing: .04em; }
.kommo-testimonial h3 { font-size: clamp(1.5rem, 2vw, 2.1rem); font-weight: 400; letter-spacing: -.05em; line-height: 1.1; margin: 1rem 0 .7rem; }
.kommo-testimonial__copy > p:not(.kommo-testimonial__sector) { color: var(--muted); line-height: 1.55; margin: 0 0 1.5rem; max-width: 48ch; }
.kommo-testimonial .text-link { font-size: .85rem; }
.kommo-testimonials__footer { align-items: center; display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: space-between; margin-top: 1.5rem; }
.kommo-testimonials__source { color: var(--muted); font-size: .8rem; text-underline-offset: 4px; }
.kommo-testimonials__controls { align-items: center; display: flex; gap: .8rem; }
.kommo-testimonials__controls button { align-items: center; background: transparent; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); cursor: pointer; display: flex; height: 44px; justify-content: center; padding: 0; width: 44px; }
.kommo-testimonials__controls button:hover:not(:disabled) { border-color: var(--ink); }
.kommo-testimonials__controls button:disabled { cursor: default; opacity: .3; }
.kommo-testimonials__controls svg { fill: none; height: 20px; stroke: currentColor; stroke-width: 1.5; width: 20px; }
.kommo-testimonials__controls span { font-family: "DM Mono", monospace; font-size: .75rem; min-width: 5ch; text-align: center; }
.kommo-testimonials :focus-visible { outline: 2px solid #14a914; outline-offset: 4px; }
.kommo-testimonials__track:focus-visible, .kommo-testimonial__play:focus-visible { outline-offset: -3px; }
@media (min-width: 901px) {
  .kommo-testimonials__track { scrollbar-width: none; -ms-overflow-style: none; padding-bottom: 0; }
  .kommo-testimonials__track::-webkit-scrollbar { display: none; }
}
@media (max-width: 900px) { .kommo-testimonials { --testimonial-columns: 2; } }
@media (max-width: 600px) {
  .kommo-testimonials { --testimonial-columns: 1; }
  .kommo-testimonials__footer { align-items: start; flex-direction: column-reverse; }
  .kommo-testimonials__controls { justify-content: space-between; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .kommo-testimonial__play > span:first-child { transition: none; } }
