.pr{margin:0 0 22px;min-width:0;max-width:100%}
.pr-head{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-bottom:10px;font-size:.95rem}
.pr-head b{font:700 1.05rem 'Bricolage Grotesque',sans-serif}
.pr-head .pr-avg{color:var(--muted);font-size:.88rem;display:inline-flex;align-items:center;gap:8px}
.pr-head .stars{font-size:.95rem}
.pr-car{min-width:0;max-width:100%}
.pr-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 0 12px;scrollbar-width:none;max-width:100%;min-width:0}
.pr-row::-webkit-scrollbar{display:none}
.pr-row:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:12px}
.pr-card{flex:0 0 calc((100% - 12px) / 2);min-width:0;margin:0;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 14px 34px -26px rgba(26,107,240,.6);display:flex;flex-direction:column;gap:8px}
.pr-card .stars{font-size:.95rem}
.pr-card blockquote{margin:0;font-size:.92rem;line-height:1.5;color:var(--text);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word}
.pr-card figcaption{margin-top:auto;font-size:.82rem;color:var(--muted);line-height:1.3}
.pr-card figcaption b{display:block;color:var(--text);font-size:.88rem}
.pr-card figcaption span::before{content:'✓';color:var(--blue);margin-right:5px;font-weight:700}
.pr-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:2px}
.pr-nav[hidden]{display:none}
.pr-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--line);background:#fff;color:var(--blue2);font-size:1.3rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.pr-btn:hover:not(:disabled){border-color:var(--blue);background:#eaf3ff}
.pr-btn:disabled{opacity:.35;cursor:default}
.pr-dots{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:60%}
.pr-dot{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:#c9d7ea;cursor:pointer}
.pr-dot.on{background:var(--blue);width:22px;border-radius:999px}
.pr-empty{border:2px dashed #8fb6ec;border-radius:14px;padding:16px;text-align:center;color:var(--blue2);font-size:.9rem;background:rgba(255,255,255,.6)}
@media(max-width:600px){.pr-card{flex:0 0 100%}}
@media(prefers-reduced-motion:reduce){.pr-row{scroll-behavior:auto}}
