/* ===== Testimonials ===== */
.testimonials{
  background:#f2f4f7;       /* خاکستری پشت */
  padding:56px 0;
}
.t-container{
  width:min(1200px, 92vw);
  margin:0 auto;
}
.t-header{
  text-align:center;
  margin-bottom:22px;
}
.t-title{
  margin:0;
  font-size:28px;
  font-weight:800;
  color:#101828;
}
.t-subtitle{
  margin:8px 0 0;
  color:#475467;
  font-size:14px;
}

/* Carousel shell */
.t-carousel{
  position:relative;
  padding:10px 44px; /* جا برای دکمه‌ها */
}

/* Track */
.t-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
  padding:10px 2px;
  outline:none;
}
.t-track::-webkit-scrollbar{ height:0; }

/* Slides sizing (responsive) */
.t-slide{
  flex:0 0 100%;
  scroll-snap-align:start;
}
@media (min-width: 768px){
  .t-slide{ flex-basis: calc(50% - 8px); }
}
@media (min-width: 1024px){
  .t-slide{ flex-basis: calc(33.333% - 10.666px); }
}

/* Card (سرمه‌ای) */
.t-card{
  background:#0b1f3a;       /* سرمه‌ای */
  color:#e8eef6;
  border-radius:18px;
  padding:18px 18px 14px;
  box-shadow:0 10px 24px rgba(16,24,40,.10);
  border:1px solid rgba(255,255,255,.08);
  min-height: 210px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.t-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  font-size:12px;
  font-weight:700;
  margin-bottom:12px;
}

.t-text{
  margin:0;
  line-height:1.9;
  font-size:14px;
  color:#e8eef6;
  opacity:.95;
}

.t-footer{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.10);
}
.t-person{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.t-avatar{
  width:36px; height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  font-weight:800;
}
.t-name{
  font-weight:800;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width: 160px;
}
.t-meta{
  font-size:12px;
  color:rgba(232,238,246,.75);
  margin-top:2px;
}
.t-stars{
  letter-spacing:1px;
  font-size:14px;
  color:#ffd166;
  white-space:nowrap;
}

/* Nav buttons */
.t-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px; height:38px;
  border-radius:12px;
  border:1px solid rgba(16,24,40,.12);
  background:#ffffff;
  color:#0b1f3a;
  box-shadow:0 8px 18px rgba(16,24,40,.12);
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:22px;
  user-select:none;
}
.t-nav:hover{ filter:brightness(.98); }
.t-prev{ left:10px; }
.t-next{ right:10px; }

/* Dots (circular + nicer) */
.t-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:16px;
}

.t-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:rgba(11,31,58,.22);
  border:1px solid rgba(11,31,58,.18);
  cursor:pointer;
  padding:0;
  transition:transform .15s ease, background-color .15s ease, opacity .15s ease;
  opacity:.9;
}

.t-dot:hover{
  transform:scale(1.15);
  opacity:1;
}

.t-dot.is-active{
  background:#ffd166;
  border-color:#ffd166;
  transform:scale(1.25);
  opacity:1;
}
/* --- Patch to prevent theme overrides --- */
.testimonials, .testimonials * { box-sizing: border-box; }

.testimonials{
  width:100% !important;
  flex: 0 0 100% !important;   /* اگر داخل flex افتاده */
  background:#f2f4f7 !important;
}

.testimonials .t-carousel,
.testimonials .t-track{
  width:100% !important;
}

.testimonials .t-track{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:stretch !important;
}

/* Reset button theme styles */
.testimonials .t-nav{
  all: unset;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px; height:38px;
  border-radius:12px;
  border:1px solid rgba(16,24,40,.12);
  background:#fff;
  color:#0b1f3a;
  box-shadow:0 8px 18px rgba(16,24,40,.12);
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:22px;
  z-index:5;
}
.testimonials .t-prev{ left:10px; }
.testimonials .t-next{ right:10px; }
/* RTL button positions */
.testimonials[dir="rtl"] .t-prev { right: 10px; left: auto; }
.testimonials[dir="rtl"] .t-next { left: 10px; right: auto; }
/* === Force circular dots (override theme button styles) === */
.testimonials .t-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:16px;
}

.testimonials .t-dot{
  all: unset;                 /* مهم‌ترین خط: ریست کامل */
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(11,31,58,.22);
  border:1px solid rgba(11,31,58,.18);
  cursor:pointer;
  display:inline-block;       /* دقت: inline-block */
  box-sizing:border-box;
  transition:transform .15s ease, background-color .15s ease, opacity .15s ease;
  opacity:.9;
}

.testimonials .t-dot:hover{
  transform:scale(1.15);
  opacity:1;
}

.testimonials .t-dot.is-active{
  background:#ffd166;         /* یا #0b1f3a */
  border-color:#ffd166;
  transform:scale(1.25);
  opacity:1;
}