/* A continuous page background; cards retain their own outlines. */
#products, #faq, #reviews { background:var(--bg); border:0; }
#tools { scroll-margin-top:110px; }
.catalog-tools { margin-top:0; }
/* Compact, randomly rotating reviews with game filters. */
.reviews-section { scroll-margin-top:100px; padding:clamp(48px,6vw,76px) 0; }
.community-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:24px; }
.community-heading .eyebrow { color:#a7aab3; font-size:10px; margin-bottom:16px; }
.community-heading h2 { color:#f5f5f8; font-size:clamp(28px,3.1vw,38px); font-weight:650; letter-spacing:-1.2px; line-height:1.15; }
.community-heading h2 span { display:block; }
.community-intro { max-width:315px; }
.community-intro p { color:#a6a7af; font-size:13px; line-height:1.75; margin-bottom:10px; }
.community-link { display:inline-flex; align-items:center; min-height:40px; gap:12px; font-size:13px; font-weight:600; color:#e2e2e8; }
.community-link svg { width:15px; height:15px; }
.community-link:hover { color:#fff; }
.review-filters { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:18px; }
.review-filters[hidden], .review-rotation-controls[hidden] { display:none; }
.review-filter { display:inline-flex; align-items:center; gap:9px; min-height:34px; border-radius:7px; padding:6px 10px; border:1px solid #252527; background:#111112; color:#9698a3; font:500 11px 'Inter',sans-serif; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.review-filter:hover { background:#1b1b1d; color:#eeeeF2; }
.review-filter[aria-pressed="true"] { background:#ececf0; border-color:#ececf0; color:#19191c; }
.review-filter-count { font-size:10px; opacity:.65; }
.community-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.community-card { min-width:0; display:flex; flex-direction:column; position:relative; min-height:254px; padding:20px; background:#111112; border:1px solid #262628; border-radius:14px; transition:border-color .2s; }
.community-card:hover { border-color:#454549; }
.community-card-top { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.community-author { font-size:14px; font-weight:600; line-height:1.5; color:#f1f1f5; overflow-wrap:anywhere; }
.community-role { font-size:11px; color:#858793; margin-top:2px; }
.community-quote-mark { width:21px; height:21px; color:#404046; flex:none; margin-left:auto; }
.community-quote { margin:0 0 18px; flex:1; color:#bec0ca; font-size:13px; line-height:1.75; overflow-wrap:anywhere; }
.community-game { display:flex; align-items:center; gap:10px; width:fit-content; color:#d4d5dd; font-size:11px; font-weight:500; min-height:34px; }
.community-game:hover { color:#fff; }
.community-game svg { width:12px; height:12px; color:#858895; }
.community-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; }
.community-count { font-size:12px; color:#898b97; }
.review-rotation-controls { display:flex; align-items:center; gap:8px; }
.review-rotation-toggle, .review-next { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:34px; padding:7px 12px; border:1px solid #343438; border-radius:7px; background:#171719; color:#d2d3da; font:500 11px 'Inter',sans-serif; cursor:pointer; }
.review-rotation-toggle { width:34px; padding:7px; }
.review-rotation-controls button:hover { background:#252529; border-color:#505058; }
.review-rotation-controls button:disabled { opacity:.4; cursor:default; }
.review-rotation-controls svg { width:14px; height:14px; }
.review-play-icon { display:none; }
.review-rotation-toggle[aria-pressed="true"] .review-pause-icon { display:none; }
.review-rotation-toggle[aria-pressed="true"] .review-play-icon { display:block; }
.community-grid.is-rotating .community-card { animation:review-arrive .4s ease both; }
.community-grid.is-rotating .community-card:nth-child(2) { animation-delay:.05s; }
.community-grid.is-rotating .community-card:nth-child(3) { animation-delay:.1s; }
@keyframes review-arrive { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
#reviews :is(a,button,.community-card):focus-visible { outline:2px solid #c0cbe0; outline-offset:4px; }
@media(max-width:980px) { .community-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .community-card:nth-child(n+3) { display:none; } }
@media(max-width:680px) {
 .community-heading { flex-direction:column; align-items:flex-start; gap:16px; }
 .community-heading h2 { letter-spacing:-1.2px; }
 .community-intro { max-width:440px; }
 .community-grid { grid-template-columns:1fr; gap:14px; }
 .community-card { padding:20px; min-height:240px; }
 .community-card:nth-child(n+2) { display:none; }
 .review-filters { gap:7px; }
 .review-filter { min-height:34px; padding:6px 10px; }
}
@media(max-width:380px) { .community-footer { gap:10px; } .community-count { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .community-card, .review-filter { transition:none; } .community-grid.is-rotating .community-card { animation:none; } }

.community-role.is-free { color:#afd698; }
