/* Community wall (pages/community/*, config/community.php). Prefix cmw-. Sizes follow the theme (--bf-type). Minimal: one accent, thin lines. */
.cmw{max-width:1200px;margin:0 auto;padding:22px 20px 56px}
.cmw a{color:inherit}
.cmw-head{display:flex;align-items:flex-end;gap:12px 20px;flex-wrap:wrap;margin-bottom:14px}
.cmw-head h1{font-size:calc(26px*var(--bf-type,1));font-weight:800;letter-spacing:-.02em;margin:0;color:var(--ink,#111)}
.cmw-head p{margin:4px 0 0;font-size:calc(14px*var(--bf-type,1));color:var(--ink-3,#4b5563);max-width:620px;line-height:1.5}
.cmw-acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.cmw-btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--bf-btn-radius,8px);padding:9px 14px;font-size:calc(13px*var(--bf-type,1));font-weight:800;text-decoration:none!important;border:1px solid var(--line,#d1d5db);background:var(--bf-surface,#fff);color:var(--ink,#111)!important;cursor:pointer;white-space:nowrap}
.cmw-btn.pri{background:var(--bf-brand,#c0392b);border-color:var(--bf-brand,#c0392b);color:#fff!important}
.cmw-btn.sm{padding:6px 10px;font-size:calc(12px*var(--bf-type-sm,1));font-weight:700}
.cmw-btn.on{border-color:var(--bf-brand,#c0392b);color:var(--bf-brand,#c0392b)!important}
.cmw-stats{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:calc(12.5px*var(--bf-type-sm,1));color:var(--ink-4,#6b7280);margin:0 0 14px}
.cmw-stats b{color:var(--ink-2,#374151)}

.cmw-search{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.cmw-search .box{position:relative;flex:1;min-width:220px}
.cmw-search .box i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink-4,#9ca3af)}
.cmw-search input[type=search]{width:100%;box-sizing:border-box;border:1px solid var(--line,#d1d5db);border-radius:999px;padding:10px 14px 10px 36px;font:inherit;font-size:calc(14px*var(--bf-type,1));background:var(--bf-surface,#fff)}
.cmw-search select{border:1px solid var(--line,#d1d5db);border-radius:999px;padding:9px 12px;font:inherit;font-size:calc(13px*var(--bf-type,1));background:var(--bf-surface,#fff)}

.cmw-grid{display:grid;grid-template-columns:210px minmax(0,1fr) 290px;gap:22px;align-items:start}
.cmw-topics{position:sticky;top:76px}
.cmw-topics h2,.cmw-side h2{font-size:calc(11px*var(--bf-type-sm,1));font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4,#6b7280);margin:0 0 8px}
.cmw-topics a{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:8px;text-decoration:none;font-size:calc(13px*var(--bf-type,1));color:var(--ink-3,#4b5563)}
.cmw-topics a:hover{background:var(--surface,#f3f4f6);color:var(--ink,#111)}
.cmw-topics a.on{background:var(--surface,#f3f4f6);color:var(--ink,#111);font-weight:800}
.cmw-topics a span{color:var(--ink-4,#9ca3af);font-size:calc(12px*var(--bf-type-sm,1))}

.cmw-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}
.cmw-tabs a{padding:6px 12px;border-radius:999px;text-decoration:none;font-size:calc(12.5px*var(--bf-type-sm,1));font-weight:700;color:var(--ink-3,#4b5563);border:1px solid transparent}
.cmw-tabs a:hover{border-color:var(--line,#d1d5db)}
.cmw-tabs a.on{background:var(--ink,#111);color:#fff}

.cmw-card{display:block;background:var(--bf-surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:14px 16px;margin-bottom:10px;text-decoration:none!important;transition:border-color .12s}
.cmw-card:hover{border-color:var(--ink-4,#9ca3af)}
.cmw-kind{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:calc(11px*var(--bf-type-sm,1));font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4,#6b7280);margin-bottom:4px}
.cmw-pill{font-size:calc(10.5px*var(--bf-type-sm,1));font-weight:800;letter-spacing:.04em;padding:2px 7px;border-radius:5px;text-transform:uppercase}
.cmw-pill.solved{background:var(--bf-success-soft,#f0fdf4);color:var(--bf-success,#166534)}
.cmw-pill.official{background:var(--bf-navy-soft,#eaf0f6);color:var(--bf-navy,#1e3a5f)}
.cmw-pill.pinned{background:var(--bf-warning-soft,#fffbeb);color:#92400e}
.cmw-pill.hidden{background:var(--bf-danger-soft,#fef2f2);color:var(--bf-brand,#c0392b)}
.cmw-card h3{font-size:calc(16px*var(--bf-type,1));font-weight:800;line-height:1.35;margin:0 0 4px;color:var(--ink,#111)}
.cmw-card p{margin:0;font-size:calc(13.5px*var(--bf-type,1));line-height:1.55;color:var(--ink-3,#4b5563);overflow-wrap:anywhere}
.cmw-meta{display:flex;gap:4px 14px;flex-wrap:wrap;align-items:center;margin-top:8px;font-size:calc(12px*var(--bf-type-sm,1));color:var(--ink-4,#6b7280)}
.cmw-meta b{color:var(--ink-2,#374151);font-weight:700}
.cmw-meta .n{display:inline-flex;gap:4px;align-items:center}
.cmw-empty{padding:34px 18px;text-align:center;border:1px dashed var(--line,#d1d5db);border-radius:12px;color:var(--ink-4,#6b7280);font-size:calc(14px*var(--bf-type,1))}
.cmw-empty b{display:block;color:var(--ink-2,#374151);font-size:calc(15px*var(--bf-type,1));margin-bottom:4px}
.cmw-pager{display:flex;gap:8px;justify-content:center;margin-top:14px}

.cmw-side>div{background:var(--bf-surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:14px;margin-bottom:12px}
.cmw-side ol,.cmw-side ul{margin:0;padding-left:18px;font-size:calc(13px*var(--bf-type,1));line-height:1.5;color:var(--ink-3,#4b5563)}
.cmw-side li{margin-bottom:6px}
.cmw-side li a{text-decoration:none;color:var(--ink,#111);font-weight:600}
.cmw-side li a:hover{text-decoration:underline}
.cmw-side p{margin:0 0 8px;font-size:calc(13px*var(--bf-type,1));line-height:1.5;color:var(--ink-3,#4b5563)}

/* Post page */
.cmw-post{max-width:1100px;margin:0 auto;padding:20px 20px 56px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}
.cmw-crumb{font-size:calc(12.5px*var(--bf-type-sm,1));color:var(--ink-4,#6b7280);margin-bottom:8px}
.cmw-crumb a{text-decoration:none;color:var(--ink-3,#4b5563)}
.cmw-crumb a:hover{text-decoration:underline}
.cmw-post h1{font-size:calc(24px*var(--bf-type,1));font-weight:800;letter-spacing:-.015em;line-height:1.25;margin:2px 0 6px;color:var(--ink,#111)}
.cmw-body{font-size:calc(15px*var(--bf-type,1));line-height:1.75;color:var(--ink-2,#1f2937);overflow-wrap:anywhere;margin:12px 0}
.cmw-body a{color:var(--bf-link,#1d4ed8)}
.cmw-img{display:block;max-width:100%;max-height:460px;border-radius:10px;border:1px solid var(--line,#e5e7eb);margin:6px 0 12px}
.cmw-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 0;border-top:1px solid var(--line,#e5e7eb);border-bottom:1px solid var(--line,#e5e7eb);margin:6px 0 18px}
.cmw-bar form{margin:0}
.cmw-replies h2{font-size:calc(17px*var(--bf-type,1));font-weight:800;margin:0 0 10px}
.cmw-reply{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--bf-surface,#fff);scroll-margin-top:84px}
.cmw-reply.ok{border-color:var(--bf-success,#16a34a);box-shadow:inset 3px 0 0 var(--bf-success,#16a34a)}
.cmw-reply.off{opacity:.6}
.cmw-reply .cmw-body{margin:6px 0 8px;font-size:calc(14.5px*var(--bf-type,1))}
.cmw-reply .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cmw-reply .row form{margin:0}
.cmw-form textarea,.cmw-form input[type=text]{width:100%;box-sizing:border-box;border:1px solid var(--line,#d1d5db);border-radius:10px;padding:10px 12px;font:inherit;font-size:calc(14px*var(--bf-type,1));background:var(--bf-surface,#fff);color:var(--ink,#111)}
.cmw-form textarea{min-height:110px;resize:vertical}
.cmw-form label.l{display:block;font-weight:800;font-size:calc(13px*var(--bf-type,1));margin:12px 0 5px;color:var(--ink,#111)}
.cmw-form .hint{font-size:calc(12px*var(--bf-type-sm,1));color:var(--ink-4,#6b7280);margin-top:4px}
.cmw-choices{display:flex;gap:6px;flex-wrap:wrap}
.cmw-choices label{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line,#d1d5db);border-radius:999px;font-size:calc(13px*var(--bf-type,1));cursor:pointer;background:var(--bf-surface,#fff)}
.cmw-choices input{accent-color:var(--bf-brand,#c0392b)}
.cmw-choices label:has(input:checked){border-color:var(--ink,#111);font-weight:700}
.cmw-flash{border-radius:10px;padding:9px 12px;margin-bottom:12px;font-size:calc(13px*var(--bf-type,1));border:1px solid var(--line,#e5e7eb)}
.cmw-flash.ok{background:var(--bf-success-soft,#f0fdf4)}.cmw-flash.err{background:var(--bf-danger-soft,#fef2f2)}
.cmw-compose{max-width:760px;margin:0 auto;padding:22px 20px 56px}
.cmw-compose h1{font-size:calc(24px*var(--bf-type,1));font-weight:800;margin:0 0 4px}

@media (max-width:1100px){.cmw-grid{grid-template-columns:200px minmax(0,1fr)}.cmw-side{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.cmw-side>div{margin:0}}
@media (max-width:860px){
  .cmw-grid{grid-template-columns:minmax(0,1fr)}
  .cmw-topics{position:static;display:flex;gap:6px;flex-wrap:wrap}
  .cmw-topics h2{display:none}
  .cmw-topics a{border:1px solid var(--line,#e5e7eb);border-radius:999px;padding:5px 11px;font-size:calc(12.5px*var(--bf-type-sm,1))}
  .cmw-topics a span{display:none}
  .cmw-post{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){.cmw,.cmw-post,.cmw-compose{padding-left:16px;padding-right:16px}.cmw-acts{margin-left:0;width:100%}.cmw-acts .cmw-btn{flex:1;justify-content:center}}

/* Boosts (round 2) */
.cmw-boosted{font-size:calc(12px*var(--bf-type-sm,1));color:var(--ink-4,#6b7280);margin:-2px 0 6px;display:flex;gap:5px;align-items:center;overflow-wrap:anywhere}
.cmw-boosters{font-size:calc(13px*var(--bf-type,1));color:var(--ink-3,#4b5563);margin:-6px 0 16px}
.cmw-boosters .note{margin:4px 0 0 20px;font-size:calc(12.5px*var(--bf-type-sm,1))}
.cmw-boostbox{position:relative}
.cmw-boostbox summary{list-style:none}
.cmw-boostbox summary::-webkit-details-marker{display:none}
.cmw-boostbox form{position:absolute;z-index:5;top:calc(100% + 6px);left:0;width:min(320px,calc(100vw - 40px));background:var(--bf-surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:8px}
.cmw-boostbox input{border:1px solid var(--line,#d1d5db);border-radius:8px;padding:8px 10px;font:inherit;font-size:calc(13px*var(--bf-type,1))}

@media (max-width:860px){.cmw-grid>section{order:1}.cmw-topics{order:2}.cmw-side{order:3}.cmw-topics h2{display:block;width:100%;margin:6px 0 0}}
