/* Communities (public pages + member app pages). Uses the site tokens from app.css / platform.css. */
.com-byline{display:block;font-size:13px;color:var(--text-faint,var(--p-faint,#888));margin:-4px 0 8px;}
.com-byline a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.com-refund-note{font-size:13px;opacity:.8;margin-top:6px;}

/* ---- public: browse ---- */
.com-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.com-filters input,.com-filters select{font:inherit;padding:11px 14px;border:1px solid rgba(0,0,0,.14);border-radius:10px;background:#fff;min-width:0;flex:1 1 180px;}
.com-filters button{flex:0 0 auto;}
.com-card{display:flex;flex-direction:column;gap:10px;}
.com-card-top{display:flex;gap:12px;align-items:center;}
.com-logo{width:52px;height:52px;border-radius:12px;object-fit:cover;flex:0 0 auto;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;overflow:hidden;}
.com-logo img{width:100%;height:100%;object-fit:cover;}
.com-logo.lg{width:96px;height:96px;border-radius:20px;font-size:36px;border:4px solid #fff;box-shadow:0 6px 20px rgba(0,0,0,.12);}
.com-card h3{font-size:19px;margin:0;overflow-wrap:anywhere;}
.com-sub{font-size:13px;color:var(--text-faint,#888);}
.com-empty{padding:40px 20px;text-align:center;color:var(--text-soft,#555);border:1px dashed rgba(0,0,0,.15);border-radius:16px;}

/* ---- public: one community ---- */
.com-cover{height:220px;background:#111 center/cover no-repeat;}
/* Only the logo overlaps the cover; the name always sits on the white page below it. */
.com-head{display:flex;gap:20px;align-items:flex-start;padding-top:16px;flex-wrap:wrap;}
.com-head .com-logo.lg{margin-top:-64px;}
.com-head-main{flex:1 1 260px;min-width:0;}
/* Avatars on the public pages (platform.css styles them inside the member area). */
.com-post .avatar,.com-comment .avatar,.com-person .avatar{border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:14px;background:#111;overflow:hidden;object-fit:cover;}
.com-head h1{font-size:clamp(26px,4vw,40px);margin:0 0 4px;overflow-wrap:anywhere;}
.com-head-actions{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:6px;}
.com-head-actions form{margin:0;}
.com-notice{margin:18px 0 0;padding:12px 16px;border-radius:12px;background:#fff6dd;border:1px solid #f0d58a;font-size:14px;}
.com-notice.bad{background:#fdecea;border-color:#f3b8b0;}
.com-tabs{display:flex;gap:6px;border-bottom:1px solid rgba(0,0,0,.1);margin:24px 0 22px;overflow-x:auto;scrollbar-width:none;}
.com-tabs a{padding:10px 14px;font-weight:600;font-size:14.5px;color:var(--text-soft,#555);border-bottom:2px solid transparent;white-space:nowrap;}
.com-tabs a.on{color:#111;border-color:var(--orange,#f54a00);}
.com-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;}
.com-side .card{padding:20px;}
.com-side h4{font-size:15px;margin:0 0 8px;}
.com-chips{display:flex;flex-wrap:wrap;gap:6px;}
.com-chip{display:inline-block;font-size:12px;padding:4px 10px;border-radius:100px;background:rgba(0,0,0,.06);}
.com-chip.gold{background:#fff1c9;}
.com-chip.green{background:#e5f6e6;color:#0f7a17;}
.com-chip.red{background:#fdecea;color:#a8231a;}

/* feed */
.com-compose,.com-post{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:18px;margin-bottom:16px;}
.com-compose textarea{width:100%;min-height:90px;font:inherit;padding:12px;border:1px solid rgba(0,0,0,.14);border-radius:10px;resize:vertical;}
.com-compose-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px;}
.com-compose-row input[type=url]{flex:1 1 200px;min-width:0;font:inherit;padding:9px 12px;border:1px solid rgba(0,0,0,.14);border-radius:10px;}
.com-compose-row input[type=file]{flex:1 1 200px;min-width:0;font-size:13px;}
.com-post.hidden{opacity:.6;border-style:dashed;}
.com-post-head{display:flex;gap:10px;align-items:center;}
.com-post-head .avatar{flex:0 0 auto;}
.com-post-who{flex:1;min-width:0;}
.com-post-who a{font-weight:700;}
.com-post-body{margin:12px 0 0;white-space:pre-line;overflow-wrap:anywhere;}
.com-post-img{margin-top:12px;border-radius:12px;max-height:460px;width:100%;object-fit:cover;}
.com-post-link{display:block;margin-top:10px;font-size:14px;overflow-wrap:anywhere;}
.com-post-bar{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;align-items:center;}
.com-post-bar form{margin:0;}
.com-act{font:inherit;font-size:13px;padding:6px 12px;border-radius:100px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;color:inherit;}
.com-act.on{background:#111;color:#fff;border-color:#111;}
.com-act.warn{color:#a8231a;}
.com-comments{margin-top:12px;border-top:1px solid rgba(0,0,0,.06);padding-top:10px;}
.com-comment{display:flex;gap:8px;margin-bottom:8px;font-size:14px;}
.com-comment .bubble{background:rgba(0,0,0,.04);border-radius:12px;padding:8px 12px;flex:1;min-width:0;overflow-wrap:anywhere;}
.com-comment form{margin:0;}
.com-comment-form{display:flex;gap:8px;margin-top:6px;}
.com-comment-form input{flex:1;min-width:0;font:inherit;padding:8px 12px;border:1px solid rgba(0,0,0,.14);border-radius:100px;}
.com-report{margin-top:8px;}
.com-report summary{list-style:none;cursor:pointer;}
.com-report summary::-webkit-details-marker{display:none;}
.com-report form{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.com-report input{flex:1 1 180px;min-width:0;font:inherit;padding:8px 12px;border:1px solid rgba(0,0,0,.14);border-radius:10px;}

/* members + events lists */
.com-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.com-person{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:12px;min-width:0;}
.com-person > div{min-width:0;overflow-wrap:anywhere;}
.com-ev{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:14px;margin-bottom:10px;}
.com-ev-date{flex:0 0 58px;text-align:center;background:#111;color:#fff;border-radius:12px;padding:8px 0;font-weight:800;line-height:1.1;}
.com-ev-date small{display:block;font-size:11px;font-weight:600;opacity:.75;text-transform:uppercase;}
.com-ev-main{flex:1;min-width:0;}
.com-ev-main h4{margin:0 0 4px;font-size:16px;overflow-wrap:anywhere;}

/* money */
.com-fees{margin:14px 0;padding:14px;border-radius:12px;background:#faf8f3;border:1px solid rgba(0,0,0,.08);font-size:14px;}
.com-fee-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13.5px;}
.com-fee-table th,.com-fee-table td{padding:6px 8px;border-bottom:1px solid rgba(0,0,0,.06);text-align:right;vertical-align:top;}
.com-fee-table th:first-child,.com-fee-table td:first-child{text-align:left;}
.com-fee-table tr.net td{border-bottom:0;}
.com-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;}
.com-stat{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:14px;}
.com-stat b{display:block;font-size:22px;}
.com-stat span{font-size:12.5px;opacity:.7;}
.com-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.com-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px;}
.com-table th,.com-table td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.07);text-align:left;vertical-align:top;}
.com-table td.num,.com-table th.num{text-align:right;white-space:nowrap;}

/* app forms */
.com-form .pfield textarea{min-height:120px;}
.com-radio{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.com-radio label{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--p-line,#e7e4dc);border-radius:12px;padding:10px 12px;flex:1 1 220px;cursor:pointer;font-size:14px;}
.com-radio input{width:auto;margin-top:3px;}
.com-ticket{border:1px solid var(--p-line,#e7e4dc);border-radius:12px;padding:12px;margin-bottom:10px;}
.com-manage-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 16px;}
.com-manage-tabs a{padding:8px 14px;border-radius:100px;border:1px solid var(--p-line,#e7e4dc);font-size:14px;font-weight:600;}
.com-manage-tabs a.on{background:var(--p-ink,#111);color:#fff;border-color:var(--p-ink,#111);}
.com-row-actions{display:flex;flex-wrap:wrap;gap:6px;}
.com-row-actions form{margin:0;}
.com-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}

@media (max-width:900px){
  .com-layout{grid-template-columns:1fr;}
  .com-side{order:-1;}
}
@media (max-width:560px){
  .com-cover{height:140px;}
  .com-logo.lg{width:76px;height:76px;font-size:28px;}
  .com-head{gap:12px;padding-top:12px;}
  .com-head .com-logo.lg{margin-top:-50px;}
  .com-compose,.com-post{padding:14px;}
  .com-ev{padding:12px;gap:10px;}
}
