.yay-reviews {
    position: relative;
    color: #848484;
    font: 15px/1.3 -apple-system, system-ui, Roboto, "Open Sans", "Helvetica Neue", sans-serif;
}
.yay-reviews-viewport {
    display: flex;
    align-items: flex-start;
    margin: 0 38px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.yay-review-page {
    display: grid;
    flex: 0 0 100%;
    grid-template-columns: repeat(var(--review-columns), minmax(0, 1fr));
    min-width: 0;
    scroll-snap-align: start;
}
.yay-review {
    flex: 0 0 min(100%, 340px);
    min-width: 0;
    padding: 24px 16px 12px;
    scroll-snap-align: start;
}
.yay-review-page > .yay-review { scroll-snap-align: none; }
.yay-review header, .yay-review header a { display: flex; align-items: center; }
.yay-review header { gap: 16px; font-weight: 700; line-height: 24px; }
.yay-review header a { gap: 6px; color: inherit; }
.yay-review header a span { text-decoration: underline; }
.yay-review header svg { flex-shrink: 0; }
.yay-review header img {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
}
.yay-review-stars { display: flex; gap: 4px; margin: 12px 0; fill: #ffdd39; }
.yay-review blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    color: inherit;
    font-family: inherit;
    font-size: 16px;
    font-style: normal;
    line-height: 24px;
    text-align: left;
    white-space: pre-line;
}
.yay-reviews button {
    appearance: none;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    font: inherit;
    letter-spacing: normal;
    text-shadow: none;
    text-transform: none;
    cursor: pointer;
}
.yay-reviews button[hidden], .yay-reviews [hidden] { display: none; }
.yay-reviews [data-review-expand] { display: none; padding: 0; color: #9a9b9b; }
.yay-reviews[data-ready] [data-review-expand] { display: inline; }
.yay-reviews:not([data-ready]) [data-review-excerpt] { display: none; }
.yay-review-arrow {
    position: absolute;
    top: 50%;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    transform: translateY(-50%);
}
.yay-review-arrow svg { fill: none; stroke: #b8b8b8; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.yay-review-arrow:hover svg { stroke: #848484; }
.yay-review-prev { left: 0; }
.yay-review-next { right: 0; }
.yay-review-dots { position: relative; height: 12px; }
.yay-review-dots button {
    position: absolute;
    left: calc(50% + var(--dot-offset) * 16px);
    display: grid;
    place-items: center;
    width: 16px;
    height: 12px;
    padding: 0;
    transform: translateX(-50%);
}
.yay-review-dots button::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    content: "";
    transform: scale(.33);
    opacity: .4;
}
.yay-review-dots button[aria-current="true"]::before { transform: none; opacity: 1; }
.yay-review-dots button[data-near]::before { transform: scale(.66); opacity: .7; }
@media (max-width: 550px) {
    .yay-reviews-viewport { margin: 0; }
    .yay-review-arrow { top: auto; bottom: -10px; transform: none; z-index: 1; }
}
