.weightloss-feedback {
  padding: 64px 0;
  background: #f2faf8;
  color: #174b55;
}
.weightloss-feedback-heading {
  max-width: 960px;
  margin: 0 auto 44px;
  text-align: center;
}
.weightloss-feedback-badge {
  display: inline-block;
  padding: 12px 20px;
  border: 1px solid #b4e8e4;
  border-radius: 999px;
  background: #ddf4f1;
  color: #099f9a;
  font-weight: 700;
}
.weightloss-feedback-heading h2 {
  margin: 36px 0 20px;
  color: #475569;
  font-size: clamp(2rem, 4vw, 3.75rem);
  line-height: 1.2;
}
.weightloss-feedback-heading > p {
  margin: 0;
  color: #475569;
  font-size: 1.125rem;
  line-height: 1.7;
}
.weightloss-feedback-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.weightloss-feedback-viewport { overflow: hidden; padding: 4px 0 24px; }
.weightloss-feedback.is-carousel .weightloss-feedback-grid {
  display: flex;
  transition: transform .6s ease;
}
.weightloss-feedback.is-carousel .weightloss-feedback-card {
  flex: 0 0 calc((100% - 44px) / 3);
  min-width: 0;
}
.weightloss-feedback-controls {
  display: flex;
  justify-content: center;
  gap: 12px;
}
.weightloss-feedback-controls[hidden] { display: none; }
.weightloss-feedback-controls button {
  border: 1px solid #b4e8e4;
  border-radius: 999px;
  background: white;
  color: #174b55;
  padding: 10px 18px;
  min-height: 44px;
}
.weightloss-feedback-controls button:hover { background: #ddf4f1; }
.weightloss-feedback-controls button:focus-visible { outline: 3px solid #099f9a; outline-offset: 3px; }
@media (min-width: 768px) and (max-width: 991px) {
  .weightloss-feedback.is-carousel .weightloss-feedback-card { flex-basis: calc((100% - 22px) / 2); }
}
@media (prefers-reduced-motion: reduce) {
  .weightloss-feedback.is-carousel .weightloss-feedback-grid { transition: none; }
}
.weightloss-feedback-card {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 30px;
  border: 1px solid #d4e8e7;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(23, 75, 85, .06);
}
.weightloss-feedback-stars {
  margin-bottom: 20px;
  color: #e8a016;
  font-size: 1.4rem;
  letter-spacing: 3px;
}
.weightloss-feedback-card blockquote {
  flex: 1;
  margin: 0 0 26px;
  font-size: 1.125rem;
  line-height: 1.65;
}
.weightloss-feedback-card blockquote p { margin: 0; }
.weightloss-feedback-card figcaption strong,
.weightloss-feedback-card figcaption span { display: block; }
.weightloss-feedback-card figcaption strong { font-size: 1.125rem; }
.weightloss-feedback-card figcaption span { margin-top: 3px; color: #64748b; }
@media (max-width: 767px) {
  .weightloss-feedback { padding: 44px 0; }
  .weightloss-feedback-grid { grid-template-columns: 1fr; }
  .weightloss-feedback-card { padding: 24px; }
  .weightloss-feedback.is-carousel .weightloss-feedback-card { flex-basis: 100%; }
}
