/* SwiftCart Testimonials Slider v1.0 – measured from the approved design (1920px screen) */
.sct{--sct-font:"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--sct-head-w:361px;--sct-divider:#e9e9e9;--sct-line:#5cb85c;--sct-line-w:39px;--sct-line-h:4px;--sct-avatar:76px;--sct-star:#f6a823;--sct-star-size:17px;--sct-check:#2ea84a;--sct-arrow-bg:#f7f7f7;--sct-arrow:#333;--sct-arrow-hover:#ececec;--sct-arrow-size:44px;--sct-dot:#d5d7d9;--sct-dot-on:#5cb85c;--sct-slide-h:140px;
	position:relative;display:block;box-sizing:border-box;width:100%;margin:0;padding:24px 0 14px;background:#fff;color:#1f1f1f;font-family:var(--sct-font);text-align:left;-webkit-font-smoothing:antialiased;overflow:hidden}
.sct *,.sct *::before,.sct *::after{box-sizing:border-box}
.sct-in{display:flex;align-items:center;padding:0 clamp(16px,2.55vw,49px) 0 clamp(16px,4.32vw,83px)}
.sct-head{flex:0 0 var(--sct-head-w);min-width:0;padding-right:20px}
.sct .sct-title{margin:0!important;padding:0!important;color:#1f1f1f;font-family:var(--sct-font);font-size:27px;font-weight:700;line-height:35px;letter-spacing:-.1px;text-transform:none;border:0;background:none}
.sct-line{display:inline-block;vertical-align:top;width:var(--sct-line-w);height:var(--sct-line-h);margin-top:14px;border-radius:3px;background:var(--sct-line)}
.sct-slider{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0}
.sct-viewport{position:relative;flex:1 1 auto;min-width:0;overflow:hidden;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}
.sct-viewport.is-dragging{cursor:grabbing}
.sct-track{display:flex;will-change:transform}
.sct-slide{flex:0 0 calc(100% / var(--sct-per,3));min-width:0;min-height:var(--sct-slide-h);border-left:1px solid var(--sct-divider);display:flex;align-items:flex-start}
.sct-card{display:flex;align-items:flex-start;gap:18px;width:100%;padding:1px 22px 0 30px}
.sct-avatar{flex:0 0 var(--sct-avatar);width:var(--sct-avatar);height:var(--sct-avatar);border-radius:50%;overflow:hidden;background:#eef1f3}
.sct .sct-avatar img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;box-shadow:none!important;pointer-events:none}
.sct-avatar span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#e7f4e7;color:#2f8a3e;font-size:calc(var(--sct-avatar) * .4);font-weight:700}
.sct-body{flex:1 1 auto;min-width:0;padding-top:7px}
.sct-stars{position:relative;display:block;width:calc(var(--sct-star-size) * 5 + 8px);height:var(--sct-star-size)}
.sct-stars::before,.sct-stars>span{content:"";position:absolute;left:0;top:0;bottom:0;background:var(--sct-star);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 24'%3E%3Cpath d='m12 1.6 3.2 6.6 7.2 1-5.2 5.1 1.2 7.2L12 18.1l-6.4 3.4 1.2-7.2L1.6 9.2l7.2-1z'/%3E%3C/svg%3E") 0 0/calc(var(--sct-star-size) + 2px) var(--sct-star-size) repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 24'%3E%3Cpath d='m12 1.6 3.2 6.6 7.2 1-5.2 5.1 1.2 7.2L12 18.1l-6.4 3.4 1.2-7.2L1.6 9.2l7.2-1z'/%3E%3C/svg%3E") 0 0/calc(var(--sct-star-size) + 2px) var(--sct-star-size) repeat-x}
.sct-stars::before{right:0;opacity:.25}
.sct .sct-text{margin:10px 0 0!important;padding:0!important;color:#555;font-family:var(--sct-font);font-size:15.2px;font-weight:600;line-height:22.5px}
.sct-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;margin-top:11px;line-height:22px}
.sct-name{margin-right:12px;color:#222;font-size:13.6px;font-weight:800}
.sct .sct-check{display:block;flex:0 0 auto;width:19px;height:19px;margin-right:9px;color:var(--sct-check)}
.sct-verified{color:#777;font-size:12.5px;font-weight:600}
/* arrows */
.sct .sct-arrow{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex:0 0 var(--sct-arrow-size);width:var(--sct-arrow-size)!important;height:var(--sct-arrow-size)!important;min-height:0!important;margin:0!important;padding:0!important;border:1px solid #efefef!important;border-radius:50%!important;background:var(--sct-arrow-bg)!important;color:var(--sct-arrow)!important;box-shadow:0 1px 4px rgba(0,0,0,.08)!important;cursor:pointer;transition:background .15s,transform .15s;line-height:1}
.sct .sct-arrow:hover{background:var(--sct-arrow-hover)!important}
.sct .sct-arrow:active{transform:scale(.94)}
.sct .sct-arrow svg{width:calc(var(--sct-arrow-size) * .45);height:calc(var(--sct-arrow-size) * .45);display:block}
.sct .sct-arrow:focus-visible{outline:2px solid var(--sct-dot-on);outline-offset:2px}
.sct .sct-prev{margin-right:12px!important}
.sct .sct-next{margin-left:2px!important}
/* dots */
.sct-dots{position:absolute;left:0;right:0;bottom:-2px;display:flex;justify-content:center;gap:7px}
.sct .sct-dots button{width:8px!important;height:8px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:4px!important;background:var(--sct-dot)!important;cursor:pointer;transition:width .25s,background .25s;box-shadow:none!important}
.sct .sct-dots button.is-on{width:22px!important;background:var(--sct-dot-on)!important}
.sct.has-dots .sct-slider{padding-bottom:22px}
.sct.is-static .sct-arrow,.sct.is-static .sct-dots{display:none!important}
.sct.sct-nohead .sct-in{padding-left:clamp(16px,2.55vw,49px)}

/* desktop: ≥1025 */
@media (min-width:1025px){
	.sct{--sct-per:var(--sct-pd)}
	.sct.sct-noarrows-d .sct-arrow,.sct.sct-nodots-d .sct-dots{display:none!important}
	.sct.sct-nodots-d .sct-slider{padding-bottom:0}
}
@media (min-width:1025px) and (max-width:1500px){
	.sct{--sct-head-w:300px;--sct-avatar:64px}
	.sct .sct-title{font-size:22px;line-height:29px}
	.sct-card{padding:1px 16px 0 20px;gap:14px}
	.sct .sct-text{font-size:14.5px;line-height:21.5px}
}
@media (min-width:1025px) and (max-width:1280px){
	.sct{--sct-head-w:250px;--sct-avatar:56px}
	.sct .sct-title{font-size:19px;line-height:26px}
	.sct .sct-text{font-size:14px}
}
/* tablet: 768–1024 */
@media (max-width:1024px){
	.sct{--sct-per:var(--sct-pt);padding:24px 0 18px}
	.sct-in{flex-direction:column;align-items:stretch;padding:0 20px}
	.sct-head{flex:none;padding:0 0 18px}
	.sct .sct-title{font-size:24px;line-height:31px}
	.sct{--sct-avatar:64px}
	.sct-card{padding:1px 18px 0 22px;gap:14px}
	.sct.sct-noarrows-t .sct-arrow,.sct.sct-nodots-t .sct-dots{display:none!important}
	.sct.sct-nodots-t .sct-slider{padding-bottom:0}
}
/* mobile: ≤767 */
@media (max-width:767px){
	.sct{--sct-per:var(--sct-pm);padding:22px 0 16px}
	.sct-in{padding:0 14px}
	.sct .sct-title{font-size:22px;line-height:29px}
	.sct-line{margin-top:10px}
	.sct{--sct-avatar:60px;--sct-arrow-size:38px;--sct-slide-h:0px}
	.sct-slide{border-left:0}
	.sct-card{padding:4px 6px 4px 4px;gap:14px}
	.sct .sct-text{font-size:15px;line-height:22px}
	.sct .sct-prev{margin-right:8px!important}
	.sct .sct-next{margin-left:8px!important}
	.sct.sct-noarrows-m .sct-arrow,.sct.sct-nodots-m .sct-dots{display:none!important}
	.sct.sct-nodots-m .sct-slider{padding-bottom:0}
}


/* ==========================================================================
   v1.1 TRUE AUTO RESPONSIVE
   Uses the actual testimonial widget width (via JS classes), not only viewport.
   ========================================================================== */

.sct{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}

.sct .sct-in{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Large/wide container: heading left, slider right, up to 3 reviews */
.sct.sct-c-wide .sct-in{
  flex-direction:row!important;
  align-items:center!important;
}
.sct.sct-c-wide .sct-head{
  flex:0 0 clamp(250px,18vw,361px)!important;
  width:auto!important;
  padding-right:20px!important;
}
.sct.sct-c-wide .sct-slide{
  min-width:0!important;
}
.sct.sct-c-wide .sct-card{
  min-width:0!important;
}

/* Medium container: heading stacks on top, max 2 reviews */
.sct.sct-c-medium{
  padding-top:22px!important;
  padding-bottom:18px!important;
}
.sct.sct-c-medium .sct-in{
  flex-direction:column!important;
  align-items:stretch!important;
  padding-left:20px!important;
  padding-right:20px!important;
}
.sct.sct-c-medium .sct-head{
  flex:none!important;
  width:100%!important;
  padding:0 0 18px!important;
}
.sct.sct-c-medium .sct-title{
  font-size:clamp(21px,2.4vw,25px)!important;
  line-height:1.25!important;
}
.sct.sct-c-medium .sct-card{
  padding:4px 18px 4px 20px!important;
  gap:14px!important;
}
.sct.sct-c-medium .sct-avatar{
  flex:0 0 62px!important;
  width:62px!important;
  height:62px!important;
}
.sct.sct-c-medium .sct-text{
  font-size:14px!important;
  line-height:1.48!important;
}

/* Narrow container: one full review at a time */
.sct.sct-c-narrow{
  padding:18px 0 16px!important;
}
.sct.sct-c-narrow .sct-in{
  flex-direction:column!important;
  align-items:stretch!important;
  padding-left:12px!important;
  padding-right:12px!important;
}
.sct.sct-c-narrow .sct-head{
  flex:none!important;
  width:100%!important;
  padding:0 2px 15px!important;
}
.sct.sct-c-narrow .sct-title{
  font-size:clamp(18px,5vw,22px)!important;
  line-height:1.28!important;
}
.sct.sct-c-narrow .sct-line{
  margin-top:9px!important;
}
.sct.sct-c-narrow .sct-slider{
  width:100%!important;
  min-width:0!important;
}
.sct.sct-c-narrow .sct-viewport{
  width:100%!important;
  min-width:0!important;
}
.sct.sct-c-narrow .sct-slide{
  border-left:0!important;
  min-height:0!important;
}
.sct.sct-c-narrow .sct-card{
  width:100%!important;
  padding:4px 4px!important;
  gap:12px!important;
}
.sct.sct-c-narrow .sct-avatar{
  flex:0 0 clamp(48px,14vw,60px)!important;
  width:clamp(48px,14vw,60px)!important;
  height:clamp(48px,14vw,60px)!important;
}
.sct.sct-c-narrow .sct-body{
  padding-top:2px!important;
}
.sct.sct-c-narrow .sct-text{
  margin-top:7px!important;
  font-size:clamp(12px,3.6vw,15px)!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
.sct.sct-c-narrow .sct-name{
  font-size:12.5px!important;
}
.sct.sct-c-narrow .sct-verified{
  font-size:11.5px!important;
}
.sct.sct-c-narrow .sct-meta{
  margin-top:8px!important;
}
.sct.sct-c-narrow .sct-arrow{
  --sct-arrow-size:34px!important;
}
.sct.sct-c-narrow .sct-prev{
  margin-right:5px!important;
}
.sct.sct-c-narrow .sct-next{
  margin-left:5px!important;
}

/* Very narrow phones */
.sct.sct-c-xnarrow .sct-in{
  padding-left:8px!important;
  padding-right:8px!important;
}
.sct.sct-c-xnarrow .sct-card{
  gap:9px!important;
}
.sct.sct-c-xnarrow .sct-avatar{
  flex-basis:46px!important;
  width:46px!important;
  height:46px!important;
}
.sct.sct-c-xnarrow .sct-stars{
  transform:scale(.88);
  transform-origin:left top;
  margin-bottom:-2px;
}
.sct.sct-c-xnarrow .sct-text{
  font-size:12px!important;
}
.sct.sct-c-xnarrow .sct-arrow{
  --sct-arrow-size:30px!important;
}

/* Never allow content to force horizontal overflow */
.sct .sct-head,
.sct .sct-slider,
.sct .sct-viewport,
.sct .sct-track,
.sct .sct-slide,
.sct .sct-card,
.sct .sct-body{
  min-width:0!important;
}
.sct .sct-text,
.sct .sct-name,
.sct .sct-verified{
  overflow-wrap:anywhere;
}


/* ==========================================================================
   v1.2 CACHE-PROOF HARD RESPONSIVE
   Strong viewport rules + JS width classes. Designed to prevent thin columns.
   ========================================================================== */

/* <= 1399px: stack heading above slider and show max 2 cards */
@media (max-width:1399px){
  .sct .sct-in{
    flex-direction:column!important;
    align-items:stretch!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .sct .sct-head{
    flex:none!important;
    width:100%!important;
    max-width:none!important;
    padding:0 0 18px!important;
  }
  .sct .sct-slider{
    width:100%!important;
    min-width:0!important;
  }
}

/* <= 899px: always 1 testimonial at a time, regardless of Elementor desktop settings */
@media (max-width:899px){
  .sct{
    --sct-per:1!important;
    padding-top:18px!important;
    padding-bottom:16px!important;
  }

  .sct .sct-in{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .sct .sct-head{
    padding-bottom:14px!important;
  }

  .sct .sct-title{
    font-size:20px!important;
    line-height:1.25!important;
  }

  .sct .sct-slide{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    border-left:0!important;
  }

  .sct .sct-card{
    width:100%!important;
    min-width:0!important;
    padding:4px 6px!important;
    gap:12px!important;
  }

  .sct .sct-avatar{
    flex:0 0 54px!important;
    width:54px!important;
    height:54px!important;
  }

  .sct .sct-text{
    font-size:14px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
  }

  .sct .sct-meta{
    margin-top:8px!important;
  }

  .sct .sct-arrow{
    --sct-arrow-size:34px!important;
  }
}

/* <= 480px: compact phone mode */
@media (max-width:480px){
  .sct .sct-in{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .sct .sct-card{
    gap:9px!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }

  .sct .sct-avatar{
    flex-basis:46px!important;
    width:46px!important;
    height:46px!important;
  }

  .sct .sct-title{
    font-size:18px!important;
  }

  .sct .sct-text{
    font-size:12.5px!important;
    line-height:1.42!important;
  }

  .sct .sct-name{
    font-size:12px!important;
  }

  .sct .sct-verified{
    font-size:11px!important;
  }

  .sct .sct-arrow{
    --sct-arrow-size:30px!important;
  }
}

/* Width-class fallback generated by JS */
.sct.sct-force-one{
  --sct-per:1!important;
}
.sct.sct-force-one .sct-slide{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}
.sct.sct-force-one .sct-in{
  flex-direction:column!important;
  align-items:stretch!important;
}
.sct.sct-force-one .sct-head{
  flex:none!important;
  width:100%!important;
  padding-bottom:14px!important;
}

.sct.sct-force-two{
  --sct-per:2!important;
}
.sct.sct-force-two .sct-slide{
  flex:0 0 50%!important;
  width:50%!important;
  min-width:50%!important;
  max-width:50%!important;
}
.sct.sct-force-two .sct-in{
  flex-direction:column!important;
  align-items:stretch!important;
}
.sct.sct-force-two .sct-head{
  flex:none!important;
  width:100%!important;
  padding-bottom:16px!important;
}
