/* A bounded, swipeable row: publishing reviews never adds another row. */
.reviews-carousel{min-width:0}
.reviews-carousel .reviews-grid{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px 0 6px;grid-template-rows:none}
.reviews-grid::-webkit-scrollbar{display:none}
.reviews-carousel .review{flex:0 0 calc((100% - 20px)/2);height:340px;min-width:0;scroll-snap-align:start;padding:30px;gap:20px;background:linear-gradient(145deg,#181719,#101012);box-shadow:none}
.reviews-carousel .review blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;flex:0 1 auto;font-size:18px;line-height:1.55;overflow-wrap:anywhere}
.reviews-carousel .review figcaption{margin-top:auto;flex-shrink:0}
.review-who{min-width:0;overflow-wrap:anywhere}
.review-read{align-self:flex-start;background:none;border:0;padding:0;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.review-read:hover{color:var(--red)}
.reviews-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
.reviews-controls[hidden],.review-read[hidden]{display:none!important}
.reviews-position{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;margin:0}
.reviews-arrows{display:flex;gap:10px}
.reviews-arrows button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--border);border-radius:50%;background:var(--panel);color:var(--white);transition:background .2s,border-color .2s}
.reviews-arrows button:hover:not(:disabled){background:var(--red);border-color:var(--red)}
.reviews-arrows button:disabled{opacity:.3;cursor:default}
.reviews-arrows svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.reviews-grid:focus-visible,.reviews-arrows button:focus-visible,.review-read:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.review-dialog{width:min(600px,calc(100% - 32px));max-height:80dvh;margin:auto;padding:32px;border:1px solid #454045;border-radius:20px;background:#151315;color:#f8f6f6;overflow:auto}
.review-dialog::backdrop{background:rgba(0,0,0,.8)}
.review-dialog,.review-dialog *{cursor:auto!important}
.review-dialog button{cursor:pointer!important;display:block;margin-left:auto;border:1px solid #555;border-radius:8px;background:transparent;color:inherit;padding:8px 14px;font:inherit}
.review-dialog h3{font-size:20px;margin:16px 0}
.review-dialog blockquote{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.7}
@media(max-width:700px){.reviews-carousel .review{flex-basis:100%;height:350px;padding:24px;gap:18px}.reviews-carousel .review blockquote{font-size:17px}.reviews-controls{margin-top:18px}.review-dialog{padding:24px}}
