/* Little Bloom Stars Testimonials: front-end section */
.lbs-testimonials{
  --lbs-coral:#F06064; --lbs-coral-deep:#C23740; --lbs-yellow:#FDCC2F; --lbs-green:#6CC49A; --lbs-teal:#32C0C4; --lbs-teal-deep:#0D767B;
  --lbs-ink:#153E43; --lbs-text:#465F60; --lbs-muted:#5B7373; --lbs-line:#D5EAEA;
  --lbs-t-bg:#FEF2F2;
  background:var(--lbs-t-bg);
  padding:clamp(3.5rem,8vw,6.5rem) 0;
  color:var(--lbs-text);
  box-sizing:border-box;
}
.lbs-testimonials *,.lbs-testimonials *::before,.lbs-testimonials *::after{box-sizing:border-box}
.lbs-testimonials.lbs-bg-yellow{--lbs-t-bg:#FFFAE9}
.lbs-testimonials.lbs-bg-green{--lbs-t-bg:#EFF9F3}
.lbs-testimonials.lbs-bg-teal{--lbs-t-bg:#EFFAFA}
.lbs-testimonials.lbs-bg-white{--lbs-t-bg:#FFFFFF}
.lbs-testimonials.lbs-bg-none{--lbs-t-bg:transparent}

.lbs-testimonials .lbs-t-wrap{
  max-width:1200px; margin:0 auto; padding:0 clamp(1.1rem,4vw,2rem);
  display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  grid-template-areas:"head card" "controls card";
  column-gap:clamp(2rem,5vw,4rem); row-gap:0;
}
.lbs-testimonials .lbs-t-head{grid-area:head; align-self:end}
.lbs-testimonials .lbs-t-card{grid-area:card; align-self:center}
.lbs-testimonials .lbs-t-controls{grid-area:controls; align-self:start}

/* Typography: every value can be changed from Testimonials > Section Settings (CSS variables)
   or from the Style tab of the LBS Testimonials Elementor widget. */
.lbs-testimonials .lbs-t-title{
  margin:0; padding:0;
  font-family:var(--lbs-title-font,var(--lbs-heading-font,inherit));
  font-size:var(--lbs-title-size,clamp(2.1rem,4vw,3.25rem));
  font-weight:var(--lbs-title-weight,800);
  line-height:var(--lbs-title-lh,1.1);
  letter-spacing:var(--lbs-title-ls,-.01em);
  text-transform:var(--lbs-title-tt,none);
  font-style:var(--lbs-title-fs,normal);
  color:var(--lbs-title-color,var(--lbs-ink));
}
.lbs-testimonials .lbs-t-subtitle{
  margin:.75rem 0 0;
  font-family:var(--lbs-subtitle-font,inherit);
  font-size:var(--lbs-subtitle-size,1.15rem);
  font-weight:var(--lbs-subtitle-weight,400);
  line-height:var(--lbs-subtitle-lh,1.6);
  letter-spacing:var(--lbs-subtitle-ls,normal);
  text-transform:var(--lbs-subtitle-tt,none);
  font-style:var(--lbs-subtitle-fs,normal);
  color:var(--lbs-subtitle-color,var(--lbs-text));
}
.lbs-testimonials .lbs-t-sample-note{margin:1rem 0 0; padding:.5rem .75rem; border:1.5px dashed var(--lbs-coral); border-radius:10px; font-size:.85rem; color:var(--lbs-ink); background:rgba(255,255,255,.7)}

/* Card */
.lbs-testimonials .lbs-t-card{background:#FFFFFF; border-radius:32px; padding:clamp(1.75rem,4vw,3rem); min-height:320px; position:relative; touch-action:pan-y}
.lbs-testimonials .lbs-t-mark{display:block; font-family:var(--lbs-heading-font,Georgia,serif); font-size:6rem; line-height:1; height:3rem; margin-bottom:.9rem; color:var(--lbs-coral); user-select:none}
.lbs-testimonials .lbs-t-slide{margin:0; padding:0}
.lbs-testimonials .lbs-t-slide+.lbs-t-slide{margin-top:2rem; padding-top:2rem; border-top:1px dashed var(--lbs-line)}
.lbs-testimonials.is-ready .lbs-t-slide+.lbs-t-slide{margin-top:0; padding-top:0; border-top:0}
.lbs-testimonials.is-ready .lbs-t-slide:not(.is-active){display:none}

.lbs-testimonials .lbs-t-rating{display:flex; gap:.2rem; margin:0 0 .8rem}
.lbs-testimonials .lbs-t-rating svg{width:18px; height:18px; display:block}
.lbs-testimonials .lbs-t-rating .is-on{fill:var(--lbs-yellow)}
.lbs-testimonials .lbs-t-rating .is-off{fill:#DDEBEB}

/* Reset theme blockquote styles */
.lbs-testimonials .lbs-t-quote{margin:0; padding:0; border:0; background:none; font-style:normal; quotes:none}
.lbs-testimonials .lbs-t-quote::before,.lbs-testimonials .lbs-t-quote::after{content:none; display:none}
.lbs-testimonials .lbs-t-quote p{
  margin:0; max-width:40ch;
  font-family:var(--lbs-quote-font,inherit);
  font-size:var(--lbs-quote-size,clamp(1.15rem,2vw,1.5rem));
  font-weight:var(--lbs-quote-weight,500);
  line-height:var(--lbs-quote-lh,1.5);
  letter-spacing:var(--lbs-quote-ls,normal);
  text-transform:var(--lbs-quote-tt,none);
  font-style:var(--lbs-quote-fs,normal);
  color:var(--lbs-quote-color,var(--lbs-ink));
}

.lbs-testimonials .lbs-t-person{display:flex; align-items:center; gap:.8rem; margin:1.5rem 0 0; padding:0}
.lbs-testimonials .lbs-t-avatar{width:52px; height:52px; border-radius:50%; flex:none; display:grid; place-items:center; overflow:hidden; font-weight:700; font-size:1.1rem; line-height:1}
.lbs-testimonials .lbs-t-avatar img{width:100%; height:100%; object-fit:cover; display:block; margin:0; border-radius:0}
.lbs-testimonials .lbs-av-teal{background:#D9F3F4; color:#0D767B}
.lbs-testimonials .lbs-av-coral{background:#FDE6E7; color:#C23740}
.lbs-testimonials .lbs-av-yellow{background:#FFF3CC; color:#835E00}
.lbs-testimonials .lbs-av-green{background:#E0F3E9; color:#2E7D57}
.lbs-testimonials .lbs-t-name{
  display:block;
  font-family:var(--lbs-name-font,inherit);
  font-size:var(--lbs-name-size,1rem);
  font-weight:var(--lbs-name-weight,700);
  line-height:var(--lbs-name-lh,1.3);
  letter-spacing:var(--lbs-name-ls,normal);
  text-transform:var(--lbs-name-tt,none);
  font-style:var(--lbs-name-fs,normal);
  color:var(--lbs-name-color,var(--lbs-ink));
}
.lbs-testimonials .lbs-t-meta{
  display:block;
  font-family:var(--lbs-meta-font,inherit);
  font-size:var(--lbs-meta-size,.93rem);
  font-weight:var(--lbs-meta-weight,400);
  line-height:var(--lbs-meta-lh,1.4);
  letter-spacing:var(--lbs-meta-ls,normal);
  text-transform:var(--lbs-meta-tt,none);
  font-style:var(--lbs-meta-fs,normal);
  color:var(--lbs-meta-color,var(--lbs-muted));
}

/* Controls (shown once the script has loaded) */
.lbs-testimonials .lbs-t-controls{display:none; align-items:center; gap:.75rem; margin-top:2rem}
.lbs-testimonials.is-ready .lbs-t-controls{display:flex}
.lbs-testimonials .lbs-t-arrow{
  width:48px; height:48px; min-height:0; border-radius:50%; border:2px solid var(--lbs-ink); background:transparent; color:var(--lbs-ink);
  display:grid; place-items:center; padding:0; margin:0; cursor:pointer; box-shadow:none; transition:background-color .18s,color .18s;
}
.lbs-testimonials .lbs-t-arrow:hover{background:var(--lbs-ink); color:#FFFFFF}
.lbs-testimonials .lbs-t-arrow svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.lbs-testimonials .lbs-t-dots{display:flex; flex-wrap:wrap; gap:.1rem; margin-left:.4rem}
.lbs-testimonials .lbs-t-dot{width:26px; height:26px; min-height:0; border:0; background:none; padding:0; margin:0; cursor:pointer; display:grid; place-items:center; box-shadow:none}
.lbs-testimonials .lbs-t-dot::before{content:""; width:10px; height:10px; border-radius:999px; background:#C9DEDE; transition:width .2s,background-color .2s}
.lbs-testimonials .lbs-t-dot:hover::before{background:var(--lbs-coral)}
.lbs-testimonials .lbs-t-dot[aria-current="true"]::before{width:22px; background:var(--lbs-coral)}
.lbs-testimonials .lbs-t-arrow:focus-visible,.lbs-testimonials .lbs-t-dot:focus-visible{outline:3px solid var(--lbs-teal-deep); outline-offset:2px}

.lbs-t-empty{padding:1rem 1.25rem; border:2px dashed #F06064; border-radius:12px; color:#153E43; background:#FEF2F2}

@media (max-width:860px){
  .lbs-testimonials .lbs-t-wrap{grid-template-columns:minmax(0,1fr); grid-template-areas:"head" "card" "controls"; row-gap:2rem}
  .lbs-testimonials .lbs-t-controls{margin-top:0}
  .lbs-testimonials .lbs-t-card{min-height:0}
}
/* Mobile font sizes */
@media (max-width:767px){
  .lbs-testimonials .lbs-t-title{font-size:var(--lbs-title-size-m,var(--lbs-title-size,2.1rem))}
  .lbs-testimonials .lbs-t-subtitle{font-size:var(--lbs-subtitle-size-m,var(--lbs-subtitle-size,1.05rem))}
  .lbs-testimonials .lbs-t-quote p{font-size:var(--lbs-quote-size-m,var(--lbs-quote-size,1.15rem))}
  .lbs-testimonials .lbs-t-name{font-size:var(--lbs-name-size-m,var(--lbs-name-size,1rem))}
  .lbs-testimonials .lbs-t-meta{font-size:var(--lbs-meta-size-m,var(--lbs-meta-size,.9rem))}
}
@media (prefers-reduced-motion: no-preference){
  .lbs-testimonials.is-ready .lbs-t-slide.is-active{animation:lbs-t-in .35s ease-out}
}
@keyframes lbs-t-in{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
