/* ===== Thera-Clean Testimonials ===== */
.tc-testimonials{
  --tc-maxw:1100px; --tc-accent:#2b66b1; --tc-text:#111827; --tc-muted:#6b7280;
  --tc-star-h:20px; --tc-quote-clamp:220px;
  color:var(--tc-text); margin:48px auto; padding:8px 16px 24px; max-width:var(--tc-maxw); text-align:center;
}

/* Header */
.tc-testimonials__header{margin-bottom:14px}
.tc-testimonials__badge{width:64px;height:64px;object-fit:contain;display:block;margin:0 auto 8px}
.tc-testimonials__title{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:0 0 8px;color:var(--tc-accent);font-weight:800}
.tc-testimonials__stars img{height:var(--tc-star-h);width:auto;vertical-align:middle}
.tc-testimonials__subtitle{margin-top:6px;font-size:clamp(14px,2.4vw,16px);color:var(--tc-muted)}
.tc-testimonials__rating{font-weight:600;color:var(--tc-text)}

/* Viewport / Track (no padding -> arrows overlay inside) */
.tc-testimonials__viewport{
  position:relative; margin:24px auto 8px; overflow:hidden; padding:0; background:transparent;
}
.tc-testimonials__track{
  list-style:none; padding:0; margin:0; display:flex; will-change:transform;
  transition:transform .4s ease; transform:translate3d(0,0,0);
}
.tc-testimonials__slide{ flex:0 0 100%; min-width:100%; box-sizing:border-box; padding:8px 12px; }

/* Kill theme blockquote styling (component + modal) */
.tc-testimonials .tc-testimonials__quote,
.tc-testimonials blockquote,
.tc-modal .tc-testimonials__quote{
  margin:0 auto 14px; max-width:920px; font-size:clamp(16px,2.2vw,20px); line-height:1.65;
  background:transparent !important; border:0 !important; border-left:0 !important;
  box-shadow:none !important; padding:0 !important; font-style:normal !important; color:var(--tc-text) !important;
}
.tc-testimonials blockquote:before,.tc-testimonials blockquote:after{content:none !important}

/* Clamp + fade */
.tc-testimonials__quote.is-clamped{max-height:var(--tc-quote-clamp); overflow:hidden; position:relative}
.tc-testimonials__quote.is-clamped:after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:64px;
  background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.85));
}

/* Read-more LINK */
.tc-testimonials__more-link{display:inline-block; margin:10px 0 14px; color:var(--tc-accent); text-decoration:underline; font-weight:600}

/* Footer */
.tc-testimonials__footer{font-size:14px;color:var(--tc-muted)}
.tc-testimonials__author{font-weight:700;color:var(--tc-text)}
.tc-testimonials__org{margin-top:2px}

/* Arrows (absolute inside viewport; no extra width needed) */
.tc-testimonials__nav{
  position:absolute; top:50%; transform:translateY(-50%); border:0; background:transparent;
  padding:0; cursor:pointer; z-index:11;
}
.tc-testimonials__nav img{width:56px;height:56px;display:block}
.tc-testimonials__nav--prev{left:12px}
.tc-testimonials__nav--next{right:12px}

/* Dots – perfect circles */
.tc-testimonials__dots{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:8px}
.tc-testimonials__dot{
  display:inline-block;width:10px;height:10px;padding:0;border:0;line-height:0;border-radius:50%;
  background:#c9d2e3;cursor:pointer;appearance:none;box-sizing:content-box
}
.tc-testimonials__dot.is-active{background:var(--tc-accent)}
.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Modal (transparent panel) */
.tc-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:9999}
.tc-modal.is-open{display:flex}
.tc-modal__content{position:relative;background:transparent;color:#fff;width:min(920px,calc(100vw - 40px));max-height:85vh;overflow:auto;padding:0;border-radius:0;box-shadow:none}
.tc-modal__close{position:absolute;top:10px;right:14px;border:0;background:transparent;font-size:28px;cursor:pointer;color:#fff}
.tc-modal .tc-testimonials__footer{margin-top:14px;color:#e5e7eb}
body.tc-no-scroll{overflow:hidden}

/* Mobile */
@media (max-width:768px){.tc-testimonials__nav img{width:44px;height:44px}}
@media (max-width:520px){.tc-testimonials__nav{display:none}.tc-testimonials__quote{font-size:15.5px}}

/* --- Mobile hardening --- */
@media (max-width: 767.98px){
  /* keep the component inside the viewport */
  .tc-testimonials{
    margin: 24px 0 28px !important;     /* remove left/right auto */
    padding: 0 12px 18px;                /* a little breathing room */
    max-width: 100% !important;          /* don’t exceed parent */
    width: 100% !important;              /* explicitly fill parent */
  }

  /* make sure the slide content can’t extend past the screen */
  .tc-testimonials__slide{ padding: 0 6px; }
  .tc-testimonials .tc-testimonials__quote{
    max-width: 100% !important;
    font-size: 16px;
    overflow-wrap: anywhere;             /* no overflow on long words */
    word-break: normal;
  }

  /* hide arrows on phones, rely on swipe */
  .tc-testimonials__nav{ display:none; }
  /* slightly smaller clamp/fade on phones */
  .tc-testimonials{ --tc-quote-clamp: 160px; }
  .tc-testimonials__quote.is-clamped:after{ height: 36px; }
}

@media (max-width: 420px){
  .tc-testimonials{ --tc-quote-clamp: 140px; }
  .tc-testimonials .tc-testimonials__quote{ font-size: 15.5px; }
}
