/* ==========================
   RB Testimonials (Marquee) v2.2.0 — own file: rb-testimonials.css
   Two rows of review cards looping in opposite directions.
   Every value below is a fallback; the widget's Style tab overrides it.
========================== */
.rbts{
  --rbts-gap:20px;
  --rbts-w-s:300px;
  --rbts-w-m:360px;
  --rbts-w-l:430px;
  --rbts-tilt:1.6deg;
  --rbts-lift:6px;
  --rbts-mark-size:64px;
  --rbts-star:15px;
  --rbts-avatar:44px;
  --rbts-glow1:rgba(245,154,0,.09);
  --rbts-glow2:rgba(79,103,255,.10);
  --rbts-grid:rgba(14,26,43,.05);
  --rbts-stats-border:#E3E9F2;
  --rbts-stat-accent:#F59A00;
  position:relative;
  width:100%;
  overflow:hidden;
  isolation:isolate;
  padding:104px 0;
  background-color:#FFFFFF;
  color:#0E1A2B;
}
.rbts *{box-sizing:border-box}
.rbts.has-glow::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(30% 34% at 8% 10%,var(--rbts-glow1),transparent 70%),
    radial-gradient(40% 45% at 90% 85%,var(--rbts-glow2),transparent 70%);
}
.rbts.has-grid::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--rbts-grid) 1px,transparent 1px),linear-gradient(90deg,var(--rbts-grid) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 25%,transparent 75%);
  mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 25%,transparent 75%);
}

/* Header */
.rbts__header{position:relative;display:flex;flex-direction:column;align-items:center;max-width:860px;margin:0 auto 40px;padding:0 24px;text-align:center}
.rbts__badge{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:8px 14px;
  border:1px solid #E3E9F2;border-radius:999px;background-color:#FFFFFF;color:#0E1A2B;
  font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;
  box-shadow:0 6px 18px -10px rgba(14,26,43,.25);
}
.rbts__badge-dot{position:relative;width:8px;height:8px;border-radius:50%;background-color:#F59A00}
.rbts__badge-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:rbts-ping 1.8s cubic-bezier(.2,.7,.3,1) infinite}
@keyframes rbts-ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.8);opacity:0}}
.rbts__heading{margin:0;color:#0E1A2B;font-size:clamp(40px,5.6vw,76px);font-weight:800;line-height:1;letter-spacing:-.045em;text-wrap:balance}
.rbts__accent{
  position:relative;display:inline-block;padding:0 .06em;
  color:#F59A00;font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;letter-spacing:-.02em;
}
.rbts__intro{margin:18px 0 0;max-width:560px;color:#526174;font-size:17px;line-height:1.6}

/* Proof strip */
.rbts__stats-wrap{position:relative;display:flex;justify-content:center;margin-bottom:64px;padding:0 24px}
.rbts__stats{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);
  border:1px solid var(--rbts-stats-border);border-radius:20px;
  background-color:#FFFFFF;
  box-shadow:0 12px 30px -24px rgba(14,26,43,.25);
}
.rbts__stat{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 28px;text-align:center}
.rbts__stat+.rbts__stat{border-left:1px solid var(--rbts-stats-border)}
.rbts__stat-value{position:relative;color:#0E1A2B;font-size:30px;font-weight:800;line-height:1;letter-spacing:-.03em}
.rbts__stat-value::after{content:"";display:block;width:22px;height:3px;margin:8px auto 0;border-radius:3px;background:var(--rbts-stat-accent)}
.rbts__stat-label{color:#68778A;font-size:13px;font-weight:500;line-height:1.35}

/* Rows / marquee */
.rbts__rows{
  position:relative;display:flex;flex-direction:column;gap:22px;
  padding:14px 0;
}
.rbts__row{position:relative;width:100%;overflow:visible}
.rbts.has-tilt .rbts__row{width:calc(100% + 160px);margin-left:-80px}
.rbts.has-tilt .rbts__row--1{transform:rotate(calc(-1 * var(--rbts-tilt)))}
.rbts.has-tilt .rbts__row--2{transform:rotate(var(--rbts-tilt))}
.rbts__track{
  display:flex;width:max-content;
  animation:rbts-left var(--rbts-dur,90s) linear infinite;
  will-change:transform;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
}
.rbts__row[data-dir="right"] .rbts__track{animation-name:rbts-right}
.rbts__set{display:flex;align-items:center;gap:var(--rbts-gap);padding:12px var(--rbts-gap) 12px 0}
@keyframes rbts-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1 * var(--rbts-shift,50%)),0,0)}}
@keyframes rbts-right{from{transform:translate3d(calc(-1 * var(--rbts-shift,50%)),0,0)}to{transform:translate3d(0,0,0)}}
.rbts.has-pause .rbts__row:hover .rbts__track,
.rbts.has-pause .rbts__row:focus-within .rbts__track,
.rbts.is-offscreen .rbts__track{animation-play-state:paused}

