/* ===== 댓글 영역 (포트폴리오/리뷰 상세 공통) ===== */
.cm-section {
    margin-top: 44px;
    border-top: 1.5px solid var(--color-border);
    padding-top: 32px;
}
.cm-title {
    font-size: 1.4rem;
    margin-bottom: 20px;
}
.cm-count {
    color: var(--color-accent);
}
.cm-write-row {
    display: flex;
    gap: 12px;
    margin-bottom: 28px;
}
.cm-avatar {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: var(--color-accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    flex-shrink: 0;
}
.cm-avatar-muted {
    background: var(--color-accent-mid);
}
.cm-write-body {
    flex: 1;
}
.cm-textarea {
    width: 100%;
}
.cm-write-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}
.cm-submit-btn {
    padding: 9px 20px;
}
.cm-submit-btn-sm {
    padding: 8px 18px;
}
.cm-login-prompt {
    color: var(--color-ink-soft);
}
.cm-login-link {
    color: var(--color-accent);
    font-weight: 600;
}
.cm-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.cm-item-row {
    display: flex;
    gap: 12px;
}
.cm-item-body {
    flex: 1;
}
.cm-item-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}
.cm-content {
    margin: 0 0 6px 0;
}
.cm-actions {
    display: flex;
    gap: 12px;
    font-size: 0.82rem;
}
.cm-action-link {
    color: var(--color-ink-soft);
    font-weight: 600;
}
.cm-delete-link {
    color: var(--color-danger);
    font-weight: 600;
}
.cm-delete-link-sm {
    font-size: 0.82rem;
    color: var(--color-danger);
    font-weight: 600;
}
.cm-reply-box {
    display: none;
    margin-top: 10px;
}
.cm-reply-list {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cm-reply-item {
    border-left: 2px solid var(--color-border);
    padding-left: 14px;
}
.cm-empty {
    color: var(--color-ink-soft);
}
