.kpr-reviews {
    margin: 0 auto;
    padding: clamp(36px, 6vw, 84px) clamp(16px, 5vw, 72px);
    background: #e9eae2;
    color: #1b251a;
}
.kpr-reviews #kpr-title {
    font: inherit;
    font-size: clamp(27px, 4vw, 46px);
    letter-spacing: -.035em;
    line-height: 1.12;
    margin: 0 0 24px;
}
.kpr-reviews .kpr-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 18px) / 2);
    gap: 18px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-color: #86917d transparent;
    padding: 2px 0 14px;
}
.kpr-reviews .kpr-card {
    margin: 0;
    padding: clamp(20px, 3vw, 38px);
    border: 1px solid #cbd0c2;
    border-radius: 5px;
    background: #f5f5ef;
    scroll-snap-align: start;
}
.kpr-card figcaption { display: grid; gap: 3px; margin-bottom: 16px; }
.kpr-card figcaption strong { font-size: 1.12em; }
.kpr-card figcaption span, .kpr-card time { font-size: .86em; color: #4c5847; }
.kpr-reviews .kpr-card blockquote {
    padding: 0;
    margin: 0;
    border: 0;
    font: inherit;
    line-height: 1.65;
    color: inherit;
}
.kpr-card blockquote p { margin: 0; }
.kpr-reviews .kpr-controls { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.kpr-reviews .kpr-controls[hidden] { display: none; }
.kpr-controls button {
    width: 44px;
    height: 44px;
    border: 1px solid #687360;
    border-radius: 50%;
    background: transparent;
    color: #1b251a;
    cursor: pointer;
    font: inherit;
}
.kpr-controls button:disabled { opacity: .38; cursor: default; }
.kpr-reviews :focus-visible { outline: 2px solid #31472c; outline-offset: 2px; }
@media (max-width: 680px) {
    .kpr-reviews .kpr-track { grid-auto-columns: min(94%, 430px); gap: 12px; }
}
.kpr-card blockquote p + p { margin-top: .85em; }
.kpr-card figcaption .kpr-stars {
    color: #755422;
    font-size: 1.1rem;
    letter-spacing: .12em;
    line-height: 1.35;
    margin-bottom: 4px;
}