/* Cards */
.rbts-card{
  --c-bg1:#13203A;--c-bg2:#040917;--c-border:rgba(255,255,255,.06);--c-hl:#F59A00;--c-text:#C3CCDA;
  --c-name:#FFFFFF;--c-role:#8E9CB0;--c-mark:#F59A00;--c-stars:#F59A00;--c-avatar:#F59A00;--c-avatar-text:#040917;
  position:relative;flex:none;
  width:var(--rbts-w-m);margin:0;padding:28px 28px 26px;
  border:1px solid var(--c-border);border-radius:24px;
  background:linear-gradient(145deg,var(--c-bg1),var(--c-bg2));
  color:var(--c-text);
  overflow:hidden;
  box-shadow:0 14px 30px -24px rgba(4,9,23,.35);
  transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease;
}
.rbts-card--dark::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.07) 50%,transparent 62%);
}
.rbts-card:hover{transform:translateY(calc(-1 * var(--rbts-lift)));box-shadow:0 20px 40px -26px rgba(4,9,23,.4)}
.rbts-card--s{width:var(--rbts-w-s)}
.rbts-card--m{width:var(--rbts-w-m)}
.rbts-card--l{width:var(--rbts-w-l)}
.rbts .rbts-card--light{
  --c-bg1:#FFFFFF;--c-bg2:#F7F9FC;--c-border:#E3E9F2;--c-hl:#0E1A2B;--c-text:#526174;
  --c-name:#0E1A2B;--c-role:#68778A;--c-mark:#F59A00;--c-stars:#F59A00;--c-avatar:#0E1A2B;--c-avatar-text:#FFFFFF;
  box-shadow:0 10px 26px -22px rgba(14,26,43,.28);
}
.rbts .rbts-card--accent{
  --c-bg1:#FFB13B;--c-bg2:#F08A00;--c-border:rgba(4,9,23,.08);--c-hl:#040917;--c-text:#2A1A04;
  --c-name:#040917;--c-role:#4A3108;--c-mark:#040917;--c-stars:#040917;--c-avatar:#040917;--c-avatar-text:#F59A00;
  box-shadow:0 14px 30px -22px rgba(240,138,0,.45);
}
.rbts-card__top{display:flex;align-items:flex-start;gap:10px}
.rbts-card__mark{
  flex:none;height:calc(var(--rbts-mark-size) * .52);margin-top:-2px;
  color:var(--c-mark);font-family:"Playfair Display",Georgia,serif;font-size:var(--rbts-mark-size);font-weight:900;line-height:.86;
}
.rbts-card__hl{
  min-width:0;padding-top:2px;
  color:var(--c-hl);font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-size:27px;font-style:italic;font-weight:700;line-height:1.12;letter-spacing:-.01em;
}
.rbts-card__stars{display:flex;gap:3px;margin-top:14px}
.rbts-star{
  width:var(--rbts-star);height:var(--rbts-star);
  background:linear-gradient(90deg,var(--c-stars) var(--f),rgba(127,127,127,.28) var(--f));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6.2 6.8.8-5 4.6 1.3 6.7L12 17.5l-6 3.3 1.3-6.7-5-4.6 6.8-.8z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6.2 6.8.8-5 4.6 1.3 6.7L12 17.5l-6 3.3 1.3-6.7-5-4.6 6.8-.8z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.rbts .rbts-card__quote{
  margin:14px 0 0;padding:0;border:0;background:none;quotes:none;
  color:var(--c-text);font-size:15px;font-style:normal;font-weight:400;line-height:1.6;
}
.rbts .rbts-card__quote::before,.rbts .rbts-card__quote::after{content:none}
.rbts-card__author{display:flex;align-items:center;gap:12px;margin:22px 0 0;padding:0}
.rbts-card__avatar{flex:none;width:var(--rbts-avatar);height:var(--rbts-avatar);border-radius:50%;object-fit:cover}
.rbts-card__avatar--initials{display:grid;place-items:center;background-color:var(--c-avatar);color:var(--c-avatar-text);font-size:15px;font-weight:800;letter-spacing:.02em}
.rbts-card__who{display:flex;flex-direction:column;gap:2px;min-width:0}
.rbts-card__name{color:var(--c-name);font-size:15px;font-weight:700;line-height:1.3}
.rbts-card__role{color:var(--c-role);font-size:12px;font-weight:500;line-height:1.35}

@media(max-width:1024px){
  .rbts__stats{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto}
  .rbts__stat:nth-child(3){border-left:0}
  .rbts__stat:nth-child(n+3){border-top:1px solid var(--rbts-stats-border)}
}
@media(max-width:767px){
  .rbts{padding:72px 0;--rbts-w-s:240px;--rbts-w-m:270px;--rbts-w-l:300px;--rbts-gap:14px}
  .rbts__heading{font-size:clamp(34px,10vw,48px)}
  .rbts__intro{font-size:15px}
  .rbts__stats-wrap{margin-bottom:44px}
  .rbts__stat{padding:14px 12px}
  .rbts__stat-value{font-size:24px}
  .rbts-card{padding:22px 22px 20px}
  .rbts-card__hl{font-size:22px}
  .rbts .rbts-card__quote{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .rbts__track{animation:none!important}
  .rbts__row{overflow-x:auto;width:100%;margin-left:0;transform:none!important}
  .rbts__set[aria-hidden="true"],.rbts__set.is-clone{display:none}
  .rbts__badge-dot::after{animation:none}
}

/* ==========================
   v2.8.2 — compact phone layout
   Keeps the review marquee useful above the fold: about two cards are visible
   across each row, long reviews are clamped, and the proof strip becomes a
   single horizontal rail. Desktop/tablet remain unchanged.
========================== */
@media(max-width:767px){
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact{
    padding:42px 0!important;
    --rbts-gap:10px!important;
    --rbts-mark-size:34px!important;
    --rbts-star:11px!important;
    --rbts-avatar:30px!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__header{
    margin-bottom:22px!important;
    padding:0 16px!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__badge{
    margin-bottom:10px!important;
    padding:6px 10px!important;
    font-size:10px!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__heading{
    font-size:clamp(28px,8.5vw,38px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__intro{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    margin-top:10px!important;
    max-width:330px!important;
    font-size:13px!important;
    line-height:1.45!important;
  }

  /* Proof numbers stay compact instead of becoming a tall 2x2 block. */
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__stats-wrap{
    justify-content:flex-start!important;
    margin-bottom:24px!important;
    padding:0 14px!important;
    overflow:hidden;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__stats{
    display:flex!important;
    width:max-content!important;
    max-width:none!important;
    grid-template-columns:none!important;
    grid-auto-flow:initial!important;
    border-radius:14px!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__stat{
    flex:0 0 auto!important;
    min-width:116px!important;
    gap:4px!important;
    padding:10px 12px!important;
    border-top:0!important;
    border-left:1px solid var(--rbts-stats-border)!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__stat:first-child{border-left:0!important}
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__stat-value{
    font-size:20px!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__stat-value::after{
    width:16px!important;
    height:2px!important;
    margin-top:5px!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__stat-label{
    max-width:100px!important;
    font-size:10.5px!important;
    line-height:1.25!important;
  }

  /* Remove row tilt on phones so no horizontal space is wasted. */
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact.has-tilt .rbts__row,
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact.has-tilt .rbts__row--1,
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact.has-tilt .rbts__row--2{
    width:100%!important;
    margin-left:0!important;
    transform:none!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__rows{
    gap:10px!important;
    padding:4px 0!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts__set{
    gap:10px!important;
    padding:5px 10px 5px 0!important;
  }

  /* ~47vw means two cards remain visible across common 360–430px phones. */
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card,
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card--s,
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card--m,
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card--l{
    width:clamp(164px,47vw,198px)!important;
    height:214px!important;
    min-height:214px!important;
    padding:13px 13px 12px!important;
    border-radius:17px!important;
    display:flex!important;
    flex-direction:column!important;
    box-shadow:0 8px 20px -17px rgba(4,9,23,.35)!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card:hover{
    transform:none!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card__top{
    gap:6px!important;
    min-height:36px!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card__mark{
    margin-top:0!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card__hl{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    padding-top:0!important;
    font-size:16px!important;
    line-height:1.12!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card__stars{
    gap:2px!important;
    margin-top:6px!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card__quote{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:var(--rbts-mobile-lines,4)!important;
    overflow:hidden!important;
    margin-top:7px!important;
    font-size:11.5px!important;
    line-height:1.38!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card__author{
    gap:7px!important;
    margin-top:auto!important;
    padding-top:8px!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card__name{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:11.5px!important;
    line-height:1.2!important;
  }
  .elementor-widget-rb-testimonials .rbts.is-mobile-compact .rbts-card__role{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:9.5px!important;
    line-height:1.2!important;
  }
}
