/* Genuine guest reviews: shared presentation for About and relevant route details. */
body .eo-reviews,
body .eo-route-review {
  --review-forest:#173b32;
  --review-gold:#c4a56a;
  --review-bronze:#82632f;
  --review-paper:#fffdf8;
  --review-cream:#f7f3e8;
  --review-line:#ded5c2;
  color:var(--review-forest);
}
body .eo-reviews *,
body .eo-route-review * { box-sizing:border-box; }
body .eo-reviews[hidden],
body .eo-route-review[hidden] { display:none !important; }

body.page-about main .eo-reviews {
  padding-block:clamp(42px,5vw,64px);
  border-block:1px solid #e8e0d1;
  background:#f7f3e8;
  scroll-margin-top:calc(var(--about-header-space,88px) + 18px);
}
body.page-about main .eo-reviews-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px 40px;
  margin-bottom:28px;
}
body.page-about main .eo-reviews-heading > div { min-width:0; }
body.page-about main .eo-reviews .eyebrow {
  margin:0 0 12px;
  color:var(--review-bronze);
  font:600 11px/1.6 var(--font-sans, sans-serif);
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.page-about main .eo-reviews-heading h2 {
  margin:0;
  color:var(--review-forest);
  font:500 clamp(30px,3.2vw,44px)/1.15 var(--font-serif, Georgia, serif);
  letter-spacing:-.035em;
  text-wrap:balance;
}
body.page-about main .eo-reviews-intro {
  max-width:650px;
  margin:14px 0 0;
  color:#526150;
  font:400 14px/1.8 var(--font-sans, sans-serif);
}
body.page-about main .eo-review-grid {
  --review-track-gap:16px;
  display:grid;
  grid-template-columns:none;
  grid-template-rows:1fr;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - var(--review-track-gap) - var(--review-track-gap)) / 3);
  gap:var(--review-track-gap);
  align-items:stretch;
  padding:6px 6px 12px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:6px;
  scrollbar-width:thin;
  scrollbar-color:#bba578 #ebe5d8;
  -webkit-overflow-scrolling:touch;
}
body.page-about main .eo-review-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  margin:0;
  padding:19px 20px 8px;
  border:1px solid var(--review-line);
  border-radius:10px 28px 10px 10px;
  background:var(--review-paper);
  box-shadow:none;
  scroll-snap-align:start;
}
body.page-about main #guest-review-track:focus-visible {
  outline:3px solid #82632f;
  outline-offset:3px;
  border-radius:4px;
}
body.page-about main .eo-review-navigation {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px 20px;
  margin-bottom:10px;
}
body.page-about main .eo-review-navigation[hidden] { display:none !important; }
body.page-about main .eo-review-position {
  margin:0;
  color:#65715d;
  font:500 12px/1.6 var(--font-sans, sans-serif);
}
body.page-about main .eo-review-arrows { display:flex; gap:8px; }
body.page-about main .eo-review-arrows button {
  display:grid;
  place-items:center;
  flex:none;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border:1px solid #c4a56a;
  border-radius:50%;
  color:#173b32;
  background:#fffdf8;
  font:500 20px/1 var(--font-sans, sans-serif);
  box-shadow:none;
  cursor:pointer;
}
body.page-about main .eo-review-arrows button:hover:not(:disabled) {
  border-color:#173b32;
  color:#fffdf8;
  background:#173b32;
}
body.page-about main .eo-review-arrows button:disabled {
  border-color:#d8d0bf;
  color:#8a9283;
  background:transparent;
  cursor:default;
}
body.page-about main .eo-review-arrows button:focus-visible {
  outline:3px solid #82632f;
  outline-offset:3px;
}
body :is(.eo-review-card,.eo-route-review) .eo-review-kind {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:7px;
  margin:0 0 18px;
  color:var(--review-bronze);
  font:600 10px/1.7 var(--font-sans, sans-serif);
  letter-spacing:.1em;
  text-transform:uppercase;
}
body :is(.eo-review-card,.eo-route-review) .eo-review-kind i { font-size:14px; }
body :is(.eo-review-card,.eo-route-review) .eo-review-excerpt p { margin:0; }
body.page-about main .eo-review-card .eo-review-excerpt {
  margin:0;
  padding:0;
  border:0;
  color:var(--review-forest);
  background:transparent;
  margin-bottom:18px;
  font:400 13px/1.8 var(--font-sans, sans-serif);
  letter-spacing:0;
  text-wrap:pretty;
}
body.page-about main .eo-review-card .eo-review-kind { margin-bottom:8px; }
body.page-about main .eo-review-card .eo-review-title {
  margin:0 0 12px;
  color:var(--review-forest);
  font:500 19px/1.35 var(--font-serif, Georgia, serif);
  letter-spacing:-.02em;
  text-wrap:balance;
}
body.page-about main .eo-review-card .eo-review-language {
  margin-top:6px;
  font-size:10px;
  line-height:1.5;
}
body.page-about main .eo-review-card .eo-review-footer {
  margin-top:auto;
  padding:0;
  background:transparent;
}
body.page-about main .eo-review-card .eo-review-person {
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  margin-top:0;
  padding-top:12px;
  border-top:1px solid #e8e0d1;
  background:transparent;
}
body .eo-review-avatar {
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  border:1px solid #d7d2bd;
  border-radius:50%;
  color:var(--review-forest);
  background:#eef0e6;
  font:600 12px/1 var(--font-sans, sans-serif);
  letter-spacing:.04em;
}
body :is(.eo-review-card,.eo-route-review) .eo-review-person > div { min-width:0; }
body :is(.eo-review-card,.eo-route-review) .eo-review-person strong {
  display:block;
  overflow-wrap:anywhere;
  color:var(--review-forest);
  font:600 13px/1.6 var(--font-sans, sans-serif);
}
body :is(.eo-review-card,.eo-route-review) .eo-review-person time {
  display:block;
  color:#65715d;
  font:400 11px/1.7 var(--font-sans, sans-serif);
}
body :is(.eo-review-card,.eo-route-review) .eo-review-language {
  display:block;
  margin-top:2px;
  color:#65715d;
  font:400 11px/1.7 var(--font-sans, sans-serif);
}
body.page-about main .eo-review-source-link,
body.page-about main .eo-review-read,
body.page-package-detail main .eo-review-read {
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:7px 0;
  color:#173b32;
  font:600 12px/1.7 var(--font-sans, sans-serif);
  text-decoration:underline;
  text-decoration-color:#c4a56a;
  text-underline-offset:5px;
}
body.page-about main .eo-review-source-link { flex:none; }
body.page-about main .eo-review-card .eo-review-read {
  align-self:flex-start;
  margin-top:0;
}
body.page-about main .eo-review-source-link:hover,
body.page-about main .eo-review-read:hover,
body.page-package-detail main .eo-review-read:hover { color:#82632f; }
body.page-about main .eo-reviews-note {
  max-width:850px;
  margin:17px 0 0;
  color:#65715d;
  font:400 11px/1.8 var(--font-sans, sans-serif);
}

/* A relevant review sits inside the route overview, with no additional page section. */
body.page-package-detail main .eo-route-review {
  margin:24px 0 0;
  padding:20px 23px 10px;
  border:1px solid var(--review-line);
  border-left:3px solid var(--review-gold);
  border-radius:0 16px 16px 0;
  background:var(--review-cream);
  box-shadow:none;
}
body.page-package-detail main .eo-route-review .eo-review-kind { margin-bottom:12px; }
body.page-package-detail main .eo-route-review .eo-review-excerpt {
  margin:0;
  padding:0;
  border:0;
  color:var(--review-forest);
  background:transparent;
  font:500 24px/1.4 var(--font-serif, Georgia, serif);
  letter-spacing:-.02em;
  text-wrap:balance;
}
body.page-package-detail main .eo-route-review .eo-review-summary {
  margin:10px 0 0;
  color:#526150;
  font:400 13px/1.8 var(--font-sans, sans-serif);
}
body.page-package-detail main .eo-route-review .eo-review-person {
  display:block;
  margin-top:14px;
  color:#65715d;
  font:400 11px/1.7 var(--font-sans, sans-serif);
}
body.page-package-detail main .eo-route-review .eo-review-person :is(strong,time) {
  display:inline;
  font:inherit;
}
body.page-package-detail main .eo-route-review .eo-review-person strong { font-weight:600; }
body.page-package-detail main .eo-route-review .eo-review-read { display:flex; width:fit-content; margin-top:3px; }
body .eo-home-review-link {
  color:#173b32;
  font:inherit;
  text-decoration:underline;
  text-decoration-color:#c4a56a;
  text-underline-offset:4px;
}
body .eo-home-review-link:hover { color:#82632f; }
body :is(.eo-reviews,.eo-route-review) a:focus-visible,
body .eo-home-review-link:focus-visible {
  outline:3px solid #82632f;
  outline-offset:4px;
  border-radius:2px;
}

@media (max-width:1000px) and (min-width:761px) {
  body.page-about main .eo-review-grid { --review-track-gap:14px; }
  body.page-about main .eo-review-card { padding:18px 16px 8px; }
}
@media (max-width:1100px) and (min-width:761px) {
  body.page-about main .eo-review-grid { grid-auto-columns:calc((100% - var(--review-track-gap)) / 2); }
}
@media (max-width:760px) {
  body.page-about main .eo-reviews-heading {
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    margin-bottom:21px;
  }
  body.page-about main .eo-review-grid { --review-track-gap:16px; grid-auto-columns:100%; }
  body.page-about main .eo-review-card { padding:18px 20px 8px; }
  body.page-about main .eo-review-card .eo-review-excerpt { font-size:13px; }
  body.page-about main .eo-review-card .eo-review-person { padding-top:12px; }
  body.page-about main .eo-reviews-intro { font-size:13px; }
  body.page-package-detail main .eo-route-review { padding:18px 20px 8px; }
}
@media (max-width:430px) {
  body.page-about main .eo-reviews-heading h2 { font-size:31px; }
  body.page-about main .eo-review-card { padding:17px 18px 7px; }
  body.page-about main .eo-review-card .eo-review-excerpt { font-size:13px; }
  body.page-about main .eo-reviews-note { font-size:11px; }
  body.page-package-detail main .eo-route-review { padding:18px 17px 8px; }
  body.page-package-detail main .eo-route-review .eo-review-excerpt { font-size:23px; }
}
@media print {
  body.page-about main .eo-reviews { padding-block:24px; background:#fff; }
  body.page-about main .eo-reviews-heading { margin-bottom:18px; }
  body.page-about main .eo-review-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-flow:row;
    grid-auto-columns:auto;
    gap:12px;
    padding:0;
    overflow:visible;
    scroll-snap-type:none;
  }
  body.page-about main .eo-review-navigation { display:none; }
  body.page-about main .eo-review-card { padding:16px; background:#fff; break-inside:avoid; border-radius:0; }
  body.page-about main .eo-review-card .eo-review-excerpt { font-size:11px; }
  body.page-package-detail main .eo-route-review { background:#fff; break-inside:avoid; }
  body :is(.eo-reviews,.eo-route-review) a { color:#173b32; }
}
