/* CM Community public Q/A page */
.cm-community-page { background: linear-gradient(180deg, #fff, #fffafb); }
.cm-community-hero { padding: 58px 0 28px; background: radial-gradient(circle at top left, rgba(160,33,73,.10), transparent 32rem); }
.cm-community-hero-card { padding: clamp(24px, 4vw, 44px); border-radius: 30px; text-align: left; }
.cm-community-hero-card h1 { margin: 12px 0 8px; font-size: clamp(2rem, 4.2vw, 3.5rem); line-height: 1.04; color: var(--cm-red-dark); letter-spacing: -.04em; }
.cm-community-hero-card p { max-width: 820px; font-size: 1.05rem; }
.cm-community-actions { display:flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; }
.cm-community-layout { display:grid; grid-template-columns: minmax(0,1fr) 300px; gap: 22px; align-items:start; }
.cm-community-main { min-width:0; display:grid; gap: 18px; }
.cm-community-side { position: sticky; top: 128px; padding: 20px; border-radius: 24px; }
.cm-community-side h2 { color: var(--cm-red-dark); margin: 0 0 10px; font-size: 1.15rem; }
.cm-community-side ul { padding-left: 20px; color: var(--cm-muted); }
.cm-community-alert { padding: 13px 16px; border-radius: 16px; border: 1px solid var(--cm-border); background:#fff; }
.cm-community-alert-success { background:#f0fdf4; color:#166534; border-color:#86efac; }
.cm-community-alert-error { background:#fef2f2; color:#991b1b; border-color:#fca5a5; }
.cm-community-search, .cm-community-ask, .cm-community-question, .cm-community-empty { padding: clamp(18px,2.4vw,26px); border-radius: 24px; }
.cm-community-search { display:grid; grid-template-columns: minmax(220px,1fr) 170px auto auto; gap: 12px; align-items:end; }
.cm-community-search label, .cm-community-form label { display:grid; gap: 7px; color:#6e5361; font-weight: 580; }
.cm-community-search input, .cm-community-search select, .cm-community-form input, .cm-community-form textarea { width:100%; border:1px solid var(--cm-border); border-radius: 15px; padding: 11px 13px; font: inherit; background: rgba(255,255,255,.88); color: var(--cm-ink); }
.cm-community-search input:focus, .cm-community-search select:focus, .cm-community-form input:focus, .cm-community-form textarea:focus { outline:0; border-color: rgba(201,43,85,.55); box-shadow:0 0 0 4px rgba(201,43,85,.10); }
.cm-community-ask { display:grid; gap: 16px; }
.cm-community-ask h2, .cm-community-question-group h2 { margin: 8px 0 6px; color: var(--cm-red-dark); font-size: clamp(1.25rem,2vw,1.65rem); }
.cm-community-form { display:grid; gap: 13px; }
.cm-community-login-box { padding: 16px; border-radius: 18px; border:1px dashed var(--cm-border-strong); background: rgba(255,255,255,.72); }
.cm-community-login-box strong { color: var(--cm-red-dark); }
.cm-community-question-group { display:grid; gap: 14px; }
.cm-community-question { scroll-margin-top: 140px; }
.cm-community-question-head { display:flex; justify-content:space-between; gap: 14px; align-items:flex-start; }
.cm-community-question h3 { margin: 10px 0 6px; color: var(--cm-red-dark); font-size: clamp(1.12rem,1.8vw,1.45rem); line-height: 1.25; }
.cm-community-meta { margin: 0; font-size: .86rem; color: #7d6a75; }
.cm-community-status, .cm-community-topic { display:inline-flex; align-items:center; min-height: 26px; padding: 4px 10px; border-radius: 999px; font-size:.78rem; font-weight:700; margin-right: 6px; }
.status-unanswered { background:#fff7ed; color:#9a3412; border:1px solid #fed7aa; }
.status-answered { background:#ecfdf5; color:#166534; border:1px solid #86efac; }
.cm-community-topic { background: var(--cm-red-soft); color: var(--cm-red-dark); border:1px solid var(--cm-border); }
.cm-community-file { display:inline-flex; margin: 6px 0 0; padding: 8px 11px; border-radius: 999px; background: rgba(160,33,73,.08); color: var(--cm-red-dark); font-size:.88rem; font-weight:650; }
.cm-community-answers { display:grid; gap: 12px; margin-top: 14px; }
.cm-community-answer { padding: 14px 15px; border-radius: 18px; background: rgba(255,255,255,.74); border:1px solid var(--cm-border); }
.cm-community-answer.is-admin-answer { border-left: 5px solid var(--cm-red); background: linear-gradient(135deg, #fff8fb, #fff); }
.cm-community-answer-meta { display:flex; justify-content:space-between; gap: 12px; color:#7d6a75; font-size:.82rem; }
.cm-community-answer-meta strong { color: var(--cm-red-dark); }
.cm-community-answer p { margin: 8px 0 0; }
.cm-community-reply-box { margin-top: 14px; border-top:1px solid var(--cm-border); padding-top: 12px; }
.cm-community-reply-box summary { cursor:pointer; color: var(--cm-red-dark); font-weight:700; }
.cm-community-login-note { margin-top: 12px; padding: 10px 12px; border-radius: 14px; background: var(--cm-red-soft); }
.cm-community-login-note a { color: var(--cm-red-dark); font-weight:700; }
.cm-community-admin-actions { display:flex; gap: 8px; flex-wrap:wrap; justify-content:flex-end; }
.cm-community-admin-actions form, .cm-community-hide-answer { margin:0; }
.cm-community-admin-actions button, .cm-community-hide-answer button { border:0; border-radius:999px; padding: 7px 10px; cursor:pointer; background:#fee2e2; color:#991b1b; font-weight:700; }
.cm-community-hide-answer { margin-top: 8px; }
.cm-content-ad { border-radius: 22px; border:1px dashed var(--cm-border-strong); background: rgba(255,255,255,.74); padding: 16px; text-align:center; }
.cm-content-ad span { display:inline-flex; padding: 4px 9px; border-radius:999px; background: var(--cm-red-soft); color: var(--cm-red-dark); font-size:.75rem; font-weight:700; }
.cm-content-ad strong { display:block; margin-top: 7px; color: var(--cm-red-dark); }
.cm-myqa-card { padding: 15px; border:1px solid var(--cm-border); border-radius:18px; background: rgba(255,255,255,.74); margin-top: 12px; }
.cm-myqa-card h3 { color: var(--cm-red-dark); margin: 8px 0; }
@media (max-width: 980px) {
  .cm-community-layout { grid-template-columns: 1fr; }
  .cm-community-side { position: static; }
  .cm-community-search { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .cm-community-search { grid-template-columns: 1fr; }
  .cm-community-question-head, .cm-community-answer-meta { flex-direction: column; }
}
