/* Homepage review rail, copied verbatim for city pages (step 34d, 2026-10-24).
   Source: css/home-bundle.5037cb7866efe662.css (.rrb-reviews*, .rrb-rail*) + index.html inline <style> (.rrb-reviews .rrb-rail, .rrb-reviews .rrb-rail__item).
   The homepage keeps its own copies; keep both in sync. */
.rrb-reviews{background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));padding-block:clamp(2.5rem,6vh,4.5rem)}
.rrb-reviews__title{margin:0 auto 1.75rem;max-width:80rem;padding:0 1.25rem}
@media(min-width:640px){.rrb-reviews__title{padding-inline:2rem}}
.rrb-reviews__list{display:grid;grid-template-columns:1fr;gap:1.25rem;list-style:none;margin:0 auto;max-width:80rem;padding:0 1.25rem}
.rrb-reviews__list li{display:flex;flex-direction:column;gap:1.15rem;border:1px solid hsl(var(--border));background:hsl(var(--card));padding:1.5rem 1.5rem 1.35rem}
.rrb-reviews blockquote,.rrb-reviews blockquote p,.rrb-reviews__cite{margin:0}
.rrb-reviews blockquote{flex:1}
.rrb-reviews blockquote p{font-size:.95rem;line-height:1.6;color:hsl(var(--foreground))}
.rrb-reviews__cite{font-size:.8rem;line-height:1.45;color:hsl(var(--muted-foreground))}
.rrb-reviews__stars{color:hsl(var(--accent));letter-spacing:.14em;font-size:.8rem}
.rrb-reviews__cite a{color:hsl(var(--accent));text-underline-offset:.2em;white-space:nowrap}
.rrb-reviews__cite a:hover{color:hsl(var(--foreground))}
@media(min-width:640px){.rrb-reviews__list{padding-inline:2rem}}
@media(min-width:860px){.rrb-reviews__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}
.rrb-rail-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:max(2rem,calc((100vw - 80rem)/2 + 2rem)) 0;scrollbar-width:thin;scrollbar-color:hsl(var(--accent) / .55) transparent;-webkit-overflow-scrolling:touch}
.rrb-rail{display:flex;gap:1.5rem;align-items:stretch;width:max-content;padding-inline:max(2rem,calc((100vw - 80rem)/2 + 2rem)) 3rem;padding-bottom:.75rem}
.rrb-rail__item{flex:0 0 auto;display:flex;scroll-snap-align:start}
@media(max-width:859px){.rrb-rail-scroll{scroll-padding-inline:1.25rem 0}}
@media(max-width:859px){.rrb-rail{gap:1rem;align-items:stretch;padding-inline:1.25rem 1.5rem;padding-bottom:.35rem}}
@media(max-width:859px){.rrb-rail__item{align-items:stretch}}
.rrb-reviews .rrb-rail { list-style: none; margin: 0; }
.rrb-reviews .rrb-rail__item { position: relative; flex-direction: column; gap: 1.15rem; width: min(22rem, 80vw); border: 1px solid hsl(var(--border)); background: hsl(var(--card)); padding: 1.5rem 1.5rem 1.35rem; }
