/**
 * Community & social-proof recipes: community_stats / achievements_badges / chat_platform_invite /
 * meetup_list / ambassador_program.
 * apb-rx-* tokens only; brand derives from --apb-rx-brand + scheme. Reduced-motion fallbacks inline.
 * Rendered by trait-apb-component-render-community.php. No literals for brand/glow/tint.
 */

/* ---------- shared community buttons ---------- */
.apb-rx-cmbtn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:650;font-size:15px;transition:transform var(--apb-rx-t,.28s) var(--apb-rx-ease),background var(--apb-rx-t,.28s) var(--apb-rx-ease)}
.apb-rx-cmbtn svg{flex:0 0 auto}
.apb-rx-cmbtn--primary{color:var(--apb-rx-accent-contrast,#fff);background:var(--apb-rx-brand);border-radius:var(--apb-rx-radius-pill,999px);padding:13px 26px;box-shadow:0 8px 20px -8px var(--apb-rx-glow)}
.apb-rx-cmbtn--primary:hover{transform:translateY(-2px)}
.apb-rx-cmbtn--all{font-size:14px;font-weight:600;color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-cmbtn--rsvp{flex:0 0 auto;font-size:13.5px;color:var(--apb-rx-ink);background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius-pill,999px);padding:9px 16px}
.apb-rx-cmbtn--rsvp:hover{background:var(--apb-rx-soft)}
@media(prefers-reduced-motion:reduce){.apb-rx-cmbtn{transition:none}}

/* ---------- community stats ---------- */
.apb-rx-cs2{padding:clamp(44px,7vw,80px) 24px}
.apb-rx-cs2-inner{max-width:820px;margin:0 auto;text-align:center}
.apb-rx-cs2-live{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--apb-rx-muted);margin:0 0 22px}
.apb-rx-cs2-live .dot{width:8px;height:8px;border-radius:50%;background:var(--apb-rx-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--apb-rx-brand) 20%,transparent)}
.apb-rx-cs2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--apb-rx-line);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,18px);overflow:hidden}
.apb-rx-cs2-cell{background:var(--apb-rx-surface,#fff);padding:30px 18px}
.apb-rx-cs2-v{font-family:var(--apb-rx-font-display,var(--apb-rx-font));font-size:clamp(30px,5vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--apb-rx-ink);font-variant-numeric:tabular-nums}
.apb-rx-cs2-l{font-size:13px;color:var(--apb-rx-muted);margin-top:8px}
@media(max-width:640px){.apb-rx-cs2-grid{grid-template-columns:1fr 1fr}}

/* ---------- achievements / badges ---------- */
.apb-rx-ab{padding:clamp(44px,7vw,80px) 24px}
.apb-rx-ab-inner{max-width:760px;margin:0 auto}
.apb-rx-ab-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.apb-rx-ab-head h3{font-size:clamp(22px,3.4vw,30px);font-weight:780;letter-spacing:-.02em;color:var(--apb-rx-ink);margin:0}
.apb-rx-ab-prog{font-size:13.5px;font-weight:600;color:var(--apb-rx-muted)}
.apb-rx-ab-prog b{color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-ab-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.apb-rx-ab-badge{text-align:center;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,14px);padding:18px 10px}
.apb-rx-ab-medal{width:52px;height:52px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center}
.apb-rx-ab-badge.earned .apb-rx-ab-medal{color:var(--apb-rx-accent-contrast,#fff);background:var(--apb-rx-brand);box-shadow:0 8px 18px -8px var(--apb-rx-glow)}
.apb-rx-ab-badge.locked .apb-rx-ab-medal{color:color-mix(in srgb,var(--apb-rx-ink) 28%,transparent);background:var(--apb-rx-soft);border:1px dashed var(--apb-rx-line)}
.apb-rx-ab-nm{font-size:12px;font-weight:650;color:var(--apb-rx-ink)}
.apb-rx-ab-badge.locked .apb-rx-ab-nm{color:var(--apb-rx-muted)}
@media(max-width:640px){.apb-rx-ab-grid{grid-template-columns:repeat(3,1fr)}}

/* ---------- chat platform invite ---------- */
.apb-rx-cpi{padding:clamp(40px,6vw,72px) 24px}
.apb-rx-cpi-inner{max-width:600px;margin:0 auto;text-align:center;background:linear-gradient(160deg,color-mix(in srgb,var(--apb-rx-brand) 6%,var(--apb-rx-surface,#fff)),var(--apb-rx-surface,#fff));border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,20px);padding:clamp(30px,4vw,44px);box-shadow:var(--apb-rx-shadow-1,0 1px 2px rgba(11,13,18,.06))}
.apb-rx-cpi-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin:0 auto 18px;color:var(--apb-rx-accent-text,var(--apb-rx-brand));background:color-mix(in srgb,var(--apb-rx-brand) 10%,var(--apb-rx-surface,#fff));border:1px solid color-mix(in srgb,var(--apb-rx-brand) 20%,transparent)}
.apb-rx-cpi h3{font-size:clamp(21px,3vw,27px);font-weight:780;letter-spacing:-.02em;color:var(--apb-rx-ink);margin:0 0 8px}
.apb-rx-cpi p{font-size:15.5px;line-height:1.6;color:var(--apb-rx-muted);margin:0 0 22px}
.apb-rx-cpi-face{display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.apb-rx-cpi-face img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--apb-rx-surface,#fff);margin-left:-8px;background:var(--apb-rx-soft)}
.apb-rx-cpi-face img:first-child{margin-left:0}
.apb-rx-cpi-face .more{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--apb-rx-ink);background:var(--apb-rx-soft);border:2px solid var(--apb-rx-surface,#fff);margin-left:-8px}
.apb-rx-cpi-count{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--apb-rx-muted);margin-bottom:20px}
.apb-rx-cpi-count .dot{width:7px;height:7px;border-radius:50%;background:var(--apb-rx-brand)}

/* ---------- meetup list ---------- */
.apb-rx-mu{padding:clamp(44px,7vw,80px) 24px}
.apb-rx-mu-inner{max-width:720px;margin:0 auto}
.apb-rx-mu-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.apb-rx-mu-head h3{font-size:clamp(22px,3.4vw,30px);font-weight:780;letter-spacing:-.02em;color:var(--apb-rx-ink);margin:0 0 4px}
.apb-rx-mu-head p{font-size:15px;color:var(--apb-rx-muted);margin:0}
.apb-rx-mu-list{display:flex;flex-direction:column;gap:12px}
.apb-rx-mu-row{display:flex;align-items:center;gap:18px;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,14px);padding:16px 18px;box-shadow:var(--apb-rx-shadow-1,0 1px 2px rgba(11,13,18,.06))}
.apb-rx-mu-date{flex:0 0 auto;width:56px;text-align:center;border-radius:var(--apb-rx-radius,10px);overflow:hidden;border:1px solid color-mix(in srgb,var(--apb-rx-brand) 20%,transparent)}
.apb-rx-mu-date .m{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--apb-rx-accent-contrast,#fff);background:var(--apb-rx-brand);padding:3px 0}
.apb-rx-mu-date .d{font-family:var(--apb-rx-font-display,var(--apb-rx-font));font-size:22px;font-weight:800;color:var(--apb-rx-ink);padding:5px 0;background:var(--apb-rx-surface,#fff)}
.apb-rx-mu-body{flex:1;min-width:0}
.apb-rx-mu-city{font-size:15px;font-weight:700;color:var(--apb-rx-ink)}
.apb-rx-mu-meta{font-size:13px;color:var(--apb-rx-muted);margin-top:3px;display:flex;flex-wrap:wrap;gap:12px}
.apb-rx-mu-meta span{display:inline-flex;align-items:center;gap:5px}
@media(max-width:560px){.apb-rx-mu-row{flex-wrap:wrap}.apb-rx-cmbtn--rsvp{width:100%;text-align:center;justify-content:center}}

/* ---------- ambassador program ---------- */
.apb-rx-amb{padding:clamp(44px,7vw,80px) 24px}
.apb-rx-amb-inner{max-width:820px;margin:0 auto;text-align:center}
.apb-rx-amb-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--apb-rx-accent-text,var(--apb-rx-brand));margin:0 0 12px}
.apb-rx-amb h3{font-size:clamp(24px,3.8vw,34px);font-weight:800;letter-spacing:-.025em;color:var(--apb-rx-ink);margin:0 0 10px}
.apb-rx-amb-lead{font-size:16px;line-height:1.6;color:var(--apb-rx-muted);margin:0 auto 30px;max-width:48ch}
.apb-rx-amb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px;text-align:left}
.apb-rx-amb-perk{background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,16px);padding:22px;box-shadow:var(--apb-rx-shadow-1,0 1px 2px rgba(11,13,18,.06))}
.apb-rx-amb-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:12px;color:var(--apb-rx-ink);background:var(--apb-rx-soft);border:1px solid var(--apb-rx-line)}
.apb-rx-amb-t{font-size:14.5px;font-weight:700;color:var(--apb-rx-ink);margin:0 0 4px}
.apb-rx-amb-d{font-size:13px;line-height:1.55;color:var(--apb-rx-muted);margin:0}
.apb-rx-amb-note{font-size:13px;color:var(--apb-rx-muted);margin-top:14px}
@media(max-width:640px){.apb-rx-amb-grid{grid-template-columns:1fr}}
