/* land-testimonials — scoped, RTL, independent */
.ms-test{
  direction:rtl;
  isolation:isolate;
  color:#111827;
  font-family:"IRANSans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  margin-bottom:28px; /* فاصله ایمن تا ماژول بعدی */
}

/* دکمه‌ها بدون underline */
.ms-test a,.ms-test .btn{ text-decoration:none !important; }

/* ظرف داخلی */
.mstesti__container{
  width:min(1200px,92vw);
  margin-inline:auto;
}

/* هدینگ */
.mstesti__head{ margin-bottom:12px; }
.mstesti__title{
  margin:0 0 4px;
  color:#8b5cf6;
  font-family:"Lalezar","IRANSans";
  font-size:clamp(22px,2.4vw,28px);
}
.mstesti__subtitle{ margin:0; color:#6b7280 }

/* ویوپورت اسلایدر */
.mstesti__viewport{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  padding:16px 12px;  /* حاشیه داخلی برای nav و سایه کارت‌ها */
  background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.98));
  border:1px solid rgba(17,24,39,.06);
  box-shadow:0 10px 30px rgba(17,24,39,.08), 0 2px 10px rgba(17,24,39,.04);
}

/* اسلایدر */
.mstesti__slider{ --per:3; width:100%; } /* ✅ عرض کامل داخل باکس والد */
.mstesti__track{
  display:flex;
  gap:12px;
  will-change: transform;
  transition: transform .45s ease;
  padding-bottom:12px;           /* ✅ فاصله‌ی پایین تا لبه‌ی ویوپورت (کارت‌ها نمی‌چسبند) */
}
.mstesti__slide{
  flex: 0 0 calc(100% / var(--per) - 8px);
  max-width: calc(100% / var(--per) - 8px);
}

/* کارت نظر */
.tcard{
  background:#fff; border:1px solid rgba(17,24,39,.06);
  border-radius:16px; padding:14px;
  box-shadow:0 4px 16px rgba(17,24,39,.06);
  height:95%; display:flex; flex-direction:column;
}
.tcard__head{ display:flex; align-items:center; gap:10px; position:relative; }
.tcard__avatar{ width:46px; height:46px; border-radius:999px; object-fit:cover; box-shadow:0 2px 8px rgba(0,0,0,.12) }
.tcard__name{ font-weight:800 }
.tcard__meta{ color:#6b7280; font-size:13px }
.tcard__video{
  position:absolute; left:6px; top:6px;
  width:34px; height:34px; border-radius:999px; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(90deg,#ec4899,#f472b6); color:#fff;
  box-shadow:0 8px 18px rgba(236,72,153,.28);
}
.tcard__stars{ margin:6px 0 2px; color:#f59e0b; display:flex; align-items:center; gap:4px; }
.tcard__rate{ color:#6b7280; font-size:12px; margin-right:6px }
.tcard__text{ margin:8px 0 0; color:#374151; line-height:1.9 }

/* ناوبری چپ/راست */
.mstesti__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:999px; border:none;
  display:flex; align-items:center; justify-content:center;
  background:#fff; color:#111827; box-shadow:0 8px 22px rgba(0,0,0,.18);
  cursor:pointer; z-index:5;
}
.mstesti__nav.prev{ right:10px }
.mstesti__nav.next{ left:10px }
.mstesti__nav:disabled{ opacity:.35; cursor:not-allowed }

/* دات‌ها */
.mstesti__dots{ display:flex; gap:8px; justify-content:center; margin-top:10px }
.mstesti__dots button{
  width:8px; height:8px; border-radius:999px; border:none; background:#d1d5db; cursor:pointer;
}
.mstesti__dots button[aria-selected="true"]{ background:#8b5cf6; }

/* ریسپانسیو: تعداد کارت‌ها */
@media (max-width:1100px){
  .mstesti__slider{ --per:2; }
}
@media (max-width:780px){
  .mstesti__slider{ --per:1; }
  .mstesti__viewport{ padding:14px 8px; }
}

/* مودال ویدئو (بالای همه‌چیز) */
.mstesti__modal[hidden]{ display:none }
.mstesti__modal{
  position:fixed; inset:0;
  z-index:2147483640 !important;
}
.mstesti__modal__backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter: blur(2px);
  z-index:0;
}
.mstesti__modal__dlg{
  position:absolute; inset:0;
  display:grid; place-items:center; padding:20px;
  z-index:1;
}
.mstesti__modal__body{
  position:relative;
  width:min(980px,92vw); aspect-ratio:16/9;
  background:#000; border-radius:12px; overflow:hidden;
  box-shadow:0 22px 60px rgba(0,0,0,.45);
  z-index:2;
}
.mstesti__modal__body iframe,
.mstesti__modal__body video{ width:100%; height:100%; display:block }
.mstesti__modal__body > .mstesti__close{
  position:absolute; top:10px; right:10px;
  width:40px; height:40px; border:none; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:#fff; color:#111827;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
  z-index:3;
}

/* === Slider core layout (no wrap, page-sized) === */
.mstesti__slider{ --per:3; --gap:12px; }
.mstesti__track{
  display: flex;
  flex-wrap: nowrap;
  gap: var(--gap);
  transition: transform .45s ease;
  will-change: transform;
}
.mstesti__slide{
  flex: 0 0 calc((100% - (var(--gap) * (var(--per) - 1))) / var(--per));
}
.mstesti__slide .card{ height: 100%; }
