/* ITP Testimonials */
.itp-tm{
  --itp-accent:#fbb900;
  --itp-ink:#111;
  --itp-muted:#8a8f98;
  --itp-panel:#fafbfc;
  --itp-card:#fff;
  --itp-base:#f4f6f9;
  --itp-ring:#eef2f7;
  --itp-cols:3;
  position:relative;
  box-sizing:border-box;
  width:100%;
  padding:0;
  isolation:isolate;
}
.itp-tm *{box-sizing:border-box}

/* ---------- yellow shapes background (bg="yes") — same look as the reference image ---------- */
.itp-tm--bg{
  padding:80px 48px;
  background:var(--itp-base);
  overflow:hidden;
}
/* big yellow diagonal area (top-right to bottom-left) */
.itp-tm--bg::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--itp-accent);
  clip-path:polygon(100% 5%,0 96%,0 100%,100% 100%);
}
.itp-tm__deco{display:none}
/* faint grey circles, triangles, dashes + outlined yellow shapes */
.itp-tm--bg .itp-tm__deco{
  display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 600%22 preserveAspectRatio=%22xMidYMid slice%22%3E%3Cg fill=%22none%22 stroke=%22%238a97ab%22 stroke-opacity=%22.28%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%22140%22 cy=%2248%22 r=%227%22/%3E%3Ccircle cx=%22287%22 cy=%2222%22 r=%228%22/%3E%3Ccircle cx=%22447%22 cy=%2247%22 r=%226%22/%3E%3Ccircle cx=%22595%22 cy=%2222%22 r=%229%22/%3E%3Ccircle cx=%2245%22 cy=%22350%22 r=%225%22/%3E%3Ccircle cx=%2230%22 cy=%22470%22 r=%226%22/%3E%3Cpath d=%22M200 12l7 12h-14z%22/%3E%3Cpath d=%22M525 14l7 12h-14z%22/%3E%3Cpath d=%22M20 250l6 10h-12z%22/%3E%3Cpath d=%22M355 12l12 4M697 12l12 3M30 155l3 15M18 398l3 14M82 78l12 5M60 520l10 -3%22/%3E%3Cpath d=%22M42 36v10M37 41h10M360 60v8M356 64h8M680 40v8M676 44h8%22/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
}
.itp-tm--bg.is-dark .itp-tm__deco{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 600%22 preserveAspectRatio=%22xMidYMid slice%22%3E%3Cg fill=%22none%22 stroke=%22%23ffffff%22 stroke-opacity=%22.12%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%22140%22 cy=%2248%22 r=%227%22/%3E%3Ccircle cx=%22287%22 cy=%2222%22 r=%228%22/%3E%3Ccircle cx=%22447%22 cy=%2247%22 r=%226%22/%3E%3Ccircle cx=%22595%22 cy=%2222%22 r=%229%22/%3E%3Ccircle cx=%2245%22 cy=%22350%22 r=%225%22/%3E%3Ccircle cx=%2230%22 cy=%22470%22 r=%226%22/%3E%3Cpath d=%22M200 12l7 12h-14z%22/%3E%3Cpath d=%22M525 14l7 12h-14z%22/%3E%3Cpath d=%22M20 250l6 10h-12z%22/%3E%3Cpath d=%22M355 12l12 4M697 12l12 3M30 155l3 15M18 398l3 14M82 78l12 5M60 520l10 -3%22/%3E%3Cpath d=%22M42 36v10M37 41h10M360 60v8M356 64h8M680 40v8M676 44h8%22/%3E%3C/g%3E%3C/svg%3E")}
.itp-tm--bg .itp-tm__deco::before{
  content:"";position:absolute;left:61%;top:30px;width:60px;height:60px;
  border:5px solid var(--itp-accent);transform:rotate(25deg);
}
.itp-tm--bg .itp-tm__deco::after{
  content:"";position:absolute;left:-26px;top:26px;width:66px;height:66px;
  border:5px solid var(--itp-accent);transform:rotate(32deg);
}
/* white ring on the right edge + white pentagon at the bottom (tied to the panel) */
.itp-tm--bg .itp-tm__panel::before{
  content:"";position:absolute;z-index:-1;right:-92px;top:38%;width:150px;height:150px;
  border:5px solid #fff;border-radius:50%;pointer-events:none;
}
.itp-tm--bg .itp-tm__panel::after{
  content:"";position:absolute;z-index:-1;left:9%;bottom:-34px;width:104px;height:70px;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 104 70%22%3E%3Cpolygon points=%224,4 98,6 62,66 4,50%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%224.5%22 stroke-linejoin=%22miter%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;
}

/* ---------- panel ---------- */
.itp-tm__panel{
  position:relative;
  max-width:1100px;
  margin:0 auto;
  padding:48px 40px 56px;
  background:var(--itp-panel);
  box-shadow:0 18px 50px rgba(20,30,60,.12);
}
.itp-tm:not(.itp-tm--bg) .itp-tm__panel{box-shadow:0 6px 24px rgba(20,30,60,.08)}

/* ---------- heading ---------- */
.itp-tm__head{max-width:640px;margin:0 auto 56px;text-align:center}
.itp-tm__label{
  display:block;margin-bottom:10px;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--itp-accent);
}
.itp-tm__title{
  margin:0;font-size:clamp(24px,3.4vw,34px);line-height:1.2;
  font-weight:800;letter-spacing:.01em;text-transform:uppercase;color:var(--itp-ink);
}
.itp-tm__bar{display:block;width:44px;height:5px;margin:18px auto 22px;background:var(--itp-accent)}
.itp-tm__desc{margin:0;font-size:14px;line-height:1.8;color:var(--itp-muted)}

