/* =============================================================
   IDATA Elementor Widgets – TESTIMONIALS
   Phụ thuộc: idata-core
============================================================= */

/* =========================================================
   1. TESTIMONIALS SLIDER
========================================================= */
.idata-testimonials__slider { position: relative; }

.idata-testimonials__viewport {
  overflow: hidden;
  border-radius: var(--idata-radius-lg);
  /* touch-action cho phép cuộn dọc trang trong khi vẫn vuốt ngang được slider */
  touch-action: pan-y;
}

.idata-testimonials__track {
  display: flex;
  transition: transform var(--idata-transition-slow);
  will-change: transform;
}
.idata-testimonials__track.is-dragging { transition: none; }

.idata-testimonials__slide {
  flex: 0 0 50%;
  min-width: 0;
  padding-inline: var(--idata-space-3);
}

.idata-testimonial {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: var(--idata-space-7);
  background: var(--idata-surface);
  border: 1px solid var(--idata-border);
  border-radius: var(--idata-radius-lg);
  box-shadow: var(--idata-shadow-sm);
}

.idata-testimonial__rating {
  display: flex;
  align-items: center;
  gap: 3px;
  color: var(--idata-accent);
  margin-bottom: var(--idata-space-4);
}
.idata-testimonial__rating-text {
  margin-left: 8px;
  font-size: var(--idata-fs-xs);
  font-weight: var(--idata-font-weight-semibold);
  color: var(--idata-muted);
}

.idata-testimonial__quote {
  flex-grow: 1;
  margin-bottom: var(--idata-space-6);
  font-size: var(--idata-fs-lead);
  line-height: 1.65;
  color: var(--idata-text);
}

.idata-testimonial__author {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: var(--idata-space-5);
  border-top: 1px solid var(--idata-border);
}
.idata-testimonial__avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--idata-primary-light);
}
.idata-testimonial__info { display: flex; flex-direction: column; font-size: var(--idata-fs-xs); color: var(--idata-muted); }
.idata-testimonial__info strong {
  font-size: var(--idata-fs-sm);
  font-weight: var(--idata-font-weight-bold);
  color: var(--idata-heading);
}
.idata-testimonial__service { margin-top: 3px; color: var(--idata-primary); font-weight: var(--idata-font-weight-semibold); }

/* ---------- ĐIỀU KHIỂN SLIDER ---------- */
.idata-testimonials__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--idata-space-4);
  margin-top: var(--idata-space-6);
}
.idata-testimonials__btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--idata-surface);
  border: 1px solid var(--idata-border);
  color: var(--idata-heading);
  transition: background-color var(--idata-transition-fast), color var(--idata-transition-fast),
              border-color var(--idata-transition-fast);
}
.idata-testimonials__btn:hover {
  background: var(--idata-primary);
  border-color: var(--idata-primary);
  color: #fff;
}

.idata-testimonials__dots { display: flex; align-items: center; gap: 8px; }
.idata-testimonials__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--idata-border-strong);
  transition: width var(--idata-transition-fast), background-color var(--idata-transition-fast);
}
.idata-testimonials__dot.is-active {
  width: 26px;
  border-radius: var(--idata-radius-pill);
  background: var(--idata-primary);
}


/* ============ RESPONSIVE ============ */

@media (max-width: 1024px) {
  .idata-testimonials__slide { flex-basis: 100%; }
}

@media (max-width: 480px) {
  .idata-testimonial { padding: var(--idata-space-5); }
  .idata-testimonial__quote { font-size: var(--idata-fs-body); }
}

/* ============ MODIFIER ============ */
.idata-testimonial__avatar--empty {
  display: block;
  border-radius: 50%;
  background: var(--idata-primary-light);
}

@media (max-width: 480px) {
  .idata-hide-arrows-mobile-yes .idata-testimonials__btn { display: none; }
}
