/* Localsewa v32.8.27 — simple review slide + square cards */

/* Keep the review section unboxed and native to the page. */
.ls-customer-reviews { background: transparent !important; }
.ls-customer-reviews__inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ls-customer-reviews__heading {
  margin-bottom: 14px !important;
  padding: 0 1px;
}
.ls-customer-reviews__description,
.ls-customer-reviews__paused { display: none !important; }

/* One-page-at-a-time motion. No outgoing/incoming layer stack. */
.ls-customer-reviews__viewport {
  position: relative;
  overflow: hidden;
  border-radius: 0 !important;
}
.ls-customer-reviews__page {
  position: relative !important;
  inset: auto !important;
  transform: translate3d(var(--ls-drag-x,0px),0,0);
  will-change: transform;
}
.ls-customer-reviews__page--slide-left {
  animation: lsReview27SlideLeft .36s cubic-bezier(.22,.78,.26,1) both !important;
}
.ls-customer-reviews__page--slide-right {
  animation: lsReview27SlideRight .36s cubic-bezier(.22,.78,.26,1) both !important;
}
.ls-customer-reviews__page--exit-left,
.ls-customer-reviews__page--exit-right,
.ls-customer-reviews__page--enter-left,
.ls-customer-reviews__page--enter-right { animation: none !important; }
@keyframes lsReview27SlideLeft {
  from { opacity: .72; transform: translate3d(22px,0,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes lsReview27SlideRight {
  from { opacity: .72; transform: translate3d(-22px,0,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

/* Square review card: equal padding on every edge. */
.ls-customer-reviews__card {
  box-sizing: border-box;
  aspect-ratio: 1 / 1;
  min-height: 0 !important;
  height: auto !important;
  justify-content: flex-start;
  padding: 13px !important;
  border: 1px solid #dcebe1 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 7px 20px rgba(15,23,42,.04) !important;
}

/* Proper icon stars, centered at the top. */
.ls-customer-reviews__stars-centered {
  display: flex;
  min-height: 20px;
  align-items: center;
  justify-content: center;
  gap: 3px;
  line-height: 1;
}
.ls-customer-reviews__stars-centered svg {
  width: 17px;
  height: 17px;
}
.ls-customer-reviews__stars-centered .is-filled {
  color: #f59e0b;
  fill: #f59e0b;
}
.ls-customer-reviews__stars-centered .is-empty {
  color: #d8e1dc;
  fill: transparent;
}

.ls-customer-reviews__quote {
  display: -webkit-box;
  margin: 11px 0 10px !important;
  padding: 0 !important;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: #203c2d !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-align: center;
}
.ls-customer-reviews__quote::before,
.ls-customer-reviews__quote::after { content: none !important; }

.ls-customer-reviews__author-row {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #edf3ef;
}
.ls-customer-reviews__avatar {
  width: 30px !important;
  height: 30px !important;
  flex-basis: 30px !important;
}
.ls-customer-reviews__customer-name {
  min-width: 0;
  max-width: calc(100% - 37px);
  overflow: hidden;
  color: #173d2b;
  font-size: 11px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Old fragments must never leak into this card design. */
.ls-customer-reviews__card-top,
.ls-customer-reviews__rating-pill,
.ls-customer-reviews__byline,
.ls-customer-reviews__booking-label { display: none !important; }

@media (max-width: 1023.98px),
       (min-width: 1024px) and (max-width: 1439.98px) and (hover: none) and (pointer: coarse) {
  .ls-customer-reviews {
    padding-top: 1.5rem !important;
    padding-bottom: 2rem !important;
  }
  .ls-customer-reviews__inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .ls-customer-reviews__page { gap: 10px !important; }
  .ls-customer-reviews__page > .ls-customer-reviews__card {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    padding: 13px !important;
  }
  .ls-customer-reviews__title { font-size: 19px !important; }
}

@media (max-width: 359.98px) {
  .ls-customer-reviews__page { gap: 8px !important; }
  .ls-customer-reviews__page > .ls-customer-reviews__card { padding: 11px !important; }
  .ls-customer-reviews__stars-centered { gap: 2px; }
  .ls-customer-reviews__stars-centered svg { width: 15px; height: 15px; }
  .ls-customer-reviews__quote {
    margin-top: 9px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
  .ls-customer-reviews__avatar {
    width: 27px !important;
    height: 27px !important;
    flex-basis: 27px !important;
  }
  .ls-customer-reviews__customer-name {
    max-width: calc(100% - 34px);
    font-size: 10px;
  }
}

@media (min-width: 640px) and (max-width: 1023.98px) {
  .ls-customer-reviews__card { padding: 15px !important; }
  .ls-customer-reviews__quote {
    font-size: 13px !important;
    -webkit-line-clamp: 4;
  }
}

@media (min-width: 1024px) {
  .ls-customer-reviews__card {
    aspect-ratio: auto;
    min-height: 225px !important;
    padding: 16px !important;
  }
  .ls-customer-reviews__quote {
    font-size: 13px !important;
    -webkit-line-clamp: 5;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ls-customer-reviews__page--slide-left,
  .ls-customer-reviews__page--slide-right { animation: none !important; }
}
