/**
 * Google reviews — content sizing only. Do NOT override Elementor column widths/flex.
 */

/* Headings must wrap on words, not shatter letter-by-letter in a narrow flex item */
.google-reviews-section .elementor-heading-title {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  white-space: normal !important;
}

.google-reviews-section [data-id="e0a969d"],
.google-reviews-section [data-id="914cdab"],
.google-reviews-section [data-id="551ae73"] {
  min-width: 0; /* allow flex children to shrink without zero-width collapse */
}

/* Tighter section padding on phones (Elementor defaults are very tall) */
@media (max-width: 767px) {
  .google-reviews-section[data-id="99637b0"],
  .google-reviews-section[data-id="63077f4"] {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .google-reviews-section [data-id="59c419c"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 24px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .google-reviews-section [data-id="59c419c"] {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* Rating summary — keep compact */
.google-reviews-section .elementor-counter-number-wrapper {
  font-size: 30px !important;
  line-height: 1.1 !important;
}

.google-reviews-section .elementor-widget-text-editor p {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* Slider fills its Elementor column */
.google-reviews-section .testimonial-slider-box,
.google-reviews-section .testimonial-item,
.google-reviews-section .elementskit-testimonial-slider {
  width: 100%;
  max-width: 100%;
}

.google-reviews-section .ekit-main-swiper.swiper {
  height: auto !important;
  overflow: hidden;
}

.google-reviews-section .swiper-wrapper,
.google-reviews-section .swiper-slide,
.google-reviews-section .swiper-slide-inner {
  height: auto !important;
}

/* Long Google quotes — clamp instead of stretching the card */
.google-reviews-section .google-review-quote {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 6 !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  word-break: normal !important;
}

@media (max-width: 767px) {
  .google-reviews-section .google-review-quote {
    -webkit-line-clamp: 5 !important;
    font-size: 15px !important;
    margin-bottom: 18px !important;
  }
}

.google-reviews-section .elementskit-border-hr {
  margin-bottom: 20px !important;
}

/* Google avatar — small circle instead of 400×509 stock photo */
.google-reviews-section .google-review-avatar-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 16px !important;
}

.google-reviews-section img.google-review-avatar {
  width: 120px !important;
  height: 120px !important;
  max-width: 120px !important;
  max-height: 120px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  margin: 0 auto !important;
  display: block !important;
}

@media (min-width: 992px) {
  .google-reviews-section img.google-review-avatar {
    width: 180px !important;
    height: 180px !important;
    max-width: 180px !important;
    max-height: 180px !important;
  }
}

/* Below lg breakpoint bootstrap stacks quote + photo vertically */
@media (max-width: 991px) {
  .google-reviews-section .elementskit-single-testimonial-slider .row {
    flex-direction: column-reverse !important;
    align-items: center !important;
  }

  .google-reviews-section .elementkit-testimonial-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .google-reviews-section .elementskit-commentor-content {
    padding: 16px 12px 8px !important;
    text-align: center !important;
  }

  .google-reviews-section .elementskit-profile-info {
    text-align: center !important;
  }
}

/* Slider arrows */
.google-reviews-section .elementskit-testimonial-slider.arrow_inside .swiper-navigation-button {
  width: 40px !important;
  height: 40px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin-top: 0 !important;
  z-index: 5;
  cursor: pointer;
  pointer-events: auto;
}

.google-reviews-section .swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

/* Phones/tablets: swipe only — hide prev/next (theme forces flex on .testimonial-item arrows) */
@media (max-width: 767px) {
  .google-reviews-section .testimonial-item .elementskit-testimonial-slider .swiper-button-prev,
  .google-reviews-section .testimonial-item .elementskit-testimonial-slider .swiper-button-next,
  .google-reviews-section .elementskit-testimonial-slider.arrow_inside .swiper-navigation-button {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Testimonials page cards */
.google-reviews-page .elementor-widget-text-editor p.google-review-quote {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 6 !important;
  overflow: hidden !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.google-reviews-page img.google-review-avatar {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}
