/* Sol Reviews — grid + carousel (engine ported from Talli Reviews). No external libraries. */
.sr-reviews{position:relative;display:flex;flex-direction:column;font-family:var(--sr-font,'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif);color:#1A1A1A;-webkit-font-smoothing:antialiased}
.sr-reviews *,.sr-reviews *::before,.sr-reviews *::after{box-sizing:border-box}

/* ---------- Card ---------- */
.sr-reviews .sr-card{position:relative;display:flex;flex-direction:column;min-width:0;margin:0;background:#FAFAFA;border-radius:14px;padding:64px 60px;transition:transform .35s cubic-bezier(.2,.7,.2,1),background-color .35s,box-shadow .35s}
.sr-reviews .sr-card:hover{transform:translateY(calc(-1 * var(--sr-lift,0px)))}
.sr-reviews .sr-quote{position:absolute;top:var(--sr-q-top,-14px);right:var(--sr-q-x,40px);width:var(--sr-q-size,64px);line-height:0;color:#1A1A1A;fill:currentColor;pointer-events:none;z-index:1}
.sr-q-left .sr-quote{right:auto;left:var(--sr-q-x,40px)}
.sr-reviews .sr-quote svg,.sr-reviews .sr-quote img{display:block;width:100%;height:auto;fill:currentColor}
.sr-reviews .sr-quote i{font-size:var(--sr-q-size,64px);line-height:1}
.sr-reviews .sr-quote.is-flip{transform:scaleX(-1)}
.sr-reviews .sr-stars{display:flex;gap:2px;margin-bottom:12px;color:#1A1A1A}
.sr-reviews .sr-stars svg{width:17px;height:17px;flex:none;fill:currentColor}
.sr-reviews .sr-text{font-size:clamp(15px,1.05vw,17px);line-height:var(--sr-lh-body,1.5em);font-weight:400;margin-bottom:24px;overflow-wrap:break-word}
.sr-reviews--carousel .sr-text{font-size:var(--sr-fs-body,clamp(16px,1.2vw,19px))}
.sr-reviews .sr-text p{margin:0 0 .6em;font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
.sr-reviews .sr-text p:last-child{margin-bottom:0}
.sr-reviews .sr-author{display:flex;align-items:center;gap:16px}
.sr-author-bottom .sr-author{margin-top:auto}
.sr-reviews .sr-avatar{display:block;flex:none;width:56px;height:56px;max-width:none;border-radius:50%;object-fit:cover}
.sr-reviews .sr-meta{min-width:0}
.sr-reviews .sr-name{display:block;font-size:var(--sr-fs-btn,clamp(15px,1vw,16px));line-height:1.3;font-weight:600}
.sr-reviews .sr-role{display:block;margin-top:2px;font-size:var(--sr-fs-caption,clamp(12px,0.82vw,13px));line-height:var(--sr-lh-caption,1.4em)}

/* ---------- Grid ---------- */
.sr-reviews .sr-scroller{position:relative;padding-top:max(0px,calc(-1 * var(--sr-q-top,-14px)))}
.sr-reviews .sr-grid{display:grid;grid-template-columns:repeat(var(--sr-cols,3),minmax(0,1fr));gap:var(--sr-gap,16px)}
.sr-scroll .sr-scroller{max-height:var(--sr-box-h,none);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--sr-sb-thumb,#1A1A1A) var(--sr-sb-track,rgba(0,0,0,.06))}
.sr-scroll:not(.sr-no-sb) .sr-scroller.is-limited{padding-right:var(--sr-sb-space,10px)}
.sr-scroll .sr-scroller::-webkit-scrollbar{width:6px}
.sr-scroll .sr-scroller::-webkit-scrollbar-track{background:var(--sr-sb-track,rgba(0,0,0,.06));border-radius:6px}
.sr-scroll .sr-scroller::-webkit-scrollbar-thumb{background:var(--sr-sb-thumb,#1A1A1A);border-radius:6px}
.sr-scroll.sr-no-sb .sr-scroller{padding-right:0;scrollbar-width:none;-ms-overflow-style:none}
.sr-scroll.sr-no-sb .sr-scroller::-webkit-scrollbar{display:none;width:0;height:0}
.sr-fade .sr-scroller.is-limited:not(.is-end){-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--sr-fade,90px)),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - var(--sr-fade,90px)),transparent)}

/* ---------- Carousel ---------- */
.sr-reviews .sr-track{position:relative;overflow:hidden;outline:0;touch-action:pan-y;
	margin-left:calc(-1 * var(--sr-bleed-l,0px));margin-right:calc(-1 * var(--sr-bleed-r,0px));
	padding:max(0px,calc(-1 * var(--sr-q-top,-14px))) calc(var(--sr-bleed-r,0px) + var(--sr-inset,0px) + var(--sr-off-r,0px)) 12px calc(var(--sr-bleed-l,0px) + var(--sr-inset,0px) + var(--sr-off-l,0px))}
.sr-reviews .sr-track:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.sr-reviews .sr-rail{display:flex;gap:var(--sr-gap,16px);width:100%;margin:0;padding:0;transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden}
/* a card is never wider than the visible area, so it can't be cut off */
.sr-reviews .sr-rail>.sr-card{flex:0 0 min(var(--sr-card-w,544px),100%);min-width:0}
/* one card at a time: card fills the visible width */
.sr-reviews.sr-one .sr-rail>.sr-card{flex:0 0 100%}
.sr-drag .sr-track{cursor:grab}
.sr-reviews .sr-track.is-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
.sr-reviews .sr-track.is-dragging .sr-card{pointer-events:none}
/* Left space: hidden copies until the carousel moves (fade in when moving backwards) */
.sr-reviews .sr-rail>.sr-card.is-clone-before{transition:opacity .6s ease,transform .35s cubic-bezier(.2,.7,.2,1),background-color .35s,box-shadow .35s}
.sr-left-fresh .sr-rail>.sr-card.is-clone-before{opacity:0;pointer-events:none}
.sr-left-instant .sr-rail>.sr-card.is-clone-before{transition:none}

.sr-edge-fade .sr-track{-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--sr-edge-fade,80px),#000 calc(100% - var(--sr-edge-fade,80px)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--sr-edge-fade,80px),#000 calc(100% - var(--sr-edge-fade,80px)),transparent)}

.sr-reviews .sr-nav{display:flex;gap:12px;margin-top:20px;justify-content:flex-end;padding:0 calc(var(--sr-inset,0px) + var(--sr-off-r,0px)) 0 calc(var(--sr-inset,0px) + var(--sr-off-l,0px))}
.sr-reviews .sr-nav--bottom-left{justify-content:flex-start}
.sr-reviews .sr-nav--bottom-center{justify-content:center}
.sr-reviews .sr-nav--top-right{order:-1;margin:0 0 16px}
.sr-reviews .sr-nav--sides{position:absolute;left:0;right:0;top:50%;margin:0;justify-content:space-between;transform:translateY(-50%);pointer-events:none;z-index:3;padding:0 8px}
.sr-reviews .sr-nav--sides .sr-arrow{pointer-events:auto;box-shadow:0 4px 18px rgba(0,0,0,.15)}
.sr-reviews.is-static .sr-nav,.sr-reviews.is-static .sr-dots{display:none}

.sr-reviews .sr-arrow{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:0;padding:0;margin:0;border:0;border-radius:50%;background:#1A1A1A;color:#FFDD00;cursor:pointer;line-height:1;font-size:0;box-shadow:none;text-transform:none;transition:background-color .25s,color .25s,opacity .25s,transform .25s}
.sr-reviews .sr-arrow:hover,.sr-reviews .sr-arrow:focus{background:#FFDD00;color:#1A1A1A}
.sr-reviews .sr-arrow:focus-visible{outline:2px solid #1A1A1A;outline-offset:3px}
.sr-reviews .sr-arrow:active{transform:scale(.94)}
.sr-reviews .sr-arrow:disabled{opacity:.3;cursor:default;transform:none}
.sr-reviews .sr-arrow svg{width:42%;height:42%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

.sr-reviews .sr-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px}
.sr-reviews .sr-dot{width:10px;height:10px;min-height:0;padding:0;margin:0;border:0;border-radius:50%;background:#D9D9D9;cursor:pointer;box-shadow:none;transition:background-color .25s,transform .25s}
.sr-reviews .sr-dot:hover,.sr-reviews .sr-dot:focus{background:#9a9a9a}
.sr-reviews .sr-dot.is-active{background:#1A1A1A;transform:scale(1.25)}

@media (max-width:767px){
	.sr-reviews .sr-nav--sides{display:none}
}
@media (prefers-reduced-motion:reduce){
	.sr-reviews .sr-card,.sr-reviews .sr-arrow{transition:none}
}

/* ---------- Read More: card clamp, CTA link/button (shared style) ---------- */
.sr-reviews .sr-text.sr-clamp:not(.is-open){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--sr-clamp,6);overflow:hidden}
.sr-reviews .sr-text.sr-clamp p{display:inline}
.sr-reviews .sr-text.sr-clamp p+p::before{content:"";display:block;height:.6em}
.sr-reviews .sr-text.sr-clamp.is-open{display:block}

.sr-reviews .sr-cta-wrap{display:flex;justify-content:var(--src-align,center);margin-top:var(--src-space,32px);padding:0 calc(var(--sr-inset,0px) + var(--sr-off-r,0px)) 0 calc(var(--sr-inset,0px) + var(--sr-off-l,0px))}
.sr-reviews .sr-cta-wrap[hidden]{display:none}
.sr-reviews .sr-cta.sr-cta{
	--_c:var(--src-c,#1A1A1A);--_i:var(--src-i,var(--_c));--_bg:var(--src-bg,#FFDD00);--_bt:var(--src-bt,#1A1A1A);--_b:var(--src-b,var(--_bg));
	display:inline-flex;align-items:center;gap:8px;width:auto;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
	color:var(--_c);font-family:inherit;font-size:var(--sr-fs-btn,clamp(15px,1vw,16px));font-weight:600;line-height:1.3;letter-spacing:inherit;text-transform:none;text-decoration:none;
	cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .3s ease,background-color .3s ease,border-color .3s ease
}
.sr-reviews .sr-cta.sr-cta--button{padding:14px 22px;border:var(--src-bw,0px) solid var(--_b);border-radius:var(--src-r,5px);background:var(--_bg);color:var(--_bt);--_i:var(--src-i,var(--_bt));text-transform:uppercase}
.sr-reviews .sr-cta.sr-cta:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.sr-reviews .sr-cta .sr-cta__t{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:1px;transition:background-size .35s cubic-bezier(.22,.61,.36,1)}
.sr-reviews .sr-cta .sr-cta__i{display:inline-flex;flex:none;width:var(--src-is,13px);height:var(--src-is,13px);color:var(--_i);transition:transform .35s cubic-bezier(.22,.61,.36,1),color .3s ease}
.sr-reviews .sr-cta .sr-cta__i svg{display:block;width:100%;height:100%}
.sr-reviews .sr-cta.sr-more[aria-expanded="true"] .sr-cta__i,.sr-reviews .sr-cta.sr-more-btn.is-less .sr-cta__i{transform:rotate(180deg)}
/* card "Read more" link: only when the text is actually cut */
.sr-reviews .sr-card .sr-cta.sr-more{display:none;align-self:flex-start;margin:-12px 0 24px;font-size:var(--sr-fs-caption,clamp(13px,.9vw,14px))}
.sr-reviews .sr-card.has-more .sr-cta.sr-more{display:inline-flex}
/* hover effects: underline / arrow / colour (each switchable) */
@media (hover:hover){
	.sr-fx-u .sr-cta.sr-cta:hover .sr-cta__t{background-size:100% 1px}
	.sr-fx-a.sr-arrow-diag .sr-cta:not(.sr-more):hover .sr-cta__i{transform:translate(3px,-3px)}
	.sr-fx-a.sr-arrow-right .sr-cta:hover .sr-cta__i{transform:translateX(4px)}
	.sr-fx-a .sr-cta.sr-more[aria-expanded="false"]:hover .sr-cta__i,.sr-fx-a .sr-cta.sr-more-btn:not(.is-less):hover .sr-cta__i,.sr-fx-a.sr-arrow-down .sr-cta:not(.is-less):not([aria-expanded="true"]):hover .sr-cta__i{transform:translateY(3px)}
	.sr-fx-c .sr-cta.sr-cta:hover{--_c:var(--src-c-h,#E8604C);--_i:var(--src-i-h,var(--_c));--_bg:var(--src-bg-h,#1A1A1A);--_bt:var(--src-bt-h,#FFDD00);--_b:var(--src-b-h,var(--_bg))}
	.sr-fx-c .sr-cta.sr-cta--button:hover{--_i:var(--src-i-h,var(--_bt))}
}
.sr-fx-u .sr-cta.sr-cta:focus-visible .sr-cta__t{background-size:100% 1px}

/* grid "Read more" mode */
.sr-reviews .sr-grid>.sr-card.is-hidden{display:none}
.sr-more-mode .sr-grid>.sr-card{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1),background-color .35s,box-shadow .35s}
.sr-more-mode .sr-grid>.sr-card.sr-reveal{opacity:0;transform:translateY(18px)}
.sr-reviews .sr-text.sr-clamp.is-anim{overflow:hidden;transition:height .45s cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){
	.sr-reviews .sr-cta .sr-cta__t,.sr-reviews .sr-cta .sr-cta__i,.sr-more-mode .sr-grid>.sr-card{transition:none}
}


/* ======================================================================
   Sol theme
   ====================================================================== */
.sr-reviews{--sr-pink:#FF1493;--sr-orange:#FE5103}
.sr-reviews .sr-text{font-size:16px;line-height:1.55;margin-bottom:28px;color:#1A1A1A}
.sr-reviews--carousel .sr-text{font-size:16px}
.sr-reviews .sr-name{font-family:var(--sr-font-head,'Montserrat',system-ui,sans-serif);font-size:16px;font-weight:600;line-height:1.3;color:var(--sr-pink)}
.sr-reviews .sr-role{margin-top:3px;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:#1A1A1A}
.sr-reviews .sr-author{gap:20px}
.sr-reviews .sr-avatar{width:50px;height:50px}
.sr-reviews .sr-stars{color:#FFB400}
.sr-reviews .sr-quote{color:var(--sr-pink)}

/* card border: solid / gradient / gradient on hover */
.sr-reviews .sr-card{isolation:isolate;border:0;transition:transform .35s cubic-bezier(.2,.7,.2,1),background-color .35s,box-shadow .35s}
.sr-reviews .sr-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:var(--sr-bd-w,1px);pointer-events:none;
	background:var(--sr-bd,var(--sr-pink));
	-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
	mask:linear-gradient(#fff 0 0) content-box exclude,linear-gradient(#fff 0 0);
	transition:opacity .35s}
.sr-reviews .sr-card>*{position:relative}
.sr-reviews .sr-card>.sr-quote{position:absolute}
.sr-bd-gradient .sr-card::before{background:linear-gradient(135deg,var(--sr-bd-g1,#FF1493),var(--sr-bd-g2,#FE5103))}
.sr-bd-hover .sr-card::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:var(--sr-bd-w,1px);pointer-events:none;opacity:0;
	background:linear-gradient(135deg,var(--sr-bd-g1,#FF1493),var(--sr-bd-g2,#FE5103));
	-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
	mask:linear-gradient(#fff 0 0) content-box exclude,linear-gradient(#fff 0 0);transition:opacity .35s}
.sr-bd-hover .sr-card:hover::after{opacity:1}
.sr-bd-hover .sr-card:hover::before{opacity:0}
.sr-bd-none .sr-card::before{display:none}
.sr-glow .sr-card:hover{box-shadow:0 18px 48px var(--sr-glow,rgba(255,20,147,.22))}

/* arrows & dots: doubled class so theme / Elementor Kit button styles can't override */
.sr-reviews .sr-arrow.sr-arrow{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:0;min-height:0;padding:0;margin:0;border:0;border-radius:50%;
	background:var(--sr-arrow-bg,linear-gradient(135deg,#FF1493,#FE5103));color:var(--sr-arrow-c,#fff);
	font-size:0;line-height:1;letter-spacing:normal;text-transform:none;text-shadow:none;box-shadow:0 6px 18px rgba(255,20,147,.25)}
.sr-reviews .sr-arrow.sr-arrow:hover,.sr-reviews .sr-arrow.sr-arrow:focus{background:var(--sr-arrow-bg-h,#fff);color:var(--sr-arrow-c-h,#FF1493)}
.sr-reviews .sr-arrow.sr-arrow:focus-visible{outline:2px solid var(--sr-pink);outline-offset:3px}
.sr-reviews .sr-arrow.sr-arrow:disabled{opacity:.3;box-shadow:none}
.sr-reviews .sr-dot.sr-dot{width:10px;height:10px;min-width:0;min-height:0;padding:0;margin:0;border:0;border-radius:50%;background:var(--sr-dot,rgba(150,140,155,.45));box-shadow:none;font-size:0}
.sr-reviews .sr-dot.sr-dot:hover,.sr-reviews .sr-dot.sr-dot:focus{background:var(--sr-dot-a,#FF1493);opacity:.7}
.sr-reviews .sr-dot.sr-dot.is-active{background:var(--sr-dot-a,#FF1493);opacity:1;transform:scale(1.25)}

/* in-card "Read more" + main CTA button: resist Kit button styles */
.sr-reviews .sr-cta.sr-cta{letter-spacing:normal;text-shadow:none;width:auto;height:auto}
.sr-reviews .sr-cta.sr-cta--button{letter-spacing:.06em;font-family:var(--sr-font-head,'Montserrat',sans-serif)}

@media (max-width:767px){
	.sr-reviews .sr-text{font-size:15px}
	.sr-reviews .sr-author{gap:14px}
}
