/* Owner-supplied excerpts; horizontal reading, no automatic rotation. */
.guest-reviews { position: relative; padding-block: clamp(48px, 5vw, 72px); border-top: 1px solid #ded6c7; }
.guest-reviews-heading { max-width: 880px; margin: 0 auto 26px; text-align: center; }
.guest-reviews-heading .eyebrow { margin-bottom: 12px; color: #7b653d; }
.guest-reviews-heading h2 { font-size: clamp(2.2rem, 3.5vw, 3.5rem); line-height: 1.12; text-wrap: balance; }
.guest-reviews-heading p { margin: 14px auto 0; color: #65695e; }
.guest-ratings { display: flex; justify-content: center; align-items: center; gap: 24px; margin: 24px auto 26px; }
.guest-rating { display: flex; align-items: center; gap: 10px; margin: 0; color: #65695e; }
.guest-rating + .guest-rating { padding-left: 24px; border-left: 1px solid #d8ccb6; }
.guest-rating-score { display: flex; align-items: baseline; gap: 3px; white-space: nowrap; color: #7b653d; }
.guest-rating-score strong { font: 500 1.75rem/1 var(--serif); font-variant-numeric: lining-nums tabular-nums; }
.guest-rating-score small { font: 400 .6875rem/1.4 var(--sans); color: #65695e; }
.guest-rating-platform { font: 500 .75rem/1.4 var(--sans); }
.guest-reviews-controls { display: flex; justify-content: flex-end; gap: 10px; margin-bottom: 16px; }
.guest-reviews-controls[hidden] { display: none; }
.guest-reviews-controls button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #c7b796; border-radius: 50%; background: transparent; color: #574729; font: 1.35rem/1 var(--sans); cursor: pointer; }
.guest-reviews-controls button:hover:not(:disabled) { background: #ede5d5; border-color: #7b653d; }
.guest-reviews-controls button:disabled { opacity: .35; cursor: default; }
.guest-reviews-controls button:focus-visible, .guest-reviews-grid:focus-visible { outline: 2px solid #7b653d; outline-offset: 4px; }
.guest-reviews-grid { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 3); gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #bdab85 #f1ece2; padding-bottom: 14px; }
.guest-reviews-enhanced .guest-reviews-grid { scrollbar-width: none; }
.guest-reviews-enhanced .guest-reviews-grid::-webkit-scrollbar { display: none; }
.guest-review { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 24px 26px; background: #f5f0e7; border: 1px solid #e2dacb; border-radius: 3px; scroll-snap-align: start; }
.guest-review-mark { height: 24px; color: #a78b53; font: 3rem/.9 var(--serif); }
.guest-review blockquote { margin: 12px 0 22px; font-family: var(--serif); font-size: 1.5rem; line-height: 1.35; color: var(--ink); }
.guest-review blockquote p { margin: 0; font: inherit; color: inherit; }
.guest-review figcaption { display: flex; flex-direction: column; gap: 3px; margin-top: auto; padding-top: 14px; border-top: 1px solid #dfd7c7; font-size: .72rem; line-height: 1.65; color: #65695e; }
.guest-review figcaption strong { color: var(--ink); font-size: .8125rem; font-weight: 600; }
.guest-reviews-note { margin-top: 16px; color: #65695e; font-size: .72rem; text-align: center; max-width: none; }
@media (max-width: 1000px) {
  .guest-reviews-grid { grid-auto-columns: calc((100% - 20px) / 2); }
}
@media (max-width: 600px) {
  .guest-ratings { justify-content: flex-start; gap: 14px; }
  .guest-rating { gap: 7px; }
  .guest-rating + .guest-rating { padding-left: 14px; }
  .guest-rating-score strong { font-size: 1.5rem; }
  .guest-rating-platform { font-size: .6875rem; }
  .guest-reviews-heading { text-align: left; margin-bottom: 18px; }
  .guest-reviews-heading h2 { font-size: 2.5rem; }
  .guest-reviews-controls { margin-bottom: 12px; }
  .guest-reviews-grid { grid-auto-columns: 100%; gap: 16px; }
  .guest-review { padding: 22px; }
  .guest-review blockquote { font-size: 1.4rem; }
  .guest-reviews-note { text-align: left; }
}
