/* Prevent stretching */
.swiper-wrapper {
    align-items: flex-start !important;  /* do not stretch slides */
}

.swiper-slide {
    height: auto !important;             /* slide fits content */
}

.testimonial-item {
    height: auto !important;             /* box only as tall as content */
    display: block !important;           /* avoid flex stretch */
}




/* ===== Container ===== */
.calmhaven-tc.swiper {
  width: 100%;
  --tc-vertical-height: 420px;   /* height for vertical modes */
  --tc-item-radius: 14px;
  --tc-item-bg: #fff;
  --tc-gap: 20px;
  --tc-text: #333;
}

/* ===== Slide wrapper ===== */
.calmhaven-tc .swiper-wrapper {
  align-items: stretch;
}

/* ===== Each testimonial card ===== */
.calmhaven-tc .swiper-slide {
  height: auto; /* fixes cutting in vertical mode */
  display: flex;
}

.testimonial-item {
  flex: 1;
  background: var(--tc-item-bg);
  border-radius: var(--tc-item-radius);
  padding: 20px;
  color: var(--tc-text);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

/* ===== Content ===== */
.testimonial-heading { font-size: 20px; font-weight: bold; margin-bottom: 10px; }
.testimonial-name { font-size: 16px; font-weight: 600; margin-top: 10px; }
.testimonial-subtitle { font-size: 14px; color: #666; margin-bottom: 10px; }
.testimonial-text { font-size: 15px; line-height: 1.6; flex-grow: 1; }
.testimonial-rating .star { font-size: 18px; color: #ccc; }
.testimonial-rating .star.filled { color: gold; }

.testimonial-image img { border-radius: 50%; max-width: 80px; height: auto; }
.testimonial-icon img,
.testimonial-icon svg {
  width: auto;   /* Elementor will inject width dynamically */
  height: auto;  /* Keeps aspect ratio */
  max-width: 100%; /* Prevents breaking the container */
}

/* ===== Swiper navigation ===== */
.swiper-button-prev,
.swiper-button-next {
  color: #333;
  transition: opacity 0.2s;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
  opacity: 0.7;
}

.swiper-pagination-bullet {
  background: #999;
  opacity: 0.6;
}
.swiper-pagination-bullet-active {
  background: #333;
  opacity: 1;
}

/* Elements */
.calmhaven-tc .testimonial-image img {
  width: 80px; height: 80px; border-radius: 50%; object-fit: cover; display: block;
}
.calmhaven-tc .testimonial-icon svg,
.calmhaven-tc .testimonial-icon img { width: 28px; height: 28px; display: inline-block; }

.calmhaven-tc .testimonial-name { font-size: 18px; line-height: 1.3; margin: 0; }
.calmhaven-tc .testimonial-subtitle { font-size: 14px; color: #777; margin: 0; }
.calmhaven-tc .testimonial-text { font-size: 15px; line-height: 1.6; }

.calmhaven-tc .testimonial-rating .star { color: #ddd; font-size: 16px; }
.calmhaven-tc .testimonial-rating .star.filled { color: #FFC107; }

/* Swiper nav (optional – visible if you want) */
.calmhaven-tc .swiper-button-prev,
.calmhaven-tc .swiper-button-next { color: #111; }
.calmhaven-tc .swiper-pagination-bullet { background: #999; opacity: .6; }
.calmhaven-tc .swiper-pagination-bullet-active { background: #111; opacity: 1; }



/* Inline icon + rating (space apart) */
.testimonial-inline-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between; /* push icon left & rating right */
    width: 100%;
}

/* make rating take space so it's aligned opposite */
.testimonial-inline .testimonial-rating {
  flex: 1;
  text-align: right; /* push stars to right */
}

/* ensure icon stays left */
.testimonial-inline .testimonial-icon {
  flex: 0 0 auto;
}



/* Default LTR */
.calmhaven-tc[data-carousel-dir="ltr"] .swiper-wrapper {
  flex-direction: row;
  direction: ltr;
}

/* RTL */
.calmhaven-tc[data-carousel-dir="rtl"] .swiper-wrapper {
  flex-direction: row-reverse;
  direction: rtl;
}





