/* Additive homepage review refinement.
   This file is deliberately scoped to .guest-feedback and loads after the
   established homepage styles. */

.page-home .guest-feedback {
  background:
    linear-gradient(135deg, rgba(4, 29, 21, 0.9), rgba(10, 56, 40, 0.76)),
    url("../images/hero1.webp") center 52% / cover no-repeat;
}

.page-home .guest-feedback__intro {
  position: relative;
  z-index: 1;
}

.page-home .guest-feedback__grid {
  align-items: stretch;
  perspective: 1400px;
  perspective-origin: center 48%;
}

.page-home .guest-feedback__card {
  min-height: 0;
  padding: clamp(22px, 2vw, 28px);
  backface-visibility: hidden;
  background: #ffffff;
  transform-origin: left center;
  transform-style: preserve-3d;
}

.page-home .guest-feedback.is-motion-ready .guest-feedback__card {
  transition:
    opacity 680ms ease,
    transform 1080ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 280ms ease;
}

.page-home .guest-feedback.is-motion-ready:not(.is-in-view) .guest-feedback__card {
  opacity: 0;
  transform: translate3d(0, 18px, 0) rotateY(-68deg) scale(0.98);
  will-change: opacity, transform;
}

.page-home .guest-feedback.is-motion-ready:not(.is-in-view) .guest-feedback__card:nth-child(2) {
  transform: translate3d(0, 18px, 0) rotateY(68deg) scale(0.98);
  transform-origin: right center;
}

.page-home .guest-feedback.is-motion-ready.is-in-view .guest-feedback__card {
  opacity: 1;
  transform: none;
}

.page-home .guest-feedback.is-motion-ready.is-in-view .guest-feedback__card:nth-child(1) {
  transition-delay: 120ms;
}

.page-home .guest-feedback.is-motion-ready.is-in-view .guest-feedback__card:nth-child(2) {
  transition-delay: 240ms;
}

.page-home .guest-feedback.is-motion-ready.is-in-view .guest-feedback__card:nth-child(3) {
  transition-delay: 360ms;
}

.page-home .guest-feedback__meta-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.page-home .guest-feedback__meta-row .guest-feedback__journey {
  margin: 0;
}

.page-home .guest-feedback__meta-row .guest-feedback__rating {
  flex: 0 0 auto;
  margin-top: -2px;
}

.page-home .guest-feedback__reviewer-name {
  min-height: 0;
  margin: 0 0 5px;
  color: #123d2f;
  font-size: clamp(0.98rem, 1.12vw, 1.18rem);
  font-weight: 500;
  line-height: 1.32;
}

.page-home .guest-feedback__reviewer-context {
  min-height: 2.9em;
  margin: 0 0 14px;
  color: #667970;
  font-size: 0.58rem !important;
  font-weight: 400;
  letter-spacing: 0.015em;
  line-height: 1.45;
}

.page-home .guest-feedback__excerpt {
  color: #40584f;
  font-size: clamp(0.84rem, 0.92vw, 0.96rem);
  line-height: 1.58;
}

.page-home .guest-feedback__excerpt::before {
  display: block;
  width: 28px;
  height: 1px;
  margin-bottom: 8px;
  background: #c69a45;
  content: "";
}

.page-home .guest-feedback__excerpt blockquote {
  display: inline;
  padding-top: 0;
}

.page-home .guest-feedback__excerpt blockquote::before {
  display: none;
}

.page-home .guest-feedback__excerpt blockquote p {
  display: inline;
  overflow: visible;
  max-height: none;
  font-size: inherit !important;
  font-style: italic;
  line-height: inherit !important;
  -webkit-line-clamp: unset;
}

.page-home .guest-feedback__full,
.page-home .guest-feedback__full p {
  font-style: italic;
}

.page-home .guest-feedback__read-more {
  min-height: 0;
  display: inline-flex;
  margin: 0 0 0 7px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #c93624;
  font: inherit;
  font-size: 1rem !important;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0;
  line-height: inherit;
  text-transform: none;
  vertical-align: baseline;
}

.page-home .guest-feedback__read-more:hover,
.page-home .guest-feedback__read-more:focus-visible {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #9f271a;
}

.page-home .guest-feedback__google-link {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  margin-top: auto;
  padding-top: 13px;
  gap: 9px;
}

.page-home .guest-feedback__google-link img {
  width: 18px;
  height: 18px;
}

.page-home .guest-feedback__google-link > span:nth-child(2) {
  font-size: inherit;
}

@media (min-width: 1025px) {
  .page-home .guest-feedback {
    padding-top: clamp(138px, 10vw, 168px);
  }

  .page-home .guest-feedback__intro {
    margin-bottom: clamp(42px, 4vw, 58px);
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .page-home .guest-feedback {
    padding-top: 112px;
  }

  .page-home .guest-feedback__intro {
    margin-bottom: 36px;
  }

  .page-home .guest-feedback__card {
    padding: 20px;
  }
}

@media (max-width: 768px) {
  .page-home .guest-feedback__card {
    padding: 22px 18px;
  }

  .page-home .guest-feedback__meta-row {
    gap: 10px;
  }

  .page-home .guest-feedback__read-more {
    font-size: 0.96rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .guest-feedback.is-motion-ready .guest-feedback__card {
    transition: none;
    opacity: 1;
    transform: none;
  }
}
