/* itsvegan — community culture (cu-): badges, "This helped", members-only teaser, identity tags, events, near you, admin community */

/* ── Badges ─────────────────────────────────────────────── */
.cu-badge{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:1px 8px;border-radius:999px;font:700 11.5px/1.6 var(--ui);letter-spacing:.01em;vertical-align:middle;white-space:nowrap}
.cu-new{background:#ECFCCB;color:#3F6212;border:1px solid #D9F99D}
.cu-nv{background:#DCFCE7;color:#166534;border:1px solid #BBF7D0}
.cu-nv i{font-size:10px}
.cu-h1-badges .cu-badge{font-size:13px;padding:2px 10px}
.fpa-who .cu-badge{margin:4px 0 0}
.bubble .cu-badge{margin-left:5px}

/* ── This helped 💚 ─────────────────────────────────────── */
.cu-helped{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-2);font:600 13px/1.2 var(--ui);cursor:pointer;transition:background .15s,border-color .15s}
.cu-helped:hover{border-color:#86EFAC;background:#F0FDF4}
.cu-helped.on{background:#DCFCE7;border-color:#86EFAC;color:#14532D}
.cu-helped.is-static{cursor:default;background:#F0FDF4;border-color:#DCFCE7;color:#166534}
.cu-h-ico{font-size:13px;line-height:1}
.cu-h-n{font-weight:800}
.cu-helped.cu-pop .cu-h-ico{animation:cuPop .45s ease}
@keyframes cuPop{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}
.sc-c-meta .cu-helped{padding:2px 9px;font-size:12px;border-color:transparent;background:transparent}
.sc-c-meta .cu-helped:hover,.sc-c-meta .cu-helped.on,.sc-c-meta .cu-helped.is-static{border-color:#BBF7D0;background:#F0FDF4}

/* Most helpful answer */
.fpost.cu-best{border-color:#86EFAC;box-shadow:0 0 0 2px #DCFCE7}
.cu-best-tag{width:fit-content;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;padding:4px 12px;border-radius:999px;background:#DCFCE7;color:#14532D;font:700 13px var(--ui)}
.cu-best-tag small{font-weight:500;color:#3F6F4F}
.cu-best-btn.on{background:#DCFCE7;border-color:#86EFAC;color:#14532D}
.cu-best-call{display:block;margin:0 0 18px;padding:14px 16px;border:1px solid #BBF7D0;border-radius:var(--r);background:linear-gradient(180deg,#F0FDF4,#fff);color:var(--ink)}
.cu-best-call:hover{border-color:#4ADE80;color:var(--ink)}
.cu-best-call-h{display:flex;align-items:center;gap:7px;font:800 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:#15803D;margin-bottom:8px}
.cu-best-call-b{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.cu-best-call-b .avatar{flex:0 0 auto}
.fm-tag.cu-answered{background:#DCFCE7;color:#166534}

/* ── Kindness hint + Say hi ─────────────────────────────── */
.cu-kind{display:flex;gap:9px;align-items:flex-start;margin:0 0 10px;padding:10px 14px;border-radius:12px;background:#F7FEE7;border:1px solid #D9F99D;color:#365314;font-size:14px;line-height:1.45}
.cu-kind.cu-kind-in{animation:cuIn .3s ease}
@keyframes cuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cu-hi{display:flex;align-items:center;gap:10px;margin:2px 16px 12px;padding:10px 12px;border-radius:12px;background:#F7FEE7;border:1px solid #ECFCCB;font-size:14px;color:#365314}
.cu-hi>span:nth-child(2){flex:1;min-width:0}
.cu-hi-ico{font-size:20px;line-height:1}
.cu-welcome{margin:0 0 16px;padding:14px 16px;border-radius:var(--r);background:linear-gradient(135deg,#F7FEE7,#F0FDF4);border:1px solid #D9F99D;box-shadow:var(--sh-1)}
.cu-welcome header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.cu-welcome header>span{font-size:24px}
.cu-welcome header div{flex:1;min-width:0}
.cu-welcome header b{display:block;font:700 17px var(--display);color:var(--forest)}
.cu-welcome header small{color:#4D6B3B;font-size:13px}
.cu-w-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(132,204,22,.25)}
.cu-w-t{flex:1;min-width:0}
.cu-w-t small{display:block;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── Members-only ───────────────────────────────────────── */
.cu-mo{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;background:#F1F5F9;color:#334155;border:1px solid #E2E8F0;font:700 12px/1.6 var(--ui);white-space:nowrap;vertical-align:middle}
.cu-mo.sm{padding:0 8px;font-size:11px}
.cu-mo i{font-size:10px}
.cu-mo-note{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 0;font-size:14px;color:var(--ink-2)}
.cu-mo-join{display:flex;gap:10px;align-items:center;margin:0 0 14px;padding:12px 16px;border-radius:12px;background:#F8FAFC;border:1px dashed #CBD5E1;font-size:14px;color:#334155}
.cu-mo-toggle{display:inline-flex;align-items:center;gap:5px}
.cu-mo-check{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#FAFAF7;cursor:pointer}
.cu-mo-check input[type=checkbox]{margin-top:4px;width:18px;height:18px;accent-color:var(--forest);flex:0 0 auto}
.cu-mo-check b{display:block}
.cu-mo-check small{display:block;color:var(--muted);font-size:13px;line-height:1.45}
.cu-cat-mo{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:13px}

/* Teaser for logged-out visitors */
.cu-teaser{position:relative;margin:0 0 20px;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);background:var(--paper-2);min-height:420px}
.cu-ghosts{padding:18px;display:grid;gap:14px;filter:blur(3px);opacity:.75;user-select:none;pointer-events:none}
.cu-ghost{background:#fff;border-radius:16px;padding:16px;border:1px solid var(--line)}
.cu-g-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.cu-g-av{width:40px;height:40px;border-radius:50%;background:hsl(var(--hue),45%,78%)}
.cu-g-lines{flex:1;display:grid;gap:6px}
.cu-g-lines i,.cu-g-l{display:block;height:10px;border-radius:6px;background:#E7E3D6}
.cu-g-l{margin:8px 0;height:11px}
.cu-g-img{display:block;height:120px;margin-top:12px;border-radius:12px;background:linear-gradient(135deg,#D9F99D,#BBF7D0 50%,#FDE68A)}
.cu-g-foot{display:flex;gap:10px;margin-top:12px}
.cu-g-foot i{display:block;width:54px;height:22px;border-radius:999px;background:#EFEBDF}
.cu-teaser-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 28px));padding:26px 26px 22px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh-3);text-align:center}
.cu-teaser-ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--forest);color:var(--lime);font-size:22px;margin-bottom:10px}
.cu-teaser-card h2{font-size:clamp(21px,2.4vw,27px);margin:0 0 8px}
.cu-teaser-card p{color:var(--ink-2);font-size:15px;margin:0 0 14px}
.cu-teaser-faces{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;margin:0 0 16px}
.cu-teaser-faces .avatar{margin-left:-8px;border:2px solid #fff;border-radius:50%}
.cu-teaser-faces .avatar:first-child{margin-left:0}
.cu-teaser-faces span{margin-left:10px;font-size:13px;color:var(--muted)}
.cu-teaser-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cu-teaser-btns .btn{min-width:130px}
.cu-teaser-why{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;list-style:none;padding:0;margin:16px 0 0;font-size:12.5px;color:var(--muted)}
.cu-teaser-why i{color:var(--leaf);margin-right:4px}
.cu-teaser-profile,.cu-teaser-thread{min-height:380px}

/* ── Identity tags ──────────────────────────────────────── */
.cu-tags{display:flex;flex-wrap:wrap;gap:6px}
.cu-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2);font:600 13px/1.3 var(--ui);white-space:nowrap}
a.cu-tag:hover{border-color:var(--leaf);color:var(--forest)}
.cu-tag i{color:var(--leaf-2);font-size:12px}
.cu-tag small{color:var(--muted);font-weight:600}
.cu-tag.on{background:var(--forest);border-color:var(--forest);color:#fff}
.cu-tag.on i,.cu-tag.on small{color:var(--lime)}
.cu-tag-more{background:var(--paper-2)}
.cu-ptags{margin-top:12px}
.cu-tags-card{justify-content:center;margin:8px 0 2px}
.cu-tags-card .cu-tag{padding:2px 9px;font-size:12px}
.cu-addtags{display:inline-flex;gap:6px;align-items:center;margin-top:10px;font-size:13.5px;font-weight:600}
.cu-tagbar{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 0 14px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.cu-tagbar .cu-tag{flex:0 0 auto}
.cu-near-chk{display:inline-flex;align-items:center;gap:6px;padding:0 12px;min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap}
.cu-near-chk input{accent-color:var(--forest)}
.cu-near-chk i{color:var(--leaf-2)}

/* Tag picker (account) */
.cu-tagpick{border:1px solid var(--line);border-radius:14px;padding:14px 16px 12px;margin:0}
.cu-tagpick legend{padding:0 6px;font-weight:700}
.cu-tp-group{display:grid;grid-template-columns:130px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line-2)}
.cu-tp-group:first-of-type{border-top:0}
.cu-tp-h{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-top:6px}
.cu-tp-list{display:flex;flex-wrap:wrap;gap:6px}
.cu-tp{position:relative;cursor:pointer}
.cu-tp input{position:absolute;opacity:0;width:1px;height:1px}
.cu-tp span{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-weight:600;color:var(--ink-2);transition:background .12s,border-color .12s}
.cu-tp span i{color:var(--leaf-2);font-size:12px}
.cu-tp:hover span{border-color:var(--ink-2)}
.cu-tp input:checked+span{background:var(--forest);border-color:var(--forest);color:#fff}
.cu-tp input:checked+span i{color:var(--lime)}
.cu-tp input:focus-visible+span{outline:3px solid var(--lime);outline-offset:2px}
.cu-tp.is-off span{opacity:.45;cursor:not-allowed}
.cu-tp-count{display:block;margin-top:6px}
.cu-nv-check{padding:12px 16px;border:1px solid #BBF7D0;border-radius:14px;background:#F0FDF4}
.cu-nv-main{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.cu-nv-main input{margin-top:4px;width:18px;height:18px;accent-color:var(--forest);flex:0 0 auto}
.cu-nv-main b{display:block}
.cu-nv-main small{display:block;color:var(--muted);font-size:13px;line-height:1.45}
.cu-nv-renew{display:flex;gap:8px;align-items:center;margin:8px 0 0 30px;font-size:13.5px;font-weight:600}

/* ── Near you ───────────────────────────────────────────── */
.cu-near h3 small{font:600 13px var(--ui);color:var(--muted)}
.cu-near h4{font:700 12px var(--ui);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 6px}
.cu-near-faces{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.cu-near-faces .avatar{border-radius:50%}
.cu-near-more{margin-left:4px;font-size:13px;font-weight:600}
.cu-evrow{display:flex;align-items:center;gap:10px;padding:7px 0;color:var(--ink)}
.cu-evrow:hover{color:var(--forest)}
.cu-evdate{flex:0 0 40px;height:42px;display:grid;place-items:center;align-content:center;border-radius:10px;background:#FDF4FF;border:1px solid #F5D0FE;color:#86198F;line-height:1}
.cu-evdate b{font-size:16px}
.cu-evdate small{font-size:10px;text-transform:uppercase;font-weight:700;margin-top:2px}
.cu-evdate.cu-pl{background:color-mix(in srgb,var(--c) 12%,#fff);border-color:color-mix(in srgb,var(--c) 30%,#fff);color:var(--c)}
.cu-evt{min-width:0;display:flex;flex-direction:column}
.cu-evt b{font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cu-evt small{font-size:12.5px;color:var(--muted)}
.cu-near-strip{margin:0 0 18px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.cu-near-strip header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.cu-near-strip h2{font-size:19px;margin:0}
.cu-near-strip h2 small{font:600 13px var(--ui);color:var(--muted)}
.cu-near-strip h2 i{color:var(--leaf-2);font-size:16px}
.cu-near-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.cu-np{flex:0 0 112px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:10px 6px;border-radius:14px;border:1px solid var(--line-2);color:var(--ink)}
.cu-np:hover{border-color:var(--leaf);color:var(--ink)}
.cu-np .avatar{border-radius:50%;margin-bottom:4px}
.cu-np b{font-size:13.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cu-np small{font-size:12px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cu-np-tag{font-size:11px;font-weight:700;color:var(--leaf-2);background:#F0FDF4;border-radius:999px;padding:1px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cu-near-hint{font-size:14px;color:var(--muted);margin:0 0 14px}

/* ── Events: RSVP + calendar ────────────────────────────── */
.cu-ev{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin:0 0 18px;padding:14px 16px;border-radius:var(--r);background:#FDF4FF;border:1px solid #F5D0FE}
.cu-ev-rsvp{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cu-rsvp{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:6px 15px;border-radius:999px;border:1px solid #E9D5FF;background:#fff;color:#581C87;font:650 14px var(--ui);cursor:pointer}
.cu-rsvp:hover{border-color:#C084FC}
.cu-rsvp.on{background:#86198F;border-color:#86198F;color:#fff}
.cu-rsvp-n{font-weight:800}
.cu-rsvp-n:empty{display:none}
.cu-ev-past{font-weight:600;color:#6B21A8}
.cu-cal{position:relative}
.cu-cal summary{list-style:none;cursor:pointer}
.cu-cal summary::-webkit-details-marker{display:none}
.cu-cal-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:230px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-2)}
.cu-cal-menu a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--ink);font-size:14px;font-weight:600}
.cu-cal-menu a:hover{background:var(--paper)}
.cu-cal-menu i{width:16px;text-align:center;color:var(--ink-2)}
.cu-ev-who{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cu-faces{display:flex}
.cu-faces a{margin-left:-8px}
.cu-faces a:first-child{margin-left:0}
.cu-faces .avatar{border:2px solid #FDF4FF;border-radius:50%}

/* ── Admin: Community ───────────────────────────────────── */
.cu-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.cu-adm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.cu-adm-sec h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cu-adm-sec h3 small{font:500 13px var(--ui)}
.cu-adm-list{display:grid}
.cu-adm-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line-2)}
.cu-adm-row:first-child{border-top:0}
.cu-adm-t{flex:1;min-width:0}
.cu-adm-t>a,.cu-adm-t>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cu-adm-t small{display:block;color:var(--muted);font-size:12.5px}
.cu-adm-done{font-size:12px;color:var(--leaf-2);font-weight:700;white-space:nowrap}
.cu-adm-prompts{grid-column:1/-1}
.cu-prompt-form{margin:0 0 14px}
.cu-pstat{flex:0 0 auto;padding:2px 9px;border-radius:999px;font:700 11.5px var(--ui);background:#F1F5F9;color:#334155}
.cu-pstat-scheduled{background:#FEF3C7;color:#92400E}
.cu-pstat-posted{background:#DCFCE7;color:#166534}
.cu-pstat-failed{background:#FEE2E2;color:#991B1B}

@media (max-width:900px){
  .cu-adm-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .cu-tp-group{grid-template-columns:1fr;gap:4px}
  .cu-tp-h{padding-top:0}
  .cu-teaser{min-height:470px}
  .cu-teaser-card{padding:22px 16px 18px}
  .cu-ev{padding:12px}
  .cu-hi{margin:2px 12px 12px;flex-wrap:wrap}
  .cu-hi .btn{margin-left:auto}
  .cu-adm-row{flex-wrap:wrap}
  .cu-adm-row .cu-adm-t{flex-basis:calc(100% - 50px)}
  .cu-adm-row .btn{margin-left:auto}
}
.cu-kind[hidden],.cu-w-row[hidden],.cu-welcome[hidden],[data-cu-forumonly][hidden]{display:none!important}
.sc-comments-card .cu-kind{margin:0 16px 10px}
.post-head b .cu-badge{font-size:11px;padding:0 7px}
.cu-adm-sec,.cu-adm-list>*{min-width:0}
.cu-adm-list{grid-template-columns:minmax(0,1fr)}
#welcome .cu-adm-list{max-height:620px;overflow:auto;padding-right:4px}
#welcome .cu-adm-t>a{display:inline}
.cu-cat-mo{align-items:center}
.cu-cat-mo label,label.cu-cat-mo{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--ink-2)}
.cu-cat-mo input[type=checkbox],label.cu-cat-mo input[type=checkbox]{width:16px!important;height:16px;min-height:0;margin:0;padding:0;flex:0 0 auto;accent-color:var(--forest)}
@media (max-width:600px){ .sc-filters .cu-near-chk{flex:1 1 100%;justify-content:center} }
.cu-ev{margin-top:12px}