/* ---------- cards ---------- */
.itp-tm__grid{
  display:grid;
  grid-template-columns:repeat(var(--itp-cols),minmax(0,1fr));
  column-gap:30px;
  row-gap:70px;
  padding-top:38px;
}
.itp-tm__card{
  position:relative;
  padding:64px 28px 34px;
  background:var(--itp-card);
  text-align:center;
  box-shadow:0 2px 12px rgba(20,30,60,.06);
}
.itp-tm__avatar{
  position:absolute;left:50%;top:-38px;transform:translateX(-50%);
  width:76px;height:76px;border-radius:50%;
  padding:5px;background:var(--itp-ring);
  box-shadow:0 0 0 5px var(--itp-panel);
}
.itp-tm__avatar img{
  display:block;width:100%;height:100%;border-radius:50%;
  object-fit:cover;background:var(--itp-card);
}
.itp-tm__initials{
  display:grid;place-items:center;width:100%;height:100%;border-radius:50%;
  background:var(--itp-accent);color:#111;font-weight:700;font-size:20px;
}
.itp-tm__name{
  margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--itp-ink);line-height:1.4;
}
.itp-tm__company{
  display:block;font-size:9px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--itp-muted);
}
.itp-tm__quote-icon{
  display:grid;place-items:center;width:26px;height:26px;margin:26px auto 22px;
  border-radius:50%;background:var(--itp-accent);color:#fff;
}
.itp-tm__text{margin:0;font-size:12.5px;line-height:1.9;color:var(--itp-muted)}

.itp-tm-empty{padding:16px;border:1px dashed #ccc;text-align:center;color:#666}

/* ---------- dark mode (follows the site's dark/light button) ---------- */
.itp-tm,.itp-tm__panel,.itp-tm__card,.itp-tm__avatar,.itp-tm__title,.itp-tm__name,.itp-tm__text{
  transition:background-color .35s ease,color .35s ease,box-shadow .35s ease;
}
.itp-tm.is-dark{
  --itp-ink:#ffffff;
  --itp-muted:rgba(255,255,255,.68);
  --itp-panel:#12172e;
  --itp-card:#1b2142;
  --itp-base:#0a0e24;
  --itp-ring:#2a3262;
}
.itp-tm.is-dark .itp-tm__panel{box-shadow:0 18px 50px rgba(0,0,0,.5)}
.itp-tm.is-dark .itp-tm__card{box-shadow:0 2px 14px rgba(0,0,0,.35)}
.itp-tm.is-dark .itp-tm__quote-icon{color:#111}


/* ---------- slider (cards move one after another) ---------- */
.itp-tm__slider{position:relative}
.itp-tm__viewport{overflow:hidden;padding:50px 10px 26px;margin:-12px -10px -26px}
.itp-tm__track{display:flex;gap:30px;--pv:var(--itp-cols);will-change:transform}
.itp-tm__track.is-moving{transition:transform .9s cubic-bezier(.65,0,.35,1)}
.itp-tm__slider .itp-tm__card{flex:0 0 calc((100% - 30px * (var(--pv) - 1)) / var(--pv))}
.itp-tm__nav{display:flex;justify-content:center;gap:12px;margin-top:44px}
.itp-tm__slider.is-single .itp-tm__nav{display:none}
.itp-tm__arrow{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:0;
  border:1px solid rgba(127,127,127,.3);background:var(--itp-card);color:var(--itp-ink);
  transition:background-color .25s ease,transform .25s ease,border-color .25s ease,color .25s ease;
}
.itp-tm__arrow:hover{background:var(--itp-accent);border-color:var(--itp-accent);color:#111;transform:scale(1.1)}
.itp-tm__arrow:focus-visible{outline:3px solid var(--itp-accent);outline-offset:3px}
/* stop the theme's pink button:focus / :active colour (Hello Elementor #c36) — keep it white, or yellow on hover */
.itp-tm .itp-tm__arrow,
.itp-tm .itp-tm__arrow:focus,
.itp-tm .itp-tm__arrow:active{background-color:var(--itp-card);border-color:rgba(127,127,127,.3);color:var(--itp-ink);box-shadow:none;text-decoration:none}
.itp-tm .itp-tm__arrow:hover,
.itp-tm .itp-tm__arrow:focus:hover,
.itp-tm .itp-tm__arrow:active:hover{background-color:var(--itp-accent);border-color:var(--itp-accent);color:#111}
.itp-tm .itp-tm__arrow:active{background-color:var(--itp-accent);border-color:var(--itp-accent);color:#111}
.itp-tm .itp-tm__arrow:focus:not(:focus-visible){outline:0}
/* slider="no": plain grid */
.itp-tm__slider.is-static .itp-tm__viewport{overflow:visible;padding:38px 0 0;margin:0}
.itp-tm__slider.is-static .itp-tm__track{display:grid;grid-template-columns:repeat(var(--itp-cols),minmax(0,1fr));gap:70px 30px}
.itp-tm__slider.is-static .itp-tm__nav{display:none}
@media (max-width:900px){.itp-tm__slider.is-static .itp-tm__track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.itp-tm__slider.is-static .itp-tm__track{grid-template-columns:1fr}}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .itp-tm--bg{padding:56px 20px}
  .itp-tm__panel{padding:40px 24px 48px}
  .itp-tm__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .itp-tm--bg{padding:40px 12px}
  .itp-tm__panel{padding:32px 16px 40px}
  .itp-tm__grid{grid-template-columns:1fr}
  .itp-tm--bg .itp-tm__panel::before,.itp-tm--bg .itp-tm__deco::before{display:none}
}
